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

Classes

struct  element
 

Public Member Functions

 RundDorg (const string &simObjectName, ISimObjectCreator *const creator)
 
 ~RundDorg ()
 
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)
 

Protected Types

enum  Chirality { PORT , STARBOARD }
 
enum  WeightType { FOIL , CLUMP }
 

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 * MainForce (const double T, const double *const X)
 
const double * Line1Force (const double T, const double *const X)
 
const double * Line2Force (const double T, const double *const X)
 
const double * WeightPosition (const double T, const double *const X)
 

Protected Attributes

CEnvironmentm_environment
 
Chirality m_Chirality
 
WeightType m_WeightType
 
double m_FoilMass
 
double m_FoilArea
 
double m_FoilLx
 
double m_FoilLy
 
double m_FoilLz
 
CoRiBoDynamics::vec3 m_WeightMainConnection
 
CoRiBoDynamics::vec3 m_WeightFishLine1Connection
 
CoRiBoDynamics::vec3 m_WeightFishLine2Connection
 
double m_ClumpWeightMass
 
double m_ClumpWeightLength
 
double m_ClumpWeightRadius
 
int m_NumMain
 
int m_NumLine1
 The number of discrete cable elements in the warp.
 
int m_NumLine2
 The number of discrete cable elements in the top bridle.
 
double m_MainDiameter
 The number of discrete cable elements int the lower bridle.
 
double m_Line1Diameter
 Nominal cable diameter.
 
double m_Line2Diameter
 Nominal cable diameter.
 
double m_MainLength
 Nominal cable diameter.
 
double m_Line1Length
 Warp cable length.
 
double m_Line2Length
 Bridle cable length.
 
double m_frequencyCoefficient
 Bridle cable length.
 
double m_MainElementLength
 Frequency response coefficient.
 
double m_Line1ElementLength
 Length of discrete cable elements.
 
double m_Line2ElementLength
 Length of discrete cable elements.
 
CoRiBoDynamics::ConstraintSolverm_ConstraintSolver
 Length of discrete cable elements.
 
CoRiBoDynamics::TrawlCableJointConstraintm_JointConstraint
 6dof rigid body constrained dynamic solver
 
CoRiBoDynamics::EnvironmentForcesm_environmentForces
 structural joint constraints
 
ICommonComputation * m_MainCalculations
 
vector< elementm_MainElements
 
vector< elementm_Line1Elements
 
vector< elementm_Line2Elements
 
element m_FoilElement
 
element m_FoilWeightElement
 
element m_ClumpWeightElement
 
double m_MainForce [3]
 
int m_MainForceConnectionIndex
 
double m_Line1Force [3]
 
int m_Line1ConnectionIndex
 
double m_Line2Force [3]
 
int m_Line2ConnectionIndex
 
ISignalPort * MainPosition
 
ISignalPort * m_MainVelocity
 
ISignalPort * m_Line1Position
 
ISignalPort * m_Line1Velocity
 
ISignalPort * m_Line2Position
 
ISignalPort * m_Line2Velocity
 

Constructor & Destructor Documentation

◆ RundDorg()

RundDorg::RundDorg ( 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.

◆ ~RundDorg()

RundDorg::~RundDorg ( )

Deletes all dynamically allocated memory

Member Function Documentation

◆ FinalSetup()

void RundDorg::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.

◆ InitialConditionSetup()

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

Initializes cable elements.

◆ OdeFcn()

void RundDorg::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: