Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 3.5.5 #2572

Merged
merged 46 commits into from
Dec 21, 2024
Merged

Release 3.5.5 #2572

merged 46 commits into from
Dec 21, 2024

Conversation

andrew-platt
Copy link
Collaborator

@andrew-platt andrew-platt commented Dec 19, 2024

Feature or improvement description
Pull request to merge rc-3.5.5 into main and create a tagged release for v3.5.5.

See the milestone and project pages for additional information

https://github.com/OpenFAST/openfast/milestone/15

Test results, if applicable
See GitHub Actions

Release checklist:

  • Update the documentation version in docs/conf.py
  • Update the versions in docs/source/user/api_change.rst
  • Verify readthedocs builds correctly
  • Create a tag in OpenFAST
  • Create a merge commit in r-test and add a corresponding annotated tag
  • Compile executables for Windows builds
    • AeroDyn_Driver_x64.exe
    • AeroDyn_Driver_x64_OpenMP.exe
    • AeroDyn_Inflow_C_Binding_x64.dll
    • AeroDyn_Inflow_C_Binding_x64_OpenMP.dll
    • BeamDyn_Driver_x64.exe
    • DISCON.dll (x64)
    • DISCON_ITIBarge.dll (x64)
    • DISCON_OC3Hywind.dll (x64)
    • DISCON_SC.dll (x64)
    • FAST.Farm_x64.exe
    • FAST.Farm_x64_OMP.exe
    • FAST_SFunc.mexw64
    • HydroDynDriver_x64.exe
    • HydroDyn_C_Binding_x64.dll
    • IfW_C_Binding_x64.dll
    • InflowWind_Driver_x64.exe
    • InflowWind_Driver_x64_OpenMP.exe
    • MoorDyn_Driver_x64.exe
    • MoorDyn_C_Binding_x64.dll
    • OpenFAST-Simulink_x64.dll
    • openfast_x64.exe
    • Turbsim_x64.exe

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)

deslaughter and others added 30 commits November 4, 2024 14:05
…irectory for the ftnmod folder which caused it to be in the wrong place when importing OpenFAST as a library in AMR-Wind
CMAKE_INSTALL_PREFIX was incorrectly being prepended to the install d…
…mpilation to fail when using the Intel oneAPI 2024.1.0 compiler
Remove $OMP directives from AeroDyn_Inflow due to Intel compiler bug
repository name must be lowercase
Docker: typo was preventing docker build upload to GH
When OLAF was used with the AeroDyn Driver compiled with ifx (IFX) 2023.2.0 20230622 (release only), there would be a segmentation fault when SetInputsForFVW was called.  The root issue was that passing an array of `u` as `(/u/)` doesn't work correctly with this compiler.  So to work around this, the SetInputsForFVW routine was reworked to only operate on a single `u`.

In my opinion this is a hack of a solution to accomodate a compiler bug.
AD bugfix: Segmentation fault with ifx
Neither the C-bindings nor AD driver could use the BoxExceedAllow option with OLAF
ADI bugfix: BoxExceed was not enabled for OLAF with ADI
This was introduced in PR #2518.  The result was that anytime the driver was used with OLAF, all points were allowed outside the box, not just the wake as intended.
IfW defaults this to -1, so if OLAF is used it would simply pass -1 for the index rather than the correct location from the AD_BoxExceedPointsIdx routine.
bugfix: with OLAF, BoxExceed was allowed for all points
The calculations for the rotor disk average wind speed use a set of point projected on the disk perpindular to the hub at ~0.7 rotor radius in the hub YZ plane.  However, the indices for this calculation were incorrect and projected the points onto disk in the hub XY plane.  This was discovered after one of the cases used in the curled wake paper failed to run correctly with 3.5.4 for a turbine very close to the back edge of the high resolution domain.

Also added some additional information about the location of points causing outside box bound errors.
bugfix: IfW rotor points for disk average incorrect
Co-authored-by: Derek Slaughter <deslaughter@gmail.com>
FAST.Farm: increase number of output planes to 999
Copy link
Collaborator

@jjonkman jjonkman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. See one minor comment to address below.

docs/changelogs/v3.5.5.md Outdated Show resolved Hide resolved
@andrew-platt andrew-platt merged commit b48e032 into main Dec 21, 2024
20 of 39 checks passed
@andrew-platt andrew-platt deleted the rc-3.5.5 branch December 21, 2024 19:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants