|
|
| CHydroCylinder (double innerRadius, double outerRadius, double height, double mass, CylinderEnd end, const std::string &material) |
| |
| mat6 | GetInertiaMatrix (const vec3 &r, double time, const double *states, environment::EnvironmentProvider *environment) |
| |
| vec6 | GetInternalForces (const vec6 &dX, const vec3 &r, const quat &q, environment::EnvironmentProvider *environment, double time, const double *states) |
| |
|
void | SetWaterDensity (double waterDensity) |
| | The water density [kg/m^3] of the buoyancy, the drag and the added mass (BASE-0054); default 1025.
|
| |
Public Member Functions inherited from rigidbody::CRigidCylinder |
|
| CRigidCylinder (double innerRadius, double outerRadius, double height, double mass, CylinderEnd end, const std::string &material) |
| |
| mat6 | GetInertiaMatrix (const vec3 &r, double time, const double *states, environment::EnvironmentProvider *environment) |
| |
| vec6 | GetInternalForces (const vec6 &dX, const vec3 &r, const quat &q, environment::EnvironmentProvider *environment, double time, const double *states) |
| |
| mat64 | GetGravityForceDerivative (const quat &q) |
| |
Public Member Functions inherited from rigidbody::CRigidBody |
|
vec13 | GetSecondDerivative (const vec3 &r, const quat &q, const vec3 &v, const vec3 w, const vec6 &externalForces, environment::EnvironmentProvider *environment, double time, const double *states) |
| |
| mat13 | GetSecondDerivativeJacobian (const vec3 &r, const quat &q, const vec3 &v, const vec3 &w, const vec6 &externalForces, environment::EnvironmentProvider *environment, double time, const double *states) |
| |
| void | WriteStateJacobian (const double *X, int positionIndex, int quaterIndex, int velocityIndex, int omegaIndex, const vec6 &externalForces, environment::EnvironmentProvider *environment, double time, double *J, int nStates) |
| |
|
Static Public Member Functions inherited from rigidbody::CRigidBody |
|
static vec6 | GetCoriolisForce (const vec6 &dX, const mat6 &Inertia) |
| |
|
static mat6 | GetCoriolisForceDerivative (const vec6 &dX, const mat6 &Inertia) |
| | d(GetCoriolisForce)/d(dX) at a fixed inertia matrix, bodylocal.
|
| |
|
static mat6 | ReorientInertiaTranslateRotate (const mat6 &Inertia, const vec6 &orientation) |
| |
|
static mat3 | MakeDyadic (const vec3 &vector) |
| |
|
static mat34 | RotationDerivative (const quat &q, const vec3 &x) |
| |
|
static mat34 | ConjugateRotationDerivative (const quat &q, const vec3 &x) |
| |
|
static mat3 | GetRotation (const vec3 &angle) |
| |
|
static mat6 | GetRotation6 (const vec3 &angle) |
| |
A rigid cylinder in water: buoyancy, drag, torsion, spin lift, end-face drag and added mass (the anchor shank).
The cross-flow drag with the axial skin friction, the torsion and the added mass across the axis are fhsim_environment's wet-cylinder law (environment::wet_cylinder) with its Reynolds-number coefficients Cd(Re) and Ct(Re) and Ca 1 (owner ruling 2026-10-21, BASE-0085). These parts have no environment law and stay here: the spin lift 2 pi rho R^2 w_z across the axis; the end-face drag 1/2 rho A |v| v on the axis, with its floor 0.005 2R h on the area of an open end; the added mass along the axis, (4/3) rho pi R^3 (owner ruling R73), and in pitch and yaw, rho pi R^2 h^3 / 12.