Releases: OpenFAST/openfast
v4.1.0
Changelog (since 4.0.5)
Overview
This release removes the SuperController from FAST.Farm in favor of ZeroMQ communication between ROSCO controllers.
This release also adds several new features including direct coupling of MoorDyn to SeaState, rectangular members in HydroDyn and SubDyn, vortex-induced vibration (VIV) capabilities in MoorDyn, and a new pyOpenFAST module for calling c-binding libraries directly from Python.
This release also includes several bug fixes and improvements for AeroDyn, BeamDyn, MoorDyn, OpenFAST, several various c-binding libary interfaces, and GitHub actions.
General
CMake build system
#2632 Reduce optimization level for FAST*_Types.f90
with gcc (@andrew-platt)
GitHub actions
#2636 Add job to build Windows executables to deploy.yml (@deslaughter)
#2771 Update GH conda-deploy action to use Ubuntu 24.04 (@andrew-platt)
Visual Studio build system
#2866 VS build: fix MD, add SeaStateS_c_binding
and update GH deploy
action (@andrew-platt)
Python packages
openfast_io
#2658 openfast_IO
MoorDyn compatibility (@RyanDavies19)
pyOpenFAST
This is a new python package that interfaces the c-bindings library versions of OpenFAST with Python. Users who want to call standalone OpenFAST modules from Python will want to look into using this package. Note that the documentation is limited at this time.
This package is also used in testing (see documentation on testing environments)
#2680 Refactor the Aerodyn/Inflowwind Python interface to the C-bindings interface (@faisal-bhuiyan)
#2719 Python infrastructure improvements (new pyOpenFAST package) (@rafmudaf)
Solvers
FAST.Farm
#2729 Remove supercontroller from FAST.Farm (@abhineet-gupta)
OpenFAST
#2671 Avoid ending program when called as a shared library (@bjonkman)
#2705 MoorDyn-SeaState Coupling (OpenFAST and FAST.Farm) (@RyanDavies19)
#2760 bug fix: Adjust steady-state solver small angle assumptions (@bjonkman)
Module changes
multiple modules
#2770 Bug fix for Failed0 error checking functions (@rafmudaf)
AeroDyn
#2848 Bug fix: remove spaces in OLAF's UA summary file name (@bjonkman)
BeamDyn
#2642 [BugFix] BD: variable passing in Calc_RR0mEta_rho
(@bjonkman, @andrew-platt)
HydroDyn
#2646 Implementation of rectangular members in HD and SD (@luwang00)
#2663 HydroDyn C-binding: Added mass matrix (@luwang00)
#2787 HD-cbind: Add HydroDyn input files handle (@wenchaoyu, @andrew-platt)
#2865 Reduce memory requirement in HydroDyn initialization (@bjonkman)
MoorDyn
#2746 MoorDyn bugfixes (@RyanDavies19)
#2650 MoorDyn: VIV and Rk4 solver (@RyanDavies19 )
#2791 MD cbind: correction to description of mesh point mapping (@andrew-platt)
#2794 MoorDyn wave directional spreading and custom current profile if no SeaState current (@RyanDavies19)
SeaState
#2720 Adds first pass SeaState C Binding interface (@rafmudaf)
ServoDyn
#2798 Docs: correct Bladed Interface channel 63 description (@andrew-platt)
SubDyn
#2646 (see above in HydroDyn)
TurbSim
#2808 [BugFix] TurbSim calculating grid bottom location (@ptrbortolotti)
Documentation
#2867 Docs: update info on testing (with pyOpenFAST
module) (@andrew-platt)
#2850 Docs Update for the New Rectangular Members in HydroDyn and SubDyn (@luwang00)
Typo fixes in code comments
There have been several "fluff" pull requests with only typo fixes and no code changes.
#2858 Fix Typos in Comments and Log Messages for Flexural and Crushing Ice Failure Initialization (@kilavvy)
Regression Testing
#2765 MHK RM1: reduce HD resolution (@andrew-platt)
Code API changes
The SuperController has been removed. This changes the interfaces for some files:
CPP interface
glue-codes/openfast-cpp/src/OpenFAST.H
class fastInputs {
class OpenFAST {
glue-codes/openfast-cpp/src/OpenFAST.cpp
class fastInputs
fast::fastInputs::fastInputs():
OpenFAST library interface
modules/openfast-library/src/FAST_Library.h
FAST_ExtLoads_Restart
- removal of SuperController argumentsFAST_ExtLoads_Init
- removal of SuperController argumentsFAST_ExtInfw_Restart
- removal of SuperController argumentsFAST_ExtInfw_Init
-removal of SuperController arguments
modules/openfast-library/src/FAST_Library.f90
FAST_ExtLoads_Restart
- removal of SuperController argumentsFAST_ExtLoads_Init
- removal of SuperController argumentsFAST_ExtInfw_Restart
- removal of SuperController argumentsFAST_ExtInfw_Init
-removal of SuperController arguments
HydroDyn c-binding library interface
modules/hydrodyn/src/HydroDyn_C_Binding.f90
HydroDyn_C_Init
- argumentsHydroDyn_C_CalcOutput_and_AddedMass
- new routine
MoorDyn c-bindings libarary interface
modules/moordyn/src/MoorDyn_C_Binding.f90
MD_C_Init
- new argument
Input file changes
This release brings several input file changes including the FAST.Farm (removal of supercontroller sections), HydroDyn (new sections for rectangular members, revised members table), SubDyn (new rectangular cross-section table, and additional columns in other tables).
A list of changes can be found here: https://openfast.readthedocs.io/en/main/source/user/api_change.html. However, we recommend that if you start by comparing to the complete set of input files found in the regression tests: https://github.com/OpenFAST/r-test/tree/v4.1.0 (example input files from the regression testing)
Known issues
There are several issues that have not been addressed in this release due to time constraints, but will be addressed in future releases. These include:
- No visualization of rectangular members from HydroDyn or SubDyn through the VTK output options
- Missing and broken features from several c-binding library interfaces:
- the AeroDyn_Inflow_c-binding library interface does not allow for coupling to the tower. This will require an interface update.
- the HydroDyn_c-binding library interface does not currently support vizualization. This will require an interface update.
- the
InitNodePositions
input to HydroDyn_c-binding library interface does not currently work with any non-zerox
ory
coordinates (non-zeroz
is ok) - the MoorDyn_c-binding library interface does not currently support vizualization. This will require an interface update.
- error messages from c-binding library interfaces will get truncated to 1024 characters. A fix is nearly ready, but will have to wait until the next release.
- There are leftover unused and incomplete files from development in the
glue-codes/python
directory. These will be removed later. - A
glue-codes/labview/src/WaveTank.f90
file is included in this release, but it is incomplete and untested. This is a placeholder for internal development work that may be released in complete form at a later date. - The GitHub
deploy
action to build Windows executables does not currently catch failed builds. This might be addressed at a later date. We are manually checking these builds for now. - Documentation on the new pyOpenFAST module is incomplete. Partial documentation exists on how to use it in regression testing, but no documentation or examples exist on using it to call c-bindings modules from Python.
- Documentation is incomplete for HydroDyn, SubDyn, and a few other modules.
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.12 (
p_oneAPI_2024.1.0.595
) with Microsoft Visual Studio 2022 - Microsoft Visual C++ 2022 (C), for build in Matlab
- MATLAB Version: 2024.2.999 (R2024b)
- Executables with
_OpenMP
or_OMP
in the name are built with OpenMP libraries and linked with dynamic libraries.- You will need this Intel Fortran redistributable package installed to use these executables if you do not already have Intel Fortran OneAPI 2024 installed. See the installation instructions here.
- You may also need a redistributable library for Visual Studio installed. See instructions here.
The other OpenFAST executables DO NOT require these redistributable libraries to be installed. Instead, they were built with static libraries.
v4.0.5
v4.0.5 Overview
This is a minor incremental bug fix release. See the changelog below for details.
Changelog
Overview
This release includes several bug fixes and improvements for OpenFAST, GitHub actions, and openfast_io.
General
CMake build system
GitHub actions
#2825 Simplify GitHub Action for regression tests (backport from dev-tc) (@deslaughter)
openfast_io
#2828 updated outlist reading in openfast_io (@mayankchetan)
#2818 OpenFAST IO updates: MoorDyn and StC (@dzalkind)
Solvers
OpenFAST
#2831 [BugFix] WrVTK with VTK_fps fails (@andrew-platt)
Interfaces
cpp interface
#2792 Fix openfastcpp restart parsing of file name (@marchdf)
#2804 Add a checkError in openfast cpp (@marchdf)
#2815 Fix restart parsing of file name (backport of #2792 and #2793) (@marchdf)
Module changes
AeroDyn
#2853 Backport #2848 (@bjonkman)
BeamDyn
#2811 BD: new output - aero only loads mapped to the root (@andrew-platt)
IceFlow
#2855 Fix Typo in "interpolation" in Ice Crushing Modules (@leopardracer)
SubDyn
#2821 bugfix: SD maximum number of output channels was incorrectly set (@andrew-platt)
Input file changes
No input file changes since v4.0.0
#2829 FF: typo in SeaState names in MD_Shared
.fst files - this is not an API change (@andrew-platt)
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.12 (
p_oneAPI_2024.1.0.595
) with Microsoft Visual Studio 2022 - Microsoft Visual C++ 2022 (C), for build in Matlab
- MATLAB Version: 2024.2.999 (R2024b)
- Executables with
_OpenMP
or_OMP
in the name are built with OpenMP libraries and linked with dynamic libraries.- You will need this Intel Fortran redistributable package installed to use these executables if you do not already have Intel Fortran OneAPI 2024 installed. See the installation instructions here.
- You may also need a redistributable library for Visual Studio installed. See instructions here.
The other OpenFAST executables DO NOT require these redistributable libraries to be installed. Instead, they were built with static libraries.
v4.0.4
v4.0.4 Overview
This is a minor incremental bug fix release. See the changelog below for details.
Changelog
Overview
This release includes several bug fixes and improvements for OpenFAST, GitHub actions, and openfast_io.
General
CMake build system
GitHub actions
#2778 Backport of GitHub Action to build windows executables on release (@deslaughter) -- backport of #2636
openfast_io
#2779 MD: Backport of PR #2658 -- openfast_IO MoorDyn compatibility (@RyanDavies19)
#2777 bug fix #2762 (@mayankchetan)
#2658 openfast_IO MoorDyn compatibilityModule (@RyanDavies19)
Solvers
Simulink
#2785 Avoid ending program when called as a shared library (@bjonkman) -- backport of #2671
Module changes
OpenFAST library
#2780 backport of #2760: bug-fix: Adjust steady-state solver small angle assumptions (@bjonkman)
#2776 Fix FAST_ExtInfw_Restart APIC++ API (@marchdf)
Input file changes
No input file changes since v4.0.0
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.12 (
p_oneAPI_2024.1.0.595
) with Microsoft Visual Studio 2022 - Microsoft Visual C++ 2022 (C), for build in Matlab
- MATLAB Version: 2024.2.999 (R2024b)
- Executables with
_OpenMP
or_OMP
in the name are built with OpenMP libraries and linked with dynamic libraries.- You will need this Intel Fortran redistributable package installed to use these executables if you do not already have Intel Fortran OneAPI 2024 installed. See the installation instructions here.
- You may also need a redistributable library for Visual Studio installed. See instructions here.
The other OpenFAST executables DO NOT require these redistributable libraries to be installed. Instead, they were built with static libraries.
v4.0.3
v4.0.3 Overview
This is a minor incremental bug fix release. See the changelog below for details.
Changelog
Overview
This release includes several bug fixes and improvements for FAST.Farm, including segmentation faults with large farms, file I/O collision fixes, increased error message length, and build/compile issues.
General
CMake build system
#2709 Add "nouninit" to debug flags for IntelLLVM (@andrew-platt)
#2732 Disable use of heap arrays for the Intel fortran compilers (@deslaughter)
openfast_io
#2727 generate BD files if fst_vt dictionary BD keys are not empty (@mayankchetan)
Visual Studio build
#2742 Fix VS build for FAST when using IFX Complier (@deslaughter)
Solvers
FAST.Farm
#2711 Fix FAST.Farm issues with OMP (segfaults mostly) (@andrew-platt)
Module changes
NWTC library
#2710 Increase length of error messages (@andrew-platt)
#2741 bug in simulation status number of days left (@andrew-platt)
Input file changes
No input file changes are required from 4.0.2.
Precompiled Windows Binaries
coming soon
The binary files in this release were built with the Visual Studio solution files distributed with OpenFAST (not using cmake), using
- Intel Fortran compiler (ifx) 2025.1.0 with Microsoft Visual Studio Community 2022
- Microsoft Visual C++ 2022 (C), for build in Matlab
- MATLAB Version: 24.2.0.2863752 (R2024b) Update 5
- Executables with
_OpenMP
or_OMP
in the name are built with OpenMP libraries and linked with dynamic libraries.- You will need this Intel Fortran redistributable package installed to use these executables if you do not already have Intel Fortran OneAPI 2025 installed. See the installation instructions here.
- You may also need a redistributable library for Visual Studio installed. See instructions here.
The other OpenFAST executables DO NOT require these redistributable libraries to be installed. Instead, they were built with static libraries.
v4.0.2
v4.0.2 Overview
This is a minor incremental bug fix release. See the changelog below for details.
Changelog
Overview
This release includes a bug fix to the ExternalInflow
module which is used by AMR-Wind to provide wind velocities to AeroDyn and receive aerodynamic forces. It also contains additional documentation on OpenFAST coordinate systems and more information on the release process.
General
#2626 Docs: add presentation overview of OF Coordinate systems (2024) (@andrew-platt)
#2627 Update ReleaseProcess.md notes (@andrew-platt)
Module changes
ExternalInflow
#2628 Fix bug in ExternalInflow Orientation indexing (@deslaughter)
Input file changes
No input file changes are required from 4.0.1.
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.- You will need this Intel Fortran redistributable package installed to use these executables if you do not already have Intel Fortran OneAPI 2021 installed. See the installation instructions here.
- You may also need a redistributable library for Visual Studio installed. See instructions here.
The other OpenFAST executables DO NOT require these redistributable libraries to be installed. Instead, they were built with static libraries.
v4.0.1
v4.0.1 Overview
This is a minor incremental bug fix release. See the changelog below for details.
Changelog
Overview
This release includes multiple small bug-fixes including compilation issues with Flang and Intel (IFX), improved diagnostics for the AeroDyn_Inflow_c-binding interface, user specified external loads and damping for MoorDyn, Wind_IO
updates, a fix for a stack overflow with FAST.Farm built with Visual Studio on Windows, and other minor bugfixes.
General
Wind_IO
#2603 updates to handle writing OpenFAST models from weis and wind_io (mayankchetan)
Build systems
#2607 Windows VS build -- stack overflow with FAST.Farm (andrew-platt)
#2619 ROCM Flang doesn't compile NWTC_IO.f90 (andrew-platt)
#2621 Bugfix: Update create_FAST_SFunc.m
for Windows, update docs on Simulink MEX building (andrew-platt)
Module changes
AeroDyn
#2609 AD bugfix: aerodyn driver non-OLAF combined cases don't update wind (andrew-platt)
#2615 Improve diagnostics for ADI_c interface coupling (andrew-platt)
MoorDyn
#2597 MD: User-specified external forces and translational damping for MoorDyn point, rod, and body objects (luwang00)
Input file changes
No input file changes are required from 4.0.0. MoorDyn can contain an optional section for External Loads
.
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/v4.0.1 (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.- You will need this Intel Fortran redistributable package installed to use these executables if you do not already have Intel Fortran OneAPI 2021 installed. See the installation instructions here.
- You may also need a redistributable library for Visual Studio installed. See instructions here.
The other OpenFAST executables DO NOT require these redistributable libraries to be installed. Instead, they were built with static libraries.
v4.0.0
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 ...
v3.5.5
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.- You will need this Intel Fortran redistributable package installed to use these executables if you do not already have Intel Fortran OneAPI 2021 installed. See the installation instructions here.
- You may also need a redistributable library for Visual Studio installed. See instructions here.
The other OpenFAST executables DO NOT require these redistributable libraries to be installed. Instead, they were built with static libraries.
v3.5.4
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.- You will need this Intel Fortran redistributable package installed to use these executables if you do not already have Intel Fortran OneAPI 2021 installed. See the installation instructions here.
- You may also need a redistributable library for Visual Studio installed. See instructions here.
The other OpenFAST executables DO NOT require these redistributable libraries to be installed. Instead, they were built with static libraries.
v3.5.3
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.- You will need this Intel Fortran redistributable package installed to use these executables if you do not already have Intel Fortran OneAPI 2021 installed. See the installation instructions here.
- You may also need a redistributable library for Visual Studio installed. See instructions here.
The other OpenFAST executables DO NOT require these redistributable libraries to be installed. Instead, they were built with static libraries.