openfast icon indicating copy to clipboard operation
openfast copied to clipboard

Support for large platform yaw offset in OpenFAST

Open luwang00 opened this issue 9 months ago • 3 comments

This PR is NOT ready to merge. It is created to monitor merge conflicts.

Feature or improvement description

  • The PR adds support for large platform yaw offset (static or dynamic) in OpenFAST.
  • Initial modifications to ElastoDyn, HydroDyn, SubDyn, and MoorDyn are done.
  • This PR also updates the general checking and handling of wave headings in the WAMIT and WAMIT2 modules for robustness. It should address some known issues when the range of wave headings crosses the +/-180-deg cut.

Impacted areas of the software Glue code, ElastoDyn, HydroDyn, SubDyn, MoorDyn, MAP++

Test results, if applicable

  • Existing r-tests need to be updated with the new inputs.
  • With ElastoDyn switching to fully nonlinear platform rotation instead of small rotation approximation, the results of existing r-tests also changed and need to be updated.
  • Several new r-tests with large yaw offset will be added.

luwang00 avatar May 10 '24 17:05 luwang00

Note: this is a reopening of #2090 after it was cancelled when the dev-unstable-pointers branch was deleted.

andrew-platt avatar May 10 '24 20:05 andrew-platt

TODO:

  • [ ] check for small angle assumption in MoorDyn_Driver initialization for rotated initial condition.

andrew-platt avatar Jun 18 '24 17:06 andrew-platt

Some of the c-bindings libraries have small angle assumptions.

  • [ ] HydroDyn_C_bindings
  • [ ] MoorDyn_C_bindings

andrew-platt avatar Jun 20 '24 20:06 andrew-platt

@andrew-platt I updated the MoorDyn and HydroDyn c-binding by replacing the calls to SmllRotTrans with EulerConstructZYX. I hope this is all we needed to do. It is the user's responsibility to make sure the data passed to HydroDyn and MoorDyn follow the adopted rotation convention and that the angular velocity and acceleration are computed correctly for large rotation. (Note that I have moved the yaw filter from ElastoDyn back into HydroDyn as discussed, so HydroDyn no longer requires any new inputs from the coupling code.)

luwang00 avatar Jul 24 '24 16:07 luwang00