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

Reduced order models: AeroDisk and Simplified-ElastoDyn (SED) #1295

Merged
merged 163 commits into from
Aug 26, 2024

Conversation

andrew-platt
Copy link
Collaborator

@andrew-platt andrew-platt commented Oct 21, 2022

This PR is ready for merging.

Feature or improvement description
Two new modules are added for low fidelity modeling of aerodynamics and structure. These modules are intended for use as very low fidelity turbines in a FAST.Farm simulation in order to speed up the overall simulation. In such a use case, these might be placed in the front few rows of a FAST.Farm simulation where only the turbines in rows further back are of interest, but the wake effects from the leading turbines are needed.

  1. AeroDisk -- This module provides a very simple disk actuator model for the aerodynamics as an alternative to AeroDyn 15 and AeroDyn 14.
  2. Simplified-ElastoDyn (SED) -- This module provides a very simple 2 DOF elastic model that only includes yaw and generator speed. This module is not compatible with SubDyn, HydroDyn, or any mooring codes.

Impacted areas of the software

  • glue code changes
    • new mesh mappings are introduced to map loads and motions from ADsk and SED to other modules
    • additional logic to accommodate the new modules
    • minor code restructuring as needed
    • checks to ensure SED and ADsk are not used with certain combinations that are not allowed
  • FAST.Farm changes
    • Minor updates to FAST_Wrapper to pass correct Cp and Ct values

Additional supporting information

Test results, if applicable
Three new OpenFAST test cases are added as modifications of the 5MW_Land_DLL_WTurb case:

  • 5MW_Land_DLL_WTurb_SED -- SED instead of ED
  • 5MW_Land_DLL_WTurb_ADsk -- AeroDisk module instead of AD15
  • 5MW_Land_DLL_WTurb_ADsk_SED -- AeroDisk instead of AD15, and SED instead of ED

New module tests are also included for SED and ADsk.

To complete

  • Verify correct SED and ADsk behaviour after merging dev
  • Phase shift in GenPwr for 5MW_Land_DLL_WTurb_ADsk_SED case (possibly mesh issue in glue code?)
    This was an input file issue
  • SED + AD15 can result in tower strike event (possible mesh issue, or maybe setup -- not investigated yet)
    This was a setup issue
  • Disable blade flexibility in ElastoDyn when ADsk is used with ED
  • Add VS build projects for ADsk and SED drivers
  • Add a simple FAST.Farm case with a simplified turbine
  • add OpenMP directive in AWAE module (high res)
  • Add plots here illustrating comparison to 5MW_Land_DLL_WTurb case (AD15 + ED with controller)
  • update api_change.rst

bjonkman and others added 30 commits October 25, 2021 14:47
Forgot to remove an override of the position for the Nacelle mesh in PR OpenFAST#982.
The cause was an index that never got set.  So this could result in
attempting to retrieve a value from the output mapping array using an
out of bounds index (sometimes a very large negative number).  This
never appeared in gcc compiled versions, but occasionally would appear
in certain intel compiled versions (others initialized the value
apparently).
- Also add a bit to the driver
- also added a generic table writer that will write to whatever unit specified
This goes with commit 61e4326, but got missed somehow
@andrew-platt andrew-platt marked this pull request as ready for review August 8, 2024 15:18
@andrew-platt andrew-platt removed the request for review from ebranlard August 8, 2024 15:18
@andrew-platt andrew-platt mentioned this pull request Aug 16, 2024
modules/aerodisk/CMakeLists.txt Outdated Show resolved Hide resolved
modules/aerodisk/src/AeroDisk.f90 Outdated Show resolved Hide resolved
modules/aerodisk/src/AeroDisk.f90 Outdated Show resolved Hide resolved
modules/aerodisk/src/AeroDisk_IO.f90 Outdated Show resolved Hide resolved
modules/aerodisk/src/driver/AeroDisk_Driver_Subs.f90 Outdated Show resolved Hide resolved
modules/simple-elastodyn/src/driver/SED_Driver.f90 Outdated Show resolved Hide resolved
reg_tests/executeAerodiskRegressionCase.py Outdated Show resolved Hide resolved
reg_tests/executeAerodiskRegressionCase.py Outdated Show resolved Hide resolved
reg_tests/executeSimpleElastodynRegressionCase.py Outdated Show resolved Hide resolved
reg_tests/executeSimpleElastodynRegressionCase.py Outdated Show resolved Hide resolved
andrew-platt and others added 9 commits August 19, 2024 12:10
Co-authored-by: Derek Slaughter <deslaughter@gmail.com>
Co-authored-by: Derek Slaughter <deslaughter@gmail.com>
Co-authored-by: Derek Slaughter <deslaughter@gmail.com>
Co-authored-by: Derek Slaughter <deslaughter@gmail.com>
Co-authored-by: Derek Slaughter <deslaughter@gmail.com>
Co-authored-by: Derek Slaughter <deslaughter@gmail.com>
Co-authored-by: Derek Slaughter <deslaughter@gmail.com>
Change dates on copywrites, and remove unused code blocks from reg-testing

Co-authored-by: Derek Slaughter <deslaughter@gmail.com>
Co-authored-by: Derek Slaughter <deslaughter@gmail.com>
Updated a few var names in the AD input fles
changed label in CTest from `aerodyn15` to `aerodyn`
@andrew-platt andrew-platt merged commit 65c21d3 into OpenFAST:dev Aug 26, 2024
21 checks passed
@andrew-platt
Copy link
Collaborator Author

TSinflow_126s
Figure 1: XY slice at hub-height with case TSinflow (two 5MW turbines, both with AeroDyn and ElastoDyn).

TSinflowADskSED_126s
Figure 2: XY slice at hub-height with case TSinflowADskSED (the leading turbine from the TSinflow case is replaced with the reduced order model using AeroDisk and SED). The results in the wake hitting turbine 2 is very similar resulting in loads on turbine 2 that are very similar to when the leading turbine uses the full AeroDyn + ElastoDyn model.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants