FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
rigidbody::CHydroSoilCylinder Class Reference

#include <CHydroSoilCylinder.h>

+ Inheritance diagram for rigidbody::CHydroSoilCylinder:
+ Collaboration diagram for rigidbody::CHydroSoilCylinder:

Public Member Functions

 CHydroSoilCylinder (double innerRadius, double outerRadius, double height, double mass, CylinderEnd end, const std::string &material)
 
vec6 GetInternalForces (const vec6 &dX, const vec3 &r, const quat &q, environment::EnvironmentProvider *environment, double time, const double *states)
 
- Public Member Functions inherited from rigidbody::CHydroCylinder
 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)
 
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)
 
- Public Member Functions inherited from rigidbody::soilforces::SoilElement
void SetSeafloorForces (environment::SeafloorForcesInterface *seafloorForces)
 Sets the resource the soil load is asked from; it must be set before the element's forces are computed.
 
bool InSeabedContact () const
 Whether the element was in contact with the seabed at its last force evaluation (its soil load has no Jacobian).
 

Additional Inherited Members

- 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)
 
- Protected Member Functions inherited from rigidbody::CHydroCylinder
vec6 GetBuoyancy (const vec3 &r, const quat &q, environment::EnvironmentProvider *environment, double time) const
 The buoyancy of the wetted material volume at its centre of buoyancy, body frame (R94, BASE-0067).
 
- Protected Attributes inherited from rigidbody::CHydroCylinder
double m_waterDensity = marenv::seawaterDensity
 
- Protected Attributes inherited from rigidbody::CRigidCylinder
double iR
 
double oR
 
double h
 
double m
 
double V
 
CylinderEnd endType
 
std::string m_material
 
- Protected Attributes inherited from rigidbody::soilforces::SoilElement
environment::SeafloorForcesInterface * m_seafloorForces = nullptr
 
bool m_inSeabedContact = false
 

Detailed Description

A hydrodynamic cylinder that also carries the soil load of an anchor shank.

The soil load comes from the environment's shared SeafloorForces resource (AnchorShank): the cylinder passes its radii, length, end type and kinematics and applies the returned load. It holds no soil parameter. The resource is set with SetSeafloorForces.

Member Function Documentation

◆ GetInternalForces()

vec6 rigidbody::CHydroSoilCylinder::GetInternalForces ( const vec6 &  dX,
const vec3 &  r,
const quat &  q,
environment::EnvironmentProvider *  environment,
double  time,
const double *  states 
)
virtual

Reimplemented from rigidbody::CHydroCylinder.


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