|
FhSim
3.1.0
Marine systems simulation
|
Lumped mass cable pendulum with drag.
Collaboration diagram for Cable pendulum:CablePendulum is a pendulum described by a cable and a ball assumed to be suspended in water. It makes use of the environment's current. The water density Rho (default 1025 kg/m^3) sets the buoyancy and drag of the cable and the ball; the ball's drag is environment::sphere_hydro's quadratic law ½ ρ C_d π R² |u| u on the flow u relative to the ball, with C_d = BallDragCoefficient (default 0.5). The cable's drag follows the independence principle (owner decision 2026-10-04, BASE-0077), fhsim_environment cylinder_hydro::DragForce: per length the normal drag ½ ρ D Cd |v_n| v_n and the axial skin friction ½ ρ D Ct |v_t| v_t, half of each segment on each node, Cd and Ct of the cable's Reynolds numbers (cross-flow |v_n| D / ν and total-speed |v| D / ν, ν = 1.005e-6 m²/s). It was ½ ρ D |v| (1.1 v_n + 0.1 v_t).
With CastWake the ball casts a lumped wake that the other objects feel, through an environment::wake::BodyFlowInteraction and an environment::sphere_hydro::SphereCaster (fhsim_environment ADR 0002). The ball reads its own water velocity through it: the current with every other object's wake, never its own, plus the waves. The ball meets the other objects' wakes with or without CastWake. The cable casts nothing (owner ruling 2026-10-04); its segments read the current and the waves live and the other objects' wakes once per step at their midpoints (fhsim_environment's ElementFlowInteraction, fhsim_marine_elements MARE-0223), received as the ball: never the ball's own wake, at the ball's cutoff tier (its WakeCutoff with CastWake) and with the ball's ExternalWakeUpdate (fhsim_environment ENV-0110).
OdeJacobian differentiates the cable's spring, damper and drag forces and the ball's drag with respect to the node and ball positions and velocities. The environment's current is taken as given where it is read; its variation with position is not differentiated.
| Name | Width | Description |
|---|---|---|
| SuspensionPos | 3 | Position of suspension end. |
| SuspensionVel | 3 | Velocity of suspension position. |
| Name | Width | Description |
|---|---|---|
| MidpointPosition | 3 | Midpoint between suspension and ball, along cable (perhaps interpolated). |
| BallPosition | 3 | The position of the centroid of the ball. |
| MidpointPosition | 3 | Midpoint between suspension and ball along cable and perhaps interpolated. |
| BallVelocity | 3 | The linear velocity of the ball. |
| BallWaterVelocity | 3 | Water velocity at the ball: the current with the other objects' wakes (never the ball's own) plus the waves [m/s]. |
| Name | Width | Description |
|---|---|---|
| BallRadius | 1 | Radius of the ball [meter]. |
| BallDensity | 1 | Density of the ball [kg/m^3]. |
| CableDiameter | 1 | Diameter of the cable [meter]. |
| CableDensity | 1 | Density of the cable [kg/m^3]. |
| CableLength | 1 | Length of the cable [m]. |
| CableModulus | 1 | Modulus of elasticity in giga pascal (1e9) [GPa]. |
| InternalPoints | 1 | Number of internal mass points in the cable [-]. |
| Rho | 1 | Water density [kg/m^3], > 0. (Default: 1025) |
| BallDragCoefficient | 1 | Drag coefficient C_d of the ball on its frontal area π R² [-], >= 0. (Default: 0.5) |
| CastWake | 1 | The ball casts a lumped wake; the other wake parameters (Wake*, ExternalWakeUpdate) are listed in fhsim_environment's doc/user/wake-parameters.md. (Default: false) |
By specifying no initial conditions, the end points are being used to calculate the catenary. Note that this will fail if the distance between the end points is greater than the cable length, or if the points have the same north and east components (hanging straight down). Otherwise, it is possible to specify each and every point's position and velocity:
| Name | Width | Description |
|---|---|---|
| Position1 .. Position<InternalPoints> | 3 | Position of internal point i, 1-based and without brackets (Position3 is the third point). |
| Velocity1 .. Velocity<InternalPoints> | 3 | Velocity of internal point i, 1-based and without brackets. |
| BallPosition | 3 | Position of ball. |
| BallVelocity | 3 | Velocity of ball. |
This SimObject is referred to as Adaptive/CablePendulum