Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
0894491
HydroDyn Morison: replace GetOrientationAngles trig with guarded unit…
luwang00 Oct 5, 2026
833e557
HydroDyn Morison: consolidate end-plate buoyancy into AddEndBuoyancy …
luwang00 Oct 5, 2026
0432466
Streamline error handling in Morison_CalcOutput
luwang00 Oct 5, 2026
6243d29
Convert MSecGeom if/else-if branches to SELECT CASE in Morison_CalcOu…
luwang00 Oct 5, 2026
2c0c8be
Precompute and reuse member reference DCM (CMatrix) in Morison
luwang00 Oct 6, 2026
b850605
Remove unused subroutines from Morison
luwang00 Oct 6, 2026
cd46fcf
Use unit-vector formulation for member inclination in Morison
luwang00 Oct 6, 2026
7b5f0f5
Rotate Morison members and joints by WaveDisp mode
luwang00 Oct 6, 2026
00946b2
HydroDyn: drift Morison members with PRP x,y when WaveDisp=0
luwang00 Oct 6, 2026
8b0a9b0
Docs: clarify HydroDyn WaveDisp semantics for strip-theory displacement
luwang00 Oct 6, 2026
692c364
HydroDyn: always include vertical displacement for WaveDisp=1 strip t…
luwang00 Oct 7, 2026
41063cf
HydroDyn: remove AMMod option; treat added mass like other distribute…
luwang00 Oct 7, 2026
97bdaca
Fix WaveStMod=0/WaveDisp=1 free-surface crossing in Morison load smoo…
luwang00 Oct 7, 2026
99cdf42
Update r-test pointer
luwang00 Oct 8, 2026
98abd56
HydroDyn Morison: defer mesh accumulation of hydrodynamic side loads
luwang00 Oct 10, 2026
f69958d
HydroDyn Morison: add water entry/exit load arrays and blending scratch
luwang00 Oct 10, 2026
a37324f
HydroDyn Morison: add horizontal-member numerical helpers
luwang00 Oct 10, 2026
6bedec0
HydroDyn Morison: shallow-angle strip-theory side loads for circular …
luwang00 Oct 10, 2026
00c5801
HD: joint loads scaled by wetted end-plate fraction
luwang00 Oct 10, 2026
e1fbe6f
HD: scale joint drag linearly with the wetted fraction
luwang00 Oct 12, 2026
73729f4
Validate ExctnDisp and ExctnCutOff inputs
luwang00 Oct 14, 2026
9cb7265
Updates and corrections to HydroDyn user docs and registry variable d…
luwang00 Oct 14, 2026
b921e9d
HD: suppress large-yaw warning when PtfmRefY is unused
luwang00 Oct 14, 2026
6ce0cbd
Merge branch 'Morison_Refactor' into f/HD_HMember
luwang00 Oct 14, 2026
01597dd
HD: switch for zero-frequency sway added mass of shallow-angle members
luwang00 Oct 16, 2026
9efe11b
HD: clarify ExctnDisp/PtfmYMod use by strip theory in docs and input …
luwang00 Oct 19, 2026
6b29f00
Update r-test pointer
luwang00 Oct 19, 2026
6cbab74
Merge branch 'Morison_Refactor' into f/HD_HMember
luwang00 Oct 19, 2026
b29211b
docs: added the implementation plan for HydroDyn near-surface horizon…
luwang00 Oct 22, 2026
023d4d4
Docs: describe HydroDyn shallow-angle strip-theory member model
luwang00 Oct 22, 2026
81741f6
HD: Add new Morison output channels for member and joint water-entry/…
luwang00 Oct 22, 2026
3addc88
Add a new r-test covering the horizontal surface strip-theory member …
luwang00 Oct 22, 2026
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
Binary file not shown.
Binary file modified docs/OtherSupporting/OutListParameters.xlsx
Binary file not shown.
36 changes: 36 additions & 0 deletions docs/source/user/api_change.rst
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,42 @@ AeroDyn \* (-)
OLAF 26 RegFunctionPart 2 RegFunctionPart - Particle regularization function {0: None, 1: Exponential, 2: Compact, "default": 1} [only if VelocityMethod=2,3] (switch)
============================================= ======== ==================== ==========================================================================================================================================================================================================================================================================================================

The meaning of the HydroDyn ``WaveDisp`` input has changed, although its valid values (0 and 1) are unchanged.
``WaveDisp`` now controls both where the wave kinematics and dynamic pressure are evaluated and the orientation
of the strip-theory (Morison) members and joints. With ``WaveDisp=0``, the strip-theory members are placed at a
reference configuration consistent with the potential-flow model—the reference yaw (from ``PtfmYMod``,
``PtfmRefY``, and ``PtfmYCutOff``) plus a horizontal x-y drift of the platform reference point governed by
``ExctnDisp`` and ``ExctnCutOff``—rather than being held at the undisplaced position rotated by a constant
``PtfmRefY``. These five inputs are honored by strip-theory members when ``WaveDisp=0`` even if no potential-flow
model is present (``PotMod=0``). The previous ``WaveDisp=0`` behavior is recovered by setting ``PtfmYMod=0`` and
``ExctnDisp=0``. With ``WaveDisp=1``, the exact instantaneous displaced position and orientation are used, including
the vertical displacement, which was previously ignored unless ``WaveStMod>0``.

============================================= ======== ==================== ==========================================================================================================================================================================================================================================================================================================
Modified in OpenFAST `5.1.0`
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Module Line Flag Name Example Value
============================================= ======== ==================== ==========================================================================================================================================================================================================================================================================================================
HydroDyn 7 ExctnDisp 0 ExctnDisp - Method of computing Wave Excitation {0: use undisplaced position, 1: use displaced position, 2: use low-pass filtered displaced position} [used by potential flow when PotMod=1, ExctnMod>0, and SeaState's WaveMod>0; also used by strip theory when WaveDisp=0] (switch)
HydroDyn 8 ExctnCutOff 0.01 ExctnCutOff - Cutoff (corner) frequency of the low-pass time-filtered displaced position (Hz) [>0.0; only used when ExctnDisp=2]
HydroDyn \* WaveDisp 0 WaveDisp - Method of displacing strip-theory members and joints {0: use potential-flow consistent displacement, 1: use exact instantaneous displacement} (switch)
============================================= ======== ==================== ==========================================================================================================================================================================================================================================================================================================

In previous versions of OpenFAST, HydroDyn's input file included the ``AMMod`` option to control the method of computing
distributed strip-theory added-mass force. Setting ``AMMod`` to 0 forces HydroDyn to always compute the added-mass
force up to the still water level (SWL). This switch was added because of numerical stability issues encountered when
evaluating the added-mass force up to the instantaneous free surface with some hydroelastic models. With the improved
solver stability of OpenFAST `5.1.0`, the ``AMMod`` option was deemed no longer necessary based on user feedback and was
removed.

============================================= ======== ==================== ==========================================================================================================================================================================================================================================================================================================
Removed in OpenFAST `5.1.0`
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Module Line Flag Name Example Value
============================================= ======== ==================== ==========================================================================================================================================================================================================================================================================================================
HydroDyn \* AMMod 0 AMMod - Method of computing distributed strip-theory added-mass force {0: evaluate up to SWL, 1: evaluate up to instantaneous free surface if WaveStMod > 0} (switch)
============================================= ======== ==================== ==========================================================================================================================================================================================================================================================================================================

OpenFAST v4.2.x to OpenFAST v5.0.0
-----------------------------------

Expand Down
11 changes: 6 additions & 5 deletions docs/source/user/hydrodyn/appendix.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ structure::
------- HydroDyn Input File ----------------------------------------------------
historic NREL 5.0 MW offshore baseline floating platform HydroDyn input properties for the OC4 Semi-submersible.
False Echo - Echo the input file data (flag)
---------------------- FLOATING PLATFORM --------------------------------------- [unused with WaveMod=6]
---------------------- FLOATING PLATFORM --------------------------------------- [only ExctnDisp, ExctnCutOff, PtfmYMod, PtfmRefY, and PtfmYCutOff used with WaveMod=6]
1 PotMod - Potential-flow model {0: none=no potential flow, 1: frequency-to-time-domain transforms based on WAMIT output, 2: fluid-impulse theory (FIT)} (switch)
1 ExctnMod - Wave-excitation model {0: no wave-excitation calculation, 1: DFT, 2: state-space} (switch) [only used when PotMod=1; STATE-SPACE REQUIRES *.ssexctn INPUT FILE; if PtfmYMod=1, need ExctnMod=0 or 1]
0 ExctnDisp - Method of computing Wave Excitation {0: use undisplaced position, 1: use displaced position, 2: use low-pass filtered displaced position) [only used when PotMod=1 and ExctnMod>0 and SeaState's WaveMod>0]} (switch)
10 ExctnCutOff - Cutoff (corner) frequency of the low-pass time-filtered displaced position (Hz) [>0.0] [used only when PotMod=1, ExctnMod>0, and ExctnDisp=2]) [only used when PotMod=1 and ExctnMod>0 and SeaState's WaveMod>0]} (switch)
0 ExctnDisp - Method of computing Wave Excitation {0: use undisplaced position, 1: use displaced position, 2: use low-pass filtered displaced position} [used by potential flow when PotMod=1, ExctnMod>0, and SeaState's WaveMod>0; also used by strip theory when WaveDisp=0] (switch)
10 ExctnCutOff - Cutoff (corner) frequency of the low-pass time-filtered displaced position (Hz) [>0.0; only used when ExctnDisp=2]
0 PtfmYMod - Model for large platform yaw offset {0: Static reference yaw offset based on PtfmRefY, 1: dynamic reference yaw offset based on low-pass filtering the PRP yaw motion with cutoff frequency PtfmYCutOff} (switch)
0 PtfmRefY - Constant (if PtfmYMod=0) or initial (if PtfmYMod=1) platform reference yaw offset (deg)
0.01 PtfmYCutOff - Cutoff frequency for the low-pass filtering of PRP yaw motion when PtfmYMod=1 [>0.0; unused when PtfmYMod=0] (Hz)
Expand Down Expand Up @@ -67,8 +67,7 @@ structure::
0 0 0 0 0 0
0 0 0 0 0 0
---------------------- STRIP THEORY OPTIONS --------------------------------------
0 WaveDisp - Method of computing Wave Kinematics {0: use undisplaced position, 1: use displaced position} (switch)
0 AMMod - Method of computing distributed added-mass force. {0: Only and always on nodes below SWL at the undisplaced position. 1: Up to the instantaneous free surface} (switch) [overwrite to 0 when WaveStMod = 0 in SeaState]
0 WaveDisp - Method of displacing strip-theory members and joints {0: use potential-flow consistent displacement, 1: use exact instantaneous displacement} (switch)
0 HstMod - Method of computing hydrostatic loads. {0: Up to the still water level. 1: Up to the instantaneous free surface} (switch) [overwrite to 0 when WaveStMod = 0 in SeaState]
---------------------- AXIAL COEFFICIENTS --------------------------------------
2 NAxCoef - Number of axial coefficients (-)
Expand Down Expand Up @@ -339,6 +338,7 @@ MαNβFBxi, MαNβFByi, MαNβFBzi, MαNβMBxi, MαNβMByi, MαNβMBzi (N/
MαNβFBFxi, MαNβFBFyi, MαNβFBFzi, MαNβMBFxi, MαNβMBFyi, MαNβMBFzi (N/m), (N/m), (N/m), (N·m/m), (N·m/m), (N·m/m) Negative buoyancy loads due to flooding/ballasting at MαNβ
MαNβFMGxi, MαNβFMGyi, MαNβFMGzi, MαNβMMGxi, MαNβMMGyi, MαNβMMGzi (N/m), (N/m), (N/m), (N·m/m), (N·m/m), (N·m/m) Loads due to marine growth weight at MαNβ
MαNβFAMxi, MαNβFAMyi, MαNβFAMzi (N/m), (N/m), (N/m) Hydrodynamic added-mass forces at MαNβ
MαNβFWExi, MαNβFWEyi, MαNβFWEzi (N/m), (N/m), (N/m) Hydrodynamic water-entry/exit forces at MαNβ
MαNβFAGxi, MαNβFAGyi, MαNβFAGzi, MαNβMAGxi, MαNβMAGyi, MαNβMAGzi (N/m), (N/m), (N/m), (N·m/m), (N·m/m), (N·m/m) Marine growth mass inertia loads at MαNβ
MαNβFAFxi, MαNβFAFyi, MαNβFAFzi, MαNβMAFxi, MαNβMAFyi, MαNβMAFzi (N/m), (N/m), (N/m), (N·m/m), (N·m/m), (N·m/m) Flooding/ballasting mass inertia loads at MαNβ
**Lumped Loads at Joints**
Expand All @@ -348,5 +348,6 @@ JαFBxi, JαFByi, JαFBzi, JαMBxi, JαMByi, JαMBzi (N), (N),
JαFBFxi, JαFBFyi, JαFBFzi, JαMBFxi, JαMBFyi, JαMBFzi (N), (N), (N), (N·m), (N·m), (N·m) Negative buoyancy loads due to flooding/ballasting at Jα
JαFMGxi, JαFMGyi, JαFMGzi (N), (N), (N) Forces due to marine growth weight at Jα
JαFAMxi, JαFAMyi, JαFAMzi (N), (N), (N) Hydrodynamic added-mass forces at Jα
JαFWExi, JαFWEyi, JαFWEzi (N), (N), (N) Hydrodynamic water-entry/exit forces at Jα
JαFAGxi, JαFAGyi, JαFAGzi, JαMAGxi, JαMAGyi, JαMAGzi (N), (N), (N), (N·m), (N·m), (N·m) Marine growth mass inertia loads at Jα
================================================================ ========================================================================================================== ========================================================================================
1 change: 1 addition & 0 deletions docs/source/user/hydrodyn/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ of HydroDyn.
- :download:`Implementation Plan - 2nd-order Forces Within HydroDyn <../../../OtherSupporting/HydroDyn/HydroDyn_2ndOrderForces_Plan.pdf>`
- :download:`Implementation Plan - 2nd-order Wave Kinematics Within HydroDyn <../../../OtherSupporting/HydroDyn/WAVE2_document.pdf>`
- :download:`Plan for Adding Wave Stretching to HydroDyn <../../../OtherSupporting/HydroDyn/HydroDyn_WaveStretching_Plan.docx>`
- :download:`Implementation Plan - Hydrodynamic Loads on Strip-Theory Members at a Shallow Angle Relative to the Free Surface <../../../OtherSupporting/HydroDyn/HydroDyn_HorizontalMembers_Plan_Rev3.pdf>`


HydroDyn allows for multiple approaches for calculating the hydrodynamic
Expand Down
Loading
Loading