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)
 
- 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
 
- Protected Member Functions inherited from WaveHull
double Length () const
 
double Lcf () const
 
double Draught () const
 
double Rho () 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].
 

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.


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