Marine systems simulation
Netcage::CMembraneCage Class Reference
+ Inheritance diagram for Netcage::CMembraneCage:
+ Collaboration diagram for Netcage::CMembraneCage:

Public Member Functions

 CMembraneCage (const string &simobjectname, ISimObjectCreator *const creator)
 The constructor sets the pointer to the output object and the parser object.
 
 ~CMembraneCage ()
 The destructor cleans up.
 
const double * outSumHydDynForce (const double T, const double *const X)
 Calculates the state derivatives. More...
 
const double * outNodeSumForce (const double T, const double *const X)
 
const double * outNodeSumDragForceAbs (const double T, const double *const X)
 
const double * outNodeSumDragForceDirection (const double T, const double *const X)
 
const double * outNodeSumLiftForce (const double T, const double *const X)
 
const double * outBottomPosition (const double T, const double *const X)
 
virtual const double * NodeForce (const double dT, const double *const adX, int iExtNode)
 
virtual void FinalSetup (const double dT, const double *const adX, ISimObjectCreator *const pCreator)
 
virtual void OdeFcn (const double dT, const double *const adX, double *const adXDot, const bool bIsMajorTimeStep)
 
void GetNodePositionIndices (std::vector< int > &NodePositions)
 
void GetNodeVelocityIndices (std::vector< int > &NodeVelocities)
 
- Public Member Functions inherited from Netcage::CMembraneStructure
 CMembraneStructure (const std::string &sSimObjectName, ISimObjectCreator *const pCreator)
 The constructor sets the pointer to the output object and the parser object.
 
virtual ~CMembraneStructure ()
 The destructor deletes dynamically allocated memory.
 
virtual void OdeFcn (const double dT, const double *const adX, double *const adXDot, const bool bIsMajorTimeStep)
 
virtual void InitialConditionSetup (const double dT, const double *const adCurrentIC, double *const adUpdatedIC, ISimObjectCreator *const pCreator)
 
virtual void FinalSetup (const double dT, const double *const adX, ISimObjectCreator *const pCreator)
 
const double * outExternalNodeForce (const double dT, const double *const adX, int iExtNode)
 
virtual const double * NodePos (const double dT, const double *const adX, int iExtNode)
 
virtual const double * NodeVel (const double dT, const double *const adX, int iExtNode)
 
virtual const double * BottomContact (const double dT, const double *const adX)
 
virtual const double * LowerMembranePosition (const double dT, const double *const adX)
 
void SetAddedDragPerMPS (double AddedDragPerMPS)
 

Protected Member Functions

void DecomposeDragForcesInCurrentDirection (double *const DragForcesProjected, const double T, const double *const X)
 
void SetExternalPos (const double dT, const double *const adX)
 
void SetExternalVel (const double dT, const double *const adX)
 
virtual void CreateDataStructures ()
 
virtual void AddInputPorts (ISimObjectCreator *pCreator)
 
virtual void CreateOutputPorts (ISimObjectCreator *pCreator)
 
virtual void CalcStateDerivatives (const double *const adX, double *const adXDot)
 
virtual double AddNodeBottomForce (const double *const adX, int iNode, double dDiam, double adForceInOut[3])
 
virtual void AddNetForces (const double dT, const double *const adX)
 
virtual void AddCableForces (const double dT, const double *const adX)
 
void GetUniformCurrentDragData ()
 
- Protected Member Functions inherited from Netcage::CMembraneStructure
virtual void CalcStateDerivatives (const double *const adX, double *const adXDot)
 
virtual void AddExternalForces (const double dT, const double *const adX)
 
virtual void AddNetForces (const double dT, const double *const adX)
 
virtual void AddCableForces (const double dT, const double *const adX)
 
virtual double AddNodeBottomForce (const double *const adX, int iNode, double dDiam, double adForceInOut[3])
 
virtual void AddBottomForces (const double *const adX)
 
virtual void AddInputPorts (ISimObjectCreator *pCreator)
 
virtual void CreateNetPanels (std::vector< const CNetElementDef * > VNetElementDefs, ISimObjectCreator *pCreator)
 
virtual void CreateNetCables (std::vector< const CNetCableElementSpec * > VCableElements, ISimObjectCreator *pCreator)
 
virtual void CreateDataStructures ()
 
virtual void CreateOutputPorts (ISimObjectCreator *pCreator)
 
VSPairStrInt CreateExternalNodeMap (std::string sTag, int *piUsed, CNetStructureSpec &NetSpec, ISimObjectCreator *pCreator)
 
void PRINTALLNODEFORCES (std::string spec, double dT)
 

Protected Attributes

double g_PI
 
ISignalPort ** m_InExternalPos
 
ISignalPort ** m_InExternalVel
 
double * m_NodeExternalPos
 
double * m_NodeExternalVel
 
double m_adNodeSumForce [3]
 
double m_adSumHydDynForce [3]
 
double m_dNodeSumDragForceAbs
 
double m_dNodeSumDragDirection
 
double m_dNodeSumLiftForce
 
double * m_pressCoeffAngle
 
double * m_pressCoeff
 
double * m_adNodeHydDynForce
 
double * m_NodeInternalForces
 
int(* m_hasPosAndVelStates )[2]
 
int m_NumNodesInputPosAndVel
 
int m_NumNodesOutputForce
 
VSPairStrInt m_VsNodesInputPosAndVel
 
VSPairStrInt m_VsNodesOutputForce
 
- Protected Attributes inherited from Netcage::CMembraneStructure
ISignalPort ** m_apInExternalForces
 Interface member variables.
 
int * m_aIStatePos
 
int * m_aIStateVel
 
double * m_NodeExternalForces
 
int m_iNumNodesInputForce
 Node counts.
 
int m_iNumNodesOutputPosAndVel
 
int m_iNumPanelsCalc
 
int m_iNumCablesCalc
 
int m_iNumNodesOriginal
 
int m_iNumNodesCalc
 
int m_iNumNodeOutputs
 
CNetBottomContactFilter m_BottomContactFilter
 Environment.
 
double m_adBottomContact [6]
 
IBasicBottom ** m_ppBottom
 
ICurrentVel ** m_ppCurrentVel
 
CEnvironmentm_pEnvironment
 
std::vector< CNetCableElement * > m_VpCableElements
 Element properties.
 
std::vector< CMembraneElement * > m_VpNetElements
 
float * m_afInertia
 
int * m_aiNetConn
 
int ** m_aaiCableConn
 
SAdaptationSpec_t m_SAdaptations
 
bool m_bFoldingPointRefinementUsed
 
VSPairStrInt m_VsNodesOutputPosAndVel
 Nodes reachable directly through input or output ports.
 
VSPairStrInt m_VsNodesInputForce
 
bool m_bUseTagForExternalNodes
 
double * m_adNodeForce
 
sfh::timers::StopWatch m_OdeTimer
 
double m_LowerMembraneDepth
 

Member Function Documentation

◆ AddCableForces()

virtual void Netcage::CMembraneCage::AddCableForces ( const double  dT,
const double *const  adX 
)
protectedvirtual

Reimplemented from Netcage::CMembraneStructure.

◆ AddInputPorts()

virtual void Netcage::CMembraneCage::AddInputPorts ( ISimObjectCreator *  pCreator)
protectedvirtual

Reimplemented from Netcage::CMembraneStructure.

◆ AddNetForces()

virtual void Netcage::CMembraneCage::AddNetForces ( const double  dT,
const double *const  adX 
)
protectedvirtual

Reimplemented from Netcage::CMembraneStructure.

◆ AddNodeBottomForce()

virtual double Netcage::CMembraneCage::AddNodeBottomForce ( const double *const  adX,
int  iNode,
double  dDiam,
double  adForceInOut[3] 
)
protectedvirtual

Reimplemented from Netcage::CMembraneStructure.

◆ CalcStateDerivatives()

virtual void Netcage::CMembraneCage::CalcStateDerivatives ( const double *const  adX,
double *const  adXDot 
)
protectedvirtual

Reimplemented from Netcage::CMembraneStructure.

◆ CreateDataStructures()

virtual void Netcage::CMembraneCage::CreateDataStructures ( )
protectedvirtual

Reimplemented from Netcage::CMembraneStructure.

◆ CreateOutputPorts()

virtual void Netcage::CMembraneCage::CreateOutputPorts ( ISimObjectCreator *  pCreator)
protectedvirtual

Reimplemented from Netcage::CMembraneStructure.

◆ FinalSetup()

virtual void Netcage::CMembraneCage::FinalSetup ( const double  dT,
const double *const  adX,
ISimObjectCreator *const  pCreator 
)
virtual

Reimplemented from Netcage::CMembraneStructure.

◆ OdeFcn()

virtual void Netcage::CMembraneCage::OdeFcn ( const double  dT,
const double *const  adX,
double *const  adXDot,
const bool  bIsMajorTimeStep 
)
virtual

Reimplemented from Netcage::CMembraneStructure.

◆ outSumHydDynForce()

const double * Netcage::CMembraneCage::outSumHydDynForce ( const double  T,
const double *const  X 
)

Output functions


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