MoorDyn wave directional spreading and custom current profile if no SeaState current #2794
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Feature or improvement description
Enables wave spreading in MoorDyn in conjunction with the recently merged SeaState coupling. Wave directional spreading was previously only available when running MoorDy fully coupled with SeaState (waterkin = 3). Now wave directional spreading is enabled with the hybrid coupling (waterkin = 2), where input parameters are controlled by the SeaState input file but the grid size and discretization is controlled by MoorDyn. There's no input file changes, this just enables more SeaState features to be compatible with MoorDyn in the hybrid coupling.
This PR also enables a user defined current profile (CurrentMod 1) while using the hybrid coupling method if the SeaState currents are disabled. This allows users to calculate wave kinematics using SeaState but still provide their own current profile (which typically is based on buoy data).
Related issue, if one exists
#2748
Impacted areas of the software
MoorDyn
Additional supporting information
Final task from #2705
Test results, if applicable
To test wave directional spreading I ran MoorDyn fully coupled with SeaState with wave spreading enabled. I also ran MoorDyn with the hybrid SeaState coupling with SeaState wave spreading using an identical grid size as the SeaState grid in MoorDyn. For both of these, I checked submergence of a fixed surface piercing rod located at 5,5. Submergence matched exactly, which means the wave elevations pulled from the wave-field pointer match the wave elevations calculated by MoorDyn using the wave-field pointer frequency and direction information. Figure below shows the submergence results: