203 double pos[3] = {-0.85, 0.0, 0.0};
237 double axialDragCoeff,
double wrench_d[6]);
321 double rho,
double crossFlowDragCoeff,
int sectionCount,
const double* sectionX,
322 const double* sectionDiameter,
const double* sectionLength,
double wrench_d[6]);
354 double crossFlowDragCoeff,
int sectionCount,
const double* sectionX,
355 const double* sectionDiameter,
const double* sectionLength,
double dWrench_dVelocity[6][6]);
388 int sectionCount,
const double* sectionX,
const double* sectionDiameter,
389 const double* sectionLength,
double wrench_d[6],
double (*dWrench_dVelocity)[6] =
nullptr);
439 double deflection,
const Rudder& rudder,
double wrench_d[6]);
471 const double omega_d[3],
double deflection,
const Rudder& rudder,
472 double dWrench_dVelocity[6][6],
double dWrench_dDeflection[6]);
494 const Coefficients& c,
const double relVel_d[3],
const double omega_d[3],
495 double rudderDive,
double rudderYaw,
double dWrench_dVelocity[6][6]);
524 const double relVel_d[3],
const double omega_d[3],
double rudderDive,
double rudderYaw,
void AddCrossFlowStripDerivative(const double relVel_d[3], const double omega_d[3], double rho, double crossFlowDragCoeff, int sectionCount, const double *sectionX, const double *sectionDiameter, const double *sectionLength, double dWrench_dVelocity[6][6])
void AxialDragWrench(const double relVel_d[3], double rho, double frontalArea, double axialDragCoeff, double wrench_d[6])
constexpr int kSectionCount
The number of hull sections the cross-flow strip theory divides the hull into.
Definition AuvHullLaw.h:253
double RollDampingMoment(double rollRate, double linear, double quadratic)
void CrossFlowStripWrench(const double relVel_d[3], const double omega_d[3], double rho, double crossFlowDragCoeff, int sectionCount, const double *sectionX, const double *sectionDiameter, const double *sectionLength, double wrench_d[6])
void HullLoadDerivative(const Hull &hull, const Sections §ions, const Rudder &rudder, const Coefficients &c, const double relVel_d[3], const double omega_d[3], double rudderDive, double rudderYaw, double dWrench_dVelocity[6][6])
void RudderWrench(RudderPlane plane, const double relVel_d[3], const double omega_d[3], double deflection, const Rudder &rudder, double wrench_d[6])
Hull HullPropertiesOf(double length, double diameter, double averageDensity)
constexpr double kCrossFlowSpeedEpsilon
Definition AuvHullLaw.h:272
void SlenderBodyLiftWrench(const double relVel_d[3], const double omega_d[3], double rho, int sectionCount, const double *sectionX, const double *sectionDiameter, const double *sectionLength, double wrench_d[6], double(*dWrench_dVelocity)[6]=nullptr)
double RollDampingDerivative(double rollRate, double linear, double quadratic)
constexpr double kInflowSpeedEpsilon
Definition AuvHullLaw.h:419
RudderPlane
Definition AuvHullLaw.h:192
@ Dive
The stern planes, working in the body x-z plane and commanded by RudderDive.
@ Yaw
The turning fins, working in the body x-y plane and commanded by RudderYaw.
void AddHullLoad(const Hull &hull, const Sections §ions, const Rudder &rudder, const Coefficients &c, const double relVel_d[3], const double omega_d[3], double rudderDive, double rudderYaw, double wrench[6])
void RudderWrenchJacobian(RudderPlane plane, const double relVel_d[3], const double omega_d[3], double deflection, const Rudder &rudder, double dWrench_dVelocity[6][6], double dWrench_dDeflection[6])
double AxialDragDerivative(double surge, double rho, double frontalArea, double axialDragCoeff)
double DefaultCrossFlowDragCoeff()
The coefficients of the hull laws. rho is a copy of the water density of the host (as Rudder::rho is)...
Definition AuvHullLaw.h:284
double rho
The density of the sea water, kg/m³.
Definition AuvHullLaw.h:285
double rollDampingQuadratic
The quadratic roll damping, N·m·s².
Definition AuvHullLaw.h:289
double crossFlowDrag
The two-dimensional cross-flow drag coefficient of a section.
Definition AuvHullLaw.h:287
double rollDampingLinear
The linear roll damping, N·m·s.
Definition AuvHullLaw.h:288
double axialDrag
The drag coefficient on the frontal area.
Definition AuvHullLaw.h:286
Definition AuvHullLaw.h:176
double mass
Vehicle mass, kg.
Definition AuvHullLaw.h:180
double izz
Yaw inertia about the body z axis, kg·m².
Definition AuvHullLaw.h:183
double frontalArea
Frontal area of the cylinder, pi r², m².
Definition AuvHullLaw.h:179
double ixx
Roll inertia about the body x axis, kg·m².
Definition AuvHullLaw.h:181
double radius
Hull radius, m.
Definition AuvHullLaw.h:177
double volume
Displaced volume, m³.
Definition AuvHullLaw.h:178
double iyy
Pitch inertia about the body y axis, kg·m².
Definition AuvHullLaw.h:182
Everything one fin plane needs beyond its inflow and its commanded deflection.
Definition AuvHullLaw.h:199
AuvFoilProperties foil
The lift and drag coefficient parameters.
Definition AuvHullLaw.h:200
double pos[3]
Where the fin wrench acts, body frame, m.
Definition AuvHullLaw.h:203
double rho
The density of the sea water, kg/m³.
Definition AuvHullLaw.h:201
double maxDeflection
The mechanical stop on the command, rad.
Definition AuvHullLaw.h:204
double area
The planform area of the fin plane, m².
Definition AuvHullLaw.h:202
The strip-theory sections of the hull, kSectionCount of each array.
Definition AuvHullLaw.h:276
double diameter[kSectionCount]
The cross-flow diameter of each section, m.
Definition AuvHullLaw.h:278
double x[kSectionCount]
The body-frame x of each section centroid, m.
Definition AuvHullLaw.h:277
double length[kSectionCount]
The length of each section, m.
Definition AuvHullLaw.h:279