Class containing a cable with six degrees of freedom.
- 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 (ElementWaterLoad.h, MARE-0227, MARE-0315):
- the wet fraction f of the element against the wave surface over its two ends; a dry element has no water load (the air is not modelled), and an element whose centre is at the surface is half wet;
- the buoyancy \(\rho g f \pi r^2 L\);
- the drag on the velocity relative to the environment's particle velocity at the element's centre (current, waves and wakes), \(-\rho r L f (\pi C_t |V_t| V_t + C_n |V_n| V_n)\) with the tangential and normal parts of the relative velocity as vectors, so it does not depend on the orientation of the global axes;
- in waves the Froude-Krylov force \(\rho f \pi r^2 L\, a_n\) normal to the axis, from the mean wave acceleration at the element's ends. There is no added mass in the elements' inertia (MARE-0314).
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. |
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>
</SIMULATION>
</Contents>