Marine systems simulation
Netcage::CFloatingCollar6DOF Class Reference
+ Inheritance diagram for Netcage::CFloatingCollar6DOF:
+ Collaboration diagram for Netcage::CFloatingCollar6DOF:

Public Member Functions

 CFloatingCollar6DOF (const string &simobjectname, ISimObjectCreator *const creator)
 The constructor sets the pointer to the output object and the parser object.
 
 ~CFloatingCollar6DOF ()
 Destructor. Deletes all dynamic allocated memory.
 
virtual void OdeFcn (const double T, const double *const X, double *const XDot, const bool IsMajorTimeStep)
 Ode Function. Calculates response for each time step.
 
- Public Member Functions inherited from Netcage::CFloatingCollar
 CFloatingCollar (const string &simObjectName, ISimObjectCreator *const creator)
 Reads parameters, registers states, input/output ports and shared resources. More...
 
virtual void FinalSetup (const double T, const double *const X, ISimObjectCreator *const pCreator)
 
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. More...
 
virtual const double * NetConnectPos (const double T, const double *const X, int iNetConnect)
 Output port. Returns position of indexed net connection point. More...
 
virtual const double * NetConnectVel (const double T, const double *const X, int iNetConnect)
 Output port. Returns velocity of indexed net connection point. More...
 
virtual const double * BRConnectPos (const double T, const double *const X, int iBRConn)
 Output port. Returns position of indexed bottom ring connection point. More...
 
virtual const double * BRConnectVel (const double T, const double *const X, int iBRConn)
 Output port. Returns velocity of indexed bottom ring connection point. More...
 
virtual const double * FastConnectPos (const double T, const double *const X, int iFastConn)
 Output port. Returns position of indexed bridle connection point. More...
 
virtual const double * FastConnectVel (const double T, const double *const X, int iFastConn)
 Output port. Returns velocity of indexed bridle connection point. More...
 
virtual const double * SkirtConnectPos (const double T, const double *const X, int iSkirtConn)
 Output port. Returns position of indexed skirt connection point. More...
 
virtual const double * SkirtConnectVel (const double T, const double *const X, int iSkirtConn)
 Output port. Returns velocity of indexed skirt connection point. More...
 
virtual const double * AddConnectPos (const double T, const double *const X, int iAddConn)
 Output port. Returns position of indexed additional connection point. More...
 
virtual const double * AddConnectVel (const double T, const double *const X, int iAddConn)
 Output port. Returns velocity of indexed additional connection point. More...
 
virtual const double * getVelLocalAHRS (const double T, const double *const X, int iPos)
 Output ports. For project: RACE - Anleggsintegritet.
 
virtual const double * getPosLocalOriginAHRS (const double T, const double *const X, int iPos)
 Velocity of point on floater in floater local coordinate system (beta,v,z) given by index iPos.
 
virtual const double * getVelGlobalAHRS (const double T, const double *const X, int iPos)
 Position of point on floater related to floater origin in floater local coordinate system (beta,v,z) given by index iPos.
 
virtual const double * getPosGlobalAHRS (const double T, const double *const X, int iPos)
 Velocity of point on floater in global coordinate system (x,y,z) given by index iPos.
 
virtual const double * NetConnectTotalForce (const double T, const double *const X)
 Position of point on floater in global coordinate system (x,y,z) given by index iPos. More...
 
virtual const double * FastConnectTotalForce (const double T, const double *const X)
 Output port. Returns total force transferred to collar from bridle connection points. More...
 
virtual const double * BRConnectTotalForce (const double T, const double *const X)
 Output port. Returns total force transferred to collar from bottom ring connection points. More...
 
virtual const double * SkirtConnectTotalForce (const double T, const double *const X)
 Output port. Returns total force transferred to collar from skirt connection points. More...
 
virtual const double * AddConnectTotalForce (const double T, const double *const X)
 Output port. Returns total force transferred to collar from additional connection points. More...
 
virtual const double * RBMxModalForcesFcn (const double T, const double *const X)
 Output port. Returns total force for rigid body motion in x direction. More...
 
virtual const double * SurfElevCenter (const double T, const double *const X)
 Output port. Returns surface elevation at the dynamic collar centre position. More...
 
virtual const double * SurfElev (const double T, const double *const X)
 Output port. Returns surface elevation at position specified by input parameter. More...
 
virtual const double * PartVel (const double T, const double *const X)
 Output port. Returns particle velocity at the x,y origin (0,0) More...
 
virtual const double * RingElevCenter (const double T, const double *const X)
 Output port. Returns floating collar elevation at the angular position pi/2. More...
 
virtual const double * RingElev (const double T, const double *const X)
 Output port. Returns floating collar elevation at the angular position given by the parameter RingElev_pos. More...
 
virtual const double * SigmarrFcn (const double T, const double *const X)
 Output port. Returns bending stress around the local y-axis at position given by the parameter BendingStress_pos. More...
 
virtual const double * RelDispZ (const double T, const double *const X)
 Output port. Returns relative vertical displacement between floating collar and surface at position given by the parameter RelDispZ_pos. More...
 
virtual const double * WaveInfo (const double T, const double *const X)
 Output port. Returns dynamic pressure at the x,y,z origin (0,0,0) More...
 
virtual const double * FloaterCenterPos (const double T, const double *const X)
 Output port. Returns the centre position of the floating collar See PortDefs.h. More...
 

Protected Member Functions

void ModalDiffractionForce (const double T, const double *const X, const int nMode, const int nElem)
 Functions.
 
void ModalFKForce (const double T, const double *const X, const int nMode, const int nElem)
 
- Protected Member Functions inherited from Netcage::CFloatingCollar
void NetConnectModalForces (const double T, const double *const X, int nMode)
 Modal force from additional connections.
 
void BRConnectModalForces (const double T, const double *const X, int nMode)
 
void FastConnectModalForces (const double T, const double *const X, int nMode)
 
void SkirtConnectModalForces (const double T, const double *const X, int nMode)
 
void AddConnectModalForces (const double T, const double *const X, int nMode)
 
void TensionForcesPiecewiseConstant (const double T, const double *const X)
 
void CosineSineFcn (int m, int n, double beta0, double beta1, int segments, double *fcnValue)
 
void SectionPositions (const double *const X)
 
double ModalBouyancyForce (int iMode)
 
double RadialPositionOrigin (const double *const X, double beta)
 Array with position in global coordinate system (x,y,z) (For comparison with AHRS data)
 
double RadialVelocity (const double *const X, double beta)
 Calculates radial displacement (positive inwards/toward center of floater).
 
void CalContactForce (const double T, const double *const X)
 Modal forces from contact.
 
void CalContactModalForce (const double T, const double *const X, int nMode)
 Calculate contact forces.
 
virtual const double * OutContactPosition (const double T, const double *const X)
 Calculate modal forces from contact.
 
virtual const double * OutContactForce (const double T, const double *const X)
 Output contact position.
 
double SectionPos (const double *const X, const double beta, const int iDOF, const double offset)
 Center position of ring (only x-pos; y and z equals zero)
 
void BesselFunc (double k, double R, int n, int i, int N)
 
void KnFunc (int n, int N)
 Value of Bessel functions of the first kind dependent on floater raduis, motion mode and wave number.
 
void AddMass33Fcn (double p, double c, double R, double Kn, int n)
 Integral value needed for calculation of each modal added mass.
 
void AddMass22Fcn (double p, double c)
 2D modal added mass of the floater section in heave. Dependent on motion mode number and geometry.
 
double TrapezeInt (double *fx, double *x, const int nElem, const int loop, const double xLoop)
 2D added mass of the floater section in surge. Independent of mode shape. Strip theory applied.
 
void FloaterSectPos (const double *const X, double beta, double radOffset, double *pos)
 Trapeze integration method.
 
void FloaterSectVel (const double *const X, double beta, double *vel)
 Return floater position (x,y,z) at position beta.
 
double StruveFunc (int n, double z)
 Return floater velocity (Ux,Uy,Uz) at position beta. More...
 
double KnFunc2 (int modenumber)
 The Struve function H_n(z)
 
std::complex< double > CnFunc (int modenumber, double wavenumber)
 Frequency dependent radiation coefficients in heave.
 
void RadiationForcesHeave (int modenumber, double wavenumber, int waveindex)
 Integral function needed for calculation of hydrodyn. radiation forces.
 

Protected Attributes

double m_F_Diffr [4]
 Variables.
 
double m_F_FK [4]
 Diffraction force in z-direction. Modal ~ cos(n*beta) and ~sin(n*beta).
 
int m_NCalcElem
 Froude-Kriloff forze in z-direction. Modal ~ cos(n*beta) and ~sin(n*beta).
 
- Protected Attributes inherited from Netcage::CFloatingCollar
int m_PositionIndex
 
int m_VelocityIndex
 The index of the position state in the state array.
 
int m_numElements
 The index of the velocity state in the state array.
 
CEnvironmentm_Environment
 Number of elements in visualization.
 
vector< double > m_omg
 Pointer to DeepSeaGravityWaves -> CEnvironment.
 
vector< double > m_zeta
 Wave frequency vector.
 
vector< double > m_waveDir
 Wave amplitude vector.
 
vector< double > m_phaseAngle
 Wave direction vector.
 
vector< double > m_waveNumber
 Wave phase angle vector.
 
double m_waveInfo [3]
 Vector containing wave numbers of all wave components. More...
 
double * m_NetConnectPos
 Water particle etc acceleration in (x,y,z)=(0,0,0)
 
double * m_NetConnectVel
 Position (x,y,z) of net connections to floater.
 
double * m_BRConnectPos
 Velocity (u,v,w) of net connections between floater and net.
 
double * m_BRConnectVel
 Position (x,y,z) of bottom ring cables connected to floater.
 
double * m_FastConnectPos
 Velocity (Ux,Uy,Uz) of floater section where bottom ring cables/chains/ropes are connected.
 
double * m_FastConnectVel
 Position (x,y,z) of anchor lines connections to floater.
 
double * m_SkirtConnectPos
 Velocity (Ux,Uy,Uz) of floater section where anchor lines are connected.
 
double * m_SkirtConnectVel
 Position (x,y,z) of permanent skirt connections to floater.
 
double * m_AddConnectPos
 Velocity (Ux,Uy,Uz) of floater section where skirt are connected.
 
double * m_AddConnectVel
 Position (x,y,z) of additional connections to floater.
 
double m_totalNetForce [3]
 Velocity (Ux,Uy,Uz) of floater section where additional connectors are connected.
 
double m_totalFastForce [3]
 Total force (x,y,z) subjected on floater from the net.
 
double m_totalBRForce [3]
 Total force (x,y,z) subjected on floater from fastening (bridle) connections.
 
double m_totalSkirtForce [3]
 Total force (x,y,z) subjected on floater from bottom ring connections.
 
double m_totalAddForce [3]
 Total force (x,y,z) subjected in floater from permanent skirt.
 
double m_RBMxModalForces [4]
 Total force (x,y,z) subjected in floater from additional connectors.
 
ISignalPort ** m_NetConnectExtForce
 Rigid body motion modal forces in x-direction. Bridle, Net, Bottom ring, Skirt.
 
ISignalPort ** m_BRConnectExtForce
 Signal port. Force from net connections on floater.
 
ISignalPort ** m_FastConnectExtForce
 Signal port. Force from bottom ring connections.
 
ISignalPort ** m_SkirtConnectExtForce
 Signal port. Force on floater from anchor lines.
 
ISignalPort ** m_AddConnectExtForce
 Signal port. Force on floater from permanent skirt.
 
double m_NetConnectModalForce [5]
 Signal port. Force on floater from additional connectors.
 
double m_BRConnectModalForce [5]
 Modal force from net connections.
 
double m_FastConnectModalForce [5]
 Modal force from bottom ring.
 
double m_SkirtConnectModalForce [5]
 Modal force from anchor-lines.
 
double m_AddConnectModalForce [5]
 Modal force from permanent skirt.
 
double m_surfElevCenter
 
double m_surfElev
 Wave elevation in dynamic center of the floater.
 
double m_partVel [3]
 Surface elevation in x=y=0. For verification purposes.
 
double m_ringElevCenter
 Particle velocity in x=y=0 for verification purposes.
 
double m_ringElev
 Elevation of ring in center (beta = pi/2). Used to validate m_surfElevCenter.
 
double m_ringElevBeta
 Ring elevation/vertical displacement at chosen position beta.
 
double m_sigmarr
 Position at which elevation/vertical displacement of floater is calculaleted.
 
double m_sigmarrBeta
 Bending stress around the local y-axis (r-axis) at a specified position.
 
double m_relDispZ
 Position at which bending stress is calculated.
 
double m_relDispZBeta
 Relative vertical displacement between floater section center and surface at position beta.
 
double m_floaterCenterPos [3]
 Position at which relative motion is evaluated.
 
int m_nT
 Center position of floater.
 
double * m_T
 
double * m_TTheta
 
double *** m_TCosCosInt
 
double *** m_TSinSinInt
 
double *** m_TCosSinInt
 
double *** m_TSinCosInt
 
int m_nPortsAHRS
 RACE.
 
double * m_betaAHRS
 
double * m_velLocalAHRS
 Position of observation ports in local coordinates (beta) (For comparison with AHRS data)
 
double * m_posLocalOriginAHRS
 Array with velocity in local coordinate system (beta*R,v,z) (For comparison with AHRS data)
 
double * m_velGlobalAHRS
 Array with position in local coordinate system (beta*R,v,z) (For comparison with AHRS data)
 
double * m_posGlobalAHRS
 Array with velocity in global coordinate system (x,y,z) (For comparison with AHRS data)
 
int m_NumConPoint
 Contact. More...
 
Contact::ContactObject m_Vessel
 Number of discretized points for contact detection.
 
double m_UpdateDT
 External object involved in contact.
 
double m_UpdateNT
 
double m_ContactBeta
 
double m_ContactPos [3]
 Position at contact (angle)
 
double m_ContactForce [6]
 Position at contact.
 
double m_ContactModalForce [5]
 Contact forces.
 
double m_mass2D
 Contact. More...
 
double m_p
 2D (mass per meter) of the floater
 
double m_dNetPos
 Half distance between center of the pipes.
 
double m_nPipes
 Radial offsett of net position. 0 equals center of inner pipe. Positive inwards.
 
double m_c
 Equals 1 for one-pipe floater. Equals 2 for two-pipe floater. Default value 2.
 
double m_bw
 Floater pipe radius.
 
double m_R
 2D water plane area [m]
 
double m_E
 Floater radius. From center of coordinate system to center between the two pipes.
 
double m_Ir
 Modulus of elasticity of floater material.
 
double m_Iz
 2nd area moment of the floater section for bending around the horizontal r-axis
 
double m_Im_z
 2nd area moment of the floater section for bending around the z-axis
 
double m_tWall
 Moment of inertia around the z-axis.
 
double m_DampFact
 Pipe wall thickness.
 
int m_NModes
 Damping. Level of critical damping for each mode.
 
double m_Ux
 Number of modes in the modal analysis.
 
double m_Uy
 Current velocity in x-direction.
 
double m_Udir
 Current velocity in y-direction.
 
double m_U
 Current direction in global coordinates.
 
double m_CD
 Current velocity (absolute value)
 
double m_CDt
 Drag coefficient pipe.
 
double m_F_Ux
 Tangential drag coefficient pipe.
 
double m_g
 Modal water current force in x-direction.
 
double m_RhoWater
 Acceleration of gravity.
 
double m_initPos [3]
 Sea water density.
 
double kRadSpring
 Initial position of floater in (x,y,eta6). x-ccord., y-coord. and rotaion (yaw) angle.
 
double RadSpringOn
 Radial spring stiffness. Dummy point load to simulate mooring lines.
 
double WaveCouplingOn
 Radial spring on or off. 1=on, 0=off.
 
double PosRadSpring [4]
 Coupling between horizontal and vertical displacement in terms of taking horizontal rigid body motion into account when calculating vertical and horizontal wave forces. 1=on, 0=off.
 
double ModalSpringForce
 Position of radial springs.
 
double DeltaL_RadSpring [4]
 Modal spring force.
 
double * m_b22
 Displacement at attachment point for radial springs.
 
double * m_b22_visc
 Structural damping in sway.
 
double * m_c22
 Linearized viscous damping (Morison drag) in sway.
 
double ** m_b33
 Structural stiffness in sway.
 
double * m_b33_visc
 Damping in heave (structural)
 
double m_b66_visc
 Linearized viscous damping (Morison drag) in heave.
 
double * m_c33
 Viscous damping for yaw motin (rotation around z-axis)
 
double * m_Kn
 Stiffness, hydrostatic and structural.
 
double ** m_a33
 
double m_a22_lim
 2D modal added mass for the floater in heave (z-direction)
 
double m_a22_Inf
 2D added mass for the floater in surge (x-direction)
 
double m_a22_Unity
 2D added mass for the floater in surge (x-direction)
 
bool m_viscOn_b22
 2D added mass for the floater in surge (x-direction)
 
bool m_viscOn_b33
 Boolean. True means viscous damping is activated.
 
bool m_nLinOn_b22
 Boolean. True means viscous damping is activated.
 
bool m_nLinOn_b33
 Boolean. True means non-linear damping is activated.
 
double m_viscAmp_b22
 Boolean. True means non-linear damping is activated.
 
double m_viscAmp_b33
 Viscous damping multiplying/amplifying factor.
 
double m_b22_nLinOn
 Viscous damping multiplying/amplifying factor.
 
double m_b33_nLinOn
 Value set to 1 or 0. 1 Imply that non-linear damping is activated.
 
double m_Iz_parAxFact
 Value set to 1 or 0. 1 Imply that non-linear damping is activated.
 
double m_EIr
 Factor for strength of parallel axis theorem (2nd area moment/bending stiffness). Valid values range from 0 to 1. 0 meaning that the pipes are freely floating inside the clamps. 1 means the pipes are welded tight to the clamps.
 
double m_EIz
 Bending stiffness of floater section for bending around the horizontal r-axis.
 
double m_Axy
 Bending stiffness of floater section for bending around the z-axis.
 
double m_ForceFactor
 Area of submerged pipe (section) per meter.
 
double m_MassFactor
 
double EXP_OMG_T_33_COS
 
double EXP_OMG_T_33_SIN
 Time dependency of excitation forces in heave for mode cos(n*beta). Proportinal to sin(Omg*T).
 
double EXP_OMG_T_22_COS
 Time dependency of excitation forces in heave for mode sin(n*beta). Proportinal to sin(Omg*T).
 
double EXP_OMG_T_22_SIN
 Time dependency of excitation forces for horizontal deformation for mode cos(n*beta). Proportinal to sin(Omg*T).
 
int nWaveFreq
 Time dependency of excitation forces for horizontal deformation for mode sin(n*beta). Proportinal to sin(Omg*T).
 
double ** m_Bessel
 
int m_nNetConnect
 
int m_nBRConnect
 number of net connections
 
int m_nFastConnect
 Number of bottom ring connections.
 
int m_nSkirtConnect
 Number of anchoring connections on the floater.
 
int m_nAddConnect
 Number of skirt (permanent) connections.
 
double * m_netConnectBeta
 Number of additional connectors/fastening points on floating collar.
 
double * m_BRConnectBeta
 Position of net connections. Array containing angles in local coordinate system.
 
double * m_FastConnectBeta
 Position of bottom ring connections. Array containing angles in local coordinate system.
 
double * m_SkirtConnectBeta
 Position of anchoring connections. Array containing angles in local coordinate system. Initial values.
 
double * m_AddConnectBeta
 Position of skirt connections. Array containing angles in local coordinate system.
 
double m_mModal
 Position of additional connections. Array containing angles in local coordinate system.
 
double ** m_sectPos
 2D modal floater ring mass.
 
double m_NetForcesOn
 
double m_NetForcesStart
 
double m_modMassOn
 
double m_yawCorrOn
 
double m_CurrSurfVel [3]
 
double m_posRingCent [3]
 Current velocity in center of ring.
 
double * m_a33f
 Sum of infinite series.
 
double m_b33f
 

Additional Inherited Members

- Protected Types inherited from Netcage::CFloatingCollar
typedef Eigen::Matrix< double, 2, 2 > mat2
 
typedef Eigen::Matrix< double, 2, 1 > cvec2
 

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