Marine systems simulation
CCableElBasics Class Reference

Class containing a fundamental cable element object. More...

#include <CCableElBasics.h>

+ Inheritance diagram for CCableElBasics:
+ Collaboration diagram for CCableElBasics:

Public Member Functions

 CCableElBasics ()
 The constructor.
 
 ~CCableElBasics ()
 The destructor.
 
virtual void AddEndForces (const double adPosA[3], const double adVelA[3], const double adPosB[3], const double adVelB[3], const double adFluidVel[3], const double dRhoWater, double adForceA[3], double adForceB[3])
 Calculates the end forces on the cable element.
 
virtual void SetConstants ()
 Calculates parameters and sets physical constants. More...
 
virtual void CalcMassAndWeight ()
 Calculates the mass and weight of the element in water. More...
 
virtual bool CheckAndInitialize ()
 Does the initialization and checking to make sure that the element is ready for simulation. More...
 
virtual void UpdateLength (double dNewLength)
 Upates the length of the cable element, and its dependant properties.
 
double GetLength ()
 

Public Attributes

unsigned long m_iID
 The ID of the element.
 
std::string m_sCableName
 The name of the parent cable.
 
double m_dL0
 The relaxed length of the element.
 
double m_dD
 The diameter of the element.
 
double m_dE
 The Young modulus of the element.
 
double m_dRho
 The density of the element material.
 
double m_dAddedWeightInWater
 The weight in water added to the element.
 
double m_dTangentialFrictionCoeff
 The tangential drag coefficient of the cable element.
 
double m_dNormalDragCoeff
 The normal drag coefficient of the cable element.
 
double m_dRhoWater
 The density of the surrounding water.
 
double m_dMinLength
 The minimum length of the element.
 
double m_dMaxTension
 The maximum tension in the element.
 
double m_dDampingRatio
 The relative damping ratio of the cable.
 
double m_dEA
 The linear stiffness of the element.
 
double m_dA
 The cross sectional area of the cable.
 
double m_adWeightInWater [2]
 The weight in water distributed to each node.
 
double m_adMassInWater [2]
 The mass in water distributed to each node.
 
double m_adWeightInWaterPerMeter [2]
 The weight in water distributed to each node, per meter cable.
 
double m_adMassInWaterPerMeter [2]
 The mass in water distributed to each node, per meter cable.
 

Protected Member Functions

void CalcFoundation (const double adPosA[3], const double adVelA[3], const double adPosB[3], const double adVelB[3], const double adFluidVel[3], const double dRhoWater)
 
virtual void AddStructuralForces (double adForceA[3], double adForceB[3])
 Adds the forces from tension and internal damping to the nodes. CalcFoundation must be run first. More...
 
void AddGravityBuoyancy (double adForceA[3], double adForceB[3], const double adPosA[3], const double adPosB[3])
 Adds the forces from gravity and buoyancy to the nodes. CalcFoundation must be run first.
 
void AddHydroForcesCable (double adForceA[3], double adForceB[3])
 Calculates the hydrodynamic forces on the cable and the spheres and disks attached to it. CalcFoundation must be run first.
 

Protected Attributes

double ma_adDirection [3]
 Memory allocation to increase the computational efficiency.
 
double ma_dDampingCoeff
 A intermediate damping calculation to increase the computational efficiency.
 
double ma_adVel [3]
 The average hydrodynamic velocity of the element.
 
double ma_dVelAmp
 The scalar average hydrodynamic velocity of the element.
 
double ma_adVt [3]
 The average tangential hydrodynamic velocity of the element.
 
double ma_dVtAmp
 The scalar average tangential hydrodynamic velocity of the element.
 
double ma_adVn [3]
 The average normal hydrodynamic velocity of the element.
 
double ma_dVnAmp
 The scalar average normal hydrodynamic velocity of the element.
 
double ma_adVn_A [3]
 The hydrodynamic normal velocity of the end A.
 
double ma_adVn_B [3]
 The hydrodynamic normal velocity of the end B.
 
double ma_dVnAmp_A
 The scalar hydrodynamic normal velocity of the end A.
 
double ma_dVnAmp_B
 The scalar hydrodynamic normal velocity of the end B.
 
double ma_dLength
 The actual distance between the ends.
 
double ma_dCompressionSpeed
 The speed at which the distance between the two ends decreases.
 
double ma_dTangentialDragFactor
 A factor used when calculating the tangential drag force.
 
double ma_dNormalDragFactor
 A factor used when calculating the normal drag force.
 

Detailed Description

Author
Karl-Johan Reite

Member Function Documentation

◆ AddStructuralForces()

virtual void CCableElBasics::AddStructuralForces ( double  adForceA[3],
double  adForceB[3] 
)
protectedvirtual

Reimplemented in CCableElDynStiff.

◆ CalcFoundation()

void CCableElBasics::CalcFoundation ( const double  adPosA[3],
const double  adVelA[3],
const double  adPosB[3],
const double  adVelB[3],
const double  adFluidVel[3],
const double  dRhoWater 
)
protected

Calculates the member variables used for increased computational efficiency, and must be run before any further calculations.

◆ CalcMassAndWeight()

virtual void CCableElBasics::CalcMassAndWeight ( )
virtual

◆ CheckAndInitialize()

virtual bool CCableElBasics::CheckAndInitialize ( )
virtual

◆ SetConstants()

virtual void CCableElBasics::SetConstants ( )
virtual

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