Skip to content

Commit

Permalink
Merge remote-tracking branch 'OpenFAST/dev' into RBergua-SubDyn_sprin…
Browse files Browse the repository at this point in the history
…g_element
  • Loading branch information
andrew-platt committed Nov 28, 2023
2 parents daf2cf7 + ae56ab1 commit 5da2e52
Show file tree
Hide file tree
Showing 199 changed files with 55,072 additions and 42,652 deletions.
2 changes: 1 addition & 1 deletion .github/actions/tests-module-hydrodyn/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ author: 'Rafael Mudafort https://github.com/rafmudaf'
runs:
using: "composite"
steps:
- run: ctest -VV -j7 -R hd_ -LE python
- run: ctest -VV -j6 -R hd_ -LE python
working-directory: ${{runner.workspace}}/openfast/build
shell: bash
9 changes: 9 additions & 0 deletions .github/actions/tests-module-seastate/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
name: 'SeaState module tests'
description: 'Run tests specific to the SeaState module'
author: 'Rafael Mudafort https://github.com/rafmudaf'
runs:
using: "composite"
steps:
- run: ctest -VV -j7 -R seastate_ -LE python
working-directory: ${{runner.workspace}}/openfast/build
shell: bash
92 changes: 90 additions & 2 deletions .github/workflows/automated-dev-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ jobs:
with:
python-version: '3.11'
cache: 'pip'
- name: Set up MATLAB
uses: matlab-actions/setup-matlab@v1
- name: Install dependencies
run: |
python -m pip install --upgrade pip
Expand All @@ -67,6 +69,7 @@ jobs:
-DVARIABLE_TRACKING=OFF \
-DBUILD_TESTING:BOOL=ON \
-DCTEST_PLOT_ERRORS:BOOL=ON \
-DBUILD_OPENFAST_SIMULINK_API=ON \
${GITHUB_WORKSPACE}
# -DDOUBLE_PRECISION=OFF \
- name: Build all
Expand Down Expand Up @@ -175,6 +178,8 @@ jobs:
with:
python-version: '3.11'
cache: 'pip'
- name: Set up MATLAB
uses: matlab-actions/setup-matlab@v1
- name: Install dependencies
run: |
python -m pip install --upgrade pip
Expand Down Expand Up @@ -204,6 +209,7 @@ jobs:
-DBUILD_SHARED_LIBS:BOOL=OFF \
-DBUILD_TESTING:BOOL=ON \
-DCTEST_PLOT_ERRORS:BOOL=ON \
-DBUILD_OPENFAST_SIMULINK_API=ON \
${GITHUB_WORKSPACE}
- name: Build openfast-postlib
working-directory: ${{runner.workspace}}/openfast/build
Expand Down Expand Up @@ -438,6 +444,8 @@ jobs:
test-target: regression
- name: Run MoorDyn tests
uses: ./.github/actions/tests-module-moordyn
- name: Run SeaState tests
uses: ./.github/actions/tests-module-seastate
- name: Run SubDyn tests
uses: ./.github/actions/tests-module-subdyn
- name: Failing test artifacts
Expand Down Expand Up @@ -494,6 +502,8 @@ jobs:
uses: ./.github/actions/tests-module-moordyn
- name: Run NWTC Library tests
uses: ./.github/actions/tests-module-nwtclibrary
- name: Run SeaState tests
uses: ./.github/actions/tests-module-seastate
- name: Run SubDyn tests
uses: ./.github/actions/tests-module-subdyn
- name: Run VersionInfo tests
Expand Down Expand Up @@ -591,7 +601,7 @@ jobs:
run: |
ctest -VV -j4 \
-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
Expand All @@ -609,6 +619,85 @@ jobs:
!${{runner.workspace}}/openfast/build/reg_tests/glue-codes/openfast/WP_Baseline
rtest-OF-simulink:
runs-on: ubuntu-22.04
needs: build-openfast-release
steps:
- name: Cache the workspace
uses: actions/cache@v3
with:
path: ${{runner.workspace}}
key: build-openfast-release-${{ github.sha }}
- name: Install dependencies
run: |
sudo apt-get update -y
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev libopenblas-dev libopenblas-openmp-dev
- name: Set up MATLAB
uses: matlab-actions/setup-matlab@v1
- name: Build FAST_SFunc
working-directory: ${{runner.workspace}}/openfast/build
run: |
cmake \
-DUSE_LOCAL_STATIC_LAPACK:BOOL=ON \
${GITHUB_WORKSPACE}
cmake --build . --target FAST_SFunc
- name: Run MATLAB tests and generate artifacts
uses: matlab-actions/run-tests@v1
with:
source-folder: ${{runner.workspace}}/openfast/build/glue-codes/simulink; ${{runner.workspace}}/openfast/glue-codes/simulink/examples
test-results-junit: test-results/results.xml
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/cache@v3
with:
path: ${{runner.workspace}}
key: build-openfast-release-${{ github.sha }}
- name: Setup Python
uses: actions/setup-python@v3
with:
python-version: '3.11'
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
Expand Down Expand Up @@ -888,7 +977,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: |
Expand Down
3 changes: 2 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,7 @@ set(OPENFAST_MODULES
elastodyn
beamdyn
subdyn
seastate
hydrodyn
orcaflex-interface
extptfm
Expand All @@ -202,7 +203,7 @@ set(OPENFAST_MODULES
map
turbsim
supercontroller
openfoam
externalinflow
openfast-library
)

Expand Down
Binary file not shown.
Binary file modified docs/OtherSupporting/HydroDyn/HydroDyn_WaveStretching_Plan.docx
Binary file not shown.
Binary file modified docs/OtherSupporting/OutListParameters.xlsx
Binary file not shown.
Binary file not shown.
Binary file not shown.
5 changes: 5 additions & 0 deletions docs/OtherSupporting/TurbSim/Corrections.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Corrections to TurbSim_v2.00.pdf DRAFT

## p. 34: Input file for User-Defined Profiles
The User-Defined profiles listed in the "Profiles" section contain horizontal angles, not wind direction, so it should say
`3. Horizontal wind angle (degrees, measured counter-clockwise from above)`
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ def runDoxygen(sourcfile, doxyfileIn, doxyfileOut):
# documentation.
#
html_theme_options = {
"analytics_id": "UA-68999653-10"
"analytics_id": "G-54J9QGXMGP"
}

# Add any paths that contain custom static files (such as style sheets) here,
Expand Down
1 change: 1 addition & 0 deletions docs/source/testing/regression_test.rst
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ configuration as described in the following sections.

In both modes of execution a directory is created in the build directory
called ``reg_tests`` where all of the input files for the test cases are copied
(but not overwritten)
and all of the locally generated outputs are stored. Ultimately, both CTest and
the manual execution program call a series of Python scripts and libraries in
``reg_tests`` and ``reg_tests/lib``. One such script is ``lib/pass_fail.py``
Expand Down
4 changes: 2 additions & 2 deletions docs/source/user/aerodyn/examples/ad_driver_example.dvr
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ False Echo - Echo input parameters to "<rootname>.ech"?
3 AnalysisType - {1: multiple turbines, one simulation, 2: one turbine, one time-dependent simulation, 3: one turbine, combined cases}
11.0 TMax - Total run time [used only when AnalysisType/=3] (s)
0.5 DT - Simulation time step [used only when AnalysisType/=3] (s)
"./AD.dat" AeroFile - Name of the primary AeroDyn input file
"ad_primary_example.dat" AeroFile - Name of the primary AeroDyn input file
----- Environmental Conditions ----------------------------------------------------------
1025 FldDens - Density of working fluid (kg/m^3)
1.4639E-05 KinVisc - Kinematic viscosity of working fluid (m^2/s)
Expand All @@ -19,7 +19,7 @@ False Echo - Echo input parameters to "<rootname>.ech"?
"unused" InflowFile - Name of the InflowWind input file [used only when CompInflow=1]
9.0 HWindSpeed - Horizontal wind speed [used only when CompInflow=0 and AnalysisType=1] (m/s)
140 RefHt - Reference height for horizontal wind speed [used only when CompInflow=0] (m)
0.10 PLExp - Power law exponent [used only when CompInflow=0 and AnalysisType=1] (-)
0.10 PLExp - Power law exponent [used only when CompInflow=0 and AnalysisType=1] (-)
----- Turbine Data ----------------------------------------------------------------------
1 NumTurbines - Number of turbines
----- Turbine(1) Geometry ---------------------------------------------------------------
Expand Down
66 changes: 36 additions & 30 deletions docs/source/user/aerodyn/examples/ad_primary_example.dat
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Description line that will be printed in the output file and written to the scre
====== General Options ============================================================================
True Echo - Echo the input to "<rootname>.AD.ech"? (flag)
"default" DTAero - Time interval for aerodynamic calculations {or "default"} (s)
1 WakeMod - Type of wake/induction model (switch) {0=none, 1=BEMT, 2=DBEMT, 3=OLAF} [WakeMod cannot be 2 or 3 when linearizing]
1 WakeMod - Type of wake/induction model (switch) {0=none, 1=BEMT, 2=DBEMT, 3=OLAF} [WakeMod cannot be 2 or 3 when linearizing]
1 AFAeroMod - Type of blade airfoil aerodynamics model (switch) {1=steady model, 2=Beddoes-Leishman unsteady model} [AFAeroMod must be 1 when linearizing]
0 TwrPotent - Type of tower influence on wind based on potential flow around the tower (switch) {0=none, 1=baseline potential flow, 2=potential flow with Bak correction}
0 TwrShadow - Calculate tower influence on wind based on downstream tower shadow (switch) {0=none, 1=Powles model, 2=Eames model}
Expand Down Expand Up @@ -33,10 +33,12 @@ True TIDrag - Include the drag term in the tangential-induc
2 DBEMT_Mod - Type of dynamic BEMT (DBEMT) model {1=constant tau1, 2=time-dependent tau1, 3=constant tau1 with continuous formulation} (-) [used only when WakeMod=2]
4 tau1_const - Time constant for DBEMT (s) [used only when WakeMod=2 and DBEMT_Mod=1 or 3]
====== OLAF -- cOnvecting LAgrangian Filaments (Free Vortex Wake) Theory Options ================== [used only when WakeMod=3]
"unused" OLAFInputFileName - Input file for OLAF [used only when WakeMod=3]
"unused" OLAFInputFileName - Input file for OLAF [used only when WakeMod=3]
====== Beddoes-Leishman Unsteady Airfoil Aerodynamics Options ===================================== [used only when AFAeroMod=2]
1 UAMod - Unsteady Aero Model Switch (switch) {2=B-L Gonzalez, 3=B-L Minnema/Pierce, 4=B-L HGM 4-states, 5=B-L 5 states, 6=Oye, 7=Boeing-Vertol} [used only when AFAeroMod=2]
1 UAMod - Unsteady Aero Model Switch (switch) {2=B-L Gonzalez, 3=B-L Minnema/Pierce, 4=B-L HGM 4-states, 5=B-L HGM+vortex 5 states, 6=Oye, 7=Boeing-Vertol} [used only when AFAeroMod=2]
FALSE FLookup - Flag to indicate whether a lookup for f' will be calculated (TRUE) or whether best-fit exponential equations will be used (FALSE); if FALSE S1-S4 must be provided in airfoil input files (flag) [used only when AFAeroMod=2]
0.25 UAStartRad - Starting radius for dynamic stall (fraction of rotor radius [0.0,1.0]) [used only when AFAeroMod=2; if line is missing UAStartRad=0]
0.95 UAEndRad - Ending radius for dynamic stall (fraction of rotor radius [0.0,1.0]) [used only when AFAeroMod=2; if line is missing UAEndRad=1]
====== Airfoil Information =========================================================================
1 AFTabMod - Interpolation method for multiple airfoil tables {1=1D interpolation on AoA (first table only); 2=2D interpolation on AoA and Re; 3=2D interpolation on AoA and UserProp} (-)
1 InCol_Alfa - The column in the airfoil tables that contains the angle of attack (-)
Expand All @@ -61,27 +63,30 @@ True UseBlCm - Include aerodynamic pitching moment in calcul
"Test01_UAE_AeroDyn_blade.dat" ADBlFile(2) - Name of file containing distributed aerodynamic properties for Blade #2 (-) [unused if NumBl < 2]
"Test01_UAE_AeroDyn_blade.dat" ADBlFile(3) - Name of file containing distributed aerodynamic properties for Blade #3 (-) [unused if NumBl < 3]
====== Hub Properties ============================================================================== [used only when Buoyancy=True]
0.0 VolHub - Hub volume (m^3)
0.0 HubCenBx - Hub center of buoyancy x direction offset (m)
0 VolHub - Hub volume (m^3)
0 HubCenBx - Hub center of buoyancy x direction offset (m)
====== Nacelle Properties ========================================================================== [used only when Buoyancy=True]
0.0 VolNac - Nacelle volume (m^3)
0.0, 0.0, 0.0 NacCenB - Position of nacelle center of buoyancy from yaw bearing in nacelle coordinates (m)
0 VolNac - Nacelle volume (m^3)
0, 0, 0 NacCenB - Position of nacelle center of buoyancy from yaw bearing in nacelle coordinates (m)
====== Tail Fin Aerodynamics =======================================================================
False TFinAero - Calculate tail fin aerodynamics model (flag)
"unused" TFinFile - Input file for tail fin aerodynamics [used only when TFinAero=True]
====== Tower Influence and Aerodynamics ============================================================ [used only when TwrPotent/=0, TwrShadow/=0, TwrAero=True, or Buoyancy=True]
5 NumTwrNds - Number of tower nodes used in the analysis (-) [used only when TwrPotent/=0, TwrShadow/=0, TwrAero=True, or Buoyancy=True]
TwrElev TwrDiam TwrCd TwrTI (used only with TwrShadow=2) TwrCb (used only with Buoyancy=True)
(m) (m) (-) (-) (-)
0.0000000E+00 6.0000000E+00 0.0000000E+00 1.0000000E-01 0.0
2.0000000E+01 5.5000000E+00 0.0000000E+00 1.0000000E-01 0.0
4.0000000E+01 5.0000000E+00 0.0000000E+00 1.0000000E-01 0.0
6.0000000E+01 4.5000000E+00 0.0000000E+00 1.0000000E-01 0.0
8.0000000E+01 4.0000000E+00 0.0000000E+00 1.0000000E-01 0.0
TwrElev TwrDiam TwrCd TwrTI TwrCb ! TwrTI used only when TwrShadow=2; TwrCb used only when Buoyancy=True
(m) (m) (-) (-) (-)
0.0000000E+00 6.0000000E+00 0.0000000E+00 1.0000000E-01 0.0000000E+00
2.0000000E+01 5.5000000E+00 0.0000000E+00 1.0000000E-01 0.0000000E+00
4.0000000E+01 5.0000000E+00 0.0000000E+00 1.0000000E-01 0.0000000E+00
6.0000000E+01 4.5000000E+00 0.0000000E+00 1.0000000E-01 0.0000000E+00
8.0000000E+01 4.0000000E+00 0.0000000E+00 1.0000000E-01 0.0000000E+00
====== Outputs ====================================================================================
True SumPrint - Generate a summary file listing input options and interpolated properties to "<rootname>.AD.sum"? (flag)
True SumPrint - Generate a summary file listing input options and interpolated properties to "<rootname>.AD.sum"? (flag)
4 NBlOuts - Number of blade node outputs [0 - 9] (-)
1, 3, 4, 6 BlOutNd - Blade nodes whose values will be output (-)
0 NTwOuts - Number of tower node outputs [0 - 9] (-)
1 TwOutNd - Tower nodes whose values will be output (-)
OutList - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels, (-)
OutList - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels, (-)
"B1N1VDisx, B1N1VDisy, B1N1VDisz" ! disturbed wind velocity at Blade 1, Node 1
"B1N2VDisx, B1N2VDisy, B1N2VDisz" ! disturbed wind velocity at Blade 1, Node 2
"B1N3VDisx, B1N3VDisy, B1N3VDisz" ! disturbed wind velocity at Blade 1, Node 3
Expand All @@ -93,18 +98,19 @@ True SumPrint - Generate a summary file listing input option
"B1N1Alpha, B1N2Alpha, B1N3Alpha"
"B1N1Theta, B1N2Theta, B1N3Theta"
END of OutList section (the word "END" must appear in the first 3 columns of the last OutList line)
====== Outputs for all blade stations (same ending as above for B1N1.... ============================ [optional section]
1 BldNd_BladesOut - Number of blades to output all node information at. Up to number of blades on turbine. (-)
"All" BldNd_BlOutNd - Future feature will allow selecting a portion of the nodes to output. Not implemented yet. (-)
OutList - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels, (-)
"Fx, Fy"
"Vx, Vy"
Vrel
TnInd
AxInd
Theta
Phi
Vindx
Vindy
Alpha
====== Outputs for all blade stations (same ending as above for B1N1.... =========================== [optional section]
1 BldNd_BladesOut - Number of blades to output all node information at. Up to number of blades on turbine. (-)
"All" BldNd_BlOutNd - Future feature will allow selecting a portion of the nodes to output. Not implemented yet. (-)
OutList - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels, (-)
"Fx, Fy"
"Vx, Vy"
"Vrel"
"TnInd"
"AxInd"
"Theta"
"Phi"
"Vindx"
"Vindy"
"Alpha"
END (the word "END" must appear in the first 3 columns of this last OutList line in the optional nodal output section)
====================================================================================================
Loading

0 comments on commit 5da2e52

Please sign in to comment.