Body Data Specification
This data group is given once for each body to be included in the simulation. It represents the start of all data related to a body. Consequently, this data group must be given first, for each body.
For the different body types there are restrictions on the data types to
be specified on the system description file. Mandatory means that the
data group must be given, allowed means that the data group can be
given, dummy means that the data group can be given, but is not used for
STAMOD
or DYNMOD
calculations.
Data group identifier  IBDTYP 1  IBDTYP 2  IBDTYP 3 

BODY LOCAtion DATA 
Mandatory 
Mandatory 
Mandatory 
BODY GEOMetry DATA 
Allowed 
Allowed 
Allowed 
BODY SHAPe DATA 
Allowed 
Allowed 
Allowed 
BODY MASS DATA 
Allowed 
Allowed 
Allowed 
MASS COEFficients 
Allowed 
Allowed 
Allowed 
TIME DEPEndent MASS 
Allowed 
Allowed 
Allowed 
HYDRodynamic SEPAration METHod 
Mandatory 
Not allowed 
Not allowed 
ADDEd MASS ZERO 
Not allowed 
Allowed 
Not allowed 
ADDEd MASS INFInite 
Allowed 
Not allowed 
Not allowed 
RETArdation FUNCtion 
Allowed 
Dummy 
Not allowed 
HYDRostatic STIFfness DATA 
Allowed 
Allowed 
Allowed 
LINEar DAMPing 
Allowed 
Allowed 
Allowed 
QUADratic DAMPing 
Allowed 
Allowed 
Allowed 
FIRSt ORDEr WAVE force tr. f. 
Allowed 
Dummy 
Not allowed 
FIRSt ORDEr MOTIon tr. f. 
Dummy 
Allowed 
Not allowed 
FIRSt ORDEr DIFFracted wave tr. f. 
Allowed 
Allowed 
Not allowed 
WIND FORCe COEFficients 
Allowed 
Allowed 
Not allowed 
LINEar CURRent COEFficients 
Allowed 
Allowed 
Allowed 
QUADratic CURRent COEFficients 
Allowed 
Allowed 
Not allowed 
SECOnd ORDEr WAVE drift forces 
Allowed 
Allowed 
Not allowed 
WAVE DRIFt DAMPing 
Allowed 
Allowed 
Not allowed 
QUADratic TRANsfer FUNCtions 
Allowed 
Allowed 
Not allowed 
SMALl BODY HYDRodynamic data 
Allowed 
Not allowed 
Allowed 
DISTributed ELEMent FORCes 
Allowed 
Allowed 
Not allowed 
SPECified FORCes 
Allowed 
Allowed 
Allowed 
POSItioning SYSTem DATA 
Allowed 
Allowed 
Allowed 
BODY COMPonent 
Allowed 
Allowed 
Allowed 
Data groups for IBDTYP = 4
as for IBDTYP = 1
.
3. Text for identifying the body, 3 input lines:
TXBDY

TXBDY: character(60)
: Character string describing the body
4. Body type
1 input line.
IBDTYP IMPTYP

IBDTYP: integer
: Body type
= 1
: Large volume, total motion is simulated in time domain, 6 degrees of freedom 
= 2
: Large volume, separation of motions in frequency domain HF motions and time domain LF motions, 6 degrees of freedom 
= 3
: Small volume, position dependent hydrodynamic coefficients are allowed, 3 translational degrees of freedom 
= 4
: AsIBDTYP=1
, but fixed or prescribed body position


IMPTYP: integer
: Type of import for positions. Applicable for body type 4, else dummy
= 0
: No import  fixed position 
= 1
: Import from file 
= 2
: Import from HLA 
= 3
: Articulated structure, Fixed to master, relative motion specified, imported from HLA, Turret Model

Body type 4  Import position from file
1 input line.
CHIMP

CHIMP: character(120)
: Filename for body positions
The file format is described in Body type 4, Prescribed positions imported from file.
Body type 4  Articulated structural member
This data group enables modelling of one member of an articulated structure, such as a rigid member of a crane as illustrated in the figure below. The body may be specified to move along or around one of the degrees of freedom of its master body. This model is refered to as Simple Articulated Structure (SAS).
In addition, this model can be used to represent the Turret of an FPSO vessel (TUR). The turret is presented as an articulated structure which is free to rotate relative to it’s master, i.e. the vessel. A simple model of maximum slipfree angle and slip (turnback) angle is implemented to model the friction between the turret and the vessel.
See user guide
Name of master body for the given structure member, 1 input line:
CHMASTER

CHMASTER: character(8)
: Name of master body
Coordinates in the body fixed reference system, specifying where the present body is attached to its master, 1 input line:
XAP YAP ZAP

XAP: real
: Xposition of the attachment point \(\mathrm {[L]}\) 
YAP: real
: Yposition of the attachment point \(\mathrm {[L]}\) 
ZAP: real
: Zposition of the attachment point \(\mathrm {[L]}\)
Coordinates in the master bodyfixed reference system specifying where the present body is attached to its master, 1 input line:
XAPM YAPM ZAPM

XAPM: real
: Xposition of the attachment point given in the master body’s reference system \(\mathrm {[L]}\) 
YAPM: real
: Y position of the attachment point given in the master body’s reference system \(\mathrm {[L]}\) 
ZAPM: real
: Z position of the attachment point given in the master body’s reference system \(\mathrm {[L]}\)
Mode of relative motion, 1 input line:
CHMOD ARTMOD

CHMOD: character(4)
: Mode of motion (X,Y,Z,PHI,THETA,PSI
) 
ARTMOD: character(4)
: Articulated Structure Model (SAS, TUR
)
Note that only PSI
is a valid choice for CHMOD
, if ARTMOD = TUR
.
(ARTMOD = TUR
) Initial angle and stick/slip model for turret, 1 input line:
If ARTMOD = TUR
,
DISINI_glob SLIPANG MAXANG

DISINI_glob: real
: Initial turret yaw angle relative to the global coordinate system \([\mathrm {deg}]\) 
SLIPANG: real
: Slip (turnback) angle \([\mathrm {deg}]\) 
MAXANG: real
: Maximum angle that turret follows the vessel before sliding \([\mathrm {deg}]\)
The initial turret angle relative to the master (DISINI
) is computed
from DISINI_glob
using the relation DISINI
= DISINI_glob

YAWINI
, where YAWINI
is the initial yaw angle of the master body.
This is an approximation which is appropriate when the master have small
initial roll and pitch angles.
(ARTMOD = SAS
) Initial displacement and limitations for specified mode of motion relative to point of attachment, 1 input line:
If ARTMOD = SAS
,
DISINI DISMIN DISMAX VMAX AMAX

DISINI: real
: Initial displacement relative to master body \([L,\mathrm {deg}]\) 
DISMIN: real
: Lower limit for displacement \([L,\mathrm {deg}]\) 
DISMAX: real
: Upper limit for displacement \([L,\mathrm {deg}]\) 
VMAX: real
: Maximum velocity (absolute value) \([L/T,\mathrm {deg}/T]\) 
AMAX: real
: Maximum acceleration (absolute value) \([L/T^2,\mathrm {deg}/T^2]\)
Note that DISMIN
, DISMAX
, VMAX
and AMAX
are dummy if
CAST = "NONE"
, confer next input line
(ARTMOD = SAS
) Type of control, 1 input line:
CAST

CAST: character(4)
: Type of articulated structure coupling control
= NRUN
: Predefined run 
= HLA
: HLA Joystick (not implemented) 
= NONE
: Member is fixed to its master

(ARTMOD = SAS
) Predefined run
(ARTMOD = SAS
) (CAST = NRUN
), number and type of motion intervals, 1 input line:
NRUN ISEQTYPE

NRUN: integer, default: 1
: Number of motion intervals 
ISEQTYP: integer, default: 1
: Motion sequence type (13):
= 1
: ComputeTSTOP
(DISPL
andVEL
to be specified) 
= 2
: ComputeDELTA
(TSTOP
andVEL
to be specified) 
= 3
: ComputeVEL
(TSTOP
andDELTA
to be specified)

For ISEQTYP = 1
, NRUN
input lines:
TSTART DELTA VEL ACC

TSTART: real
: Interval start time \(\mathrm {[T]}\) 
DELTA: real
: Displacement during interval \([L,\mathrm {deg}]\) 
VEL: real, default: VMAX
: Interval absolute velocity after rampup \([L/T,\mathrm {deg}/T]\) 
ACC: real, default: AMAX
: Interval rampup/rampdown acceleration \([L/T^2,\mathrm {deg}/T^2]\)
For ISEQTYP = 2
, NRUN
input lines:
TSTART TSTOP VEL ACC

TSTART: real
: Interval start time \(\mathrm {[T]}\) 
TSTOP: real
: Interval stop time \(\mathrm {[T]}\) 
VEL: real, default: VMAX
: Interval absolute velocity after rampup \([L/T,\mathrm {deg}/T]\) 
ACC: real, default: AMAX
: Interval rampup/rampdown acceleration \([L/T^2,\mathrm {deg}/T^2]\)
For ISEQTYP = 3
, NRUN
input lines:
TSTART TSTOP DELTA ACC

TSTART: real
: Interval start time \(\mathrm {[T]}\) 
TSTOP: real
: Interval stop time \(\mathrm {[T]}\) 
DELTA: real
: Displacement during interval \([L,\mathrm {deg}]\) 
ACC: real, default: AMAX
: Interval rampup/rampdown acceleration \([L/T^2,\mathrm {deg}/T^2]\)
5. Initial position
This is the position of the body’s origin in the global coordinate
system. This position may be modified during STAMOD
calculations.
1 identification input line (Note: If body type is 4 (IBDTYP=4
) and
the import type is 3 (IMPTYP=3
) the initial position is given under
the body data specification, and hence body location data should be
omitted here):
BODY LOCAtion DATA
1 input line:
XGLOB YGLOB ZGLOB PHI THETA PSI

XGLOB: real
: Global Xcoordinate of origin of body fixed coordinate system, \(\mathrm {[L]}\) 
YGLOB: real
: Global Ycoordinate of origin of body fixed coordinate system, \(\mathrm {[L]}\) 
ZGLOB: real
: Global Zcoordinate of origin of body fixed coordinate system, \(\mathrm {[L]}\) 
PHI: real
: Euler angle, rotation about xaxis \(\mathrm {[deg]}\) 
THETA: real
: Euler angle, rotation about yaxis \(\mathrm {[deg]}\) 
PSI: real
: Euler angle, rotation about zaxis \(\mathrm {[deg]}\)
Note that the orientation of the body system of axes is obtained by
rotations from the global coordinate system about body z, y and x axis
in succession. PHI
and THETA
are dummy for IBDTYP = 3
(will be set
to 0.)
6. Geometry data
Body geometry data is read only in OUTMOD
and is used for preparing
plots of static geometry and "snapshots". The data group is skipped
whenever encountered in STAMOD
.
In order to ease change of body geometry after STAMOD
and/or DYNMOD
have been run, body geometry data may be read from a reduced SYSFIL
.
This file must at least contain the main data group identifiers: 
SYSTem DESCription SIMO
 BODY DATA SPECification
 END
The reduced SYSFIL
must contain the same bodies as the original file,
and they must be given in the same sequence. Only the body identifiers,
CHBDY, needs to be specified on the reduced file in addition to main
data group identifiers and geometry data.
7. Body shape
Defines some of the key sizes of the body. Must be specified when propulsors in the propulsion library are used.
1 input line:
LPP BWL DRAFTAP DRAFTFP BLOCKCOEFF DISTAP DISTBL

LPP: real
: Length between perpendiculars, \(\mathrm {[L]}\) 
BWL: real
: Maximum beam at the waterline, \(\mathrm {[L]}\) 
DRAFTAP: real
: Draft at aft perpendicular, \(\mathrm {[L]}\) 
DRAFTFP: real
: Draft at fore perpendicular, \(\mathrm {[L]}\) 
BLOCKCOEFF: real
: Cb = Displacement of the ship / LWL x BWL x T, \(\mathrm {[]}\) 
DISTAP: real
: Distance from aft perpendicular to the body fixed origin, \(\mathrm {[L]}\) 
DISTBL: real
: Distance from baseline to the body fixed origin, \(\mathrm {[L]}\)
Note that the location of the body fixed origin relative to AP/BL is defined as positive forward/up.
8. Mass Data
Structure mass
Text for describing the mass and added mass coefficients, 2 input lines:
TXMASS

TXMASS: character(60)
: Character string describing the mass and added mass coefficients
Location of centre of gravity, 1 input line:
XCOG YCOG ZCOG

XCOG: real
: Xcoordinate of centre of gravity, \(\mathrm {[L]}\) 
YCOG: real
: Ycoordinate of centre of gravity, \(\mathrm {[L]}\) 
ZCOG: real
: Zcoordinate of centre of gravity, \(\mathrm {[L]}\)
The coordinates and all other body data should be given in the local
coordinate system. The input line is dummy for IBDTYP = 3
The body mass, moment of inertia and negative products of inertia, 1 input line:
M IXX IYX IYY IZX IZY IZZ

M: real
: Mass, \(\mathrm {[M]}\) 
IXX: real
: Moment of inertia about Xaxis \(\mathrm {[ML^2]}\), defined as\(\mathrm {\iiint_{m}(y^{2}+z^{2})dm}\)

IYX: real
: Negative product of inertia in YX \(\mathrm {[ML^2]}\), defined as\(\mathrm {\iiint_{m}yxdm}\)

IYY: real
: Moment of inertia about Yaxis \(\mathrm {[ML^2]}\), defined as\(\mathrm {\iiint_{m}(x^{2}+z^{2})dm}\)

IZX: real
: Negative product of inertia in ZX \(\mathrm {[ML^2]}\), defined as\(\mathrm {\iiint_{m}zxdm}\)

IZY: real
: Negative product of inertia in ZY \(\mathrm {[ML^2]}\), defined as\(\mathrm {\iiint_{m}zydm}\)

IZZ: real
: Moment of inertia about Zaxis \(\mathrm {[ML^2]}\), defined as\(\mathrm {\iiint_{m}(x^{2}+y^{2})dm}\)
Note that the moments of inertia and negative products of inertia are to be specified in the local body fixed coordinate system and about the origin of the body fixed system. This means that \(\mathrm {(x,y,z)}\) in the volume integrals above should be understood as the position of the infinitesimal mass particle in the body fixed coordinate system.
In case that the moments of inertia and negative products of inertia are known at centre of gravity they transform to the body fixed origin by the following expressions:

\(\mathrm {IXX}=I^{cog}_{xx}+\mathrm {M}\cdot (\mathrm {YCOG^2+ZCOG^2})\)

\(\mathrm {IYY}=I^{cog}_{yy}+\mathrm {M}\cdot (\mathrm {XCOG^2+ZCOG^2})\)

\(\mathrm {IZZ}=I^{cog}_{zz}+\mathrm {M}\cdot (\mathrm {XCOG^2+YCOG^2})\)

\(\mathrm {IYX}=I^{cog}_{yx}\mathrm {M}\cdot \mathrm {XCOG\cdot YCOG}\)

\(\mathrm {IZX}=I^{cog}_{zx}\mathrm {M}\cdot \mathrm {XCOG\cdot ZCOG}\)

\(\mathrm {IZY}=I^{cog}_{zy}\mathrm {M}\cdot \mathrm {YCOG\cdot ZCOG}\)
The applied symmetrical structural mass matrix can be written as:
A mass matrix has to be positive definite to ensure that kinetic energy is always positive. SIMO will give an error if the mass matrix is not positive definite besed on the following requirements:

\(\mathrm {M}\geq 0\)

\(\mathrm {I_{xx}^{cog}\geq 0}\)

\(\mathrm {I_{yy}^{cog}\geq 0}\)

\(\mathrm {I_{zz}^{cog}\geq 0}\)

\(\mathrm {I_{xx}^{(cog)}I_{yy}^{(cog)}(I_{yx}^{(cog)})^{2}\geq 0}\)

\(\mathrm {I_{xx}^{(cog)}I_{yy}^{(cog)}I_{zz}^{(cog)}I_{xx}^{(cog)}(I_{zy}^{(cog)})^{2}I_{yy}^{(cog)}(I_{zx}^{(cog)})^{2}I_{zz}^{(cog)}(I_{yx}^{(cog)})^{2}+2I_{yx}^{(cog)}I_{zx}^{(cog)}I_{zy}^{(cog)}\geq 0}\)
Additional mass may be given by specifying

Time dependent mass

Distributed element force
Gravity force
For floating vessels the gravity and buoyancy forces are normally modelled by use of the linear hydrostatic stiffness matrix, where the reference point for stiffness is taken as the position where the buoyancy and weight are in equilibrium.
Optionally, the gravity force due to the structural mass and acting at the centre of gravity may be computed. When gravity force is applied the model must include an explicit buoyancy force to balance the gravity force, and the restoring matrix must be modified so that the effect of gravity is not included.
When using Nonlinear hydrostatic stiffness (see section Nonlinear hydrostatic stiffness), it is often relevant to include the gravity force, since the hydrostatic force model will only return the buoyancy force.
Activating gravity forces by this data group will not affect gravity forces due to the mass term of distributed element forces or time dependent mass.
Added mass
For body type 1 (IBDTYP=1
), the frequency dependent added mass and
damping are taken care of by the retardation function. The asymptotic
value of added mass (at high frequency) from the retardation function is
zero. The constant part of the frequency dependent added mass is
specified by the instruction: "added mass infinite".
6 input lines:
AMi1 AMi2 AMi3 AMi4 AMi5 AMi6

AMij: real
: Added mass force in dof i due to unit acceleration in dof j \(\mathrm {[M,ML,ML^2]}\)
For body type 2 (IBDTYP=2
), the added mass used for low frequency time
domain integration is assumed independent of frequency and specified by
the instruction "added mass zero". In this case the frequency
dependent added mass and damping are included in the wave frequency
motion transfer function (RAO).
Time dependent mass (TDM)
The input data should be given after the data group ’BODY MASS DATA’. It should be noted that time dependent mass always will contribute to gravity forces. This data group may also be used to model a constant mass at a specified location.
1 input line:
CTDMTY NTTDM IHLA

CHTYPE: character(4)
: Type of Time Dependent Mass (TDM):
= POINt
: Point mass 
= TANK
: TDM with geometry 
= BALLast
: Ballast tank system


NTTDM: integer
: Number of time intervals for which the mass/volume flow is given (must be 1 forIHLA=1
). Dummy ifCTDMTY = BALLast
. 
IHLA: integer, default: 0
: HLA control parameter. Should be equal to 0 ifCTDMTY = BALLast
.
= 0
: Mass/volume flow rate specified in this group 
= 1
: Mass/volume flow rate imported from HLA

For TDM of type point mass (CTDMTY = POINT
), 1 input line:
XTDM YTDM ZTDM MAS0 MASMAX MASMIN MRATMAX MRATMIN

XTDM: real
: Xposition of TDM in body fixed system, \(\mathrm {[L]}\) 
YTDM: real
: Yposition of TDM in body fixed system, \(\mathrm {[L]}\) 
ZTDM: real
: Zposition of TDM in body fixed system, \(\mathrm {[L]}\) 
MAS0: real
: Mass at t = 0., (may be negative) \(\mathrm {[M]}\) 
MASMAX: real
: Maximum allowable mass, \(\mathrm {[M]}\) (may be negative) 
MASMIN: real
: Minimum allowable mass, \(\mathrm {[M]}\) (may be negative) 
MRATMAX: real
: Maximum allowable mass rate, \(\mathrm {[M/T]}\), onlyIHLA=1

MRATMIN: real
: Minimum allowable mass rate, \(\mathrm {[M/T]}\), onlyIHLA=1
For TDM of type tank with geometry (CTDMTY = TANK
), 1 input line:
XTDM YTDM ZTDM VOL0 VOLMAX VOLMIN VRATMAX VRATMIN

XTDM: real
: Xposition of TDM in body fixed system, \(\mathrm {[L]}\) 
YTDM: real
: Yposition of TDM in body fixed system, \(\mathrm {[L]}\) 
ZTDM: real
: Zposition of TDM in body fixed system, \(\mathrm {[L]}\) 
VOL0: real
: Volume of liquid at t = 0. , \(\mathrm {[L^3]}\) 
VOLMAX: real
: Maximum allowable volume, \(\mathrm {[L^3]}\) 
VOLMIN: real
: Minimum allowable volume, \(\mathrm {[L^3]}\) 
VRATMAX: real
: Maximum allowable volume rate, \(\mathrm {[L^3/T]}\), onlyIHLA=1

VRATMIN: real
: Minimum allowable volume rate, \(\mathrm {[L^3/T]}\), onlyIHLA=1
Note that if the calculated volume of the tank is less than VOLMAX
,
the actual volume will be used as maximum volume. The minimum allowable
volume is 0.0
.
For TDM of type tank with geometry (CTDMTY = TANK
), 1 input line:
NPORT DENSL DVZ1 DVZ2 DVZ3 DVXZ1 DVXZ2 DVXZ3

NPORT: integer
: Number of PORTIONS, (NPORT <= 5
) 
DENSL: real
: Density of liquid in tank (must be positive) \(\mathrm {[M/L^3]}\) 
DVZ1: real
: X component of TDMs local Zaxis referred in bodyfixed system \(\mathrm {[1]}\) 
DVZ2: real
: Y component of TDMs local Zaxis referred in bodyfixed system \(\mathrm {[1]}\) 
DVZ3: real
: Z component of TDMs local Zaxis referred in bodyfixed system \(\mathrm {[1]}\) 
DVXZ1: real
: Xcomponent of vector in TDM’s XZplane referred in bodyfixed system 
DVXZ2: real
: Ycomponent of vector in TDM’s XZplane referred in bodyfixed system 
DVXZ3: real
: Zcomponent of vector in TDM’s XZplane referred in bodyfixed system
Note that the maximum number of portions, NPORT
, is 5
The local TDM coordinate system is illustrated in the figure below.
For TDM of type tank with geometry (CTDMTY = TANK
), NPORT
input lines:
IADD CPOTYP XRPOR YRPOR ZRPOR RLBP DIA1 DIA2 IAXIS
or
IADD CPOTYP XRPOR YRPOR ZRPOR BLX BLY BLZ

IADD: integer
:
+1
⇒ Volume shall be added 
1
⇒ Subtracted


CPOTYP: character(4)
:
= CONE
: Cone with circular cross section 
= BOX
:


XRPOR: real
: Location of centre of plane 1 in local TDM coordinate system \(\mathrm {[L]}\) 
YRPOR: real
: 
ZRPOR: real
:
For CPOTYP = CONE
:

RLBP: real
: Length of cone 
DIA1: real
: Diameter of plane 1 (bottom plane) 
DIA2: real
: Diameter of plane 2 *IAXIS: integer, Code for direction of cone axis:

= 1
: Axis parallel to TDM’s X axis 
= 2
: Axis parallel to TDM’s Y axis 
= 3
: Axis parallel to TDM’s Z axis (Default)

For CPOTYP = BOX
:

BLX: real
: Length of box in TDM xdirection \(\mathrm {[L]}\) 
BLY: real
: Length of box in TDM ydirection \(\mathrm {[L]}\) 
BLZ: real
: Length of box in TDM zdirection \(\mathrm {[L]}\)
The box and cone portion types are illustrated in the figure `Illustration of potion types BOX and CONE' below.
If the volume of portion B shall be subtracted from portion A
(IADD = 1
), then no part of portion B must be "outside" portion A,
see the figure "Example of physical tank and unphysical tanks (IADD=1)"
below. There is no check in SIMO
that this event does not occur. If
the geometry of a TDM is defined by "adding" portions, the portions
must not be "overlapping" (The intersection must be zero).
NTTDM
input lines (and CTDMTY
different from BALLast
):
TVM FLOW

TVM: real
: Start of time interval, \(\mathrm {[T]}\) 
FLOW: real
: Mass or Volume rate used until next time instant, \(\mathrm {[}\)*\(\mathrm {/T]}\)
The first time value must be zero
This data line is dummy for import from HLA (IHLA=1
) where NTTDM
must be 1
For TDM of type ballast system (CTDMTY = BALLast
), 1 input line:
NTANKS

NTANKS: integer
: Number of tanks
For TDM of type ballast system (CTDMTY = BALLast
), NTANKS blocks of 12 + NPP*2 inputs lines:
TNAME

TNAME: character(256)
: Name of the tank
DESCR1

DESCR1: character(60)
: First line of tank description
DESCR2

DESCR2: character(60)
: Second line of tank description
TAG

TAG: character(256)
: Tag of the tank
XPOS_B YPOS_B ZPOS_B

XPOS_B: real
: xposition of the tank in the bodyfixed coordinate system 
YPOS_B: real
: yposition of the tank in the bodyfixed coordinate system 
ZPOS_B: real
: zposition of the tank in the bodyfixed coordinate system
VTYPE VOLUME

VTYPE: integer
: Code for the unit of the variableVOLUME
:
= 1
: the unit ofVOLUME
is a volume expressed in \(\mathrm {[L^3]}\). 
= 2
: the unit ofVOLUME
is a percentage of the maximum volume of the tank (VOLUME = 100
corresponds to a full tank).


VOLUME: real
: volume of fluid present in the tank. The unit depends on the value ofVTYPE
.
DENSL

DENSL: real
: Density of liquid in tank (must be positive) \(\mathrm {[M/L^3]}\)
VTOL PERM

VTOL: real
: Volume tolerance used for the precision of the computation of fluid volume in the tank \(\mathrm {[L^3]}\) 
PERM: real
: Permeability factor of the tank (PERM = 0.8
means that only 80% of the tank volume can be filled with fluid).
GTYPE

GTYPE: character(256)
: Type of geometry file used for the description of the tank. Only option available in the current version:
= triangularMesh
: the geometry file given inGFILE
should be of type STL (STereoLithography)

GFILE

GFILE: character(256)
: Geometry file name. The type of file should be accorded to the value ofGTYPE
.
XPOS_T YPOS_T ZPOS_T ROLL_T PITCH_T YAW_T

XPOS_T: real
: xposition of the geometry in the tankfixed coordinate system 
YPOS_T: real
: yposition of the geometry in the tankfixed coordinate system 
ZPOS_T: real
: zposition of the geometry in the tankfixed coordinate system 
ROLL_T: real
: roll angle of the geometry in the tankfixed coordinate system 
PITCH_T: real
: pitch angle of the geometry in the tankfixed coordinate system 
YAW_T: real
: yaw angle of the geometry in the tankfixed coordinate system
Note that the tank coordinate system uses the same convention as usual SIMO bodies coordinate system.
DTYPE NPP

DTYPE: integer
: code for damage type of the tank:
= 0
: the tank is intact 
= 1
: the tank is damaged. It will be filled with sea water up to the calm water free surface (water height due to waves is disregarded).


NPP: integer
: number of pressure points
For each tank in TDM of type ballast system (CTDMTY = BALLast
), NPP blocks of 2 input lines:
CHPP

CHPP: character(256)
: Name of pressure point
XPOS_T YPOS_T ZPOS_T

XPOS_T: real
: xposition of the pressure point in the tankfixed coordinate system 
YPOS_T: real
: yposition of the pressure point in the tankfixed coordinate system 
ZPOS_T: real
: zposition of the pressure point in the tankfixed coordinate system
9. Separation of low and wave frequency motions for body type 1
Floating vessels can be modelled in two basic ways in SIMO
: 
Separated analysis (body type 2), which works based on separation of
wave frequency (WF) and low frequency (LF) motions. In this case the low
frequency motion is directly available in the analysis.  Simulation of
total motion (body type 1), which solves the combined wave and low
frequency motion in time without separation.
In some situations during the time domain simulation the low frequency motion of a body is needed. This is not directly available when simulating total motion in time domain (body type 1) so the low frequency motion has to be estimated based on the time series of total motion.
Estimation of low frequency motion is intended to be used for floating
vessels with 1st and 2nd order hydrodynamic forces included, i.e. bodies
that have wave force transfer functions and retardation functions. For
other bodies, for example spool pieces, templates etc. in a lifting
operation, the estimation method should be set to NONE
or body type 2
may be used.
The lowfrequency body position and velocity is used for several purposes, most notably:

Heading correction: When interpolating between force time series for different headings during simulation (heading correction), the low frequency yaw motion is used to obtain the relative wave heading and thereby the correct time varying force transfer function. If the total yaw motion is used, wave frequency temporal changes in the transfer function will interact with the wave and create fictitios differencefrequency forces. This may lead to, for example, wrong mean heading of a weather vaning vessel.

Cosine series waves: When calculating wave excitation forces together with the
Cosine
wave generation method, the phase of the wave force will be based on the lowfrequency instantaneous position of the body. 
Lowfrequency damping: When defining linear and quadratic damping matrices, the user can choose between multiplying the matrix with lowfrequency, wavefrequency or the total velocity.

Current force: Lowfrequency velocity is used in calculation of relative current velocity

Wind force: Lowfrequency velocity is used in calculation of relative current velocity
There are currently two alternative methods for estimating lowfrequency motions:

2nd order lowpass (LP) Butterworth filter

Nonlinearitypass (NLP) filter based on 1st order motion transfer functions
The primary disadvantage of using the Butterworth filter is that a significant delay will be introduced in the LP filtered signals. Moreover, the filter have a mild rolloff, meaning that it will not be able to remove all the energy above the cutoff frequency. The delay can lead to undesired and unphysical effects. One effect is that a lowfrequency damping force will have a component in phase with displacement, thereby acting as an apparent stiffness and modifying the natural period of the system. It has also been observed that the heading stability of turret moored vessels can be adversely affected by the delay. An increase in cutoff period will increase the delay, and this has shown to increase the magnitude of unstable yaw motion. To limit the delay, it is therefore adviced to use a cutoff period close to the wave frequency range. A reasonable starting point can be,
where \(\mathrm {T_c}\) is the cut off period and \(\mathrm {T_P}\) is the peak period in the wave spectrum.
The nonlinearitypass (NLP) filter estimates the LF motion by subtracting the linear wave induced motions from the total motion. The linear motion is obtained from first order motion transfer functions (RAO’s). As such, it has much in common with the separated analysis option (body type 2). The main advantage of simulating the total motion (body type 1) in combination with an NLP filter as compared to body type 2, is that body type 1 will capture interactions between the wave frequency responses and the low frequency responses. Such interactions will in principle exist in all nonlinear systems.
The NLP filter will work well (as a lowpass filter) when the following conditions are met:

The wave frequency range of the simulated response is dominated by linear wave induced response.

The provided 1st order motion transfer functions (RAO’s) are accurate and represents a linearization of the SIMO simulation model

The effect of LF response on the WF response is small.

Low frequency (differencefrequency) nonlinear responses is much larger than high frequency (sumfrequency) responses.
These conditions are most often satisfied for a large volume floating structure subjected to waves and the NLP filter is then the recommended filtering method. The best way to determine the applicability is by comparing time series and power spectra of total and LF motions estimated by SIMO. It should be noted that in many cases there will be a significant effect of the WF responses on the LF responses  an effect not captured by a separated analysis (body type 2). The presence of such effects does not make the filter less efficient. An opposite effect (LF effect on WF responses) will however violate the conditions listed above and make the filter less efficient. Still, even in cases where the conditions are only approximately satisfied the filter may remove most of the wave frequency responses and perform satisfactorily. Indeed it is likely to remove a larger portion of the WF responses as compared to the Butterworth filter due to the mild rolloff the Butterworth filter.
It should be noted that the wave frequency response subtracted from the total response is itself dependent on the lowfrequency yaw motion. Thus, the LF yaw angle, \(\mathrm {\psi_{LF}}\), is calculated by solving the following nonlinear equation for \(\mathrm {\psi_{LF}}\):
This equation will have a unique solution when \(\mathrm {\frac{d\psi_{WF}(\psi_{LF})}{\psi_{LF}}<1}\) for all \(\mathrm {\psi_{LF}}\).
The following data group may be used to estimate low frequency motion when simulation directly the total motion (body type 1). Note that the NLP filter does not have a cutoff period. However, it requires motions transfer functions defined in the data group described in section Firstorder wave force transfer functions. If a motion transfer function in a given degree of freedom is missing, the associated WF motion will be zero and the filtered signal will become equal to the total signal for that degree of freedom.
1 input line:
METH

METH: character(4)
: Method for estimating low frequency motions:
= NONE
: No estimation. Total motion will be used in all force models 
= BW2
: Estimate low frequency motion using a 2nd order Butterworth low pass filter 
= NLP
: Estimate low frequency motion using the nonlinearitypass filter

10. Retardation function
This data group is used for body type 1 (IBDTYP = 1
) to account for
frequency dependent added mass and damping in the time domain.
Text for describing the retardation function, 2 input lines:
TXRET

TXRET: character(60)
: Character string
1 input line:
NRET IDOF JDOF

NRET: integer
: Number of values in retardation function for (idof, jdof) 
IDOF: integer
: Force in dofIDOF
due to velocity in dofJDOF

JDOF: integer
:
Retardation function, 1 input line:
RET(1), RET(2), .... RET(NRET)

RET(k): real
: Retardation function value, Time k is present time \(\mathrm {[F/L,FT,FL]}\)
When interpolation to find values for the sampling time interval applied in the dynamic analysis, the value at zero time delay, (k=1), is doubled.
11. Hydrostatic stiffness
Text for describing the hydrostatic stiffness, 2 input lines:
TXSTF

TXSTF: character(60)
: Character string
1 input line:
ISTMOD

ISTMOD: integer
: Stiffness model
= 1
: Linear stiffness matrix 
= 2
: Nonlinear stiffness computed by volume integration

Linear stiffness matrix model is used (ISTMOD = 1
)
Stiffness reference
Reference position for stiffness force, i.e. the global position where stiffness force is zero. 1 input line:
XREF YREF ZREF PHI THETA PSI

XREF: real
: Global Xcoordinate of body origin, \(\mathrm {[L]}\) 
YREF: real
: Global Ycoordinate of body origin, \(\mathrm {[L]}\) 
ZREF: real
: Global Zcoordinate of body origin, \(\mathrm {[L]}\) 
PHI: real
: Euler angle, rotation about xaxis \(\mathrm {[deg]}\) 
THETA: real
: Euler angle, rotation about yaxis \(\mathrm {[deg]}\) 
PSI: real
: Euler angle, rotation about zaxis \(\mathrm {[deg]}\)
The orientation of the body system is obtained by the rotation sequence:
rotation about global Z, local Y and local X. PHI
and THETA
are
dummy for body type 3 (IBDTYP = 3
)
Stiffness matrix
Stiffness matrix, 6 input lines:
KMATi1 KMATi2 KMATi3 KMATi4 KMATi5 KMATi6

KMATij: real
: Stiffness force in dofi
due to unit displacement in dofj
, \(\mathrm {[F/L,F,FL]}\)
The rotations related to the stiffness matrix are in
\(\mathrm {[rad]}\), i.e. the unit of KMAT66
is
\([FL/\mathrm {rad}]\).
The hydrostatic forces/moments are calculated as follows.

The global displacements are computed by subtracting reference position for stiffness force (i.e.
XREF
,YREF
,ZREF
,PHI
,THETA
,PSI
) from the global vessel position. 
The global displacements are transformed to body related system.

These displacements are multiplied with the stiffness matrix and resulting forces and moments are calculated. The forces/moments are then transformed to body fixed coordinate system.
This formulation will give correct hydrostatic stiffness (in heave, roll and pitch). However, it should be noted that this formulation gives stiffness in the body related system, and stiffness in e.g. X and yaxis hence are referred to body surge and sway. Consequently the stiffness will be applied as a simplified "gain" coefficient in a DP system. It can however, not be used to represent surge and sway stiffness of a mooring system for a body with relatively large yaw motions.
Nonlinear stiffness model is used (ISTMOD = 2
)
Note that the hydrostatic force model will only return the buoyancy force when using this formulation. It is therefore often relevant to include the gravity forces for the body in that case (see section Gravity force).
Number of hulls, 1 input line:
NHULLS

NHULLS: integer
: Number of hulls that contributes to the hydrostatic force
Hull data, NHULLS blocks of 3 input lines:
GTYPE

GTYPE: character(256)
: Type of geometry file used for the description of the hull. Only options available in the current version:
= triangularMesh
: the geometry file given inGFILE
should be of type STL (STereoLithography) 
= lowOrderPanel
: the geometry file given inGFILE
should be of type GDF (Geometry Data File), as defined in WAMIT documentation

Note that it is highly recommended to use STL files for the description of the hull geometry (more precise, less CPU time consuming).
GFILE

GFILE: character(256)
: Geometry file name. The type of file should be accorded to the value ofGTYPE
.
XPOS_H YPOS_H ZPOS_H ROLL_H PITCH_H YAW_H

XPOS_H: real
: xposition of the geometry in the hullfixed coordinate system 
YPOS_H: real
: yposition of the geometry in the hullfixed coordinate system 
ZPOS_H: real
: zposition of the geometry in the hullfixed coordinate system 
ROLL_H: real
: roll angle of the geometry in the hullfixed coordinate system 
PITCH_H: real
: pitch angle of the geometry in the hullfixed coordinate system 
YAW_H: real
: yaw angle of the geometry in the hullfixed coordinate system
Note that the hull coordinate system uses the same convention as usual SIMO bodies coordinate system.
12. Nonlinear modification of buoyancy and wave forces
First note that this model is available only if a linear stiffness
matrix (ISTMOD = 1
) is used to model the hydrostatic stiffness (see
section Hydrostatic stiffness).
The applied models for wave and hydrostatic stiffness loading acting on a "large volume" body are based on a hydrodynamic input description precalculated for a certain draught assuming constant geometry of the intersection between the hull and the mean water level. This means that the bodyfixed coordinate system has to coincide with the system used for computation of the hydrodynamic potential flow solution, and that the load model for nonlinear modification of buoyancy and wave forces has to be initialized at the appropriate draught.
The nonlinear modification of buoyancy and wave forces load model is applied to give more accurate results when the wave height and motions are large and the hull geometry is draftdependent. This is done by a quasistatic correction of the pressure forces that act on the hull. The correction uses a numerical panel model for the hull’s geometry in the splash zone. The coordinate axes of the panel model are the same as the body axes, except that the origin may be offset from that of the body axes system. When the panel description extends beyond the anticipated splash zone, the number of panels to be considered in the computation can be reduced by specifying a lower and an upper bound for the draught.
Note that the correction load model is initialized at the reference position for hydrostatic stiffness forces. As a consequence, the reference position has to coincide with the origin of the system used for hydrodynamic calculations. This implies that the reference position can not be used to introduce specified force in global Zdirection, nor moments for roll or pitch.
The following input must be given:
Name of geometry file (gdffile), 1 input line:
GDF_FILE

FILE_NAME: character(256)
: Character string
Reference point of the coordinates in the geometry file (body coordinates) and vertical range to be used. 1 input line:
XGEO YGEO ZGEO ZMIN ZMAX CHMET

XGEO: real
: Xcoordinate of zero of geometry coordinates 
YGEO: real
: Ycoordinate of d.o. 
ZGEO: real
: Zcoordinate of d.o. 
ZMIN: real
: Minimum vertical position to be used (geometry file coordinates) 
ZMAX: real
: Maximum vertical position to be used (geometry file coordinates) 
CHMET: character(4)
: Correction method. Must be'MWL'
or'WAVE'

CHMET = MWL
⇒ Nonlinear modification of buoyancy force based on panel locations with respect to mean water level

Note that modification to wave forces is performed only if waves are present and 1st order wave forces are specified. In this case also the modification to drift forces will be computed if specified.
Example of panel system for buoyancy correction. ZMIN and ZMAX indicate the bounds of the draught band to be considered in the computation. Only panels having their centre between these bounds are included in the calculation. SWL indicates the mean water level.
13. Linear damping
The damping affects the total motion for IBDTYP = 1
or 3
and the low
frequency motion if IBDTYP = 2
.
14. Quadratic damping
15. Firstorder wave force transfer functions
Text for describing the firstorder wave force transfer functions, 2 input lines.
TXFO1

TXFO1: character(60)
: Character string
1 input line.
NFODIR NFOFRE IFOSYM ITYPIN

NFODIR: integer
: Number of directions 
NFOFRE: integer
: Number of frequencies 
IFOSYM: integer, default: 0
: Symmetry code
= 0
: No symmetry 
= 1
: Single symmetry about xz plane 
= 2
: Double symmetry, xz and yz planes


ITYPIN: integer
: Code for which format the transfer functions are given in
= 1
: Complex form 
= 2
: Amplitude ratio and phase \(\mathrm {[deg]}\) 
= 3
: Amplitude ratio and phase \(\mathrm {[rad]}\)

Directions, NFODIR input lines.
IFODIR FODIR

IFODIR: integer
: Direction number 
FODIR: real
: Propagation direction, \(\mathrm {[deg]}\)
Note that  If IFOSYM = 1
 0
deg <=
IFODIR
<=
180
deg. 
Both 0
and 180
deg must be included  If IFOSYM = 2
 0
deg <=
IFODIR
<=
90
deg.  Both 0
and 90
deg must be included
Frequencies, NFOFRE input lines.
IFREQ FOFRE

IFREQ: integer
: Frequency number 
FOFRE: real
: Angular frequency, \([\mathrm {rad}/T]\)
1 identification input line. "DOF" is either SURGe, SWAY, HEAVe, ROLL, PITCh or YAW.
"DOF" FORCe TRANsfer function
Transfer function, for WF "DOF" force, NFOFRE*NFODIR input lines
IDIR IFREQ A B

IDIR: integer
: Direction number 
IFREQ: integer
: Frequency number 
A: real
: Interpretation according to the value ofITYPIN

ITYPIN=1
: Real part 
ITYPIN=2
: Amplitude ratio \(\mathrm {[F/L],[F]}\) 
ITYPIN=3
: Amplitude ratio \(\mathrm {[F/L],[F]}\)


B: real
: Interpretation according to the value ofITYPIN

ITYPIN=1
: Imaginary part 
ITYPIN=2
: Phase angle \(\mathrm {[deg]}\) 
ITYPIN=3
: Phase angle \(\mathrm {[rad]}\)

Both translational and rotational transfer functions must be given for unit wave amplitude.
For angular motions the dimension of the amplitude ratio is \([\mathrm {rad}/L]\), while for translations: \(\mathrm {[L/L]}\).
16. Firstorder motion transfer functions (RAO)
Text for describing the firstorder motion transfer functions, 2 lines.
TXMO1

TXMO1: character(60)
: Character string
1 input line.
NMODIR NMOFRE IMOSYM ITYPIN

NMODIR: integer
: Number of directions 
NMOFRE: integer
: Number of frequencies 
IMOSYM: integer, default: 0
: Symmetry code
= 0
: No symmetry 
= 1
: Single symmetry about xz plane 
= 2
: Double symmetry, xz and yz planes


ITYPIN: integer
: Code for which format the transfer functions are given in
= 1
: Complex form 
= 2
: Amplitude ratio and phase \(\mathrm {[deg]}\) 
= 3
: Amplitude ratio and phase \(\mathrm {[rad]}\)

Directions, NMODIR input lines.
IMODIR MODIR

IMODIR: integer
: Direction number 
MODIR: real
: Propagation direction, \(\mathrm {[deg]}\)
Note that  If IMOSYM = 1
 0
deg <=
IMODIR
<=
180
deg. 
Both 0
and 180
deg must be included  If IMOSYM = 2
 0
deg <=
IMODIR
<=
90
deg.  Both 0
and 90
deg must be included
Frequencies, NMOFRE input lines.
IFREQ MOFRE

IFREQ: integer
: Frequency number 
MOFRE: real
: Angular frequency, \([\mathrm {rad}/T]\)
1 identification input line. "DOF" is either SURGe, SWAY, HEAVe, ROLL, PITCh or YAW.
"DOF" MOTIon TRANsfer function
Transfer function, for HF "DOF" motion, NMOFRE*NMODIR input lines
IDIR IFREQ A B

IDIR: integer
: Direction number 
IFREQ: integer
: Frequency number 
A: real
: Interpretation according to the value ofITYPIN

ITYPIN=1
: Real part 
ITYPIN=2
: Amplitude ratio \([1],[\mathrm {rad}]\) 
ITYPIN=3
: Amplitude ratio \([1],[\mathrm {rad}]\)


B: real
: Interpretation according to the value ofITYPIN

ITYPIN=1
: Imaginary part 
ITYPIN=2
: Phase angle \(\mathrm {[deg]}\) 
ITYPIN=3
: Phase angle \(\mathrm {[rad]}\)

The amplitude ratio rotational transfer functions must be given as
\([\mathrm {rad}/L]\). Both translational and rotational
transfer functions must be given for unit wave amplitude. When ITYPIN=3,
the complex transfer function element is given as Acos(B)
iA*sin(B) where i is the imaginary unit.
17. Wind force coefficients
Text for describing the wind force coefficients, 2 input lines.
TXWICO

TXWICO: character(60)
: Character string
If identification line FORMAT
is present, 1 input line.
WCTYPE

WCTYPE: integer
: Code for wind coefficient type. Options available in current version are:
= 0
: Wind coefficients are given as a function of the relative wind direction 
= 1
: Wind coefficients are given as function of:
relative wind direction

body vertical position

body roll angle

body pitch angle


Note that if FORMAT
is not present, SIMO will automatically consider
that WCTYPE = 0
.
Classic wind force coefficients (WCTYPE = 0
)
1 input line.
NWIDIR IWISYM WIAREA ZCOEF

NWIDIR: integer
: Number of directions 
IWISYM: integer, default: 0
: Symmetry code
= 0
: No symmetry 
= 1
: Single symmetry about xz plane 
= 2
: Double symmetry, xz and yz planes


WIAREA: real, default: 2000
: Characteristic area for admittance function (ref. Theory Manual) 
ZCOEFF: real, default: 10
: Height referred to still water level for which wind velocity will be calculated.
Coefficients, NWIDIR input lines.
WIDIR WI1 WI2 WI3 WI4 WI5 WI6

WIDIR: real
: Wind direction, \(\mathrm {[deg]}\) 
WIn: real
: Wind force coefficient for degree of freedom n, \(\mathrm {[FT^2/L^2,FT^2/L]}\)
Note that when "No symmetry" is selected, coefficients for both 0
and
360
deg ought to be included and that they must be equal.
Position dependent wind force coefficients (WCTYPE = 1
)
1 input line.
WIAREA ZCOEF

WIAREA: real, default: 2000
: Characteristic area for admittance function (ref. Theory Manual) 
ZCOEFF: real, default: 10
: Height referred to still water level for which wind velocity will be calculated.
1 input line.
READFLAG

READFLAG: integer
: Flag indicating if the wind coefficients should be read from an external file:
= 0
: wind coefficients are read directly from the sysfile 
= 1
: wind coefficients are read from an external input file

Wind coefficients are given in the sysfile (READFLAG = 0
)
1 input line
NWIDIR

NWIDIR: integer
: Number of relative wind directions for which the wind coefficients will be given
1 input line
NWIZ

NWIZ: integer
: Number of body vertical positions for which the wind coefficients will be given
1 input line
NWIROLL

NWIROLL: integer
: Number of body roll angles for which the wind coefficients will be given
1 input line
NWIPITCH

NWIPITCH: integer
: Number of body roll angles for which the wind coefficients will be given
NWIDIRNWIZNWIROLL*NWIPITCH input lines, given in the following nested loops order: WIDIR>WIZ>WIROLL>WIPITCH
WI1 WI2 WI3 WI4 WI5 WI6

WIn: real
: Wind force coefficient for degree of freedom n, \(\mathrm {[FT^2/L^2,FT^2/L]}\)
Note: SIMO expects that the wind coefficients are given as nested loops as follows:
for idDIR=1:NWIDIR for idZ=1:NWIZ for idROLL=1:NWIROLL for idPITCH=1:NWIPITCH read WIn corresponding to WIDIR(idDIR),WIZ(idZ),WIROLL(idROLL),WIPITCH(idPITCH) end for end for end for end for
Wind coefficients are read from an external input file (READFLAG = 1
)
1 input line
FILENAME

FILENAME: character(256)
: Path to the position dependent wind coefficient file
For file format details, see Position dependent wind/current coefficients file.
18. Diffracted wave transfer functions in points
Text for describing the linear incoming wave to diffracted wave transfer functions, 2 lines.
TXDI1

TXDI1: character(60)
: Character string
1 input line.
XBDY YBDY ZBDY

XBDY: real
: xcoordinate of where transfer function is calculated \(\mathrm {[L]}\) 
YBDY: real
: ycoordinate of where transfer function is calculated \(\mathrm {[L]}\) 
ZBDY: real
: zcoordinate of where transfer function is calculated \(\mathrm {[L]}\)
Note that the coordinates are specified in body related system
1 input line.
NDIR NFRE ITYPIN

NDIR: integer
: Total number of wave directions (for this point) 
NFRE: integer
: Total number of frequencies (for this point) 
ITYPIN: integer
: Code for which format the transfer functions are given in
= 1
: Complex form 
= 2
: Amplitude ratio and phase \(\mathrm {[deg]}\) 
= 3
: Amplitude ratio and phase \(\mathrm {[rad]}\)

Directions, NDIR input lines.
IDIR DIR

IDIR: integer
: Direction number (between1
andNDIR
) 
DIR: real
: Propagation direction of incoming wave, \(\mathrm {[deg]}\)
Frequencies, NFRE input lines.
IFRE FRE

IFRE: integer
: Frequency number (between1
andNFRE
) 
FRE: real
: Angular frequency of incoming wave, \([\mathrm {rad}/T]\)
1 identification input line.
WAVE ELEVation DIFFracted wave transfer function
And / or
XVELocity DIFFracted WAVE transfer function
YVELocity DIFFracted WAVE transfer function
ZVELocity DIFFracted WAVE transfer function
Transfer function from incoming wave to diffracted wave, NDIR*NFRE input lines.
IDIR IFRE A B

IDIR: integer
: Direction number 
IFRE: integer
: Frequency number 
A: real
: Interpretation according to value ofITYPIN

ITYPIN=1
: Real part 
ITYPIN=2
: Amplitude ratio \(\mathrm {[1]}\),\([\mathrm {rad}/L]\) 
ITYPIN=3
: Amplitude ratio \(\mathrm {[1]}\),\([\mathrm {rad}/L]\)


B: real
: Interpretation according to value ofITYPIN

ITYPIN=1
: Imaginary part 
ITYPIN=2
: Phase angle \(\mathrm {[deg]}\) 
ITYPIN=3
: Phase angle \(\mathrm {[rad]}\)

If transfer functions of X, Y or Zvelocity are given, corresponding acceleration time series will also be computed. When ITYPIN=3, the complex transfer function is given as Acos(B) + iA*sin(B) where i is the imaginary unit.
HLA export or visualisation of diffracted wave elevation
One or more fields of diffracted wave elevations can be exported for visualization, or to HLA, in a simulator setting. In these points the "WAVE ELEVation DIFFracted wave transfer function" has to be specified, and the points must be equidistant in X and Y direction, respectively. The generation and visualisation of a field of diffracted wave elevations is computationally demanding and time consuming.
In order to increase the simulation speed in an HLA simulation session, the computation can be distributed between several computers in the HLA network.
In that case one computer (i.e. HLA federate, identified as the "DIFFRACTED WAVE MASTER") will specify the wave field and a number of computers (called "DIFFRACTED WAVE WORKERS") that cooperate in the generation of wave elevations.
In case that a diffracted wave field from a standalone SIMO
analysis
shall be visualised, the SIMO
sysfile should both specify the wave
field and generate the diffracted wave elevations, and should thus
include both "MASTER" and "WORKER".
The following input sequence will enable visualization of one rectangular patch of diffracted wave elevations:
Diffracted wave patch name, 1 input line
CHDWP

CHDWP: character(120)
: Diffracted wave patch name
Either the diffracted wave master or the diffracted wave worker or both have to be specified.
Specification of number of points for diffracted wave MASTER, 1 input line
NWRK NPX NPY

NWRK: integer
: Number of `WORKERs' (divisions) for the diffracted wave elevation patch 
NPX: integer
: Number of points in Xdirection 
NPY: integer
: Number of points in Ydirection
SIMO
standalone analysis: NWRK = 1
Specification of patch for wave MASTER, 1 input line
DWDX DWDY DWX DWY DWPSI

DWDX: real
: Equidistant length between diffracted wave points in Xdirection \(\mathrm {[L]}\) 
DWDY: real
: Equidistant length between diffracted wave points in Ydirection \(\mathrm {[L]}\) 
DWX: real
: Minimum Xcoordinate of the diffracted wave patch referred to the bodyfixed coordinate system \(\mathrm {[L]}\) 
DWY: real
: Minimum Ycoordinate of the diffracted wave patch referred to the bodyfixed coordinate system \(\mathrm {[L]}\) 
DWPSI: real
: Yaw angle of the diffracted wave patch relative to the bodyfixed coordinate system \(\mathrm {[deg]}\)
19. Linear current coefficients
Text for describing the linear current coefficients, 2 input lines.
TXC1CO

TXC1CO: character(60)
: Character string
1 input line.
NC1DIR IC1SYM

NC1DIR: integer
: Number of directions 
IC1SYM: integer, default: 0
: Symmetry code
= 0
: No symmetry 
= 1
: Single symmetry about xz plane 
= 2
: Double symmetry, xz and yz planes

Coefficients, NC1DIR input lines.
C1DIR C11 C12 C13 C14 C15 C16

C1DIR: real
: Direction, \(\mathrm {[deg]}\) 
C1n: real
: Linear current force coefficient for degree of freedom n, \(\mathrm {[FT/L,FT]}\)
Note that when No symmetry' is selected, coefficients for both `0
and
360
deg ought to be included and that they must be equal.
20. Quadratic current coefficients
Text for describing the quadratic current coefficients, 2 input lines.
TXC2CO

TXC2CO: character(60)
: Character string
If identification line FORMAT
is present, 1 input line.
CCTYPE

CCTYPE: integer
: Code for current coefficient type. Options available in current version are:
= 0
: Current coefficients are given as a function of the relative current direction 
= 1
: Current coefficients are given as function of:
relative current direction

body vertical position

body roll angle

body pitch angle


Note that if FORMAT
is not present, SIMO will automatically consider
that CCTYPE = 0
.
Classic current force coefficients (CCTYPE = 0
)
1 input line.
NC2DIR IC2SYM ISTRIP RLTOT RLORI

NC2DIR: integer
: Number of directions 
IC2SYM: integer, default: 0
: Symmetry code
= 0
: No symmetry 
= 1
: Single symmetry about xz plane 
= 2
: Double symmetry, xz and yz planes


ISTRIP: integer, default: 0
: Strip model number
= 0
: No strip model 
= 1
: Strip model no. 1 
= 2
: Strip model no. 2


RLTOT: real
: Total length 
RLORI: real
: Length fromFP
to motion origin
Note that when No symmetry' is selected, coefficients for both `0
and
360
deg ought to be included and that they must be equal.
For details on the strip model, confer the Theory Manual. RLTOT
and
RLORI
apply for strip models only.
Position dependent quadratic current force coefficients (CCTYPE = 1
)
1 input line.
READFLAG

READFLAG: integer
: Flag indicating if the current coefficients should be read from an external file:
= 0
: current coefficients are read directly from the sysfile 
= 1
: current coefficients are read from an external input file

Current coefficients are given in the sysfile (READFLAG = 0
)
1 input line
NCUDIR

NCUDIR: integer
: Number of relative current directions for which the current coefficients will be given
1 input line
NCUZ

NCUZ: integer
: Number of body vertical positions for which the current coefficients will be given
1 input line
NCUROLL

NCUROLL: integer
: Number of body roll angles for which the current coefficients will be given
1 input line
NCUPITCH

NCUPITCH: integer
: Number of body roll angles for which the current coefficients will be given
NCUDIRNCUZNCUROLL*NCUPITCH input lines, given in the following nested loops order: CUDIR>CUZ>CUROLL>CUPITCH
CU1 CU2 CU3 CU4 CU5 CU6

CUn: real
: current force coefficient for degree of freedom n, \(\mathrm {[FT^2/L^2,FT^2/L]}\)
Note: SIMO expects that the current coefficients are given as nested loops as follows:
for idDIR=1:NCUDIR for idZ=1:NCUZ for idROLL=1:NCUROLL for idPITCH=1:NCUPITCH read CUn corresponding to CUDIR(idDIR),CUZ(idZ),CUROLL(idROLL),CUPITCH(idPITCH) end for end for end for end for
current coefficients are read from an external input file (READFLAG = 1
)
1 input line
FILENAME

FILENAME: character(256)
: Path to the position dependent current coefficient file
For file format details, see Position dependent wind/current coefficients file.
21. Secondorder wave drift coefficients
Text for describing the secondorder wave drift force coefficients, 2 input lines.
TXWADR

TXWADR: character(60)
: Character string
1 input line.
NDRDIR NDRFRE IDRSYM

NDRDIR: integer
: Number of directions 
NDRFRE: integer
: Number of frequencies 
IDRSYM: integer, default: 0
: Symmetry code
= 0
: No symmetry 
= 1
: Single symmetry about xz plane 
= 2
: Double symmetry, xz and yz planes

NDRDIR input lines.
IDRDIR DRDIR

IDRDIR: integer
: Direction number 
DRDIR: real
: Direction, \(\mathrm {[deg]}\)
Note that:

If
IDRSYM = 1

0
deg ≤DRDIR
≤180
deg 
0
deg must be included


If
IDRSYM = 2

0
deg ≤DRDIR
≤90
deg

Frequencies, NDRFRE input lines.
IDRFRE DRFRE

IDRFRE: integer
: Frequency number 
DRFRE: real
: Angular frequency, \(\mathrm {[rad}/T]\)
1 identification input line, "DOF" is either SURGe, SWAY, HEAVe, ROLL, PITCh or YAW.
"DOF" WAVE DRIFt coefficients
Force coefficients, NDRFRE*NDRDIR input lines
IDRDIR IDRFRE TDR

IDRDIR: integer
: Direction number 
IDRFRE: integer
: Frequency number 
TDR: real
: Wave drift force coefficient, \(\mathrm {[F/L^2,F/L]}\)
Wave drift damping
Newman’s method (ICOF=2)
1 input line
NDDDIR NDDFRE

NDDDIR: integer
: Number of directions 
NDDFRE: integer
: Number of frequencies
1 identification input line (if optional line CALculation METhod is given)
IVEMET

IVEMET: integer
: Calculation method for wave drift damping force
= 1
: uses body velocity relative to current velocity 
= 2
: uses absolute body velocity Note: in both cases, lowfrequency velocity is used (if available)

Directions, NDDDIR input lines
IDDDIR DDDIR

IDDDIR: integer
: Direction number 
DDDIR: real
: Direction, \(\mathrm {[deg]}\)
Frequencies, NDDFRE input lines
IDDFRE DDFRE

IDDFRE: integer
: Frequency number 
DDFRE: real
: Angular frequency, \(\mathrm {[rad}/T]\)
1 identification input line, "BIJ" is B11,B12,B16,B21,B22,B26,B61,B62 or B66
BIJ DRIFt DAMPing coefficients
Damping force coefficients, NDDFRE*NDDDIR input lines
IDDDIR IDDFRE WAD2

IDDDIR: integer
: Direction number 
IDDFRE: integer
: Frequency number 
WAD2: real
: Wave drift damping force coefficient
B11, B21, B22, B12
: \(\mathrm {[(F/(L/T))/L^2]}\) 
B16, B26, B61, B62
: \(\mathrm {[(F/(1/T))/L^2]}\) 
B66
: \(\mathrm {[(FL/(1/T))/L^2]}\)

22. Secondorder wave force transfer functions
To do simulations with full Quadratic Transfer Functions (QTFs), the
number of frequencies along both axes must be equal. This is given by
the parameters NWQTF1
and NWQTF2
. When running DYNMOD
the option
"Full QTF" will then be available in the menu Frequency variation of
QTF force.
Text for describing the secondorder wave force transfer functions, 2 input lines.
TXFO2

TXFO2: character(60)
: Character string
1 input line.
NDQTF1 NDQTF2 NWQTF1 NWQTF2 MODQTF IQTSYM ITYPIN

NDQTF1: integer
: Number of directions 
NDQTF2: integer
: Number of directions (1 orNDQTF1
) 
NWQTF1: integer
: Number of frequencies 
NWQTF2: integer
: Number of frequencies (1 orNWQTF1
) 
MODQTF: integer
: Mode for transfer functions
= 1
: Difference frequency transfer functions 
= 2
: Sum frequency transfer functions


IQTSYM: integer, default: 0
: Symmetry code
= 0
: No symmetry is mandatory


ITYPIN: integer
: Code for which format the transfer functions are given in
= 1
: Complex form 
= 2
: Amplitude ratio and phase \(\mathrm {[deg]}\) 
= 3
: Amplitude ratio and phase \(\mathrm {[rad]}\)

Directions, NDQTF1 input lines.
IQTDIR QTFDIR

IQTDIR: integer
: Direction number 
QTFDIR: real
: Direction, \(\mathrm {[deg]}\)
Frequencies, NWQTF1 input lines.
IQTFRE QTFFRE

IQTFRE: integer
: Frequency number 
QTFFRE: real
: Angular frequency, \(\mathrm {[rad}/T]\)
1 identification input line. "DOF" is SURGe, SWAY, HEAVe, ROLL, PITCh or YAW.
"DOF" QUADratic TRANsfer function
Transfer function, for HF "DOF" force,
NWQTF1
((NWQTF2
+1)/2)NDQTF1
*((NDQTF2
+1)/2) input lines.
IDQTF1 IDQTF2 IWQTF1 IWQTF2 A B

IDQTF1: integer
: Direction number 1 
IDQTF2: integer
: Direction number 2 
IWQTF1: integer
: Frequency number 1 
IWQTF2: integer
: Frequency number 2 
A: real
: Interpretation according to value ofITYPIN

ITYPIN=1
: Real part \(\mathrm {[F/L^2,F/L]}\) 
ITYPIN=2
: Amplitude ratio \(\mathrm {[F/L^2,F/L]}\) 
ITYPIN=3
: Amplitude ratio \(\mathrm {[F/L^2,F/L]}\)


B: real
: Interpretation according to value ofITYPIN

ITYPIN=1
: Imaginary part \(\mathrm {[F/L^2,F/L]}\) 
ITYPIN=2
: Phase angle \(\mathrm {[deg]}\) 
ITYPIN=3
: Phase angle \(\mathrm {[rad]}\)

Both translational and rotational transfer functions must be given for unit wave height.
When ITYPIN=3, the complex transfer function element is given as Acos(B) + iA*sin(B) where i is the imaginary unit.
When NDQTF2=1, IDQTF2 must always be equal to IDQTF1.
23. Distributed element forces
This force model applies to two types of elements:  Slender elements (example: spoolpiece)  Fixed body elements with zero extension (giving forces acting at a specified point)
Both give 6 d.o.f. forces on the body on which the elements are attached. Make sure that any forces here are not otherwise included in the integral force coefficients for the body.
For each body where either of these two force models shall be used, the following 3 input lines shall precede the input sequence for all the attached elements:
The elements can be grouped for HLA export. In that case the following 3 input lines shall precede the input sequence for each element group:
Text for describing distributed hydrodynamic forces, 2 input lines.
TXDIST

TXDIST: character(60)
: Character string
HLA export of distributed element forces
If the global coordinates of all nodes and the hydrodynamic forces on each strip shall be exported to HLA, the following 2 input lines shall follow directly after the first 3 lines:
Slender elements
1 input line
SPEVOL DSTMAS IFOADD IVOL IWDHF NSTRIP

SPEVOL: real
: Specific volume (crosssection area) of element, \(\mathrm {[L^2]}\) 
DSTMAS: real
: Distributed mass of element, \(\mathrm {[M/L]}\) 
IFOADD: integer, default: 1
: Parameter defining wave force integration method:
IFOADD = 1
: Force integrated to actual wave elevation 
IFOADD = 0
: Force integrated to z=0 (strictly linear wave theory)


IVOL: integer, default: 1
: Parameter for load types
IVOL = 0
: Gravity and buoyancy NOT included 
IVOL = 1
: Gravity and buoyancy force included


IWDHF: integer, default: 2
: Include wave particle velocity and acceleration?
IWDHF = 0
: No 
IWDHF = 1
: Velocity only (drag forces) 
IWDHF = 2
: Velocity and acceleration 
IWDHF= 3
: Velocity only (strip 1 andNSTRIP
only) 
IWDHF= 4
: Velocity and acceleration (strip 1 andNSTRIP
only)


NSTRIP: integer, default: 10
: Number of strips
For IWDHF = 3
or 4
, the wave kinematics will only be calculated in
the mid point of strip 1 and NSTRIP
. Linear interpolation is used to
find velocity, acceleration and wave elevation for the other strips.
In a normal analysis of a pipe (or other slender element) in the splash
zone, the following values should be used: IFOADD = 1
, IVOL = 1
,
IWDHF = 2
Element end coordinates in body fixed coordinate system and a reference point to specify the direction of the local yaxis
1 input line.
XEL1 YEL1 ZEL1 XEL2 YEL2 ZEL2 XREF YREF ZREF

XEL1: real
: Xcoordinate end point 1, \(\mathrm {[L]}\) 
YEL1: real
: Ycoordinate end point 1, \(\mathrm {[L]}\) 
ZEL1: real
: Zcoordinate end point 1, \(\mathrm {[L]}\) 
XEL2: real
: Xcoordinate end point 2, \(\mathrm {[L]}\) 
YEL2: real
: Ycoordinate end point 2, \(\mathrm {[L]}\) 
ZEL2: real
: Zcoordinate end point 2, \(\mathrm {[L]}\) 
XREF: real
: Xcoordinate reference point, \(\mathrm {[L]}\) 
YREF: real
: Ycoordinate reference point, \(\mathrm {[L]}\) 
ZREF: real
: Zcoordinate reference point, \(\mathrm {[L]}\)
The reference point [XREF,YREF,ZREF
] is used to specify the orientation of the
The slender element coordinate system is established as follows:

The XSaxis extends along the element from end point 1 to point 2.

The YSaxis is defined by the plane between the XSaxis and the reference point [
XREF,YREF,ZREF
]. Positive direction is towards the reference point.
Hydrodynamic coefficients, in local element coordinate system, 1 input line.
C2X C2Y C2Z C1X C1Y C1Z AMX AMY AMZ

C2X: real
: Quadratic longitudinal drag coefficient \(\mathrm {[FT^2/L^3]}\) 
C2Y: real
: Quadratic transverse (Y) drag coefficient \(\mathrm {[FT^2/L^3]}\) 
C2Z: real
: Quadratic transverse (Z) drag coefficient \(\mathrm {[FT^2/L^3]}\) 
C1X: real
: Linear longitudinal drag coefficient \(\mathrm {[FT^2/L^3]}\) 
C1Y: real
: Linear transverse (Y) drag coefficient \(\mathrm {[FT/L^2]}\) 
C1Z: real
: Linear longitudinal (Z) drag coefficient \(\mathrm {[FT/L^2]}\) 
AMX: real
: Longitudinal added mass coefficient \(\mathrm {[M/L]}\) 
AMY: real
: Transverse (Y) added mass coefficient \(\mathrm {[M/L]}\) 
AMZ: real
: Transverse (Z) added mass coefficient \(\mathrm {[M/L]}\)
The coefficients are given with dimension, and are valid for a fully submerged strip.
Application of diffracted waves
The diffracted wave points given below must contain diffracted wave transfer functions both for wave elevation and for velocity in x, y and z direction.
Depth dependent scaling of hydrodynamic coefficients
As an additional modelling option, the user may specify depth dependent scaling of hydrodynamic coefficients. The following group (position dependent data) is not mandatory. If the element will be fully submerged and assumed unaffected by surface effects throughout the simulation, the data group will not be relevant and can be omitted. However, if a fixed element or a slender element with nearly horizontal angle crosses the water surface, the slamming force is calculated only if the position depended data are given.
The depth dependent scaling coefficients are applied to the centre of each strip, and are mainly intended for nearly horizontal slender elements or fixed body elements. For tilted elements a scaling factor will be calculated, proportional to the submerged part of each strip.
1 input line
NDEPTH ZCOEF

NDEPTH: integer
: Number of depths for which hydrodynamic coefficients are given 
ZCOEF: real, default: 0
: Vertical position used as reference for depth dependency, \(\mathrm {[L]}\).
The hydrodynamic coefficients will be found by interpolation. Input for interpolation in the ZD table is  \(\mathrm {Zin=ZZCOEF\xi \quad (IFOADD=1)}\)  \(\mathrm {Zin=ZZCOEF\quad \quad \:\;(IFOADD=0)}\)
where \(\mathrm {Zin}\) is the vertical position of the strip center, and \(\mathrm {\xi }\) is the wave elevation.
The following pairs of input lines have to be given for increasing or decreasing vertical position, ZD.
2*NDEPTH
input lines
ZD RVOL RAMX RAMY RAMZ

ZD: real, default: 1
: Vertical position, \(\mathrm {[L]}\) 
RVOL: real, default: 1
: Volume relative to fully submerged volume 
RAMX: real, default: 1
: Relative added mass in longitudinal, local element xdirection 
RAMY: real, default: 1
: Relative added mass in local element ydirection 
RAMZ: real, default: 1
: Relative addedmass in local element zdirection
RCLX RCLY RCLZ RCQX RCQY RCQZ

RCLX: real
: Relative linear drag in longitudinal direction (local element xdirection) 
RCLY: real
: Relative linear drag in local element ydirection 
RCLZ: real
: Relative linear drag in local element zdirection 
RCQX: real
: Relative quadratic drag in longitudinal direction (local element xdirection) 
RCQY: real
: Relative quadratic drag in local element ydirection 
RCQZ: real
: Relative quadratic drag in local element zdirection
Wind force on slender element.
As an option, the user may get wind forces on slender elements. This is
obtained by adding the new optional subgroup AERODYNAMIC DESCRIPTION
.
Load description type
CHTYPE

CHTYPE: character
: Type of aerodynamic force (only option available at the moment)
= DRAG
⇒ Morisonlike loading. Drag term

If CHTYPE=DRAG, Wind drag coefficients, in local element coordinate system, 1 input line.
CVX CVY CVZ

CVX: real
: Quadratic longitudinal drag coefficient \(\mathrm {[FT^2/L^3]}\) 
CVY: real
: Quadratic transverse (Y) drag coefficient \(\mathrm {[FT^2/L^3]}\) 
CVZ: real
: Quadratic transverse (Z) drag coefficient \(\mathrm {[FT^2/L^3]}\)
Fixed body element
1 input line
VOL MASS IFOADD IVOL IWDHF

VOL: real
: Volume of element, \(\mathrm {[L^3]}\) 
MASS: real
: Mass of element, \(\mathrm {[M]}\) 
IFOADD: integer, default: 1
: Parameter defining wave force integration method:
IFOADD = 1
: Force integrated to actual wave elevation 
IFOADD = 0
: Force integrated to z=0 (strictly linear wave theory)


IVOL: integer, default: 1
: Include gravity and buoyancy forces?
IVOL = 0
: Gravity and buoyancy NOT included 
IVOL = 1
: Gravity and buoyancy force included


IWDHF: integer
: Include wave particle velocity and acceleration
IWDHF = 0
: No 
IWDHF = 1
: Velocity only (drag forces) 
IWDHF = 2
: Velocity and acceleration

In a normal analysis of a concentrated, force attracting element in the
splash zone, the following values should be used: IFOADD = 1
,
IVOL = 1
, IWDHF = 2
Element coordinates and axis definition in body fixed coordinate system, 1 input line.
XEL YEL ZEL XELX YELX ZELX XELY YELY ZELY

XEL: real
: Xcoordinate of element, \(\mathrm {[L]}\) 
YEL: real
: Ycoordinate of element, \(\mathrm {[L]}\) 
ZEL: real
: Zcoordinate of element, \(\mathrm {[L]}\) 
XELX: real
: 
YELX: real
: 
ZELX: real
: 
XELY: real
: 
YELY: real
: 
ZELY: real
:
[XELX,YELX,ZELX
] = reference point defining the element X axis
[XELY,YELY,ZELY
] = reference point in the local XYplane of the
element.
Hydrodynamic coefficients, in local element coordinate system, 1 input line.
C2X C2Y C2Z C1X C1Y C1Z AMX AMY AMZ

C2X: real
: Quadratic longitudinal (X) drag \(\mathrm {[FT^2/L^2]}\) 
C2Y: real
: Quadratic transverse (Y) drag \(\mathrm {[FT^2/L^2]}\) 
C2Z: real
: Quadratic transverse (Z) drag \(\mathrm {[FT^2/L^2]}\) 
C1X: real
: Linear longitudinal (X) drag \(\mathrm {[FT/L]}\) 
C1Y: real
: Linear transverse (Y) drag \(\mathrm {[FT/L]}\) 
C1Z: real
: Linear transverse (Z) drag \(\mathrm {[FT/L]}\) 
AMX: real
: Longitudinal added mass \(\mathrm {[M]}\) 
AMY: real
: Transverse (Y) added mass \(\mathrm {[M]}\) 
AMZ: real
: Transverse (Z) added mass \(\mathrm {[M]}\)
The coefficients are given with dimension, and are valid for a fully submerged element.
Application of diffracted waves
The diffracted wave points given below must contain diffracted wave transfer functions both for wave elevation and for velocity in x, y and z direction.
Depth dependent scaling coefficients
As an additional modelling option, the user may specify depth dependent hydrodynamic scaling coefficients. The following group (position dependent data) is not mandatory. If the element will be fully submerged and assumed unaffected by surface effects throughout the simulation, the data group will not be relevant and can be omitted. However, if a fixed element or a slender element with nearly horizontal angle crosses the water surface, omitting the position dependent data may result in large impulse forces.
The depth dependent scaling coefficients are applied to the centre of each strip, and are mainly intended for nearly horizontal slender elements or fixed body elements. For tilted elements a scaling factor will be calculated, proportional to the submerged part of each strip.
This data group, when used, should follow directly after the four input lines for the element.
1 input line
NDEPTH ZCOEF

NDEPTH: integer
: Number of depths for which hydrodynamic coefficients are given 
ZCOEF: real, default: 0
: Vertical position used as reference for depth dependency, \(\mathrm {[L]}\).
The hydrodynamic coefficients will be found by interpolation. Input for interpolation in the ZD table is  \(\mathrm {Zin=ZZCOEF\xi \quad (IFOADD=1)}\)  \(\mathrm {Zin=ZZCOEF\quad \quad \:\;(IFOADD=0)}\)
where \(\mathrm {Zin}\) is the vertical position and \(\mathrm {\xi }\) is the wave elevation.
The following pairs of input lines have to be given for increasing or decreasing vertical position, ZD.
2*NDEPTH
input lines
ZD RVOL RAMX RAMY RAMZ
 `ZD: real, default: 1`: Vertical position, stem:[\mathrm {[L\]}]  `RVOL: real, default: 1`: Volume relative to fully submerged volume  `RAMX: real, default: 1`: Relative added mass in longitudinal direction (local element xdirection)  `RAMY: real, default: 1`: Relative added mass in local element ydirection.  `RAMZ: real, default: 1`: Relative added mass in local element zdirection
RCLX RCLY RCLZ RCQX RCQY RCQZ

RCLX: real
: Relative linear drag in longitudinal direction (local element xdirection) 
RCLY: real
: Relative linear drag in local element ydirection 
RCLZ: real
: Relative linear drag in local element zdirection 
RCQX: real
: Relative quadratic drag in longitudinal, local element xdirection 
RCQY: real
: Relative quadratic drag in local element ydirection 
RCQZ: real
: Relative quadratic drag in local element zdirection
Wind force on fixed body element.
As an additional option, the user may get wind forces at slender
elements. This is obtained by adding the new optional subgroup
AERODYNAMIC DESCRIPTION
. The obtained wind force will be added to the
wind force time series.
Load description type
CHTYPE

CHTYPE: character
: Type of aerodynamic force (only one option available at the moment)
= DRAG
⇒ Morisonlike loading. Drag term

If CHTYPE=DRAG, Wind drag coefficients, in local element coordinate system, 1 input line.
CVX CVY CVZ

CVX: real
: Quadratic longitudinal drag coefficient \(\mathrm {[FT^2/L^2]}\) 
CVY: real
: Quadratic transverse (Y) drag coefficient \(\mathrm {[FT^2/L^2]}\) 
CVZ: real
: Quadratic transverse (Z) drag coefficient \(\mathrm {[FT^2/L^2]}\)
24. Small body hydrodynamic data (including soil penetration)
Text for describing smallbody hydrodynamic data, 2 input lines
CHTEXT

CHTEXT: character(60)
: Character string
1 input line
SVOL

SVOL: real
: Fully submerged volume, \(\mathrm {[L^3]}\)
Added mass and drag force coefficients are specified for the fully submerged body in 3 degrees of freedom that coincide with the body fixed X, Y and Z directions:
Added mass data, 1 input line
SAMX SAMY SAMZ

SAMX: real
: Added mass in Xdirection \(\mathrm {[M]}\) 
SAMY: real
: Added mass in Ydirection \(\mathrm {[M]}\) 
SAMZ: real
: Added mass in Zdirection \(\mathrm {[M]}\)
Linear drag data, 1 input line
SC1X SC1Y SC1Z

SC1X: real
: Linear drag coefficient in Xdirection, \(\mathrm {[FT/L]}\) 
SC1Y: real
: Linear drag coefficient in Ydirection, \(\mathrm {[FT/L]}\) 
SC1Z: real
: Linear drag coefficient in Zdirection, \(\mathrm {[FT/L]}\)
Quadratic drag data, 1 input line
SC2X SC2Y SC2Z

SC2X: real
: Quadratic drag coefficient in Xdirection, \(\mathrm {[F(T/L)^2]}\) 
SC2Y: real
: Quadratic drag coefficient in Ydirection, \(\mathrm {[F(T/L)^2]}\) 
SC2Z: real
: Quadratic drag coefficient in Zdirection, \(\mathrm {[F(T/L)^2]}\)
Depth dependent hydrodynamic forces
1 input line
NDEPTH ZCOEF IREF

NDEPTH: integer
: Number of depths for which hydrodynamic coefficients are given 
ZCOEF: real
: Vertical position used as reference for depth dependency, \(\mathrm {[L]}\) 
IREF: integer, default: 1
: Reference for depth dependency
= 1
: Wave elevation 
= 2
: Still water level

2*NDEPTH input lines
ZD RVOL RAMX RAMY RAMZ

ZD: real
: Vertical position, \(\mathrm {[L]}\) 
RVOL: real
: Volume relative to fully submerged volume 
RAMX: real
: Relative added mass in Xdirection 
RAMY: real
: Relative added mass in Ydirection 
RAMZ: real
: Relative added mass in Zdirection
RC1X RC1Y RC1Z RC2X RC2Y RC2Z

RC1X: real
: Relative linear drag in Xdirection 
RC1Y: real
: Relative linear drag in Ydirection 
RC1Z: real
: Relative linear drag in Zdirection 
RC2X: real
: Relative quadratic drag in Xdirection 
RC2Y: real
: Relative quadratic drag in Ydirection 
RC2Z: real
: Relative quadratic drag in Zdirection
Application of diffracted waves
The diffracted wave points given below must contain diffracted wave transfer functions both for wave elevation and for velocity in x, y and z direction.
Soil penetration model
1 input line
ISOIL NDFRIC NDCAP

ISOIL: integer
: Soil force control parameter
= 1
: Friction model for open compartment 
= 2
: Friction model with soil fracture 
= 11
: Friction model for open compartment including horizontal sliding


NDFRIC: integer
: Number of depths with friction forces 
NDCAP: integer
: Number of depths with soil capacity (dummy forISOIL = 1
and11
)
1 input line
ZCONT PENETR BAREA SODENS CAREA IHSOIL

ZCONT: real
: Vertical global coordinate of the body giving first contact with the soil (landing), \(\mathrm {[L]}\) 
BAREA: real
: Soil buoyancy cross section area, \(\mathrm {[L^2]}\) 
SODENS: real
: Soil mass density, \(\mathrm {[M/L^3]}\) 
CAREA: real
: Section area of cavity \(\mathrm {[L^2]}\) (Dummy forISOIL 1
&11
) 
IHSOIL: integer, default: 0
: Import of seabed depth values from HLA, Depth value replacesZCONT

IHSOIL = 0
: No import 
IHSOIL = 1
: Import

NDFRIC input lines
DFRIC FTIPDO FTIPUP FWALL FRICH

DFRIC: real
: Penetration relative toZCONT
(positive upwards), \(\mathrm {[L]}\) 
FTIPDO: real
: Depth dependent tip force for DOWNward motion, \(\mathrm {[F]}\) 
FTIPUP: real
: Depth dependent tip force for UPward motion, \(\mathrm {[F]}\) 
FWALL: real
: Depth dependent skirt friction force for both upwards and downwards motion, \(\mathrm {[F]}\) 
FRICH: real >= 0
: Depth dependent friction force in horizontal direction, \(\mathrm {[F]}\)
FRICH
is dummy for ISOIL = 1
, 2
FTIPUP
should be negative
Soil penetration parameters for friction model with soil fracture
For ISOIL = 2, NDCAP input lines
DCAP SOILFR FRCDEP PSUCT

DCAP: real
: Penetration relative toZCONT
(positive upwards) 
SOILFR: real
: Soil capacity against failure at soil surface, \(\mathrm {[F/L^2]}\) 
FRCDEP: real
: Depth of each new soil failure, \(\mathrm {[L]}\) 
PSUCT: real
: Suction pressure \(\mathrm {[F/L^2]}\)
For ISOIL = 2, 1 input line
WSTIFF TSUCT CFLOW

WSTIFF: real
: Stiffness due to compressibility of water inside the cavity, \(\mathrm {[F/L]}\) 
TSUCT: real
: Time for starting suction pumps, \(\mathrm {[T]}\) 
CFLOW: real
: Flow coefficient in/out of closed compartment, \(\mathrm {[L^3/T(F/L^3)^{0.5}]}\)
25. Specified forces
1 input line
NCOMP EHLA

NCOMP: integer
: Number of force components 
EHLA: integer, default: 0
: HLA export flag for specified force
EHLA = 0
: No export 
EHLA = 1
: HLA export

For EHLA = 1, 1 input line, HLA name of specified force object,
CHSHLA

CHSHLA: character(120)
: HLA force object name (identifier)
1 input line
IMETH IDOF/IMOM

IMETH: integer
: Method for applying the force
= 1
: Force/moment in specified degree of freedom (body fixed system) 
= 2
: Force/moment acting in a point on the body, direction specified in the body fixed system and following its motion. 
= 3
: Force/moment acting in a point on the body, direction is constant and specified in the global coordinate system.


IDOF / IMOM: integer
:
Degree of freedom (
IDOF=16
) forIMETH=1

Force or moment (
IMOM
) forIMETH=2
or3

IMOM = 0
: Force 
IMOM = 1
: Moment


1 input line for IMETH=2, IMETH=3
XP YP ZP DV1 DV2 DV3

XP: real
: Xcoordinate in body fixed coordinate system 
YP: real
: Ycoordinate in body fixed coordinate system 
ZP: real
: Zcoordinate in body fixed coordinate system 
DV1: real
: Direction vector, xcomponent 
DV2: real
: Direction vector, ycomponent 
DV3: real
: Direction vector, zcomponent
Direction vectors are defined in body fixed coordinate system for
IMETH=2
and in global coordinate system for IMETH=3
. They will be
normalized in the input module. Coordinates XP
, YP
, and ZP
are
dummy for IMOM=1
.
Force component description, NCOMP input lines.
IFORTY TON TOFF P1 P2 P3

IFORTY: integer
: Force component type
= 1
: Constant force 
= 2
: Harmonic force 
= 3
: Ramp


TON: real, default: 0
: Time for switching component on, \(\mathrm {[T]}\) 
TOFF: real, default: 100000
: Time for switching component off, \(\mathrm {[T]}\)
Force comp.
= 0.
if time >=TOFF


P1: real
: Force component parameter
IFORTY=1
: Magnitude, \(\mathrm {[F,FL]}\) 
IFORTY=2
: Amplitude, \(\mathrm {[F,FL]}\) 
IFORTY=3
: Force derivative, \(\mathrm {[F/T,FL/T]}\)


P2: real
: Force component parameter
IFORTY=1
: Dummy 
IFORTY=2
: Period, \(\mathrm {[T]}\) 
IFORTY=3
: Dummy


P3: real
: Force component parameter
IFORTY=1
: Dummy 
IFORTY=2
: Phase, forward phase shift to a sine wave (cf. Theory Manual) \(\mathrm {[deg]}\) 
IFORTY=3
: Dummy

26. General external forces
For each body there may be defined several external force models. They are numbered according to the location on the system description file.
Text for describing external forces, 2 input lines.
TXEXT

TXEXT: character(60)
: Character string describing external force
1 input line
IEXTF ICOORD EHLA

IEXTF: integer, default: 2
: Flag for type of external force interface
= 1
: Usersupplied general external force library (DLL) 
= 2
: External force time series from file 
= 3
: HLA, attack point of force given in sysfile 
= 4
: HLA, attack point of force is imported from HLA


ICOORD: integer, default: 0
: Flag for which coordinate system the force is given in
= 0
: Global coordinate system 
= 1
: Body fixed coordinate system


EHLA: integer, default: 0
: HLA export flag for external force
= 0
: No export 
= 1
: HLA exportEHLA
is dummy forIEXTF = 3
and4
. HLA name is automatically set toExtFor[No]_[HLA_Bodyname]
.

Main parameters, 1 input line (Dummy for external force time series from file, IEXTF = 2)
NINT NREA NSTO NSTR

NINT: integer, default: 0
: Number of integer input parameters 
NREA: integer, default: 0
: Number of real input parameters 
NSTO: integer, default: 0
: Number of parameters for intermediate storage 
NSTR: integer, default: 0
: Number of input strings
Integer parameters, NINT pairs of input lines (Dummy for external force time series from file, IEXTF = 2)
TXINT

TXINT: character(60)
: Character string describing integer parameter
INTn

INTn: integer
: Integer parameter no n
Real parameters, NREA pairs of input lines (Dummy for external force time series from file, IEXTF = 2)
TXREA

TXREA: character(60)
: Character string describing real parameter
REAn

REAn: real
: Real parameter no n
String parameters, NSTR input lines (Dummy for external force time series from file, IEXTF = 2)
TXSTRn

TXSTRn: character(120)
: Character string no n
Force point of attack, 1 input line (Dummy for IEXTF = 3)
XP YP ZP

XP: real, default: 0
: Xcoordinate in body fixed coordinate system 
YP: real, default: 0
: Ycoordinate in body fixed coordinate system 
ZP: real, default: 0
: Zcoordinate in body fixed coordinate system
Initial force used by STAMOD, 1 input line, (Dummy for IEXTF=1)
FX FY FZ MX MY MZ

FX: real, default: 0
: Force in Xdirection, \(\mathrm {[F]}\) 
FY: real, default: 0
: Force in Ydirection, \(\mathrm {[F]}\) 
FX: real, default: 0
: Force in Zdirection, \(\mathrm {[F]}\) 
MX: real, default: 0
: Moment about Xaxis, \(\mathrm {[FL]}\) 
MY: real, default: 0
: Moment about Yaxis, \(\mathrm {[FL]}\) 
MZ: real, default: 0
: Moment about Zaxis, \(\mathrm {[FL]}\)
For HLA import the forces and moments are given in global system
(IEXTFO=3
or IEXTFO=4
)
1 input line
TXXGF

TXXGF: character(120)
:
IEXTF = 1
: Character string, path and library filename 
IEXTF = 2
: Character string, path and force filename 
IEXTF = 3
: Character string, HLA object name 
IEXTF = 4
: Character string, HLA object name

The file format for forces imported from file (IEXTFO = 2
) is
described in the section External force time series imported from file.
27. Wind turbine specification
This data group enables the user to model a Horizontal Axis Wind Turbine (HAWT) considering wind load acting on the rigid blades and control system for blade pitch and electrical power extraction.
In order to model a wind turbine a minimum of two bodies is required; one body to represent the blades, hub and the slowspeed shaft (the present rotor body) and one body to represent the support structure for the rotor. For application of the electrical torque moment a moment coupling between the bodies has to be included.
It is assumed that the origin of the body fixed rotor coordinate system coincides with the hub centre with Xaxis aligned in the direction with the rotor (slow speed) shaft i.e. from the hub towards the support.
The wind loads on the blades are computed based on the load coefficient description in the air foil library file and together with a blade element momentum (BEM) method. The applied BEM code includes dynamic inflow, i.e. a time delay on changes of induced velocity related to the time it takes to convect vorticity in the wake downstream, away from the rotor. With dynamic inflow, the BEM method will give correct time series of rotor and blade loads under conditions of changing blade pitch angle, wind speed and direction, and tower motion. The main features of the BEM theory are:

Induced velocity is calculated assuming momentum balance for a ringshaped control volume

Blade sections are treated as independent

Aerodynamic coefficients from wind tunnel tests are used for the blades

Empirical corrections are used for tipvortices and cascade effects / lift amplification
The BEM theory is a proven, simple and CPU efficient method to simulate rotor aerodynamics and the method represents the industry standard.
Requirements to wind turbine modelling

Support body and rotor (present) body with 6 degrees of freedom.

Moment coupling attached to the rotor body in direction parallel with body fixed Xaxis, i.e. moment around the Xaxis.
Recommendations to wind turbine modelling
The rotor body and the support body may be connected by use of

2 docking cone couplings to transfer radial forces.

Each docking cone coupling has its contact point located in the rotor body Xaxis and itscone attached to the support body. A distance between the two contact points on the rotor axis is necessary in order to transfer moments about y and zaxes. The orientation of the direction vector of the docking cones should be coincident with the rotor body Xaxis.


1 axial force coupling between the rotor body and the support body to transfer axial rotor force.

The axial force coupling should be aligned with the rotor body Xaxis.

Note that the applied electrical torque is handled by MOMENT COUPLING
.
Thus, no constant moment should be specified for the coupling. Any
specified torsional stiffness will be set to zero during dynamic
analysis.
A principal sketch of a coupling system between rotor body and support body of a wind turbine system is presented in Figure 8.
1 input line
ZCOEF WIAREA

ZCOEF: real
: Ref. height for calc of wind 
WIAREA: real
: Admittance function
Note that ZCOEF
and WIAREA
are dummy for IWITYP>=10
.
File for control system specification. 1 input line
CH_CONTROL

CHCODE: character(4)
:
CHCODE = INTC
: Internal control system 
CHCODE = EXTC
: External control system

Specification internal control system, CHCODE = INTC, 1 input line
CONTROLFILE

CONTROLFILE: character(256)
: Name including the path of the file that contains input to the internal control system
For additional details regarding the internal control system
specification, see the RIFLEX User Manual, Input to INPMOD, Additional
Input Files, Specification of internal control system for blade pitch
and electrical power. Note that the internal controller is not identical
to the one specified during the NREL
study.
Specification external control system, CHCODE = EXTC, 3 input lines
The input to SIMO for the external wind turbine control system requires the (path and) name of the executable .jar file, the class to be used within that .jar file, and the (path and) name of a file which may contain input data for the external control. For additional details regarding the interface, see Java Based Controller Interface.
JarName
ClassName
Config
1 input line
ROUT RCANG

ROUT: real
: Outer airfoil radius \(\mathrm {[L]}\) 
RCANG: real
: Cone angle \(\mathrm {[deg]}\)
NEB input lines
CH_FOIL EL_LENG CHORD TWIST

CH_FOIL: character(32)
: Airfoil identifier 
EL_LENG: real
: Blade element length \(\mathrm {[L]}\) 
CHORD: real
: Chord length of the foil profile \(\mathrm {[L]}\) 
TWIST: real
: Twist angle \(\mathrm {[deg]}\)
28. Vertical axis wind turbine specification
This data group enables the user to model a Vertical Axis Wind Turbine (VAWT), considering wind loads acting on the rigid blades and a control system for generator torque.
In order to model a wind turbine a minimum of two bodies is required; one body to represent the blades, hub and the slowspeed shaft (the present rotor body) and one body to represent the support structure for the rotor. For application of the electrical torque moment a moment coupling between the bodies has to be included. It is assumed that the origin of the body fixed rotor coordinate system coincides with the hub centre with Zaxis aligned in the direction with the rotor (slow speed) shaft, i.e from the support to the hub. The wind loads on the blades are computed based on the load coefficient description in the airfoil library file together with a doublemultiple streamtube blade element momentum method. The approach includes dynamic stall effects (Øyetype model).
Requirements for vertical axis wind turbine modelling

Support body and rotor (present) body with 6 degrees of freedom.

Moment coupling attached to the rotor body in direction parallel with body fixed Zaxis, ie. moment around the Zaxis
Recommendations for vertical axis wind turbine modelling
The rotor body and the support body may be connected by use of

2 docking cone couplings to transfer radial forces.

Each docking cone coupling has its contact point located in the rotor body Zaxis and its cone attached to the support body. A distance between the two contact points on the rotor axis is necessary in order to transfer moments about x and yaxes. The orientation of the direction vector of the docking cones should be coincident with the rotor body Zaxis.


1 axial force coupling between the rotor body and the support body to transfer axial rotor force.

The axial force coupling should be aligned with the rotor body Zaxis.

Note that the applied electrical torque is handled by MOMENT COUPLING
.
Thus, no constant moment should be specified for the coupling. Any
specified torsional stiffness will be set to zero during dynamic
analysis.
The coupling system between rotor body and support body of a vertical axis wind turbine system is the same as in Figure 8, but rotated by 90 degrees.
1 input line
ZCOEF WIAREA

ZCOEF: real
: Ref. height for calc of wind 
WIAREA: real
: Admittance function
Note that ZCOEF
and WIAREA
are dummy for IWITYP>=10
.
File for control system specification. 1 input line
CH_CONTROL

CH_CONTROL: character(4)
:= INTC
Internal control system
For control system specification, see Specification of internal control system for VAWT generator torque and electrical power.
1 input line
Note that the controller is not identical to the one specified during
the NREL
study.
CONTROLFILE

CONTROLFILE: character(256)
: Name including the path of the file that contains input to the internal control system
1 input line
R0 Z0 VW_OFF

R0: real
: Blade radius at lowest node \(\mathrm {[L]}\) 
Z0: real
: Elevation of the lowest node \(\mathrm {[L]}\) 
VW_OFF: real
: Tangential offset of the first blade node \(\mathrm {[L]}\)
R0
, Z0
and VW_OFF
(indicated as offset
) are shown in Figure 9.
1 input line
NB NEB NCOL

NB: integer
: Number of blades 
NEB: integer
: Number of elements per blade 
NCOL: integer
: Number of azimuthal elements
Note that NEB
must be at least 2.
NEB input lines
CH_FOIL NODE_R NODE_Z NODE_OFF CHORD TWIST

CH_FOIL: character(32)
: Airfoil identifier 
NODE_R: real
: Radius of the second node of the element \(\mathrm {[L]}\) 
NODE_Z: real
: Elevation of the second node of the element \(\mathrm {[L]}\) 
NODE_OFF: real
: Offset of the second node of the element from the \(\mathrm {(r,z)}\) plane \(\mathrm {[L]}\) 
CHORD: real
: Chord length of the foil profile \(\mathrm {[L]}\) 
TWIST: real
: Static twist angle \(\mathrm {[deg]}\)
The node coordinates NODE_R
and NODE_Z
are denoted as
\(\mathrm {(R,Z)_i}\) for element i in Figure 9.
1 input line
PRAND

PRAND: real, default: 1 (calculated by program)
: Prandtl factor.
For PRAND
greater than or equal to zero, the given Prandtl factor is
applied to all elements. For PRAND
less than zero or default, the
Prandtl factor is calculated in the normal way by the program. It is
recommended to set the factor to 1.0 when analyzing a Darrieus rotor.
The Prandtl factor should be calculated by the program when analyzing an
Hrotor.
29. Positioning system data
Text describing the positioning system, 2 input lines.
TXPOS

TXPOS: character(60)
: Character string
The positioning elements are divided into the following groups:

Catenary anchor lines described by line properties. This is the recommended method to specify mooring lines. Line characteristics will be calculated within the program.

Directly specified catenary anchor line characteristic. Horizontal and vertical components can be specified for different vertical positions of fairlead.

Forceelongation relationship with fixed attack points. The force is directed between the end points.

Docking cone, giving a radial force at offset from target.

Forceelongation relationship with sliding attack points, fender.

Thrusters.
If the positioning system includes thrusters, they may be controlled by a dynamic positioning system (DP), which is specified separately.
Catenary anchor lines
If HLA EXPOrt is specified the HLA name (identifier) of the catenary system has to be specified:
1 input line
CHPHLA

CHPHLA: character(120)
: Character string describing HLA catenary object name
By catenary mooring system is meant all the catenary mooring lines connected to one body. A catenary mooring system is built from three data groups:

LINE DATA

LINE CHARACTERISTICS DATA

BUOY DATA
Each mooring line must be uniquely specified by a set of LINE DATA
.
Typical line data are fairlead coordinates, line direction, pretension
and winch run length.
Each line must refer to a line characteristics specified by
LINE CHARacteristics DATA
. The line characteristics
(forcedisplacement relationship) may be given directly, or by the data
needed by SIMO
to calculate it. Such data may typically be segment
properties (weight, stiffness, drag coefficients), vertical position of
the anchor and bottom slope. Several lines within one catenary system
may refer to the same line characteristics.
If the line characteristics are to be calculated by SIMO
, the user may
include buoys in the intersection between line segments. The buoys may
have depth dependent buoyancy, and are specified by the BUOY DATA
.
Several line characteristics may refer to the same buoy data.
It is important that for one catenary system, the data are given in the correct order:

the LINE DATA for all the lines

the LINE CHARacteristics DATA

the BUOY DATA.
Line data
1 input line
ILINE LICHAR IMETH RDUMMY ICPRO

ILINE: integer
: Line number. The line numbers must be given in increasing order. 
LICHAR: integer
: Identification number for line characteristics data which shall be used for this line (confer data groupLINE CHARacteristics DATA
) 
IMETH: integer
: Method for initialization of line
= 1
: Initial tension and local direction specified 
= 2
: Distance to anchor and local direction specified 
= 3
: Anchor coordinates (global) specified


IDUMMY: integer, default: 0
: Dummy input not in use 
ICPRO: integer, default: 0
: Calculate line profile to be exported for visualization
= 0
: Export line profile as a straight line 
= 1
: Export catenary line profile

1 input line
XBDY YBDY ZBDY

XBDY: real
: Xcoordinate of attachment point in body fixed coordinate system, \(\mathrm {[L]}\) 
YBDY: real
: Ycoordinate of attachment point in body fixed coordinate system, \(\mathrm {[L]}\) 
ZBDY: real
: Zcoordinate of attachment point in body fixed coordinate system, \(\mathrm {[L]}\)
for IMETH = 1, 1 input line
DIR PRETEN RDUMMY

DIR: real
: Direction of line in horizontal plane, \(\mathrm {[deg]}\) 
PRETEN: real
: Pretension, \(\mathrm {[F]}\) 
RDUMMY: real: default: 0
: Dummy input not in use
for IMETH = 2, 1 input line
DIR XHOR RDUMMY

DIR: real
: Direction of line in horizontal plane, \(\mathrm {[deg]}\) 
XHOR: real
: Horizontal distance from attachment point to anchor, \(\mathrm {[L]}\) 
RDUMMY: real: default: 0
: Dummy input not in use
for IMETH = 3, 1 input line
XGLB YGLB RDUMMY

XGLB: real
: Xcoordinate of the anchor in global coordinate system, \(\mathrm {[L]}\) 
YGLB: real
: Ycoordinate of the anchor in global coordinate system, \(\mathrm {[L]}\) 
RDUMMY: real: default: 0
: Dummy input not in use
Element failure, 1 input line
IFMOPO FTIME BTENS

IFMOPO: integer
: Failure mode of positioning element
= 0
: no failure 
= 1
: failure by exceedance of tension after specified time


FTIME: real
: Earliest possible time of failure, \(\mathrm {[T]}\) 
BTENS: real
: Breaking strength, \(\mathrm {[F]}\)
The line breaks when both FTIME
and BTENS
are exceeded.
Line characteristics data
1 input line
LICHAR LINPTY NPTH NPTV VMIN VMAX

LICHAR: integer
: Line characteristics number. The characteristics number must be given in increasing order. 
LINPTY: integer
: Parameter for input of line characteristics
= 1
: Direct input of line characteristics by the user 
= 2
: Line segment data are given as input, andSIMO
will compute the line characteristics, shooting method 
= 3
: As 2, including a simplified line dynamics model. Allowed for body type = 2 only. 
= 4
: Line segment data are given as input, andSIMO
will compute the line characteristics based on Finite Element Model (FEM method).


NPTH: integer, default: 40
: Number of points in the line characteristics matrix, offset variation in the horizontal plane. 
NPTV: integer, default: 5
: Number of points in the line characteristics matrix, offset variation in the vertical plane. 
VMIN: real <= 0
: Minimum relative zposition for which the line characteristics will be calculated.
Dummy for
LINPTY=1


VMAX: real >= 0
: Maximum relative zposition for which the line characteristics will be calculated.
Dummy for
LINPTY=1


VEXTOP: integer, default: 0
: Vertical extrapolation option.
= 0
: Vertical extrapolation outside the rangeVMIN
toVMAX
is NOT allowed 
= 1
: Vertical extrapolation outside the rangeVMIN
toVMAX
is allowed 
Dummy for
LINPTY=1

If VMAX
is omitted, VMIN
is taken as the vertical range, VRANGE
(>0
) where VMIN = VRANGE/2
and VMAX =VRANGE/2
if LINPTY=1, NPTH input lines
DISTH

DISTH: real
: Horizontal distance between attachment point on vessel and anchor, must be given in increasing order, \(\mathrm {[L]}\).
if LINPTY=1, NPTV input lines
DISTV

DISTV: real
: Vertical distance between attachment point on vessel and anchor, must be given in increasing order, \(\mathrm {[L]}\).
DISTV = DEPTH +Z_fairlead
where DEPTH
is positive.
NPTV*NPTH lines if LINPTY=1 (start with NPTH lines with IPTV = 1)
IPTV IPTH STATEN ANG

IPTV: integer
: Vertical distance number. 
IPTH: integer
: Horizontal distance number 
STATEN: real
: Static tension in line, \(\mathrm {[F]}\) 
ANG: real
: Angle relative to horizontal plane, \(\mathrm {[deg]}\)
if LINPTY > 1, 1 input line
NSEG IBOTCO SLOPE ZGLB TMAX THMIN

NSEG: integer
: Number of line segments 
IBOTCO: integer
: Bottom tangent option
= 0
: No seafloor contact except at line end 
= 1
: Seafloor contact included in the vicinity of the anchor line end


SLOPE: real, default: 0
: Slope of the seabed,SLOPE=0
means horizontal bottom slope. PositiveSLOPE
means that the seabed is sloping downwards from the anchor towards the attachment point. 
ZGLB: real
: Zcoordinate of the anchor in global coordinate system, \(\mathrm {[L]}\) 
TMAX: real
: Maximum tension to be used in the line characteristics calculations, \(\mathrm {[F]}\) 
THMIN: real, default: 0
: Minimum horizontal tension to be used for calculation of line characteristics, \(\mathrm {[F]}\)
If number of vertical levels in line characteristics, NPTV
, is larger
than 1, the characteristics for the lowest level is calculated first.
TMAX
and THMIN
are used for this level. If THMIN
is set to zero,
the first point in the characteristics will be for a tension as low as
possible for the algorithm. For the other vertical levels, the
characteristics are calculated for the same horizontal distances XHOR
as for the lowest level. (XHOR
=horizontal distance between fairlead
and anchor).
if LINPTY > 1, NSEG input lines
ISEG IELTYP NEL IBUOY SLENG FRIC NEA ITYNEA ICATSTIF NEA_OW NEA_O

ISEG: integer
: Local segment number 
IELTYP: integer
: Segment type
= 0
: Catenary segment 
= 1
: Rigid segment (infinite bending and axial stiffness)


NEL: integer
: Number of elements. For fibre rope segments (ICATSTIF=3), NEL must be 2 or higher, and the average tension over the elements in a segment (see note below) is used to compute the intersection between the working curve used in static analysis and the linear tensionstrain curve used in dynamic analysis. For other axial stiffness types (not fibre rope), the elements are only used for visualization. 
IBUOY: integer
: Buoy in end 1 of the segment, which is the end closest to the anchor
= 0
: No buoy in end 1 
> 0
: Buoy numberIBUOY
in end 1, referring to buoy in data groupBUOY


SLENG: real
: Length of the segment, \(\mathrm {[L]}\) 
FRIC: real
: Friction coefficient between line and sea bottom 
NEA: integer, default: 0
: IfICATSTIF=2
, NEA is number of points in nonlinear tensionstrain curve. IfICATSTIF=3
, NEA is number of points in fibre rope working curve. 
ITYNEA: integer
:
= 1
: Stressstrain curve withNEA
points is given 
= 2
: Tensionstrain curve withNEA
points is givenWhen
ICATSTIF=3
,ITYNEA=2
is mandatory


ICATSTIF: integer, default: 1
(ifNEA=0
),2
(ifNEA>0
):
= 1
: Linear tensionstrain relationship is determined byEMOD
,EMFAC
andDIA

= 2
: Nonlinear tensionstrain curve withNEA
points is given 
= 3
: Fibre rope model


NEA_OW: integer, default: 0
: Number of points in fibre rope original working curve. Dummy ifICATSTIF
is not3
. 
NEA_O: integer, default: 0
: Number of points in fibre rope original curve. This curve is presently not used andNEA_O
should be set to0
.
The segment numbers must be given in increasing order and the first segment is at the anchor.
Note that NEL
must at least 2 for fibre rope segments. This is because
the tension is extracted at the top end of each element. The last
element of each segment is therefore excluded from the averaging over
elements to avoid bias towards the top of the segment.
First line in block:
ISEG DIA EMOD EMFACT UWIA WATFAC CDN CDL

ISEG: integer
: Local segment number 
DIA: real
: Segment diameter, \(\mathrm {[L]}\) 
EMOD: real
: Modulus of elasticity \(\mathrm {[F/L^2]}\). Dummy when IELTYP=1 
EMFAC: real
: Factor of elasticity
= 2
: Chain 
= 1
: Other segment types


UWIA: real
: Unit weight in air, \(\mathrm {[F/L]}\) 
WATFAC: real
: The ratio of weight in water to weight in air
Normally
0.81
for steel wire rope and0.87
for chain


CDN: real
: Transverse drag coefficient of the line 
CDL: real
: Longitudinal drag coefficient of the line
Total stiffness, EA
= EMOD
* EMFAC
* DIA
**2 *
\(\mathrm {\pi }\)/4.
For the case where the simplified line dynamic model is used
(LINPTY = 3
) the (linear) EMOD
is used as modulus of elasticity in
the dynamic model.
CDN
and CDL
are used in the line dynamics computation only.

Drag force/length
= 0.5
*RHOW
*DIA
*CDN
*VN
\(\mathrm {^2\quad }\) Transverse 
Drag force/length
= 0.5
*RHOW
*DIA
*CDL
*VL
\(\mathrm {^2\quad }\) Longitudinal
where VN
and VL
are transverse and longitudinal velocity components.
IF ICATSTIF = 2, continue block, NEA input lines for stressstrain or tensionstrain curve
STRESS/TENSION STRAIN

STRESS/ TENSION: real
: Stress or tension in segment 
STRAIN: real
: Corresponding relative elongation of segment
The first point has to be (0., 0.)
. If ITYNEA=2
, the tension will be
calcualated with
TENSION
= STRESS
* EMFAC
* DIA
**2 *
\(\mathrm {\pi }\)/4
IF ICATSTIF = 3, continue block, 1 input line
DSCA DSCB TMAX_HIST

DSCA: real
: Parameter in dynamic stiffness \(\mathrm {[F]}\) 
DSCB: real
: Parameter in dynamic stiffness \(\mathrm {[]}\) 
TMAX_HIST: real
: Historic tension \(\mathrm {[F]}\)
The dynamic axial stiffness is calculated with
EA
= DSCA
+ DSCB
* TMEAN
where TMEAN
is the static tension in the segment
IF ICATSTIF = 3, continue block, NEA input lines for working curve
TENSION_W STRAIN_W

TENSION_W: real
: Tension in segment 
STRAIN_W: real
: Corresponding relative elongation of segment
The first point has to be (0., 0.)
.
IF ICATSTIF = 3, continue block, NEA_OW input lines for original working curve
TENSION_OW STRAIN_OW

TENSION_OW: real
: Tension in segment 
STRAIN_OW: real
: Corresponding relative elongation of segment
The first point has to be (0., 0.)
.
IF ICATSTIF = 3, continue block, NEA_O input lines for original curve
TENSION_O STRAIN_O

TENSION_O: real
: Tension in segment 
STRAIN_O: real
: Corresponding relative elongation of segment
Note that the original curve is presently dummy input
The first point has to be (0., 0.)
.
1 input line
IBUOY NFZ

IBUOY: integer
: Buoy number.IBUOY
must be given from 1 toNBUOY
in increasing order 
NFZ: integer
: Number of points in the force vs. vertical position table
NFZ input lines
ZBUOY FBUOY

ZBUOY(i): real
: i’th vertical position in the force vs. vertical position table, \(\mathrm {[L]}\)
For
NFZ=1
,ZBUOY
is dummy, but must be given


FBUOY(i): real
: Corresponding vertical force, positive upwards, \(\mathrm {[F]}\)
Vertical Zaxis is positive upwards. ZBUOY(i) = 0.0
means still water
plane. ZBUOY(i+1) < ZBUOY(i)
. The buoy may first be specified in air
by a positive zvalue, and at last be specified fully submerged by a
negative zvalue.
Force elongation with fixed attack points
1 input line
NPT IMETH EXP PRETEN DIR ANG INTPOM VEMIFI EHLA

NPT: integer
: Number of points in characteristics 
IMETH: integer
: Method for initialisation of positioning element
= 1
: Pretension and local direction 
= 2
: Pretension and global direction 
= 3
: Coordinates of both end points 
= 5
: "Constant tension winch", coordinates of both end points are given. Maximum and minimum tension specified in the characteristic will not be exceeded.


EXP: real, default: 1
: Exponent of vel. in damping term 
PRETEN: real
: Pretension, \(\mathrm {[F]}\)
Dummy for
IMETH = 3
and5


DIR: real
: Direction of line in horizontal plane, \(\mathrm {[deg]}\)
Dummy for
IMETH = 3
and5


ANG: real
: Angle of line from horizontal plane (positive downwards), \(\mathrm {[deg]}\)
Dummy for
IMETH = 3
and5


INTPOM: integer, default: 1
: Interpolation method = 1, 2, 3 or 4
=1
: Linear force, linear damping. 
=2
: Linear force, parabolic damping. 
=3
: Parabolic force, linear damping. 
=4
: Parabolic force, parabolic damping.


VEMIFI: real, default: 0
: Velocity limit for friction force (EXP = 0
) See below. 
EHLA: integer, default: 0
: HLA export flag for positioning element
EHLA = 0
: No export 
EHLA = 1
: HLA export

Small velocities and EXP=0.0
will result in problems in finding
equilibrium position because the friction force (which may be relatively
large) suddenly can change sign. To avoid this problem SIMO
uses
EXP=1
when Abs(Vel.) < VEMIFI
and EXP
<1.
The damping force curve is continuous at Vel=VEMIFI
.
If EHLA = 1, a HLA name of forceelongation object has to specified, 1 input line
CHPHLA

CHPHLA: character(120)
: Character string for HLA forceelongation object name
1 input line
XBDY YBDY ZBDY XGLB YGLB ZGLB

XBDY: real
: Xcoordinate of attack point in body fixed coordinate system, \(\mathrm {[L]}\) 
YBDY: real
: Ycoordinate of attack point in body fixed coordinate system, \(\mathrm {[L]}\) 
ZBDY: real
: Zcoordinate of attack point in body fixed coordinate system, \(\mathrm {[L]}\) 
XGLB: real
: Xcoordinate of end point in global coordinate system, \(\mathrm {[L]}\)
Dummy for
IMETH=1
andIMETH=2


YGLB: real
: Ycoordinate of end point in global coordinate system, \(\mathrm {[L]}\)
Dummy for
IMETH=1
andIMETH=2


ZGLB: real
: Zcoordinate of end point in global coordinate system, \(\mathrm {[L]}\)
Dummy for
IMETH=1
andIMETH=2

NPT input lines.
DIST FORCE DAMP

DIST: real
: Distance between end points, \(\mathrm {[L]}\) 
FORCE: real
: Force in element, positive values signify attracting the body towards the element, \(\mathrm {[F]}\) 
DAMP: real
: Damping coefficient, \([F(T/L)^{\mathrm {EXP}}]\)
Distances have to be given in increasing order and can not be negative.
Element failure, 1 input line
IFMOPO FTIME BTENS

IFMOPO: integer
: Failure mode of positioning element
= 0
: No failure 
= 1
: Failure by exceeding the breaking strength after specified time. 
= 2
: Activation of positioning element after specified time if absolute value of force is below limit.


FTIME: real
: Earliest possible time of failure (IFMOPO = 1
) or earliest activation time (IFMOPO = 2
), \(\mathrm {[T]}\). 
BTENS: real
: Breaking strength (IFMOPO = 1
) or maximum force for activation of positioning element (IFMOPO = 2
), \(\mathrm {[F]}\)
For IFMOPO = 1
, the element breaks when both FTIME
and BTENS
are
exceeded.
For IFMOPO = 2
, the element is activated when FTIME
is exceeded and
force is below BTENS
.
Docking cone positioning
1 input line
NPT EXP INTPOM VEMIFI EHLA

NPT: integer
: Number of points in characteristics 
EXP: real, default: 1
: Exponent of vel. in damping term 
INTPOM: integer, default: 1
: Interpolation method = 1, 2, 3 or 4
=1
: Linear force, linear damping. 
=2
: Linear force, parabolic damping. 
=3
: Parabolic force, linear damping. 
=4
: Parabolic force, parabolic damping.


VEMIFI: real, default: 0
: Velocity limit for friction force (EXP = 0
) See below. 
EHLA: integer, default: 0
: HLA export flag for positioning element
EHLA = 0
: No export 
EHLA = 1
: HLA export

Small velocities and EXP=0
will result in problems in finding
equilibrium position because the friction force (which may be relatively
large) suddenly can change sign. To avoid this problem SIMO
uses
EXP=1
when Abs(Vel.) < VEMIFI
and EXP
<1.
The damping force (EXP=1
) for Vel=VEMIFI
is equal to Damping force
(EXP
=as given).
If EHLA = 1, a HLA name of forceelongation object has to be specified
1 input line
CHPHLA

CHPHLA: character(120)
: Character string for HLA forceelongation object name
1 input line
RADMAX FRIC

RADMAX: real
: Maximum radial distance at entry 
FRIC: real, default: 0
: Friction coefficient
1 input line
XBDY YBDY ZBDY XGLB YGLB ZGLB

XBDY: real
: Xcoordinate of attack point in body fixed coordinate system, \(\mathrm {[L]}\) 
YBDY: real
: Ycoordinate of attack point in body fixed coordinate system, \(\mathrm {[L]}\) 
ZBDY: real
: Zcoordinate of attack point in body fixed coordinate system, \(\mathrm {[L]}\) 
XGLB: real
: Xcoordinate of end point (center of cone opening) in global coordinate system, \(\mathrm {[L]}\) 
YGLB: real
: Ycoordinate of end point in global coordinate system, \(\mathrm {[L]}\) 
ZGLB: real
: Zcoordinate of end point in global coordinate system, \(\mathrm {[L]}\)
1 input line
DV1 DV2 DV3

DV1: real, default: 0
: Direction vector, xcomponent 
DV2: real, default: 0
: Direction vector, ycomponent 
DV3: real, default: 1
: Direction vector, zcomponent
The direction vector of the guide axis is defined in global coordinate system (direction from end of cylinder and inwards). It will be normalised in the input module.
NAXPTS input lines
IAXPT AXPT

IAXPT: integer
: Axial point number 
AXPT: real
: Axial point, axial distance from end, \(\mathrm {[L]}\)
NAXPT * NPT input lines.
DIST FORCE DAMP

DIST: real
: Radial distance (transverse offset), \(\mathrm {[L]}\) 
FORCE: real
: Force in element, positive forces are attractive, \(\mathrm {[F]}\) 
DAMP: real
: Damping coefficient, \([F(T/L)^{\mathrm {EXP}}]\)
Distances should be increasing and can not be negative, and each characteristic must have the same number of distances.
Force characteristics for each axial point, starting with point 1. At least one force value must be zero.
Element failure, 1 input line
IFMOPO FTIME BTENS

IFMOPO: integer
: Failure mode of positioning element
= 0
: No failure 
= 1
: Failure by exceeding the breaking strength after specified time. 
= 2
: Activation of positioning element after specified time if absolute value of force is below limit.


FTIME: real
: Earliest possible time of failure (IFMOPO = 1
) or earliest activation time (IFMOPO = 2
), \(\mathrm {[T]}\). 
BTENS: real
: Breaking strength (IFMOPO = 1
) or maximum force for activation of positioning element (IFMOPO = 2
), \(\mathrm {[F]}\)
For IFMOPO = 1
, the element breaks when both FTIME
and BTENS
are
exceeded.
For IFMOPO = 2
, the element is activated when FTIME
is exceeded and
force is below BTENS
.
Fender
1 input line
NPT IFRIC DYNFRIC STAFRIC STIFFRIC EXP IFIX INTPO VEMIN EHLA

NPT: integer
: Number of points in fender characteristics 
IFRIC: integer
: Fender model
= 1
: Fender point 
= 2
: Fender roller (frictionless in one direction)


DYNFRIC: real
: Friction coefficient, sliding 
STAFRIC: real
: Friction coefficient, when not sliding (stiction) 
STIFFRIC: real
: Shear stiffness associated with friction \(\mathrm {[F/L]}\) 
EXP: real
: Exponent of velocity in damping term for compressive force 
IFIX: integer, default: 0
: Fender attachment
= 0
: Globally fixed point 
= 1
: Body


INTPO: integer, default: 1
: Interpolation method = 1,2,3 or 4
=1
: Linear force, linear damping. 
=2
: Linear force, parabolic damping. 
=3
: Parabolic force, linear damping. 
=4
: Parabolic force, parabolic damping.


VEMIN: real, default: 0
: Velocity limit for normal friction force (EXP=0
) 
EHLA: integer, default: 0
: HLA export flag for fender
EHLA = 0
: No export 
EHLA = 1
: HLA export

Small velocities and EXP=0
can result in a large normal friction force
that suddenly changes sign. To avoid this, the value EXP=1
is used
when ABS(vel.) < VEMIN
and EXP<1
.
If EHLA = 1, a HLA name of fender object has to be specified
1 input line
CHPHLA

CHPHLA: character(120)
: Character string describing HLA fender object name
Contact point,1 input line
XF YF ZF

XF: real
: Xcoordinate of fender attachment point, \(\mathrm {[L]}\) 
YF: real
: Ycoordinate of fender attachment point, \(\mathrm {[L]}\) 
ZF: real
: Zcoordinate of fender attachment point, \(\mathrm {[L]}\)
Global coordinates if fender is attached to a globally fixed point
(IFIX = 0
).
Local body coordinates if fender is attached to the body (IFIX = 1
).
Definition of fender plane and roller axis, 1 input line
XP YP ZP XN YN ZN XA YA ZA

XP: real
: Xcoordinate of point in the fender plane \(\mathrm {[L]}\) 
YP: real
: Y coordinate of point in the fender plane \(\mathrm {[L]}\) 
ZP: real
: Z coordinate of point in the fender plane \(\mathrm {[L]}\) 
XN: real
: Xcomp. of vector normal to surface \(\mathrm {[L]}\) 
YN: real
: Ycomp. of vector normal to surface \(\mathrm {[L]}\) 
ZN: real
: Zcomp. of vector normal to surface \(\mathrm {[L]}\) 
XA: real
: Xcomp. of vector parallel to rotation axis \(\mathrm {[L]}\)
Dummy for
IFRIC = 1


YA: real
: Ycomp. of vector parallel to rotation axis \(\mathrm {[L]}\)
Dummy for
IFRIC = 1


ZA: real
: Zcomp. of vector parallel to rotation axis \(\mathrm {[L]}\)
Dummy for
IFRIC = 1

Local body coordinates if fender is attached to a globally fixed point
(IFIX = 0
)
Global coordinates if fender is attached to the body (IFIX = 1
)
For definition of fender plane dimensions, see the figure `Illustration of fender plane dimensions' below.
May be omitted in case of an unlimited fender plane is modeled, 1 input line
DV1X DV1Y DV1Z RL1 RL2
Vector defining direction no. 1 of fender plane:  DV1X: real
:
Xcomponent of vector defining direction no. 1  DV1Y: real
:
Ycomponent of vector defining direction no. 1  DV1Z: real
:
Zcomponent of vector defining direction no. 1  RL1: real
: Dimension
of fender plane in direction 1  RL2: real
: Dimension of fender plane
in direction 2
Global coordinates are used if the fender plane is earthfixed
Local body coordinates are used if the fender plane is on a body.
It is assumed that \{XP,YP,ZP} is the centre point of the plane.
NPT input lines
DIST AFORCE DAMP

DIST: real
: Distance from fender point to fender plane \(\mathrm {[L]}\) 
AFORCE: real
: Axial fender force, normal to surface \(\mathrm {[F]}\) 
DAMP: real
: Damping coefficient \([F(T/L)^{\mathrm {EXP}}]\)
The characteristics can be given for monotonic increasing or decreasing
distances, DIST
.
Point fender: All DIST <= 0
Spherical fender: The largest distance in the characteristics must be
positive (>0
). This distance is the radius of the sphere around the
fender point.
AFORCE = 0
at the largest distance
Compression force and damping are given as positive numbers.
Bumper element data
1 input line
NPT INTPOM VEMIN EXPD EHLA

NPT: integer
: Number of points in bumper force characteristics 
INTPOM: integer, default: 1
: Interpolation method = 1,2,3 or 4
=1
: Linear force, linear damping. 
=2
: Linear force, parabolic damping. 
=3
: Parabolic force, linear damping. 
=4
: Parabolic force, parabolic damping.


VEMIN: real, default: 0
: Velocity limit for damping force (EXPD=0
) 
EXPD: real
: Exponent in damping formula 
EHLA: integer, default: 0
: HLA export flag for bumper
EHLA = 0
: No export 
EHLA = 1
: HLA export

Small velocities and EXPD=0
can result in a large damping force that
suddenly changes sign. To avoid this the value EXPD=1
is used when
Abs(vel.) < VEMIN
and EXPD < 1
.
If EHLA = 1, a HLA name of bumper object has to be specified
1 input line
CHPHLA

CHPHLA: character(120)
: Character string describing HLA bumper object name
Coordinate of bumper line attached to the body, 1 input line.
XB1 YB1 ZB1 XB2 YB2 ZB2

XB1: real
: Xcoordinate of bumper end 1, \(\mathrm {[L]}\) 
YB1: real
: Ycoordinate of bumper end 1, \(\mathrm {[L]}\) 
ZB1: real
: Zcoordinate of bumper end 1, \(\mathrm {[L]}\) 
XB2: real
: Xcoordinate of bumper end 2, \(\mathrm {[L]}\) 
YB2: real
: Ycoordinate of bumper end 2, \(\mathrm {[L]}\) 
ZB2: real
: Zcoordinate of bumper end 2, \(\mathrm {[L]}\)
Local body coordinates
Coordinate of globally fixed bumper line, 1 input line.
XG1 YG1 ZG1 XG2 YG2 ZG2

XG1: real
: Xcoordinate of bumper end 1, \(\mathrm {[L]}\) 
YG1: real
: Ycoordinate of bumper end 1, \(\mathrm {[L]}\) 
ZG1: real
: Zcoordinate of bumper end 1, \(\mathrm {[L]}\) 
XG2: real
: Xcoordinate of bumper end 2, \(\mathrm {[L]}\) 
YG2: real
: Ycoordinate of bumper end 2, \(\mathrm {[L]}\) 
ZG2: real
: Zcoordinate of bumper end 2, \(\mathrm {[L]}\)
Global coordinates
Contact force characteristics, NPT input lines
DIST AFORCE DAMP

DIST: real
: Distance between bumper centrelines \(\mathrm {[L]}\) 
AFORCE: real
: Bumper force, normal to elements \(\mathrm {[F]}\) 
DAMP: real
: Damping coefficient \([F(T/L)^{\mathrm {EXP}}]\)
The characteristics can be given for increasing or decreasing distances,
DIST
.
Compression force and damping are given as positive numbers.
Thrusters (Deprecated model)
This thruster model is deprecated. It will not be available anymore in the next release versions. This thruster model cannot be used on the same body together with the thruster model documented in the next section (Thruster system).
1 input line
ITRTYP NDIR NZON

ITRTYP: integer
: Thruster type
= 1
: Fixed, conventional 
= 2
: Fixed, ducted 
= 3
: Fixed, tunnel 
= 4
: Rotatable, conventional 
= 5
: Rotatable, ducted 
= 6
: Open main propeller 
= 7
: Ducted main propeller


NDIR: integer
: Number of directions for which directional dependency is specified
Dummy for
ITRTYP=1,2,3,6,7


NZON: integer
: Number of sectors with forbidden zones
Dummy for
ITRTYP=1,2,3,6,7

Directions are given as direction of thrust force acting on the body. Thruster types 1, 2 and 3 are equal and thruster types 4 and 5 are equal.
1 input line
XTHR YTHR ZTHR DIRTHR FORCE FACALL EHLA

XTHR: real
: Xcoordinate of thruster in body coordinate system, \(\mathrm {[L]}\) 
YTHR: real
: Ycoordinate of thruster in body coordinate system, \(\mathrm {[L]}\) 
ZTHR: real
: Zcoordinate of thruster in body coordinate system, \(\mathrm {[L]}\) 
DIRTHR: real
: Direction of thrust force in body xy plane, initial value if controlled by a DPsystem, \(\mathrm {[deg]}\) 
FORCE: real
: Resulting force, initial value if controlled by a DPsystem, \(\mathrm {[F]}\) 
FACALL: real, default: 1
: Factor in weight function for thruster allocation, dummy if not controlled by a DPsystem 
EHLA: integer, default: 0
: HLA export flag for thruster force
EHLA = 0
: No export 
EHLA = 1
: HLA export

If EHLA = 1, a HLA name of thruster object has to be specified. 1 input line
CHTHLA

CHTHLA: character(120)
: Character string describing HLA thruster object name
1 input line
TMIMA DBAND ANGL ANGH

TMIMA: real
: Minimum time to change from minimum to maximum thrust, \(\mathrm {[T]}\) 
DBAND: real, default: .01
: Relative dead band, minimum change of force relative to total range, \(\mathrm {[F]}\) 
ANGL: real, default: 0
: Minimum change in direction of thrusters force, \(\mathrm {[deg]}\)
Dummy for
ITRTYP=1,2,3


ANGH: real, default: 10
: Maximum revolving speed of rotatable thrusters, \(\mathrm {[deg}/T]\)
Dummy for
ITRTYP=1,2,3,6,7

1 input line
FMIN FMAX DIAM KTNEG KTPOS

FMIN: real
: Minimum thruster force, \(\mathrm {[F]}\) 
FMAX: real
: Maximum thruster force, \(\mathrm {[F]}\) 
DIAM: real, default: 1
: ForITRTYP = 6
and7
only. Thruster diameter, \(\mathrm {[L]}\) 
KTNEG: real, default: 0
: Thrust coefficient (KT) for negative thruster rotation 
KTPOS: real, default: 0
: Thrust coefficient (KT) for positive thruster rotation
The Thruster diameter must be > 0
.
KTNEG
and KTPOS
are not presently used.
1 input line If ITRTYP = 6, 7
RUCOEF RUMAX

RUCOEF: real
: Rudder coefficient, \(\mathrm {[1/deg]}\) 
RUMAX: real
: Maximum rudder angle, \(\mathrm {[deg]}\)
RUMAX > 0
.
The angle of the rudder force (\(\mathrm {\alpha _f}\)) is
calculated as \(\mathrm {\alpha _f=\sin{\alpha _r}/}\)
RUCOEF
, where \(\mathrm {\alpha _r}\) is the rudder angle.
1 input line if ITRTYP = 1,2,3
FACT

FACT: real, default: 1
: Thrust reduction factor
The resulting force from a dynamically controlled thruster is between
FMIN
FACT
and FMAX
FACT
NDIR input lines if ITRTYP = 4,5
DIR FACT DANG

DIR: real
: Direction of propeller axis in body coordinate system, \(\mathrm {[deg]}\) 
FACT: real, default: 1
: Thruster reduction factor 
DANG: real, default: 0
: Dummy parameter. (Direction of thrust relative to propeller axis), \(\mathrm {[deg]}\)
FACT
will be interpolated between the specified DIR
.
The resulting force from a dynamically controlled thruster is between
FMIN
FACT
and FMAX
FACT
DANG
is not implemented and is a dummy parameter
NZON input lines if ITRTYP = 4,5
ZON1 ZON2

ZON1: real
: Start of forbidden zone of thrust force, \(\mathrm {[deg]}\) 
ZON2: real
: End of forbidden zone of thrust force, \(\mathrm {[deg]}\)
ZON1
<`ZON2`, allowed zone range is (360.
,360.
)
Zones are related to force direction
ZON2
> ZON1
⇒ the zone (330 : 45
) must be given as ( 30 : 45
)
Thruster system
THRUster SYSTem DATA
NAME & TYPE, 1 input line
CTHRST ITRTYP EHLA SEQSIZE

CTHRST: character(8)
: Thruster identifier 
ITRTYP: integer
: Thruster type
= 1
: Fixed, conventional 
= 2
: Fixed, ducted 
= 3
: Fixed, tunnel 
= 4
: Rotatable, conventional 
= 5
: Rotatable, ducted 
= 6
: Open main propeller 
= 7
: Ducted main propeller


EHLA: integer, default: 0
: HLA export flag for thruster force
EHLA = 0
: No export 
EHLA = 1
: HLA export


SEQSIZE: integer, default: 0
: Number of items in thruster control sequence
SIMO
makes no distinction between ducted and open thrusters. Hence,
specifying the thruster type to be 1 or 2 is identical.
If EHLA = 1, a HLA name of thruster object has to be specified. 1 input line
CHTHLA

CHTHLA: character(120)
: Character string describing HLA thruster object name
Coordinates of thruster attachment given in body system, input line
XTHR YTHR ZTHR

XTHR: real
: Xcoordinate of thruster in body coordinate system, \(\mathrm {[L]}\) 
YTHR: real
: Ycoordinate of thruster in body coordinate system, \(\mathrm {[L]}\) 
ZTHR: real
: Zcoordinate of thruster in body coordinate system, \(\mathrm {[L]}\)
Thruster diameter, thrust and direction, 1 input line
DIAM THRUST DIRTHR

DIAM: real
: Thruster diameter, \(\mathrm {[L]}\) 
THRUST: real
: Thrust1, \(\mathrm {[F]}\) 
DIRTHR: real
: Direction1 of thrust body xy plane \(\mathrm {[deg]}\)
Initial values if thruster is controlled by a DPsystem
DIAM
should be greater than 0.01
Properties, 1 input line
FMIN FMAX TRISE TCTHR

FMIN: real
: Minimum thrust, \(\mathrm {[F]}\) 
FMAX: real
: Maximum thrust force, \(\mathrm {[F]}\) 
TRISE: real
: Minimum rise time of thrust from 10% to 90% of maximum thrust, \(\mathrm {[T]}\) 
TCTHR: real
: Time constant of thruster servo controller, \(\mathrm {[T]}\)
TCTHR
should be positive. TCTHR
is used to determine the
proportional gain of the controller that is used to minimize the error
in thruster rotational speed. See the Theory Manual (Thruster control,
speed control) for the determination of servo controller coefficients
based on FMAX
, TRISE
, and TCTHR
.
Extra properties for azimuth thruster, i.e. ITRTYP=4 or 5, 1 input line
ANGVMAX TCAZ

ANGVMAX: real
: Maximum turning speed of azimuth thruster, \(\mathrm {[deg}/T]\) 
TCAZ: real
: Time constant of azimuth change, \(\mathrm {[T]}\)
Property modifications, 1 input line
CTFWD CQFWD CTREV CQREV

CTFWD: real, default: 1
: Modification factor for forward thrust 
CQFWD: real, default: 1
: Modification factor for forward torque 
CTREV: real, default: 1
: Modification factor for reverse thrust 
CQREV: real, default: 1
: Modification factor for revers torque
Option for thrust coefficient model, 1 input line
ITMOD

ITMOD: integer
:
= 0
: Use internal generic model for thrust coefficient KT and torque coefficient KQ
See figure showing builtin coefficients in the Theory Manual


= 1
: Coefficients of thrust and torque given for the forward direction (reverse thrust and torque obtained by using reduction factor) 
= 2
: Coefficients of thrust and torque given separately for forward and reverse direction

ITMOD=1 or 2, Thrust and torque coefficients for forward direction, number of points in table: 1 input lines
NKFWD

NKFWD: integer
: Number of points in functionsKTFWD
andKQFWD
ITMOD=1 or 2, Thrust and torque coefficients for forward direction, NKFWD input lines
JFWD(i), KTFWD(i), KQFWD(i)

JFWD (i): real
: Advance ratio (number i) 
KTFWD (i): real
: Thrust coefficient (number i) 
KQFWD(i): real
: Torque coefficient (number i)
ITMOD=2, Thrust and torque coefficients for reversed direction: 1 input line
NKREV

NKREV: integer
: Number of points in functions KTREV and KQREV
ITMOD=2, Thrust and torque coefficients for reversed direction, NKREV input lines
JREV (i), KTREV(i), KQREV(i)

JREV (i): real
: Advance ratio value (number i) 
KTREV (i): real
: Thrust coefficient (number i) 
KQREV(i): real
: Torque coefficient (number i)
Option for thrust loss, 1 input line
ILOSS

ILOSS: integer
:
ILOSS = 0
: No loss effects are included 
ILOSS = 1
: Surface proximity loss is included

If ILOSS=1: 3 input lines
NSPL

NSPL: integer
: Number of entries in table for surface proximity loss
ZD (1), ZD(2), .... , ZD(NSPL)

ZD(1): real
: First Z/D value in reduction factor table 
ZD(2): real
: Second Z/D value in reduction factor table 
…: real
: 
ZD(NSPL): real
: Last Z/D value in reduction factor table
CSPL(1), CSPL(2), .... , CSPL(NSPL)

CSPL(1): real
: First value of reduction factor 
CSPL(2): real
: Second value of reduction factor 
…: real
: 
CSPL (NSPL): real
: Last value of reduction factor
Notes:

The values of
CSPL
outside the range of the data table provided by the user are extrapolated by using the end (or start) value of the table. Therefore it is strongly recommended to start the table by the submergence for whichCSPL=1
, in order to getCSPL=1
when the thruster is submerged and "does not feel" the surface. 
The values of
CSPL
inside the range of the data table provided by the user are interpolated linearly. 
For a submerged thruster, Z/D<0. For a thruster in the air, Z/D>0.

CSPL=1
means no thrust loss (i.e. the thruster works properly).CSPL=0
means100
% thrust loss (i.e. the thruster does not provide any thrust). 
The array ZD should be monotonic.

CSPL should always be positive (or zero)
Additional loss effects for azimuth thrusters, ITRTYP=4 or 5, Number of directions for direction dependent thrust reduction factors, 1 input lines
NDIR

NDIR: integer
: Number of directions for which directional dependency is specified
ITRTYP=4 or 5, Direction dependent thrust reduction factors, NDIR input lines
DIR FACT

DIR: real
: Direction of propeller axis in body coordinate system, \(\mathrm {[deg]}\) 
FACT: real, default: 1
: Thrust reduction factor
FACT
will be interpolated between the specified DIR
. The resulting
force from a dynamically controlled thruster is between FMIN
FACT
and FMAX
FACT
.
ITRTYP = 6, 7, Rudder data, 1 input line
RUCOEF RUMAX

RUCOEF: real
: Rudder coefficient, \(\mathrm {[1/deg]}\) 
RUMAX: real > 0
: Maximum rudder angle, \(\mathrm {[deg]}\)
The angle of the rudder force (\(\mathrm {\alpha _f}\)) is
calculated as \(\mathrm {\alpha _f=\sin{\alpha _r}/}\)
RUCOEF
, where \(\mathrm {\alpha _r}\) is the rudder angle.
Thruster control sequence
Thrust signal type, 1 input line if SEQSIZE > 0
SIGTYPE

SIGTYPE: character
: Specifies unit for demanded thrust
= FORCE
: Demanded thrust force is given \(\mathrm {[F]}\) 
= ROTATION
: Demanded thruster rotations per time unit is given \(\mathrm {[1/T]}\)

Control sequence items, SEQSIZE
input lines
TIME THRUST DIRECTION ACCEPT

TIME: real
: Time to start applying sequence item \(\mathrm {[T]}\) 
THRUST: real
: Demanded thrust. Unit depends onSIGTYPE

DIRECTION: real
: Demanded thrust force direction. Dummy if thruster is not rotatable \(\mathrm {[deg]}\) 
ACCEPT: integer
: Flag for accepting signals from DP system
= 0
: Demanded thrust and direction will override any demand from the DP system 
= 1
: Any demand from DP system will be accepted (THRUST
andDIRECTION
is dummy)

Lift and drag force
The intention of this option is, in a simplified way, to model the drag and lift forces for instance on a rudder as response to main propeller actions.
The lifting surface is described by a local "surface" plane. The location is defined by a point P1 and the rotation axis, both defined in the body fixed coordinate system as illustrated in the figure below. A "surface" coordinate system is defined, with the zaxis along the rotation axis and the surface located in the xzplane.
To avoid confusion, it is recommended to use a "surface coordinate system" with approximately the same orientation as the local body coordinate system.
Lifting surface identifier, 1 input line
LIFT_NAME

LIFT_NAME: character(32)
: Lifting surface identifier (name)
Lifting surface position referred in body fixed system, 1 input line
XP1 YP1 ZP1

XP1: real
: Xcoordinate of point P1 \(\mathrm {[L]}\) 
YP1: real
: Ycoordinate of point P1 \(\mathrm {[L]}\) 
ZP1: real
: Zcoordinate of point P1 \(\mathrm {[L]}\)
Lifting surface orientation referred in body fixed system, 1 input line
DVZ1 DVZ2 DVZ3 DVXZ1 DVXZ2 DVXZ3
Direction vector parallel with the lift surface Zs axis (rotation axis)

DVZ1: real
: Xcomponent \(\mathrm {[L]}\) 
DVZ2: real
: Ycomponent \(\mathrm {[L]}\) 
DVZ3: real
: Zcomponent \(\mathrm {[L]}\)
Vector in lift surface XZ plane for zero rotation around Zs

DVXZ1: real
: Xcomponent \(\mathrm {[L]}\) 
DVXZ2: real
: Ycomponent \(\mathrm {[L]}\) 
DVXZ3: real
: Zcomponent \(\mathrm {[L]}\)
Lifting surface dimensions and initial rotation angle around Zs, 1 input line
XDIM ZDIM ANGLSU

XDIM: real
: Dimension in Xs direction \(\mathrm {[L]}\) 
ZDIM: real
: Dimension in Zs direction \(\mathrm {[L]}\) 
ANGLSU: real
: Initial lifting surface angle \(\mathrm {[deg]}\)
Lift surface rotational properties, 1 input line
ANGMAX RATE IHLA

ANGMAX: real
: Maximum rotation angle around ZS, absolute value \(\mathrm {[deg]}\) 
RATE: real
: Maximum rotational velocity, absolute valute \(\mathrm {[deg}/T]\) 
IHLA: integer
:
= 0
: No control from HLA 
= 1
: angle adjustable from HLA

If IHLA = 1, HLA name of lifting surface object, 1 input line
CHTHLA

CHTHLA: character(120)
: Character string describing HLA object name
1 input line
ITHR CURFAC VESFAC THRFAC

ITHR: integer
: The number ID of the thruster associated with the lifting surface
The thruster has to be type 6 or 7,

'0'
means that the rudder will give zero force


CURFAC: real
: Factor that current velocity is multiplied with 
VESFAC: real
: Factor that vessel velocity is multiplied with 
THRFAC: real
: Factor that thruster induced vel. is multiplied with
1 input line
NPLIFT INTPOM ISYM ZDRAG

NPLIFT: integer
: Number of points in force characteristics 
INTPOM: integer
: Interpolation method
= 1
: Linear interpolation 
= 2
: Spline interpolation


ISYM: integer
: Symmetry code
= 0
: No symmetry 
= 1
: Symmetry about xaxis


ZDRAG: real
: Quadratic force coeff. in rudder zdir. \(\mathrm {[F(T/L)^2]}\)
Force characteristics, NPLIFT input lines
BETA FX FY ZMOM

BETA: real
: Velocity direction relative to rudder xaxis 
FX: real
: Quadratic force coeff. in rudder xdir. \(\mathrm {[F(T/L)^2]}\) 
FY: real
: Quadratic force coeff. in rudder ydir. \(\mathrm {[F(T/L)^2]}\) 
ZMOM: real
: Quadratic moment coeff. about rudder zaxis \(\mathrm {[F*T*T/L]}\)
Lifting surface forces are computed based on the current, vessel, and
thruster induced velocities (multiplied by the factors CURFAC
,
VESFAC
, and THRFAC
). Orbital wave velocities are not included.
Thruster from Propulsion Library
PROPlib THRUster DATA
NAME & TYPE, 1 input line:
CTHRST ITRTYP EHLA SEQSIZE

CTHRST: character(8)
: Thruster identifier 
ITRTYP: integer
: Thruster ID in Propulsor Library. Available propulsors may vary. Minimum supported:
= 4000
: Tunnel thruster 
= 4010
: Azimuth thruster 
= 4500
: Propeller and rudder


EHLA: integer, default: 0
: HLA export flag for thruster force
EHLA = 0
: No export 
EHLA = 1
: HLA export


SEQSIZE: integer, default: 0
: Number of items in thruster control sequence
It is possible to add additional userdefined propulsors to the library, see PropLib documentation.
If EHLA = 1, a HLA name of thruster object has to be specified. 1 input line:
CHTHLA

CHTHLA: character(120)
: Character string describing HLA thruster object name
Coordinates of thruster attachment given in body system, 1 input line:
XTHR YTHR ZTHR

XTHR: real
: Xcoordinate of thruster in body coordinate system, \(\mathrm {[L]}\) 
YTHR: real
: Ycoordinate of thruster in body coordinate system, \(\mathrm {[L]}\) 
ZTHR: real
: Zcoordinate of thruster in body coordinate system, \(\mathrm {[L]}\)
Thruster thrust and direction, 1 input line:
THRUST DIRTHR

THRUST: real
: Thrust, \(\mathrm {[F]}\) 
DIRTHR: real
: Direction of thrust in body xy plane, \(\mathrm {[deg]}\)
Initial values if thruster is controlled by a DPsystem
Properties, 1 input line:
FMIN FMAX TRISE TCTHR

FMIN: real
: Minimum thrust, \(\mathrm {[F]}\) 
FMAX: real
: Maximum thrust force, \(\mathrm {[F]}\) 
TRISE: real
: Minimum rise time of thrust from 10% to 90% of maximum thrust, \(\mathrm {[T]}\) 
TCTHR: real
: Time constant of thruster servo controller, \(\mathrm {[T]}\)
TCTHR
should be positive. TCTHR
is used to determine the
proportional gain of the controller that is used to minimize the error
in thruster rotational speed. See the Theory Manual (Thruster control,
speed control) for the determination of servo controller coefficients
based on FMAX
, TRISE
, and TCTHR
.
Rotational properties, 1 input line:
ANGVMAX TCAZ

ANGVMAX: real
: Maximum turning speed of azimuth thruster, \(\mathrm {[deg}/T]\) 
TCAZ: real
: Time constant of azimuth change, \(\mathrm {[T]}\)
For fixed thrusters, ANGVMAX
should be 0.
Thruster control sequence
Thrust signal type, 1 input line if SEQSIZE > 0
SIGTYPE

SIGTYPE: character
: Specifies unit for demanded thrust
= FORCE
: Demanded thrust force is given, \(\mathrm {[F]}\) 
= ROTATION
: Demanded thruster rotations per time unit is given, \(\mathrm {[1/T]}\)

Control sequence items, SEQSIZE
input lines:
TIME THRUST DIRECTION ACCEPT

TIME: real
: Time to start applying sequence item, \(\mathrm {[T]}\) 
THRUST: real
: Demanded thrust. Unit depends onSIGTYPE

DIRECTION: real
: Demanded thrust force direction. Dummy if thruster is not rotatable, \(\mathrm {[deg]}\) 
ACCEPT: integer
: Flag for accepting signals from DP system
= 0
: Demanded thrust and direction will override any demand from the DP system 
= 1
: Any demand from DP system will be accepted (THRUST
andDIRECTION
is dummy)

Thruster failure, 1 input line if CONTrol SEQUence INPUt
is not given:
IFMOTH FTIME

IFMOTH: integer
: Failure mode
= 0
: no failure 
= 1
: thruster blackout after specified time


FTIME: real
: Time for thruster failure ifIFMOTH = 1
Number og PropLib parameters, 1 input line:
IPROPAR

IPROPAR: integer
: Number of parameters specified for this propulsor
ITRTYP=4000
: 8 
ITRTYP=4010
: 9 
ITRTYP=4500
: 19

For other propulsors, see the propulsors documentation.
PropLib parameters, 1 input line if ITRTYP=4000
:
LEN DIAM PITCH ANGFRONT ANGTOP IGRID VDIST RBILGE

LEN: real
: Tunnel length, \(\mathrm {[L]}\) 
DIAM: real
: Propeller diameter, \(\mathrm {[L]}\) 
PITCH: real
: Propeller pitch ratio, \(\mathrm {[]}\) 
ANGFRONT: real
: Hull angle relative to baseline (front view), \(\mathrm {[deg]}\) 
ANGTOP: real
: Hull angle relative to centerline (top view), \(\mathrm {[deg]}\) 
IGRID: real
: Number of grids, \(\mathrm {[]}\) 
VDIST: real
: Vertical disrance from propeller center to hull, \(\mathrm {[L]}\) 
RBILGE: real
: Bilge radius, \(\mathrm {[L]}\)
PropLib parameters, 1 input line if ITRTYP=4010
:
DIAM PITCH ABLADE WAKEF TDUCT SIGMA VDIST RBILGE APOD

DIAM: real
: Propeller diameter, \(\mathrm {[L]}\) 
PITCH: real
: Propeller pitch ratio, \(\mathrm {[]}\) 
ABLADE: real
: Propeller blade area ratio, \(\mathrm {[]}\) 
FWAKE: real
: Wake fraction, \(\mathrm {[]}\) 
TDUCT: real
: Thrust deduction factor, \(\mathrm {[]}\) 
SIGMA: real
: (1Cwl_aft)/(1Cp_aft), \(\mathrm {[]}\) 
VDIST: real
: Vertical disrance from propeller center to hull, \(\mathrm {[L]}\) 
RBILGE: real
: Bilge radius, \(\mathrm {[L]}\) 
APOD: real
: Pod area, \(\mathrm {[L^2]}\)
PropLib parameters, 1 input line if ITRTYP=4500
:
DIAM PITCH ABLADE HBHEIGHT HBCHORD HBTIP HBAREA RHEIGHT RCHORD RTIP RHORN RAREA HDISTR VDISTR GAP WAKEF TDUCT VDIST RBILGE

DIAM: real
: Propeller diameter, \(\mathrm {[L]}\) 
PITCH: real
: Propeller pitch ratio, \(\mathrm {[]}\) 
ABLADE: real
: Propeller blade area ratio, \(\mathrm {[]}\) 
HBHEIGHT: real
: Headbox height, \(\mathrm {[L]}\) 
HBCHORD: real
: Headbox rot chord, \(\mathrm {[L]}\) 
HBTIP: real
: Headbox tip chord, \(\mathrm {[L]}\) 
HBAREA: real
: Headbox area, \(\mathrm {[L^2]}\) 
RHEIGHT: real
: Rudder height, \(\mathrm {[L]}\) 
RCHORD: real
: Rudder root chord, \(\mathrm {[L]}\) 
RTIP: real
: Rudder tip chord, \(\mathrm {[L]}\) 
RHORN: real
: Rudder horn area, \(\mathrm {[L^2]}\) 
RAREA: real
: Rudder total area (incl. horn), \(\mathrm {[L^2]}\) 
HDISTR: real
: Horizontal distance propeller plane to rudder stock, \(\mathrm {[L]}\) 
VDISTR: real
: Vertical distance propeller plane to rudder top, \(\mathrm {[L]}\) 
GAP: real
: Initial gap rudder to headbox, \(\mathrm {[L]}\) 
FWAKE: real
: Wake fraction, \(\mathrm {[]}\) 
TDUCT: real
: Thrust deduction factor, \(\mathrm {[]}\) 
VDIST: real
: Vertical disrance from propeller center to hull, \(\mathrm {[L]}\) 
RBILGE: real
: Bilge radius, \(\mathrm {[L]}\)
Options for thrust loss, 1 input line:
ILOSSVENT ILOSSTHRHULL ILOSSTHRTHR

ILOSSVENT: integer
:
= 0
: Loss effect not included 
= 1
: Surface proximity loss is included


ILOSSTHRHULL: integer
:
= 0
: Loss effect not included 
= 1
: Thrusterhull interaction loss is included


ILOSSTHRTHR: integer
:
= 0
: Loss effect not included 
= 1
: Thrusterthruster interaction loss is included

Dynamic positioning data (Deprecated model)
This DP model is deprecated. It will not be available anymore in the next release versions. This DP model can only be used with the deprecated thruster model (Thruster systemdeprecated).
Dynamic positioning (DP) data must always belong to a positioning system. If the positioning system includes thrusters, they may be controlled by a dynamic positioning system, which is specified separately.
The dynamic positioning system will only control the motions in the horizontal plane (surge, sway and yaw). All dynamic positioning options are limited to one DP system for each body. Maximum number of thrusters per body is 20.
Text for describing the positioning system, 2 input lines.
TXDP

TXDP: character(60)
: Character string
Type of DPsystem, 1 input line
IDP

IDP: integer
: Type of dynamic positioning controller
= 1
: PID controller 
= 2
: Kalman filter based controller 
= 3
: External controller function/library 
= 4
: MTDP controller (internal MARINTEK DPsystem) 
= 5
: Velocity PI controller (HLA)

Degree of freedom for thruster allocation for IDP = 1, 2 and 3, 1 input line.
IFO1 IFO2 IFO6 IDPMOD ITALLOC IMADP

IFO1: integer
: Force allocation in surge (0
or1
) 
IFO2: integer
: Force allocation in sway (0
or1
) 
IFO6: integer
: Moment allocation in yaw (0
or1
) 
IDPMOD: integer, default: 1
: Flag for mode of DPsystem
= 0
: DPsystem OFF 
> 0
: DPsystem ON 
= 2
: Use any given <`CHBDY`> as reference


ITALLOC: integer, default: 1
: Thrust allocation method
= 1
: Ordinary allocation 
= 2
: Heading priority


IMADP: integer, default: 0
: Flag for option of manualDP by commanded force from HLA
0
: No HLA commanded force 
1
: HLA commanded force, OFF 
2
: HLA commanded force, ON

IFOX = 1
: Force shall be allocated. At least one parameter has to be
1.
If IMADP = 2
the given DPcontroller is deactivated.
If IMADP = 1 and 2, 1 input line, describing HLA name of commanded force
TXHDP

TXHDP: character(120)
: Character string for HLA name of commanded force
1 input line for IDP = 1, 2 and 3
XREF YREF DREF XLOC YLOC CHREF

XREF: real
:
Xcoordinate of reference/wanted position, \(\mathrm {[L]}\) for
CHREF
\(\mathrm {\neq }\)GBCIRCLE

Xcoordinate of the circle center \(\mathrm {[L]}\) for
CHREF = GBCIRCLE


YREF: real
:
Ycoordinate of reference/wanted position, \(\mathrm {[L]}\) for
CHREF
\(\mathrm {\neq }\)GBCIRCLE

Ycoordinate of the circle center \(\mathrm {[L]}\) for
CHREF = GBCIRCLE


DREF: real
:
Reference/wanted heading, \(\mathrm {[deg]}\) for
CHREF
\(\mathrm {\neq }\)GBCIRCLE

Radius of the circle \([\mathrm {M}]\) for
CHREF = GBCIRCLE


XLOC: real
: Xcoordinate of the point on the body which shall be positioned at the specified reference, \(\mathrm {[L]}\) 
YLOC: real
: Ycoordinate of the point on the body which shall be positioned at the specified reference, \(\mathrm {[L]}\) 
CHREF: character(8), default: GLOBAL
: Reference frame identifier
= GLOBAL
: Fixed reference point given in global coordinate system 
= <CHBDY>
: A moving point given relative to body<CHBDY>
shall be followed for one or more degrees of freedom.IDPMOD
must be set to 2. (IfIDPMOD=1
,CHREF = GLOBAL
) 
= EXTREF
: Reference from an external function 
= HLAREF
: Read global reference from HLA communication 
= GUIDANCE
: Guidance System 
= GBCIRCLE
: The circle perimeter is used as reference (see `Weather vaning strategy (CHREF=GBCIRCLE)' in `Force models' in the Theory Manual)

If CHREF = <CHBDY>, 1 input line
IXYREF IDREF POSLPT

IXYREF: integer
: Reference position flag, XYposition.
= 1
: Fixed, given in global coordinate system 
= 2
: Moving, given in local system of body to be followed


IDREF: integer
: Reference position/heading flag
= 1
: Fixed, given in global coordinate system 
= 2
: Moving, given relative to heading of body to be followed


POSLPT: real
: Cutoff time in lowpass filter for position measurement of body to follow
XREF
, YREF
are given values for <`CHBDY`> in the local coordinate
system if CHREF =
<`CHBDY`>, normally "outside" the body. DREF
is
the relative heading between the heading of the DPbody and the heading
of <`CHBDY`>.
If CHREF = EXTREF, 1 input line, name and path of external library
EXTRNA

EXTRNA: character(120)
: Character string describing path and name of external DPreference library
XREF
, YREF
and ZREF
are initial values if CHREF = EXTREF
If CHREF = EXTREF, 1 input line
NPCUR

NPCUR: integer > 0
: Number of points where current velocities shall be given to the external reference library
If CHREF = HLAREF, 1 input line, name of HLA reference
HLARNA

HLARNA: character(120)
: Character string describing HLA reference name
XREF
, YREF
and ZREF
are initial values if CHREF = HLAREF
1 input line
IGTYP

IGTYP: integer
: Type ofGUIDANCE

= 1
: Straight lines and circular arcs 
= 2
: Line of sight (LOS)

If CHREF = GUIDANCE (Guidance System), 1 input line
NWAYP IWPTYP IHRTYP

NWAYP: integer
: Number of waypoints 
IWPTYP: integer
: Waypoint type
= 1
: Locally defined relative to body location 
= 2
: Globally defined


IHRTYP: integer
: Heading reference type
= 1
: Tangential to path 
= 2
: Globally fixed

If CHREF = GUIDANCE (Guidance System), 1 input line
TSTART AMAXX AMAXY

TSTART: real, default: 200
: Start time for guidance system, \(\mathrm {[T]}\) 
AMAXX: real
: Max. acceleration in local xdirection, \(\mathrm {[L/TT]}\) 
AMAXY: real
: Max. acceleration in local ydirection, \(\mathrm {[L/TT]}\)
If CHREF = GUIDANCE (Guidance System) and IGTYP = 1,
Waypoint table, NWAYP
input lines,
XP YP ZP VREF PSI RADT

XP: real
: Xcoordinate of waypoint, \(\mathrm {[L]}\) 
YP: real
: Ycoordinate of waypoint, \(\mathrm {[L]}\) 
ZP: real
: Zcoordinate of waypoint, (dummy), \(\mathrm {[L]}\) 
VREF: real > 0
: Velocity towards next waypoint, \(\mathrm {[L/T]}\) 
PSI: real
: Heading towards next waypoint, (only for IHRTYP=1
), \(\mathrm {[deg]}\) 
RADT: real > 0
: Turning radius of waypoint, \(\mathrm {[L]}\)
Maximum rate of turn \(\mathrm {\dot {\theta }=\frac{VREF}{RADT}}\)
If CHREF = GUIDANCE (Guidance System) and IGTYP = 1,
Waypoint table, NWAYP
input lines, (CHREF = GUIDANCE
)
XP YP ZP VREF PSI RADA LOSLEN

XP: real
: Xcoordinate of waypoint, \(\mathrm {[L]}\) 
YP: real
: Ycoordinate of waypoint, \(\mathrm {[L]}\) 
ZP: real
: Zcoordinate of waypoint, (dummy), \(\mathrm {[L]}\) 
VREF: real > 0
: Velocity towards next waypoint, \(\mathrm {[L/T]}\) 
PSI: real
: Heading towards next waypoint, (only forIHRTYP=1
), \(\mathrm {[deg]}\) 
RADA: real > 0
: Radius of acceptance, \(\mathrm {[L]}\) 
LOSLEN: real > 0
: `Lineofsight' length, \(\mathrm {[L]}\)
1 input line for IDP = 1, 2 and 3, some or all input in this line may be dummy for IDP = 3
IWIND WILPT

IWIND: integer, default: 1
: Flag for measurement of wind forces to be included in the controller
= 1
: No 
= 2
: Yes, but no lowpass filtering 
= 3
: Yes, with lowpass filtering


WILPT: real
: Cutoff time in lowpass filter for wind measurements, \(\mathrm {[T]}\)
Bias force estimation for IDP = 1, 2 and 3, 1 input line, may be dummy for IDP = 3
FSTAX FSTAY FSTAM

FSTAX: real
: Start value on nonmeasured longitudinal external forces acting on the body, \(\mathrm {[F]}\) 
FSTAY: real
: Start value on nonmeasured transverse external forces acting on the body, \(\mathrm {[F]}\) 
FSTAM: real
: Start value on nonmeasured external moment acting on the body, \(\mathrm {[FL]}\)
PID controller (IDP = 1)
1 input line, stiffness coefficients, \(\mathrm {K_p}\)
RKPOSX RKPOSY RKPOSM

RKPOSX: real
: Position feedback in surge, \(\mathrm {[F/L]}\) 
RKPOSY: real
: Position feedback in sway, \(\mathrm {[F/L]}\) 
RKPOSM: real
: Position feedback in yaw, \(\mathrm {[FL]}\)
1 input line, damping coefficients, \(\mathrm {K_v}\)
RKVELX RKVELY RKVELM

RKVELX: real
: Velocity feedback in surge, \(\mathrm {[FT/L]}\) 
RKVELY: real
: Velocity feedback in sway, \(\mathrm {[FT/L]}\) 
RKVELM: real
: Velocity feedback in yaw, \(\mathrm {[FLT]}\)
1 input line, \(\mathrm {K_I}\)
RKINTX RKINTY RKINTM

RKINTX: real
: Integral feedback in surge, \(\mathrm {[F/LT]}\) 
RKINTY: real
: Integral feedback in sway, \(\mathrm {[F/LT]}\) 
RKINTM: real
: Integral feedback in yaw, \(\mathrm {[FL/T]}\)
1 input line
TCWF ETAWF TFILTX TFILTY TFILTM

TCWF: real, default: 10
: Centre period of wave filter \(\mathrm {[T]}\) 
ETAWF: real, default: 1
: Strength of wave filter,0 <= ETAWF <= 1

TFILTX: real, default: 2.5
: Filter period for surge, \(\mathrm {[T]}\) 
TFILTY: real, default: 2.5
: Filter period for sway, \(\mathrm {[T]}\) 
TFILTM: real, default: 2.5
: Filter period for yaw, \(\mathrm {[T]}\)
Tuning a control system is no exact science. The following procedure should serve as a guideline.

For each of the three motions surge, sway and yaw, determine position and velocity feedback gains \(\mathrm {K_P}\) and \(\mathrm {K_V}\) that give the wanted stiffness and damping. Set the integral gains \(\mathrm {K_I}\) to zero. Turn off the wave frequency filter (\(\mathrm {\eta _{WF}=0_{}}\)) and set the cutoff frequency of the lowpass filter to 1/5 of the sampling rate. Thruster limitations must not be effective.

From an initial position of nonequilibrium and with no dynamic environmental forces acting, simulate the transient motion towards equilibrium (to avoid complications caused by possible crosscoupling effects, it is safest to do this for one motion at a time, that is simulating pure transients in surge, sway and yaw). The transients should be nonoscillating. If they are not, the damping coefficients must be increased.

Make a simulation with dynamic environmental excitation. Inspect the thruster outputs to see if the amount of wave frequency components is admissible. If it is, proceed to 5. If not, select the appropriate value for the strength parameter of the wave filter according to the description and the figures in `PID controller' in `Dynamic positioning' in `Force models' in the Theory Manual.

With the selected wave filter, simulate transients again. The wave filter introduces negative phase in the control loop, which reduces stability. If any transient is unstable or shows oscillatory behaviour that does not die out rapidly (i.e. during one or two half cycles), stability must be improved. If it is unacceptable to reduce the strength of the wave filter, the remedy is to: 1) make the controller phase more positive at the frequency of oscillation, and/or 2) reduce the controller gain at the same frequency. Remedy (1) is carried out by reducing \(\mathrm {K_P}\) while keeping \(\mathrm {K_V}\) constant. Try this choice first, for example by halving the value of \(\mathrm {K_P}\). Remedy (2) is effectuated by reducing \(\mathrm {K_P}\) and \(\mathrm {K_V}\) by the same amount (e.g. halving them). Try this remedy if (1) fails or is insufficient.

If integral action is desired, determine the upper frequency limit \(\mathrm {\omega _I}\) for this action, i.e. the frequency above which the integral action becomes insignificant (cf. the figure `Frequency response of a PID controller (Dashed lines…)' in `PID controller' in `Dynamic positioning' in `Force models' in the Theory Manual). Then set \(\mathrm {K_I=\omega_I \cong K_P}\) and simulate transients. The integral action too deteriorates stability. If stability is unsatisfactory, \(\mathrm {K_I}\) must be reduced.

If it is known that the amount of measurement noise (the present version of
SIMO
does not simulate such noise) necessitates harder lowpass filtering of the position measurements, the cutoff frequency of the filter must be reduced from the value set according to paragraph 1 above. This may then lead to an adjustment of the controller gains as outlined in paragraph 4, until a satisfactory transient motion is obtained for all three motion variables.
The above procedure reflects the standard knowledge from control theory that for a feedback system to be stable, the openloop gain must be less than 1 (0 dB) at the crossover frequency (i.e. the frequency at which the openloop phase is 180 deg.)
Kalman filter based controller (IDP = 2)
1 input line
ILINE ISTAT

ILINE: integer
: Flag for measurement of line tensions to be included in the controller
= 0
: No line tension/coupling measurements in the Kalman filter 
= 1
: Line tension/coupling measurements in the Kalman filter 
= 2
: Diagonal stiffness matrix included in the estimator of the Kalman filter 
= 3
: Stiffness matrix included in the estimator of the Kalman filter 
= 4
: Stiffness matrix for anchor system, data table for nonlinear lines, and hawser tension measurements are included in the estimator of the Kalman filter


ISTAT: integer
: Estimation method flag
= 0
: Current estimation, quadratic drag formula used 
= 1
: Bias force estimation, linear drag formula used

1 input line, drag coefficients and nominal velocity.
The drag coefficients should be as correct as possible compared to the
vessel to be positioned, but it is also important that DRAGX
is not
smaller than DRAGY/4
. In such cases DRAGX should be overestimated. The
nominal velocity, VTYP
, should not be smaller than 0.1 m/s since this
will give too high amplification for small current speeds. The drag
forces on the vessel estimated by the Kalman filter are linearized with
respect to this velocity.
DRAGX DRAGY DRAGM VTYP TSTA

DRAGX: real
: Longitudinal drag coefficient, \(\mathrm {[FT^2/L^2]}\) 
DRAGY: real
: Transverse drag coefficient, \(\mathrm {[FT^2/L^2]}\) 
DRAGM: real
: Rotational drag coefficient, \(\mathrm {[FLT^2]}\) 
VTYP: real, default: 0.25
: Nominal velocity, \(\mathrm {[L/T]}\) 
TSTA: real
: Starting period for HF_estimation, \(\mathrm {[T]}\)
1 input line if ILINE = 2. The stiffness matrix is given with the wanted position as reference.
STFLIX STFLIY STFLID

STFLIX: real
: Linear stiffness in global Xdirection (not from DP system), \(\mathrm {[F/L]}\) 
STFLIY: real
: Linear stiffness in global Ydirection (not from DP system), \(\mathrm {[F/L]}\) 
STFLID: real
: Linear stiffness for global heading (not from DP system), \(\mathrm {[FL]}\)
3 input lines if ILINE = 3 or 4. The stiffness matrix is given with the wanted position as reference.
STFLi1 STFLi2 STFLi6

STFLij: real
: Force in global idirection due to a unit displacement in the global jdirection (not from DP system) \(\mathrm {[F/L,F,FL]}\)
Diagonal terms are negative for a common anchoring system.  i=1 is the global Xdirection  i=2 is the global Ydirection  i=6 is the global heading
The rotation stiffness is per rad
1 input line if ILINE = 4.
NNL

NNL: integer
: Number of nonlinear lines of which forces are estimated in the Kalman filter
NNL times the following block if ILINE = 4.
1 input line
X0 Y0

X0: real
: Global Xcoord. of the line end point anchored at the sea bed \(\mathrm {[L]}\) 
Y0: real
: Global Ycoord. of the line end point anchored at the sea bed \(\mathrm {[L]}\)
1 input line
X1 Y1

X1: real
: Xcoord. of the line end point attached to the vessel (given in the body fixed coord. system) \(\mathrm {[L]}\) 
Y1: real
: Ycoord. of the line end point attached to the vessel (given in the body fixed coord. system) \(\mathrm {[L]}\)
1 input line
NLT

NLT: integer
: Number of data lines in the table describing the tension of the anchored line as a function of the horizontal length.
NLT
input lines (characteristic of the nonlinear line)
Li Ti

Li: real
: Horizontal length of the nonlinear line \(\mathrm {[L]}\) 
Ti: real
: Horizontal tension of the nonlinear line for the given lengthLi
\(\mathrm {[F]}\)
1 input line if ILINE = 4.
NH

NH: integer
: Number of hawsers of which force is measured and used in the Kalman filter estimation model.
NH times the following block if ILINE = 4.
1 input line
HAWID

HAWID: character(8)
: Name (identifier) of the coupling element modelling the hawser. The coupling element should be a simple wire coupling or a fixed elongation coupling.
1 input line
WNSTDV SEEDN

WNSTDV: real
: White noise standard deviation of the measurement system, \(\mathrm {[F]}\) SEEDN: integer, default: 1
: Seed number for the realisation of the white noise. The mersenne twister generator and a boxmuller transform is used to generate normally distributed pseudorandom numbers
1 input line
AMX AMY AMR

AMX: real
: Total mass in surge to be used in Kalman filter, \(\mathrm {[M]}\) 
AMY: real
: Total mass in sway to be used in Kalman filter, \(\mathrm {[M]}\) 
AMR: real
: Total inertia to be used in Kalman filter, \(\mathrm {[ML^2]}\)
Total masses and inertia includes body mass and typical hydrodynamic added mass
The linear controller matrix is defined on the next 3 input lines. The position gains will determine the natural periods in the system. It is possible to use:

0.01 AMX stem:[\le \ GMATX1 ≤ 0.005 AMX

0.01 AMY stem:[\le \ GMATY1 ≤ 0.005 AMY

0.01 AMR stem:[\le \ GMATD1 ≤ 0.005 AMR
These position feedbacks will give natural periods in the range 90 s to 60 s. The higher feedbacks will give the best abilities to suppress disturbances, while the lower feedbacks will give less modulation of thruster signals.
Theoretically, the best vessel behaviour is obtained by approximately 70 % of critical damping, which is obtained by:

\(\mathrm {GMATX2=\sqrt{2\:GMATX1\times AMX}}\)

\(\mathrm {GMATY2=\sqrt{2\:GMATY1\times AMY}}\)

\(\mathrm {GMATD2=\sqrt{2\:GMATD1\times AMR}}\)
Alternatively:

\(\mathrm {GMATX1}=(\frac{2\pi }{T_x})^2m_x\quad \quad \quad \mathrm {GMATX2}=2\xi _x\mathrm {\sqrt{GMATX1\times AMX}}\)

\(\mathrm {GMATY1}=(\frac{2\pi }{T_y})^2m_y\quad \quad \quad \mathrm {GMATY2}=2\xi _y\mathrm {\sqrt{GMATY1\times AMY}}\)

\(\mathrm {GMATD1}=(\frac{2\pi }{T_{\psi}})^2m_{\psi}\quad \quad \quad \mathrm {GMATD2}=2\xi _{\psi}\mathrm {\sqrt{GMATD1\times AMR}}\)
where \(\mathrm {T_x}\), \(\mathrm {T_y}\) and \(\mathrm {T_{\psi}}\) are the chosen/wanted natural periods for surge, sway and yaw, respectively. The damping factors are given as \(\mathrm {\xi _x}\), \(\mathrm {\xi _y}\) and \(\mathrm {\xi _{\psi}}\), \(\mathrm {_{}}\) and they are typically set to a value of 0.7 which indicates a damping level of 70% of the critical damping.
As the first step in tuning the DPsystem, the vessel can be moved to an offset position and released with no environmental forces. The DPsystem should then be able to produce a wanted transient motion to the desired position. At this stage of the tuning, the thrusters data TMIMA (minimum time to change from minimum to maximum thrust) should be set to a small value, and ANGH (maximum angular velocity of azimuth thrusters) should be set to a large value. These thruster data should be set to their correct values after initial tuning.
1 input line
GMATX1 GMATX2

GMATX1: real
: Longitudinal position gain, \(\mathrm {[F/L]}\) 
GMATX2: real
: Longitudinal velocity gain, \(\mathrm {[FT/L]}\)
1 input line
GMATY1 GMATY2

GMATY1: real
: Transverse position gain, \(\mathrm {[F/L]}\) 
GMATY2: real
: Transverse velocity gain, \(\mathrm {[FT/L]}\)
1 input line
GMATD1 GMATD2

GMATD1: real
: Heading gain, \(\mathrm {[FL]}\) 
GMATD2: real
: Heading rate gain, \(\mathrm {[FLT]}\)
The Kalman filter gain matrix is defined on the next 3 input lines.
Depending on the natural periods of the motions (low frequency) and on the wave frequency motions, cutoff frequencies \(\mathrm {\omega _c}\) for filtering the wave frequency motions are normally chosen. Typically, the cutoff periods for surge, sway and yaw of \(\mathrm {T_c=2\pi /\omega _c}\) are given values between 25s and 50s.
Then Kalman filter coefficients (for initial tuning) may be chosen as:

\(\mathrm {RKXI}=2\xi _x\omega _{c,x}\quad \quad \quad \mathrm {RKX2}=\omega ^2_{c,x}\)

\(\mathrm {RKYI}=2\xi _y\omega _{c,y}\quad \quad \quad \mathrm {RKY2}=\omega ^2_{c,y}\)

\(\mathrm {RKDI}=2\xi _{\psi}\omega _{c,\psi}\quad \quad \:\:\:\mathrm {RKD2}=\omega ^2_{c,\psi}\)
The \(\mathrm {_{}}\) default values for the various
RK3
gains are given as guidelines for the case of current estimation
(ISTAT = 0
). In the case of bias force estimation (ISTAT = 1
), it is
recommended to use RKX3 = .00001AMX
, RKY3 = .00001AMY
. In both cases
RKD3 = .00005AMR
.
1 input line
RKX1 RKX2 RKX3 RKX4

RKX1: real
: Longitudinal LF position gain, \(\mathrm {[1]}\) 
RKX2: real
: Longitudinal LF velocity gain, \(\mathrm {[1/T]}\) 
RKX3: real, default: 0.00025
: Longitudinal current or bias force gain, \(\mathrm {[1/T]}\) or \(\mathrm {[F/L]}\) 
RKX4: real, default: 0.2
: Longitudinal HF position gain, \(\mathrm {[1]}\)
1 input line
RKY1 RKY2 RKY3 RKY4

RKY1: real
: Transverse LF position gain, \(\mathrm {[1]}\) 
RKY2: real
: Transverse LF velocity gain, \(\mathrm {[1/T]}\) 
RKY3: real, default: 0.00025
: Transverse current or bias force gain, \(\mathrm {[1/T]}\) or \(\mathrm {[F/L]}\) 
RKY4: real, default: 0.2
: Transverse HF position gain, \(\mathrm {[1]}\)
1 input line
RKD1 RKD2 RKD3 RKD4

RKD1: real
: LF heading gain, \(\mathrm {[1]}\) 
RKD2: real
: LF heading rate gain, \(\mathrm {[1/T]}\) 
RKD3: real
: Bias moment gain, \(\mathrm {[FL]}\) 
RKD4: real, default: 0.2
: HF heading gain, \(\mathrm {[1]}\)
In a case with zero or negligible wave frequency yaw motion, RKD4
should be set to zero.
External controller function data (IDP = 3)
1 identification input line for a usersupplied external dynamic positioning controller
EXTErnal DYNAmic POSItioning
MTDP controller (IDP = 4)
No input data on the system description file for this controller, but the communication settings must be given as described in MTDP communication.
Velocity PI controller (IDP = 5)
1 input line, stiffness coefficients, \(\mathrm {K_P}\)
RKVELX RKVELY RKVELM

RKVELX: real
: Velocity feedback in surge, \(\mathrm {[FT/L]}\) 
RKVELY: real
: Velocity feedback in sway, \(\mathrm {[FT/L]}\) 
RKVELM: real
: Velocity feedback in yaw, \(\mathrm {[FTL]}\)
1 input line, integral coefficients, \(\mathrm {K_I}\)
RKINTX RKINTY RKINTM

RKINTX: real
: Integral feedback in surge, \(\mathrm {[F/L]}\) 
RKINTY: real
: Integral feedback in sway, \(\mathrm {[F/L]}\) 
RKINTM: real
: Integral feedback in yaw, \(\mathrm {[FL]}\)
1 input line
TCWF ETAWF TFILTX TFILTY TFILTM

TCWF: real, default: 10
: Centre period of wave filter \(\mathrm {[T]}\) 
ETAWF: real, default: 1
: Strength of wave filter,0 <= ETAWF <= 1
: 
TFILTX: real, default: 2.5
: Filter period for surge, \(\mathrm {[T]}\) 
TFILTY: real, default: 2.5
: Filter period for sway, \(\mathrm {[T]}\) 
TFILTM: real, default: 2.5
: Filter period for yaw, \(\mathrm {[T]}\)
Dynamic positioning
This DP model can only be used together with the new thruster model documented in Thruster system.
Text for describing the positioning system, 2 input lines.
TXDP

TXDP: character(60)
: Character string
1 input line per thruster, NTHRC lines in all
ITHR ITYPE XTH YTH ZTH DIR FMIN FMAX CFPOS CFNEG FRATE ARATE

CHTHR: character(8)
: Thruster name; Reference to thruster identifier for thruster to be controlled 
ITYPE: integer
: Thruster type:
1 =
: Fixed direction thruster 
2 =
: Variable direction (azimuth) thruster


XTH: real
: Xcoordinate of thruster in body system 
YTH: real
: Ycoordinate of thruster in body system 
ZTH: real
: Zcoordinate of thruster in body system 
DIR: real
: Direction of thruster \(\mathrm {[deg]}\).
Start value for azimuthing thrusters


FMIN: real
: Minimum force \(\mathrm {[F]}\) 
FMAX: real
: Maximum force \(\mathrm {[F]}\) 
FRATE: real
: Maximum rate of force \(\mathrm {[F/T]}\) 
ARATE: real
: Maximum rate of azimuth angle \(\mathrm {[deg}/T]\)
Dummy for fixed direction thrusters.

For azimuth thruster, FMIN
should not be negative
Type of DPsystem, 1 input line
IDP

IDP: integer
: Type of dynamic positioning controller
= 1
: PID controller 
= 2
: Kalman filter based controller 
= 3
: External controller function/library 
= 4
: MTDP controller (internal MARINTEK DPsystem) 
= 5
: Velocity PI controller (HLA)

If the MTDP controller type is selected NTHRC
(specified in the
previous section) must be zero.
Degree of freedom for thruster allocation for IDP = 1, 2 and 3, 1 input line.
IFO1 IFO2 IFO6 IDPMOD ITALLOC IMADP DTCI

IFO1: integer
: Force allocation in surge (0 or 1
) 
IFO2: integer
: Force allocation in sway (0 or 1
) 
IFO6: integer
: Moment allocation in yaw (0 or 1
) 
IDPMOD: integer, default: 1
: Flag for mode of DPsystem
= 0
: DPsystem OFF 
> 0
: DPsystem ON 
= 2
: Use any given<CHBDY>
as reference


ITALLOC: integer, default: 1
: Thrust allocation method
= 1
: Ordinary allocation 
= 2
: Heading priority


IMADP: integer, default: 0
: Flag for option of manualDP by commanded force from HLA
= 0
: No HLA commanded force 
= 1
: HLA commanded force, OFF 
= 2
: HLA commanded force, ON


DTCI: real, default: DT
: Control Interval
IFOX = 1
: Force shall be allocated. At least one parameter has to be
1.
If IMADP = 2
the given DPcontroller is deactivated.
DT
is the SIMO
storage interval (Main time step).
If IMADP = 1 and 2, 1 input line, describing HLA name of commanded force
TXHDP

TXHDP: character(120)
: Character string for HLA name of commanded force
1 input line for IDP = 1, 2 and 3
XREF YREF DREF XLOC YLOC CHREF

XREF: real
:
Xcoordinate of reference/wanted position, \(\mathrm {[L]}\) for
CHREF != GBCIRCLE

Xcoordinate of the circle center \(\mathrm {[L]}\) for
CHREF = GBCIRCLE


YREF: real
:
Ycoordinate of reference/wanted position, \(\mathrm {[L]}\) for
CHREF != GBCIRCLE

Ycoordinate of the circle center \(\mathrm {[L]}\) for
CHREF = GBCIRCLE


DREF: real
:
Reference/wanted heading, \(\mathrm {[deg]}\) for
CHREF != GBCIRCLE

Radius of the circle \(\mathrm {[M]}\) for
CHREF = GBCIRCLE


XLOC: real
: Xcoordinate of the point on the body which shall be positioned at the specified reference, \(\mathrm {[L]}\) 
YLOC: real
: Ycoordinate of the point on the body which shall be positioned at the specified reference, \(\mathrm {[L]}\) 
CHREF: character(8), default: GLOBAL
: Reference frame identifier
= GLOBAL
: Fixed reference point given in global coordinate system 
= <CHBDY>
: A moving point given relative to body<CHBDY>
shall be followed for one or more degrees of freedom.IDPMOD
must be set to 2. (IfIDPMOD=1
,CHREF = GLOBAL
) 
= EXTREF
: Reference from an external function 
= HLAREF
: Read global reference from HLA communication 
= GUIDANCE
: Guidance System 
= GBCIRCLE
: The circle perimeter is used as reference (see `Weather vaning strategy (CHREF=GBCIRCLE)' in `Force models' in the Theory Manual)

If CHREF = <CHBDY>, 1 input line
IXYREF IDREF POSLPT

IXYREF: integer
: Reference position flag, XYposition.
= 1
: Fixed, given in global coordinate system 
= 2
: Moving, given in local system of body to be followed


IDREF: integer
: Reference position/heading flag
= 1
: Fixed, given in global coordinate system 
= 2
: Moving, given relative to heading of body to be followed


POSLPT: real
: Cutoff time in lowpass filter for position measurement of body to follow
XREF
, YREF
are given values for <CHBDY>
in the local coordinate
system if CHREF = <CHBDY>
, normally "outside" the body. DREF
is
the relative heading between the heading of the DP
body and the
heading of <CHBDY>
.
If CHREF = EXTREF, 1 input line, name and path of external library
EXTRNA

EXTRNA: character(120)
: Character string describing path and name of external DPreference library
XREF
, YREF
and ZREF
are initial values if CHREF = EXTREF
If CHREF = EXTREF, 1 input line
NPCUR

NPCUR: integer > 0
: Number of points where current velocities shall be given to the external reference library
If CHREF = HLAREF, 1 input line, name of HLA reference
HLARNA

HLARNA: character(120)
: Character string describing HLA reference name
XREF
, YREF
and ZREF
are initial values if CHREF = HLAREF
1 input line
IGTYP

IGTYP: integer
: Type ofGUIDANCE

= 1
: Straight lines and circular arcs 
= 2
: Line of sight (LOS)

If CHREF = GUIDANCE (Guidance System), 1 input line, (CHREF = GUIDANCE)
NWAYP IWPTYP IHRTYP

NWAYP: integer
: Number of waypoints 
IWPTYP: integer
: Waypoint type
= 1
: Locally defined relative to body location 
= 2
: Globally defined


IHRTYP: integer
: Heading reference type
= 1
: Tangential to path 
= 2
: Globally fixed

If CHREF = GUIDANCE (Guidance System), 1 input line, (CHREF = GUIDANCE)
TSTART AMAXX AMAXY

TSTART: real, default: 200
: Start time for guidance system, \(\mathrm {[T]}\) 
AMAXX: real
: Max. acceleration in local xdirection, \(\mathrm {[L/TT]}\) 
AMAXY: real
: Max. acceleration in local ydirection, \(\mathrm {[L/TT]}\)
If CHREF = GUIDANCE (Guidance System) and IGTYP = 1,
Waypoint table, NWAYP
input lines,
XP YP ZP VREF PSI RADT

XP: real
: Xcoordinate of waypoint, \(\mathrm {[L]}\) 
YP: real
: Ycoordinate of waypoint, \(\mathrm {[L]}\) 
ZP: real
: Zcoordinate of waypoint, (dummy), \(\mathrm {[L]}\) 
VREF: real > 0
: Velocity towards next waypoint, \(\mathrm {[L/T]}\) 
PSI: real
: Heading towards next waypoint, (only forIHRTYP=1
), \(\mathrm {[deg]}\) 
RADT: real > 0
: Turning radius of waypoint, \(\mathrm {[L]}\)
Maximum rate of turn \(\mathrm {\dot {\theta }=\frac{VREF}{RADT}}\)
If IGTYP = 2,
Waypoint table, NWAYP
input lines, (CHREF = GUIDANCE
)
XP YP ZP VREF PSI RADA LOSLEN

XP: real
: Xcoordinate of waypoint, \(\mathrm {[L]}\) 
YP: real
: Ycoordinate of waypoint, \(\mathrm {[L]}\) 
ZP: real
: Zcoordinate of waypoint, (dummy), \(\mathrm {[L]}\) 
VREF: real > 0
: Velocity towards next waypoint, \(\mathrm {[L/T]}\) 
PSI: real
: Heading towards next waypoint, (only forIHRTYP=1
), \(\mathrm {[deg]}\) 
RADA: real > 0
: Radius of acceptance, \(\mathrm {[L]}\) 
LOSLEN: real > 0
: `Lineofsight' length, \(\mathrm {[L]}\)
1 input line for IDP = 1, 2 and 3, some or all input in this line may be dummy for IDP = 3
IWIND WILPT

IWIND: integer, default: 1
: Flag for measurement of wind forces to be included in the controller
= 1
: No 
= 2
: Yes, but no lowpass filtering 
= 3
: Yes, with lowpass filtering


WILPT: real
: Cutoff time in lowpass filter for wind measurements, \(\mathrm {[T]}\)
Bias force estimation for IDP = 1, 2 and 3, 1 input line, may be dummy for IDP = 3
FSTAX FSTAY FSTAM

FSTAX: real
: Start value on nonmeasured longitudinal external forces acting on the body, \(\mathrm {[F]}\) 
FSTAY: real
: Start value on nonmeasured transverse external forces acting on the body, \(\mathrm {[F]}\) 
FSTAM: real
: Start value on nonmeasured external moment acting on the body, \(\mathrm {[FL]}\)
PID controller (IDP = 1)
1 input line, stiffness coefficients, \(\mathrm {K_p}\)
RKPOSX RKPOSY RKPOSM

RKPOSX: real
: Position feedback in surge, \(\mathrm {[F/L]}\) 
RKPOSY: real
: Position feedback in sway, \(\mathrm {[F/L]}\) 
RKPOSM: real
: Position feedback in yaw, \(\mathrm {[FL]}\)
1 input line, damping coefficients, \(\mathrm {K_v}\)
RKVELX RKVELY RKVELM

RKVELX: real
: Velocity feedback in surge, \(\mathrm {[FT/L]}\) 
RKVELY: real
: Velocity feedback in sway, \(\mathrm {[FT/L]}\) 
RKVELM: real
: Velocity feedback in yaw, \(\mathrm {[FLT]}\)
1 input line, \(\mathrm {K_I}\)
RKINTX RKINTY RKINTM

RKINTX: real
: Integral feedback in surge, \(\mathrm {[F/LT]}\) 
RKINTY: real
: Integral feedback in sway, \(\mathrm {[F/LT]}\) 
RKINTM: real
: Integral feedback in yaw, \(\mathrm {[FL/T]}\)
1 input line
TCWF ETAWF TFILTX TFILTY TFILTM

TCWF: real, default: 10
: Centre period of wave filter \(\mathrm {[T]}\) 
ETAWF: real, default: 1
: Strength of wave filter,0 <= ETAWF <= 1

TFILTX: real, default: 2.5
: Filter period for surge, \(\mathrm {[T]}\) 
TFILTY: real, default: 2.5
: Filter period for sway, \(\mathrm {[T]}\) 
TFILTM: real, default: 2.5
: Filter period for yaw, \(\mathrm {[T]}\)
Tuning a control system is no exact science. The following procedure should serve as a guideline.

For each of the three motions surge, sway and yaw, determine position and velocity feedback gains \(\mathrm {K_P}\) and \(\mathrm {K_V}\) that give the wanted stiffness and damping. Set the integral gains \(\mathrm {K_I}\) to zero. Turn off the wave frequency filter (\(\mathrm {\eta _{WF}=0_{}}\)) and set the cutoff frequency of the lowpass filter to 1/5 of the sampling rate. Thruster limitations must not be effective.

From an initial position of nonequilibrium and with no dynamic environmental forces acting, simulate the transient motion towards equilibrium (to avoid complications caused by possible crosscoupling effects, it is safest to do this for one motion at a time, that is simulating pure transients in surge, sway and yaw). The transients should be nonoscillating. If they are not, the damping coefficients must be increased.

Make a simulation with dynamic environmental excitation. Inspect the thruster outputs to see if the amount of wave frequency components is admissible. If it is, proceed to 5. If not, select the appropriate value for the strength parameter of the wave filter according to the description and the figures in `PID controller' in `Dynamic positioning' in `Force models' in the Theory Manual.

With the selected wave filter, simulate transients again. The wave filter introduces negative phase in the control loop, which reduces stability. If any transient is unstable or shows oscillatory behaviour that does not die out rapidly (i.e. during one or two half cycles), stability must be improved. If it is unacceptable to reduce the strength of the wave filter, the remedy is to: 1) make the controller phase more positive at the frequency of oscillation, and/or 2) reduce the controller gain at the same frequency. Remedy (1) is carried out by reducing \(\mathrm {K_P}\) while keeping \(\mathrm {K_V}\) constant. Try this choice first, for example by halving the value of \(\mathrm {K_P}\). Remedy (2) is effectuated by reducing \(\mathrm {K_P}\) and \(\mathrm {K_V}\) by the same amount (e.g. halving them). Try this remedy if (1) fails or is insufficient.

If integral action is desired, determine the upper frequency limit \(\mathrm {\omega _I}\) for this action, i.e. the frequency above which the integral action becomes insignificant (cf. the figure `Frequency response of a PID controller (Dashed lines…)' in `PID controller' in `Dynamic positioning' in `Force models' in the Theory Manual). Then set \(\mathrm {K_I=\omega_I \cong K_P}\) and simulate transients. The integral action too deteriorates stability. If stability is unsatisfactory, \(\mathrm {K_I}\) must be reduced.

If it is known that the amount of measurement noise (the present version of
SIMO
does not simulate such noise) necessitates harder lowpass filtering of the position measurements, the cutoff frequency of the filter must be reduced from the value set according to paragraph 1 above. This may then lead to an adjustment of the controller gains as outlined in paragraph 4, until a satisfactory transient motion is obtained for all three motion variables.
The above procedure reflects the standard knowledge from control theory that for a feedback system to be stable, the openloop gain must be less than 1 (0 dB) at the crossover frequency (i.e. the frequency at which the openloop phase is 180 deg.)
Kalman filter based controller (IDP = 2)
1 input line
ILINE ISTAT

ILINE: integer
: Flag for measurement of line tensions to be included in the controller
= 0
: No line tension/coupling measurements in the Kalman filter 
= 1
: Line tension/coupling measurements in the Kalman filter 
= 2
: Diagonal stiffness matrix included in the estimator of the Kalman filter 
= 3
: Stiffness matrix included in the estimator of the Kalman filter 
= 4
: Stiffness matrix for anchor system, data table for nonlinear lines, and hawser tension measurements are included in the estimator of the Kalman filter 
= 5
: Forces from specified lines are used in the Kalman filter.


ISTAT: integer
: Estimation method flag
= 0
: Current estimation, quadratic drag formula used 
= 1
: Bias force estimation, linear drag formula used

1 input line, drag coefficients and nominal velocity.
The drag coefficients should be as correct as possible compared to the
vessel to be positioned, but it is also important that DRAGX
is not
smaller than DRAGY/4
. In such cases DRAGX should be overestimated. The
nominal velocity, VTYP
, should not be smaller than 0.1 m/s since this
will give too high amplification for small current speeds. The drag
forces on the vessel estimated by the Kalman filter are linearized with
respect to this velocity.
DRAGX DRAGY DRAGM VTYP TSTA

DRAGX: real
: Longitudinal drag coefficient, \(\mathrm {[FT^2/L^2]}\) 
DRAGY: real
: Transverse drag coefficient, \(\mathrm {[FT^2/L^2]}\) 
DRAGM: real
: Rotational drag coefficient, \(\mathrm {[FLT^2]}\) 
VTYP: real, default: 0.25
: Nominal velocity, \(\mathrm {[L/T]}\) 
TSTA: real
: Starting period for HF_estimation, \(\mathrm {[T]}\)
1 input line if ILINE = 2. The stiffness matrix is given with the wanted position as reference.
STFLIX STFLIY STFLID

STFLIX: real
: Linear stiffness in global Xdirection (not from DP system), \(\mathrm {[F/L]}\) 
STFLIY: real
: Linear stiffness in global Ydirection (not from DP system), \(\mathrm {[F/L]}\) 
STFLID: real
: Linear stiffness for global heading (not from DP system), \(\mathrm {[FL]}\)
3 input lines if ILINE = 3 or 4. The stiffness matrix is given with the wanted position as reference.
STFLi1 STFLi2 STFLi6

STFLij: real
: Force in global idirection due to a unit displacement in the global jdirection (not from DP system) \(\mathrm {[F/L,F,FL]}\)
Diagonal terms are negative for a common anchoring system. * i=1 is the global Xdirection * i=2 is the global Ydirection * i=6 is the global heading
The rotation stiffness is per rad
1 input line if ILINE = 4.
NNL

NNL: integer
: Number of nonlinear lines of which forces are estimated in the Kalman filter
NNL times the following block if ILINE = 4.
1 input line
X0 Y0

X0: real
: Global Xcoord. of the line end point anchored at the sea bed \(\mathrm {[L]}\) 
Y0: real
: Global Ycoord. of the line end point anchored at the sea bed \(\mathrm {[L]}\)
1 input line
X1 Y1

X1: real
: Xcoord. of the line end point attached to the vessel (given in the body fixed coord. system) \(\mathrm {[L]}\) 
Y1: real
: Ycoord. of the line end point attached to the vessel (given in the body fixed coord. system) \(\mathrm {[L]}\)
1 input line
NLT

NLT: integer
: Number of data lines in the table describing the tension of the anchored line as a function of the horizontal length.
NLT
input lines (characteristic of the nonlinear line)
Li Ti

Li: real
: Horizontal length of the nonlinear line \(\mathrm {[L]}\) 
Ti: real
: Horizontal tension of the nonlinear line for the given lengthLi
\(\mathrm {[F]}\)
1 input line if ILINE = 4.
NH

NH: integer
: Number of hawsers of which force is measured and used in the Kalman filter estimation model.
NH times the following block if ILINE = 4.
1 input line
HAWID

HAWID: character(8)
: Name (identifier) of the coupling element modelling the hawser. The coupling element should be a simple wire coupling or a fixed elongation coupling.
1 input line
WNSTDV SEEDN

WNSTDV: real
: White noise standard deviation of the measurement system, \(\mathrm {[F]}\) 
SEEDN: integer, default: 1
: Seed number for the realisation of the white noise. The mersenne twister generator and a boxmuller transform is used to generate normally distributed pseudorandom numbers
NRMEAS input lines if ILINE = 5
CHLI LEND

CHLI: character(8)
: String identifier forRIFLEX
line 
LEND: integer
: Line end to read measurements from. Valid input is 1 or 2.
1 input line
AMX AMY AMR

AMX: real
: Total mass in surge to be used in Kalman filter, \(\mathrm {[M]}\) 
AMY: real
: Total mass in sway to be used in Kalman filter, \(\mathrm {[M]}\) 
AMR: real
: Total inertia to be used in Kalman filter, \(\mathrm {[ML^2]}\)
Total masses and inertia includes body mass and typical hydrodynamic added mass
The linear controller matrix is defined on the next 3 input lines. The position gains will determine the natural periods in the system. It is possible to use:

0.01 AMX ≤ GMATX1 ≤ 0.005 AMX

0.01 AMY ≤ GMATY1 ≤ 0.005 AMY

0.01 AMR ≤ GMATD1 ≤ 0.005 AMR
These position feedbacks will give natural periods in the range 90 s to 60 s. The higher feedbacks will give the best abilities to suppress disturbances, while the lower feedbacks will give less modulation of thruster signals.
Theoretically, the best vessel behaviour is obtained by approximately 70 % of critical damping, which is obtained by:

\(\mathrm {GMATX2=\sqrt{2\:GMATX1\times AMX}}\)

\(\mathrm {GMATY2=\sqrt{2\:GMATY1\times AMY}}\)

\(\mathrm {GMATD2=\sqrt{2\:GMATD1\times AMR}}\)
Alternatively:

\(\mathrm {GMATX1}=(\frac{2\pi }{T_x})^2m_x\quad \quad \quad \mathrm {GMATX2}=2\xi _x\mathrm {\sqrt{GMATX1\times AMX}}\)

\(\mathrm {GMATY1}=(\frac{2\pi }{T_y})^2m_y\quad \quad \quad \mathrm {GMATY2}=2\xi _y\mathrm {\sqrt{GMATY1\times AMY}}\)

\(\mathrm {GMATD1}=(\frac{2\pi }{T_{\psi}})^2m_{\psi}\quad \quad \quad \mathrm {GMATD2}=2\xi _{\psi}\mathrm {\sqrt{GMATD1\times AMR}}\)
where \(\mathrm {T_x}\), \(\mathrm {T_y}\) and \(\mathrm {T_{\psi}}\) are the chosen/wanted natural periods for surge, sway and yaw, respectively. The damping factors are given as \(\mathrm {\xi _x}\), \(\mathrm {\xi _y}\) and \(\mathrm {\xi _{\psi}}\), \(\mathrm {_{}}\) and they are typically set to a value of 0.7 which indicates a damping level of 70% of the critical damping.
As the first step in tuning the DPsystem, the vessel can be moved to an offset position and released with no environmental forces. The DPsystem should then be able to produce a wanted transient motion to the desired position. At this stage of the tuning, the thrusters data TMIMA (minimum time to change from minimum to maximum thrust) should be set to a small value, and ANGH (maximum angular velocity of azimuth thrusters) should be set to a large value. These thruster data should be set to their correct values after initial tuning.
1 input line
GMATX1 GMATX2

GMATX1: real
: Longitudinal position gain, \(\mathrm {[F/L]}\) 
GMATX2: real
: Longitudinal velocity gain, \(\mathrm {[FT/L]}\)
1 input line
GMATY1 GMATY2

GMATY1: real
: Transverse position gain, \(\mathrm {[F/L]}\) 
GMATY2: real
: Transverse velocity gain, \(\mathrm {[FT/L]}\)
1 input line
GMATD1 GMATD2

GMATD1: real
: Heading gain, \(\mathrm {[FL]}\) 
GMATD2: real
: Heading rate gain, \(\mathrm {[FLT]}\)
The Kalman filter gain matrix is defined on the next 3 input lines.
Depending on the natural periods of the motions (low frequency) and on the wave frequency motions, cutoff frequencies \(\mathrm {\omega _c}\) for filtering the wave frequency motions are normally chosen. Typically, the cutoff periods for surge, sway and yaw of \(\mathrm {T_c=2\pi /\omega _c}\) are given values between 25s and 50s.
Then Kalman filter coefficients (for initial tuning) may be chosen as:

\(\mathrm {RKXI}=2\xi _x\omega _{c,x}\quad \quad \quad \mathrm {RKX2}=\omega ^2_{c,x}\)

\(\mathrm {RKYI}=2\xi _y\omega _{c,y}\quad \quad \quad \mathrm {RKY2}=\omega ^2_{c,y}\)

\(\mathrm {RKDI}=2\xi _{\psi}\omega _{c,\psi}\quad \quad \:\:\:\mathrm {RKD2}=\omega ^2_{c,\psi}\)
The \(\mathrm {_{}}\) default values for the various
RK3
gains are given as guidelines for the case of current estimation
(ISTAT = 0
). In the case of bias force estimation (ISTAT = 1
), it is
recommended to use RKX3 = .00001AMX
, RKY3 = .00001AMY
. In both cases
RKD3 = .00005AMR
.
1 input line
RKX1 RKX2 RKX3 RKX4

RKX1: real
: Longitudinal LF position gain, \(\mathrm {[1]}\) 
RKX2: real
: Longitudinal LF velocity gain, \(\mathrm {[1/T]}\) 
RKX3: real, default: 0.00025
: Longitudinal current or bias force gain, \(\mathrm {[1/T]}\) or \(\mathrm {[F/L]}\) 
RKX4: real, default: 0.2
: Longitudinal HF position gain, \(\mathrm {[1]}\)
1 input line
RKY1 RKY2 RKY3 RKY4

RKY1: real
: Transverse LF position gain, \(\mathrm {[1]}\) 
RKY2: real
: Transverse LF velocity gain, \(\mathrm {[1/T]}\) 
RKY3: real, default: 0.00025
: Transverse current or bias force gain, \(\mathrm {[1/T]}\) or \(\mathrm {[F/L]}\) 
RKY4: real, default: 0.2
: Transverse HF position gain, \(\mathrm {[1]}\)
1 input line
RKD1 RKD2 RKD3 RKD4

RKD1: real
: LF heading gain, \(\mathrm {[1]}\) 
RKD2: real
: LF heading rate gain, \(\mathrm {[1/T]}\) 
RKD3: real
: Bias moment gain, \(\mathrm {[FL]}\) 
RKD4: real, default: 0.2
: HF heading gain, \(\mathrm {[1]}\)
In a case with zero or negligible wave frequency yaw motion, RKD4
should be set to zero.
External controller function data (IDP = 3)
1 identification input line for a usersupplied external dynamic positioning controller
EXTErnal DYNAmic POSItioning
MTDP controller (IDP = 4)
No input data on the system description file for this controller, but the communication settings must be given as described in MTDP communication.
Velocity PI controller (IDP = 5)
1 input line, stiffness coefficients, \(\mathrm {K_P}\)
RKVELX RKVELY RKVELM

RKVELX: real
: Velocity feedback in surge, \(\mathrm {[FT/L]}\) 
RKVELY: real
: Velocity feedback in sway, \(\mathrm {[FT/L]}\) 
RKVELM: real
: Velocity feedback in yaw, \(\mathrm {[FTL]}\)
1 input line, integral coefficients, \(\mathrm {K_I}\)
RKINTX RKINTY RKINTM

RKINTX: real
: Integral feedback in surge, \(\mathrm {[F/L]}\) 
RKINTY: real
: Integral feedback in sway, \(\mathrm {[F/L]}\) 
RKINTM: real
: Integral feedback in yaw, \(\mathrm {[FL]}\)
1 input line
TCWF ETAWF TFILTX TFILTY TFILTM

TCWF: real, default: 10
: Centre period of wave filter \(\mathrm {[T]}\) 
ETAWF: real, default: 1
: Strength of wave filter,0 <= ETAWF <= 1

TFILTX: real, default: 2.5
: Filter period for surge, \(\mathrm {[T]}\) 
TFILTY: real, default: 2.5
: Filter period for sway, \(\mathrm {[T]}\) 
TFILTM: real, default: 2.5
: Filter period for yaw, \(\mathrm {[T]}\)
30. Body components
This data group enables the user to define body points equipped with specified attributes and equipments. The data group `Body components' defines two types of connection points for coupling elements:

Fixed point at a defined location on the body where an end of a coupling element may be attached

Guide point at a defined location on the body where a coupling element may slide through
and a specification of equipment that may be located at the point:  Winch  Motion compensator  Tensioner (only to a fixed point)
A coupling element may be connectable or disconnectable at a fixed connection point, from HLA.
Text for description of the coupling point, 2 input lines
TXSYS

TXSYS: character(60)
: Character string describing the coupling
Coupling point type and location, 1 input line
CHCOPO CHPPT XCPL YCPL ZCPL

CHCOPO: character(32)
: Identifier for coupling point. 
CHPPT: character(4)
: Type of coupling point
= FIXEd
: Fixed point 
= GUIDe
: Guide point


XCPL: real
: Xcoordinate of coupling point in body fixed coordinate system, \(\mathrm {[L]}\). 
YCPL: real
: Ycoordinate of coupling point in body fixed coordinate system, \(\mathrm {[L]}\). 
ZCPL: real
: Zcoordinate of coupling point in body fixed coordinate system, \(\mathrm {[L]}\).
Control of fixed coupling point
This data group is optional for a fixed coupling point (CHPPT = FIXED
)
Connectable fixed coupling point
This data group is optional for a fixed coupling point (CHPPT = FIXED
)
Motion compensator at fixed coupling point
This data group defines the motion compensator attached to the coupling
point. The data group is optional for a fixed type of coupling point
(CHPPT = FIXED
)
Type of motion compensator, 1 input line
CMOCO

CMOCO: character(4)
:
= HC_S
:SIMO
Heave Compensator 
= HC_D
: DLL Heave Compensator

SIMO heave compensator
This data group defines a SIMO
builtin heave compensator
(CMOCO = HC_S
)
1 input line
ITYPE

ITYPE: integer, default: 1
: Compensator type:
= 1
: Generic model, without detailed model of internal components

If ITYPE = 1, 1 input line
LIMOD FACTOR AMPMAX EHLA

LIMOD: integer
: Limitation handling mode for the compensator.
= 1
:FACTOR
active 
= 2
:FACTOR
active, amplitude limitAMPMAX

= 3
: LimitAMPMAX


FACTOR: real <= 1
: Reduction factor for compensator action at high sea states 
AMPMAX: real
: Clipping level for crane motion measurement \(\mathrm {[L]}\) 
EHLA: integer
:
= 0
: No export to HLA 
= 1
: Piston position exported to HLA

If ITYPE = 1, 1 input line
NWIRE NWIREC STROKE ACYL

NWIRE: integer
: Number of wire parts from crane top to hook 
NWIREC: integer
: Number of wire parts around compensator cylinder 
STROKE: real
: Max. range of elongation (stroke length) \(\mathrm {[L]}\) 
ACYL: real
: Cylinder cross section area \(\mathrm {[L^2]}\)
If ITYPE = 1, 1 input line
HCKP HCTD HCKF HCTFD HCKQ HCTQ TF1

HCKP: real
: Gain factor in feedback 
HCTD: real
: Time derivative in feedback 
HCKF: real
: Gain factor in feedforward 
HCTFD: real
: Time derivative in feedforward 
HCKQ: real
: Characteristics of valve 
HCTQ: real
: Valve time constant 
TF1: real
: Time constant in lowpass filter
Tensioner at fixed coupling point
This data group defines the passive tensioner attached to the coupling
point. The data group is optional for a fixed type of coupling point
(CHPPT = FIXED
).
An example of the forcedisplacement characteristic for two preset mean forces (blue and green lines) is illustrated in the figure below where also the piston motion range due to wave motion is illustrated by a red arrow.
1 input line
FTENS DF_DT STIFFT STROKE IHLA

FTENS: real
: Pretension in tensioner \(\mathrm {[F]}\) 
DF_DT: real
: Max. rate of change in pretension \(\mathrm {[F/T]}\) 
STIFFT: real
: Stiffness at specified pretension \(\mathrm {[F/L]}\) 
STROKE: real
: Max. range of elongation (stroke length) \(\mathrm {[L]}\) 
IHLA: integer
:
= 0
: No control from HLA 
= 1
:FTENS
adjustable from HLA

Winch at fixed coupling point
If Coupling Winch, 1 input line
CHCOWI CWICO

CHCOWI: character(32)
: Identifier for coupling winch 
CWICO: character(4)
: Type of coupling winch control
= NRUN
: Predefined running of winch 
= HLA
: HLAJoystick 
= EXT
: External control using an Generic External Control System

1 input line if COUPling WINCh and CHPPT = FIXEd
WACCM WVELM DRUMA DRUML NRUN

WACCM: real
: Max. run acceleration for winch \(\mathrm {[L/TT]}\) 
WVELM: real
: Max. run velocity for winch \(\mathrm {[L/T]}\) 
DRUMA: real
: Max. wire length that can be added to drum \(\mathrm {[L]}\) 
DRUML: real
: Initial wire length at drum \(\mathrm {[L]}\) 
NRUN: integer
: Number of winch run intervals. (Dummy ifCWICO = HLA
)
DRUMA
and DRUML
represent limitation to winch operation.
Guide point
1 input line if CHPPT = GUIDe
DGUID DV1 DV2 DV3

DGUID: real
: Diameter of guide hole 
DV1: real
: Xcomp. of vector normal to hole in body fixed coordinate system, \(\mathrm {[L]}\). 
DV2: real
: Ycomp. of vector normal to hole in body fixed coordinate system, \(\mathrm {[L]}\). 
DV3: real
: Zcomp. of vector normal to hole in body fixed coordinate system, \(\mathrm {[L]}\).
31. Generic External Control System
This data group enables the user to define a connection between SIMO
and an external Java control system. The control system takes
measurements i.e. values from chosen components of the model and
returns feedback from the control system to specified SIMO
components.
The following measurement component TYPEs
are currently supported:

BODY

COUPLING
The following feedback component TYPEs
are currently supported:

WINCH
For additional information on how to develop a control system for use in
SIMO
, see Usersupplied Java code.
For each body there may be defined several external control systems. They are numbered according to the location on the system description file.
Text for describing external forces, 2 input lines.
TXEXT

TXEXT: character
: Text describing external control system
External control system specification, 2 input lines
JARNAME CLASSNAME

JARNAME: character
: Filename of jarfile with control system class 
CLASSNAME: character
: Name of class in jarfile with control system
Main parameters, 1 input line
NFEED NMEAS NINT NREA NSTR

NFEED: integer, default: 0
: Number of feedback entities 
NMEAS: integer, default: 0
: Number of measurement entities 
NINTS: integer, default: 0
: Number of integer input parameters 
NREAS: integer, default: 0
: Number of real input parameters 
NSTRS: integer, default: 0
: Number of input strings
Entities to be controlled, NFEED input lines
TYPEn CTRIDn

TYPEn: character
: Feedback entity type 
CTRIDn: character
: Feedback entity id
Measurements specifications, NMEAS input lines
TYPEn MEASDn

TYPEn: character
: Measurement entity type 
MEASn: character
: Measurement entity id
Integer parameters, NINT pairs of input lines
CHIDINTn

IDINTn: character
: String identifier for integer parameter no n
INTn

INTn: integer
: Integer parameter no n