Skip to content

Commit e8ec53f

Browse files
authored
Merge pull request #1386 from OpenFAST/dev
OpenFAST v3.4.0
2 parents 4e85fa6 + 8ad9e97 commit e8ec53f

File tree

202 files changed

+68436
-38755
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

202 files changed

+68436
-38755
lines changed

.github/actions/tests-module-aerodyn/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ runs:
1818
fi
1919
2020
if [[ ${{ inputs.test-target }} == "regression" ]] || [[ ${{ inputs.test-target }} == "all" ]]; then
21-
ctest -VV -R ad_ # -j7 do not run these tests in parallel due to a bug in accessing shared files
21+
ctest -VV -R ad_ -LE python # -j7 do not run these tests in parallel due to a bug in accessing shared files
2222
fi
2323
2424
working-directory: ${{runner.workspace}}/openfast/build
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: 'MoorDyn module tests'
2+
description: 'Run tests specific to the MoorDyn module'
3+
author: 'Andy Platt https://github.com/andrew-platt'
4+
5+
6+
inputs:
7+
test-target:
8+
description: 'Which tests to run: unit | regression | all'
9+
default: 'all'
10+
11+
runs:
12+
using: "composite"
13+
steps:
14+
- run: |
15+
16+
if [[ ${{ inputs.test-target }} == "regression" ]] || [[ ${{ inputs.test-target }} == "all" ]]; then
17+
ctest -VV -j7 -R md_ -LE python
18+
fi
19+
20+
working-directory: ${{runner.workspace}}/openfast/build
21+
shell: bash

.github/workflows/automated-dev-tests.yml

Lines changed: 87 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ jobs:
4646
- name: Install dependencies
4747
run: |
4848
python -m pip install --upgrade pip
49-
pip install numpy "Bokeh>=2.4"
49+
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3"
5050
- name: Setup workspace
5151
run: cmake -E make_directory ${{runner.workspace}}/openfast/build
5252
- name: Configure build
@@ -100,7 +100,6 @@ jobs:
100100
-DVARIABLE_TRACKING=OFF \
101101
-DDOUBLE_PRECISION:BOOL=OFF \
102102
${GITHUB_WORKSPACE}
103-
# -DDOUBLE_PRECISION=OFF \
104103
- name: Build all
105104
working-directory: ${{runner.workspace}}/openfast/build
106105
run: |
@@ -123,7 +122,7 @@ jobs:
123122
- name: Install dependencies
124123
run: |
125124
python -m pip install --upgrade pip
126-
pip install numpy "Bokeh>=2.4"
125+
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3"
127126
- name: Setup workspace
128127
run: cmake -E make_directory ${{runner.workspace}}/openfast/build
129128
- name: Configure build
@@ -165,7 +164,7 @@ jobs:
165164
- name: Install dependencies
166165
run: |
167166
python -m pip install --upgrade pip
168-
pip install numpy "Bokeh>=2.4"
167+
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3"
169168
sudo apt-get update -y
170169
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev # gcovr
171170
- name: Setup workspace
@@ -215,7 +214,7 @@ jobs:
215214
- name: Install dependencies
216215
run: |
217216
python -m pip install --upgrade pip
218-
pip install numpy "Bokeh>=2.4"
217+
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3"
219218
sudo apt-get update -y
220219
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev
221220
- name: Build OpenFAST C-Interfaces
@@ -224,6 +223,8 @@ jobs:
224223
cmake --build . --target openfastlib -- -j ${{env.NUM_PROCS}}
225224
cmake --build . --target openfast_cpp -- -j ${{env.NUM_PROCS}}
226225
cmake --build . --target openfastcpp -- -j ${{env.NUM_PROCS}}
226+
cmake --build . --target aerodyn_inflow_c_binding -- -j ${{env.NUM_PROCS}}
227+
cmake --build . --target moordyn_c_binding -- -j ${{env.NUM_PROCS}}
227228
cmake --build . --target ifw_c_binding -- -j ${{env.NUM_PROCS}}
228229
cmake --build . --target hydrodyn_c_binding -- -j ${{env.NUM_PROCS}}
229230
cmake --build . --target regression_test_controllers -- -j ${{env.NUM_PROCS}}
@@ -251,7 +252,7 @@ jobs:
251252
- name: Install dependencies
252253
run: |
253254
python -m pip install --upgrade pip
254-
pip install numpy "Bokeh>=2.4"
255+
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3"
255256
sudo apt-get update -y
256257
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev
257258
- name: Build OpenFAST glue-code
@@ -282,7 +283,7 @@ jobs:
282283
- name: Install dependencies
283284
run: |
284285
python -m pip install --upgrade pip
285-
pip install numpy "Bokeh>=2.4"
286+
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3"
286287
sudo apt-get update -y
287288
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev
288289
- name: Build FAST.Farm
@@ -296,6 +297,65 @@ jobs:
296297
key: build-fastfarm-release-${{ github.sha }}
297298

298299

300+
301+
### BUILD AND TEST JOBS
302+
303+
build-test-uadriver-debug:
304+
# UA driver requires -DUA_OUTS, cannot be compiled with other
305+
runs-on: ubuntu-20.04
306+
steps:
307+
- name: Checkout
308+
uses: actions/checkout@main
309+
with:
310+
submodules: recursive
311+
- name: Setup Python
312+
uses: actions/setup-python@v3
313+
with:
314+
python-version: '3.9'
315+
cache: 'pip'
316+
- name: Install dependencies
317+
run: |
318+
python -m pip install --upgrade pip
319+
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3"
320+
- name: Setup workspace
321+
run: cmake -E make_directory ${{runner.workspace}}/openfast/build
322+
- name: Configure build
323+
working-directory: ${{runner.workspace}}/openfast/build
324+
run: |
325+
cmake \
326+
-DCMAKE_INSTALL_PREFIX:PATH=${{runner.workspace}}/openfast/install \
327+
-DCMAKE_Fortran_COMPILER:STRING=${{env.FORTRAN_COMPILER}} \
328+
-DCMAKE_CXX_COMPILER:STRING=${{env.CXX_COMPILER}} \
329+
-DCMAKE_C_COMPILER:STRING=${{env.C_COMPILER}} \
330+
-DCMAKE_BUILD_TYPE:STRING=DEBUG \
331+
-DBUILD_SHARED_LIBS:BOOL=OFF \
332+
-DGENERATE_TYPES=ON \
333+
-DVARIABLE_TRACKING=OFF \
334+
-DBUILD_TESTING:BOOL=ON \
335+
-DCTEST_PLOT_ERRORS:BOOL=ON \
336+
-DCMAKE_Fortran_FLAGS="-DUA_OUTS=ON" \
337+
${GITHUB_WORKSPACE}
338+
- name: Build all
339+
working-directory: ${{runner.workspace}}/openfast/build
340+
run: |
341+
cmake --build . --target unsteadyaero_driver -- -j ${{env.NUM_PROCS}}
342+
343+
- name: Run UnsteadyAero tests
344+
working-directory: ${{runner.workspace}}/openfast/build
345+
shell: bash
346+
run: |
347+
ctest -VV -R "^ua_"
348+
349+
- name: Failing test artifacts
350+
uses: actions/upload-artifact@v3
351+
if: failure()
352+
with:
353+
name: rtest-uadriver
354+
path: |
355+
${{runner.workspace}}/openfast/build/reg_tests/modules/unsteadyaero
356+
357+
358+
299359
### TEST JOBS
300360

301361
rtest-module-drivers:
@@ -315,7 +375,7 @@ jobs:
315375
- name: Install dependencies
316376
run: |
317377
python -m pip install --upgrade pip
318-
pip install numpy "Bokeh>=2.4"
378+
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3"
319379
sudo apt-get update -y
320380
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev
321381
- name: Run AeroDyn tests
@@ -332,6 +392,8 @@ jobs:
332392
uses: ./.github/actions/tests-module-inflowwind
333393
with:
334394
test-target: regression
395+
- name: Run MoorDyn tests
396+
uses: ./.github/actions/tests-module-moordyn
335397
- name: Run SubDyn tests
336398
uses: ./.github/actions/tests-module-subdyn
337399
- name: Failing test artifacts
@@ -360,7 +422,7 @@ jobs:
360422
- name: Install dependencies
361423
run: |
362424
python -m pip install --upgrade pip
363-
pip install numpy "Bokeh>=2.4"
425+
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3"
364426
sudo apt-get update -y
365427
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev
366428
- name: Configure Tests
@@ -382,6 +444,8 @@ jobs:
382444
uses: ./.github/actions/tests-module-hydrodyn
383445
- name: Run InflowWind tests
384446
uses: ./.github/actions/tests-module-inflowwind
447+
- name: Run MoorDyn tests
448+
uses: ./.github/actions/tests-module-moordyn
385449
- name: Run NWTC Library tests
386450
uses: ./.github/actions/tests-module-nwtclibrary
387451
- name: Run SubDyn tests
@@ -415,7 +479,7 @@ jobs:
415479
- name: Install dependencies
416480
run: |
417481
python -m pip install --upgrade pip
418-
pip install numpy "Bokeh>=2.4"
482+
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3" vtk
419483
sudo apt-get update -y
420484
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev
421485
- name: Run Interface / API tests
@@ -430,6 +494,8 @@ jobs:
430494
path: |
431495
${{runner.workspace}}/openfast/build/reg_tests/glue-codes/openfast-cpp
432496
${{runner.workspace}}/openfast/build/reg_tests/glue-codes/python
497+
${{runner.workspace}}/openfast/build/reg_tests/modules/aerodyn
498+
${{runner.workspace}}/openfast/build/reg_tests/modules/moordyn
433499
${{runner.workspace}}/openfast/build/reg_tests/modules/inflowwind
434500
${{runner.workspace}}/openfast/build/reg_tests/modules/hydrodyn
435501
!${{runner.workspace}}/openfast/build/reg_tests/glue-codes/openfast-cpp/5MW_Baseline
@@ -452,7 +518,7 @@ jobs:
452518
- name: Install dependencies
453519
run: |
454520
python -m pip install --upgrade pip
455-
pip install numpy "Bokeh>=2.4"
521+
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3"
456522
sudo apt-get update -y
457523
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev
458524
- name: Configure Tests
@@ -499,7 +565,7 @@ jobs:
499565
- name: Install dependencies
500566
run: |
501567
python -m pip install --upgrade pip
502-
pip install numpy "Bokeh>=2.4"
568+
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3"
503569
sudo apt-get update -y
504570
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev
505571
- name: Configure Tests
@@ -543,7 +609,7 @@ jobs:
543609
- name: Install dependencies
544610
run: |
545611
python -m pip install --upgrade pip
546-
pip install numpy "Bokeh>=2.4"
612+
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3"
547613
sudo apt-get update -y
548614
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev
549615
- name: Configure Tests
@@ -587,7 +653,7 @@ jobs:
587653
- name: Install dependencies
588654
run: |
589655
python -m pip install --upgrade pip
590-
pip install numpy "Bokeh>=2.4"
656+
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3"
591657
sudo apt-get update -y
592658
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev
593659
- name: Configure Tests
@@ -631,7 +697,7 @@ jobs:
631697
- name: Install dependencies
632698
run: |
633699
python -m pip install --upgrade pip
634-
pip install numpy "Bokeh>=2.4"
700+
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3"
635701
sudo apt-get update -y
636702
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev
637703
- name: Configure Tests
@@ -675,7 +741,7 @@ jobs:
675741
- name: Install dependencies
676742
run: |
677743
python -m pip install --upgrade pip
678-
pip install numpy "Bokeh>=2.4"
744+
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3"
679745
sudo apt-get update -y
680746
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev
681747
- name: Configure Tests
@@ -719,7 +785,7 @@ jobs:
719785
- name: Install dependencies
720786
run: |
721787
python -m pip install --upgrade pip
722-
pip install numpy "Bokeh>=2.4"
788+
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3"
723789
sudo apt-get update -y
724790
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev
725791
- name: Configure Tests
@@ -763,7 +829,7 @@ jobs:
763829
- name: Install dependencies
764830
run: |
765831
python -m pip install --upgrade pip
766-
pip install numpy "Bokeh>=2.4"
832+
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3"
767833
sudo apt-get update -y
768834
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev
769835
- name: Configure Tests
@@ -774,11 +840,12 @@ jobs:
774840
working-directory: ${{runner.workspace}}/openfast/build
775841
shell: bash
776842
run: |
777-
ctest -VV -L fastfarm -j ${{env.NUM_PROCS}}
843+
set OMP_NUM_THREADS=2
844+
ctest -VV -L fastfarm -j ${{env.NUM_PROCS}} --verbose
778845
- name: Failing test artifacts
779846
uses: actions/upload-artifact@v3
780847
if: failure()
781848
with:
782849
name: rtest-FF
783850
path: |
784-
${{runner.workspace}}/openfast/build/reg_tests/glue-codes/fastfarm
851+
${{runner.workspace}}/openfast/build/reg_tests/glue-codes/fast-farm
44.5 KB
Binary file not shown.

docs/OtherSupporting/OpenFAST_Algorithms/OpenFAST_Algorithms.tex

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,7 @@ \section{Input-Output Relationships}
215215
& \mathit{y\_SD}, \mathit{u\_SD\_tmp}, \\
216216
& \mathit{y\_MAP}, \mathit{u\_MAP\_tmp}, \\
217217
& \mathit{y\_FEAM},\mathit{u\_FEAM\_tmp},\\
218+
& \mathit{y\_AD}, \mathit{u\_AD\_tmp}\footnote{Only if AD buoyancy at of hub enabled.}, \\
218219
& \mathit{y\_SrvD},\mathit{u\_SrvD\_tmp}\footnote{Only if using ServoDyn Structural control.} ) % SrvD%PtfmStC only
219220
\end{aligned}$
220221

16.4 KB
Binary file not shown.

docs/conf.py

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -120,17 +120,17 @@ def runDoxygen(sourcfile, doxyfileIn, doxyfileOut):
120120

121121
# General information about the project.
122122
project = u'OpenFAST'
123-
copyright = u'2022, National Renewable Energy Laboratory'
123+
copyright = u'2023, National Renewable Energy Laboratory'
124124
author = u'OpenFAST Team'
125125

126126
# The version info for the project you're documenting, acts as replacement for
127127
# |version| and |release|, also used in various other places throughout the
128128
# built documents.
129129
#
130130
# The short X.Y version.
131-
version = u'3.3'
131+
version = u'3.4'
132132
# The full version, including alpha/beta/rc tags.
133-
release = u'v3.3.0'
133+
release = u'v3.4.0'
134134

135135
# The language for content autogenerated by Sphinx. Refer to documentation
136136
# for a list of supported languages.
@@ -274,4 +274,24 @@ def setup(app):
274274
objname="CMake configuration value",
275275
indextemplate="pair: %s; CMake configuration"
276276
)
277+
# --- Prolog that will be included at the top of every rst file
278+
# Here: defining the role :red: for html and latex
279+
rst_prolog = r"""
280+
281+
.. raw:: html
282+
283+
<style> .red {color:#ff0000} </style>
284+
285+
.. raw:: latex
286+
287+
288+
\makeatletter
289+
\@ifundefined{DUrolered}{%
290+
\newcommand{\DUrolered}[1]{{\color{red}{#1}}}
291+
}{}
292+
\makeatother
293+
294+
.. role:: red
295+
296+
"""
277297

docs/source/user/aerodyn-aeroacoustics/App-usage.rst

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,12 @@ Using the Aeroacoustics Model in AeroDyn
55

66
A live version of this documentation is available at
77
https://openfast.readthedocs.io/. To run the aeroacoustics model, the
8-
flag **CompAA** needs to be set to **True** at line 13 of the AeroDyn15 main
8+
flag **CompAA** needs to be set to **True** at line 14 of the AeroDyn15 main
99
input file in the inputs block **General Options**. When the flag is set to
1010
**True**, the following line must include the name of the file containing
1111
the inputs to the aeroacoustics model, which is discussed in
12-
:numref:`aa-sec-BLinputs`.
12+
:numref:`aa-sec-MainInput`. Currently, this module cannot be used with an MHK
13+
turbine.
1314

1415

1516
.. container::

docs/source/user/aerodyn-aeroacoustics/example/AD15.ipt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,18 @@
22
IEA Wind Task 37 land-based reference wind turbine
33
====== General Options ===================================================
44
False Echo - Echo the input to "<rootname>.AD.ech"? (flag)
5-
"default" DT_AA - Time interval for aerodynamic calculations {or "default"} (s)
5+
"default" DTAero - Time interval for aerodynamic calculations {or "default"} (s)
66
1 WakeMod - Type of wake/induction model (switch) {0=none, 1=BEMT}
77
2 AFAeroMod - Type of blade airfoil aerodynamics model (switch
88
0 TwrPotent - Type of tower influence on wind around the tower (switch)
99
0 TwrShadow - Type of tower influence on wind based on downstream tower shadow (switch) {0=none, 1=Powles model, 2=Eames model}
1010
False TwrAero - Calculate tower aerodynamic loads? (flag)
1111
False FrozenWake - Assume frozen wake during linearization? (flag
1212
False CavitCheck - Perform cavitation check? (flag)
13+
False Buoyancy - Include buoyancy effects? (flag)
1314
True CompAA - Flag to compute AeroAcoustics calculation
1415
"AeroAcousticsInput.dat" AA_InputFile
1516
====== Environmental Conditions ==========================================
16-
1.225. AirDens - Air density (kg/m^3)
17+
"default" AirDens - Air density (kg/m^3)
1718

1819
File continues...

0 commit comments

Comments
 (0)