FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
Cable Class Reference
+ Inheritance diagram for Cable:
+ Collaboration diagram for Cable:

Public Member Functions

 Cable (std::string simObjectName, ISimObjectCreator *creator)
 The constructor sets the pointer to the output object and the parser object.
 
 ~Cable ()
 The destructor deletes dynamically allocated memory.
 
void OdeFcn (const double dT, const double *const adX, double *const adXDot) const
 
void InitialConditionSetup (const double dT, const double *const adCurrentIC, double *const adUpdatedIC, ISimObjectCreator *const creator)
 functionality for setting initialconditions based on input port results.
 
void FinalSetup (const double dT, const double *const adX, ISimObjectCreator *const creator)
 
void CalcOutput (const double dT, const double *const adX) const
 
bool HasJacobians () const override
 
void OdeJacobian (double T, const double *X, double *J, int nStates) override
 
int GetJacobianSparsity (int nStates, int *rowPtr, int *colIdx) override
 
const double * OutForceA (const double dT, const double *const adX)
 
const double * OutForceB (const double dT, const double *const adX)
 
const double * OutPosA (const double dT, const double *const adX)
 
const double * OutPosB (const double dT, const double *const adX)
 

Protected Member Functions

void UpdateLength (double newLength, double deltaT)
 
void UpdateStiffness (const double *const adForceA, const double *const adForceB)
 Updates the stiffness of the cable to ensure that this is not too large.
 
void UpdateInertia ()
 Updates the inertia of the cable according to the changing length.
 

Protected Attributes

ISignalPort * m_inLength
 The cable length input port.
 
ISignalPort * m_inVelA
 The velocity A input port.
 
ISignalPort * m_inVelB
 The velocity B input port.
 
ISignalPort * m_inPosA
 The position A input port.
 
ISignalPort * m_inPosB
 The position B input port.
 
int m_IStates
 The index to the internal states of the cable.
 
ICommonComputation * m_commonCalc
 Calculations necessary for more than one output port.
 
int m_numElements
 The number of elements to divide the cable into.
 
int m_numNodes
 The number of nodes of the cable.
 
double m_inertiaA
 The inertia of the end A.
 
double m_inertiaB
 The inertia of the end B.
 
double m_forceA [3]
 The force on the end A.
 
double m_forceB [3]
 The force on the end B.
 
double * m_lengths
 The lengths of the cable elements.
 
std::string m_cableName
 The identification name of the cable;.
 
InternalCableWithBottomContactm_internalCable
 
SCableSpec m_CableSpec
 The cable specification.
 

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