|
|
| CableElDynStiff () |
| | The constructor.
|
| |
|
| ~CableElDynStiff () |
| | The destructor.
|
| |
| virtual bool | CheckAndInitialize () |
| | Does the initialization and checking to make sure that the element is ready for simulation.
|
| |
|
virtual void | UpdateLength (double newLength, double step, bool forceUpdate=false) |
| | Updates the length of the cable element, and its dependant properties.
|
| |
|
void | UpdateMeanTension (double step) |
| | Updates the mean tension of the cable element.
|
| |
| void | UpdateMeanTensionAt (const double adPosA[3], const double adPosB[3], double step) |
| |
|
double | GetEFactor () const |
| | Returns the current stiffness reduction factor (1 = full stiffness, <1 = reduced for numerical stability).
|
| |
| 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.
|
| |
|
| CableElBasics () |
| | The constructor.
|
| |
|
| ~CableElBasics () |
| | 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 rhoWater, double adForceA[3], double adForceB[3]) |
| | Calculates the end forces on the cable element.
|
| |
| virtual void | SetConstants () |
| | Calculates parameters and sets physical constants.
|
| |
| virtual void | CalcMassAndWeight () |
| | Calculates the mass and weight of the element in water.
|
| |
|
double | GetDampingCoeff () const |
| | Returns the structural damping coefficient (negative value: -2*dampRatio*area*sqrt(E*rho)).
|
| |
|
virtual void | UpdateLength (double newLength) |
| | Upates the length of the cable element, and its dependant properties.
|
| |
|
double | GetLength () |
| |
| void | SetSurfaceElevation (double etaA, double etaB) |
| |
| virtual double | SurfaceHalfSize () const |
| | The half-size the surface gate needs: the element's radius; larger with floats (NetCableElement).
|
| |
| void | SetWaveAcceleration (const double acceleration[3]) |
| |
|
double | InertiaShare () const |
| | The inertia force factor of one end node: half of (1 + Ca) rho V f (environment::cylinder_hydro::InertiaForceFactor).
|
| |
| void | WaveExcitationPositionJacobian (const double posA[3], const double posB[3], const double acceleration[3], double dF_dpB[9]) const |
| |
|
|
double | m_maxStep |
| | The maximum step of the integration routine.
|
| |
|
double | m_meanTension |
| | The mean tension of the cable element.
|
| |
|
double | m_eAdaptationPeriod |
| | The time constant of the adaptation of the mean tension.
|
| |
|
double | m_stepSafetyFactor |
| | The safety factor when calculating the Young modulus of the element.
|
| |
|
unsigned long | m_iD |
| | The ID of the element.
|
| |
|
std::string | m_cableName |
| | 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_rho |
| | The density of the element material.
|
| |
|
double | m_addedWeightInWater |
| | The weight in water added to the element.
|
| |
|
double | m_tangentialFrictionCoeff |
| | The tangential drag coefficient of the cable element.
|
| |
|
double | m_normalDragCoeff |
| | The normal drag coefficient of the cable element.
|
| |
|
double | m_rhoWater |
| | The density of the surrounding fluid: the water density blended with the air density by the submerged fraction (CalcFoundation).
|
| |
|
double | m_rhoAir = 1.2 |
| | The air density, kg/m³; the owner sets the environment's (cable_air::EnvironmentAirDensity, owner ruling R65).
|
| |
|
double | m_minLength |
| | The minimum length of the element.
|
| |
|
double | m_maxTension |
| | The maximum tension in the element.
|
| |
|
double | m_dampingRatio |
| | The relative damping ratio of the cable.
|
| |
|
double | m_eA |
| | The linear stiffness of the element.
|
| |
|
double | m_dA |
| | The cross sectional area of the cable.
|
| |
|
double | m_weightInWater [2] |
| | The weight in water distributed to each node.
|
| |
|
double | m_massInWater [2] |
| | The mass in water distributed to each node.
|
| |
|
double | m_weightInWaterPerMeter [2] |
| | The weight in water distributed to each node, per meter cable.
|
| |
|
double | m_massInWaterPerMeter [2] |
| | The mass in water distributed to each node, per meter cable.
|
| |
|
|
double | ma_dEps |
| | The stretching of the cable.
|
| |
|
double | m_eFactor |
| | The factor multiplied by the Young modulus.
|
| |
|
double | m_meanTensionDamp |
| | The damping of the development of the mean tension.
|
| |
|
double | ma_adMeanTensionForceA [3] |
| |
|
double | ma_dAdaptationDamping |
| |
|
sfh::filters::PID | m_MeanTensionController |
| |
|
double | m_surfaceElevation [2] = {0.0, 0.0} |
| | η above the ends [m] (SetSurfaceElevation).
|
| |
|
double | m_submergence [2] = {1e10, 1e10} |
| | z + η at the ends at the last CalcFoundation [m]; deep before the first.
|
| |
|
double | m_axisVertical = 0.0 |
| | The vertical component of the unit axis A→B at the last CalcFoundation.
|
| |
|
double | m_wetFraction = 1.0 |
| | The element's wet fraction at the last CalcFoundation (CylinderWetFraction).
|
| |
|
double | m_rhoWaterFull = 1025.0 |
| | The water density the owner passed, unblended [kg/m³].
|
| |
|
double | m_waveAcceleration [3] = {0.0, 0.0, 0.0} |
| | The water particle acceleration at the element (SetWaveAcceleration) [m/s²].
|
| |
|
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.
|
| |
|
| static constexpr double | kAddedMassCoefficient = environment::cylinder_hydro::kCylinderAddedMassCoefficient |
| |
| virtual bool | AppendagesNearTheSurface () |
| | True when a float on the element is near the surface, so its weight must be recomputed every call; none here.
|
| |
|
void | AddWaveExcitationCable (double adForceA[3], double adForceB[3]) const |
| | Adds the rope's Froude-Krylov and added-mass wave excitation (owner rulings R67, R104). CalcFoundation must be run first.
|
| |
| void | CalcFoundation (const double adPosA[3], const double adVelA[3], const double adPosB[3], const double adVelB[3], const double adFluidVel[3], const double rhoWater) |
| |
|
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.
|
| |
| void CableElDynStiff::UpdateMeanTensionAt |
( |
const double |
adPosA[3], |
|
|
const double |
adPosB[3], |
|
|
double |
step |
|
) |
| |
Advances the mean tension from the element's end positions at the start of an integrator step.
The dynamic-stiffness mean tension is a per-step filter (owner ruling R64, MARE-0224): the owner calls this from PreOdeFcn with the accepted state, and the right-hand side only reads it, so every evaluation of a step (RK stages, Jacobian columns) sees the same mean tension. Does nothing when m_eAdaptationPeriod is 0.
- Parameters
-
| adPosA | The position of end A at the step start [m]. |
| adPosB | The position of end B at the step start [m]. |
| step | The time since the previous call [s]. |