FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
NetStructureArray Class Reference

Alias for std::vector<std::pair<std::string, int>> (was in fhsim v2 NFhSim.h).

#include <NetStructureArray.h>

+ Inheritance diagram for NetStructureArray:
+ Collaboration diagram for NetStructureArray:

Public Member Functions

 NetStructureArray (std::string simObjectName, ISimObjectCreator *creator)
 The constructor sets the pointer to the output object and the parser object.
 
virtual ~NetStructureArray ()
 The destructor deletes dynamically allocated memory.
 
virtual void OdeFcn (const double dT, const double *const adX, double *const adXDot) const
 
virtual void InitialConditionSetup (const double dT, const double *const adCurrentIC, double *const adUpdatedIC, ISimObjectCreator *const creator)
 
virtual void FinalSetup (const double dT, const double *const adX, ISimObjectCreator *const creator)
 
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 extNode)
 
virtual const double * NodeVel (const double dT, const double *const adX, int extNode)
 
virtual const double * BottomContact (const double dT, const double *const adX)
 

Protected Member Functions

virtual void CalcStateDerivatives (const double *const adX, double *const adXDot) const
 
virtual void AddExternalForces (const double dT, const double *const adX) const
 
virtual void DeleteAllNodeForces () const
 
virtual void ReadInputFile (ISimObjectCreator *creator)
 
virtual void AddNetForces (const double dT, const double *const adX) const
 
virtual void AddCableForces (const double dT, const double *const adX) const
 
void FindNodesToDivide (int nodesToDivide[2], double *length, double *lengthFactor)
 
void RefineMesh ()
 
void CheckNodeNumber (int nodeNumber, ISimObjectCreator *const creator, std::string nodeDescription="")
 
void CheckNodes (ISimObjectCreator *creator)
 
unsigned short AddCalcNode (int aiNodes[2])
 
virtual double AddNodeBottomForce (const double *const adX, int node, double diam, double adForceInOut[3]) const
 
virtual void AddBottomForces (const double *const adX) const
 
virtual void AddInputPorts (ISimObjectCreator *creator)
 
int CreateExternalNodeMap (VSPairStrInt &VsNodes, std::string tag, ISimObjectCreator *creator)
 
void CreateNetPanels (ISimObjectCreator *creator)
 
void CreateNetCables (ISimObjectCreator *creator)
 
void CreateDataStructures ()
 
void CreateOutputPorts (ISimObjectCreator *creator)
 
void PRINTALLNODEFORCES (std::string spec, double dT)
 

Protected Attributes

sfh::timers::StopWatch m_OdeTimer
 
int m_numNodeInputsUsed
 The number of used external force inputs.
 
int m_numNodeOutputsUsed
 The number of used external position outputs.
 
int * m_iExternalConn
 The index of the external nodes on the starboard wing.
 
long * m_externalNodes
 The index of the starboard nodes corresponding to the elements of the enum TrawlSpec::ENetExternalNodes_t.
 
ISignalPort ** m_inExternalForces
 The external forces input port.
 
double m_numExternalPos
 The index of the output port with position of the starboard wing external nodes.
 
int * m_iStatePos
 An array of indices to the node position states.
 
int * m_iStateVel
 An array of indices to the node velocity states.
 
int m_numPanelsCalc
 The number of elements the net is divided into.
 
int m_numPanelsGlobal
 The number of global sections of the net.
 
int m_numCablesCalc
 The number of elements the cable is divided into.
 
int m_numCablesGlobal
 The number of global cable elements.
 
int m_numNodesOriginal
 The number of original nodes of the net.
 
int m_numNodesCalc
 The number of nodes of the net after refinement.
 
double m_fluidRho
 The density of the surrounding fluid.
 
std::vector< NetElementDefm_VSPanelData
 A vector of structs containing the section data read from the input file.
 
std::vector< NetCableElement * > m_VCableElements
 A vector of structs containing the cable data read from the input file.
 
NetBottomContactFilter m_BottomContactFilter
 
double m_bottomContact [6]
 
double m_maxSideLengthFactor
 The maximum element side length factor.
 
double m_minSideLength
 The side length limit for the elements to be further subdivided.
 
int m_maxNumNodes
 The maximum number of nodes used for net calculations.
 
int m_maxNumPanels
 The maximum number of net panels used for the calculations.
 
int m_maxNumCables
 The maximum number of cable elements used for the calculations.
 
double m_scale
 The scale of the trawl net in relation to the specifications.
 
NetCableElement ** m_cableElements
 An array holding the cable elements.
 
double * m_inertia
 The inertia of the nodes.
 
double * m_nodeForce
 The force on the global nodes.
 
std::string m_netName
 The identification name of the net.
 
environment::EnvironmentProvider * m_environment
 Environment provider.
 
int * m_netConn
 
int ** m_aaiCableConn
 
double m_maxStepLength
 The maximum step length for the simulation.
 
double m_adaptationPeriod
 The adaptation period for the mean tension in cables and net elements.
 
double m_stepSafetyFactor
 The safety factor when calculating the adapted stiffness of the elements.
 
double m_minCableLength
 The minimum length of the cable elements.
 
double m_meanCableTension
 The expected average tension of the cable elements.
 
double m_maxCableTension
 The maximum tension of the cable elements.
 
double m_massFactor
 A factor to multiply the mass of each node with, slowing down the eigenfrequencies of the system.
 
double m_maxAcceleration
 The maximum acceleration component of each node.
 
double m_maxVelocity
 The maximum velocity component of each node.
 
double m_addedDragPerMPS
 The added linear drag per meter per second speed.
 
int m_numNodeOutputs
 
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_useTagForExternalNodes
 
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: