-
Notifications
You must be signed in to change notification settings - Fork 469
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
OpenFAST Aerodynamic Map Generator (#1733)
* Linear: use subroutine to write linearization files `WriteModuleLinearMatrices` is general and can be called by all modules that have linearization routines. * Linear: add (commented-out) variable for debugging * Linear: sync spacing/case/comments * FAST subs: write output file after closing modules This allows more memory to be allocated when writing the binary file (because we've deallocated things when closing the individual modules). * FAST subs: add allocation check also fix some comments * FAST subs: add `HubRad` var to help integrate with other structural solvers * Linear trim solution: add error check Since the trim solution seems to always converge on the first step when NLinTimes == 1 (see #857), I added a warning and overwrite NLinTimes to be 2 instead. This should be removed when #857 is fixed * FAST subs: update spacing and comments * AeroMap/SteadyState: Add driver for aeromaps Note: This does not yet have the changes for AeroDyn in it. * added example aeromap input file * Fix UA linearization in VTK mode shape restore * update r-test pointer * FAST Registry: fix typos * Updates for aero maps * Add some warnings for AeroMaps * r-test: Attempt to add steadystate/aeromap test * add some debugging statement to linear regression test * add BD instance number back to the first BD linear file name * Minor tweaks for linearization cases - update ideal beam cases to run in single precision - don't build controllers for linearization cases - update some documentation * debugging statements for linearization r-test on github actions * Fix name for BD lin files + update AD inputs from IfW in SS solve Update the rest of the OpenFAST "InflowOn..." inputs to AeroDyn * AD/SS: Fix for setting invalid field * revert change to r-test fixed-free and free-free tower size * Response to EB comments on #1733 - remove comment lines that look like git merge conflict lines - move some SS parameters to FAST_Types (though that didn't solve the issue) - change extension on aero map input files from ".inp" to ".dvr".
- Loading branch information
Showing
22 changed files
with
3,867 additions
and
457 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -600,7 +600,7 @@ jobs: | |
run: | | ||
ctest -VV -j8 \ | ||
-L openfast \ | ||
-LE "cpp|linear|python|fastlib" \ | ||
-LE "cpp|linear|python|fastlib|aeromap" \ | ||
-E "5MW_OC4Semi_WSt_WavesWN|5MW_OC3Mnpl_DLL_WTurb_WavesIrr|5MW_OC4Jckt_DLL_WTurb_WavesIrr_MGrowth|5MW_OC3Trpd_DLL_WSt_WavesReg|5MW_Land_BD_DLL_WTurb" | ||
- name: Failing test artifacts | ||
uses: actions/upload-artifact@v3 | ||
|
@@ -648,6 +648,55 @@ jobs: | |
code-coverage-cobertura: code-coverage/coverage.xml | ||
|
||
|
||
rtest-OF-5MW_Land_AeroMap: | ||
runs-on: ubuntu-22.04 | ||
needs: build-openfast-release | ||
steps: | ||
- name: Cache the workspace | ||
uses: actions/[email protected] | ||
with: | ||
path: ${{runner.workspace}} | ||
key: build-openfast-release-${{ github.sha }} | ||
- name: Setup Python | ||
uses: actions/setup-python@v3 | ||
with: | ||
python-version: '3.9' | ||
cache: 'pip' | ||
- name: Install dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3" | ||
sudo apt-get update -y | ||
sudo apt-get install -y libopenblas-dev libopenblas-openmp-dev | ||
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev | ||
- name: Configure Tests | ||
working-directory: ${{runner.workspace}}/openfast/build | ||
run: | | ||
cmake \ | ||
-DPython_ROOT_DIR:STRING=${{env.pythonLocation}} \ | ||
-DBUILD_TESTING:BOOL=ON \ | ||
-DCTEST_PLOT_ERRORS:BOOL=ON \ | ||
${GITHUB_WORKSPACE} | ||
- name: Run 5MW aero map tests | ||
working-directory: ${{runner.workspace}}/openfast/build | ||
run: | | ||
ctest -VV -L aeromap -LE "cpp|linear|python" -R 5MW_Land_AeroMap | ||
- name: Failing test artifacts | ||
uses: actions/upload-artifact@v3 | ||
if: failure() | ||
with: | ||
name: rtest-OF-5MW_Land_AeroMap | ||
path: | | ||
${{runner.workspace}}/openfast/build/reg_tests/modules | ||
${{runner.workspace}}/openfast/build/reg_tests/glue-codes/openfast | ||
!${{runner.workspace}}/openfast/build/reg_tests/glue-codes/openfast/5MW_Baseline | ||
!${{runner.workspace}}/openfast/build/reg_tests/glue-codes/openfast/AOC | ||
!${{runner.workspace}}/openfast/build/reg_tests/glue-codes/openfast/AWT27 | ||
!${{runner.workspace}}/openfast/build/reg_tests/glue-codes/openfast/SWRT | ||
!${{runner.workspace}}/openfast/build/reg_tests/glue-codes/openfast/UAE_VI | ||
!${{runner.workspace}}/openfast/build/reg_tests/glue-codes/openfast/WP_Baseline | ||
rtest-OF-5MW_OC4Semi_WSt_WavesWN: | ||
runs-on: ubuntu-22.04 | ||
needs: build-openfast-release | ||
|
@@ -927,7 +976,6 @@ jobs: | |
-DBUILD_TESTING:BOOL=ON \ | ||
-DCTEST_PLOT_ERRORS:BOOL=ON \ | ||
${GITHUB_WORKSPACE} | ||
cmake --build . --target regression_test_controllers | ||
- name: Run OpenFAST linearization tests | ||
working-directory: ${{runner.workspace}}/openfast/build | ||
run: | | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
------- OpenFAST AeroMap INPUT FILE ---------------------------------------------- | ||
AeroMap generation for FAST Certification Test #18: NREL 5.0 MW Baseline Wind Turbine (Onshore) | ||
---------------------- OpenFAST MODEL FILE --------------------------------------- | ||
"openfast.fst" FstFile - Name of the primary OpenFAST input file (-) | ||
---------------------- STEADY-STATE SIMULATION CONTROL -------------------------------------- | ||
false Echo - Echo input data to <RootName>.ech (flag) | ||
1e-4 Toler - Convergence tolerance for nonlinear solve residual equation [>0] (-) | ||
50 MaxIter - Maximum number of iteration steps for nonlinear solve [>0] (-) | ||
1 N_SSJac - Number of iteration steps to recalculate steady-state Jacobian (-) [1=every iteration step, 2=every other step] (Note: for large flexible blades, this almost always needs to be 1) | ||
1E+05 SSJacSclFact - Scaling factor used in steady-state Jacobians (-) [on order of blade mass in kg] | ||
---------------------- STEADY-STATE CASES -------------------------------------- | ||
1 WindSpeedOrTSR - Choice of swept parameter (switch) { 1:wind speed; 2: TSR } | ||
25 NumCases - Number of cases to run | ||
RotSpeed WndSpeedOrTSR Pitch | ||
(rpm) (m/s or -) (deg) | ||
8.0000 3.0000 0.0000 | ||
8.0000 6.0000 0.0000 | ||
8.0000 9.0000 0.0000 | ||
8.0000 12.0000 0.0000 | ||
8.0000 15.0000 0.0000 | ||
8.0000 15.0000 3.0000 | ||
8.0000 12.0000 3.0000 | ||
8.0000 9.0000 3.0000 | ||
8.0000 6.0000 3.0000 | ||
8.0000 3.0000 3.0000 | ||
8.0000 3.0000 6.0000 | ||
8.0000 6.0000 6.0000 | ||
8.0000 9.0000 6.0000 | ||
8.0000 12.0000 6.0000 | ||
8.0000 15.0000 6.0000 | ||
8.0000 15.0000 9.0000 | ||
8.0000 12.0000 9.0000 | ||
8.0000 9.0000 9.0000 | ||
8.0000 6.0000 9.0000 | ||
8.0000 3.0000 9.0000 | ||
8.0000 3.0000 12.0000 | ||
8.0000 6.0000 12.0000 | ||
8.0000 9.0000 12.0000 | ||
8.0000 12.0000 12.0000 | ||
8.0000 15.0000 12.0000 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.