Marine systems simulation
TrawlCable Class Reference
+ Inheritance diagram for TrawlCable:
+ Collaboration diagram for TrawlCable:

Classes

struct  element
 

Public Member Functions

 TrawlCable (const string &simObjectName, ISimObjectCreator *const creator)
 
 ~TrawlCable ()
 
void OdeFcn (const double T, const double *const X, double *const XDot, const bool bIsMajorTimeStep)
 
void InitialConditionSetup (const double T, const double *const currentIC, double *const updatedIC, ISimObjectCreator *const creator)
 
void FinalSetup (const double T, const double *const X, ISimObjectCreator *const creator)
 
void Compute (const double T, const double *const X)
 
void AddDependency (ICommonComputation *dependecy)
 
CoRiBoDynamics::ConstraintSolverGetConstraintSolver ()
 
CoRiBoDynamics::TrawlCableCollisionManagerGetCollisionManager ()
 6dof rigid body constrained dynamic solver More...
 
CoRiBoDynamics::TrawlCableJointConstraintGetJointConstraint ()
 collision constraints More...
 
CoRiBoDynamics::EnvironmentForcesGetEnvironmentForces ()
 structural joint constraints More...
 
double getRegulatorTimeConstant ()
 
virtual void Compute (const double T, const double *const X)=0
 
virtual void AddDependency (ICommonComputation *dependecy)=0
 
virtual double getRegulatorTimeConstant ()=0
 
virtual CoRiBoDynamics::ConstraintSolverGetConstraintSolver ()=0
 
virtual CoRiBoDynamics::TrawlCableCollisionManagerGetCollisionManager ()=0
 6dof rigid body constrained dynamic solver More...
 
virtual CoRiBoDynamics::TrawlCableJointConstraintGetJointConstraint ()=0
 collision constraints More...
 
virtual CoRiBoDynamics::EnvironmentForcesGetEnvironmentForces ()=0
 structural joint constraints More...
 

Protected Types

enum  Chirality { PORT , STARBOARD }
 

Protected Member Functions

void MainCalculations (const double T, const double *const X)
 
void DistributeCatenary (CoRiBoDynamics::vec3 P1, CoRiBoDynamics::vec3 P2, vector< element > elements, double L, double *states, int i1, int i2, ISimObjectCreator *creator)
 
const double * winchForce (const double T, const double *const X)
 
const double * TopBridleEndForce (const double T, const double *const X)
 
const double * BottomBridleEndForce (const double T, const double *const X)
 
const double * trawlDoorPosition (const double T, const double *const X)
 
void ContactForceCalculations (const double T, const double *const X)
 
const double * normalForceTrawlDoor (const double T, const double *const X)
 
const double * normalForceClumpWeight (const double T, const double *const X)
 
const double * normalForceTopBridle (const double T, const double *const X)
 
const double * normalForceBottomBridle (const double T, const double *const X)
 
const double * normalForceWarp (const double T, const double *const X)
 
const double * contactPositionTopBridle (const double T, const double *const X)
 
const double * contactPositionBottomBridle (const double T, const double *const X)
 
const double * contactPositionWarp (const double T, const double *const X)
 

Protected Attributes

CEnvironmentm_environment
 
Chirality m_Chirality
 
double m_TrawlDoorMass
 
double m_TrawlDoorArea
 
double m_TrawlDoorLx
 
double m_TrawlDoorLy
 
double m_TrawlDoorLz
 
CoRiBoDynamics::vec3 m_TrawlDoorWarpConnection
 
CoRiBoDynamics::vec3 m_TrawlDoorTopBridleConnection
 
CoRiBoDynamics::vec3 m_TrawlDoorBottomBridleConnection
 
double m_ClumpWeightMass
 
double m_ClumpWeightLength
 
double m_ClumpWeightRadius
 
int m_NumTopWarp
 
double m_TopWarpLength
 
double m_TopWarpElementLength
 
int m_NumWarp
 
int m_NumTopBridle
 The number of discrete cable elements in the warp.
 
int m_NumBottomBridle
 The number of discrete cable elements in the top bridle.
 
double m_WarpDiameter
 The number of discrete cable elements int the lower bridle.
 
double m_TopBridleDiameter
 Nominal cable diameter.
 
double m_BottomBridleDiameter
 Nominal cable diameter.
 
double m_WarpLength
 Nominal cable diameter.
 
double m_TopBridleLength
 Warp cable length.
 
double m_BottomBridleLength
 Bridle cable length.
 
double m_frequencyCoefficient
 Bridle cable length.
 
double m_CollisionFrequencyCoefficient
 Frequency response coefficient.
 
double m_WarpElementLength
 Frequency response coefficient.
 
double m_TopBridleElementLength
 Length of discrete cable elements.
 
double m_BottomBridleElementLength
 Length of discrete cable elements.
 
double m_collisionDampingFactor
 Length of discrete cable elements.
 
CoRiBoDynamics::ConstraintSolverm_ConstraintSolver
 Relative damping coefficient of contact constraint. 1 is critical damping.
 
CoRiBoDynamics::TrawlCableCollisionManagerm_CollisionManager
 6dof rigid body constrained dynamic solver
 
CoRiBoDynamics::TrawlCableJointConstraintm_JointConstraint
 collision constraints
 
CoRiBoDynamics::EnvironmentForcesm_environmentForces
 structural joint constraints
 
std::set< ICommonComputation * > m_ExternalDependencies
 
ICommonComputation * m_MainCalculations
 list of all (unique) CommonComputation nodes that have registered external geometry in the cable collision manager
 
ITrawlCablem_ExtTrawlCable
 
vector< elementm_TopWarpElements
 
vector< elementm_WarpElements
 
vector< elementm_TopBridleElements
 
vector< elementm_BottomBridleElements
 
element m_TrawlDoorElement
 
element m_TrawlDoorWeightElement
 
element m_ClumpWeightElement
 
double m_winchForce [3]
 
int m_WinchPointConnectionIndex
 
double m_TopBridleEndForce [3]
 
int m_TopBridleEndPointConnectionIndex
 
double m_BottomBridleEndForce [3]
 
int m_BottomBridleEndPointConnectionIndex
 
ICommonComputation * m_ContactForceCalculations
 
double m_normalForceTrawlDoor [1]
 
double m_normalForceClumpWeight [1]
 
double m_normalForceTopBridle [3]
 
double m_normalForceBottomBridle [3]
 
double m_normalForceWarp [3]
 
ISignalPort * m_WinchPosition
 
ISignalPort * m_WinchVelocity
 
ISignalPort * m_TopBridleEndPosition
 
ISignalPort * m_TopBridleEndVelocity
 
ISignalPort * m_BottomBridleEndPosition
 
ISignalPort * m_BottomBridleEndVelocity
 

Constructor & Destructor Documentation

◆ TrawlCable()

TrawlCable::TrawlCable ( const string &  simObjectName,
ISimObjectCreator *const  creator 
)

Reads parameters, registers states, output and input ports. Registers a shared pointer to its own IColliableObject instance as "ICollidableObject_"+simObjectName. Registers a shared pointer to its ConstraintCableInterface as ConstraintCableInterface_"+simObjectName.

◆ ~TrawlCable()

TrawlCable::~TrawlCable ( )

Deletes all dynamically allocated memory

Member Function Documentation

◆ AddDependency()

void TrawlCable::AddDependency ( ICommonComputation *  dependecy)
virtual

Implements ITrawlCable.

◆ Compute()

void TrawlCable::Compute ( const double  T,
const double *const  X 
)
virtual

Implements ITrawlCable.

◆ FinalSetup()

void TrawlCable::FinalSetup ( const double  T,
const double *const  X,
ISimObjectCreator *const  creator 
)

Retrieves environment pointer. Checks active integrator method. If "Euler1" the ad-hoc symplectic integrator method is activated.

◆ GetCollisionManager()

CoRiBoDynamics::TrawlCableCollisionManager * TrawlCable::GetCollisionManager ( )
virtual

Implements ITrawlCable.

◆ GetConstraintSolver()

CoRiBoDynamics::ConstraintSolver * TrawlCable::GetConstraintSolver ( )
virtual

Implements ITrawlCable.

◆ GetEnvironmentForces()

CoRiBoDynamics::EnvironmentForces * TrawlCable::GetEnvironmentForces ( )
virtual

Implements ITrawlCable.

◆ GetJointConstraint()

CoRiBoDynamics::TrawlCableJointConstraint * TrawlCable::GetJointConstraint ( )
virtual

Implements ITrawlCable.

◆ getRegulatorTimeConstant()

double TrawlCable::getRegulatorTimeConstant ( )
virtual

Implements ITrawlCable.

◆ InitialConditionSetup()

void TrawlCable::InitialConditionSetup ( const double  T,
const double *const  currentIC,
double *const  updatedIC,
ISimObjectCreator *const  creator 
)

Initializes cable elements.

◆ OdeFcn()

void TrawlCable::OdeFcn ( const double  T,
const double *const  X,
double *const  XDot,
const bool  bIsMajorTimeStep 
)

Call m_MainCalculations shared computation node. Writes all computed derivatives to XDot


The documentation for this class was generated from the following file: