Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge dev and update r-test #20

Merged
merged 202 commits into from
Sep 20, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
202 commits
Select commit Hold shift + click to select a range
4262436
MoorDyn bug fix for tensions changing part-way through simulation.
mattEhall Jul 6, 2020
a0254a2
Merge branch 'MDmods' of https://github.com/mattEhall/openfast into T…
mattEhall Nov 5, 2020
7f604a1
Edits to Waves, HydroDyn, and glue code changes to support MoorDyn v2…
mattEhall Nov 24, 2020
de02d56
Added Mod_WaveField input to FAST.Farm for wave load phasing based on…
mattEhall Dec 30, 2020
701c947
Major MoorDyn v2 changes. Introducing all the v2 objects and structur…
mattEhall Jan 8, 2021
2e07a66
Merge branch 'TCF-mods2' of https://github.com/HaymanConsulting/OpenF…
mattEhall Jan 8, 2021
8813a16
Properly hooking up CaEnd and CdEnd to Rods in MoorDyn.
mattEhall Jan 8, 2021
2b4a27a
Tiny registry fix in MD
mattEhall Jan 8, 2021
f16b590
Adjusting hard-coded wave kinematics grid functionality to use public…
mattEhall Jan 14, 2021
938fa0a
Merge branch 'TCF-mods2' of https://github.com/HaymanConsulting/OpenF…
mattEhall Jan 14, 2021
734e246
Small adjustment/bugfix to wave grid, MoorDyn coupled Rod bugfix, Moo…
mattEhall Jan 15, 2021
f9cd662
Merge branch 'TCF-mods2' of https://github.com/HaymanConsulting/OpenF…
mattEhall Jan 15, 2021
130547e
Correction of my earlier edits in FAST_Subs - no if statements for al…
mattEhall Jan 15, 2021
3ac0590
Merge branch 'TCF-mods2' of https://github.com/HaymanConsulting/OpenF…
mattEhall Jan 20, 2021
82a1d22
Bug fixes in wave grid implementation and MD Rod Froude-Krylov force.
mattEhall Jan 21, 2021
983d4a7
Ensuring no side forces in node weights
mattEhall Feb 4, 2021
4205241
Merge branch 'dev' of https://github.com/OpenFAST/openfast into MDv2
mattEhall Feb 4, 2021
5d17d6d
The first version shared for USFLOWT.
mattEhall Mar 19, 2021
e061548
Merge branch 'f/StrucCtrl_controls' of https://github.com/andrew-plat…
mattEhall Mar 19, 2021
e2a0d94
Merge branch 'f/StrucCtrl_controls' of https://github.com/andrew-plat…
mattEhall Mar 19, 2021
47f37c5
Fix-ups from merging StrucCtrl with MDv2 work.
mattEhall Mar 21, 2021
29f5dec
Merge branch 'f/fast-farm' of https://github.com/jjonkman/OpenFAST in…
mattEhall Mar 23, 2021
4cf50aa
Merge branch 'f/StrucCtrl_controls' of https://github.com/andrew-plat…
mattEhall Mar 24, 2021
ee8f772
Drafting shared moorings capability in FAST.Farm:
mattEhall Mar 29, 2021
e4f93cf
Fix routineName of Farm_InitMD
mattEhall Mar 29, 2021
7d126cd
Handling uncoupled turbines with a dummy node in the MD meshes
mattEhall Mar 29, 2021
2fd0973
Fixed up MD input prep in FAST.Farm
mattEhall Mar 29, 2021
1e22dce
Updating MD version number
mattEhall Apr 2, 2021
f4c688e
Merge branch 'f/StrucCtrl_controls' of https://github.com/andrew-plat…
mattEhall Apr 2, 2021
743b104
Add some _Types.f90 files back in. Deleted in prior commit????
andrew-platt Apr 6, 2021
2f77648
Replace non-standard tabs with spaces
andrew-platt Apr 7, 2021
b104356
Replace 1.0/0.0 with NaN -- gcc wouldn't compile
andrew-platt Apr 7, 2021
1f285c1
MDv2: change InitInp to intent in only
andrew-platt Apr 8, 2021
556ad48
MDv2: fix some array bounds issues in interpolation routines
andrew-platt Apr 8, 2021
b5c6150
MDv2: remove a few unnecessary REAL conversions
andrew-platt Apr 8, 2021
6d1a1a6
MDv2: set some uninitialized variables
andrew-platt Apr 8, 2021
5965162
Merge remote-tracking branch 'origin/b/HD_unitializedVars' into MDv2_…
andrew-platt Apr 9, 2021
0e6b7dc
MDv2: add passing of input FileInfo_Type, remove unused var from MDIO…
andrew-platt Apr 12, 2021
8e1a2e4
MDv2: added FileInfo_Type parsing of input file
andrew-platt Apr 12, 2021
45aee88
MDv2: potential segfault on closing files that were never opened.
andrew-platt Apr 12, 2021
ef18dc2
MDv2: changed index for line number counting to current line instead …
andrew-platt Apr 12, 2021
15631e3
MDv2: turn off the verbose input file info
andrew-platt Apr 12, 2021
137bb77
copyright update
mattEhall Apr 15, 2021
6cf5496
Merge pull request #3 from andrew-platt/b/MDv2_minorBugs
mattEhall Apr 15, 2021
076cca6
Merge pull request #4 from andrew-platt/MDv2_InputFileParsing
mattEhall Apr 15, 2021
824bb9f
Merge branch 'f/StrucCtrl_controls' of https://github.com/andrew-plat…
mattEhall Apr 15, 2021
8cd93ee
Adding linearization subroutines to MoorDyn v2:
mattEhall May 10, 2021
ddfdff6
Removing 'MD can't linearize' error message
mattEhall May 11, 2021
ca9380c
Removing hard-coded wave grid for general use pending future wave cap…
mattEhall May 11, 2021
2ed8c23
SrvD array bugfix from Andy, and proper MD groundBody initialization
mattEhall Jun 10, 2021
ff925dd
StC ctrl: controller input nominally 0
ebranlard Jun 14, 2021
8a4489e
Revert commit 2ed8c232 changes to cmake setup
andrew-platt Jun 16, 2021
dc29531
MDv2: missed wave kin stuff in FAST_Subs for commit ca9380ce
andrew-platt Jun 16, 2021
0a37d12
MDv2 lin: missing initialization and unsafe size() of potentially una…
andrew-platt Jun 17, 2021
c528032
MoorDyn linearization fixes and default parameters:
mattEhall Jun 25, 2021
044cc8d
Fixed/improved error handling edits in FARM_UpdateStates:
mattEhall Jul 2, 2021
356bc61
Merge branch 'dev' into f/fast-farm
mattEhall Jul 9, 2021
926c9aa
Merge remote-tracking branch 'andy/f/StrucCtrl_controls' into MDv2
mattEhall Jul 9, 2021
aa2fd46
Merge Matt's f/fast-farm (shared moorings) branch into MDv2-farm
mattEhall Jul 10, 2021
43e06ef
Remaining MD I/O mesh fixes in FAST_Solver and _Lin
mattEhall Jul 10, 2021
12728cc
First batch of changes to make shared mooring ability work with MDv2:
mattEhall Jul 10, 2021
0f1b870
Adjusted some indenting in MoorDyn
mattEhall Jul 10, 2021
73d47e0
MoorDyn further edits to merge MDv2 and shared-mooring farm capabliti…
mattEhall Jul 11, 2021
82d54d0
MoorDyn_IO fixing bug when specifying output channel node number
mattEhall Jul 11, 2021
64373ba
Finishing up merging of MDv2 and fast-farm branches. Compiles and runs.
mattEhall Jul 13, 2021
dc92d7c
New approach succeeds in applying shared mooring forces:
mattEhall Jul 14, 2021
a300ec0
Enabling MoorDyn dtOut and FAST.Farm thread/timer output:
mattEhall Aug 16, 2021
191070f
Replacing MoorDyn depth parameter with option for bathymetry
Sep 20, 2021
5801d16
Debugging error fixes: allocatable issue, syntax errors, etc.
Sep 21, 2021
d4a9e6f
Third iteration of fixes for compilation: depth and BathGrid names
Sep 21, 2021
9c45c6f
Some touchups to MoorDyn to get it to compile and run
Sep 23, 2021
d562001
Corrections in Rod end hydrodynamic added mass and inertia:
mattEhall Sep 27, 2021
41f1662
Implemented simple viscoelastic capability:
mattEhall Sep 30, 2021
4546392
Created MDv2 driver and tweaked Rod/Body farm positions:
mattEhall Oct 4, 2021
bafba40
Merge remote-tracking branch 'upstream/MDv2-farm' into MDv2-farm-bath
shousner Oct 4, 2021
c505683
Fixed inputString/OptValue character length issue that was causing lo…
shousner Oct 6, 2021
4654dc1
Adding .vs folders to git ignore
shousner Oct 6, 2021
45d4d9e
Added .fstf input validation and MD driver improvements:
mattEhall Oct 7, 2021
7c241b4
MD viscoelastic adjustment to input overall static and dynamic stiffn…
mattEhall Oct 13, 2021
3770d3e
Fixed MD driver to support nonzero initial positions:
mattEhall Oct 14, 2021
e1cf18e
Getting MD driver to give t=0 output
mattEhall Oct 14, 2021
83c570c
Merge remote-tracking branch 'upstream/MDv2-farm' into MDv2-farm-bath
Oct 14, 2021
e17a19c
Merge remote-tracking branch 'stein/MDv2-farm-bath' into MDv2-farm
mattEhall Oct 14, 2021
340610b
Reorder input parsing in prep for auto anchor depth:
mattEhall Oct 15, 2021
91373f0
First pass at setting anchor depth based on bathymetry
Oct 15, 2021
5a9792a
Merge remote-tracking branch 'upstream/MDv2-farm' into MDv2-farm-bath
Oct 15, 2021
75dfc12
Added temporary depth variable to make negative and store in tempArray
Oct 15, 2021
d22feca
Some water depth variables changed in MoorDyn_Types I'm assuming beca…
Oct 15, 2021
1fd6bf6
Remove double-counted weight in fairten outputs
mattEhall Oct 16, 2021
e90f8e7
Merge branch 'MDv2-farm-synth' into MDv2-farm
mattEhall Oct 16, 2021
3a1173b
Restructuring of MoorDyn source and wave/current addition:
mattEhall Oct 19, 2021
fcb63e7
Add MD_InitInp Tmax in FAST_Subs
mattEhall Oct 19, 2021
f1e6f3e
Adding the new MoorDyn sources files I forgot to add in commit 3a1173…
mattEhall Oct 20, 2021
a9ce6e9
Adding unit normal vector to seabed bathymetry interpolation:
mattEhall Oct 26, 2021
3e40ac1
MoorDyn: Implementation of Line bending stiffness
mattEhall Oct 27, 2021
7ffb95e
Seabed Friction Implementation
Nov 1, 2021
0d7c83c
vs-build/FASTlib/FASTlib.vfproj commit
Nov 1, 2021
33382c1
A couple bug fixes to the friction code
shousner Nov 3, 2021
48c9e3e
Changes in my vs-build FAST sln file
shousner Nov 3, 2021
24c06af
Fixed the wrong index for the unit normal vector
shousner Nov 3, 2021
d8e620a
Bug fix in getDepthFromBathymetry: fy, not fx in interpolation
Nov 11, 2021
8f98533
MD Driver updates and line output fix:
mattEhall Dec 3, 2021
72fbba8
Merge branch 'f/SrvD_linearization' into MDv2-farm:
mattEhall Dec 3, 2021
e3eec4a
FASTLib.vfproj update for new MD source files
mattEhall Dec 3, 2021
3990bce
Update MoorDyn to new input file Body/Line format/capabilities:
mattEhall Dec 13, 2021
d4f24d0
Merge friction updates from shousner/MDv2-farm-bath into MDv2-farm
mattEhall Dec 13, 2021
f21290e
Bug fix of transverse/axial friction coefficients
Dec 13, 2021
104f8fc
Fix HD added mass on member end (Close #992)
ebranlard Feb 7, 2022
5184e3b
MoorDyn waterkin and i/o updates
mattEhall Feb 8, 2022
9cb0b1b
Cherry picking some overlooked linearization updates from MDv2
mattEhall Oct 7, 2021
56604b1
Adding MoorDyn driver visual studio files
mattEhall Feb 14, 2022
e8f1a7b
MD lin: missing argument to MD_JacobianPInput
andrew-platt Aug 23, 2021
ccdf44d
MD Lin: add du{MD}/du{MD} term (accel + vel terms)
andrew-platt Aug 19, 2021
e5cb26d
Adjust merged FAST_Lin additions for MDv2-farm compatibility
mattEhall Feb 15, 2022
44ef892
MoorDyn: Improved error handling for Rods and WaterKin
mattEhall Feb 22, 2022
91e9a57
Increase allowed line length in the FileInfoType parsing
andrew-platt Feb 17, 2022
c5e2615
[BugFix] reset platformtoolset to v140
andrew-platt Mar 3, 2022
fcc732f
[BugFix] Reset WindowsTargetPlatformVersion to 8.1
andrew-platt Mar 3, 2022
7fcc6bc
Merge branch 'f/SrvD_linearization' into mh-MDv2-farm
andrew-platt Mar 3, 2022
dbe0239
Reset a few VS project file entries to match what is in dev
andrew-platt Mar 3, 2022
c825ba2
Fixed some duplication and initialization issues for Rods:
mattEhall Mar 3, 2022
ff59f0f
Merge pull request #11 from andrew-platt/MDv2-farm into mattehall/MDv…
mattEhall Mar 3, 2022
643e513
MDv2: update CMakeLists.txt
andrew-platt Mar 3, 2022
383ba90
MDv2: convert tabs to spaces
andrew-platt Mar 3, 2022
c69c178
MDv2: double precision compiling working
andrew-platt Mar 4, 2022
2322794
MDv2: fix non-standard fortran 'if' statement
andrew-platt Mar 4, 2022
4f5baa8
Merge remote-tracking branch 'OpenFAST/dev' into f/SrvD_linearization
andrew-platt Mar 10, 2022
19fe467
Merge remote-tracking branch 'origin/f/SrvD_linearization' into mh-MD…
andrew-platt Mar 10, 2022
ebc5c85
Merge pull request #14 from andrew-platt/MDv2-farm
mattEhall Mar 10, 2022
4cc8f6d
Bug fixes for nonlinear tension-strain capability
mattEhall Mar 10, 2022
81df672
HD: Fix HD added mass on member end (scaling factor) (Close #992)
ebranlard Mar 11, 2022
0b3bc95
Merge pull request #16 from ebranlard/f/hd-am-end
mattEhall Mar 11, 2022
78efc1b
Improve and correct some error messages and warnings to be more preci…
pschuenemann Mar 11, 2022
27de1d4
Merge remote-tracking branch 'OpenFAST/dev' into mh-MDv2-farm
andrew-platt Mar 18, 2022
9a28d15
Merge pull request #18 from andrew-platt/MDv2-farm
mattEhall Mar 18, 2022
b820815
Bugfixes for cable bending stiffness
mattEhall Mar 18, 2022
c51e7c0
MDv2: BugFix to ensure correct output of solver options warning and m…
pschuenemann Mar 15, 2022
a612d2a
MDv2: Fix error message for unidentified Type/BodyID of Connections
pschuenemann Mar 15, 2022
48084bc
FAST lin: update `Indx_y_ED_Nacelle_Start` with suggestion from bjonkman
andrew-platt Mar 21, 2022
1230c15
Merge remote-tracking branch 'OpenFAST/dev' into mh-MDv2-farm
andrew-platt Mar 29, 2022
8c12ac0
MDv2: update MoorDyn_Types.f90 after regenerating
andrew-platt Mar 29, 2022
605de10
MDv2-farm: update regression test cases from @erickaloz
andrew-platt Mar 31, 2022
de041bb
MoorDyn cylinder hydrodynamics capability
mattEhall Apr 7, 2022
f2629d6
MDv2: Make parsing of OutList from input file more robust
pschuenemann Mar 18, 2022
f7b799e
MDv2: More strict parsing of Type/BodyID for pinned Rods
pschuenemann Mar 18, 2022
e908c4b
MDv2: Check for correct number of columns in each row of each input t…
pschuenemann Mar 18, 2022
490bd8e
MoorDyn: restoring backward-compatible output names
mattEhall Apr 7, 2022
52d1468
Merge pull request #20 from andrew-platt/MDv2-farm
mattEhall Apr 7, 2022
a8b1d09
Enabling and fixing cable bending stiffness capability:
mattEhall Apr 11, 2022
3b4f10d
MDv2: remove tab characters
andrew-platt Apr 19, 2022
ea6bc8f
MDv2: Fix compile issue with the UnLog
andrew-platt Apr 19, 2022
461fd87
MoorDyn updates: linearization, wave stretching, buoyancy, print:
mattEhall Apr 19, 2022
6f8dc6f
MDv2: merge issue in MoorDyn registry -- registry.exe could not build it
andrew-platt May 2, 2022
e96a086
MDv2: [BugFix] segfault in logging option. update input files in r-test
andrew-platt May 3, 2022
4ac9026
MDv2: update input file format in r-test
andrew-platt May 3, 2022
7844b93
MoorDyn: add slack-segment 0.5 safety factor for linearization pertur…
mattEhall May 4, 2022
670375e
MD: fix issue with compiling double with Intel
andrew-platt May 6, 2022
eca8387
SD lin: [BugFix] indexing to SD_y%Y3Mesh start in Indx_y_SD_Y3Mesh_Start
andrew-platt May 6, 2022
db34233
Merge remote-tracking branch 'OpenFAST/dev' into mh-MDv2-farm
andrew-platt Jul 13, 2022
8539e4e
MoorDyn Rod bugfixes to solve power cable issues:
mattEhall Jul 21, 2022
23d2330
Lin: create VTK directory on restart (user might have deleted it)
ebranlard Jul 28, 2022
157cfac
Lin: unifying some code for VTKLinTim=1,2 and adding screen output
ebranlard Jul 28, 2022
2ee8b4a
Lin: surface mesh outputs without AD using basic geometries, adding c…
ebranlard Jul 28, 2022
71940d8
Lin: default rectangular cross section for BD and ED. Using FPS for V…
ebranlard Jul 29, 2022
789eadb
Fast_Library: expose DT_Out through FAST_Sizes
deslaughter Aug 11, 2022
859f4f4
openfast_library.py: save output based on DT_Out
deslaughter Aug 11, 2022
c4e837b
FastLibAPI: update for FAST_Sizes, fix memory leak
deslaughter Aug 11, 2022
c6b19d9
simulink: updates FAST_SFunc.c from FAST_Library.h
deslaughter Aug 11, 2022
b427ef7
openfast_library.py channel_names -> output_channel_names
deslaughter Aug 11, 2022
31cd646
FastLibAPI: channel_names -> output_channel_names
deslaughter Aug 11, 2022
8faa253
Merge remote-tracking branch 'OpenFAST/dev' into MDv2-farm
andrew-platt Aug 11, 2022
5ba94ce
FastLibAPI: change output_channel_names to vector.
deslaughter Aug 11, 2022
ddcb392
Merge remote-tracking branch 'OpenFAST/dev' into MDv2-farm
andrew-platt Aug 22, 2022
1c48661
Merge remote-tracking branch 'mhall/MDv2-farm' into MDv2-farm
andrew-platt Aug 22, 2022
32a5f34
Merge remote-tracking branch 'OpenFAST/dev' into MDv2-farm
andrew-platt Aug 24, 2022
51740e6
MDv2: update r-test cases
andrew-platt Aug 27, 2022
471c7a6
Merge remote-tracking branch 'OpenFAST/dev' into MDv2-farm
andrew-platt Aug 27, 2022
8f93c02
MDv2: true up FAST_Lin.f90 to match dev (bad merge may have occured a…
andrew-platt Aug 27, 2022
28d535c
MDv2: use small angle perturbation for angles in Perturb_u
andrew-platt Aug 27, 2022
c5c38fa
Merge remote-tracking branch 'OpenFAST/dev' into MDv2-farm
andrew-platt Sep 2, 2022
e1e6174
RegTest: remove a python test and a hd test that were equivalents to …
andrew-platt Sep 2, 2022
4fff8f2
testing: update test execution scripts to use rtl.copyTree
andrew-platt Sep 6, 2022
83b5f9a
Merge pull request #1211 from deslaughter/bug/pythonlib
andrew-platt Sep 6, 2022
6ce04ff
Merge remote-tracking branch 'origin/f/DisableRegTests' into MDv2-farm
andrew-platt Sep 6, 2022
8b776ce
FF: add warning if a turbine using shared moorings is using SD
andrew-platt Sep 6, 2022
de6e544
testing: cpp testing failing from last commit due to missing .yaml file
andrew-platt Sep 7, 2022
0f8237e
Merge pull request #1244 from andrew-platt/f/DisableRegTests
deslaughter Sep 7, 2022
1dc43e6
Merge remote-tracking branch 'OpenFAST/dev' into MDv2-farm
andrew-platt Sep 7, 2022
b5c4491
Lin: minor update to error handling in SetVTKDefaultBladeParams
andrew-platt Sep 7, 2022
1a1091f
Lin: close default vtk circle shape
andrew-platt Sep 7, 2022
59fa0db
Merge pull request #1199 from ebranlard/f/linviz
deslaughter Sep 8, 2022
23fb58f
Merge remote-tracking branch 'OpenFAST/dev' into f/hd-am-end
andrew-platt Sep 8, 2022
66582ca
HD: regression test update after added mass fix
andrew-platt Sep 8, 2022
0668079
Merge pull request #999 from ebranlard/f/hd-am-end
andrew-platt Sep 8, 2022
f067eb9
Merge remote-tracking branch 'OpenFAST/dev' into MDv2-farm
andrew-platt Sep 8, 2022
4791e9a
MDv2: update regression tests using MD
andrew-platt Sep 8, 2022
679d850
Merge pull request #28 from andrew-platt/MDv2-farm
mattEhall Sep 9, 2022
15e2480
MDv2: add MD documenation (linked to another readthedocs for now)
andrew-platt Sep 9, 2022
637b93f
MDv2: update api_change.rst
andrew-platt Sep 9, 2022
8ad56a7
Merge pull request #1086 from mattEhall/MDv2-farm
andrew-platt Sep 10, 2022
936f18e
Merge branch 'dev' into f/AD_TwrShadow
rafmudaf Sep 19, 2022
673b437
Update r-test baselines for AOC cases
rafmudaf Sep 19, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 43 additions & 2 deletions docs/source/user/api_change.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,57 @@ Thus, be sure to implement each in order so that subsequent line numbers are cor
OpenFAST v3.2.0 to OpenFAST `dev`
----------------------------------

============================================= ==== =============== ========================================================================================================================================================================================================
============================================= ==== ================= ======================================================================================================================================================================================================
Added in OpenFAST dev
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Module Line Flag Name Example Value
============================================= ==== ================= ======================================================================================================================================================================================================
AeroDyn driver 54\* WrVTK_Type 1 WrVTK_Type - VTK visualization data type: (switch) {1=surfaces; 2=lines; 3=both}
FAST.Farm 9 ModWaveField 2 Mod_WaveField Wave field handling (-) (switch) {1: use individual HydroDyn inputs without adjustment, 2: adjust wave phases based on turbine offsets from farm origin}
FAST.Farm 10 Mod_SharedMooring 0 Mod_SharedMooring Shared mooring system model (switch) {0: None, 3=MoorDyn}}
FAST.Farm 13 na ------ SHARED MOORING SYSTEM ------ [used only for Mod_SharedMoor>0]
FAST.Farm 14 SharedMoorFile "" SharedMoorFile Name of file containing shared mooring system input parameters (quoted string) [used only when Mod_SharedMooring > 0]
FAST.Farm 15 DT_Mooring 0.04 DT_Mooring Time step for farm-level mooring coupling with each turbine (s) [used only when Mod_SharedMooring > 0]
============================================= ==== ================= ======================================================================================================================================================================================================

\*Exact line number depends on number of entries in various preceeding tables.


============================================= ==== =============== ========================================================================================================================================================================================================
AeroDyn driver 54\* WrVTK_Type 1 WrVTK_Type - VTK visualization data type: (switch) {1=surfaces; 2=lines; 3=both}
Modified in OpenFAST dev
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Module Line Flag Name Example Value
============================================= ==== =============== ========================================================================================================================================================================================================
MoorDyn\& 5 na Name Diam MassDen EA BA/-zeta EI Cd Ca CdAx CaAx
MoorDyn\& 6 na (-) (m) (kg/m) (N) (N-s/-) (-) (-) (-) (-) (-)
MoorDyn\& 7 na main 0.0766 113.35 7.536E8 -1.0 0 2.0 0.8 0.4 0.25
MoorDyn\& 8\* na ---------------------- POINTS --------------------------------
MoorDyn\& 9\* na ID Attachment X Y Z M V CdA CA
MoorDyn\& 10\* na (-) (-) (m) (m) (m) (kg) (m^3) (m^2) (-)
MoorDyn\& 11\* na 1 Fixed 418.8 725.383 -200.0 0 0 0 0
MoorDyn\& 17\* na ---------------------- LINES --------------------------------------
MoorDyn\& 18\* na ID LineType AttachA AttachB UnstrLen NumSegs Outputs
MoorDyn\& 19\* na (-) (-) (-) (-) (m) (-) (-)
MoorDyn\& 20\* na 1 main 1 4 835.35 20 -
============================================= ==== =============== ========================================================================================================================================================================================================

\&MoorDyn has undergone an extensive revision that leaves few lines unchanged. We recommend looking at a sample input file for the 5MW_OC4Semi_WSt_WavesWN regression test for reference rather than line by line changes in the above tables.


============================================= ==== =============== ========================================================================================================================================================================================================
Removed in OpenFAST dev
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Module Line Flag Name Example Value
============================================= ==== =============== ========================================================================================================================================================================================================
MoorDyn\& 5 NTypes 1 NTypes - number of LineTypes
MoorDyn\& 10\* NConnects 6 NConnects - number of connections including anchors and fairleads
MoorDyn\& 20\* NLines 3 NLines - number of line objects
============================================= ==== =============== ========================================================================================================================================================================================================

\*Exact line number depends on number of entries in various preceeding tables.

\&MoorDyn has undergone an extensive revision that leaves few lines unchanged. We recommend looking at a sample input file for the 5MW_OC4Semi_WSt_WavesWN regression test for reference rather than line by line changes in the above tables.


OpenFAST v3.1.0 to OpenFAST v3.2.0
----------------------------------
Expand Down
30 changes: 30 additions & 0 deletions docs/source/user/fast.farm/InputFiles.rst
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ sections:

- Super Controller

- Shared Moorings

- Ambient Wind

- Wind Turbines
Expand Down Expand Up @@ -95,6 +97,15 @@ ambient wind data as defined by the FAST.Farm interface to the
**[Mod_AmbWind=3]**. The distinct Ambient Wind subsections below pertain
to each option.

**Mod_WaveField** [switch] indicates how the wave field should be treated. The
two options are: 1) use individual HydroDyn inputs at each turbine without
adjustment, 2) adjust wave phases based on turbine offsets from wind farm
origin.

**Mod_SharedMooring** [switch] indicates if a farm level mooring line system
interconnects turbines. There are presently two options: 0) No shared moorings,
3) MoorDyn.

Super Controller
~~~~~~~~~~~~~~~~

Expand All @@ -108,6 +119,25 @@ turbine controllers defined in the style of the DISCON dynamic library
of the DNV GL’s Bladed wind turbine software package, with minor
modification. See :numref:`FF:sec:SupCon` for more information.

Shared Moorings
~~~~~~~~~~~~~~~

Shared mooring lines running between platforms introduce a coupling between the
platforms that operates on the same time scales as a platform's interaction with
a regular mooring system (typically resolved at a time step of 10--30 ms in
OpenFAST simulations). See :numref:`MoorDyn` for more information.

**SharedMoorFile** [quoted string] sets the name and location of the MoorDyn
input file for the mooring lines in the wind farm. It is only used if
**Mod_SharedMooring** = 3. **The file name must be in quotations** and can
contain an absolute or a relative path. The mooring lines then connect to each
of the wind turbines in the farm. See `MoorDyn with FAST.Farm
<https://moordyn.readthedocs.io/en/latest/usage.html#moordyn-with-fast-farm>`_
documentation for details on the input file at the farm level.

**DT_Mooring** (sec) sets the timestep for the shared mooring connections with
MoorDyn.

.. _FF:Input:VTK:

Ambient Wind: Precursor in Visualization Toolkit Format
Expand Down
5 changes: 5 additions & 0 deletions docs/source/user/fast.farm/examples/FAST.Farm--input.dat
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,13 @@ FATAL AbortLevel Error level when simulation should abort (string) {"WAR
2000.0 TMax Total run time (s) [>=0.0]
False UseSC Use a super controller? (flag)
1 Mod_AmbWind Ambient wind model (-) (switch) {1: high-fidelity precursor in VTK format, 2: one InflowWind module, 3: multiple instances of InflowWind module}
2 Mod_WaveField Wave field handling (-) (switch) {1: use individual HydroDyn inputs without adjustment, 2: adjust wave phases based on turbine offsets from farm origin}
0 Mod_SharedMooring Shared mooring system model (switch) {0: None, 3=MoorDyn}}
--- SUPER CONTROLLER --- [used only for UseSC=True]
"SC_DLL.dll" SC_FileName Name/location of the dynamic library {.dll [Windows] or .so [Linux]} containing the Super Controller algorithms (quoted string)
--- SHARED MOORING SYSTEM --- [used only for Mod_SharedMoor>0]
"" SharedMoorFile Name of file containing shared mooring system input parameters (quoted string) [used only when Mod_SharedMooring > 0]
0.04 DT_Mooring Time step for farm-level mooring coupling with each turbine (s) [used only when Mod_SharedMooring > 0]
--- AMBIENT WIND: PRECURSOR IN VTK FORMAT --- [used only for Mod_AmbWind=1]
2.0 DT_Low-VTK Time step for low-resolution wind data input files; will be used as the global FAST.Farm time step (s) [>0.0]
0.5 DT_High-VTK Time step for high-resolution wind data input files (s) [>0.0] "/AmbWind/steady" WindFilePath Path name to wind data files from precursor (string)
Expand Down
1 change: 1 addition & 0 deletions docs/source/user/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ Documentation covers usage of models, underlying theory, and in some cases modul
ElastoDyn <elastodyn/index.rst>
HydroDyn <hydrodyn/index.rst>
InflowWind <inflowwind/index.rst>
MoorDyn <moordyn/index.rst>
ServoDyn <servodyn/index.rst>
Structural Control <servodyn-stc/StC_index.rst>
TurbSim <turbsim/index.rst>
Expand Down
12 changes: 12 additions & 0 deletions docs/source/user/moordyn/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
.. _MoorDyn:

MoorDyn Users Guide
====================

A standalone C++ version of MoorDyn is also available outside the OpenFAST
repository. The documentation for the C++ version covers the input file format
(`MoorDyn usage <https://moordyn.readthedocs.io/en/latest/usage.html>`_, specifically the section for V2)
usage of MoorDyn at the FAST.Farm level
(`MoorDyn with FAST.Farm <https://moordyn.readthedocs.io/en/latest/usage.html#moordyn-with-fast-farm>`_),
and links to publications with the relevant theory.

33 changes: 18 additions & 15 deletions glue-codes/fast-farm/src/FASTWrapper.f90
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ MODULE FASTWrapper

PUBLIC :: FWrap_t0 ! call to compute outputs at t0 [and initialize some more variables]
PUBLIC :: FWrap_Increment ! call to update states to n+1 and compute outputs at n+1
PUBLIC :: FWrap_SetInputs
PUBLIC :: FWrap_CalcOutput


CONTAINS
Expand Down Expand Up @@ -140,6 +142,7 @@ SUBROUTINE FWrap_Init( InitInp, u, p, x, xd, z, OtherState, y, m, Interval, Init
!.... multi-turbine options ....
ExternInitData%TurbineID = InitInp%TurbNum
ExternInitData%TurbinePos = InitInp%p_ref_Turbine
ExternInitData%WaveFieldMod = InitInp%WaveFieldMod

ExternInitData%FarmIntegration = .true.
ExternInitData%RootName = InitInp%RootName
Expand Down Expand Up @@ -286,11 +289,11 @@ end subroutine cleanup
END SUBROUTINE FWrap_Init
!----------------------------------------------------------------------------------------------------------------------------------
! this routine sets the parameters for the FAST Wrapper module. It does not set p%n_FAST_low because we need to initialize FAST first.
subroutine FWrap_SetParameters(InitInp, p, dt_FAST, InitInp_dt_low, ErrStat, ErrMsg)
subroutine FWrap_SetParameters(InitInp, p, dt_FAST, dt_caller, ErrStat, ErrMsg)
TYPE(FWrap_InitInputType), INTENT(IN ) :: InitInp !< Input data for initialization routine
TYPE(FWrap_ParameterType), INTENT(INOUT) :: p !< Parameters
REAL(DbKi), INTENT(IN ) :: dt_FAST !< time step for FAST
REAL(DbKi), INTENT(IN ) :: InitInp_dt_low !< time step for FAST.Farm
REAL(DbKi), INTENT(IN ) :: dt_caller !< time step that FWrap will be called at by FAST.Farm (if MooringMod>0, this will be smaller than DT_low)

INTEGER(IntKi), INTENT( OUT) :: ErrStat !< Error status of the operation
CHARACTER(*), INTENT( OUT) :: ErrMsg !< Error message if ErrStat /= ErrID_None
Expand All @@ -317,22 +320,22 @@ subroutine FWrap_SetParameters(InitInp, p, dt_FAST, InitInp_dt_low, ErrStat, Err


! p%n_FAST_low has to be set AFTER we initialize FAST, because we need to know what the FAST time step is going to be.
IF ( EqualRealNos( dt_FAST, InitInp_dt_low ) ) THEN
IF ( EqualRealNos( dt_FAST, dt_caller ) ) THEN
p%n_FAST_low = 1
ELSE
IF ( dt_FAST > InitInp_dt_low ) THEN
IF ( dt_FAST > dt_caller ) THEN
ErrStat = ErrID_Fatal
ErrMsg = "The FAST time step ("//TRIM(Num2LStr(dt_FAST))// &
" s) cannot be larger than FAST.Farm time step ("//TRIM(Num2LStr(InitInp_dt_low))//" s)."
" s) cannot be larger than FAST.Farm time step ("//TRIM(Num2LStr(dt_caller))//" s)."
ELSE
! calculate the number of subcycles:
p%n_FAST_low = NINT( InitInp_dt_low / dt_FAST )
p%n_FAST_low = NINT( dt_caller / dt_FAST )

! let's make sure the FAST DT is an exact integer divisor of the global (FAST.Farm) time step:
IF ( .NOT. EqualRealNos( InitInp_dt_low, dt_FAST * p%n_FAST_low ) ) THEN
IF ( .NOT. EqualRealNos( dt_caller, dt_FAST * p%n_FAST_low ) ) THEN
ErrStat = ErrID_Fatal
ErrMsg = "The FASTWrapper module time step ("//TRIM(Num2LStr(dt_FAST))// &
" s) must be an integer divisor of the FAST.Farm time step ("//TRIM(Num2LStr(InitInp_dt_low))//" s)."
" s) must be an integer divisor of the FAST.Farm or farm-level mooring time step ("//TRIM(Num2LStr(dt_caller))//" s)."
END IF

END IF
Expand Down Expand Up @@ -411,7 +414,7 @@ END SUBROUTINE FWrap_End
SUBROUTINE FWrap_Increment( t, n, u, p, x, xd, z, OtherState, y, m, ErrStat, ErrMsg )
!..................................................................................................................................

REAL(DbKi), INTENT(IN ) :: t !< Current simulation time in seconds
REAL(DbKi), INTENT(IN ) :: t !< Current simulation time in seconds (no longer used, since inputs are set elsewhere)
INTEGER(IntKi), INTENT(IN ) :: n !< Current step of the simulation: t = n*Interval
TYPE(FWrap_InputType), INTENT(INOUT) :: u !< Inputs at t (not changed, but possibly copied)
TYPE(FWrap_ParameterType), INTENT(IN ) :: p !< Parameters
Expand Down Expand Up @@ -451,20 +454,20 @@ SUBROUTINE FWrap_Increment( t, n, u, p, x, xd, z, OtherState, y, m, ErrStat, Err
!ELSE
!
! set the inputs needed for FAST
call FWrap_SetInputs(u, m, t)
!call FWrap_SetInputs(u, m, t) <<< moved up into FAST.Farm FARM_UpdateStates

! call FAST p%n_FAST_low times:
do n_ss = 1, p%n_FAST_low
n_FAST = n*p%n_FAST_low + n_ss - 1
! call FAST p%n_FAST_low times (p%n_FAST_low is simply the number of steps to make per wrapper call. It is affected by MooringMod)
do n_ss = 1, p%n_FAST_low
n_FAST = n*p%n_FAST_low + n_ss - 1

CALL FAST_Solution_T( t_initial, n_FAST, m%Turbine, ErrStat2, ErrMsg2 )
call setErrStat(ErrStat2,ErrMsg2,ErrStat,ErrMsg,RoutineName)
if (ErrStat >= AbortErrLev) return

end do ! n_ss

call FWrap_CalcOutput(p, u, y, m, ErrStat2, ErrMsg2)
call setErrStat(ErrStat2,ErrMsg2,ErrStat,ErrMsg,RoutineName)
!call FWrap_CalcOutput(p, u, y, m, ErrStat2, ErrMsg2) <<< moved up into FAST.Farm FARM_UpdateStates
! call setErrStat(ErrStat2,ErrMsg2,ErrStat,ErrMsg,RoutineName)

!END IF

Expand Down
2 changes: 2 additions & 0 deletions glue-codes/fast-farm/src/FASTWrapper_Registry.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ typedef ^ InitInputType CHARACTER(1024) FASTInFile
typedef ^ InitInputType ReKi dr - - - "Radial increment of radial finite-difference grid" m
typedef ^ InitInputType DbKi tmax - - - "Simulation length" s
typedef ^ InitInputType ReKi p_ref_Turbine {3} - - "Undisplaced global coordinates of this turbine" m
typedef ^ InitInputType IntKi WaveFieldMod - - - "Wave field handling (-) (switch) 0: use individual HydroDyn inputs without adjustment, 1: adjust wave phases based on turbine offsets from farm origin" -
typedef ^ InitInputType IntKi n_high_low - - - "Number of high-resolution time steps per low-resolution time step" -
typedef ^ InitInputType DbKi dt_high - - - "High-resolution time step" s
typedef ^ InitInputType ReKi p_ref_high {3} - - "Position of the origin of the high-resolution spatial domain for this turbine" m
Expand All @@ -43,6 +44,7 @@ typedef ^ InitInputType SiKi fromSC
# Define outputs from the initialization routine here:
#typedef ^ InitOutputType CHARACTER(ChanLen) WriteOutputHdr {:} - - "Names of the output-to-file channels" -
#typedef ^ InitOutputType CHARACTER(ChanLen) WriteOutputUnt {:} - - "Units of the output-to-file channels" -
typedef ^ InitOutputType DbKi PtfmInit {6} - - "Initial platform position/rotation vector - surge,sway,heave,roll,pitch,yaw - needed for mooring module initInp" -
typedef ^ InitOutputType ProgDesc Ver - - - "This module's name, version, and date" -


Expand Down
Loading