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

Public Member Functions

 WavePropulsionHull (std::string simObjectName, ISimObjectCreator *creator)
 
void FinalSetup (double T, const double *X, ISimObjectCreator *creator) override
 
void PreOdeFcn (double T, const double *X, IStateUpdater *updater) override
 
const double * ThrustPort (double T, const double *X)
 
const double * RudderForcePort (double T, const double *X)
 
const environment::wake::BodyFlowInteraction & Flow () const
 The current and wakes it receives, the hull wake and jet it casts (read only, for tests).
 
- Public Member Functions inherited from WaveHull
 WaveHull (std::string simObjectName, ISimObjectCreator *creator)
 
void FinalSetup (double T, const double *X, ISimObjectCreator *creator) override
 
void OdeFcn (double T, const double *X, double *XDot) const override
 
bool HasJacobians () const override
 
void OdeJacobian (double T, const double *X, double *J, int nStates) override
 
int GetJacobianSparsity (int, int *, int *) override
 
Dof RawWaveLoads (double T, const double *pose) const
 Unfiltered wave loads (Fz, Mphi, Mtheta) at time T for the hull at pose (N, E, psi).
 
const double * MotionPort (double T, const double *X)
 
const double * MotionRatePort (double T, const double *X)
 
const double * ExcitationPort (double T, const double *X)
 
const double * VelocityPort (double T, const double *X)
 
const double * PositionPort (double T, const double *X)
 
const double * RotationPort (double T, const double *X)
 

Protected Member Functions

Loads ExtraLoads (double T, const double *X, const Dof &velocity) const override
 
std::array< Dof, 6 > ExtraLoadsVelocityJacobian (const Dof &velocity) const override
 
std::array< double, 3 > WaterVelocity (double T, const double *X) const override
 
std::array< double, 3 > HeldWaterVelocity () const override
 The water velocity of the step [m/s], NED, which OdeJacobian holds fixed. The base: still water.
 
- Protected Member Functions inherited from WaveHull
Dof VelocityThroughWater (double T, const double *X) const
 (u, v, r) through the water at time T for the model-global state X.
 
Dof HullDamping (const Dof &velocity) const
 The hull's damping X(u), Y(v), N(r) at the velocity through the water velocity (u, v, r), resisting it.
 
double Length () const
 
double Breadth () const
 
double Lcf () const
 
double Draught () const
 
double Rho () const
 
int MotionIndex () const
 
int RateIndex () const
 
int PoseIndex () const
 
int VelocityIndex () const
 

Additional Inherited Members

- Public Types inherited from WaveHull
using Dof = std::array< double, 3 >
 Three generalized loads or coordinates: (heave, roll, pitch) or (surge, sway, yaw).
 
using Loads = std::array< double, 6 >
 Generalized loads on the six modes, ordered surge, sway, heave, roll, pitch, yaw [N, N m].
 
- Static Protected Member Functions inherited from WaveHull
static Dof InBodyFrame (const std::array< double, 3 > &water, double psi)
 The water velocity water (NED) in the body frame of heading psi: (u_c, v_c, 0).
 

Member Function Documentation

◆ ExtraLoads()

Loads WavePropulsionHull::ExtraLoads ( double  ,
const double *  ,
const Dof &   
) const
overrideprotectedvirtual

Loads a derived model adds, at time T, for the model-global state X and the hull velocity velocity (u, v, r). The base adds none.

Reimplemented from WaveHull.

◆ ExtraLoadsVelocityJacobian()

std::array< Dof, 6 > WavePropulsionHull::ExtraLoadsVelocityJacobian ( const Dof &  ) const
overrideprotectedvirtual

d(ExtraLoads)/d(u, v, r), one row per load, with the derived model's inputs held fixed. Called from OdeJacobian, which has no model-global state; the base adds none.

Reimplemented from WaveHull.

◆ HeldWaterVelocity()

std::array< double, 3 > WavePropulsionHull::HeldWaterVelocity ( ) const
inlineoverrideprotectedvirtual

Reimplemented from WaveHull.

◆ WaterVelocity()

std::array< double, 3 > WavePropulsionHull::WaterVelocity ( double  ,
const double *   
) const
overrideprotectedvirtual

The water velocity at the hull at time T for the model-global state X [m/s], NED: the hull's damping and a derived model's loads take the velocity through the water (MARE-0371). The base: still water.

Reimplemented from WaveHull.


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