Skip to content

Commit

Permalink
Merge pull request #1820 from OpenFAST/rc-3.5.1
Browse files Browse the repository at this point in the history
Release 3.5.1
  • Loading branch information
andrew-platt authored Oct 20, 2023
2 parents 6b8706b + 563cda6 commit 6a6511a
Show file tree
Hide file tree
Showing 103 changed files with 42,621 additions and 7,872 deletions.
192 changes: 151 additions & 41 deletions .github/workflows/automated-dev-tests.yml

Large diffs are not rendered by default.

12 changes: 6 additions & 6 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,20 @@
# Required
version: 2

# select the docker image to use: stable | latest
build:
os: "ubuntu-22.04"
tools:
python: "3.11"

formats:
- htmlzip
# - pdf
# - epub

python:
version: 3.7
install:
- requirements: docs/requirements.txt
system_packages: true

# select the docker image to use: stable | latest
build:
image: stable

sphinx:
builder: html
Expand Down
23 changes: 17 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ option(FPE_TRAP_ENABLED "Enable FPE trap in compiler options" off)
option(ORCA_DLL_LOAD "Enable OrcaFlex Library Load" on)
option(BUILD_FASTFARM "Enable building FAST.Farm" off)
option(BUILD_OPENFAST_CPP_API "Enable building OpenFAST - C++ API" off)
option(BUILD_OPENFAST_CPP_DRIVER "Enable building OpenFAST C++ driver using C++ API" off)
option(BUILD_OPENFAST_SIMULINK_API "Enable building OpenFAST for use with Simulink" off)
option(OPENMP "Enable OpenMP support" off)
option(USE_LOCAL_STATIC_LAPACK "Enable downloading and building static LAPACK and BLAS libs" off)
Expand Down Expand Up @@ -108,10 +109,18 @@ include(${CMAKE_SOURCE_DIR}/cmake/set_rpath.cmake)

if (OPENMP OR BUILD_FASTFARM OR BUILD_OPENFAST_CPP_API)
FIND_PACKAGE(OpenMP REQUIRED)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
set(CMAKE_FORTRAN_FLAGS "${CMAKE_FORTRAN_FLAGS} ${OpenMP_FORTRAN_FLAGS}")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")
if (OpenMP_Fortran_FOUND)
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} ${OpenMP_Fortran_FLAGS}")
link_libraries("${OpenMP_Fortran_LIBRARIES}")
endif()
if (OpenMP_C_FOUND)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
link_libraries("${OpenMP_C_LIBRARIES}")
endif()
if (OpenMP_CXX_FOUND)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
link_libraries("${OpenMP_CXX_LIBRARIES}")
endif()
endif()

#-------------------------------------------------------------------------------
Expand All @@ -130,11 +139,13 @@ if (USE_LOCAL_STATIC_LAPACK)
include(ExternalProject)
ExternalProject_Add(lapack
URL http://www.netlib.org/lapack/lapack.tgz
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_SOURCE_DIR}/install
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_SOURCE_DIR}/install
-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
PREFIX ${CMAKE_BINARY_DIR}/dependencies
BUILD_BYPRODUCTS ${BLAS_LIB_PATH} ${LAPACK_LIB_PATH}
)
set(LAPACK_LIBRARIES ${BLAS_LIB_PATH} ${LAPACK_LIB_PATH} CACHE STRING "LAPACK library" FORCE)
set(LAPACK_LIBRARIES ${LAPACK_LIB_PATH} ${BLAS_LIB_PATH} CACHE STRING "LAPACK library" FORCE)
install(FILES ${LAPACK_LIBRARIES} DESTINATION ${CMAKE_SOURCE_DIR}/install/lib)
message(STATUS "Using LAPACK libraries: ${LAPACK_LIBRARIES}")
else()
Expand Down
Binary file modified docs/OtherSupporting/OutListParameters.xlsx
Binary file not shown.
6 changes: 6 additions & 0 deletions docs/changelogs/v3.5.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,12 @@ See GitHub Actions

#1493 Allow Non-Uniform Force Point Distribution on Blades @mchurchf

### SubDyn

#1413 Implementing directional cosine matrices and section properties for rectangular members
#1526 Remove static improvement method (SIM) from the SubDyn elastic output mesh (y3mesh)
#1531 BugFix - diameter not set properly for rectangular beams


## API changes

Expand Down
133 changes: 133 additions & 0 deletions docs/changelogs/v3.5.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
**Feature or improvement description**
Pull request to merge `rc-3.5.1` into `main` and create a tagged release for v3.5.1.

See the milestone and project pages for additional information

https://github.com/OpenFAST/openfast/milestone/10
https://github.com/orgs/OpenFAST/projects/4

Test results, if applicable
See GitHub Actions

### Release checklist:
- [ ] Update the documentation version in docs/conf.py
- [ ] Update the versions in docs/source/user/api_change.rst
- [ ] Verify readthedocs builds correctly
- [ ] Create a tag in OpenFAST
- [ ] Create a merge commit in r-test and add a corresponding tag
- [ ] Compile executables for Windows builds
- [ ] FAST_SFunc.mexw64
- [ ] OpenFAST-Simulink_x64.dll
- [ ] openfast_x64.exe
- [ ] DISCON.dll (x64)
- [ ] AeroDyn_Driver
- [ ] AeroDyn_Inflow_C_Binding
- [ ] BeamDyn_Driver
- [ ] HydroDyn_Driver
- [ ] HydroDyn_C_Binding (x64)
- [ ] InflowWind_Driver
- [ ] IfW_C_Binding (x64)
- [ ] MoorDyn_Driver
- [ ] FAST.Farm (x64)

# Changelog

## General

### Build systems

#1586 CMake: Remove openfast_cpp target if BUILD_OPENFAST_CPP_API not selected
#1647 Fix adding OpenMP flags to CMAKE_Fortran_FLAGS
#1818 VS-build updates for rc-3.5.1 and other minor updates. Includes truing up some Types files.


### Documentation

#1788 Readthedocs configuration changes


## Solvers

### FAST.Farm

#1648 Fix bug with Mod_AmbWind=3 -- hub point wasn't shifted.


## Module changes

### AeroDyn

#1657 AD Driver: stack size for 64 bit solutions (see #1260)
#1658 AD/TailFin: Bug Fix: remove chord in fy (see #1653)
#1659 AD: Adding rtest for TailFin polar-based model
#1679 AD: nodal outputs in different coordinate systems (new feature)
#1700 Remove deleted variables BlFB and BlMB from AeroDyn_AllBldNdOuts_IO


### BeamDyn

#1771 Change BD states to follow the blade root reference frame. Small performance improvements around azimuth=180.
#1796 Resolve BeamDyn initial strain for rotated blade. Backport of #1663


### ElastoDyn

#1654 fix segfault when BldNd_BladesOut==0 (Also for AeroDyn)


### HydroDyn

#1621 [BugFix] HD wave visualization with 2nd order waves
#1780 [BugFix] AddF0 for multiple potential-flow bodies with NBodyMod/=0 (backport of #1776)
#1768 new feature: Visualization of HydroDyn Morison mesh (also MoorDyn lines)
#1806 fixed some existing bugs with the strip-theory loads and updated the radiation convolution integral to 2nd order


### InflowWind

#1620 [BugFix] ServoDyn inputs for Lidar allocated twice, and a few other minor issues
#1655 [BugFix] InflowWind was not setting InitOut MWS data.
#1748 [BugFix] compute vel avg profile when exceed allowed
#1759 [BugFix] InflowWind Flow Field fails to calculate AvgVel for large wind files when using Intel Compiler
#1769 [BugFix] Add additional modulo in IfW_FlowField to correct error with exhausted field from Grid3D on long simulations (see #1746 and PR #1730)


### MAP++

#1752 MAP++ linear spring approach improvement (@rbergua)


### MoorDyn

#1768 MoorDyn line visualization (see HydroDyn above)
#1727 MoorDyn updates and bug fixes (naming, catenary solve improvement, output channels, bugs with added mass, rods, and comment typos
#1815 MoorDyn dynamic relaxation and fixed bodies
#1816 Fixed drag coefficient scaling


### NWTC-Library

#1731 Blade Pitch input to ElastoDyn drifts during solution if ServoDyn is not active (improvements to Extrap/Interp routines)


### SubDyn

#1802 Increase SubDyn output to allow NMOutputs up to 99. Backport of features from dev (multiple commits)


## Regression tests

#1581, #1593 Update floating MHK case input files
#1694 Improved linearization file comparison
#1695 AD: adding linearization tests for aerodyn continuous-states model
#1801 Add Mod_AmbWind=3 regression test to the CI


## Input file changes

No input files change with this release, as this only includes minor bugfixes.

Full list of changes: https://openfast.readthedocs.io/en/main/source/user/api_change.html

Full input file sets: https://github.com/OpenFAST/r-test/tree/v3.5.1 (example input files from the regression testing)

2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ def runDoxygen(sourcfile, doxyfileIn, doxyfileOut):
# The short X.Y version.
version = u'3.5'
# The full version, including alpha/beta/rc tags.
release = u'v3.5.0'
release = u'v3.5.1'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
41 changes: 24 additions & 17 deletions docs/source/user/aerodyn/appendix.rst
Original file line number Diff line number Diff line change
Expand Up @@ -51,27 +51,34 @@ The blade data input file contains the nodal discretization, geometry, twist, ch
AeroDyn List of Output Channels
-------------------------------

This is a list of output parameters for the AeroDyn module. The names are grouped by meaning, but can be ordered in the OUTPUTS section of the AeroDyn input file as you see fit. :math:`B \alpha N \beta`, refers to output node :math:`\beta` of blade :math:`\alpha`, where :math:`\alpha` is a number in the range [1,3] and :math:`\beta` is a number in the range [1,9], corresponding to entry :math:`\beta` in the :math:`\textit{BlOutNd}` list. :math:`\textit{TwN}\beta` refers to output node :math:`\beta` of the tower and is in the range [1,9], corresponding to entry :math:`\beta` in the :math:`\textit{TwOutNd}` list. A comprehensive, up-to-date list of all possible output parameters is given in the Excel file :download:`OutListParameters.xlsx <../../../OtherSupporting/OutListParameters.xlsx>`.

The local tower coordinate system is shown in :numref:`ad_tower_geom` and the local blade coordinate system is shown in :numref:`ad_blade_local_cs` below. Figure :numref:`ad_blade_local_cs` also shows the direction of the local angles and force components.
AeroDyn has regular outputs (see :numref:`AD-Outputs`) and nodal outputs (see :numref:`AD-Nodal-Outputs`).

.. _ad_blade_local_cs:
The coordinate systems used for the outputs (labeled, i, h, p, l, a) are described in :numref:`ad_coordsys`.

.. figure:: figs/aerodyn_blade_local_cs.png
:width: 80%
:align: center
:alt: aerodyn_blade_local_cs.png

AeroDyn Local Blade Coordinate System (Looking Toward the Tip,
from the Root) – l: Lift, d: Drag, m: Pitching, x: Normal (to Plane),
y: Tangential (to Plane), n: Normal (to Chord),
and t: Tangential (to Chord)
A comprehensive, up-to-date list of all possible output parameters is given in the Excel file :download:`OutListParameters.xlsx <../../../OtherSupporting/OutListParameters.xlsx>`, in the tab `AeroDyn` and `AeroDyn_Nodes` for the regular and nodal outputs, respectively.
The names in the Excel file are grouped by meaning, but can be ordered in the OUTPUTS section of the AeroDyn input file as you see fit.

.. _ad-output-channel:

.. figure:: figs/aerodyn_output_channel.pdf
:width: 500px
:align: center
:alt: aerodyn_output_channel.pdf

AeroDyn Output Channel List
**Regular outputs**
Some examples of regular outputs are given below (see :download:`OutListParameters.xlsx <../../../OtherSupporting/OutListParameters.xlsx>` for an exhaustive list):


- `RtAeroCp` : aerodynamic power coefficient.


- :math:`B \alpha N \beta`, refers to output node :math:`\beta` of blade :math:`\alpha`, where :math:`\alpha` is a number in the range [1,3] and :math:`\beta` is a number in the range [1,9], corresponding to entry :math:`\beta` in the :math:`\textit{BlOutNd}` list.

- :math:`\textit{TwN}\beta` refers to output node :math:`\beta` of the tower and is in the range [1,9], corresponding to entry :math:`\beta` in the :math:`\textit{TwOutNd}` list.


**Nodal outputs**

An example of nodal outputs is described below (see :download:`OutListParameters.xlsx <../../../OtherSupporting/OutListParameters.xlsx>` for an exhaustive list).

The x-component of the undisturbed flow velocity (`VUnd`) at all blade nodes in the inertial frame (:math:`i`) is requested by placing :math:`VUndxi` in the AeroDyn nodal output list.
This will result in output channels of the form `AB`:math:`\alpha N\beta` `Vundxi`, for node :math:`\beta` of blade :math:`\alpha`, where :math:`\alpha` is a number in the range [1,3] and :math:`\beta` is a number in the range [1,999] corresponding to the index of the AeroDyn blade node.


Loading

0 comments on commit 6a6511a

Please sign in to comment.