FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
CHydroCylinder.h
1#ifndef C_HydroCylinder_H
2#define C_HydroCylinder_H
3
9#include "CRigidCylinder.h"
10#include <string>
11
12#include <marenv/marenv.h>
13
14namespace rigidbody
15{
26{
27 public:
29 virtual ~CHydroCylinder();
30 CHydroCylinder(double innerRadius, double outerRadius, double height, double mass, CylinderEnd end, const std::string& material);
31 mat6 GetInertiaMatrix(const vec3& r, double time, const double* states, environment::EnvironmentProvider* environment);
32 vec6 GetInternalForces(const vec6& dX, const vec3& r, const quat& q, environment::EnvironmentProvider* environment, double time, const double* states);
33
35 void SetWaterDensity(double waterDensity) { m_waterDensity = waterDensity; }
36
37 protected:
38 double m_waterDensity = marenv::seawaterDensity;
39
41 vec6 GetBuoyancy(const vec3& r, const quat& q, environment::EnvironmentProvider* environment, double time) const;
42};
43}; // namespace rigidbody
44#endif
Definition CHydroCylinder.h:26
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,...
void SetWaterDensity(double waterDensity)
The water density [kg/m^3] of the buoyancy, the drag and the added mass (BASE-0054); default 1025.
Definition CHydroCylinder.h:35
Definition CRigidCylinder.h:22
constexpr double seawaterDensity
Ocean water density [kg/m^3].
Definition marenv.h:20