1#ifndef WavePropulsionHull_H
2#define WavePropulsionHull_H
136 void FinalSetup(
double T,
const double* X, ISimObjectCreator* creator)
override;
137 void PreOdeFcn(
double T,
const double* X, IStateUpdater* updater)
override;
139 const double* ThrustPort(
double T,
const double* X);
140 const double* RudderForcePort(
double T,
const double* X);
156 Actuation<S> Actuate(
double propellerSpeed,
double rudderAngle,
const S& u,
const S& v,
const S& r)
const;
159 std::array<S, 6> LoadsOf(
const Actuation<S>& actuation,
double rudderAngle)
const;
162 void HoldInputs(
double T,
const double* X);
164 ISignalPort* m_inPropellerSpeed =
nullptr;
165 ISignalPort* m_inRudderAngle =
nullptr;
167 double m_diameter = 0.0;
168 double m_kt[3] = {0.0, 0.0, 0.0};
169 double m_wakeFraction = 0.0;
170 double m_thrustDeduction = 0.0;
171 double m_propellerX = 0.0;
172 double m_propellerZ = 0.0;
174 double m_rudderArea = 0.0;
175 double m_liftSlope = 0.0;
176 double m_rudderX = 0.0;
177 double m_rudderZ = 0.0;
178 double m_hullInteraction = 0.0;
179 double m_hullInteractionX = 0.0;
180 double m_slipstreamFactor = 0.0;
182 double m_heldPropellerSpeed = 0.0;
183 double m_heldRudderAngle = 0.0;
185 double m_thrustOut = 0.0;
186 std::array<double, 2> m_rudderForceOut {};
Definition WaveHull.h:244
std::array< double, 3 > Dof
Three generalized loads or coordinates: (heave, roll, pitch) or (surge, sway, yaw).
Definition WaveHull.h:247
std::array< double, 6 > Loads
Generalized loads on the six modes, ordered surge, sway, heave, roll, pitch, yaw [N,...
Definition WaveHull.h:249
Definition WavePropulsionHull.h:132
std::array< Dof, 6 > ExtraLoadsVelocityJacobian(const Dof &velocity) const override
Loads ExtraLoads(double T, const double *X, const Dof &velocity) const override