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.

1. 1 identification input line:

BODY DATA SPECification

2. 1 input line:

CHBDY
  • CHBDY: character(8): Body identification, must be unique

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: As IBDTYP=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 - Import position from HLA

1 input line.

CHIMP
  • CHIMP: character(120): HLA object name for the body

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 slip-free angle and slip (turn-back) angle is implemented to model the friction between the turret and the vessel.

app a image001
Figure 1. Crane manoeuvrability

Using SAS, a series of articulated structures can be specified to model movable mechanisms such as A-frames, cranes and gangways. The rigid members of the structure are connected in a master-slave fashion. In the present version of SIMO a time history of prescribed motion can be specified for each member of such a mechanism.

Important modelling issues and restrictions: - The mechanism is a series of linked master / slave members - The main master (support body) of the articulated structure cannot itself be specified as an articulated structural member - Each of the members has its own body-fixed coordinate system - The link between a master and a slave member cannot be disconnected - The relative motion (translation or rotation) between the slave and the master can only take place along or around one of the principle axis of master’s coordinate system - The series of bodies must not be arranged in loops

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: X-position of the attachment point \(\mathrm {[L]}\)

  • YAP: real: Y-position of the attachment point \(\mathrm {[L]}\)

  • ZAP: real: Z-position of the attachment point \(\mathrm {[L]}\)

Coordinates in the master body-fixed reference system specifying where the present body is attached to its master, 1 input line:

XAPM  YAPM  ZAPM
  • XAPM: real: X-position 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 (turn-back) 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 (1-3):

    • = 1: Compute TSTOP (DISPL and VEL to be specified)

    • = 2: Compute DELTA (TSTOP and VEL to be specified)

    • = 3: Compute VEL (TSTOP and DELTA 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 ramp-up \([L/T,\mathrm {deg}/T]\)

  • ACC: real, default: AMAX: Interval ramp-up/ramp-down 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 ramp-up \([L/T,\mathrm {deg}/T]\)

  • ACC: real, default: AMAX: Interval ramp-up/ramp-down 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 ramp-up/ramp-down acceleration \([L/T^2,\mathrm {deg}/T^2]\)

(ARTMOD = SAS) Import displacements from HLA

For CAST = "HLA", HLA coupling with name, 1 input line (Not implemented in present version):
CHCOAST
  • CHCOAST: character: HLA coupling name

HLA export of body position, velocity and acceleration

HLA body data group for publishing 6 DOF global positions, velocities, accelerations and estimated next positions and velocities.

1 identification input line:

HLA EXPOrt

1 input line:

CHBHLA
  • CHBHLA: character(120): HLA name of this body

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 X-coordinate of origin of body fixed coordinate system, \(\mathrm {[L]}\)

  • YGLOB: real: Global Y-coordinate of origin of body fixed coordinate system, \(\mathrm {[L]}\)

  • ZGLOB: real: Global Z-coordinate of origin of body fixed coordinate system, \(\mathrm {[L]}\)

  • PHI: real: Euler angle, rotation about x-axis \(\mathrm {[deg]}\)

  • THETA: real: Euler angle, rotation about y-axis \(\mathrm {[deg]}\)

  • PSI: real: Euler angle, rotation about z-axis \(\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.

1 identification input line:

BODY  GEOMetry  DATA

Curve data

The geometry of a body may consist of a number of curves. Each curve is described by a number of points between which lines are to be drawn. Each curve must be defined by at least two points.

1 identification input line for each curve:

CURVe   DATA

Each point of the curve is specified on a separate input line:

XGEOM  YGEOM  ZGEOM
  • XGEOM: real: X-coordinate, \(\mathrm {[L]}\)

  • YGEOM: real: Y-coordinate, \(\mathrm {[L]}\)

  • ZGEOM: real: Z-coordinate, \(\mathrm {[L]}\)

7. Body shape

Defines some of the key sizes of the body. Must be specified when propulsors in the propulsion library are used.

1 identification input line:

BODY  SHAPe  DATA

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.

1 input line:

WATERLINE
  • WATERLINE: character(256): Character string giving path and filename of waterline file

If waterline file is empty, or the file does not exist, a square based on LPP/BWL will be used.

8. Mass Data

Structure mass

1 identification input line:

BODY  MASS  DATA

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: X-coordinate of centre of gravity, \(\mathrm {[L]}\)

  • YCOG: real: Y-coordinate of centre of gravity, \(\mathrm {[L]}\)

  • ZCOG: real: Z-coordinate 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

1 input line:

MASS COEFficients

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 X-axis \(\mathrm {[ML^2]}\), defined as

    \(\mathrm {\iiint_{m}(y^{2}+z^{2})dm}\)

  • IYX: real: Negative product of inertia in Y-X \(\mathrm {[ML^2]}\), defined as

    \(\mathrm {-\iiint_{m}yxdm}\)

  • IYY: real: Moment of inertia about Y-axis \(\mathrm {[ML^2]}\), defined as

    \(\mathrm {\iiint_{m}(x^{2}+z^{2})dm}\)

  • IZX: real: Negative product of inertia in Z-X \(\mathrm {[ML^2]}\), defined as

    \(\mathrm {-\iiint_{m}zxdm}\)

  • IZY: real: Negative product of inertia in Z-Y \(\mathrm {[ML^2]}\), defined as

    \(\mathrm {-\iiint_{m}zydm}\)

  • IZZ: real: Moment of inertia about Z-axis \(\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:

\[\begin{bmatrix}\mathrm {M}&0&0&0&\mathrm {M\cdot ZCOG}&\mathrm {-M\cdot YCOG}\\0&\mathrm {M}&0&\mathrm {-M\cdot ZCOG}&0&\mathrm {M\cdot XCOG}\\0&0&\mathrm {M}&\mathrm {M\cdot YCOG}&\mathrm {-M\cdot XCOG}&0\\0&\mathrm {-M\cdot ZCOG}&\mathrm {M\cdot YCOG}&\mathrm {IXX}&\mathrm {IYX}&\mathrm {IZX}\\\mathrm {M\cdot ZCOG}&0&\mathrm {-M\cdot XCOG}&\mathrm {IYX}&\mathrm {IYY}&\mathrm {IZY}\\\mathrm {-M\cdot YCOG}&\mathrm {M\cdot XCOG}&0&\mathrm {IZX}&\mathrm {IZY}&\mathrm {IZZ}\\\end{bmatrix}\]

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 Non-linear hydrostatic stiffness (see section Non-linear 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.

1 input line:

GRAVity FORCe INCLuded

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

1 input line:

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

1 input line:

ADDEd  MASS  ZERO

6 input lines:

 AMi1  AMi2  AMi3  AMi4  AMi5  AMi6
  • AMij: real: Added mass force in dof i due to unit acceleration in dof no j \(\mathrm {[M,ML,ML^2]}\)

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 identification input line:

TIME DEPEndent MASS

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 for IHLA=1). Dummy if CTDMTY = BALLast.

  • IHLA: integer, default: 0: HLA control parameter. Should be equal to 0 if CTDMTY = BALLast.

    • = 0: Mass/volume flow rate specified in this group

    • = 1: Mass/volume flow rate imported from HLA

If IHLA=1, one line:

CTDMHLA
  • CTDMHLA: character(120): HLA name of this TDM

For TDM of type point mass (CTDMTY = POINT), 1 input line:

XTDM   YTDM   ZTDM   MAS0   MASMAX   MASMIN   MRATMAX   MRATMIN
  • XTDM: real: X-position of TDM in body fixed system, \(\mathrm {[L]}\)

  • YTDM: real: Y-position of TDM in body fixed system, \(\mathrm {[L]}\)

  • ZTDM: real: Z-position 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]}\), only IHLA=1

  • MRATMIN: real: Minimum allowable mass rate, \(\mathrm {[M/T]}\), only IHLA=1

For TDM of type tank with geometry (CTDMTY = TANK), 1 input line:

XTDM   YTDM   ZTDM   VOL0   VOLMAX   VOLMIN   VRATMAX   VRATMIN
  • XTDM: real: X-position of TDM in body fixed system, \(\mathrm {[L]}\)

  • YTDM: real: Y-position of TDM in body fixed system, \(\mathrm {[L]}\)

  • ZTDM: real: Z-position 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]}\), only IHLA=1

  • VRATMIN: real: Minimum allowable volume rate, \(\mathrm {[L^3/T]}\), only IHLA=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 Z-axis referred in body-fixed system \(\mathrm {[1]}\)

  • DVZ2: real: Y component of TDMs local Z-axis referred in body-fixed system \(\mathrm {[1]}\)

  • DVZ3: real: Z component of TDMs local Z-axis referred in body-fixed system \(\mathrm {[1]}\)

  • DVXZ1: real: X-component of vector in TDM’s XZ-plane referred in body-fixed system

  • DVXZ2: real: Y-component of vector in TDM’s XZ-plane referred in body-fixed system

  • DVXZ3: real: Z-component of vector in TDM’s XZ-plane referred in body-fixed system

Note that the maximum number of portions, NPORT, is 5

The local TDM coordinate system is illustrated in the figure below.

tdm loc coord
Figure 2. Definition of the TDM local coordinate system

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 x-direction \(\mathrm {[L]}\)

  • BLY: real: Length of box in TDM y-direction \(\mathrm {[L]}\)

  • BLZ: real: Length of box in TDM z-direction \(\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

app a image005
Figure 3. Illustration of portion types BOX and CONE
app a image006
Figure 4. Example of physical tank and unphysical tanks (IADD=-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 input 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: x-position of the tank in the body-fixed coordinate system

  • YPOS_B: real: y-position of the tank in the body-fixed coordinate system

  • ZPOS_B: real: z-position of the tank in the body-fixed coordinate system

VTYPE   VOLUME
  • VTYPE: integer: Code for the unit of the variable VOLUME:

    • = 1: the unit of VOLUME is a volume expressed in \(\mathrm {[L^3]}\).

    • = 2: the unit of VOLUME 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 of VTYPE.

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 in GFILE should be of type STL (STereoLithography)

GFILE
  • GFILE: character(256): Geometry file name. The type of file should be accorded to the value of GTYPE.

XPOS_T   YPOS_T   ZPOS_T   ROLL_T   PITCH_T   YAW_T
  • XPOS_T: real: x-position of the geometry in the tank-fixed coordinate system

  • YPOS_T: real: y-position of the geometry in the tank-fixed coordinate system

  • ZPOS_T: real: z-position of the geometry in the tank-fixed coordinate system

  • ROLL_T: real: roll angle of the geometry in the tank-fixed coordinate system

  • PITCH_T: real: pitch angle of the geometry in the tank-fixed coordinate system

  • YAW_T: real: yaw angle of the geometry in the tank-fixed coordinate system

Note that the tank coordinate system uses the same convention as usual SIMO bodies coordinate system.

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

For TDM of type ballast system (CTDMTY = BALLast), 1 input line:

BALLPROC
  • BALLPROC: integer: Code for the presence of a ballast procedure. Only option available in the present SIMO version:

    • = 0: no ballast procedure is defined.

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 low-frequency 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 difference-frequency 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 low-frequency instantaneous position of the body.

  • Low-frequency damping: When defining linear and quadratic damping matrices, the user can choose between multiplying the matrix with low-frequency, wave-frequency or the total velocity.

  • Current force: Low-frequency velocity is used in calculation of relative current velocity

  • Wind force: Low-frequency velocity is used in calculation of relative current velocity

There are currently two alternative methods for estimating low-frequency motions:

  • 2nd order low-pass (LP) Butterworth filter

  • Non-linearity-pass (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 roll-off, meaning that it will not be able to remove all the energy above the cut-off frequency. The delay can lead to undesired and unphysical effects. One effect is that a low-frequency 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 cut-off 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 cut-off period close to the wave frequency range. A reasonable starting point can be,

\[T_c=2.5\cdot T_P\]

where \(\mathrm {T_c}\) is the cut off period and \(\mathrm {T_P}\) is the peak period in the wave spectrum.

The non-linearity-pass (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 low-pass 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 (difference-frequency) non-linear responses is much larger than high frequency (sum-frequency) 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 roll-off the Butterworth filter.

It should be noted that the wave frequency response subtracted from the total response is itself dependent on the low-frequency yaw motion. Thus, the LF yaw angle, \(\mathrm {\psi_{LF}}\), is calculated by solving the following non-linear equation for \(\mathrm {\psi_{LF}}\):

\[\mathrm {\psi_{LF}=\psi-\psi_{WF}(\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 cut-off period. However, it requires motions transfer functions defined in the data group described in section First-order 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 if ibdtyp = 1:

HYDRodynamic SEPAration METHod

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 non-linearity-pass filter

1 input line if METH = BW2:

TC
  • TC: real: Cutoff period for low pass filter used to estimate low frequency motion from total motion

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.

1 identification input line:

RETArdation  FUNCtion

Text for describing the retardation function, 2 input lines:

TXRET
  • TXRET: character(60): Character string

1 input line:

TIMDEL
  • TIMDEL: real: Time step in retardation function. \(\mathrm {[T]}\)

1 identification input line:

RETArdation  ELEMent  DATA

1 input line:

 NRET  IDOF   JDOF
  • NRET: integer: Number of values in retardation function for (idof, jdof)

  • IDOF: integer: Force in dof IDOF due to velocity in dof JDOF

  • 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

1 identification input line:

HYDRostatic  STIFfness  DATA

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: Non-linear stiffness computed by volume integration

Linear stiffness matrix model is used (ISTMOD = 1)

Stiffness reference

1 identification input line:
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 X-coordinate of body origin, \(\mathrm {[L]}\)

  • YREF: real: Global Y-coordinate of body origin, \(\mathrm {[L]}\)

  • ZREF: real: Global Z-coordinate of body origin, \(\mathrm {[L]}\)

  • PHI: real: Euler angle, rotation about x-axis \(\mathrm {[deg]}\)

  • THETA: real: Euler angle, rotation about y-axis \(\mathrm {[deg]}\)

  • PSI: real: Euler angle, rotation about z-axis \(\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

1 identification input line:
LINEar  STIFfness  MATRix
Stiffness matrix, 6 input lines:
 KMATi1  KMATi2  KMATi3  KMATi4  KMATi5  KMATi6
  • KMATij: real: Stiffness force in dof i due to unit displacement in dof j, \(\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 y-axis 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.

Non-linear 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 in GFILE should be of type STL (STereoLithography)

    • = lowOrderPanel: the geometry file given in GFILE 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 of GTYPE.

XPOS_H   YPOS_H   ZPOS_H   ROLL_H   PITCH_H   YAW_H
  • XPOS_H: real: x-position of the geometry in the hull-fixed coordinate system

  • YPOS_H: real: y-position of the geometry in the hull-fixed coordinate system

  • ZPOS_H: real: z-position of the geometry in the hull-fixed coordinate system

  • ROLL_H: real: roll angle of the geometry in the hull-fixed coordinate system

  • PITCH_H: real: pitch angle of the geometry in the hull-fixed coordinate system

  • YAW_H: real: yaw angle of the geometry in the hull-fixed 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 pre-calculated for a certain draught assuming constant geometry of the intersection between the hull and the mean water level. This means that the body-fixed 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 draft-dependent. 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 Z-direction, nor moments for roll or pitch.

The following input must be given:

1 identification input line:

NONLinear  BUOYancy  CORRection

Descriptive text, 2 input lines:

TXSTF
  • TXSTF: character(60): Character string

Name of geometry file (gdf-file), 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: X-coordinate of zero of geometry coordinates

  • YGEO: real: Y-coordinate of d.o.

  • ZGEO: real: Z-coordinate 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.

1 identification input line:

LINEar  DAMPing

Text for describing the linear damping, 2 input lines:

TXDPL
  • TXDPL: character(60): Character string

6 input lines, linear damping matrix:

DLi1    DLi2    DLi3    DLi4    DLi5    DLi6
  • DLij: real: Linear damping forces in dof i due to a unit velocity in dof j, \(\mathrm {[FT/L,FT,FTL]}\)

The rotation velocities are given in \([\mathrm {rad}/T]\) ⇒ Unit of DL66 is \([FL/(\mathrm {rad}/T)]\)

14. Quadratic damping

The quadratic damping affects the total motion for IBDTYP = 1 or 3 and the low frequency motion for IBDTYP = 2.

1 identification input line:

QUADratic  DAMPing

Text for describing the quadratic damping, 2 input lines:

TXDPQ
  • TXDPQ: character(60): Character string

6 input line, quadratic damping matrix:

DQi1    DQi2    DQi3    DQi4    DQi5    DQi6
  • DQij: real: Quadratic damping force in dof i due to a unit velocity in dof j, \(\mathrm {[FT^2/L^2,FT^2,FT^2/L,FT^2L]}\)

The rotation velocities are in \([\mathrm {rad}/T]\) ⇒ Unit of DQ66 is \([FL/(\mathrm {rad}/T)^2]\)

15. First-order wave force transfer functions

1 identification input line.

FIRSt  ORDEr  WAVE  force  transfer  functions

Text for describing the first-order 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 x-z plane

    • = 2: Double symmetry, x-z and y-z 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]}\)

1 identification input line.

WAVE  DIREctions  FORCe  transfer  functions

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

1 identification input line.

WAVE  FREQuencies  FORCe  transfer  functions

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 of ITYPIN

    • 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 of ITYPIN

    • 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. First-order motion transfer functions (RAO)

1 identification input line.

FIRSt  ORDEr  MOTIon  transfer  functions

Text for describing the first-order 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 x-z plane

    • = 2: Double symmetry, x-z and y-z 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]}\)

1 identification input line.

WAVE  DIREctions  MOTIon  transfer  functions

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

1 identification input line.

WAVE  FREQuencies  MOTIon  transfer  functions

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 of ITYPIN

    • 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 of ITYPIN

    • 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)
i
A*sin(B) where i is the imaginary unit.

17. Wind force coefficients

1 identification input line.

WIND   FORCe    COEFficients

Text for describing the wind force coefficients, 2 input lines.

TXWICO
  • TXWICO: character(60): Character string

Specification of wind coefficient type, 1 optional identification line.

FORMAT

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 x-z plane

    • = 2: Double symmetry, x-z and y-z 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 sys-file

    • = 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

NWIDIR input lines
WIDIR
  • WIDIR: real: Relative wind direction, \(\mathrm {[deg]}\)

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

NWIZ input lines
WIZ
  • WIZ: real: Body vertical position, \(\mathrm {[L]}\)

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

NWIROLL input lines
WIROLL
  • WIROLL: real: Body roll angle, \(\mathrm {[deg]}\)

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

NWIPITCH input lines
WIPITCH
  • WIPITCH: real: Body pitch angle, \(\mathrm {[deg]}\)

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

18. Diffracted wave transfer functions in points

1 identification input line.

FIRSt ORDEr DIFFracted  wave transfer  functions

Text for describing the linear incoming wave to diffracted wave transfer functions, 2 lines.

TXDI1
  • TXDI1: character(60): Character string

1 input line.

PTNOUS
  • PTNOUS: integer: Point number defined by user

1 input line.

XBDY   YBDY   ZBDY
  • XBDY: real: x-coordinate of where transfer function is calculated \(\mathrm {[L]}\)

  • YBDY: real: y-coordinate of where transfer function is calculated \(\mathrm {[L]}\)

  • ZBDY: real: z-coordinate 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]}\)

1 identification input line.

WAVE  DIREctions  DIFFracted wave transfer  functions

Directions, NDIR input lines.

IDIR    DIR
  • IDIR: integer: Direction number (between 1 and NDIR)

  • DIR: real: Propagation direction of incoming wave, \(\mathrm {[deg]}\)

1 identification input line.

WAVE  FREQuencies  DIFFracted wave transfer  functions

Frequencies, NFRE input lines.

IFRE  FRE
  • IFRE: integer: Frequency number (between 1 and NFRE)

  • 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 of ITYPIN

    • 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 of ITYPIN

    • ITYPIN=1: Imaginary part

    • ITYPIN=2: Phase angle \(\mathrm {[deg]}\)

    • ITYPIN=3: Phase angle \(\mathrm {[rad]}\)

If transfer functions of X-, Y- or Z-velocity 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 stand-alone SIMO analysis shall be visualised, the SIMO sys-file 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:

1 identification input line

DIFFracted WAVE EXPOrt

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.

1 identification input line

DIFFracted WAVE MASTer

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 X-direction

  • NPY: integer: Number of points in Y-direction

SIMO stand-alone 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 X-direction \(\mathrm {[L]}\)

  • DWDY: real: Equidistant length between diffracted wave points in Y-direction \(\mathrm {[L]}\)

  • DWX: real: Minimum X-coordinate of the diffracted wave patch referred to the body-fixed coordinate system \(\mathrm {[L]}\)

  • DWY: real: Minimum Y-coordinate of the diffracted wave patch referred to the body-fixed coordinate system \(\mathrm {[L]}\)

  • DWPSI: real: Yaw angle of the diffracted wave patch relative to the body-fixed coordinate system \(\mathrm {[deg]}\)

1 identification input line

DIFFracted WAVE WORKer

Specification of number of points for diffracted wave WORKER , 1 input line

IDWW       NDWWP
  • IDWW: integer: Worker number

  • NDWWP: integer: Number of points for the worker

    • NDWWP = NPX * NPY / NWRK

app a image007
Figure 5. Diffracted wave patch with NPX = 5, NPY = 3.

19. Linear current coefficients

1 identification input line.

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 x-z plane

    • = 2: Double symmetry, x-z and y-z 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

1 identification input line.

QUADratic  CURRent  COEFficients

Text for describing the quadratic current coefficients, 2 input lines.

TXC2CO
  • TXC2CO: character(60): Character string

Specification of current coefficient type, 1 optional identification line.

FORMAT

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 x-z plane

    • = 2: Double symmetry, x-z and y-z 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 from FP 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.

Coefficients, NC2DIR input lines.

C2DIR  C21  C22  C23  C24  C25  C26
  • C2DIR: real: Direction, \(\mathrm {[deg]}\)

  • C2n: real: Quadratic current force coefficient for degree of freedom n, \(\mathrm {[FT^2/L^2,FT^2/L]}\)

The coefficient C26 is dummy for ISTRIP = 1 or 2

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 sys-file

    • = 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

NCUDIR input lines
CUDIR
  • CUDIR: real: Relative current direction, \(\mathrm {[deg]}\)

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

NCUZ input lines
CUZ
  • CUZ: real: Body vertical position, \(\mathrm {[L]}\)

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

NCUROLL input lines
CUROLL
  • CUROLL: real: Body roll angle, \(\mathrm {[deg]}\)

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

NCUPITCH input lines
CUPITCH
  • CUPITCH: real: Body pitch angle, \(\mathrm {[deg]}\)

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

21. Second-order wave drift coefficients

1 identification input line.

SECOnd   ORDer   WAVE   drift   forces

Text for describing the second-order 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 x-z plane

    • = 2: Double symmetry, x-z and y-z planes

1 identification input line.

WAVE  DIREctions  DRIFt coefficients

NDRDIR input lines.

IDRDIR   DRDIR
  • IDRDIR: integer: Direction number

  • DRDIR: real: Direction, \(\mathrm {[deg]}\)

Note that:

  • If IDRSYM = 1

    • 0 deg ≤ DRDIR180 deg

    • 0 deg must be included

  • If IDRSYM = 2

    • 0 deg ≤ DRDIR90 deg

1 identification input line.

WAVE  FREQuencies  DRIFt coefficients

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

1 identification input line.

WAVE DRIFt DAMPing

Text for describing the wave drift damping, 2 input lines.

TXWADD
  • TXWADD: character(60): Character string

1 input line

ICOF
  • ICOF: integer: Calculation method

    • = 1: Simplified method

    • = 2: Newman’s method

Simplified method (ICOF=1)

1 input line

NWADD
  • NWADD: integer: Number of peak periods for which coefficients are given

Wave drift damping coefficients, NWADD input lines

WDPER WD11 WD12
  • WDPER: real: Peak period in wave spectrum \(\mathrm {[T]}\)

  • WD1n: real: Wave drift damping coefficient for degree of freedom n, (i.e. relative change in average wave drift force for unit velocity), \(\mathrm {[T/L]}\)

Newman’s method (ICOF=2)

1 input line

NDDDIR NDDFRE
  • NDDDIR: integer: Number of directions

  • NDDFRE: integer: Number of frequencies

1 identification input line (optional)

CALCulation METhod

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, low-frequency velocity is used (if available)

1 identification input line

WAVE DIREction DAMPing coefficients

Directions, NDDDIR input lines

IDDDIR DDDIR
  • IDDDIR: integer: Direction number

  • DDDIR: real: Direction, \(\mathrm {[deg]}\)

1 identification input line

WAVE FREQuencies DAMPing coefficients

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. Second-order 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.

1 identification input line.

QUADratic TRANsfer FUNCtions

Text for describing the second-order 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 or NDQTF1)

  • NWQTF1: integer: Number of frequencies

  • NWQTF2: integer: Number of frequencies (1 or NWQTF1)

  • 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]}\)

1 identification input line.

WAVE  DIREctions  QTF

Directions, NDQTF1 input lines.

IQTDIR    QTFDIR
  • IQTDIR: integer: Direction number

  • QTFDIR: real: Direction, \(\mathrm {[deg]}\)

1 identification input line.

WAVE  FREQuencies  QTF

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 of ITYPIN

    • 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 of ITYPIN

    • 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:

1 identification input line.

DISTributed ELEMent FORCe

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:

1 identification line

HLA EXPOrt

Unique name of the exported element group data, 1 input line.

CHDELF
  • CHDELF: character(120): HLA name (identifier) of the element group

Slender elements

1 identification input line:

SLENder ELEMent

1 input line

SPEVOL  DSTMAS  IFOADD  IVOL  IWDHF  NSTRIP
  • SPEVOL: real: Specific volume (cross-section 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 and NSTRIP only)

    • IWDHF= 4: Velocity and acceleration (strip 1 and NSTRIP 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 y-axis

1 input line.

 XEL1 YEL1 ZEL1 XEL2 YEL2 ZEL2 XREF YREF ZREF
  • XEL1: real: X-coordinate end point 1, \(\mathrm {[L]}\)

  • YEL1: real: Y-coordinate end point 1, \(\mathrm {[L]}\)

  • ZEL1: real: Z-coordinate end point 1, \(\mathrm {[L]}\)

  • XEL2: real: X-coordinate end point 2, \(\mathrm {[L]}\)

  • YEL2: real: Y-coordinate end point 2, \(\mathrm {[L]}\)

  • ZEL2: real: Z-coordinate end point 2, \(\mathrm {[L]}\)

  • XREF: real: X-coordinate reference point, \(\mathrm {[L]}\)

  • YREF: real: Y-coordinate reference point, \(\mathrm {[L]}\)

  • ZREF: real: Z-coordinate 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 XS-axis extends along the element from end point 1 to point 2.

  • The YS-axis is defined by the plane between the XS-axis and the reference point [XREF,YREF,ZREF]. Positive direction is towards the reference point.

app a image008
Figure 6. Coordinate system [XS,YS,ZS] of the slender element

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.

1 identification input line.
DIFFracted WAVE APPLication
1 input line.
CHBDYD
  • CHBDYD: character(8): Name of body for which transfer functions for diffracted waves are given

1 input line
IPDIFF1
  • IPDIFF1: integer: Diffracted wave point number associated with element end 1

1 input line
IPDIFF2
  • IPDIFF2: integer: Diffracted wave point number associated with element end 2

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 identification input line
DEPTH-dependent HYDRodynamic COEFficients
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=Z-ZCOEF-\xi \quad (IFOADD=1)}\) - \(\mathrm {Zin=Z-ZCOEF\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 x-direction

  • RAMY: real, default: 1: Relative added mass in local element y-direction

  • RAMZ: real, default: 1: Relative addedmass in local element z-direction

RCLX RCLY RCLZ RCQX RCQY RCQZ
  • RCLX: real: Relative linear drag in longitudinal direction (local element x-direction)

  • RCLY: real: Relative linear drag in local element y-direction

  • RCLZ: real: Relative linear drag in local element z-direction

  • RCQX: real: Relative quadratic drag in longitudinal direction (local element x-direction)

  • RCQY: real: Relative quadratic drag in local element y-direction

  • RCQZ: real: Relative quadratic drag in local element z-direction

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 sub-group AERODYNAMIC DESCRIPTION.

1 identification input line
AEROdynamic   DESCription
Load description type
CHTYPE
  • CHTYPE: character: Type of aerodynamic force (only option available at the moment)

    • = DRAG ⇒ Morison-like 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 identification input line.

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: X-coordinate of element, \(\mathrm {[L]}\)

  • YEL: real: Y-coordinate of element, \(\mathrm {[L]}\)

  • ZEL: real: Z-coordinate 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 XY-plane of the element.

coord sys bf element
Figure 7. Coordinate system of the body fixed 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.

1 identification input line.
DIFFracted WAVE APPLication
1 input line.
CHBDYD
  • CHBDYD: character(8): Name of body for which diff. wave TRF’s are given

1 line
IPDIFF
  • IPDIFF: integer: Diffracted point number to be associated with element

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 identification input line
DEPTh-dependent HYDRodynamic COEFficients
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=Z-ZCOEF-\xi \quad (IFOADD=1)}\) - \(\mathrm {Zin=Z-ZCOEF\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, latexmath:[\mathrm {[L\]}]
- `RVOL: real, default: 1`: Volume relative to fully submerged volume -
`RAMX: real, default: 1`: Relative added mass in longitudinal direction
(local element x-direction) - `RAMY: real, default: 1`: Relative added
mass in local element y-direction. - `RAMZ: real, default: 1`: Relative
added mass in local element z-direction
RCLX RCLY RCLZ RCQX RCQY RCQZ
  • RCLX: real: Relative linear drag in longitudinal direction (local element x-direction)

  • RCLY: real: Relative linear drag in local element y-direction

  • RCLZ: real: Relative linear drag in local element z-direction

  • RCQX: real: Relative quadratic drag in longitudinal, local element x-direction

  • RCQY: real: Relative quadratic drag in local element y-direction

  • RCQZ: real: Relative quadratic drag in local element z-direction

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 sub-group AERODYNAMIC DESCRIPTION. The obtained wind force will be added to the wind force time series.

1 identification input line
AEROdynamic   DESCription
Load description type
CHTYPE
  • CHTYPE: character: Type of aerodynamic force (only one option available at the moment)

    • = DRAG ⇒ Morison-like 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)

1 identification input line

SMALl BODY HYDRodynamic data

Text for describing small-body 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 X-direction \(\mathrm {[M]}\)

  • SAMY: real: Added mass in Y-direction \(\mathrm {[M]}\)

  • SAMZ: real: Added mass in Z-direction \(\mathrm {[M]}\)

Linear drag data, 1 input line

SC1X   SC1Y   SC1Z
  • SC1X: real: Linear drag coefficient in X-direction, \(\mathrm {[FT/L]}\)

  • SC1Y: real: Linear drag coefficient in Y-direction, \(\mathrm {[FT/L]}\)

  • SC1Z: real: Linear drag coefficient in Z-direction, \(\mathrm {[FT/L]}\)

Quadratic drag data, 1 input line

SC2X   SC2Y   SC2Z
  • SC2X: real: Quadratic drag coefficient in X-direction, \(\mathrm {[F(T/L)^2]}\)

  • SC2Y: real: Quadratic drag coefficient in Y-direction, \(\mathrm {[F(T/L)^2]}\)

  • SC2Z: real: Quadratic drag coefficient in Z-direction, \(\mathrm {[F(T/L)^2]}\)

Depth dependent hydrodynamic forces

1 identification input line

DEPTH-dependent HYDRodynamic COEFficients

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 X-direction

  • RAMY: real: Relative added mass in Y-direction

  • RAMZ: real: Relative added mass in Z-direction

RC1X   RC1Y   RC1Z   RC2X   RC2Y   RC2Z
  • RC1X: real: Relative linear drag in X-direction

  • RC1Y: real: Relative linear drag in Y-direction

  • RC1Z: real: Relative linear drag in Z-direction

  • RC2X: real: Relative quadratic drag in X-direction

  • RC2Y: real: Relative quadratic drag in Y-direction

  • RC2Z: real: Relative quadratic drag in Z-direction

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.

1 identification input line.

DIFFracted WAVE APPLication

1 input line

CHBDYD
  • CHBDYD: character(8): Name of body for which diff. wave TRF’s are given

1 input line

IPDIFF
  • IPDIFF: integer: Diffracted point number to be associated with this body

Soil penetration model

1 identifying input line

SOIL PENEtration

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 for ISOIL = 1 and 11)

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 for ISOIL 1 & 11)

  • IHSOIL: integer, default: 0: Import of seabed depth values from HLA, Depth value replaces ZCONT

    • IHSOIL = 0: No import

    • IHSOIL = 1: Import

NDFRIC input lines

DFRIC   FTIPDO   FTIPUP   FWALL FRICH
  • DFRIC: real: Penetration relative to ZCONT (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

app a image010
Figure 8. Soil penetration parameters

Soil penetration parameters for friction model with soil fracture

For ISOIL = 2, NDCAP input lines
DCAP  SOILFR  FRCDEP PSUCT
  • DCAP: real: Penetration relative to ZCONT (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 identification input line

SPECified FORCe

Text describing the specified force, 2 input lines

TXSPF
  • TXSPF: character(60): Character string

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=1-6) for IMETH=1

    • Force or moment (IMOM) for IMETH=2 or 3

      • IMOM = 0: Force

      • IMOM = 1: Moment

1 input line for IMETH=2, IMETH=3

XP  YP  ZP  DV1  DV2  DV3
  • XP: real: X-coordinate in body fixed coordinate system

  • YP: real: Y-coordinate in body fixed coordinate system

  • ZP: real: Z-coordinate in body fixed coordinate system

  • DV1: real: Direction vector, x-component

  • DV2: real: Direction vector, y-component

  • DV3: real: Direction vector, z-component

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.

1 identification input line.

EXTErnal FORCes

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: User-supplied 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 export EHLA is dummy for IEXTF = 3 and 4. HLA name is automatically set to ExtFor[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: X-coordinate in body fixed coordinate system

  • YP: real, default: 0: Y-coordinate in body fixed coordinate system

  • ZP: real, default: 0: Z-coordinate 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 X-direction, \(\mathrm {[F]}\)

  • FY: real, default: 0: Force in Y-direction, \(\mathrm {[F]}\)

  • FX: real, default: 0: Force in Z-direction, \(\mathrm {[F]}\)

  • MX: real, default: 0: Moment about X-axis, \(\mathrm {[FL]}\)

  • MY: real, default: 0: Moment about Y-axis, \(\mathrm {[FL]}\)

  • MZ: real, default: 0: Moment about Z-axis, \(\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.

For DLL import of force (IEXTF = 1), 1 input line

NPCUR
  • NPCUR: integer > 0: Number of points where current velocities shall be given to the external force library.

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 slow-speed 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 X-axis 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 ring-shaped control volume

  • Blade sections are treated as independent

  • Aerodynamic coefficients from wind tunnel tests are used for the blades

  • Empirical corrections are used for tip-vortices 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 X-axis, i.e. moment around the X-axis.

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 X-axis 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 z-axes. The orientation of the direction vector of the docking cones should be coincident with the rotor body X-axis.

  • 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 X-axis.

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

1 identification input line

WIND TURBine SPECification

1 input line

DUMMY
  • DUMMY: character(6): This line must contain the exact string "DUMMY"

1 input line

CH_WITURB
  • CH_WITURB: character(8): Wind turbine identifier

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

CH_CPL
  • CH_CPL: character(8): Name of moment coupling (MOMENT1)

1 input line

ROUT   RCANG
  • ROUT: real: Outer airfoil radius \(\mathrm {[L]}\)

  • RCANG: real: Cone angle \(\mathrm {[deg]}\)

1 input line

NB   NEB
  • NB: integer: Number of blades

  • NEB: integer: Number of el. per blade

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]}\)

app a image011
Figure 9. Principal sketch of the coupling system between rotor body and support body (nacelle) of a wind turbine system

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 slow-speed 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 Z-axis 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 double-multiple streamtube blade element momentum method. The approach includes dynamic stall effects (Øye-type 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 Z-axis, ie. moment around the Z-axis

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 Z-axis 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 y-axes. The orientation of the direction vector of the docking cones should be coincident with the rotor body Z-axis.

  • 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 Z-axis.

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 9, but rotated by 90 degrees.

1 identification input line

VERTical AXIS TURBine

1 input line

DUMMY
  • DUMMY: character(6): This line must contain the exact string "DUMMY"

1 input line

CH_WITURB
  • CH_WITURB: character(8): Wind turbine identifier

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

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

CH_CPL
  • CH_CPL: character(8): Name of moment coupling (MOMENT1)

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

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

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 H-rotor.

VAWT input
Figure 10. Vertical axis wind turbine geometrical input (side views of one blade)

29. Positioning system data

1 identification input line

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.

  • Force-elongation relationship with fixed attack points. The force is directed between the end points.

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

  • Force-elongation 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

1 identifying input line

CATEnary SYSTem  DATA

1 identifying line if HLA export of catenary system is wanted

HLA EXPOrt

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, pre-tension and winch run length.

Each line must refer to a line characteristics specified by LINE CHARacteristics DATA. The line characteristics (force-displacement 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:

  1. the LINE DATA for all the lines

  2. the LINE CHARacteristics DATA

  3. the BUOY DATA.

Line data

1 identifying input line
LINE  DATA
1 input line
ILINE   LICHAR   IMETH   IWIRUN     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 group LINE 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

  • IWIRUN: integer: Parameter for winch running

    • = 0: The winch is not run

    • = 1: The winch may be run

  • 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: X-coordinate of attachment point in body fixed coordinate system, \(\mathrm {[L]}\)

  • YBDY: real: Y-coordinate of attachment point in body fixed coordinate system, \(\mathrm {[L]}\)

  • ZBDY: real: Z-coordinate of attachment point in body fixed coordinate system, \(\mathrm {[L]}\)

for IMETH = 1, 1 input line
DIR   PRETEN   XWINCH
  • DIR: real: Direction of line in horizontal plane, \(\mathrm {[deg]}\)

  • PRETEN: real: Pretension, \(\mathrm {[F]}\)

  • XWINCH: real: default: 0: Run length of winch, \(\mathrm {[L]}\)

for IMETH = 2, 1 input line
DIR   XHOR   XWINCH
  • DIR: real: Direction of line in horizontal plane, \(\mathrm {[deg]}\)

  • XHOR: real: Horizontal distance from attachment point to anchor, \(\mathrm {[L]}\)

  • XWINCH: real, default: 0: Run length of winch, \(\mathrm {[L]}\)

for IMETH = 3, 1 input line
XGLB   YGLB    XWINCH
  • XGLB: real: X-coordinate of the anchor in global coordinate system, \(\mathrm {[L]}\)

  • YGLB: real: Y-coordinate of the anchor in global coordinate system, \(\mathrm {[L]}\)

  • XWINCH: real, default: 0: Run length of winch, \(\mathrm {[L]}\)

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 identifying input line
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, and SIMO 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, and SIMO 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 z-position for which the line characteristics will be calculated.

    • Dummy for LINPTY=1

  • VMAX: real >= 0: Maximum relative z-position for which the line characteristics will be calculated.

    • Dummy for LINPTY=1

  • VEXTOP: integer, default: 0: Vertical extrapolation option.

    • = 0: Vertical extrapolation outside the range VMIN to VMAX is NOT allowed

    • = 1: Vertical extrapolation outside the range VMIN to VMAX 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]}\)

app a image012
Figure 11. Catenary element parameters
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. Positive SLOPE means that the seabed is sloping downwards from the anchor towards the attachment point.

  • ZGLB: real: Z-coordinate 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 tension-strain 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 number IBUOY in end 1, referring to buoy in data group BUOY

  • SLENG: real: Length of the segment, \(\mathrm {[L]}\)

  • FRIC: real: Friction coefficient between line and sea bottom

  • NEA: integer, default: 0: If ICATSTIF=2, NEA is number of points in non-linear tension-strain curve. If ICATSTIF=3, NEA is number of points in fibre rope working curve.

  • ITYNEA: integer:

    • = 1: Stress-strain curve with NEA points is given

    • = 2: Tension-strain curve with NEA points is given

      When ICATSTIF=3, ITYNEA=2 is mandatory

  • ICATSTIF: integer, default: 1 (if NEA=0), 2 (if NEA>0):

    • = 1: Linear tension-strain relationship is determined by EMOD, EMFAC and DIA

    • = 2: Non-linear tension-strain curve with NEA points is given

    • = 3: Fibre rope model

  • NEA_OW: integer, default: 0: Number of points in fibre rope original working curve. Dummy if ICATSTIF is not 3.

  • NEA_O: integer, default: 0: Number of points in fibre rope original curve. This curve is presently not used and NEA_O should be set to 0.

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.

if LINPTY > 1, NSEG blocks of input lines
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 and 0.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 stress-strain or tension-strain 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.).

Buoy data
1 identifying input line
BUOY DATA
1 input line
IBUOY   NFZ
  • IBUOY: integer: Buoy number. IBUOY must be given from 1 to NBUOY 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 Z-axis 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 z-value, and at last be specified fully submerged by a negative z-value.

Force elongation with fixed attack points

1 identifying input line

FIXEd FORCe ELONgation

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 and 5

  • DIR: real: Direction of line in horizontal plane, \(\mathrm {[deg]}\)

    • Dummy for IMETH = 3 and 5

  • ANG: real: Angle of line from horizontal plane (positive downwards), \(\mathrm {[deg]}\)

    • Dummy for IMETH = 3 and 5

  • 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 force-elongation object has to specified, 1 input line

CHPHLA
  • CHPHLA: character(120): Character string for HLA force-elongation object name

1 input line

XBDY  YBDY  ZBDY   XGLB   YGLB   ZGLB
  • XBDY: real: X-coordinate of attack point in body fixed coordinate system, \(\mathrm {[L]}\)

  • YBDY: real: Y-coordinate of attack point in body fixed coordinate system, \(\mathrm {[L]}\)

  • ZBDY: real: Z-coordinate of attack point in body fixed coordinate system, \(\mathrm {[L]}\)

  • XGLB: real: X-coordinate of end point in global coordinate system, \(\mathrm {[L]}\)

    • Dummy for IMETH=1 and IMETH=2

  • YGLB: real: Y-coordinate of end point in global coordinate system, \(\mathrm {[L]}\)

    • Dummy for IMETH=1 and IMETH=2

  • ZGLB: real: Z-coordinate of end point in global coordinate system, \(\mathrm {[L]}\)

    • Dummy for IMETH=1 and IMETH=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 identifying input line

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 force-elongation object has to be specified

1 input line

 CHPHLA
  • CHPHLA: character(120): Character string for HLA force-elongation object name

1 input line

NAXPTS
  • NAXPTS: integer: Number of axial points with given force characteristics

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: X-coordinate of attack point in body fixed coordinate system, \(\mathrm {[L]}\)

  • YBDY: real: Y-coordinate of attack point in body fixed coordinate system, \(\mathrm {[L]}\)

  • ZBDY: real: Z-coordinate of attack point in body fixed coordinate system, \(\mathrm {[L]}\)

  • XGLB: real: X-coordinate of end point (center of cone opening) in global coordinate system, \(\mathrm {[L]}\)

  • YGLB: real: Y-coordinate of end point in global coordinate system, \(\mathrm {[L]}\)

  • ZGLB: real: Z-coordinate of end point in global coordinate system, \(\mathrm {[L]}\)

1 input line

DV1 DV2 DV3
  • DV1: real, default: 0: Direction vector, x-component

  • DV2: real, default: 0: Direction vector, y-component

  • DV3: real, default: -1: Direction vector, z-component

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.

docking cone earth
Figure 12. Example of docking device fixed to earth

Fender

1 identifying line

BERThing FENDer DATA

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

app a image014
Figure 13. Illustration of fender attachments
friction force
Figure 14. Example of friction force (here with constant normal force, AFORCE)

Contact point,1 input line

XF   YF   ZF
  • XF: real: X-coordinate of fender attachment point, \(\mathrm {[L]}\)

  • YF: real: Y-coordinate of fender attachment point, \(\mathrm {[L]}\)

  • ZF: real: Z-coordinate 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: X-coordinate 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: X-comp. of vector normal to surface \(\mathrm {[L]}\)

  • YN: real: Y-comp. of vector normal to surface \(\mathrm {[L]}\)

  • ZN: real: Z-comp. of vector normal to surface \(\mathrm {[L]}\)

  • XA: real: X-comp. of vector parallel to rotation axis \(\mathrm {[L]}\)

    • Dummy for IFRIC = 1

  • YA: real: Y-comp. of vector parallel to rotation axis \(\mathrm {[L]}\)

    • Dummy for IFRIC = 1

  • ZA: real: Z-comp. 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: X-component of vector defining direction no. 1 - DV1Y: real: Y-component of vector defining direction no. 1 - DV1Z: real: Z-component 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 earth-fixed

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.

fender models
Figure 15. Illustration of fender models
app a image017
Figure 16. Illustration of fender plane dimensions

Bumper element data

1 identifying line

BUMPer 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: X-coordinate of bumper end 1, \(\mathrm {[L]}\)

  • YB1: real: Y-coordinate of bumper end 1, \(\mathrm {[L]}\)

  • ZB1: real: Z-coordinate of bumper end 1, \(\mathrm {[L]}\)

  • XB2: real: X-coordinate of bumper end 2, \(\mathrm {[L]}\)

  • YB2: real: Y-coordinate of bumper end 2, \(\mathrm {[L]}\)

  • ZB2: real: Z-coordinate 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: X-coordinate of bumper end 1, \(\mathrm {[L]}\)

  • YG1: real: Y-coordinate of bumper end 1, \(\mathrm {[L]}\)

  • ZG1: real: Z-coordinate of bumper end 1, \(\mathrm {[L]}\)

  • XG2: real: X-coordinate of bumper end 2, \(\mathrm {[L]}\)

  • YG2: real: Y-coordinate of bumper end 2, \(\mathrm {[L]}\)

  • ZG2: real: Z-coordinate 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

THRUster DATA

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: X-coordinate of thruster in body coordinate system, \(\mathrm {[L]}\)

  • YTHR: real: Y-coordinate of thruster in body coordinate system, \(\mathrm {[L]}\)

  • ZTHR: real: Z-coordinate of thruster in body coordinate system, \(\mathrm {[L]}\)

  • DIRTHR: real: Direction of thrust force in body x-y plane, initial value if controlled by a DP-system, \(\mathrm {[deg]}\)

  • FORCE: real: Resulting force, initial value if controlled by a DP-system, \(\mathrm {[F]}\)

  • FACALL: real, default: 1: Factor in weight function for thruster allocation, dummy if not controlled by a DP-system

  • 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: For ITRTYP = 6 and 7 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 FMINFACT and FMAXFACT

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 FMINFACT and FMAXFACT

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 failure, 1 input line

IFMOTH FTIME
  • IFMOTH: integer: Failure mode

    • = 0: no failure

    • = 1: thruster blackout after specified time

  • FTIME: real: Time for thruster failure if IFMOTH = 1

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: X-coordinate of thruster in body coordinate system, \(\mathrm {[L]}\)

  • YTHR: real: Y-coordinate of thruster in body coordinate system, \(\mathrm {[L]}\)

  • ZTHR: real: Z-coordinate 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 x-y plane \(\mathrm {[deg]}\)

Initial values if thruster is controlled by a DP-system

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 built-in 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=0, Pitch-diameter ratio, 1 input line

PDRAT
  • PDRAT: real, default: 1: Pitch-diameter ratio P/D

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 functions KTFWD and KQFWD

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:

  1. 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 which CSPL=1, in order to get CSPL=1 when the thruster is submerged and "does not feel" the surface.

  2. The values of CSPL inside the range of the data table provided by the user are interpolated linearly.

  3. For a submerged thruster, Z/D<0. For a thruster in the air, Z/D>0.

  4. CSPL=1 means no thrust loss (i.e. the thruster works properly). CSPL=0 means 100% thrust loss (i.e. the thruster does not provide any thrust).

  5. The array ZD should be monotonic.

  6. 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 FMINFACT and FMAXFACT.

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 on SIGTYPE

  • 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 and DIRECTION 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 if IFMOTH = 1

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 z-axis along the rotation axis and the surface located in the xz-plane.

To avoid confusion, it is recommended to use a "surface coordinate system" with approximately the same orientation as the local body coordinate system.

app a image018
Figure 17. Lifting surface coordinate system

1 identification input line

LIFT  AND  DRAG  force

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: X-coordinate of point P1 \(\mathrm {[L]}\)

  • YP1: real: Y-coordinate of point P1 \(\mathrm {[L]}\)

  • ZP1: real: Z-coordinate 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: X-component \(\mathrm {[L]}\)

  • DVZ2: real: Y-component \(\mathrm {[L]}\)

  • DVZ3: real: Z-component \(\mathrm {[L]}\)

Vector in lift surface XZ plane for zero rotation around Zs

  • DVXZ1: real: X-component \(\mathrm {[L]}\)

  • DVXZ2: real: Y-component \(\mathrm {[L]}\)

  • DVXZ3: real: Z-component \(\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 x-axis

  • ZDRAG: real: Quadratic force coeff. in rudder z-dir. \(\mathrm {[F(T/L)^2]}\)

Force characteristics, NPLIFT input lines

 BETA  FX  FY  ZMOM
  • BETA: real: Velocity direction relative to rudder x-axis

  • FX: real: Quadratic force coeff. in rudder x-dir. \(\mathrm {[F(T/L)^2]}\)

  • FY: real: Quadratic force coeff. in rudder y-dir. \(\mathrm {[F(T/L)^2]}\)

  • ZMOM: real: Quadratic moment coeff. about rudder z-axis \(\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 user-defined 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: X-coordinate of thruster in body coordinate system, \(\mathrm {[L]}\)

  • YTHR: real: Y-coordinate of thruster in body coordinate system, \(\mathrm {[L]}\)

  • ZTHR: real: Z-coordinate 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 x-y plane, \(\mathrm {[deg]}\)

Initial values if thruster is controlled by a DP-system

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 on SIGTYPE

  • 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 and DIRECTION 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 if IFMOTH = 1

Max rps, 1 input line:

MAXRPS
  • MAXRPS: real: The RPS giving FMAX, \(\mathrm {[1/T]}\)

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: (1-Cwl_aft)/(1-Cp_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: Thruster-hull interaction loss is included

  • ILOSSTHRTHR: integer:

    • = 0: Loss effect not included

    • = 1: Thruster-thruster 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.

1 input line.

DYNAmic POSItioning SYSTem

Text for describing the positioning system, 2 input lines.

TXDP
  • TXDP: character(60): Character string

Type of DP-system, 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 DP-system)

    • = 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 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 DP-system

    • = 0: DP-system OFF

    • > 0: DP-system 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 manual-DP 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 DP-controller 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:

    • X-coordinate of reference/wanted position, \(\mathrm {[L]}\) for CHREF \(\mathrm {\neq }\) GBCIRCLE

    • X-coordinate of the circle center \(\mathrm {[L]}\) for CHREF = GBCIRCLE

  • YREF: real:

    • Y-coordinate of reference/wanted position, \(\mathrm {[L]}\) for CHREF \(\mathrm {\neq }\) GBCIRCLE

    • Y-coordinate 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: X-coordinate of the point on the body which shall be positioned at the specified reference, \(\mathrm {[L]}\)

  • YLOC: real: Y-coordinate 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. (If IDPMOD=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, XY-position.

    • = 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: Cut-off time in low-pass 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 DP-reference 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 of GUIDANCE

    • = 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 x-direction, \(\mathrm {[L/TT]}\)

  • AMAXY: real: Max. acceleration in local y-direction, \(\mathrm {[L/TT]}\)

If CHREF = GUIDANCE (Guidance System) and IGTYP = 1,

Waypoint table, NWAYP input lines,

 XP YP ZP VREF PSI RADT
  • XP: real: X-coordinate of waypoint, \(\mathrm {[L]}\)

  • YP: real: Y-coordinate of waypoint, \(\mathrm {[L]}\)

  • ZP: real: Z-coordinate 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: X-coordinate of waypoint, \(\mathrm {[L]}\)

  • YP: real: Y-coordinate of waypoint, \(\mathrm {[L]}\)

  • ZP: real: Z-coordinate 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]}\)

  • RADA: real > 0: Radius of acceptance, \(\mathrm {[L]}\)

  • LOSLEN: real > 0: `Line-of-sight' 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 low-pass filtering

    • = 3: Yes, with low-pass filtering

  • WILPT: real: Cut-off time in low-pass 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 non-measured longitudinal external forces acting on the body, \(\mathrm {[F]}\)

  • FSTAY: real: Start value on non-measured transverse external forces acting on the body, \(\mathrm {[F]}\)

  • FSTAM: real: Start value on non-measured external moment acting on the body, \(\mathrm {[FL]}\)

PID controller (IDP = 1)

1 identification input line
PID CONTroller DATA
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.
  1. 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.

  2. From an initial position of non-equilibrium and with no dynamic environmental forces acting, simulate the transient motion towards equilibrium (to avoid complications caused by possible cross-coupling 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 non-oscillating. If they are not, the damping coefficients must be increased.

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

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

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

  6. 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 open-loop gain must be less than 1 (0 dB) at the crossover frequency (i.e. the frequency at which the open-loop phase is -180 deg.)

Kalman filter based controller (IDP = 2)

1 identification input line
KALMan FILTer DATA
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 X-direction (not from DP system), \(\mathrm {[F/L]}\)

  • STFLIY: real: Linear stiffness in global Y-direction (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 i-direction due to a unit displacement in the global j-direction (not from DP system) \(\mathrm {[F/L,F,FL]}\)

Diagonal terms are negative for a common anchoring system. - i=1 is the global X-direction - i=2 is the global Y-direction - 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 X-coord. of the line end point anchored at the sea bed \(\mathrm {[L]}\)

  • Y0: real: Global Y-coord. of the line end point anchored at the sea bed \(\mathrm {[L]}\)

1 input line

 X1 Y1
  • X1: real: X-coord. of the line end point attached to the vessel (given in the body fixed coord. system) \(\mathrm {[L]}\)

  • Y1: real: Y-coord. 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 length Li \(\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 box-muller transform is used to generate normally distributed pseudo-random 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 DP-system, the vessel can be moved to an offset position and released with no environmental forces. The DP-system 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, cut-off frequencies \(\mathrm {\omega _c}\) for filtering the wave frequency motions are normally chosen. Typically, the cut-off 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 user-supplied external dynamic positioning controller
EXTErnal DYNAmic POSItioning
1 input line, path and filename of library containing the controller
TXXDP
  • TXXDP: character(120): Character string giving path and filename

1 input line
NPCUR
  • NPCUR: integer > 0: Number of points where current velocities shall be given to the external DP-system library

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 identification input line, velocity reference from HLA
VELOcity CONTroller DATA
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.

1 input line.

DYNAmic POSItioning CONTRol

Text for describing the positioning system, 2 input lines.

TXDP
  • TXDP: character(60): Character string

1 input line.

THRUster CONTrol DATA

1 input line.

NTHRC
  • NTHRC: integer: Number of thrusters to be under DP control

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: X-coordinate of thruster in body system

  • YTH: real: Y-coordinate of thruster in body system

  • ZTH: real: Z-coordinate 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

1 input line.

DYNAmic POSItioning DATA

Type of DP-system, 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 DP-system)

    • = 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 DP-system

    • = 0: DP-system OFF

    • > 0: DP-system 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 manual-DP 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 DP-controller 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:

    • X-coordinate of reference/wanted position, \(\mathrm {[L]}\) for CHREF != GBCIRCLE

    • X-coordinate of the circle center \(\mathrm {[L]}\) for CHREF = GBCIRCLE

  • YREF: real:

    • Y-coordinate of reference/wanted position, \(\mathrm {[L]}\) for CHREF != GBCIRCLE

    • Y-coordinate 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: X-coordinate of the point on the body which shall be positioned at the specified reference, \(\mathrm {[L]}\)

  • YLOC: real: Y-coordinate 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. (If IDPMOD=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, XY-position.

    • = 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: Cut-off time in low-pass 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 DP-reference 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 of GUIDANCE

    • = 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 x-direction, \(\mathrm {[L/TT]}\)

  • AMAXY: real: Max. acceleration in local y-direction, \(\mathrm {[L/TT]}\)

If CHREF = GUIDANCE (Guidance System) and IGTYP = 1,

Waypoint table, NWAYP input lines,

 XP YP ZP VREF PSI RADT
  • XP: real: X-coordinate of waypoint, \(\mathrm {[L]}\)

  • YP: real: Y-coordinate of waypoint, \(\mathrm {[L]}\)

  • ZP: real: Z-coordinate 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 IGTYP = 2,

Waypoint table, NWAYP input lines, (CHREF = GUIDANCE)

XP YP ZP VREF PSI RADA LOSLEN
  • XP: real: X-coordinate of waypoint, \(\mathrm {[L]}\)

  • YP: real: Y-coordinate of waypoint, \(\mathrm {[L]}\)

  • ZP: real: Z-coordinate 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]}\)

  • RADA: real > 0: Radius of acceptance, \(\mathrm {[L]}\)

  • LOSLEN: real > 0: `Line-of-sight' 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 low-pass filtering

    • = 3: Yes, with low-pass filtering

  • WILPT: real: Cut-off time in low-pass 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 non-measured longitudinal external forces acting on the body, \(\mathrm {[F]}\)

  • FSTAY: real: Start value on non-measured transverse external forces acting on the body, \(\mathrm {[F]}\)

  • FSTAM: real: Start value on non-measured external moment acting on the body, \(\mathrm {[FL]}\)

PID controller (IDP = 1)

1 identification input line
PID CONTroller DATA
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.
  1. 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.

  2. From an initial position of non-equilibrium and with no dynamic environmental forces acting, simulate the transient motion towards equilibrium (to avoid complications caused by possible cross-coupling 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 non-oscillating. If they are not, the damping coefficients must be increased.

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

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

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

  6. 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 open-loop gain must be less than 1 (0 dB) at the crossover frequency (i.e. the frequency at which the open-loop phase is -180 deg.)

Kalman filter based controller (IDP = 2)

1 identification input line
KALMan FILTer DATA
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 X-direction (not from DP system), \(\mathrm {[F/L]}\)

  • STFLIY: real: Linear stiffness in global Y-direction (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 i-direction due to a unit displacement in the global j-direction (not from DP system) \(\mathrm {[F/L,F,FL]}\)

Diagonal terms are negative for a common anchoring system. * i=1 is the global X-direction * i=2 is the global Y-direction * 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 X-coord. of the line end point anchored at the sea bed \(\mathrm {[L]}\)

  • Y0: real: Global Y-coord. of the line end point anchored at the sea bed \(\mathrm {[L]}\)

1 input line

 X1 Y1
  • X1: real: X-coord. of the line end point attached to the vessel (given in the body fixed coord. system) \(\mathrm {[L]}\)

  • Y1: real: Y-coord. 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 length Li \(\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 box-muller transform is used to generate normally distributed pseudo-random numbers

1 input line if ILINE = 5.
NRMEAS
  • NRMEAS: integer: Number of RIFLEX line force measurements.

NRMEAS input lines if ILINE = 5
CHLI LEND
  • CHLI: character(8): String identifier for RIFLEX 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 DP-system, the vessel can be moved to an offset position and released with no environmental forces. The DP-system 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, cut-off frequencies \(\mathrm {\omega _c}\) for filtering the wave frequency motions are normally chosen. Typically, the cut-off 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 user-supplied external dynamic positioning controller
EXTErnal DYNAmic POSItioning
1 input line, path and filename of library containing the controller
TXXDP
  • TXXDP: character(120): Character string giving path and filename

1 input line
NPCUR
  • NPCUR: integer > 0: Number of points where current velocities shall be given to the external DP-system library

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 identification input line, velocity reference from HLA
VELOcity CONTroller DATA
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.

1 identification input line.

BODY COMPonents

1 identification input line

COUPling POINt

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: X-coordinate of coupling point in body fixed coordinate system, \(\mathrm {[L]}\).

  • YCPL: real: Y-coordinate of coupling point in body fixed coordinate system, \(\mathrm {[L]}\).

  • ZCPL: real: Z-coordinate 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)

1 identification input line

POINt CONTrol

1 input line

NAME-POINT-CONTROL        POINT-CONTROL-TYPE
  • NAME-POINT-CONTROL: character(32): Name (identifier) of the CONTROL

  • POINT-CONTROL-TYPE: character(4): HLA

Connectable fixed coupling point

This data group is optional for a fixed coupling point (CHPPT = FIXED)

1 identification input line

HLA CONNectable

1 input line

CHHCO
  • CHHCO: character(32): Identifier for HLA Connectable point

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)

1 identification input line

MOTIon COMPensator

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 built-in 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 limit AMPMAX

    • = 3: Limit AMPMAX

  • 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 low-pass filter

If ITYPE = 1 and EHLA=1, 1 input line
HC_HLA
  • HC_HLA: character(120): HLA name of this HC

DLL heave compensator

This data group identifies the dynamic linked library (DLL) within which an external heave compensator is described (CHMOCO = HC_D)

Name of DLL name, 1 input line
CHCLIB
  • CHCLIB: character(120): Character string for HC library name, incl. path

1 input line
NPCUR
  • NPCUR: integer > 0: Number of points where current velocities shall be given to the external HC library

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 force-displacement characteristic for two pre-set 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.

force disp passive tensioner
Figure 18. Force - displacement characteristic of a passive tensioner

1 identification input line

TENSioner

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

If IHLA=1, one line

CPTHLA
  • CPTHLA: character(120): HLA name of this tensioner

Winch at fixed coupling point

1 OPTIONAL line if CHPPT = FIXEd

COUPling WINCh

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: HLA-Joystick

    • = 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 if CWICO = HLA)

DRUMA and DRUML represent limitation to winch operation.

NRUN input lines if COUPling WINCh and CHPPT = FIXEd and NRUN > 0

TSTART  TSTOP  RUNVEL
  • TSTART: real: Start time for running winch, \(\mathrm {[T]}\).

  • TSTOP: real: Stop time for running winch, \(\mathrm {[T]}\).

  • RUNVEL: real: Winch run velocity (positive when paying out), \(\mathrm {[L/T]}\).

Guide point

1 input line if CHPPT = GUIDe

DGUID  DV1  DV2  DV3
  • DGUID: real: Diameter of guide hole

  • DV1: real: X-comp. of vector normal to hole in body fixed coordinate system, \(\mathrm {[L]}\).

  • DV2: real: Y-comp. of vector normal to hole in body fixed coordinate system, \(\mathrm {[L]}\).

  • DV3: real: Z-comp. 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 User-supplied 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.

1 identification input line.

GENEric EXTErnal CONTrol system

1 input line.

GECID
  • GECID: character: External control system identifier, must be unique

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 jar-file with control system class

  • CLASSNAME: character: Name of class in jar-file 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

Real parameters, NREA pairs of input lines

CHIDREAn
  • IDREAn: character: String identifier for real parameter no n

REAn
  • REAn: real: Real parameter no n

String parameters, NSTR pairs of input lines

CHIDSTRn
  • IDSTRn: character: String identifier for string parameter no n

TXSTRn
  • TXSTRn: character: String no n