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

Hydrodynamic cable with gravity, buoyancy, drag. Mass-lumped.

+ Collaboration diagram for Hydro Cable:

HydroCable is a SimObject that models a simple mass-lumped hydrodynamic cable completely submerged in water. The cable is under the influence of gravity, buoyancy, and hydrodynamic drag. The SimObject is primarily created to illustrate the use of KalmanObject in FhSim, so the implementation is not optimized. It is assumed that the water density is 1000 and that the drag coefficient (for Morison drag) is 1.1 perpendicular to a line segment and 0.1 along it.

OdeJacobian differentiates the spring, damper and drag forces with respect to the node positions and velocities; the Current input is taken as given.

Author
Joakim Haugen

Example configuration excerpt

<Lib
LibName = "fhsim_base"
SimObject = "Example/HydroCable"
Name = "Cable"
Diameter = "0.02"
Density = "2000"
Modulus = "20"
Length = "20"
InternalPoints = "7"
/>
...
<Connection
Cable.PositionA = "0,0,0"
Cable.PositionB = "Ball.Position"
Cable.VelocityA = "0,0,0"
Cable.VelocityB = "Ball.Velocity"
Cable.Current = "Current.Out"
/>

Input Ports

Name Width Description
PositionA 3 Position of end point A.
PositionB 3 Position of end point B.
VelocityA 3 Velocity of end point A.
VelocityB 3 Velocity of end point B.
Current 3 The uniform current of the surrounding water.

Output Ports

Name Width Description
ForceA 3 The force acting on end point A.
ForceB 3 The force acting on end point B.
PosA 3 Position of end point A, passed through from the PositionA input.
PosB 3 Position of end point B, passed through from the PositionB input.

Configuration parameters

Name Width Description
Diameter 1 Diameter of the cable [meter].
Density 1 Density of the cable [kg/m^3].
Length 1 Length of the cable [m].
Modulus 1 Modulus of elasticity in giga pascal (1e9) [GPa].
InternalPoints 1 Number of internal mass points [-].

Initial conditions

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.

Full example file

<Contents>
<OBJECTS>
<Lib
LibName = "fhsim_base"
SimObject = "Example/HydroBall"
Name = "Ball"
Radius = "1.0"
Density = "1100"
/>
<Lib
LibName = "fhsim_base"
SimObject = "Example/HydroCable"
Name = "Cable"
Diameter = "0.02"
Density = "2000"
Modulus = "20"
Length = "20"
InternalPoints = "7"
/>
<Lib
LibName = "fhsim_base"
SimObject = "Src/Sine"
Name = "NorthCurrent"
PortWidth = "1"
PhaseRad = "0"
PeriodS = "200"
StartTime = "0"
StopTime = "-1"
Bias = "0.7"
Amplitude = "0.3"
/>
<Lib
LibName = "fhsim_base"
SimObject = "Signal/Mux"
Name = "Current"
NumInput = "3"
PortWidth = "3"
InPortWidth1 = "1"
InPortWidth2 = "1"
InPortWidth3 = "1"
/>
</OBJECTS>
<INTERCONNECTIONS>
<Connection
Ball.ExternForce = "Cable.ForceB"
Ball.Current = "Current.Out"
Current.In1 = "NorthCurrent.Out"
Current.In2 = "0.5"
Current.In3 = "0.1"
/>
<Connection
Cable.PositionA = "0,0,0"
Cable.PositionB = "Ball.Position"
Cable.VelocityA = "0,0,0"
Cable.VelocityB = "Ball.Velocity"
Cable.Current = "Current.Out"
/>
</INTERCONNECTIONS>
<INITIALIZATION>
<InitialCondition
Ball.Position = "0,6.15,18.9"
Ball.Velocity = "0,0,0"
/>
</INITIALIZATION>
<SIMULATION>
<Timing TStart="0" TEnd="1000"/>
<Integrator Method="Euler_i" NumCores="1">
<StepControl Step="2e-5"/>
</Integrator>
</SIMULATION>
</Contents>

This SimObject is referred to as Example/HydroCable