Skip to content
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

AD15: use current wind instead of extrapolated wind #2181

Merged

Conversation

andrew-platt
Copy link
Collaborator

@andrew-platt andrew-platt commented Apr 30, 2024

This is ready for merging.

Feature or improvement description
When InflowWind was converted to use pointers, significant changes were required to AeroDyn to support this with linearization (InflowWind outputs are no longer inputs to AeroDyn). This is the third of 3 PR's to address this.

In this PR, the wind used in AeroDyn uses the wind interpolated from the wind data using the extrapolated position information (from AD15 inputs). Previously the wind was extrapolated from the previous wind inputs (extrapolated like the position information). This is a very subtle change, but affects almost all AD15 cases with turbulent winds.

old method:

  • Glue code extrapolates all inputs, including position and wind
  • AD15 calculations use extrapolated wind

new method:

  • Glue code extrapolates position inputs
  • AD15 uses extrapolated positions to calculate current wind

Related issue, if one exists

Impacted areas of the software

Only the AeroDyn module is affected.

Test results, if applicable

Several AeroDyn15 regression tests have changed as a result of using the current wind data instead of extrapolated winds. The observed changes in the regression tests were very small for all cases except the OpenFAST MHK cases. In general very small changes in wind velocity along the blade are observed as the sampling of the wind is now based on the extrapolated blade position (from the last 2 or 3 timesteps) instead of an extrapolation of the wind. This leads to very small differences in wind speed at each blade or tower node, which in turn leads to very small changes blade loads (see sample plots in comments below).

In the MHK cases, the structural response changes due to the change in loading along the blade or tower, but is very close to the original in the first few timesteps. This is expected giving the fluid density in the MHK calculations compared to wind loading for wind turbines.

The following tests require updating:

  • OpenFAST:

    • AWT_YFree_WSt - sheared wind profile
    • AOC_YFree_WTurb - turbulent wind
    • AOC_YFix_WSt - sheared wind profile
    • WP_VSP_ECD - gust with direction change, small change in tip flap accelerations
    • WP_VSP_WTurb - turbulent wind, IPDefl1 slightly shifted
    • SWRT_YFree_VS_EDG01 - gust, very tiny shift in rotor azimuth leading to shift in TipClrnc
    • 5MW_Land_DLL_WTurb/5MW_Land_DLL_WTurb_py - turbulent wind
    • 5MW_OC3Mnpl_DLL_WTurb_WavesIrr/5MW_OC3Mnpl_DLL_WTurb_WavesIrr_Restart - turbulent wind
    • 5MW_TLP_DLL_WTurb_WavesIrr_WavesMulti/5MW_TLP_DLL_WTurb_WavesIrr_WavesMulti_py - turbulent wind
    • 5MW_OC3Spar_DLL_WTurb_WavesIrr/5MW_OC3Spar_DLL_WTurb_WavesIrr_py - turbulent wind
    • 5MW_Land_BD_DLL_WTurb/5MW_Land_BD_DLL_WTurb_py/5MW_Land_BD_DLL_WTurb_cpp - turbulent wind, small rotor azimuth drift
  • Linearization:

    • Fake5MW_AeroLin_B1_UA4_DBEMT3 - very small changes in operating points, identical frequency/damping
    • Fake5MW_AeroLin_B3_UA6 - very small changes in operating points, identical frequency/damping
  • AeroDyn:

    • ad_BAR_CombinedCases - small change in Vindx along the blade leading to small changes in AxInd and load changes
    • ad_BAR_SineMotion - small wind velocity changes, different loads
    • ad_BAR_SineMotion_UA4_DBEMT3 - small RtAeroFzh shift from small shift in HWindSpeedX
  • MHK:

    • MHK_RM1_Fixed - small changes in tower/blade fluid induced moments at simulation start leading to changes in motion
    • MHK_RM1_Floating - small changes in tower/blade fluid induced moments at simulation start leading to changes in motion
    • ad_MHK_RM1_Fixed - minor differences in calculated B2FldMx
    • ad_MHK_RM1_Floating - shifted HWindSpeedX by 1 timestep ???

@andrew-platt andrew-platt added this to the v4.0.0 milestone Apr 30, 2024
@andrew-platt andrew-platt self-assigned this Apr 30, 2024
@andrew-platt andrew-platt changed the title F/ad15 if w no extrap AD15: use current wind instead of extrapolated wind Apr 30, 2024
@andrew-platt
Copy link
Collaborator Author

Since this PR builds on #2014, it is not clear exactly what the difference is. I posted a temporary PR at andrew-platt#22 which corresponds to this PR after #2014 is merged in.

Simplification based on comment from @bjonkman
@andrew-platt
Copy link
Collaborator Author

WP_VSP_ECD
Screenshot 2024-05-02 at 3 41 59 PM
Changes in blade node acceleration due to small changes in sampled wind speed.

Screenshot 2024-05-02 at 3 46 11 PM
Overall agreement with prior results is good.

ad_BAR_CombinedCases
Screenshot 2024-05-02 at 3 52 24 PM
This is an artificial case with a rigid blade moving back and forth through still air while rotating. The axial induction along the blade is slightly different.

Screenshot 2024-05-02 at 3 53 18 PM
Overall rotor power still agrees very well with prior results.

ad_BAR_SineMotion
Screenshot 2024-05-02 at 3 56 01 PM
Slight changes in loading along blade.

@andrew-platt
Copy link
Collaborator Author

andrew-platt commented May 3, 2024

The MHK regression tests changed more than the wind test cases. This is mostly due to larger loading leading to larger motions. The start of the time series results do match well.

MHK_RM1_Fixed
Screenshot 2024-05-02 at 5 51 51 PM
Tower moment.

Screenshot 2024-05-02 at 6 06 29 PM
Total rotor torque moment (includes buoyancy).

MHK_RM1_Floating
Screenshot 2024-05-02 at 6 09 30 PM
Platform roll.

Screenshot 2024-05-02 at 6 10 30 PM
Total rotor torque moment (includes buoyancy).

@andrew-platt andrew-platt merged commit cf04dfc into OpenFAST:dev-unstable-pointers May 9, 2024
21 checks passed
@andrew-platt andrew-platt deleted the f/AD15_IfW_noExtrap branch June 6, 2024 16:57
@andrew-platt andrew-platt mentioned this pull request Dec 24, 2024
38 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants