Class containing a cable element object, allowing for disks and spheres to be connected.
More...
|
|
| NetCableElement (const NetCableElement *old) |
| |
|
| NetCableElement (const NetCableElementSpec *spec) |
| |
|
void | AddEndForces (double deltaT, 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], bool isScreen=false) |
| |
| void | SetConstants () |
| | Calculates parameters and sets physical constants.
|
| |
| void | CalcMassAndWeight () |
| | Calculates the mass and weight of the element in water.
|
| |
|
bool | Divide (int aiNodes[2], int newNode, int newElementID, NetCableElement **sNewCable) |
| | Divides the element in two.
|
| |
| bool | CheckAndInitialize () |
| | Does the initialization and checking to make sure that the element is ready for simulation.
|
| |
|
void | DeleteSpheresAndDisks () |
| |
|
void | AddSpheres (double *adD, double *adMass, double *adPos, std::vector< std::string > VsSphereMaterial, unsigned int num) |
| |
|
void | AddDisks (double *adD, double *adThickness, double *adMass, double *adPos, std::vector< std::string > VsDiskMaterial, unsigned int num) |
| |
|
double | GetStrainEnergy (double deltaT, const double adPosA[3], const double adVelA[3], const double adPosB[3], const double adVelB[3], const double adFluidVel[3], const double rhoWater) |
| |
| void | StrainEnergyGradient (const double adPosA[3], const double adPosB[3], double gradA[3], double gradB[3]) const |
| |
| double | GetEffectiveStiffness () const |
| |
|
double | GetMeanTensionForce () const |
| | The mean-tension part of the axial force, (1 − eFactor) · mean tension [N]; constant within a step (owner ruling R64).
|
| |
| double | GetEffectiveDamping () const |
| |
| double | GetTangentialDragFactor () const |
| |
|
double | GetNormalDragFactor () const |
| | Normal drag prefactor (= ma_dNormalDragFactor).
|
| |
| double | SurfaceHalfSize () const override |
| | The largest of the element's and its floats' half-sizes, for the surface gate (R66).
|
| |
|
| CableElDynStiff () |
| | The constructor.
|
| |
|
| ~CableElDynStiff () |
| | The destructor.
|
| |
|
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.
|
| |
|
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) |
| |
| 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_nodeOffset |
| | The offset between the original nodes of the added node of this cable.
|
| |
|
int | m_fromNodes [2] |
| | The nodes which this cable is constructed by dividing.
|
| |
|
int | m_conn [2] |
| | The node numbers that the element is connected to.
|
| |
|
double | m_refineFactor |
| | The factor telling how much mesh refinement is desired for this element.
|
| |
|
unsigned int | m_numSpheres |
| | The number of spheres connected.
|
| |
|
double * | m_sphereD |
| | The diameter of the connected spheres.
|
| |
|
double * | m_sphereMass |
| | The mass of the connected spheres.
|
| |
|
double * | m_spherePos |
| | The position of the connected spheres.
|
| |
|
unsigned int | m_numDisks |
| | The number of disks connected.
|
| |
|
double * | m_diskD |
| | The diameter of the connected disks.
|
| |
|
double * | m_diskThickness |
| | The thickness of the connected disks.
|
| |
|
double * | m_diskMass |
| | The mass of the connected disks.
|
| |
|
double * | m_diskPos |
| | The position of the connected disks.
|
| |
|
double | m_addedWeightInWater |
| | The weight in water added to the element.
|
| |
|
std::vector< std::string > | m_VsDiskMeshName |
| | The names of the materials of the attached disks.
|
| |
|
std::vector< std::string > | m_VsSphereMeshName |
| | The names of the materials of the attached spheres.
|
| |
|
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.
|
| |
|
| bool | AppendagesNearTheSurface () override |
| | True while a float may be at the surface (R66).
|
| |
|
double | SphereWetFraction (unsigned int i) const |
| | The wet fraction of sphere i, its own cap at its position (R66).
|
| |
|
double | DiskWetFraction (unsigned int i) const |
| | The wet fraction of disk i (R66).
|
| |
|
void | AddWaveExcitation (double adForceA[3], double adForceB[3]) const |
| | Adds the Froude-Krylov and added-mass wave excitation of the element (normal to it, R108) and its floats (the full acceleration) (R67).
|
| |
|
void | AddHydroForcesAppendices (double adForceA[3], double adForceB[3]) |
| | Calculates the hydrodynamic forces on spheres and disks attached to the cable.
|
| |
|
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.
|
| |
|
|
bool | m_appendagesWereNearTheSurface = false |
| | AppendagesNearTheSurface at the last call.
|
| |
|
double | m_dragCoeffSphere |
| | The drag coefficient of a sphere.
|
| |
|
double | m_normalDragCoeffDisk |
| | The normal drag coefficient of a disk.
|
| |
|
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.
|
| |