FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
Rigid body cable

Class containing a winch object developed for Rolls Royce Deck Machinery.

+ Collaboration diagram for Rigid body cable:
Author
Jørgen Haavind Jensen
Date
Q3 2011 JHJ: Initial version.
Review issues:
0314 — RbCable/Cable carries no added mass, so its wave excitation is Froude–Krylov only

Cable model with bending/torsional stiffness and winch-functionality. The cable is discretized as "6 degrees of freedom" rigid cylinders which are connected with axial and angular constraints. For high bending stiffness the cable will work as a truss/beam.

The constraints are regularized with a compliant variation of the Baumgarte method. In effect the cylinders can be thought of as connected with axial and angular springs like a traditional spring-mass-damper model, but without some of the numerical instability problems associated with high stiffness cables.

The behavior of the springs are defined with three parameters; \(\alpha\), \(\beta\) and \(\epsilon\). \(\beta\) controls the rate at which the constraint seeks towards equilibrium, \(\alpha\) is the damping factor, and \(\epsilon\) is the constraint compliance.

The effective spring stiffness is a combination of \(\beta\), \(\epsilon\), and the mathematical formulation of the constraint function.

For the axial spring the effective restoring force is: \( F = \beta^2/\epsilon*dL \) where \(dL\) is the distance between two successive cylinder endpoints.

For the angular spring the effective restoring moment is: \(M = \beta^2/\epsilon*sin(\theta/2)\) where theta is the difference in orientation angle between two successive cylinders. Note that the bending and the torsional stiffness can be set independently.

\(\alpha\) less than \(\beta\) means the system is underdamped, \(\alpha\) equal to \(\beta\) means critical damping, and \(\alpha\) larger than Beta means overdamped. The effective damping scales with \(\alpha/\epsilon\)

A fairly robust technique for adjusting the parameters when using an explicit integration scheme is as follows:

The cable model is equipped with virtual winch functionality which makes it possible to retract/extend the cable from the end points. The cable is manipulated by the retracted length and retraction speed at the end points A and B. The retracted length us used to change the cable length, while the retracted speed is used to satisfy the dynamics of the internal cable equations at the end points. The current extended length of the cable is \( L_{cable} = L_{total} - L_{retracted_A} - L_{retracted_B}\)

The definition of retracted length and retracted speed vs. cable length

Interface

This page documents the interface the library is built with (MARE-0025). The Baumgarte parameters \(\alpha\), \(\beta\) and \(\epsilon\) above are not parameters of it: they are derived from the material data and updateFreq in the constructor, with \(\beta_N = 1/\mathrm{updateFreq}\), \(\beta_M = \beta_T = 1/(\mathrm{updateFreq}\cdot\mathrm{stabilityFactor})\), \(\alpha = \mathrm{damping}\cdot\beta\), \(\epsilon_N = \beta_N^2 L/(2 E N A)\), \(\epsilon_M = \beta_M^2 L/(2 E N I)\), \(\epsilon_T = \beta_T^2 L/(2 G N J)\) for \(I = 7 \pi D^4/5184\) and \(J = 2I\) (the factor 2 in \(\epsilon_N\) is the 2024 change that gives the correct static tension; it is marked "should be further checked" in the source).

Input ports

Name Width Description
PositionA 3 position of end-connection point A
PositionB 3 position of end-connection point B
VelocityA 3 velocity of end-connection point A
VelocityB 3 velocity of end-connection point B
RetractedLengthA 1 length of cable retracted on side A
RetractedLengthB 1 length of cable retracted on side B
RetractedSpeedA 1 retraction rate of cable retracted on side A
RetractedSpeedB 1 retraction rate of cable retracted on side B

Output ports

Name Width Description
ForceA 3 Reaction force on side A
ForceB 3 Reaction force on side B

Configuration parameters

Name Width Description
cableLength 1 total length of the cable [m]
numElements 1 number of rigid elements in the cable [#]
diameter 1 diameter of the cable [m]
cableWeight 1 weight of the cable [kg/m]
E-modulus 1 Young's modulus of the cable material [Pa]
G-modulus 1 shear modulus of the cable material [Pa] (Default: E-modulus / 2.6)
damping 1 structural damping of the cable [-] (Default: 1)
updateFreq 1 update frequency that sets the Baumgarte time constants; keep it at or below 1/dt [Hz]
stabilityFactor 1 ratio of the axial to the bending and torsional update frequency [-] (Default: 1.1)
isKelpRope 1 Sugar kelp rope: adds the biomass weight to each element (Default: false)
biomassPerMeterNewton 1 weight of the kelp biomass per metre of rope [N/m] (Default: 98.1)
Scale 1 scale of the visualization (Default: 1)

The environment is taken from the shared resource Environment; a model without one is a setup error.

The classic interface (not built)

An earlier interface, compiled only if RBCABLE_CLASSIC_INTERFACE is defined, which no build of this library does (MARE-0025), names the parameters Length, numElements, AlphaN, BetaN, EpsilonN, AlphaM, BetaM, EpsilonM, AlphaT, BetaT, EpsilonT, Weight and Radius (and isKelpRope, biomassPerMeterNewton), the input ports posA, posB, velA, velB, retractedLengthA, retractedLengthB, retractedSpeedA and retractedSpeedB, and the output ports forceA and forceB. The tuning guidance above is written for it. An input file that uses these names does not run on this library.