Use of DYNMOD

The purpose of DYNMOD is to perform time domain simulation of the system with initial condition as defined by INIFIL. Main analysis parameters, method parameters, storage parameters and integration parameters must be specified. The different options in the main menu must be selected in increasing order.

 I->  DYNMOD main menu
 I
 I      1 : Read initial condition file
 I      2 : Set simulation parameters
 I      3 : Initialize simulation
 I      4 : Time domain simulation
 I     99 : Terminate
 I
 I->  Select option ( 1 ) >

1. Read initial condition file

An INIFIL prepared by STAMOD will be read.

2. Set simulation parameters

Default values representing the "most common used" values are assigned to all parameters. Within each group default values can be selected for all parameters. Specification can thus be done with a minimum of keystrokes. Otherwise default values are obtained by pressing `Return' during the specification.

2.1. Main analysis parameters

2.1.1. Motion mode for station-keeping forces

If any of the bodies included in the simulation are of type 2, i.e. the motion is separated in HF and LF motions, the station-keeping forces may be calculated due to LF response or due to the total HF+LF response, which is the default.

2.1.2. Wave generation method

The time series of wave responses are generated by superposition of harmonic components with uniformly distributed phases by means of pre-generation by the Fast Fourier transform (FFT) or by time domain summation of the harmonic components.

Due to these time-consuming calculations, a combination of pre-generated time series and cosine series in the time domain is made possible. For such a combination it is also possible to ensure that the same realization of wave components is used for both options for wave response calculation.

 Specification of calculation method for waves:
 -----------------------------------------------

 I->  Select method for calculation of waves
 I
 I      1 : No waves to be calculated
 I      2 : FFT only
 I      3 : FFT and Cosine series combined
 I      4 : Cosine series only
 I      5 : Visualization (cosine series)
 I->  Select option ( 2 ):

2.1.3. Wind gust generation method

The time series of wind gust are generated either by superposition of harmonic components with uniformly distributed phases by means of pre-generation by the Fast Fourier transform (FFT) or by a time domain state-space model driven by white noise.

 Specification of calculation method for wind gust:
 --------------------------------------------------

 I->  Select method for calculation of wind
 I
 I      1 : No wind gust to be calculated
 I      2 : FFT
 I      3 : State Space model

2.1.4. Random seed for waves and wind

A seed for generation of random phase angles must be specified. With different seed numbers, different time series of wind and waves will be generated.

In version 4.18 and later, the wave and wind time series will depend not only on the seed number, but also on the chosen algorithm for generating pseudo-random numbers. The "mersenne twister" is the recommented method and should be used unless backwards compatibility with previous versions are required. The "legacy" method is provided for backwards compatibility. It has been identified that the legacy method can give non-gaussian and non-stationary wave elevation in short crested waves with more than about 30-50 discrete directions, depending on wave spectrum and simulation duration. By choosing the mersenne twister, these issues are avoided. The choice of method is done in SIMA. If SIMO is used without SIMA, the legacy method will currently be used. This may change in a future release.

For some applications the choice of method is overruled and the mersenne twister is always used:

  • The state space model for wind generation

  • Wave elevation with slowly varying wave spectrum parameters, called "multi-environment" (only availible via SIMA)

It is also possible to read wind and waves from an ASCII file.

Each body may experience the same wind time series; alternatively different wind time series will be generated for each body.

Time series of wind force will be calculated for those bodies that have defined wind force coefficients.

2.1.5. FFT parameters, simulation length

If waves or dynamic wind responses are included in the simulation, time series can be generated by FFT. The number of time steps in the pre-generated series must be an integer power of 2. For example 2¹¹ steps equals 2048 steps.

2.1.6. Wave generation by summation of harmonic components (cosine series) in the time domain

The time series generated (equidistant frequencies), will repeat themselves with a period \(T_p=2\pi /\Delta \omega _{\mathit{k}\:\mathrm {min}}\), where \(\mathrm {\Delta \omega _{\mathit{k}\:min}}\) is the smallest frequency increment. For user-given number of wave components for wind sea and swell, it is important that the number of components is sufficiently high to avoid a repeating wave response time series for the longest duration of the simulated operation that is close to stationary.

Stochastic amplitudes may be specified to be used for time domain wave response generation.

2.1.7. Time step

The time step for the retardation functions is used as the default time step in the simulation. There is a possibility of subdividing each time step into sub steps. Sub steps will not be in stored on the time series file. Care should be used when using a large number of sub steps, particularly when retardation functions are specified.

2.2. Method parameters

2.2.1. Possible wave responses

The following wave responses may be calculated:

  • Wave elevation in origin

  • First order motion

  • Wave particle motion at body initial position for those bodies that have defined small body hydrodynamic forces.

  • Wave particle motion for slender structures with distributed hydrodynamic forces

  • \(1^{\mathrm {st}}\) order wave forces

  • \(1^{\mathrm {st}}\) order diffracted wave kinematics at selected points around large volume bodies

  • Wave drift forces

  • Wave drift damping forces

  • Full \(2^{\mathrm {nd}}\) order wave forces (sum- or difference- frequencies)

  • Ringing forces

2.2.2. Wave responses by FFT, corrections due to heading changes

The following possibilities exist:

  • No correction, i.e. responses calculated for initial heading is used throughout the simulation.

  • Interpolation in time domain. The response is initially calculated for a number of different headings, and interpolation between these is performed in time domain. The maximum heading change compared to initial heading must be specified, and simulation stops if this is exceeded.

  • For wave drift forces only: the first (and optionally also the second) derivative of average drift forces is applied to modify the pre-generated forces in time domain.

2.2.3. Calculation methods for wave drift forces

The following methods exist:

  • Average force will be calculated for each time step, calculation in the time domain

  • Use initial average force, and make corrections in time domain using the derivative of average force, calculation by FFT

  • Newman model, calculation by FFT or in the time domain (cosine series)

  • Extend drift force coefficients to full quadratic transfer functions, by using the Newman approximation, calculation by FFT or in the time domain (cosine series)

2.2.4. Calculation methods for 2nd order forces (QTF)

Quadratic transfer functions for both sum and difference frequencies and optionally directional seas may be used as input. The following methods exist:

  • Using the frequency diagonal as wave drift force coefficients and apply the Newman model.

  • Using the frequency diagonal and expand to off-diagonal terms by Newmans approximation.

  • Use full QTF matrix.

Calculation of these forces in the time domain is not yet implemented.

2.2.5. Wave elevation

Normally, the resultant wave elevation is stored on the time series file. Alternatively, time series for each direction may be stored separately.

2.2.6. Wind velocities

Wind velocities will be calculated for the wind propagation direction, but also transverse gust speed may be specified:

 Wind velocity:
 --------------

 I->  Wind velocity, body-id
 I
 I       1 : One dimensional
 I       2 : Two dimensional
 I
 I->  Select option ( 2 ) :

2.2.7. Wind forces

Three force models are available:

  • Calculation of static force (due to average wind velocity).

  • Force due to total wind velocity.

  • Force due to relative wind velocity.

Interpolation of wind force coefficients between directions may be performed by either linear or spline interpolation.

2.2.8. Current forces

Two force models are available:

  • Calculation of static force.

  • Force due to relative current velocity.

Interpolation of current force coefficients between directions may be performed by either linear or spline interpolation.

The methods to be selected apply for both linear and quadratic current force coefficients.

2.3. Storage parameters

The following results from time domain simulation can be stored on the time series file:

  • Wind speed.

  • Wind force.

  • Wave elevation. For short-crested sea, either each wave component or for resultant wave may be stored.

  • Wave particle velocities and accelerations, either for each directional wave component or for resultant wave.

  • Diffracted wave elevation and wave particle velocities and accelerations.

  • \(1^{\mathrm {st}}\) order wave force for degrees of freedom where transfer functions have been read. Either for each directional wave component or for resultant wave.

  • \(2^{\mathrm {nd}}\) order wave force for degrees of freedom where transfer functions are read. If \(2^{\mathrm {nd}}\) order wave forces are modified due to heading changes, the force on the file will be updated, and the original value is lost.

  • Total force.

  • Retardation force.

  • Hydrostatic stiffness force.

  • Linear damping force.

  • Quadratic damping force.

  • Linear current drag force.

  • Quadratic current drag force.

  • Small body hydrodynamic force.

  • Total force from all elements of a body. In addition, the total force and the components of each element can be stored.

  • Total force from all couplings of a body. In addition, the total force and components in global and local system can be stored for each coupling element.

  • Total force from all thrusters of a body. In addition, force and direction of individual thrusters can be stored.

  • Dynamic positioning estimators.

  • Specified forces.

  • Global positions.

  • Global accelerations.

  • Local velocities.

3. Initialization of time domain simulation

Time series of wind speed, wave elevation, wave particle motion, \(1^{\mathrm {st}}\) order wave forces and \(2^{\mathrm {nd}}\) order wave forces will be generated at the initial positions of the bodies.

If regular waves are specified, these are also generated in the same way as irregular waves. The frequencies of the harmonic components are multiples of the frequency increment, \(\mathrm {\Delta \omega }\).

\[\Delta \omega =\frac{2\pi }{N_t\Delta t}\]

where \(\mathrm {N_t}\) is the number of time steps and \(\mathrm {\Delta t}\) is the time increment. The obtained wave periods will normally be slightly different from the specified ones since the selected wave frequency is a multiple of \(\mathrm {\Delta \omega }\).

If wave periods are carefully selected, the specified wave periods will be obtained. The condition for this is that the specified simulation duration is an integer number of wave periods:

\[\frac{\omega }{\Delta \omega }=\frac{N_t\Delta t}{T}\]

is an integer

where \(\mathrm {T}\) is the specified wave period.

3.1. Reading wind time series from file

Optionally, it is possible to read wind velocity or wind velocity and direction (for each body) from an ASCII file.

 Read wind series at body-id from file? (N)            : YES

 Name of wind-file
 File name may be DROP

 File name
         ---------------------------------------------
 Old    (wind.asc                                     )
 New   :

 Scaling factor:

In case one dimensional wind velocity has been specified, the input file should contain the time series of wind velocity only. The propagation wind direction for the present wind case is used (chosen in STAMOD, specified on SYSFIL). If two-dimensional wind velocity, the input file must contain series of both wind velocity and wind direction (in degrees). In this case the read wind time series is transformed to the propagation direction and transverse direction of the present wind case (chosen in STAMOD, specified on SYSFIL). This will not have any influence on the results from the simulation. It will only have an effect on the stored wind time series, stored as components in propagation and transverse directions.

Both the read wind velocity and time step will be scaled by the square root of the scaling factor.

The time step given on the ASCII file may be different from the time step used in the simulation. The specified wind time series will be re-sampled using the time step applied in the simulation based on linear interpolation. Further the velocities will be scaled by the square root of the scaling factor.

If the read time series is shorter than the length of the simulation, the wind velocity in the last part of the simulation will be set to zero.

It is assumed that the reference height for wind velocity coincides with the height for which wind force coefficients are given. Further, no filtering (application of admittance function) is done on the read wind times series.

3.1.1. File format (ASCII) for one dimensional wind velocity

  • Line 1 : Number of samples

  • Line 2 : Time step

  • Line 3 : Arbitrary text

  • Line 4 : Arbitrary text

  • Lines 5-N : Time series read in free format (arbitrary number of samples on each line)

Example:

2048 ’ Number of samples
.50 ’ Time step
Text 1
Text 2
20.0000
20.3923
20.7822 21.1672
21.5451 21.9134
.
.

3.1.2. File format (ASCII) for two-dimensional wind velocity

File head (The file head may contain an arbitrary number of comment lines starting with '):

  • Line 1 : Number of samples

  • Line 2 : Time step

  • Line 3 : Number of columns (=2)

Time series: * Line 4 : velocity direction * Line 5 : velocity direction * . * . * . * Line 3 + N : velocity direction

Example:

  2048       ' Number of samples \
' Comment line 1                  \
  .50        ' Time step           \
  2          ' Format type     **Head of file**
' Comment line 2                   /
' Comment line 3                  /
' Last comment line              /
  20.0000      180.000
  20.3923      180.500
  20.7822      181.000
  21.1672      181.500
  21.5451      182.000
   .
   .

3.2. Reading wave elevation from file.

Provided that long-crested waves are specified, it is possible to read wave elevation time series from an ASCII file:

 Should wave time series be read from file at body-id from file? (N)           : YES

 Name of wave-file
 File name may be DROP

 File name
         ---------------------------------------------
 Old    (wave.asc                                     )
 New   :

 Scaling factor:                   (1.0000) :
 X and Y coord. where wave is given (full scale).

 X-coord. (wave)                                  ( 0.00000 ) :
 Y-coord. (wave)                                  ( 0.00000 ) :

 Water depth in FULL scale                         ( 1000.00 ) :

 Cut-off period for HP filter of wave signal     ( 40.0000 ) :

The propagation wave direction for the present sea state is used (chosen in STAMOD, specified on SYSFIL).

The read wave elevation will be scaled by the scaling factor while the time step is scaled by the square root of the scaling factor.

The time step given on the ASCII file may be different from the time step used in the simulation. The specified wave elevation time series will be re-sampled according to the time step used in the simulation based on linear interpolation. If the read time series is shorter than the length of the simulation, the wave elevation in the last part of the simulation will be set to zero.

The time series will be filtered with a band pass filter. The upper cut off period is specified by the user while the lower cut off period will be \(\mathrm {0.2*T_{peak}}\). Here \(\mathrm {T_{peak}}\) is the peak period computed from the timeseries.

3.2.1. File format (ASCII) for wave elevation

  • Line 1 : Number of samples

  • Line 2 : Time step

  • Line 3 : Arbitrary text

  • Line 4 : Arbitrary text

  • Lines 5-N : Time series read in free format (arbitrary number of samples on each line)

Example:

2048 ’ Number of samples
.50 ’ Time step
Text 1
Text 2
20.0000
20.3923
20.7822 21.1672
21.5451 21.9134
.
.

A complete example from a simulation is given below.

 Should wave time series be read from file ? (N)                  : y

  Name of wave-file
  File name may be DROP

  File name
          ----------------------------------------
  Old    (wave.asc                                )
  New   : wave.asc

  Scale factor                         (     1.00000      ) :

  Time step in model scale is 0.0200 sec.
  Each series consists of  131072 points.

  Wave signal in full scale contains    2048 values
  different from zero.

  The wave is transformed to ORIGO according to wave direction
  and coord. of the point where the wave is given.
  Transf. dist. is in FULL scale.
  Deep water is NOT assumed : w*w = g*k*tanh(k*d)
  The wave read from file replaces the wave
  specified on the system input file.
  The wave must be long-crested.
  Wave dir. is taken from the system input file.

  X and Y coord. where wave is given (full scale).
                                       :
  X-coord. (wave)                      (     0.00000      ) : 10
  Y-coord. (wave)                      (     0.00000      ) : 20
  Wave direction   45.00 deg. results in a
  transformation distance of -21.21 m

  Water depth in FULL scale            (     100.000      ) : 200

  Cut-off period for HP filter of wave signal
                                       (     40.0000      ) : 100

4. Time domain simulation

The simulation time and the integration method must be specified.

Clutch on \(1^{\mathrm {st}}\) order wave forces is implemented. The first and second derivatives of the clutch function are zero in both ends. The duration of the clutch function must be specified.

5. Work array size in DYNMOD

The size of the DYNMOD work arrays may be specified using the environment variable SIMO_MEM. The variables give the size in MB, i.e. 4 times the number of million words. The minimum size is 4 MB and the maximum size is 800 MB.

The default size of the DYNMOD work array is 4 million words, e.g. 16 MB.