-
Notifications
You must be signed in to change notification settings - Fork 455
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
Support for large platform yaw offset in OpenFAST #2203
Conversation
* Modified the HD Driver code to include large yaw offset. * Modified HydroDyn to pass relevant new inputs and parameters to submodules * Modified the Morison module to account for large yaw offset.
* Moved the helper subroutines to a separate YawOffset module to avoid code duplication. * Fixed single-precision compile.
Added wrapper functions for GetSmllRotAngs in the YawOffset module to accommodate large yaw offset.
Updated the linear wave excitation from the WAMIT module to work with dynamic large platform yaw offset.
Minimize code duplication.
Update the potential-flow wave-radiation and hydrostatic loads to account for the large platform yaw offset.
…ns with only one grid point This is convenient by allowing the various possible combinations of HD potential-flow wave-excitation settings to share the same array dimensions and interpolation functions.
Streamline linear wave excitation interpolation in WAMIT.f90.
Don't update PtfmRefY if PtfmYMod != 1.
Various fixes
* Added some basic checking for the new driver inputs associated with yaw offset. * Added the YawJoint subroutine under Morison_CalcOutput to clean up the code.
Included some additional checks for input validity.
Added static yaw rotation of the Morison mesh nodes based on PtfmRefY when PtfmYMod=0 and WaveDisp=0.
Updated the second-order wave loads to support large platform yaw offset.
Added some missing deallocation command in WAMIT2.
Added rotation of the full difference-frequency and sum-frequency QTF loads based on static PtfmRefY.
* Update the checking of wave heading ranges in WAMIT2 (this part needs more work). * Bug fix for the rotation matrix of second-order wave loads.
…heading check into a dedicated subroutine to minimize code duplication
…od=1 (dynamic) in WAMIT2.
… approximation * HydroDyn now assumes the three rotation angles are the Tait-Bryan roll, pitch, and yaw angles following the intrinsic yaw-pitch-roll convenction. * The angular velocity and acceleration passed to HydroDyn should be the true angular velocity and acceleration vectors in the inertial frame, not the time derivatives of the Tait-Bryan angles.
@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.) |
VS: add missing source file for HD
Previously, p%FG contains both precomputed self-weight and cable pretension. For clarity, cable pretension is removed from p%FG and only saved in p%FC.
…ruct A similar problem in HD_c was fixed in Commit 97d5cc6 by andrew-platt
Feature or improvement description
Impacted areas of the software
Main impacted modules: ElastoDyn, HydroDyn, SubDyn
Minor updates for linearization: AeroDyn, MoorDyn, ServoDyn
Related Issue
For floating, the Guyan (rigid-body) modes of SubDyn models are made nonlinear and exact, consistent with ElastoDyn-only models. This change should address the discrepancies observed in Issue #2021.
Test results, if applicable
GuyanLoadCorrection
is removed, and all r-test results for SubDyn need to be regenerated withGuyanLoadCorrection
set to true.See PR #133 to r-test.
Representative changes to r-test results are shown below:
5MW_OC3Mnpl_Linear
The eigenfrequencies from this test case show slight changes due to the changes made to the platform roll, pitch, and yaw DoF in ElastoDyn.
5MW_OC3Spar_DLL_WTurb_WavesIrr
Note that the roll motion and, by extension, sway motion changed because ED now solves the nonlinear rotation in the order of intrinsic yaw->pitch->roll. While yaw is fairly small in this case, the moderate pitch displacement affects the roll response of the spar.
5MW_OC4Semi_WSt_WavesWN