Skip to content

Releases: OpenFAST/openfast

OpenFAST v3.2.1

01 Aug 17:06
08fffef
Compare
Choose a tag to compare

Release Notes

This release contains the following bug fixes:

#1201 Include stdexcept in FastLibAPI driver
#1180 Add conditional compile for C++ / C definitions in OpenFAST Library
Revert #1169 Update git-module urls

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

NOTES:

OpenFAST v3.2.0

13 Jul 15:09
90a1ffb
Compare
Choose a tag to compare

Release Notes

General

#866 Include legacy documentation in pdf and MS Word format - Modules
#1021 Reg_tests python scripts: fix issue where directory returned is empty
#1062 Add documentation for community contribution
#1169 Update git-module urls
#1158 Update orientation differences in linear trim solution
#1177 Add documentation on 3D rotations in linearization
#1178 Corrections for 3.2.0 release

AeroDyn

#932 BugFix: UA update states that were not updated
#1032 AD: added more nodal outputs for debugging UA
#1039 [BugFix] Nacelle motion not passed between AeroDyn driver and AeroDyn
#1043 AeroDyn: combine some FVW and BEMT output calculations
#1045 OLAF: check for division by zero to avoid invalid calculations
#1141 Move AD module reg tests to a standalone job

BeamDyn

#1050 Fix aeroelastic stability analysis with BeamDyn

FAST.Farm

#1107 Fix Time-Step Delay in Super Controller within FAST.Farm

HydroDyn

#806 C-bindings interface for HydroDyn
#1047 Fix HydroDyn Jacobian outputs when LinOutJac is True
#1108 BugFix: Checks to populate matrix input to Newman's app were reversed
#1173 Bug Fix: rotation matrix perturbation with small angles was wrong

InflowWind

#1144 BugFix: Fix typo in DLLEXPORT attributes for IfW C interface

MAP++

#1048 MAP: small fix based on MAP 1.3
#1168 Fix MAP linearization operating point

NWTC Library

#1050 Fix aeroelastic stability analysis with BeamDyn -- changes to the library routines for angle perturbations during linearization
#1124 Updates to VersionInfo module and its dependencies
#1157 Fix for binary file compression

OpenFAST Library

#962 Add a Python glue-code interface
#1057 FAST Library: add access to hub position and velocity

ServoDyn

#803 Linearization of ServoDyn Structural control elements
#1074 [BugFix] ServoDyn StC control signal channels were not zeroed properly
#1089 BugFix: Fix API change line numbers
#1101 BugFix: ServoDyn API change docs
#1140 Add non-rotating hub forces to Bladed Interface
#1160 Correction to documentation on Extended Bladed DLL interface

TurbSim

#887 TurbSim modifications

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

NOTES:

OpenFAST v3.1.0

02 Mar 22:20
3456a64
Compare
Choose a tag to compare

Release Notes

General

#707 Add environmental variables to driver input files
#734 OpenFAST Registry algorithm change: simplify USE statements
Others (#826, #835, #836, #911, #918, #971, #1019)

AeroDyn

#688 AeroDyn driver update for multiple wind turbines, with arbitrary motions and geometries
#729 New features for unsteady aerodynamics modeling
#834 Fix AD Driver unallocated variable error with GCC 11
#863 AeroDyn cleanup
#917 AD15: add nodal outputs for VUnd{xyz}i in global coords
#919 Segment treecode
#920 Update in Computing Default Unsteady Airfoil Coefficients
#922 [BugFix] Minor bugfix in AirfoilInfo
#982 [BugFix] AD15 nacelle reference position was set to hub position
#1001 Remove conditional statement for initialization of BEMT variable
#1009 [BugFix] Nacelle position set inconsistently by glue code and AeroDyn driver

BeamDyn

#996 [BugFix] BeamDyn nodal outputs occasionally segfaulted

FAST Farm

#839 Fix Bug in FAST.Farm Causing Wake Bounce-Back
#860 Fix some memory leaks in FAST.Farm
#895 [BugFix] incorrect init of aggregated output index arrays in FAST.Farm
#923 [BugFix] error handling in AWAE module

HydroDyn

#756 HydroDyn primary input file passing and parsing
#831 HydroDyn Input/Output meshes: change from SWL to MSL for consistency with OF glue code
#838 [BugFix] segmentation fault in HD linearization
#915 [BugFix] Incorrect reference frame used in HD for WAMIT/WAMIT2
#998 Fix HydroDyn summary file nodal data is incorrect when Member is flipped

InflowWind

#720 inflowWind C-bound interface and python wrapper
#769 Fix issue with interpolation that could cause a segmentation fault
#929 Fix issue with uninitialized variables in InflowWind's Direct Scaling method

NWTC Library

#1002 Increase line length in FileInfo parsing methods

OpenFAST Library

#716 [BugFix] Fix C++ API for restart, Error handling in FAST Library, and AeroDyn echo file lock
#958 Lin: CalcSteady, forcing linearization at end of simulation

ServoDyn

#664 Extended Bladed DLL interface, improved summary file including DLL channel usage, and cable controls for MD and SD
#902 Fixes for Intel in debug mode
#930 Stop OpenFAST for Simulink simulation when trim solution has been found

SubDyn

#859 Various improvements to SubDyn

Documentation

#740 Guidelines for performance considerations with Fortran
#753 Migrate the HydroDyn Manual to readthedocs
#805 Include legacy documentation in pdf and MS Word format - General & ElastoDyn
#828 Add instructions for adding new regression test cases
#858 Documentation for ExtPtfm
#951 Corrected the description of SkewModFactor in Documentation
#1020 Document AD outputs

Precompiled binaries

The binary files in this release were built with Visual Studio solution files in OpenFAST (not 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

NOTES

Unlike previous releases of OpenFAST, there is now NO NEED for a MAP++ DLL; this code has been statically linked into the executables.
FAST.Farm_x64_OMP.exe is built with OpenMP libraries and linked with dynamic libraries.
You will need this Intel Fortran redistributable package installed to run FAST.Farm_x64_OMP.exe if you do not already have Intel Fortran 2019 Update 5 installed. See the installation instructions here: https://software.intel.com/content/www/us/en/develop/articles/redistributable-libraries-for-intel-c-and-fortran-2019-compilers-for-windows.html.
You may also need a redistributable library for Visual Studio installed. See instructions here: https://support.microsoft.com/en-us/topic/the-latest-supported-visual-c-downloads-2647da03-1eea-4433-9aff-95f26a218cc0
The other OpenFAST executables DO NOT require these redistributable libraries to be installed. Instead, they were built with static libraries.

OpenFAST v3.0.0

24 Jun 00:25
42a5a81
Compare
Choose a tag to compare

This release includes the following major enhancements:

  • FAST.Farm (#584)
  • ServoDyn structural control submodule (#607)

AeroDyn

#597 AD/AA: Add new TE definition, improve airfoil thickness calculation, simplify input
#647 Add ability to turn unsteady aero back on during a simulation
#648 OLAF improvements for WEIS
#672 Preliminary support for multiple rotors in AeroDyn
#728 AllBldOuts more forgiving and support for 0

BeamDyn

#677 BD Driver bug fix and expand BeamDyn unit testing

ElastoDyn

#589 Allow one-blade turbine model
#653 Add YawBrTV[xyz]p output channels
#736 AllBldOuts more forgiving and support for 0

FAST.Farm

#584 Incorporate FAST.Farm to OpenFAST
#726 Build FAST.Farm when configured via BUILD_FASTFARM
#749 Add Missing Attribute for sc_end in the FAST.Farm Super Controller

HydroDyn

#687 [BugFix] incorrect pitch/roll moments on tapered elements crossing water line
#713 [BugFix] Uninitialized variables in HydroDyn::Morisson calculations

NWTC Library

#668 [BugFix] Sys files for MATLAB
#683 Big fix in NWTC Library unit tests

OpenFAST Library

#744 Avoid gfortran 11 error in FAST_Solver.f90

ServoDyn

#607 ServoDyn Structural control submodule (formerly TMD)
#690 [BugFix] Rename Structural Control driver program
#739 [BugFix] Logic error in glue code for StC loads on SD with no HD

Documentation

#678 Add documentation on input file parsing
#682 Update installation instructions
#696 Update the api_change for MoorDyn after PR #565

C++ Inteface

#703 [BugFix] unallocated AD%y%Rotors when AD14 is used with cpp interface
#709 Remove unused import to C++ driver code

Simulink interface

#702 [BugFix] Correct the expected format of the output channel names array

Build systems

#698 Configure runtime path linking when using shared libraries
#706 Automate incrementing the dev-label conda build
#725 Updated linking dependencies for newer version of Visual Studio
#727 Update rules for Intel OneAPI compiler detection

Testing

#670 Enable regression tests for the C++ API
#686 Bug fix for regression tests without C++ API enabled
#689 Enable types generation in CI
#691 Add SubDyn and AeroDyn drivers regression tests to github action
#717 GH Actions: run module tests with debug build
#718 [BugFix] Raise an error if reg test results contain NaN or infinity
#741 CTest: Add FF reg tests when FF build is enabled


Precompiled binaries

Files built with Visual Studio solution files in OpenFAST, using

  • Intel Parallel Studio XE 2019 for Fortran 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.7.0.1586710 (R2019b) Update 8

NOTES

  • The "-dirty" on the version number of OpenFAST-Simulink_x64.dll is due to updating the Matlab version number in the Visual Studio project file.
  • The executables and OpenFAST-Simulink_x64.dll all require MAP_x64.dll.
  • FAST.Farm_x64_OMP.exe is built with OpenMP libraries and linked with dynamic libraries. You will need this Intel Fortran redistributable package installed to run FAST.Farm_x64_OMP.exe if you do not already have Intel Fortran 2019 Update 5 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.

OpenFAST v2.6.0

12 May 00:02
bbbb1ca
Compare
Choose a tag to compare

This release includes the following major enhancements:

  • Support for flexible floating platforms and expansion of linearization capability (#537)

AeroDyn

#645 Add Eames tower shadow model to AD15
#643 Support primary input file parsing through strings

BeamDyn

#615 [BugFix] Initialized error variables
#636 Add unit tests for BD_ComputeIniNodalCrv

HydroDyn

#537 Flexible floating platforms
#615 Morison performance improvement
#634 Fix HydroDyn linearization matrix multiplication using unallocated arrays

InflowWind

#642 [BugFix] Reenable InflowWind echo file lost in #596

NWTC Library

#615 NWTC Lib bug fixes

Simulink Interface

#641 [BugFix] Simulink error message overwrite

Testing

#637 Use default runner and GFortran 10
#635 Use Intel 2021 Toolset for regression test


Precompiled binaries

These binaries contain the Intel libraries statically linked. Unlike prior releases, no additional software is required in order to use these.

MAP_x64.dll, FAST_SFunc.mexw64, and OpenFAST-Simulink_x64.dll are compiled with Visual Studio solution files in OpenFAST using

  • MATLAB Version: 9.7.0.1586710 (R2019b) Update 8
  • Microsoft Visual C++ 2017 (C),
  • Intel Parallel Studio XE 2019 for Fortran with Microsoft Visual Studio 2017

NOTE: OpenFAST 2.6.0 contains an issue in SysMatlabWindows.f90 that prevents the file from building. This was correct by removing the merge conflict text, so the files have version numbers labeled "-dirty".

OpenFAST v2.5.0

14 Jan 16:50
718d46f
Compare
Choose a tag to compare

General

In v2.5.0, the master branch will become main and this will serve as the "trunk" or primary branch for OpenFAST. This is in line with current best practices in naming conventions (see here).

AeroDyn

  • #538 Update AeroDyn to allow for linearized dynamic stall and dynamic inflow models
  • #538 Disable BEM if TSR <= 1, blend BEM and non-BEM when 1 < TSR < 2, output the proportion of BEM in GeomPhi output channel
  • #590 [BugFix] VTK folder location, Vx sign for OLAF
  • #594 [BugFix] Close a file that was opened but not closed
  • #623 [BugFix] Allocate array to size 0 before getting its size
  • #627 [BugFix] Fix logic for setting size of arrays for airfoil tables

BeamDyn

  • #560 Expand and improve BeamDyn unit tests
  • #564 Documentation updates: Add BD OpenFAST solve section
  • #576 Replace cubic spline with least squares fit
  • #619 [BugFix] Regenerate Types files after registry file changes

FAST Library

  • #550 Make channel length consistent between C and Fortran sides of interface
  • #616 Fix potential memory leak and expand error handling

HydroDyn

  • #582 Use RANLUX pRNG in offshore floating regression test cases
  • #586 Hd Driver - Add Morrison mesh and standalone driver test cases
  • #602 Vectorize a section of VariousWaves_Init (also #606)

InflowWind

  • #578 InflowWind Updates (vertical flow angle, Bladed support, negetive height)
  • #596 Add support for initializing InflowWind with string inputs

MoorDyn

  • #565 Add active tensioning capabilities in MoorDyn
  • #604 [BugFix] Fix position and tension node outputs
  • #619 [BugFix] Regenerate Types files after registry file changes

NWTC Library

  • #588 Add NWTC Library infrastructure for parsing inputs as strings
  • #603 [BugFix] Fix order of variables declaration

Simulink

  • #545 Support for GNU compiler on Linux systems
  • #577 Updated examples for OpenFAST-Simulink Interface
  • #616 Fix potential memory leak and add more error handling

Documentation

  • #558 Refer to conda for installation (docs)
  • #559 Update unit test guidance (docs)
  • #614 [BugFix] Fix api_change.rst (docs)

Build system

  • #547 [BugFix] cmake configuration for Linux + Intel + Debug
  • #583 CMake: set CMP0074 policy explicitly to avoid warnings
  • #595 Disable gfortran stack-reuse compiler option
  • #610 Prevent variable tracking in large Fortran modules

Testing

To use the Windows executables directly, either the Intel Fortran compiler or the Intel MKL redistributable libraries are required. The redistributables for the 2020 Intel Fortran compiler are available here.

OpenFAST v2.4.0

14 Sep 20:31
ff33ca1
Compare
Choose a tag to compare

General

  • #428 Improve CLI for OpenFAST (openfast -v and openfast -h)
  • #350 Add offshore linearization capability
  • #488 Improve Line2-to-Line2 or Line2-to-Point mapping
  • #508 Support RANLUX as an optional pRNG
  • #373 Support for channel names up to 20 characters
  • #373 Allow mode shape visualization - docs
  • #373 Find a periodic steady-state trim solution where linearization will be performed
  • Update documentation
  • Bug fixes

AeroDyn

  • #477 Add free vortex wake module - docs
  • #515 Add aeroacoustics module - docs
  • #373 Allow channel outputs at every blade node - docs

BeamDyn

  • #373 Allow channel outputs at every blade node - docs

ElastoDyn

  • #453 Bug fix: the rotational speed was doubled in the rotational velocity field of the blade output mesh
  • #461 Add output channel for translational displacements of tower top at yaw bearing relative to the reference position
  • #373 Allow channel outputs at every blade node - docs

ExtPtfm

  • #344 Use Craig-Bampton reduction of support structures for sequential load calculations

InflowWind

  • #437 Add new HAWC wind profile input type for reading wind conditions without mean wind speed
  • #437 Allow to shift the HAWC wind upstream or downstream

ServoDyn

  • #456 Properly support yaw rate command integration from controller
  • #460 Fix an issue in updating the states when a yaw maneuver is beginning

r-test

  • #456 Update 5MW BeamDyn blade damping models

To use the Windows executables directly, either the Intel fortran compiler or the Intel MKL redistributable libraries are required. The redistributables for the 2017 Intel Fortran compiler are available here.

OpenFAST v2.3.0

02 Apr 22:09
f2419c5
Compare
Choose a tag to compare

General

  • Documentation fixes and improvements

AeroDyn 15

  • Added option for 2D airfoil interpolation (#213)
  • Add the Gonzalez Model (#226)
  • Suppport node outputs using DBG_OUTS preprocessor directive (#359)
  • Fixed units for axial and tangential inductions

ElastoDyn

  • Add rotational velocity and translational acceleration to blade-node output mesh (#391)

MoorDyn

  • Fix crash when no outputs requested (#404)

ServoDyn

  • Added flap control (#395)

SubDyn

  • Major clean up and use Findloc (#356)
  • Fixed indexing bug SubDyn_Driver (#431)

C++ API

  • Fix memory memory leak during shutdown C++ API (#410)
  • Get rel velocity at actuator nodes (#360)

Testing

  • Improve and expand the GitHub Actions continuous integration system
  • Add interactive regression test plots (#330)

To use the Windows executables directly, either the Intel fortran compiler or the Intel MKL redistributable libraries are required. The redistributables for the 2017 Intel Fortran compiler are available here: https://software.intel.com/sites/default/files/managed/bb/e0/ww_ifort_redist_msi_2017.8.275.zip

OpenFAST v2.2.0

13 Nov 19:41
e4faf27
Compare
Choose a tag to compare

General

  • Simulink interface updated and improved
  • OpenFAST Registry made optional and all module-types files added to version control (#337)
  • Consolidated modules-ext and modules-local into modules and added module README's
  • Solve Option 2 Performance enhancements
    • Parts of the SolveOption2 algorithm have been moved to the the AdvanceStates routine so that BeamDyn, InflowWInd, AeroDyn, and ServoDyn use calculated inputs instead of extrapolations for inputs at t+dt. This change allows BeamDyn to use calculate rotations and AeroDyn/DBEMT to use calculated velocities, which otherwise would require a correction step. In DBEMT this was a problem with high turbulence and low wind speeds.

C++ API

  • Bug fix when building with MPI
  • Fix out-of-bounds memory access in C++ API

BeamDyn

  • Updated integration scheme for nodal load outputs (#265)
    --> NOTE: further improvements are in progress for this feature.

HydroDyn

  • WaveMode set to 0 instead of WaveDirMod (Fixes #246)
  • Allow number of Morison number to be 0 (see #79)
  • Add safety on number of lines and number of fields per line when WaveMode=6 (Should Fix #118)
  • Always initialize WaveElevSeries if WaveElevXY is set
  • Update array bounds in calculation in Morrison

VTK Visualization

  • Zero padding of VTK names, and log10 of zero (see #250)

Build system

  • Sync the git versions for windows and linux builds
  • Add a Version module to improve version handling
  • Improve support for CygWin builds

Documentation

  • Add API change log
  • Major structural changes, improvements, and additions to content

InflowWind

  • Fix InflowWind index for invalid channels

AeroDyn

  • Improve performance in BEMT error handling
  • Fix incorrect node number in linearization error messages

SubDyn

  • Major cleanup of source code

ElastDyn

  • Fix issue with OP if blade pitch isn't equal on all blades

The following modules have minor bug fixes not listed above:

  • AeroDyn
  • AeroDyn14
  • HydroDyn
  • InflowWind
  • SubDyn
  • Turbsim

To use the Windows executables directly, either the Intel fortran compiler or the Intel MKL redistributable libraries are required. The redistributables for the 2017 Intel Fortran compiler are available here: https://software.intel.com/sites/default/files/managed/bb/e0/ww_ifort_redist_msi_2017.8.275.zip

OpenFAST v2.1.0

27 Mar 18:14
f147b80
Compare
Choose a tag to compare

OpenFAST

  • Fix a stack overflow issue in vtk visualization for large wave fields
  • Add GitHub pull request and issue templates
  • Continuous integration expansion and improvements
  • Bug fixes and improvements for the Windows build systems

AeroDyn

  • Robustness improved in DBEMT
  • Bug fixes
    • Reynolds number calculation
    • Seg fault when tower loads are off

BeamDyn

  • Correct the damping coefficient reference frame
  • BeamDyn Driver: allow setting an initial azimuth

HydroDyn

  • Bug fixes
    • Fix a seg fault when Hdsum is off
    • Fixed the external buoyancy calculation

To use the Windows executables directly, either the Intel fortran compiler or the Intel MKL redistributable libraries are required. The redistributables for the 2017 Intel Fortran compiler are available here: https://software.intel.com/sites/default/files/managed/bb/e0/ww_ifort_redist_msi_2017.8.275.zip