|
FhSim
3.1.0
Marine systems simulation
|
Base SimObject for trawl door.
Collaboration diagram for Trawl door base:| Name | Width | Description |
|---|---|---|
| Force1 | 3 | Force from the warp, applied at WarpPos (global frame). |
| Force2 | 3 | Force from the upper bridle, applied at UBPos (global frame). |
| Force3 | 3 | Force from the lower bridle, applied at LBPos (global frame). |
| Name | Width | Description |
|---|---|---|
| Pos1 | 3 | Global position of the warp fastening point (WarpPos). |
| Pos2 | 3 | Global position of the upper bridle fastening point (UBPos). |
| Pos3 | 3 | Global position of the lower bridle fastening point (LBPos). |
| Vel1 | 3 | Global velocity of the warp fastening point. |
| Vel2 | 3 | Global velocity of the upper bridle fastening point. |
| Vel3 | 3 | Global velocity of the lower bridle fastening point. |
| Name | Width | Description |
|---|---|---|
| Mass | 1 | Mass of trawl door [kg], > 0. Gravity, buoyancy (with Density) and the inertia (see Inertia) follow from it. |
| Density | 1 | Density of trawl door (Default: 7900). |
| Area | 1 | Area of trawl door. |
| Curvature | 1 | Depth of the door's curved cross-section along its normal (y) axis, m. Visualisation only: scales the mesh's y axis together with CurvatureScale (see below); no hydrodynamic effect. |
| IsPort | 1 | True for a port-side door: mirrors WarpPos, LBPos, UBPos and COG in y, and mirrors the angle-of-attack convention. False for a starboard door. |
| Rho | 1 | Density of sea water (Default: 1025). |
| AR | 1 | Aspect ratio (span / chord) of the door plate. Sets chord = sqrt(Area / AR) and span = AR * chord (Default: 1.4). |
| MaxLiftCoeff | 1 | Peak lift coefficient of the door's built-in hydrodynamic polar, used as a ratio to the model's own reference value, 1.9: MaxLiftCoeff / 1.9 scales every lift-driven force and moment term (Default: 1.9, ratio 1, no correction). |
| DragCoeffAtMaxLift | 1 | Drag coefficient at peak lift, used the same way as a ratio to the model's own reference value, 0.84 (Default: 0.84, ratio 1, no correction). |
| WarpPos | 3 | Warp fastening position in the body frame (x forward, y to starboard, z down from the plate centre). Mirrored in y when IsPort. Force1 applies here; Pos1/Vel1 report its global position/velocity. |
| LBPos | 3 | Lower bridle fastening position in the body frame, otherwise as WarpPos. Force3 applies here; Pos3/Vel3 report its global position/velocity. |
| UBPos | 3 | Upper bridle fastening position in the body frame, otherwise as WarpPos. Force2 applies here; Pos2/Vel2 report its global position/velocity. |
| COG | 3 | Centre of gravity relative to the door origin (the plate centre), body frame. Mirrored in y when IsPort. Enters the gravity moment only, not the inertia (see Inertia, below). |
| VisualizationScale | 1 | Default for LengthScale, BreadthScale and CurvatureScale where they are not set individually (Default: 1). Visualisation only. |
| LengthScale | 1 | Render scale along the mesh x axis per metre of the door's chord, sqrt(Area / AR). Default VisualizationScale. Visualisation only. |
| BreadthScale | 1 | Render scale along the mesh z axis per metre of the door's span, AR * chord. Default VisualizationScale. Visualisation only. |
| CurvatureScale | 1 | Render scale along the mesh y axis per metre of Curvature. Default VisualizationScale. Visualisation only. |
| Mesh | 1 | Ogre resource path of the visualisation mesh without the .mesh extension, which the model appends. Default fhSphere, the sphere fhsim generates at render setup; the shipped trawl door mesh is trawl_doors/traaldoer. Visualisation only. |
| CastWake | 1 | The door casts a lumped wake (see Wake); the other wake parameters (Wake*, ExternalWakeUpdate, WakeGroup) are listed in fhsim_environment's doc/user/wake-parameters.md. (Default: false) |
The door's 6 x 6 inertia is diagonal, about the door origin (taken as the plate centre), rigid body plus added mass (owner ruling R70, FISH-0090). The door is a thin flat rectangular plate in the door-frame xz plane: chord c = sqrt(Area / AR) along x, span s = AR c along z, normal along y.
Example: Mass 3400 kg, Area 8 m², AR 3 (c = 1.63 m, s = 4.90 m, CA = 0.830): 3400 kg along x and z, 12 130 kg normal to the door, 24 260, 7 560 and 1 480 kg·m² about x, y and z (was 5000 kg and 5000 kg·m² on every axis).
The velocity and angular velocity are states in the rotating door frame, so the door integrates M v̇ + ω × (M_RB v) + ω × (M_A v_r) + M_A (ω × v_w) = F and I ω̇ + ω × (I ω) = Q with the diagonal M and I above, M_RB their rigid body and M_A the added mass, v_w the water velocity in the door frame and v_r = v − v_w (owner rulings R100, FISH-0093, and R107; Kirchhoff's equations, Fossen 2011, Handbook of Marine Craft Hydrodynamics and Motion Control, ch. 3, 6 and 10; rigid_body::OmegaTermsWrench). A turning door keeps its velocity over ground instead of having it turned with it, and a door carried by a uniform current at zero relative velocity keeps drifting with it. The added-mass moment v × (M v) (the Munk moment) is not added: it acts in steady flow, where the tabulated door moment coefficients already contain it.
The linear damping, Area N·s/m on each translation and 100 Area² N·m·s on each rotation, is a numerical stabiliser, not a hydrodynamic force: it acts on the door's own velocity and rates (owner ruling R75, FISH-0091), so a door drifting with the current is slowed by it as well (by Area / Mass per second along the chord). The hydrodynamic forces act on the velocity relative to the water.
The door's buoyancy is Mass / Density times Rho times the fraction of its plate (chord × span in the door-frame xz plane) below the wave surface, with the door's attitude: the plate is clipped by the surface, taken flat at the wave elevation above the door origin (owner ruling R66, FISH-0092). An upright door has the fraction linear in its depth over the span; a door lying flat is all in or all out. It acts at the door origin. Below the environment's MaxWaveElevation bound the door is fully submerged without evaluating the wave elevation.
The door takes the wave surface for its buoyancy (R66, above) and the wave particle velocity in its relative velocity, but no wave excitation (Froude-Krylov or added-mass force from the wave acceleration, R67): it is documented at depth on the warps, with seabed contact in ToTrawlDoor and "far below the surface" in the steady tow (doc/user/steady_tow.md), not in the wave zone (owner ruling R110). A door at the surface while shooting or hauling misses that force.
With CastWake the door casts a lumped wake that the other objects feel (feature wake-casting-trawl, owner rulings O8a, O9a, O10a), through an environment::wake::BodyFlowInteraction; the wake parameters are those of fhsim_environment's doc/user/wake-parameters.md. Default CastWake is false: the door casts nothing and its results are unchanged. The wake carries the door's hydrodynamic force of TD_HydroForces_SS at the free stream, no waves (no weight, buoyancy, bottom contact or the AddedFoil's foil), on the plate chord √(Area/AR) by span AR·chord of the door frame (environment::plate_geometry); the lumped source keeps its drag along the flow and drops the lift. The door joins a WakeGroup with the radius √(Area/π), the radius of its plate area, and the same force on the plate's frontal area along the inflow, as alone.
The door reads its water velocity through the BodyFlowInteraction, in OdeFcn, in the Jacobian and in ToTrawlDoor's AngleOfAttack alike: the current, the waves and the other objects' wakes, never its own, with or without CastWake. With the default ExternalWakeUpdate="Step" the other wakes are taken once per integrator step, at the door's position at the step's start, and held for the step: the set of fields is fixed per step and a field whose deficit at the door stays below 1e-4 is left out (environment::wake::ExternalWakes). ExternalWakeUpdate="Evaluation" reads them live in every evaluation, as the plain environment query does.
| Name | Width | Description |
|---|---|---|
| Pos | 3 | Position (Default: "0,0,0"). |
| Quater | 4 | Quaternion (Default: "1,0,0,0"). |
| LocalVel | 3 | Local velocity (Default: "0,0,0"). |
| Omega | 3 | Angular velocity in the body frame, rad/s (Default: "0,0,0"). |
This SimObject is referred to as Trawl/TrawlDoorBase