FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
6-DOF trawl door

Simulation of a trawl door in six degrees of freedom.

+ Collaboration diagram for 6-DOF trawl door:
Author
Karl-Johan Reite
Date
21.04.2008 KJR: Initial version.

Simulation of a trawl door in six degrees of freedom. This model includes a fairly complex model of the hydrodynamic forces and the fastening points of the warp and the bridles. It is also based on unit quaternions for translation between different coordinate systems, to avoid the singularity problem of Euler angles.

Note
Unlike many other simObjects, the parameter Mesh does not take the extension .mesh. The parameter must therefore be set as e.g. "trawl_doors/traaldoer" instead of "trawl_doors/traaldoer.mesh". trawl_doors/traaldoer is the trawl door mesh shipped in fhsim_fishery.zip. Without Mesh the door is drawn as fhsim's generated sphere fhSphere, stretched to the door's length, curvature and height.

Example configuration excerpt

<Lib LibName = "fishery"
SimObject = "Trawl/TrawlDoor"
Name = "Door"
Mass = "3400"
Area = "8"
AR = "3"
MaxLiftCoeff = "1.6"
DragCoeffAtMaxLift = "0.5"
IsPort = "1"
WarpPos = "0.25, -0.3, -0.2"
LBPos = "-1.5, 0.3, 2.0"
UBPos = "-1.5, 0.3, -2.0"
COG = "0, 0, 0.7"
Mesh = "trawl_doors/traaldoer"
Curvature = "3.0"
VisualizationScale = "0.001"
/>

Input Ports

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).

Output Ports

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.
Roll 1 Door roll angle in rad (added by this class): asin of the vertical (NED z) component of the door's local y-axis, negated when IsPort is true so port and starboard doors report the same sense.
Pitch 1 Door pitch angle in rad (added by this class): asin of the vertical (NED z) component of the door's local x-axis, negated when IsPort is true.
AngleOfAttack 1 Hydrodynamic angle of attack of the door in rad (added by this class).

Configuration parameters

Name Width Description
Mass 1 Mass of trawl door.
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.
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.

Initial conditions

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").

Full example file

<Contents>
<OBJECTS>
<Lib
LibName = "environment"
SimObject = "Environment"
Name = "Env"
Waves.NumWaves = "0"
Bathymetry.Depth = "190"
Current.Model = "Constant"
Current.Vector = "2.5,0,0"
/>
<Lib
LibName = "fishery"
SimObject = "Trawl/TrawlDoor"
Name = "Door"
Density = "7900"
Mass = "3400"
Area = "8"
Curvature = "3.0"
IsPort = "1"
Rho = "1025"
AR = "3"
MaxLiftCoeff = "1.6"
DragCoeffAtMaxLift = "0.5"
WarpPos = "0.25, -0.3, -0.2"
LBPos = "-1.5, 0.3, 2.0"
UBPos = "-1.5, 0.3, -2.0"
COG = "0, 0, 0.7"
VisualizationScale = "0.001"
Mesh = "trawl_doors/traaldoer"
/>
</OBJECTS>
<INTERCONNECTIONS>
<Connection
Door.Force1 = "0,0,0"
Door.Force2 = "0,0,0"
Door.Force3 = "0,0,0"
/>
</INTERCONNECTIONS>
<INITIALIZATION>
<InitialCondition
Door.Pos = "0,0,20"
Door.Quater = "0,0,0,1"
/>
</INITIALIZATION>
<SIMULATION>
<Timing TStart="0" TEnd="30"/>
<Integrator Method="RK45_i" NumCores="1" LogStates="1" UseRSSNorm="0">
<StepControl StepMax="0.002" StepMin="0.00000001" AbsTol="1e-3" RelTol="1e-3"/>
</Integrator>
<!-- TODO migrate_v3: FileOutput="objects:all" -> configure via <OBSERVERS> section -->
</SIMULATION>
</Contents>

This SimObject is referred to as Trawl/TrawlDoor