Skip to content

Releases: OpenFAST/openfast

Release v4.1.2

06 Aug 18:20
0284731
Compare
Choose a tag to compare

Changelog (from 4.1.1)

Overview

This release includes several bug fixes and improvements for OpenFAST and fixes a critical error in the Visual Studio build system for OpenFAST and MoorDyn.

General

Visual Studio build system

#2914 Add SeaState path when running MoorDyn registry in RunRegistry.bat (@deslaughter)

Solvers

OpenFAST

#2915 Don't allow MAP when writing checkpoint files (@deslaughter)

Module changes

HydroDyn

#2941 HD: Switched to an equivalent but numerically more reliable expression for the hydrostatic moment on (partially wetted) circular endplates (@luwang00)

SeaState

#2919 Backport of #2906 ( SeaState: Allow WaveStMod=1 with WaveMod=0) (@luwang00)

ServoDyn

#2942 SrvD: bugfix linearization of StC _dYdx was not using x_perturb (@andrew-platt)

SubDyn

#2934 Backport of 2905: SD: Fix a bug where interface DoF loads are incomplete if the interface joint is part of a rigid assembly (@luwang00)

Documentation

#2931 docs: add guide for WSL+VScode (@skvibimigger)

#2937 Docs update recomendations from issue #1822 (FAST.Farm) (@andrew-platt)

Testing

Test results for the StC_test_OC4Semi_Linear_Nac and StC_test_OC4Semi_Linear_Tow cases were updated in #2942 - these were missing effects from the state variables for structural controls.

Input file changes

No input file changes since v4.1.0

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-zero x or y coordinates (non-zero z 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.
  • 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.
  • Checkpoint restarts do not work with MAP++ (#2947)

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.

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

v4.1.1

08 Jul 23:48
4350a49
Compare
Choose a tag to compare

Changelog (from 4.1.0)

Overview

This release includes several bug fixes and improvements for OpenFAST, GitHub actions, and the C++ interface.

General

CMake build system

#2910 CMake: update location of external lapack (@andrew-platt)

GitHub actions

#2883 Gh actions debug (@deslaughter)

Conda deployment

#2891 Minor fixes for v4.1 for smoother conda deployment (@gbarter)

Python packages

pyOpenFAST

#2907 pyOpenFAST: remove unnecessary files, move examples (@andrew-platt)

Module changes

HydroDyn

#2880 HD bug fix: avoid division by zero with MHstLMod=2 (@luwang00)

ServoDyn

#2908 SrvD: add numbering to StC echo files (@andrew-platt)

Code API changes

CPP interface

#2881 Fix FAST_CreateCheckpoint in c++ interface (@marchdf)

HydroDyn c-binding library interface

#2894 Fix segfault when SeaState OutSwitch=2 and no output channels (@andrew-platt)

Testing

Updated driver_utilities.py to allow testing to run in current build directory which might not be build (included in #2894 above)

Input file changes

No input file changes since v4.1.0

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-zero x or y coordinates (non-zero z 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.
  • 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.

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

v4.1.0

19 Jun 03:13
8d2470b
Compare
Choose a tag to compare

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 arguments
    • FAST_ExtLoads_Init - removal of SuperController arguments
    • FAST_ExtInfw_Restart - removal of SuperController arguments
    • FAST_ExtInfw_Init -removal of SuperController arguments
  • modules/openfast-library/src/FAST_Library.f90
    • FAST_ExtLoads_Restart - removal of SuperController arguments
    • FAST_ExtLoads_Init - removal of SuperController arguments
    • FAST_ExtInfw_Restart - removal of SuperController arguments
    • FAST_ExtInfw_Init -removal of SuperController arguments

HydroDyn c-binding library interface

  • modules/hydrodyn/src/HydroDyn_C_Binding.f90
    • HydroDyn_C_Init - arguments
    • HydroDyn_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-zero x or y coordinates (non-zero z 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.

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

v4.0.5

11 Jun 19:03
f4c0b48
Compare
Choose a tag to compare

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.

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

v4.0.4

28 Apr 21:27
d28a823
Compare
Choose a tag to compare

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.

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

v4.0.3

08 Apr 21:07
20632d7
Compare
Choose a tag to compare

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.

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

v4.0.2

11 Feb 03:53
fc11101
Compare
Choose a tag to compare

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.

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

v4.0.1

31 Jan 05:36
89358f1
Compare
Choose a tag to compare

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.

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

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.