53#include <EnvironmentProvider.h>
54#include "sfh/constants.h"
63typedef Eigen::Matrix<double,3,1> vec3;
98 CCylinder(
const string& simObjectName, ISimObjectCreator*
const creator);
99 virtual void FinalSetup(
const double T,
const double*
const X, ISimObjectCreator*
const pCreator);
113 void OdeFcn(
const double T ,
const double*
const X,
double*
const XDot,
const bool IsMajorTimeStep);
116#ifdef FH_VISUALIZATION
125 void RenderInit(Ogre::Root*
const ogreRoot, ISimObjectCreator*
const creator);
135 void RenderUpdate(
const double T,
const double*
const X);
147 const double*
const Position(
const double T,
const double*
const X);
148 const double*
const Velocity(
const double T,
const double*
const X);
151 const virtual double*
PosCables (
const double T,
const double*
const X);
152 const virtual double* VelCables (
const double T,
const double*
const X);
182 double m_outerRadius;
198 double* m_CollarConnectVel;
199 int m_nCollarConnect;
200 ISignalPort ** m_CollarConnectExtForce;
202 double* m_NetRoofConnectPos;
203 double* m_NetRoofConnectVel;
204 int m_nNetRoofConnect;
205 ISignalPort ** m_NetRoofConnectExtForce;
236 const virtual double*
CollarConnectPos (
const double T,
const double*
const X,
int iCollarConnect);
237 const virtual double* CollarConnectVel (
const double T,
const double*
const X,
int iCollarConnect);
239 const virtual double* NetRoofConnectPos (
const double T,
const double*
const X,
int iNetRoofConnect);
240 const virtual double* NetRoofConnectVel (
const double T,
const double*
const X,
int iNetRoofCollarConnect);
242 Eigen::Matrix3d RotationMatrix(Eigen::Vector3d vector);
246#ifdef FH_VISUALIZATION
247 Ogre::SceneNode* m_RenderNode;
Definition CCylinder.h:81
double m_F_FK[5]
Pointer to marenv environment.
Definition CCylinder.h:225
void OdeFcn(const double T, const double *const X, double *const XDot, const bool IsMajorTimeStep)
Computes object derivatives as a function of time, states and input ports.
double m_F_hydTot[5]
Morison drag forces.
Definition CCylinder.h:228
double m_radius
Mass of the buoy.
Definition CCylinder.h:185
double m_g
Water density.
Definition CCylinder.h:219
double m_qVec[4]
Velocity of cable connectors (output variable)
Definition CCylinder.h:180
double m_Cd_xy
Offset length cable mounting.
Definition CCylinder.h:190
virtual const double * CollarConnectPos(const double T, const double *const X, int iCollarConnect)
Calculates rotation quaternion.
int m_PositionIndex
Input port. The external force from chains acting on the buoy.
Definition CCylinder.h:175
environment::EnvironmentProvider * m_Environment
Acceleration of gravity.
Definition CCylinder.h:222
double m_cog
Switch. 1 if linear dynamic (Froude-Kriloff) and linaer static pressure is to be used.
Definition CCylinder.h:195
double * m_CollarConnectPos
Center of gravity relative to base of cylindrical part of buoy.
Definition CCylinder.h:197
double m_rho
Moment of inertia in pitch and roll approximation (Faltinsen 1990, Sea Loads on Ships and Offshore St...
Definition CCylinder.h:218
double m_I4
Spring stiffness in pitch and roll.
Definition CCylinder.h:216
double m_b11
Added mass pitch and roll (Faltinsen 1990, Sea Loads on Ships and Offshore Structures)
Definition CCylinder.h:211
double m_F_visc[5]
Diffraction forces.
Definition CCylinder.h:227
double m_heightCone
Height (Total included cone) of the bouy.
Definition CCylinder.h:188
void ForcesHydrodynamic(const double T, const double *const X)
Froude-Kriloff and hydrostatic pressure forces summed over the wetted surface.
CCylinder(const string &simObjectName, ISimObjectCreator *const creator)
Reads parameters, registers states, input/output ports and shared resources.
double m_F_D[5]
Froude-Kriloff pressure forces.
Definition CCylinder.h:226
double m_a11
Coefficients.
Definition CCylinder.h:208
double m_linEqSwitch
Boolean. true if linear dynamic (Froude-Kriloff) and linaer static pressure is to be used.
Definition CCylinder.h:194
double m_heightTotal
Depth of tube in the water.
Definition CCylinder.h:187
double m_K3D
Drag coefficient sphere (z)
Definition CCylinder.h:192
double m_innerRadius
Rotation of buoy represented as a quaternion vector (matrix)
Definition CCylinder.h:181
double m_velCables[3]
Position of cable connectors (output variable)
Definition CCylinder.h:179
bool m_isLinEq
3D body reduction effect (viscous forces)
Definition CCylinder.h:193
ISignalPort * m_ForceCables
Output port. Returns current velocity.
Definition CCylinder.h:173
double m_a44
Added mass z-direction.
Definition CCylinder.h:210
double m_F_SumPress[5]
Total hydrodynamic forces.
Definition CCylinder.h:229
double m_offsetCables
Bottom cone height of the buoy.
Definition CCylinder.h:189
void RotationVector(const double T, const double *const X)
Froude-Kriloff and static pressure forces integrated over instantanous wetted surface.
int m_VelocityIndex
The index of the position state in the state array.
Definition CCylinder.h:176
double m_b33
Added mass x,y-direction.
Definition CCylinder.h:212
void ForcesPressureInt(const double T, const double *const X)
Hydrodynamic excitation forces.
double m_Cd_z
Drag coefficient circular cylinder (x,y)
Definition CCylinder.h:191
double m_c33
Potential damping in pitch and roll (Faltinsen 1990, Sea Loads on Ships and Offshore Structures)
Definition CCylinder.h:214
double m_c44
Spring stiffness z-direction.
Definition CCylinder.h:215
virtual const double * PosCables(const double T, const double *const X)
Output functions. Positions.
double m_posCables[3]
The index of the velocity state in the state array.
Definition CCylinder.h:178
const double *const Position(const double T, const double *const X)
Output port. Returns current position.
double m_depth
Radius of the buoy.
Definition CCylinder.h:186
double m_b44
Potential damping z-direction.
Definition CCylinder.h:213
double m_a33
Added mass x,y-direction.
Definition CCylinder.h:209
Class modelling a Net cage.
Definition CBottomRing.h:35