Skip to content

Improved wave-current modeling in SeaState#2978

Merged
andrew-platt merged 17 commits intoOpenFAST:dev-tcfrom
luwang00:f/WvCrnt
Sep 3, 2025
Merged

Improved wave-current modeling in SeaState#2978
andrew-platt merged 17 commits intoOpenFAST:dev-tcfrom
luwang00:f/WvCrnt

Conversation

@luwang00
Copy link
Contributor

@luwang00 luwang00 commented Aug 28, 2025

Feature or improvement description
This PR adds improved modeling of combined wave and current conditions in SeaState. A new input WvCrntMod is added to the SeaState primary input file.

WvCrntMod value Effects
0 Simple superposition where the current velocity and acceleration are added to those of the waves. The current has no direct impact on the waves. This option reproduces the behavior of previous OpenFAST versions.
1 Include Doppler effect on the waves by solving the wave dispersion relation corrected for current. The input wave spectrum/time series are assumed to be those directly measured in a region with the current and are not modified by SeaState. Wavelengths are corrected for Doppler effect.
2 Full interaction between waves and current with both Doppler effect and wave amplitude/spectrum scaling for wave-current interactions. The input wave spectrum/time series are assumed to be those measured in a region without current and rescaled based on current velocity/direction.

Options 1 and 2 impose additional restrictions on the waves and current.

WvCrntMod value Restrictions
0 No additional restrictions
1 First-order long-crested waves without directional spreading
2 First-order long-crested waves without directional spreading; colinear (aligned or opposing) waves and current only; the wave amplitude/spectrum scaling implemented assumes deep-water conditions, although this is not checked

Note that strictly speaking, Options 1 and 2 are only valid for a uniform current; however, sheared current is allowed, and it is up to the user to ensure that the current profile near the surface down to a depth relevant to the waves is reasonably uniform. SeaState simply takes the current velocity at the still water level when computing the effects of the current on the waves.

The improved wave-current modeling can be used with either SeaState current or dynamic current from InflowWind when simulating marine hydrokinetic turbines. For the latter, wave-current interaction is based on the time-averaged current velocity at the still water level. For applicable WindType in InflowWind, users should ensure that the flow-field grid from InflowWind reaches the still water level.

WvCrntMod has no effect when WaveMod = 0 or 6, or when there is no current, either from SeaState (CurrMod = 0) or InflowWind.

Impacted areas of the software
SeaState, glue-codes, r-test, docs

Test results, if applicable
Updated all r-test SeaState input files with the new WvCrntMod input. No change to existing r-test results. Added two new r-tests for the SeaState module with WvCrntMod = 1 and 2.

To-Dos

  • Update the user input documentation for SeaState
  • Add new r-test

@luwang00 luwang00 added Type: Enhancement Module: SeaState SeaState module for wave data generation labels Aug 28, 2025
@luwang00 luwang00 marked this pull request as ready for review August 29, 2025 21:01
Copy link
Collaborator

@jjonkman jjonkman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I only reviewed the documentation change and that looks good to me. I suggest uploading the Word-based implementation plan/theory document (which I previously reviewed) with this code change, unless you plan to publish that elsewhere.

@andrew-platt andrew-platt added this to the v5.0.0 milestone Sep 2, 2025
@andrew-platt
Copy link
Collaborator

andrew-platt commented Sep 2, 2025

  • Merge @luwang00's r-test branch with this PR (f/WvCrnt)

@andrew-platt
Copy link
Collaborator

andrew-platt commented Sep 2, 2025

  • add Word based implementation plan to docs/OtherSupporting/SeaState/

@luwang00
Copy link
Contributor Author

luwang00 commented Sep 2, 2025

@andrew-platt Implementation plan added to docs/OtherSupporting/SeaState/

@andrew-platt andrew-platt merged commit f09d82e into OpenFAST:dev-tc Sep 3, 2025
23 of 24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Module: SeaState SeaState module for wave data generation Type: Enhancement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants