Skip to content

Commit d2abd5c

Browse files
committed
docs: Updates for MD-F SeaState coupling
1 parent acef8bb commit d2abd5c

File tree

3 files changed

+54
-27
lines changed

3 files changed

+54
-27
lines changed

docs/inputs.rst

Lines changed: 27 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -637,7 +637,7 @@ The list of possible options is:
637637
- writeLog (0 C, -1 F): If >0 a log file is written recording information. The
638638
bigger the number the more verbose. Please, be mindful that big values would
639639
critically reduce the performance!
640-
- dtM (3.402823e+38) – desired mooring model maximum time step (s). In
640+
- dtM (3.402823e+38 C, coupling timestep size F) – desired mooring model maximum time step (s). In
641641
MoorDyn-F if this is left blank it defaults to the
642642
:ref:`driver file <MDF_driver_in>` dtC value or the OpenFAST time step.
643643
- CFL (0.5) – Desired mooring model maximum Courant-Friedich-Lewy factor. CFL is the ratio
@@ -683,7 +683,7 @@ The list of possible options is:
683683
The new stationary solver in MoorDyn-C is more stable and more precise than the dynamic solver,
684684
but it can take longer to reach equilibrium.
685685
- disableOutput (0): Disables some console and file outputs to improve runtime.
686-
- disableOutTime (0): Disables the printing of the current timestep to the console, useful for the MATLAB wrapper
686+
- disableOutTime (0): Disables the printing of the current timestep to the console, useful for running with MATLAB
687687

688688
A note about time steps in MoorDyn-C: The internal time step is first taken from the dtM option. If
689689
no CFL factor is provided, then the user provided time step is used to calculate CFL and MoorDyn-C
@@ -719,12 +719,12 @@ The following MoorDyn-C options are not supported by MoorDyn-F:
719719
- StatDynFricScale: Same as MC in MoorDyn-F.
720720
- ICgenDynamic: MoorDyn-F does not have a stationary solver for initial conditions
721721
- disableOutput: MoorDyn-F output verbosity is controlled by OpenFAST
722-
- disableOutTime: MoorDyn-F output verbosity is controlled by OpenFAST
723722

724723
The following options from MoorDyn-F are not supported by MoorDyn-C:
725724

726-
- WaterKin (Null): Path to the water kinematics file. Allows the inputs of wave and current
727-
coefficients formatted as described in the :ref:`water kinematics file <MDF_wtrkin>`.
725+
- WaterKin (Null): Path to the water kinematics file or the SEASTATE Keyword. The formatting of the
726+
water kinematics file can be found :ref:`here <MDF_wtrkin>`. Details on the different MoorDyn-F
727+
water kinematics options can be found in the :ref:`MoorDyn-F water kinematics section <waterkinematics-F>`.
728728
- MU_KT (0.0): Transverse line coefficient of friction.
729729
- MU_KA (0.0): Axial line coefficient of friction.
730730
- MC (1.0): Same as StatDynFricScale in MoorDyn-C.
@@ -965,28 +965,33 @@ Water Kinematics file (MoorDyn-F)
965965
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
966966
.. _MDF_wtrkin:
967967

968-
The file provided to MoorDyn-F for water Kinematics should have the following format, which
968+
This file is used if simulating water kinematics in MoorDyn-F with a user defined grid (Old Method and Hybrid Method).
969+
More details on the different MoorDyn-F water kinematics methods can be found in the :ref:`MoorDyn-F water kinematics section <waterkinematics-F>`.
970+
971+
The file provided to MoorDyn-F for water kinematics should have the following format, which
969972
specifies the inputted waves and current. MoorDyn-F can handle a maximum of 100 lines of current
970-
data. Details on this format can be found in the :ref:`water kinematics section <waterkinematics>`.
973+
data.
971974

972975
.. code-block:: none
973976
974977
MoorDyn Waves and Currents input file
975978
...any notes here...
976-
--------------------------- WAVES -------------------------------------
977-
3 WaveKinMod - type of wave input {0 no waves; 3 set up grid of wave data based on time series}
978-
"waveelev.dat" WaveKinFile - file containing wave elevation time series at 0,0,0
979-
0.5 dtWave - time step to use in setting up wave kinematics grid (s)
980-
0 WaveDir - wave heading (deg)
981-
2 - X wave input type (0: not used; 1: list values in ascending order; 2: uniform specified by -xlim, xlim, num)
982-
-24, 150, 100 - X wave grid point data
983-
2 - Y wave input type (0: not used; 1: list values in ascending order; 2: uniform specified by -xlim, xlim, num)
984-
-100, 100, 5 - Y wave grid point data
985-
2 - Z wave input type (0: not used; 1: list values in ascending order; 2: uniform specified by -xlim, xlim, num)
986-
-600, 0, 60 - Z wave grid point data
987-
--------------------------- CURRENT -------------------------------------
988-
1 CurrentMod - type of current input {0 no current; 1 steady current profile described below}
989-
z-depth x-current y-current
979+
--------------------------- WAVES -------------------------------------
980+
2 WaveKinMod - type of wave input {0 no waves; 1 use the old method; 2 use the hybrid method}
981+
"" WaveKinFile - file containing wave elevation time series at 0,0,0 # Ignored if WaveKinMod = 2
982+
0 dtWave - time step to use in setting up wave kinematics grid (s) # Ignored if WaveKinMod = 2
983+
0 WaveDir - wave heading (deg) # Ignored if WaveKinMod = 2
984+
2 - X wave input type (0: not used; 1: list values in ascending order; 2: uniform specified by -xlim, xlim, num)
985+
-800, 10, 101 - X wave grid point data
986+
2 - Y wave input type (0: not used; 1: list values in ascending order; 2: uniform specified by -xlim, xlim, num)
987+
-5, 5, 3 - Y wave grid point data
988+
2 - Z wave input type (0: not used; 1: list values in ascending order; 2: uniform specified by -xlim, xlim, num)
989+
-600, 0, 61 - Z wave grid point data
990+
--------------------------- CURRENT -------------------------------------
991+
2 CurrentMod - type of current input {0 no current; 1 steady current profile described below; 2 hybrid method}
992+
2 - Z wave input type (0: not used; 1: list values in ascending order; 2: uniform specified by -xlim, xlim, num) # Ignored if CurrentMod = 1
993+
-600, 0, 50 - Z wave grid point data # Ignored if CurrentMod = 1
994+
z-depth x-current y-current # Table ignored if CurrentMod = 2
990995
(m) (m/s) (m/s)
991996
0.0 0.9 0.0
992997
150 0.5 0.0
@@ -995,7 +1000,7 @@ data. Details on this format can be found in the :ref:`water kinematics section
9951000
5000 0.15 0.0
9961001
--------------------- need this line ------------------
9971002
998-
MoorDyn with FAST.Farm - Inputs
1003+
MoorDyn-F with FAST.Farm - Inputs
9991004
-------------------------------
10001005

10011006
MoorDyn is available at an array level in FAST.Farm using the MoorDyn-F v2 input file format.

docs/waterkinematics.rst

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -496,8 +496,30 @@ components, roughly meaning that all the water flows away from the origin.
496496

497497
Water Kinematics (MoorDyn-F)
498498
----------------------------
499-
The WaterKin flag in MoorDyn-F takes an input file formatted as described in the additional :ref:`input
500-
files section <MDF_wtrkin>`. This file contains both wave and current data. The input file
501-
has a flag for a wave data file and MoorDyn-F processes the wave data the same way MoorDyn-C does
502-
with WaveKin = 3. The current data is processed by MoorDyn-F as a steady 3D grid the same way
503-
MoorDyn-C processes currents = 1.
499+
.. _waterkinematics-F:
500+
501+
MoorDyn-F has three options for simulating wave and current loads on the MoorDyn system: the Old Method,
502+
the Hybrid Method, and the SeaState Method. Both the hybrid method and the SeaState method use a coupling
503+
with the `OpenFAST SeaState module <https://openfast.readthedocs.io/en/main/source/user/seastate/index.html>_`
504+
to calculate the wave kinematics. The Old Method is a legacy method that is not coupled to SeaState. The three
505+
methods can be described as:
506+
507+
- **Old Method**: MoorDyn takes wave elevation time series and current speeds with depths as inputs generates it's
508+
own water kinematics using the equivalent of WaveGrid = 3 and Currents = 1 in MoorDyn-C.
509+
- **Hybrid Method**: SeaState sets up wave elevation frequencies and current speeds and then MoorDyn interpolates
510+
this information to user provided wave grid and current depth discretization. This allows users to set the
511+
WaterKinematics for the whole OpenFAST or FAST.Farm system while still maintaining a courser grid for the MoorDyn
512+
water kinematics, enabling computational efficiency. This method is compatible with FAST.Farm.
513+
- **SeaState Method**: SeaState does all the work, MoorDyn just accesses the SeaState grid data at any given
514+
timestep and location. This requires the SeaState grid to encompass the whole MoorDyn system for the most
515+
accurate results. If a point is quried outside the SeaState gird, it will recive the water kinematics of
516+
the nearest grid point. This method is not compataible with FAST.Farm.
517+
518+
The table below summarizes these three options.
519+
520+
.. figure:: waterkinematics_MDF.png
521+
:alt: MoorDyn-F water kinematics options
522+
523+
The WaterKin flag in MoorDyn-F can be either `SEASTATE` or a file path. If the flag is set to `SEASTATE` then the SeaState
524+
method is used. If the flag is set to a file path, then the Old Method or Hybrid Method is used. This file is formatted as
525+
described in the additional :ref:`input files section <MDF_wtrkin>`. This file contains both wave and current data.

docs/waterkinematics_MDF.png

106 KB
Loading

0 commit comments

Comments
 (0)