|
FhSim
3.1.0
Marine systems simulation
|
A main line to a weight (foil or clump) with two lines from the weight, solved as constrained 6-DOF rigid bodies.
Collaboration diagram for RundDorg:The SimObject uses the same rigid-element cable model as TrawlCable, but with its own solver. It has three cable sections and one weight:
MainPosition to the weight.WeightType. A foil is a flat plate with a weight body along one edge, like the TrawlCable door: FoilMass is split 95 % to the plate and 5 % to the weight body, and the plate gets lift and drag. A clump is a steel capsule with drag.Line1Position and Line2Position.Each line is split into rigid cylinders, joined by compliant, Baumgarte-type regularised constraints with axial, bending and torsional stiffness. The three external points are ball joints. Environment forces (gravity, buoyancy, normal and tangential current drag and seabed contact) come from the Environment shared resource, as in TrawlCable. The object has no collision handling. With integrator method Euler_i or Heun_i, the solver runs its symplectic step with the full integrator step length.
Reproducibility. With NumCpuCore above 1 the solver's threads share the work in an order that depends on scheduling, so two runs of the same input give different results that start at round-off and grow. This is accepted by design (MARE-0075). With the default of one thread, repeated runs have given byte-identical results.
| Name | Width | Description |
|---|---|---|
| MainPosition | 3 | Position of the free end of the main line [m]. Also used to set the initial conditions. |
| MainVelocity | 3 | Velocity of the free end of the main line [m/s]. |
| Line1Position | 3 | Position of the free end of line 1 [m]. |
| Line1Velocity | 3 | Velocity of the free end of line 1 [m/s]. |
| Line2Position | 3 | Position of the free end of line 2 [m]. |
| Line2Velocity | 3 | Velocity of the free end of line 2 [m/s]. |
| Name | Width | Description |
|---|---|---|
| MainForce | 1 | Magnitude of the force from the main line on MainPosition [N]. |
| MainForceVector | 3 | Force from the main line on MainPosition [N]. |
| Line1Force | 1 | Magnitude of the force from line 1 on Line1Position [N]. |
| Line1ForceVector | 3 | Force from line 1 on Line1Position [N]. |
| Line2Force | 1 | Magnitude of the force from line 2 on Line2Position [N]. |
| Line2ForceVector | 3 | Force from line 2 on Line2Position [N]. |
| WeightPosition | 3 | Centre position of the foil plate or the clump weight [m]. |
Parameters without a default are required. The cross-section defaults assume a rope of nominal diameter d, that line's own diameter, made of 7 strands of diameter d/3.
Solver, weight and geometry:
| Name | Width | Description |
|---|---|---|
| RegulatorFrequencyCoefficient | 1 | Frequency coefficient β of the regularised joint constraints [1/s]. The axial constraint gain is EA/(L β²), where L is the element length. Required. |
| StructuralDampingCoefficient | 1 | Relative damping of the joint constraints: the damping gain is this value times β. The source comment says 1 is critical damping. Used for all lines (Default: 1). |
| TensionStabilityFactor | 1 or 2 | Numerical stabiliser for heavy loads, used for all three lines. The first value divides the bending and torsion frequency coefficient. The second value multiplies the bending and torsion stiffness. With one value, both factors take that value (Default: 1). |
| WeightType | 1 | Foil or Clump. Any other value is an error. Required. |
| FoilMass | 1 | Total foil mass [kg]. 95 % goes to the plate and 5 % to the weight body. The displaced volume is FoilMass/7900 m³. Required and read only when WeightType is Foil. |
| FoilArea | 1 | Foil plate area A [m²]. Used for lift and drag. It also sets the plate size: length √(A/2.5), width √(2.5A), thickness 0.05√A. Required and read only when WeightType is Foil. |
| PortOrStarboard | 1 | Port gives the port-side geometry. Any other value gives starboard. The choice mirrors the main-line attachment offset and the side of the weight body. Required and read only when WeightType is Foil. |
| ClumpMass | 1 | Clump weight mass [kg]. The clump is a steel (7900 kg/m³) capsule whose length is 5 times its radius. Required and read only when WeightType is Clump. |
| WeightInitialPoint | 3 | Initial centre position of the foil or clump [m]. It is read in InitialConditionSetup, and is required once the input positions are available. |
| NumCpuCore | 1 | Number of threads in the constraint solver's core-bound thread pool, one per CPU core. A value below 1 is a setup error, a value above the number of hardware threads is reduced to it, and 1 runs the solver on the calling thread. With more than one thread the results are not reproducible from run to run (see MARE-0075) (Default: 1). |
| StartCpuCore | 1 | Index of the CPU core the first pool thread is bound to, the others take the next cores. A negative value is a setup error, and a pool that reaches past the last hardware thread logs a warning (Default: 0). |
| HQrender | 1 | Boolean. Visualisation only: draws each element as a capsule mesh (Default: true). |
Lines. The main line, line 1 and line 2 have the same set of material parameters. Each material row lists the Main, Line1 and Line2 parameter:
| Name | Width | Description |
|---|---|---|
| MainNumElements | 1 | Number of rigid elements in the main line. Required. |
| MainLength | 1 | Length of the main line [m]. Required. |
| MainDiameter | 1 | Nominal diameter d of the main line [m]. Used for drag, inertia and the default cross-section values. Required. |
| Line1Length | 1 | Length of line 1 [m]. Required. |
| Line1Diameter | 1 | Nominal diameter of line 1 [m] (Default: MainDiameter). |
| Line1NumElements | 1 | Number of rigid elements in line 1 (Default: int(Line1Length/MainLength × MainNumElements)). |
| Line2Length | 1 | Length of line 2 [m] (Default: 1.125 × Line1Length). |
| Line2Diameter | 1 | Nominal diameter of line 2 [m] (Default: Line1Diameter). |
| Line2NumElements | 1 | Number of rigid elements in line 2 (Default: int(Line1NumElements × Line2Length/Line1Length)). |
| MainTensileCrossSectionArea, Line1TensileCrossSectionArea, Line2TensileCrossSectionArea | 1 | Load-bearing cross-section area A [m²]. Used in the axial stiffness EA (Default: 7πd²/36). |
| MainTensileCrossSectionSecondAreaMoment, Line1TensileCrossSectionSecondAreaMoment, Line2TensileCrossSectionSecondAreaMoment | 1 | Second area moment I [m⁴]. Used in the bending stiffness EI (Default: 7πd⁴/5184). |
| MainTensileCrossSectionTorsionalAreaMoment, Line1TensileCrossSectionTorsionalAreaMoment, Line2TensileCrossSectionTorsionalAreaMoment | 1 | Torsional area moment J [m⁴]. Used in the torsional stiffness GJ (Default: 2 × the line's second area moment). |
| MainYoungsModulus, Line1YoungsModulus, Line2YoungsModulus | 1 | Young's modulus E [Pa] (Default: 2e11 for Main, 2e9 for Line1 and Line2). |
| MainShearModulus, Line1ShearModulus, Line2ShearModulus | 1 | Shear modulus G [Pa] (Default: the line's Young's modulus/2.6). |
| MainDisplacementCrossSectionArea, Line1DisplacementCrossSectionArea, Line2DisplacementCrossSectionArea | 1 | Cross-section area that displaces water [m²]. Gives the buoyancy (Default: 0.9πd²/4). |
| MainCableWeight, Line1CableWeight, Line2CableWeight | 1 | Mass per unit length [kg/m]. Gives element mass, inertia and gravity (Default: the line's tensile cross-section area × 7900 for Main, × 1100 for Line1 and Line2). |
The main-line elements are numbered from 0 at MainPosition. The line 1 and line 2 elements are numbered from 0 at the weight.
| Name | Width | Description |
|---|---|---|
| MainPos<i>, Line1Pos<i>, Line2Pos<i> | 3 | Position of the element centre [m]. |
| MainVel<i>, Line1Vel<i>, Line2Vel<i> | 3 | Velocity of the element centre [m/s]. |
| MainOmega<i>, Line1Omega<i>, Line2Omega<i> | 3 | Angular velocity of the element [rad/s] (frame not determined from source). |
| MainQuater<i>, Line1Quater<i>, Line2Quater<i> | 4 | Orientation quaternion (w, x, y, z) of the element. |
| FoilPosition, FoilVelocity, FoilOmega, FoilQuater | 3/3/3/4 | The foil plate. Present only for WeightType Foil. |
| FoilWeightPosition, FoilWeightVelocity, FoilWeightOmega, FoilWeightQuater | 3/3/3/4 | The foil's weight body. Present only for WeightType Foil. |
| ClumpWeightPosition, ClumpWeightVelocity, ClumpWeightOmega, ClumpWeightQuater | 3/3/3/4 | The clump weight. Present only for WeightType Clump. |
InitialConditionSetup overwrites all states once MainPosition, Line1Position and Line2Position have values. The weight is placed at WeightInitialPoint with the identity orientation. The three lines are laid out as catenaries between the weight and their external points. All velocities and angular velocities start at zero. Until then, the force and weight-position outputs are marked not ready.
This SimObject is referred to as RundDorg