Skip to content

Commit

Permalink
Add MoorDyn module regression tests (#85)
Browse files Browse the repository at this point in the history
* MD: rearrange test cases to more standard organization

* MD: update md_5MW_OC4Semi module test

* MD: add regression tests for driver

NOTE: the md_Node_Check and md_Single_Line cases are excessively slow in double precision, so they will not be run during normal integration testing.

* MD c-bindings: add python regression test
  • Loading branch information
andrew-platt authored Dec 13, 2022
1 parent 9a9548f commit eb372d4
Show file tree
Hide file tree
Showing 24 changed files with 25,314 additions and 57,680 deletions.
48,009 changes: 0 additions & 48,009 deletions modules/moordyn/5MW_OC4/5MW_OC4Semi_WSt_WavesWN.out

This file was deleted.

4,802 changes: 0 additions & 4,802 deletions modules/moordyn/5MW_OC4/driver.MD.out

This file was deleted.

4,802 changes: 0 additions & 4,802 deletions modules/moordyn/5MW_OC4/ptfm_motion.dat

This file was deleted.

8 changes: 4 additions & 4 deletions modules/moordyn/README.rst
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
MoorDyn Regression Tests
==================================================================================================================
5MW_OC4 functions as a "normal" r-test with baseline MoorDyn output file from the 5MW_OC4Semi_WSt_WavesWN openFAST
md_5MW_OC4Semi functions as a "normal" r-test with baseline MoorDyn output file from the 5MW_OC4Semi_WSt_WavesWN openFAST
case.

Single_Line_Quasi_Static_Test contains MoorDyn input files for a simple single line chain system. The outputs
from this case can be compared to MoorPy quasi-static tensions/node positions.

Node_Check_(N=20) and Node_Check_(N=40) set up a single line chain system with 20 nodes vs 40 nodes. The results
md_Node_Check_(N=20) and md_Node_Check_(N=40) set up a single line chain system with 20 nodes vs 40 nodes. The results
from these cases can be compared to check for consistency.

Some code to set up/compare these additional MoorDyn tests is included in MoordynQSchecks.py
Some code to set up/compare these additional MoorDyn tests is included in MoordynQSchecks.py (users will need to update paths)

The additional MoorDyn test cases are a work in progress - more test cases and code to analyze them will be added.
The additional MoorDyn test cases are a work in progress - more test cases and code to analyze them will be added.
40 changes: 0 additions & 40 deletions modules/moordyn/Single_Line_Quasi_Static_Test/md_driver.log

This file was deleted.

4,808 changes: 4,808 additions & 0 deletions modules/moordyn/md_5MW_OC4Semi/driver.MD.out

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,6 @@ FALSE Echo - Echo the input file data (flag)
0 NumTurbines - Number of wind turbines (-) [>=1 to use FAST.Farm mode. 0 to use OpenFAST mode.]
---------------------- Initial Positions --------------------------------------
ref_X ref_Y surge_init sway_init heave_init roll_init pitch_init yaw_init
(m) (m) (m) (m) (m) (rad) (rad) (rad) [followed by MAX(1,NumTurbines) rows of data]
0 0 5 0 0 0 0.0331612 0
(m) (m) (m) (m) (m) (deg) (deg) (deg) [followed by MAX(1,NumTurbines) rows of data]
0 0 5 0 0 0 1.9 0
END of driver input file
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@ ID LineType AttachA AttachB UnstrLen NumSegs Outputs
FairTen1
FairTen2
FairTen3
AnchTen1
AnchTen2
AnchTen3
L1N10T
L2N10T
L3N10T
Expand All @@ -53,5 +56,14 @@ L2N19Pz
L3N19Px
L3N19Py
L3N19Pz
Con4Px
Con4Py
Con4Pz
Con5Px
Con5Py
Con5Pz
Con6Px
Con6Py
Con6Pz
END
------------------------- need this line --------------------------------------
4,802 changes: 4,802 additions & 0 deletions modules/moordyn/md_5MW_OC4Semi/ptfm_motion.dat

Large diffs are not rendered by default.

307 changes: 307 additions & 0 deletions modules/moordyn/md_Node_Check_N20/driver.MD.out

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@ FALSE Echo - echo the input file data (flag)
600.0 WtrDpth - water depth
---------------- MOORDYN ------------------
test.dat MDInputFile - Primary MoorDyn input file name (quoted string)
"driver1" OutRootName - The name which prefixes all HydroDyn generated files (quoted string)
60.0225 TMax - Number of time steps in the simulations (-)
"driver" OutRootName - The name which prefixes all HydroDyn generated files (quoted string)
60.0000 TMax - Number of time steps in the simulations (-)
0.0125 dtC - TimeInterval for the simulation (sec)
0 InputsMode - MoorDyn coupled object inputs (0: all inputs are zero for every timestep, 1: time-series inputs) (switch)
"" InputsFile - Filename for the MoorDyn inputs file for when InputsMod = 1 (quoted string)
0 NumTurbines - Number of wind turbines (-) [>=1 to use FAST.Farm mode. 0 to use OpenFAST mode.]
---------------- Initial Positions ------------------
ref_X ref_Y surge_init sway_init heave_init roll_init pitch_init yaw_init
(m) (m) (m) (m) (m) (m) (m) (m) [followed by NumTurbines rows of data]
(m) (m) (m) (m) (m) (deg) (deg) (deg) [followed by NumTurbines rows of data]
0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
END of driver input file
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Line LineType AttachA AttachB UnstrLen NumSegs Outputs
1 chain 2 1 1800.00 20 -
---------------------- OPTIONS ----------------------------------------
0.00005 dtM - time step to use in mooring integration (s)
600.0 WtrDpth - water depth (m) <<< must be specified for farm-level mooring
600.0 WtrDpth - water depth (m) <<< must be specified for farm-level mooring
3.0e+06 kbot - bottom stiffness (Pa/m)
3.0e+05 cbot - bottom damping (Pa-s/m)
1.0 dtIC - time interval for analyzing convergence during IC gen (s)
Expand Down
Loading

0 comments on commit eb372d4

Please sign in to comment.