Marine systems simulation
Loading...
Searching...
No Matches
LineStructureGravityHydro.h
1#pragma once
2
3
4#include <LineStructure.h>
5#include <CollisionManager.h>
6
7#include <EnvironmentProvider.h>
8
9#include "Contact/ShipContact.h"
10
12public:
13 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
14
15 LineStructureGravityHydro(CoRiBoDynamics::ConstraintSolver* solver, ISimObjectCreator* creator, LineSpec spec, std::string name);
16
17 void setEnvironment(environment::EnvironmentProvider *e);
18 virtual void ComputeConstraints(const double T, const double * const X);
19
20 virtual CollisionCheckInterface::GeometryVector CheckForContact(CoRiBoDynamics::CollisionManager::ExternalObject& object);
21
22 double GetElementLength(){return m_elemLength;}
23
24protected:
26 virtual void Init(CoRiBoDynamics::ConstraintSolver* solver, ISimObjectCreator* creator, LineSpec spec, std::string name);
27
28
29 environment::EnvironmentProvider *m_environment;
30 double m_elemVolume;
31 double m_elemArea;
32 double m_elemProjArea;
33 double m_elemDensity;
34
35 double m_Cd_n;
36 double m_Cd_t;
37 Eigen::Vector3d m_Ca;
38};
Definition CollisionManager.h:135
Definition ConstraintSolver.h:31
Definition LineStructure.h:15
Definition ShipContact.h:7
Definition LineStructureGravityHydro.h:11
double m_Cd_t
Normal drag coefficient.
Definition LineStructureGravityHydro.h:36
double m_Cd_n
Assumption that the line element is made up of nylon (rope)
Definition LineStructureGravityHydro.h:35
Eigen::Vector3d m_Ca
Tangential drag coefficient.
Definition LineStructureGravityHydro.h:37
virtual void ComputeConstraints(const double T, const double *const X)