Skip to content

Commit

Permalink
Release version 2.3.0
Browse files Browse the repository at this point in the history
Merge pull request #433: dev into master
  • Loading branch information
rafmudaf authored Apr 2, 2020
2 parents e4faf27 + d78f419 commit f2419c5
Show file tree
Hide file tree
Showing 87 changed files with 5,491 additions and 4,227 deletions.
25 changes: 3 additions & 22 deletions .github/actions/compile-and-test/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -16,28 +16,9 @@

FROM rafmudaf/openfast-ubuntu:dev

# Move into the openfast directory and update
# Move into the openfast directory
WORKDIR /openfast
RUN git fetch
RUN git pull
RUN git submodule update

# Move into the "build" directory and compile
WORKDIR /openfast/build
RUN cmake ..
RUN make -j4 install
COPY entrypoint.sh /entrypoint.sh

# Run the tests

# BeamDyn-specific tests
RUN ctest -VV -j7 -R bd_
RUN ctest -VV -R beamdyn_utest

# OpenFAST linearization tests
RUN ctest -VV -j4 -L linear

# Subset of OpenFAST regression tests; do not run
## - 3, 4, 7, 14, 15, 16, since the free yaw is not well trusted
## - 9 because its super sensitive
## - 19, 20 because theyre too long
RUN ctest -VV -j8 -I 1,1,1,2,5,6,8,10,11,12,13,17,18,21,22,23,24,25
ENTRYPOINT ["/entrypoint.sh"]
38 changes: 38 additions & 0 deletions .github/actions/compile-and-test/entrypoint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
#!/bin/bash

git fetch origin ${GITHUB_REF}:CI
git checkout CI
git submodule update

# Print the current git info
echo `git status`
echo `git log -1`
cd /openfast/reg_tests/r-test
echo `git status`
echo `git log -1`
cd /openfast

# Move into the "build" directory, remove the old reg tests, and compile
cd /openfast/build
rm -rf reg_tests
cmake ..
make -j4 install

# Run the tests

# NWTC Library tests
ctest -VV -R nwtc_library_utest

# BeamDyn-specific tests
ctest -VV -j7 -R bd_
ctest -VV -R beamdyn_utest

# OpenFAST linearization tests
# Dont run these in parallel, copying the case files can fail in a race condition
ctest -VV -L linear

# Subset of OpenFAST regression tests; do not run
## - 9, 16 because they're very sensitive
## - 19, 20 because theyre too long
## - 17, 22, 23 becuase we dont know why they fail :(
ctest -VV -j8 -I 1,1,1,2,3,4,5,6,7,8,10,11,12,13,14,15,18,21,24,25
8 changes: 4 additions & 4 deletions README.rst
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
OpenFAST
========

|travisci| |nbsp| |rtfd|
|actions| |nbsp| |rtfd|

.. |travisci| image:: https://travis-ci.org/OpenFAST/openfast.svg?branch=dev
:target: https://travis-ci.org/OpenFAST/openfast
.. |actions| image:: https://github.com/openfast/openfast/workflows/OpenFAST%20Build%20and%20Test/badge.svg?branch=dev
:target: https://github.com/OpenFAST/openfast/actions?query=workflow%3A%22OpenFAST+Build+and+Test%22
:alt: Build Status
.. |rtfd| image:: https://readthedocs.org/projects/openfast/badge/?version=dev
:target: https://openfast.readthedocs.io/en/dev
Expand Down Expand Up @@ -112,7 +112,7 @@ Details for compiling
`compiling <http://openfast.readthedocs.io/en/latest/source/install/index.html>`_,
`using <http://openfast.readthedocs.io/en/latest/source/user/index.html>`_, and
`developing <http://openfast.readthedocs.io/en/latest/source/dev/index.html>`_
OpenFAST on Unux-based and Windows machines are available at `readthedocs <http://openfast.readthedocs.io>`_.
OpenFAST on Unix-based and Windows machines are available at `readthedocs <http://openfast.readthedocs.io>`_.

Nightly Testing
---------------
Expand Down
4 changes: 2 additions & 2 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -115,9 +115,9 @@ def runDoxygen(sourcfile, doxyfileIn, doxyfileOut):
# built documents.
#
# The short X.Y version.
version = u'2.1'
version = u'2.3'
# The full version, including alpha/beta/rc tags.
release = u'v2.1.0'
release = u'v2.3.0'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
6 changes: 6 additions & 0 deletions docs/source/dev/build_doc.rst
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,12 @@ file:
Doxygen and Graphviz can be installed directly from their website or with a
package manager like ``brew``, ``yum``, or ``apt``.

The result of building the documentation locally will be a set of
HTML files and their accompanying required files. The main HTML file
will exist ``openfast/build/docs/html/index.html``. This file can
be opened with any browser to view and navigate the locally-generated
documentation as if it were any other web site.

Pure python build
~~~~~~~~~~~~~~~~~
If CMake and Make are not available on your system, the documentation can
Expand Down
5 changes: 5 additions & 0 deletions docs/source/dev/github_workflow.rst
Original file line number Diff line number Diff line change
Expand Up @@ -82,8 +82,13 @@ In OpenFAST development, the typical workflow follows this procedure:

.. code-block:: bash
# This adds the remote
git remote add upstream https://github.com/OpenFAST/OpenFAST
# This downloads all the info in the remote, but it doesnt change
# the local source code
git fetch --all
4. Create a feature branch for active development starting from the OpenFAST
``dev`` branch and check it out

Expand Down
6 changes: 3 additions & 3 deletions docs/source/testing/regression_test.rst
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ The following packages are required for regression testing:
- Python 3+
- Numpy
- CMake and CTest (Optional)
- matplotlib (Optional)
- Bokeh 1.4 (Optional)

.. _python_driver:

Expand Down Expand Up @@ -100,7 +100,7 @@ executing with the help option:
optional arguments:
-h, --help show this help message and exit
-p [Plotting-Flag], -plot [Plotting-Flag]
bool to include matplotlib plots in failed cases
bool to include plots in failed cases
-n [No-Execution], -no-exec [No-Execution]
bool to prevent execution of the test cases
-v [Verbose-Flag], -verbose [Verbose-Flag]
Expand Down Expand Up @@ -366,7 +366,7 @@ included Python driver.
# optional arguments:
# -h, --help show this help message and exit
# -p [Plotting-Flag], -plot [Plotting-Flag]
# bool to include matplotlib plots in failed cases
# bool to include plots in failed cases
# -n [No-Execution], -no-exec [No-Execution]
# bool to prevent execution of the test cases
# -v [Verbose-Flag], -verbose [Verbose-Flag]
Expand Down
21 changes: 9 additions & 12 deletions docs/source/testing/unit_test.rst
Original file line number Diff line number Diff line change
Expand Up @@ -110,18 +110,15 @@ structured as
Each unit test must be contained in a unique file called
``test_[SUBROUTINE].F90`` where ``[SUBROUTINE]`` is the code block being
tested. Finally, update the CMake configuration for building a module's unit
test executable with the appropriate list of test subroutines
in ``openfast/unit_tests/CMakeLists.txt`` using the following format:

.. code-block:: cmake
set(testlist
test_SUBROUTINE1
test_SUBROUTINE2
test_SUBROUTINE3
)
# it is important to keep the quotes around "${testlist}" in the call below
build_utest("module_name" "${testlist}")
test executable by copying the BeamDyn CMake configuration into a new module
directory:

.. code-block:: bash
cp -r openfast/unit_tests/beamdyn openfast/unit_tests/[module]
Then, modify the new ``CMakeLists.txt`` with the appropriate list of test
subroutines and module name variables.

For reference, a template unit test file is included at
``openfast/unit_tests/test_SUBROUTINE.F90``. Each unit test should fully test
Expand Down
8 changes: 4 additions & 4 deletions docs/source/user/aerodyn/examples/ad_airfoil_example.inp
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
! "NREL/TP-442-7817 Appendix B, Viterna used aspect ratio=11"
! note that this file uses Marshall Buhl's new input file processing; start all comment lines with !
! ------------------------------------------------------------------------------
"DEFAULT" InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3]
"DEFAULT" InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=1]
! ------------------------------------------------------------------------------
1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded)
67 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates…
67 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference).
! ......... x-y coordinates are next if NumCoords > 0 .............
! x-y coordinate of airfoil reference
! x/c y/c
Expand Down Expand Up @@ -79,12 +79,12 @@
0.996141 0.000290
1.000000 0.000000
! ------------------------------------------------------------------------------
1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl.
1 NumTabs ! Number of airfoil tables in this file.
! ------------------------------------------------------------------------------
! data for table 1
! ------------------------------------------------------------------------------
0.75 Re ! Reynolds number in millions
0 Ctrl ! Control setting (must be 0 for current AirfoilInfo)
0 UserProp ! User property (control) setting
true InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line
!........................................
-0.38 alpha0 ! 0-lift angle of attack, depends on airfoil.
Expand Down
1 change: 1 addition & 0 deletions docs/source/user/aerodyn/examples/ad_primary_example.inp
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ True TIDrag - Include the drag term in the tangential-induc
1 UAMod - Unsteady Aero Model Switch (switch) {1=Baseline model (Original), 2=Gonzalez's variant (changes in Cn,Cc,Cm), 3=Minemma/Pierce variant (changes in Cc and Cm)} [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]
====== 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 (-)
2 InCol_Cl - The column in the airfoil tables that contains the lift coefficient (-)
3 InCol_Cd - The column in the airfoil tables that contains the drag coefficient (-)
Expand Down
30 changes: 18 additions & 12 deletions docs/source/user/aerodyn/input.rst
Original file line number Diff line number Diff line change
Expand Up @@ -453,16 +453,15 @@ used by OpenFAST for blade surface visualization when enabled.

Specify the number of Reynolds number- or aerodynamic-control
setting-dependent tables of data for the given airfoil via the
``NumTabs`` setting. **Currently, AeroDyn can only use the first table
in any given airfoil file, so you should set ``NumTabs = 1`` and you
will need to make separate airfoil data input files and run separate
simulations if you need to analyze data for different Reynolds numbers
or aerodynamic-control settings.** The remaining parameters in the
``NumTabs`` setting. The remaining parameters in the
airfoil data input files are entered separately for each table.

``Re`` and ``Ctrl`` are the Reynolds number (in millions) and
aerodynamic-control setting for the included table, **but are both
currently unused by AeroDyn**.
``Re`` and ``UserProp`` are the Reynolds number (in millions) and
aerodynamic-control (or user property) setting for the included table.
These values are used only when the ``AFTabMod`` parameter in the
primary AeroDyn input file is set to use 2D interpolation based on
``Re`` or ``UserProp``. If 1D interpolation (based only on angle of attack)
is used, only the first table in the file will be used.

Set ``InclUAdata`` to TRUE if you are including the 32 UA model
parameters (required when ``AFAeroMod = 2`` in the AeroDyn primary
Expand Down Expand Up @@ -615,10 +614,17 @@ input file):
``NumAlf`` is the number of distinct AoA entries and determines the
number of rows in the subsequent table of static airfoil coefficients;
``NumAlf`` must be greater than or equal to one (``NumAlf = 1``
implies constant coefficients, regardless of the AoA). AeroDyn will
interpolate the data provided via linear interpolation or via cubic
splines, depending on the setting of input ``InterpOrd`` above. For
each AoA, you must set the AoA (in degrees), ``alpha``, the lift-force
implies constant coefficients, regardless of the AoA).

AeroDyn will
interpolate on AoA using the data provided via linear interpolation or via cubic
splines, depending on the setting of input ``InterpOrd`` above.
If ``AFTabMod`` is set to ``1``, only the first airfoil table in each file
will be used. If ``AFTabMod`` is set to ``2``, AeroDyn will find the
airfoil table that bounds the computed Reynolds number, and linearly interpolate
between the tables, using the logarithm of the Reynolds numbers.

For each AoA, you must set the AoA (in degrees), ``alpha``, the lift-force
coefficient, ``Coefs``\ (:,1), the drag-force coefficient,
``Coefs(:,2)``, and optionally the pitching-moment coefficient,
``Coefs(:,3)``, and minimum pressure coefficient,
Expand Down
Loading

0 comments on commit f2419c5

Please sign in to comment.