Skip to content

Releases: OpenFAST/openfast

v4.0.0

24 Dec 22:31
da685d4
Compare
Choose a tag to compare

v4.0.0 Overview

This release includes many architectural changes and physics improvements from the OpenFAST 3.5 series. Improvements and new features include large platform yaw dynamics, reduced order structural and aero modules (Simplified-ElastoDyn (SED) and AeroDisk (ADsk)), fluid-structure coupling with AMR-Wind, wake-added turbulence for FAST.Farm, linearization for MHK turbines, aeromap calculations, an updated Python library for OpenFAST file handling, revised wind and wave data handling, removal of AeroDyn14, many hydrodynamic improvements including the splitting of the wave field (new SeaState (SS) module) from HydroDyn, and many bug fixes. The number of changes to input files is very large, so we recommend reviewing the changelog below and notes in https://openfast.readthedocs.io/en/main/source/user/api_change.html for specifics about which files have changes.

Contribution Acknowledgements

Thanks to @bjonkman, @jjonkman, @deslaughter, @luwang00, @RBergua, and @mattEhall for numerous code reviews and suggestions and testing.

Many thanks to @jjonkman and others for theory development and guidance to developers.

Statistics (since 3.5.5)

  • Total PR's unique to 4.0.0: 169
  • Total individual code contributors: 27
  • OpenFAST code/docs: 601 files changed, 220202 insertions(+), 445810 deletions(-)
  • regression tests: 1587 files changed, 1214606 insertions(+), 537760 deletions(-)

Changelog


General

Build systems

There were several updates to the CMake and Visual Studio build systems to support code revisions and improve support for compilers such as Flang.

CMake

#1630 Make CMake module libs STATIC (@deslaughter)

#1989 Bug: openfastcpp executable is installed to lib directory instead of bin (@deslaughter)

#1998 switch from -fpic to -fPIC for all gfortran builds (@gbarter)

#2094 Support cross-compiling with Mingw (MAP++)(@pablo-benito)

#2133 Remove linking of implicit Fortran libraries (@jrood-nrel)

#2210 New registry needs C++14 (@deslaughter)

#2229 CMake: OpenMP turned on only if requested (@andrew-platt)

#2136 ADI: adilib was getting included in aerodynlib (@andrew-platt)

#2256 Remove ModVar from dev as ROCm Flang compiler can't build it (@deslaughter)

#2392 Install also the Map++ API headers (@sanguinariojoe)

#2442 Fix path to installed MAP include files (@deslaughter)

#1682 Fix missing symbols for Simulink and LAPACK build (@deslaughter)

Visual Studio (Windows)

#1968 VS: update VS build process to include ExtLoads (@andrew-platt)

#2187 Fix syntax errors in Visual Studio project file for AD driver (@bjonkman)

#2189 More fixes for Visual Studio (@bjonkman)

#2327 Remove AD14 from FASTlib Visual Studio project (@bjonkman)

#2548 Build OpenFAST in Visual Studio 2022 using IFX (@deslaughter)

#2589 VSbuild: updates for 4.0.0 release (binary output paths, OMP usage) (@andrew-platt)

Docker

#2183 Update GHCR doc, remove old Dockerfile (@mayankchetan)

Documentation

There were multiple improvements to documentation, notably with TurbSim, SubDyn, HydroDyn, and SeaState.

#1664, #1665 TurbSim documentation (@bjonkman)

#2212 Minor corrections to docs (@andrew-platt)

#2315, #2336 Update SeaState and HydroDyn user documentation for OpenFAST 4.0 (@luwang00)

#2366 Fixed typo in docs/source/install/index.rst (@Gjacquenot)

#2372 SubDyn: Beam Element Formulation documentation (@RBergua)

#2374 SubDyn documentation: Member Cosine Matrices (@RBergua)

#2404 Update SubDyn User Documentation to reflect the removed input parameters (@luwang00)

#2455 HydroDyn user documentation update for large platform rotation (@luwang00)

#2587 Add release notes from v2.4 - v3.4.1 (@andrew-platt)

Solvers

FAST.Farm

FAST.Farm received a major upgrade with the addition of wake-added turbulence effects across the entire farm domain. This improves the turbulence characteristics of propagating turbine wakes.

  • Input file changes

#1624 Use pointers to couple InflowWind and FAST.Farm (@deslaughter)

#1729 FF: fix plane output for wakedynamics (@ebranlard)

#2202 Wake-added turbulence in FAST.Farm (@ebranlard, @andrew-platt)

#2584 Visualization of shared moorings (@andrew-platt)

OpenFAST

Several improvements to the OpenFAST glue code include a major restructuring of the core routines for better integration into CFD, a revised initialization ordering, the addition of logic for new or replaced modules, new data passing for wave and wind data, and bug fixes. Module related updates to logic and restructuring for CFD is included in pull-requests related to those modules.

  • Input file changes

#1610 Remove TurbineType parameter (@hkross)

#1707 Linear trim solution: add error check (@bjonkman)

#2076 Move flag for WriteThisStep to FAST_PreWork (@bjonkman, @andrew-platt)

#2078 Minor code cleanup (replace some non-standard Fortran 2003 code) (@bjonkman)

#2186 [Bug] Writing checkpoint files created empty fort.# files (@deslaughter)

#2219 Turn off "#Restoring here" messages in .out files during linearization visualization sims (@andrew-platt)

#2338 Vis: Fix bug with vtk writing of non-square wave surface (@andrew-platt)

#2350 Vis: Fix another bug with vtk writing of non-square wave surface (@luwang00)

#2431 Enable linearization with MHK turbines (@andrew-platt)

#2445 ExtInfw: relocate initialization to after AD_Init (@andrew-platt)

#2478 [BugFix] Incorrect value of AirDens passed to ExtInfw_Init from FAST_Subs.f90 (@andrew-platt)

OpenFAST interfaces

OpenFASTcpp

  • Interface library changes

#2245 Fix restart file index and nc write (@ndevelder)

Simulink

#1703 Add tests for FAST_SFunc using Matlab action to integrate with CI (@deslaughter)

Modules

Multiple

There are several pull requests that affected multiple modules. Important features include the initial development of aeromaps (for controls development), initial development of the reduced order modules of AeroDisk and Simplified-ElastoDyn (overviews of each below).

#1295 Reduced order models: AeroDisk and Simplified-ElastoDyn (SED) (@andrew-platt)

#1629 MHK: add parameters for readability (@bjonkman)

#1631 Initial AeroMap changes for ElastoDyn and BeamDyn (@bjonkman)

#2203 Support for large platform yaw offset in OpenFAST (ED, HD, SD) (@luwang00)

#2254 Minor changes to FF input descriptions, re-enable test cases, update Simulink string compare (@andrew-platt)

#2332 Minor bugfix: ED blade file parsing (no PichAxis column), AD warnings (@andrew-platt)

#2415 Lidar bug fix + other minor changes (@bjonkman)

#2416 SED+ADsk: update registry comments slightly (@andrew-platt)

AeroDyn 14 (deprecated, option replaced by AeroDisk)

AeroDyn14 has been removed from the code base as it has been superseded by AeroDyn15 (now called simply AeroDyn) for many years.

#2267 AeroDyn14 removal (@andrew-platt)

AeroDisk

AeroDisk is a new module for a disk actuator aerodynamic module for modeling turbine aerodynamics as a simple actuator disk. This module assumes that the rotor is a rigid disk, and so, should be not be combined with BeamDyn or ElastoDyn with blade degrees of freedom enabled; it is meant to be used with the new Simplified-ElastoDyn module. This is useful for modeling turbines that are not of interest in very large wind farms modeled by FAST.Farm, but whose wake dynamics are needed for turbines further into the wind farm that are of interest. We do not recommend using this module with standalone OpenFAST simulations.

  • New input file

#2575 ADsk: correction to disk average velocity equations (@andrew-platt)

AeroDyn

AeroDyn improvements include a new input file, new options in BEM to improve aerodynamics for skewed and sheared inflow and coned rotors, nacelle drag, visualization improvements, unsteady aero for tailfins, an improved unsteady airfoil aerodynamics driver, multi-rotor support in the interface library, a simple ground effect model for OLAF wakes, using InflowWind pointers for data access, and many bug fixes. With the removal of AeroDyn14, AeroDyn15 is now simply referred to as AeroDyn in the input files and code (documentation may not be fully updated).

  • Major input file changes
  • Driver input file changes
  • Interface library API changes

#2428 Single value of TI in AD15 Aeroacoustics (@ptrbortolotti)

#1596 Use pointers to couple InflowWind and AeroDyn (IfW pointer) (@andrew-platt)

#1715 AD: Initial AeroMap changes for AeroDyn and misc UA/DBEMT changes (@bjonkman)

#1882 Remove IfW data from AD15 inputs (@andrew-platt)

#1909 New AeroDyn input file exposing new BEM options (polar BEM, skew momentum correction, sector averaging) (@ebranlard)

#1973 Use AD tower diameter for VTK visualization + minor improvements (@bjonkman)

#2014 Fix linearization with AD15 and IfW (@andrew-platt)

#2181 AD15: use current wind instead of extrapolated wind (IfW pointer) (@andrew-platt)

#2283 Aero modifications (many small updates) (@bjonkman)

#2358 Adding nacelle drag to AeroDyn (@mayankchetan)

#2425 AD: Bug Fix: Twist in blades 2 and 3 wrong when using Polar BEM (@ebranlard)

#2427 DBEMT_Mod = -1 for linearization (@andrew-platt)

#2429 Fix seg-fault for DBEMT_Mod=-1 (@andrew-platt)

#2456 Add safety checks in AirfoilInfo for ill-defined airfoils (@bjonkman)

#2559 Bug Fix: AD: projection method should now depend on BEM_Mod (@ebranlard)

Unsteady

#1874 Add unsteady aerodynamic model for turbine tail fin (@abhineet-gupta)

#1910 Unsteady Aero Driver: adding 3 degrees of freedom for the motion of a genralized airfoil section (@ebranlard)

#2091 Fix bug in new UA driver (array size) (@bjonkman)

#2357 Bug Fix: UA driver ...

Read more

v3.5.5

21 Dec 18:55
b48e032
Compare
Choose a tag to compare

Overview of v3.5.5

This release includes only minor bug fixes. See below for details.

Input File changes

No input file formats change.

Changelog

Overview

This release includes multiple small bug-fixes for compilation with CMake, compilation with the IFX compilers, file opening issues when OpenMP is used, and a couple of infrequent segmentation faults from improper usage. One minor feature improvement is the increase in the number of output planes available in FAST.Farm from 99 to 999.

We recommend all users currently using any 3.5.x version to update to this version. There are no input files changes or API changes for calling from other codes since version 3.5.0.

General

Build systems

#2497 CMAKE_INSTALL_PREFIX was incorrectly being prepended to the install direcotry (@deslaughter) Derek Slaughter

#2564 Create BUILD_OPENFAST_LIB_DRIVER flag for the OpenFAST C++ Library Interface (not CFD) (@deslaughter)

Docker

#2498 Docker: typo was preventing docker build upload to GH (@andrew-platt)

Solvers

FAST.Farm

#2536 FAST.Farm: increase number of output planes to 999 (@andrew-platt)

#2554 Add !$OMP critical directives around some GetNewUnit/Open*File to reduce probability of file unit conflicts (@andrew-platt)

#2569 Disable LiDAR in IfW at FAST.Farm level (@andrew-platt)

Module changes

AeroDyn

#2501 Remove $OMP directives from AeroDyn_Inflow due to Intel compiler bug (@deslaughter)

#2516 AD bugfix: Segmentation fault with ifx compiler (@andrew-platt)

InflowWind

#2518, #2530 ADI bugfix: BoxExceed was not enabled for OLAF with ADI (@andrew-platt)

#2532 bugfix: IfW rotor points for disk average incorrect (@andrew-platt)

NWTC-Library

#2558 Allow ParseVar to parse file paths containing spaces. (@deslaughter)

Input file changes

No input files change with this release as this only includes minor bugfixes (input files are identical across all 3.5.x releases).

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.5 (example input files from the regression testing)

Precompiled Windows Binaries

The binary files in this release were built with the Visual Studio solution files distributed with OpenFAST (not using cmake), using

  • Intel Fortran compiler 2021 (Update 2, w_oneAPI_2021.2.0.243) with Microsoft Visual Studio Community 2019
  • Microsoft Visual C++ 2019 (C), for build in Matlab
  • MATLAB Version: 9.9.0.1857802 (R2020b) Update 7
  • Executables with _OpenMP or _OMP in the name are built with OpenMP libraries and linked with dynamic libraries.

The other OpenFAST executables DO NOT require these redistributable libraries to be installed. Instead, they were built with static libraries.

v3.5.4

29 Oct 21:50
6a63db7
Compare
Choose a tag to compare

Overview of v3.5.4

This release includes a performance increase for BeamDyn and several minor bug fixes. See below for details

Bugfixes

There are numerous bug fixes in several modules. See below for details.

Input File changes

No input file formats change.

Changelog

Overview

This release includes performance improvements for BeamDyn (up to 30% speed increase), python file readers and writers from WEIS, and a fix for stack overflows with FAST.Farm (Intel compilation). A few other minor updates are included as outlined below.

Anyone using BeamDyn will want to update to this version.

General

Build systems

#2311 Always build openfastcpplib as shared. Use BUILD_OPENFAST_CPP_DRIVER to disable openfastcpp executable (@deslaughter)
#2173 Fix crash in MAP_End when using Intel's new icx compiler and disable caching in setup-python GH action (@deslaughter)

Python file readers/writers

#2188 Add WEIS file readers and writers (@cortadocodes and @mayankchetan)

Solvers

FAST.Farm

#2452 Fix for some stack overflow issues with FAST.Farm when copying large amounts of wind data (closes #2053) (@andrew-platt)
#2340 Add !$ OMP critical around file opening for VTK to prevent file collision (@andrew-platt)

Module changes

BeamDyn

#2399 BeamDyn performance improvements (@deslaughter)

ElastoDyn

#2321 Backport of #2317: Explicitly initialize ED RtHS to zero -- corrects issue with inccorect linearization results (@andrew-platt)

HydroDyn

#2397 HD bug fix: prevent array index out-of-bound error in HDOut_MapOutputs when more than 9 potential-flow bodies are present (@luwang00)

NWTC-Library

#2389 FileInfoType: increase line length allowed (@andrew-platt)

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.4 (example input files from the regression testing)

Precompiled Windows Binaries

The binary files in this release were built with the Visual Studio solution files distributed with OpenFAST (not using cmake), using

  • Intel Fortran compiler 2021 (Update 2, w_oneAPI_2021.2.0.243) with Microsoft Visual Studio Community 2019
  • Microsoft Visual C++ 2019 (C), for build in Matlab
  • MATLAB Version: 9.9.0.1857802 (R2020b) Update 7
  • Executables with _OpenMP or _OMP in the name are built with OpenMP libraries and linked with dynamic libraries.

The other OpenFAST executables DO NOT require these redistributable libraries to be installed. Instead, they were built with static libraries.

v3.5.3

11 Apr 20:57
6a7a543
Compare
Choose a tag to compare

Overview of v3.5.3

This release includes a long awaited set of bug fixes for linearization with BeamDyn. Anyone needing to linearize with BeamDyn should not use any version of OpenFAST prior to this release.

Other notable improvements include corrections to turbine indexing when coupled to external codes such as AMR-Wind, new linearization regression tests, and new docker images.

🎉 First time contributors: @cortadocodes at @octue, @mayankchetan, @reilandsberger, and @jrood-nrel.

Bugfixes

There are numerous bug fixes in several modules. See below for details.

Input File changes

No input file formats change.

Changelog

General

Build systems

#2116 VSbuild: always build Registry as release x64 (@andrew-platt)
#2120 #2125 CMake: openmp optional for FF and CPP if not explicitly requested (@andrew-platt and @deslaughter)
#2128 VSbuild: set VS version to VS 2017 (@andrew-platt)
#2138 Remove linking of implicit Fortran libraries. (@jrood-nrel, first time contributor 🎉)

Docker builds

#2124 Update dockerfile and facilitate nrel/openfast Docker Hub registry, with documentation (@cortadocodes, first time contributor 🎉)
#2139 Add final dockerfile updates (@cortadocodes)
#2141 GH actions to push docker image to Github container registry (@mayankchetan, first time contributor 🎉)

GH actions

#2041 Upgrade to setup-python@v4 and cache@v4 for GH actions (@andrew-platt)
#2129 Fix cache failure in Github Actions caused by setup-python (@deslaughter)

Documentation

#2130 Fix cache failure in Github Actions caused by setup-python (@andrew-platt)
#2144 Edit to readthedocs.io -- Adding Internal Reference Hyperlink for appendixD.rst (@reilandsberger, first time contributor 🎉)
#2145 Docs/update for 3.5.3 release (@andrew-platt)

Solvers

OpenFAST

#2060 Fix BD + AD linearization indexing (negative damping results) (@deslaugher and @andrew-platt)

Module changes

Multiple

#2118 Fix use of uninitialized variables in FAST.Farm and increase stack size in Visual Studio (@deslaughter and @andrew-platt)

BeamDyn

#2063 Fix bug in BD linearization resulting from reference rotation change (@deslaughter)
#2085 Bug: BeamDyn Initial Strain and Linearization (@deslaughter)

MoorDyn

#2049 Backport of bathymetry bugfixes in #2013 and #2016 (@RyanDavies19)

OpenFAST library

#2097 Consistent use of turbine indexing when coupled to c/c++ (@andrew-platt and @deslaughter)

ServoDyn

#2079 Handling of Paths for SrvD UserSubs Input Files (@rdamiani)
#2134 Bugfix seg fault if blade StC used while writing summary file (@andrew-platt)

TurbSim

#2102 TurbSim: increase filename to 1024 characters (@andrew-platt)

Regression tests

#2038 Add linearization regression tests (@andrew-platt)
#2055 Lin tests: increase out precision, error printing full filename, add SD linearization test (@andrew-platt)

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.3 (example input files from the regression testing)

Precompiled Windows Binaries

The binary files in this release were built with the Visual Studio solution files distributed with OpenFAST (not using cmake), using

  • Intel Fortran compiler 2021 (Update 2, w_oneAPI_2021.2.0.243) with Microsoft Visual Studio Community 2019
  • Microsoft Visual C++ 2019 (C), for build in Matlab
  • MATLAB Version: 9.9.0.1857802 (R2020b) Update 7
  • Executables with _OpenMP or _OMP in the name are built with OpenMP libraries and linked with dynamic libraries.

The other OpenFAST executables DO NOT require these redistributable libraries to be installed. Instead, they were built with static libraries.

v3.5.2

18 Jan 22:34
4b6337f
Compare
Choose a tag to compare

Overview of v3.5.2

This release contains only bugfixes. No input files are changed from release https://github.com/OpenFAST/openfast/releases/tag/v3.5.0

Bugfixes

There are numerous bug fixes in several modules. See below for details.

Input File changes

No input file formats change.

Changelog

General

Build systems

#1948 Pass Python_EXECUTABLE to pfunit, add error check on Python version (@andrew-platt)

Module changes

AeroDyn

#1913 ADI: memory leak in ADI_UpdateStates (@andrew-platt)

AWAE

#1963 FAST.Farm, Mod_AmbWind=3: add error if HR grid not centered on turbine in Y dimension (@andrew-platt)

HydroDyn

#1872 Fix segfault in HD when no outputs specified (@deslaughter)

Regression tests

#1886 Update floating MHK case input files (@hkross)

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.2 (example input files from the regression testing)

Precompiled Windows Binaries

The binary files in this release were built with the Visual Studio solution files distributed with OpenFAST (not using cmake), using

  • Intel Fortran compiler 2021 (Update 2, w_oneAPI_2021.2.0.243) with Microsoft Visual Studio Community 2019
  • Microsoft Visual C++ 2019 (C), for build in Matlab
  • MATLAB Version: 9.9.0.1857802 (R2020b) Update 7
  • Executables with _OpenMP or _OMP in the name are built with OpenMP libraries and linked with dynamic libraries.

The other OpenFAST executables DO NOT require these redistributable libraries to be installed. Instead, they were built with static libraries.

v3.5.1

20 Oct 17:55
6a6511a
Compare
Choose a tag to compare

Overview of v3.5.1

This release primarily contains bugfixes, and a very small handful of new minor features. No input files are changed from release https://github.com/OpenFAST/openfast/releases/tag/v3.5.0

New features

Visualization of HydroDyn Morison meshes and MoorDyn mooring lines and rods is now possible in both line and surface rendering.

Bugfixes

There are numerous bug fixes in several modules. See below for details.

Input File changes

No input file formats change.

Changelog

General

Build systems

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

Documentation

#1788 Readthedocs configuration changes (@andrew-platt)

Solvers

FAST.Farm

#1648 Fix bug with Mod_AmbWind=3 -- hub point wasn't shifted. (@andrew-platt)

Module changes

AeroDyn

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

BeamDyn

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

ElastoDyn

#1654 fix segfault when BldNd_BladesOut==0 (Also for AeroDyn) (@andrew-platt)

HydroDyn

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

InflowWind

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

MAP++

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

MoorDyn

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

NWTC-Library

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

SubDyn

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

Regression tests

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

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)

Precompiled Binaries

The binary files in this release were built with the Visual Studio solution files distributed with OpenFAST (not using cmake), using

  • Intel Fortran compiler 2021 (Update 2, w_oneAPI_2021.2.0.243) with Microsoft Visual Studio Community 2019
  • Microsoft Visual C++ 2019 (C), for build in Matlab
  • MATLAB Version: 9.9.0.1857802 (R2020b) Update 7
  • Executables with _OpenMP or _OMP in the name are built with OpenMP libraries and linked with dynamic libraries.

The other OpenFAST executables DO NOT require these redistributable libraries to be installed. Instead, they were built with static libraries.

v3.5.0

16 May 20:51
6b8706b
Compare
Choose a tag to compare

Overview of v3.5.0

This release includes several new features, bugfixes, and improvements.

New Features

New features include Lidar simulation within the InflowWind module, the ability to simulate a marine hydro-kinetic turbine (MHK) on a floating platform with an downward pointing tower, VTK based visualization with the BeamDyn driver, and a non-uniform point distribution in the OpenFOAM module for improved coupling fidelity to CFD with actuator lines.

Bugfixes

There were several bugfixes in SubDyn, AeroDyn, and HydroDyn. See below for details.

Improvements

AeroDyn received a minor update to the BEM solver to better model cone and prebend.

The QuKi (quad kind, 128 bit reals) was removed from OpenFAST allowing for building with on architectures that don't support 128 bit reals, and compilers that could not use it.

The build system was completely overhauled to improve general usability. This includes support for the Flang compiler in addition to the GCC and Intel compilers, the ability to install LAPACK and BLAS from source with CMake (USE_LOCAL_STATIC_LAPACK option), improved support for Ninja on all platforms, the option to directly build FAST_SFunc from CMake for linking OpenFAST with Simulink, and some minor cleanup for better readability.

Input file changes

The InflowWind input file has a new section for the Lidar simulator. There are also some minor changes to the C++ interface. See the end of the Changelog below for a summary, or see https://openfast.readthedocs.io/en/main/source/user/api_change.html. For sample input files, take a look at the regression tests at https://github.com/OpenFAST/r-test/tree/v3.5.0 in the r-test submodule for OpenFAST.

Changelog

General

Build systems

#1010 Use Cmake OBJECT libraries to create openfastlib and add option to use downloaded reference lapack and blas sources (USE_LOCAL_STATIC_LAPACK option in CMake) @reos-rcozier
#1427 Improve CMake's FindMKL to avoid rutime issues and preloading libraries @gbarter
#1506 Fix compilation issue, using Intel OneAPI on Linux (missing -fPIC flag) @pablo-benito
#1530 Add missing objects from #1010
#1535 [BugFix] CMake build on Windows and Ninja build on all platforms
#1538, #1542 Add support for Flang (Classic) compiler
#1555, #1566 Modernize CMake, remove object libraries, build Simulink MEX
#1561 [BugFix] typo in souce file list for Visual Studio build of AeroDyn driver @bjonkman

Documentation

#1419 update manual regression testing syntax for Windows
#1559 [BugFix] Limit urllib3 version so that readthedocs builds

Solvers

OpenFAST

#1453, #1560 Remove QuKi (quad-precision) from OpenFAST

FAST.Farm

#1504 Increase number of VTK output planes from 9 to 99

TurbSim

#1550 [BugFix] fix index into Z array for text grid files @bjonkman

Module changes

AeroDyn

#1477 Allow tower, hub, nacelle, and rotor below platform for MHK turbines
#1509 Improved coning and prebend modeling in future BEM
#1541 AeroDyn_Inflow minor updates
#1567 fix some divide by zero issues

BeamDyn

#1474 BeamDyn driver visualization, and driver bugfix
#1482 Fix convergence issue at initialization

ElastoDyn

#1477 Allow tower, hub, nacelle, and rotor below platform for MHK turbines.

HydroDyn

#1480 [BugFix] NBody>1 && NBodyMod==1 bug in WAMIT2

InflowWind

#1464 Add LIDAR simulation within InflowWind with control channels passed to controller @Russell9798
#1534 [BugFix] potential error when requesting wind below the ground (also fix build issue with SD syntax) @bjonkman
#1516, #1543, #1549 InflowWind restructure

OpenFOAM

#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

#1493 C++ interface for OpenFOAM module includes NodeClusterType_c argument

Input file changes

#1464 New section in InflowWind input file for LIDAR inputs

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.0 (example input files from the regression testing)

Precompiled Binaries

The binary files in this release were built with the Visual Studio solution files distributed with OpenFAST (not using cmake), using

  • Intel Fortran compiler 2021 (Update 2, w_oneAPI_2021.2.0.243) with Microsoft Visual Studio Community 2019
  • Microsoft Visual C++ 2019 (C), for build in Matlab
  • MATLAB Version: 9.9.0.1857802 (R2020b) Update 7
  • FAST.Farm_x64_OMP.exe is built with OpenMP libraries and linked with dynamic libraries.

The other OpenFAST executables DO NOT require these redistributable libraries to be installed. Instead, they were built with static libraries.

v3.4.1

12 Feb 01:56
Compare
Choose a tag to compare

Release Notes

OpenFAST 3.4.1 is a minor release to revert a channel name change in AeroDyn 15. This also contains minor fixes for documentation builds.

Documentation

#1442 `[BugFix] Doxygen builds failing on rtd, and locally. Documentation builds on readthedocs and local were failing due to a change in the backend of sphinx. This fixes local builds, but does not fix readthedocs builds. As a temporary workaround, doxygen is disabled on readthedocs.

AeroDyn15

#1428 AD15: revert to Aero names for output channels (Fld is now an alias). This fixes an issue introduced in v3.4.0 (#957)

Precompiled Binaries

The binary files in this release were built with the Visual Studio solution files distributed with OpenFAST (not using cmake), using

  • Intel Fortran compiler 2021 (Update 2, w_oneAPI_2021.2.0.243) with Microsoft Visual Studio Community 2019
  • Microsoft Visual C++ 2019 (C), for build in Matlab
  • MATLAB Version: 9.9.0.1857802 (R2020b) Update 7
  • FAST.Farm_x64_OMP.exe is built with OpenMP libraries and linked with dynamic libraries.

The other OpenFAST executables DO NOT require these redistributable libraries to be installed. Instead, they were built with static libraries.

OpenFAST v3.4.0

11 Jan 21:25
e8ec53f
Compare
Choose a tag to compare

Release Notes

OpenFAST v3.4.0 includes several major new features and bug fixes. New features include a new curled-wake model in FAST.Farm (#931), buoyancy calculations in AeroDyn 15 for MHK turbines (#957), rotor and tail furling (#1277), and new library interfaces for AeroDyn 15 and MoorDyn to couple with other codes (#1110 & #848). One major bug fix is changing the CFD coupling to use only the AeroDyn 15 mesh information -- this had led to some discrepancies in CFD results (#1324).

The full set of changes included in this version are further documented in the following listed pull requests.

General

#889 Add a super-controller library target to CMake
#1303 Small reorganization and clean up FAST.Farm r-test input files, upload of artifact
#1311 NWTC_IO: nullifying DLL (on restart) if not present when packing
#1318 Allow Registry to generate extrap/interp routines for types without module nickname
#1327 add version info to c-binding libraries
#1332 Documentation fixes
#1357 CI: exclude bokeh 3.0.[0-3] -- broken plots
#1376 Add regression_tests to the ALL target.

Documentation

#1267 OLAF: documentation: updated guidelines and using nFWPanels instead of WakeLength
#1406 Update example InflowWind and FAST.Farm input files

Visualization

#1319 Cleanup OpenFAST VTK output for HydroDyn
#1321 Add safety checks to VTK output
#1330 VTKLin: being more forgiving with number of modes
#1333 NWTC_Lib: Adding Yaml and VTK to library (moved from SD and AD)

FAST.Farm

#931 Implementation of the curled-wake model in FAST.Farm
#1263 FAST.Farm WriteOutput: fix for Windows Intel OMP build
#1304 API changes for future curl wake implementation, WD restructuring (Cq, OMP, skew filt)
#1305 FF: Cartesian grid for AWAE and WD outputs
#1310 FF: additional OpenMP parallelizations in FAST.Farm
#1328 FF: update of guidelines for Curled wake dr and DT_low

OpenFAST

#1275 Linear Trim Solution Improvements (Linearization)

AeroDyn

#957 Calculate buoyancy for an MHK turbine
#1110 New AeroDynInflow module with c-bindings interface
#1276 Bug Fix: OLAF: particles are NaN when vortex segments have zero length
#1277 Reactivating rotor furling and tailfin aerodynamics (ElastoDyn also)
#1283 Add new projection method and BEM methods
#1293 Minor error handling and code cleanup (OLAF)
#1317 Fix for Visual Studio builds with ADI
#1347 AeroDyn/UnsteadyAero_Driver: Fix for bug #1346
#1355 OLAF: Adding free near wake panels
#1356 AeroDyn/UnsteadyAero_Driver: Fix for bug #1346
#1369 UA: adding UA_Driver outputs, fix separation function for UAMod=6, and adding r-tests

BeamDyn

#1335 BeamDyn: output summary file in yaml format

InflowWind

#1240 Improvements to the InflowWind disk averaged velocity calculations
#1266 Temporarily removing InflowWind parallelization

MoorDyn

#848 MoorDyn v2 C-bindings interface
#1371 MoorDyn bending bugfix and message updates for v2

OpenFOAM

#1324 CFD coupling to use AD15 mesh only
#1365 OpFM: [bugfix] test for warning condition was broken
#1372 [BugFix] the DEBUG_OPENFOAM preprocessor directive was never updated for multiple AD15 rotors

TurbSim

#1361 TurbSim: User-defined time series updates

Precompiled Binaries

The binary files in this release were built with the Visual Studio solution files distributed with OpenFAST (not using cmake), using

  • Intel Fortran compiler 2021 (Update 2, w_oneAPI_2021.2.0.243) with Microsoft Visual Studio Community 2019
  • Microsoft Visual C++ 2019 (C), for build in Matlab
  • MATLAB Version: 9.9.0.1857802 (R2020b) Update 7
  • FAST.Farm_x64_OMP.exe is built with OpenMP libraries and linked with dynamic libraries.

The other OpenFAST executables DO NOT require these redistributable libraries to be installed. Instead, they were built with static libraries.

OpenFAST v3.3.0

28 Oct 18:04
5f3fb6e
Compare
Choose a tag to compare

Release Notes

General

#1183 Fix bugs and issues in the online documentation
#1248 OpenFAST Registry: allow pointers

AeroDyn

#1000 Updates of Unsteady Aero (UAMod=4) and DBEMT (DBEMT_Mod=3) for linearization
#1037 Bug fix: BEMT was disabled for negative inflow
#1042 AD: merge more of TwrInfl and TwrInflArray routines
#1061 Fix AeroDyn WriteOutput linearization (and cleanup some code)
#1078 Enable cavitation calculation and outputs using FVW
#1188 AD15 driver: add visualization option for line meshes in addition to surfaces
#1239 AeroAcoustics: fix BL-thickness for heavily-tripped airfoil

HydroDyn

#999 Fix HD added mass on member end (Close #992)
#1230 HD: increase max length of line read from kinematics files

MoorDyn

#1086 MoorDyn v2 + shared moorings + wave propagation in FAST.Farm

MAP++

#1186 MAP: allow keyword fixed and fix

NWTC Library

#1254 NWTC Library and WriteOutput updates

Build System

#1198 Option to disable variable tracking with GNU compiler
#1228 r-test: Remove -m64 in CMAKE_Fortran_FLAG from r-test

Testing System

#1203 Add parallel branches to GitHub Actions
#1217 Consolidate regression test baseline set
#1222 Improvements to regression test python scripts
#1244 Reg-test scripts modification to help avoid race condition and cleanup of caselist
#1264 GitHub Workflow: adding build-all-debug-single to check type errors

C++ API

#1176 Simulink: add documentation of inputs to FAST_Library.h
#1211 Use dt_out when storing OpenFAST outputs in Python interface
#1227 Seg Fault due to hub model and external inflow

Linearization

#1199 Small improvements for -VTKLin visualization outputs

Precompiled Binaries

The binary files in this release were built with the Visual Studio solution files distributed with OpenFAST (not using cmake), using

  • Intel Parallel Studio XE 2019 for Fortran (Update 5) with Microsoft Visual Studio 2017
  • Microsoft Visual C++ 2015 (C) (v1.40), for build without Simulink interface
  • Microsoft Visual C++ 2017 (C) (v1.41), for build in Matlab
  • MATLAB Version: 9.11.0.1837725 (R2021b) Update 2
  • FAST.Farm_x64_OMP.exe is built with OpenMP libraries and linked with dynamic libraries.

The other OpenFAST executables DO NOT require these redistributable libraries to be installed. Instead, they were built with static libraries.