FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches

Class containing a cable with six degrees of freedom.

+ Collaboration diagram for 6 DOF cable:
Author
Jørgen Haavind Jensen
Date
21.06.2011 JHJ: Initial version.

Hydrodynamics

The simulation must include an Environment (fhsim_environment): a model without one is a setup error (MARE-0315). Each element is a cylinder loaded by the water on its wet part, as RbCable/Cable loads it (wet_cylinder_water::FixedDragLoadOnElement, the wet-cylinder law of fhsim_environment, MARE-0227, MARE-0315):

The other objects' wakes are taken once per integrator step, in PreOdeFcn, at the element centres of the step start and held for the step, at the non-casting cutoff tier; the current and the waves stay live (ExternalWakeUpdate, fhsim_environment's ElementFlowInteraction, MARE-0223).

With gaussPointDrag (MARE-0396) the water is taken at the two Gauss points of each element (2 numElements points, the wakes too) and the drag is that at them, so that an element turning about a normal axis gets a drag moment (wet_cylinder_water::ElementGaussPoints, environment::wet_cylinder::GaussPointDragLoad). The centre is not queried.

Example configuration excerpt

<Lib
LibName = "marine_elements"
SimObject = "RbCable/6DofCable"
Name = "C"
Length = "20"
numElements = "7"
Alpha = "1.0"
Beta = "1.0"
Epsilon = "0.0001"
Weight = "200"
Radius = "0.01"
Damping_Tangential = "0.01"
Damping_Normal = "1.2"
/>

Input Ports

Name Width Description
posA 3 Position of end point A.
posB 3 Position of end point B.
velA 3 Velocity of end point A.
velB 3 Velocity of end point B.

Output Ports

Name Width Description
forceA 3 The force acting on end point A.
forceB 3 The force acting on end point B.

Configuration parameters

Name Width Description
Length 1 Length of cable
numElements 1 Number of internal mass elements.
Alpha 1 ...
Beta 1 ...
Epsilon 1 ...
Weight 1 Weight of the cable.
Radius 1 Radius of the cable.
Damping_Tangential 1 Tangential damping coefficient.
Damping_Normal 1 Normal damping coefficient.
ExternalWakeUpdate 1 How the other objects' wakes reach the element centres; listed in fhsim_environment's doc/user/wake-parameters.md. (Default: Step)
gaussPointDrag 1 Boolean. Takes the water and the drag at the two Gauss points along each element, so that an element turning about a normal axis gets a drag moment (MARE-0396). Off: the drag on the water at the element centre (Default: true; owner ruling 2026-10-22)

Initial conditions

Name Width Description
pos<i> 3 Position of point \(i \in {0\cdots\text{numElements}-1}\).
vel<i> 3 Velocity of point \(i \in {0\cdots\text{numElements}-1}\).
theta<i> 4 Orientation in quaternion of point \(i \in {0\cdots\text{numElements}-1}\)..
omega<i> 3 Angular velocity in rad per second of point \(i \in {0\cdots\text{numElements}-1}\)..

Full example file

<Contents>
<OBJECTS>
<Lib
LibName="environment"
SimObject="Environment"
Name="Env"
Waves.Model="Component"
Waves.NumWaves="0"
Bathymetry.Depth="500"
Current.Model = "Constant"
Current.Vector = "1,0,0"
/>
<Lib
LibName = "marine_elements"
SimObject = "RbCable/6DofCable"
Name = "C"
Length = "20"
numElements = "7"
Alpha = "1"
Beta = "1"
Epsilon = "1e-6"
Weight = "200"
Radius = "0.01"
Damping_Tangential = "0.01"
Damping_Normal = "1.2"
/>
</OBJECTS>
<INTERCONNECTIONS>
<Connection
C.posA = "0,0,0"
C.posB = "0,0.1,5.0"
C.velA = "0,0,0"
C.velB = "0,0,0"
/>
</INTERCONNECTIONS>
<INITIALIZATION>
<InitialCondition
/>
</INITIALIZATION>
<SIMULATION>
<Timing TStart="0" TEnd="10"/>
<Integrator Method="RK45_i" NumCores="1" LogStates="0" UseRSSNorm="0">
<StepControl Step="1e-4" StepMax="100" StepMin="1e-6" AbsTol="1e-7" RelTol="1e-7"/>
</Integrator>
<!-- TODO migrate_v3: FileOutput="objects:states" -> configure via <OBSERVERS> section -->
</SIMULATION>
</Contents>