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

Class containing a net object with functionality to be affected by attractors. More...

#include <NetWithAttractor.h>

+ Inheritance diagram for NetWithAttractor:
+ Collaboration diagram for NetWithAttractor:

Public Member Functions

 NetWithAttractor (std::string simObjectName, ISimObjectCreator *creator)
 The constructor sets the pointer to the output object and the parser object.
 
 ~NetWithAttractor ()
 The destructor deletes dynamically allocated memory.
 
virtual void OdeFcn (const double dT, const double *const adX, double *const adXDot) const
 Does nothing, as the object contains no states.
 
virtual void FinalSetup (const double dT, const double *const adX, ISimObjectCreator *const creator)
 
- Public Member Functions inherited from NetStructure
 NetStructure (std::string simObjectName, ISimObjectCreator *creator)
 The constructor sets the pointer to the output object and the parser object.
 
virtual ~NetStructure ()
 The destructor deletes dynamically allocated memory.
 
virtual void InitialConditionSetup (const double dT, const double *const adCurrentIC, double *const adUpdatedIC, ISimObjectCreator *const creator)
 
void PreOdeFcn (double T, const double *X) override
 Rebuilds the cast wake when due (with CastWake) and takes the wakes at the panel centroids and cable midpoints for the step (NetFlowInteraction::PreOdeFcn, environment::wake::BodyWake::Update).
 
void AcceptedStep (const double T, const double *const X) override
 
const double * outExternalNodeForce (const double dT, const double *const adX, int extNode)
 
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
 
bool HasPortJacobians () const override
 
void InputPortJacobian (const std::string &portName, double T, const double *X, double *dF_dInput, int portSize, int nStates) override
 
void OutputPortJacobian (const std::string &portName, double T, const double *X, double *dPort_dX, int portSize, int nStates, int index) override
 
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)
 
virtual const double * StrainEnergy (const double dT, const double *const adX)
 
virtual const double * VelNorm (const double dT, const double *const adX)
 
void SetAddedDragPerMPS (double AddedDragPerMPS)
 

Protected Member Functions

void AddNetForces (const double dT, const double *const adX)
 
void AddAttractorForces (const double *const adX)
 
- Protected Member Functions inherited from NetStructure
NetNodeLayout Layout () const override
 
void AddExternalForces (double T, const double *X, double *nodeForce) const override
 The forces of the input force ports, on their nodes.
 
void TakeNodeForces (double T, const double *X, const double *nodeForce, double *XDot) const override
 The state derivatives: velocity, force over inertia (and MassFactor), bounded by MaxVelocity.
 
bool HasJacobianConfiguration () const
 
virtual void AddInputPorts (ISimObjectCreator *creator)
 
virtual void CreateOutputPorts (ISimObjectCreator *creator)
 
std::string PosPortName (int extNode) const
 
std::string VelPortName (int extNode) const
 
void VelNormJacobian (const double *X, double *dPort_dX) const
 
void StrainEnergyJacobian (const double *X, double *dPort_dX) const
 
VSPairStrInt CreateExternalNodeMap (std::string tag, int *piUsed, const NetStructureSpec &NetSpec, ISimObjectCreator *creator)
 
void ComputeCableStructuralJacobian (const NetCableElement *cable, const double pA[3], const double pB[3], const double vA[3], const double vB[3], double dFA_dpA[9], double dFA_dpB[9], double dFA_dvA[9], double dFA_dvB[9]) const
 
int LocalIndex (int globalStateIndex) const
 

Protected Attributes

std::vector< AttractorBase * > m_VAttractors
 
std::string m_attractorName
 The name of the attractor.
 
double * m_padZero
 
bool * m_isInBin
 
- Protected Attributes inherited from NetStructure
double m_StrainEnergy
 
std::unique_ptr< NetCore > m_core
 The net core: the panels, cable elements, their loads, the wakes and the seabed contact (NetCore.h).
 
ISignalPort ** m_inExternalForces
 Interface member variables.
 
int * m_iStatePos
 
int * m_iStateVel
 
int m_iStateBase = 0
 Global index of this SimObject's first state, set in the constructor.
 
int m_numNodesInputForce
 Node counts.
 
int m_numNodesOutputPosAndVel
 
VSPairStrInt m_VsNodesOutputPosAndVel
 Nodes reachable directly through input or output ports.
 
VSPairStrInt m_VsNodesInputForce
 
bool m_useTagForExternalNodes
 

Additional Inherited Members

- Public Attributes inherited from NetStructure
double m_velNorm
 

Detailed Description

Author
Karl-Johan Reite

Member Function Documentation

◆ FinalSetup()

virtual void NetWithAttractor::FinalSetup ( const double  dT,
const double *const  adX,
ISimObjectCreator *const  creator 
)
virtual

Reimplemented from NetStructure.

◆ OdeFcn()

virtual void NetWithAttractor::OdeFcn ( const double  dT,
const double *const  adX,
double *const  adXDot 
) const
virtual

Reimplemented from NetStructure.


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