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

Public Member Functions

 CNetStructureArray (std::string sSimObjectName, ISimObjectCreator *pCreator)
 The constructor sets the pointer to the output object and the parser object.
 
virtual ~CNetStructureArray ()
 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)
 
void SetAddedDragPerMPS (double AddedDragPerMPS)
 
virtual const double * NumExternalPos (const double dT, const double *const adX)
 
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)
 

Protected Member Functions

virtual void CalcStateDerivatives (const double *const adX, double *const adXDot)
 
virtual void AddExternalForces (const double dT, const double *const adX)
 
virtual void DeleteAllNodeForces ()
 
virtual void ReadInputFile (ISimObjectCreator *pCreator)
 
virtual void AddNetForces (const double dT, const double *const adX)
 
virtual void AddCableForces (const double dT, const double *const adX)
 
void FindNodesToDivide (int iNodesToDivide[2], double *dLength, double *dLengthFactor)
 
void RefineMesh ()
 
void CheckNodeNumber (int iNodeNumber, ISimObjectCreator *const pCreator, std::string sNodeDescription="")
 
void CheckNodes (ISimObjectCreator *pCreator)
 
unsigned short AddCalcNode (int aiNodes[2])
 
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)
 
int CreateExternalNodeMap (VSPairStrInt &VsNodes, std::string sTag, ISimObjectCreator *pCreator)
 
void CreateNetPanels (ISimObjectCreator *pCreator)
 
void CreateNetCables (ISimObjectCreator *pCreator)
 
void CreateDataStructures ()
 
void CreateOutputPorts (ISimObjectCreator *pCreator)
 
void PRINTALLNODEFORCES (std::string spec, double dT)
 

Protected Attributes

sfh::timers::StopWatch m_OdeTimer
 
int m_iNumNodeInputsUsed
 The number of used external force inputs.
 
int m_iNumNodeOutputsUsed
 The number of used external position outputs.
 
int * m_aIExternalConn
 The index of the external nodes on the starboard wing.
 
long * m_aiExternalNodes
 The index of the starboard nodes corresponding to the elements of the enum TrawlSpec::ENetExternalNodes_t.
 
ISignalPort ** m_apInExternalForces
 The external forces input port.
 
double m_dNumExternalPos
 The index of the output port with position of the starboard wing external nodes.
 
int * m_aIStatePos
 An array of indices to the node position states.
 
int * m_aIStateVel
 An array of indices to the node velocity states.
 
int m_iNumPanelsCalc
 The number of elements the net is divided into.
 
int m_iNumPanelsGlobal
 The number of global sections of the net.
 
int m_iNumCablesCalc
 The number of elements the cable is divided into.
 
int m_iNumCablesGlobal
 The number of global cable elements.
 
int m_iNumNodesOriginal
 The number of original nodes of the net.
 
int m_iNumNodesCalc
 The number of nodes of the net after refinement.
 
double m_dFluidRho
 The density of the surrounding fluid.
 
std::vector< CNetElementDefm_VSPanelData
 A vector of structs containing the section data read from the input file.
 
std::vector< CNetCableElement * > m_VCableElements
 A vector of structs containing the cable data read from the input file.
 
CNetBottomContactFilter m_BottomContactFilter
 
double m_adBottomContact [6]
 
double m_dMaxSideLengthFactor
 The maximum element side length factor.
 
double m_dMinSideLength
 The side length limit for the elements to be further subdivided.
 
int m_iMaxNumNodes
 The maximum number of nodes used for net calculations.
 
int m_iMaxNumPanels
 The maximum number of net panels used for the calculations.
 
int m_iMaxNumCables
 The maximum number of cable elements used for the calculations.
 
double m_dScale
 The scale of the trawl net in relation to the specifications.
 
CNetCableElement ** m_apCableElements
 An array holding the cable elements.
 
double * m_adInertia
 The inertia of the nodes.
 
double * m_adNodeForce
 The force on the global nodes.
 
std::string m_sNetName
 The identification name of the net.
 
IBasicBottom ** m_ppBottom
 
ICurrentVel ** m_ppCurrentVel
 The object giving the current velocity.
 
int * m_aiNetConn
 
int ** m_aaiCableConn
 
double m_dMaxStepLength
 The maximum step length for the simulation.
 
double m_dAdaptationPeriod
 The adaptation period for the mean tension in cables and net elements.
 
double m_dStepSafetyFactor
 The safety factor when calculating the adapted stiffness of the elements.
 
double m_dMinCableLength
 The minimum length of the cable elements.
 
double m_dMeanCableTension
 The expected average tension of the cable elements.
 
double m_dMaxCableTension
 The maximum tension of the cable elements.
 
double m_dMassFactor
 A factor to multiply the mass of each node with, slowing down the eigenfrequencies of the system.
 
double m_dMaxAcceleration
 The maximum acceleration component of each node.
 
double m_dMaxVelocity
 The maximum velocity component of each node.
 
double m_dAddedDragPerMPS
 The added linear drag per meter per second speed.
 
int m_iNumNodeOutputs
 
VSPairStrInt m_VsNodesOutput
 The tag names and indices of the external nodes to be used as output.
 
VSPairStrInt m_VsNodesInput
 The tag names and indices of the external nodes to be used as input.
 
VSPairStrInt m_VsNodesAvailable
 The tag names and indices of the available external nodes.
 
bool m_bUseTagForExternalNodes
 
double * adNodesDistMesh
 
double * adMesdDet
 
double * adEATwine
 
double * adMeshBarLength_unstretched
 
double * adKnotDiameter
 
double * adKnotMomStiff_contact
 
double * adKKnot
 
double * adTwineDragNormal
 
double * adTwineDiameter
 
double * adElementWaterVel
 
double * adDampingCoeff
 
double * adElementNodeWeight
 

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