Skip to content

Commit 7c0e80a

Browse files
committed
Merge branch 'dev' into of_io_update
2 parents dce15ea + 71c417d commit 7c0e80a

File tree

103 files changed

+10864
-10382
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

103 files changed

+10864
-10382
lines changed

cmake/OpenfastFortranOptions.cmake

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,9 @@ endmacro(set_fast_intel_fortran)
158158
# arch
159159
#
160160
macro(set_fast_intel_fortran_posix)
161-
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fpic -fpp")
161+
# Set size where temporary are stored on heap instead of stack
162+
# 1000: size in kB (1 MB)
163+
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fpic -fpp -heap-arrays 1000")
162164

163165
# debug flags
164166
if(CMAKE_BUILD_TYPE MATCHES Debug)
@@ -201,7 +203,9 @@ macro(set_fast_intel_fortran_windows)
201203
# Turn off specific warnings
202204
# - 5199: too many continuation lines
203205
# - 5268: 132 column limit
204-
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} /Qdiag-disable:5199,5268 /fpp")
206+
# Set size where temporary are stored on heap instead of stack
207+
# 1000: size in kB (1 MB)
208+
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} /Qdiag-disable:5199,5268 /fpp /heap-arrays:1000")
205209

206210
# If double precision, make constants double precision
207211
if (DOUBLE_PRECISION)

docs/changelogs/v3.5.4.md

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
**Feature or improvement description**
2+
Pull request to merge `rc-3.5.4` into `main` and create a tagged release for v3.5.4.
3+
4+
See the milestone and project pages for additional information
5+
6+
https://github.com/OpenFAST/openfast/milestone/14
7+
8+
Test results, if applicable
9+
See GitHub Actions
10+
11+
### Release checklist:
12+
- [ ] Update the documentation version in docs/conf.py
13+
- [ ] Update the versions in docs/source/user/api_change.rst
14+
- [ ] Verify readthedocs builds correctly
15+
- [ ] Create a tag in OpenFAST
16+
- [ ] Create a merge commit in r-test and add a corresponding annotated tag
17+
- [ ] Compile executables for Windows builds
18+
- [ ] AeroDyn_Driver_x64.exe
19+
- [ ] AeroDyn_Driver_x64_OpenMP.exe
20+
- [ ] AeroDyn_Inflow_C_Binding_x64.dll
21+
- [ ] AeroDyn_Inflow_C_Binding_x64_OpenMP.dll
22+
- [ ] BeamDyn_Driver_x64.exe
23+
- [ ] DISCON.dll (x64)
24+
- [ ] DISCON_ITIBarge.dll (x64)
25+
- [ ] DISCON_OC3Hywind.dll (x64)
26+
- [ ] DISCON_SC.dll (x64)
27+
- [ ] FAST.Farm_x64.exe
28+
- [ ] FAST.Farm_x64_OMP.exe
29+
- [ ] FAST_SFunc.mexw64
30+
- [ ] HydroDynDriver_x64.exe
31+
- [ ] HydroDyn_C_Binding_x64.dll
32+
- [ ] IfW_C_Binding_x64.dll
33+
- [ ] InflowWind_Driver_x64.exe
34+
- [ ] InflowWind_Driver_x64_OpenMP.exe
35+
- [ ] MoorDyn_Driver_x64.exe
36+
- [ ] MoorDyn_C_Binding_x64.dll
37+
- [ ] OpenFAST-Simulink_x64.dll
38+
- [ ] openfast_x64.exe
39+
- [ ] Turbsim_x64.exe
40+
41+
# Changelog
42+
43+
## Overview
44+
45+
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.
46+
47+
Anyone using BeamDyn will want to update to this version.
48+
49+
50+
## General
51+
52+
### Build systems
53+
54+
#2311 Always build `openfastcpplib` as shared. Use `BUILD_OPENFAST_CPP_DRIVER` to disable `openfastcpp` executable (@deslaughter)
55+
#2173 Fix crash in `MAP_End` when using Intel's new icx compiler and disable caching in setup-python GH action (@deslaughter)
56+
57+
58+
### Python file readers/writers
59+
60+
#2188 Add WEIS file readers and writers (@cortadocodes and @mayankchetan)
61+
62+
63+
## Solvers
64+
65+
### FAST.Farm
66+
67+
#2452 Fix for some stack overflow issues with FAST.Farm when copying large amounts of wind data (closes #2053) (@andrew-platt)
68+
#2340 Add `!$ OMP critical` around file opening for VTK to prevent file collision (@andrew-platt)
69+
70+
71+
## Module changes
72+
73+
### BeamDyn
74+
75+
#2399 BeamDyn performance improvements (@deslaughter)
76+
77+
78+
### ElastoDyn
79+
80+
#2321 Backport of #2317: Explicitly initialize `ED` `RtHS` to zero -- corrects issue with inccorect linearization results (@andrew-platt)
81+
82+
83+
### HydroDyn
84+
#2397 HD bug fix: prevent array index out-of-bound error in `HDOut_MapOutputs` when more than 9 potential-flow bodies are present (@luwang00)
85+
86+
### NWTC-Library
87+
#2389 FileInfoType: increase line length allowed (@andrew-platt)
88+
89+
## Input file changes
90+
91+
No input files change with this release, as this only includes minor bugfixes.
92+
93+
Full list of changes: https://openfast.readthedocs.io/en/main/source/user/api_change.html
94+
95+
Full input file sets: https://github.com/OpenFAST/r-test/tree/v3.5.4 (example input files from the regression testing)
96+

docs/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ def runDoxygen(sourcfile, doxyfileIn, doxyfileOut):
138138
# The short X.Y version.
139139
version = u'3.5'
140140
# The full version, including alpha/beta/rc tags.
141-
release = u'v3.5.3'
141+
release = u'v3.5.4'
142142

143143
# The language for content autogenerated by Sphinx. Refer to documentation
144144
# for a list of supported languages.

docs/source/install/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ containing the executables, and running a simple test command:
162162

163163
Running OpenFAST with docker
164164
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
165-
OpenFAST is avilable to be run on docker starting with version 3.5.3. Three approaches are shared below.
165+
OpenFAST is available to be run on docker starting with version 3.5.3. Three approaches are shared below.
166166

167167
Using a docker image from Docker hub
168168
------------------------------------

docs/source/user/api_change.rst

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Thus, be sure to implement each in order so that subsequent line numbers are cor
1111

1212

1313

14-
OpenFAST v3.5.3 to OpenFAST dev
14+
OpenFAST v3.5.4 to OpenFAST dev
1515
----------------------------------
1616

1717
The HydroDyn module was split into HydroDyn and SeaState. This results in a
@@ -106,6 +106,10 @@ Old inputs Corresponding new inputs
106106

107107

108108

109+
OpenFAST v3.5.3 to OpenFAST v3.5.4
110+
----------------------------------
111+
112+
No input file changes were made.
109113

110114

111115
OpenFAST v3.5.2 to OpenFAST v3.5.3

docs/source/user/hydrodyn/appendix.rst

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,13 @@ structure::
1212
False Echo - Echo the input file data (flag)
1313
---------------------- FLOATING PLATFORM --------------------------------------- [unused with WaveMod=6]
1414
1 PotMod - Potential-flow model {0: none=no potential flow, 1: frequency-to-time-domain transforms based on WAMIT output, 2: fluid-impulse theory (FIT)} (switch)
15-
1 ExctnMod - Wave-excitation model {0: no wave-excitation calculation, 1: DFT, 2: state-space} (switch) [only used when PotMod=1; STATE-SPACE REQUIRES *.ssexctn INPUT FILE]
15+
1 ExctnMod - Wave-excitation model {0: no wave-excitation calculation, 1: DFT, 2: state-space} (switch) [only used when PotMod=1; STATE-SPACE REQUIRES *.ssexctn INPUT FILE; if PtfmYMod=1, need ExctnMod=0 or 1]
1616
0 ExctnDisp - Method of computing Wave Excitation {0: use undisplaced position, 1: use displaced position, 2: use low-pass filtered displaced position) [only used when PotMod=1 and ExctnMod>0 and SeaState's WaveMod>0]} (switch)
1717
10 ExctnCutOff - Cutoff (corner) frequency of the low-pass time-filtered displaced position (Hz) [>0.0] [used only when PotMod=1, ExctnMod>0, and ExctnDisp=2]) [only used when PotMod=1 and ExctnMod>0 and SeaState's WaveMod>0]} (switch)
18+
0 PtfmYMod - Model for large platform yaw offset {0: Static reference yaw offset based on PtfmRefY, 1: dynamic reference yaw offset based on low-pass filtering the PRP yaw motion with cutoff frequency PtfmYCutOff} (switch)
19+
0 PtfmRefY - Constant (if PtfmYMod=0) or initial (if PtfmYMod=1) platform reference yaw offset (deg)
20+
0.01 PtfmYCutOff - Cutoff frequency for the low-pass filtering of PRP yaw motion when PtfmYMod=1 [>0.0; unused when PtfmYMod=0] (Hz)
21+
36 NExctnHdg - Number of evenly distributed platform yaw/heading angles over the range of [-180, 180) deg for which the wave excitation shall be computed [>=2; unused when PtfmYMod=0] (-)
1822
1 RdtnMod - Radiation memory-effect model {0: no memory-effect calculation, 1: convolution, 2: state-space} (switch) [only used when PotMod=1; STATE-SPACE REQUIRES *.ss INPUT FILE]
1923
60 RdtnTMax - Analysis time for wave radiation kernel calculations (sec) [only used when PotMod=1 and RdtnMod>0; determines RdtnDOmega=Pi/RdtnTMax in the cosine transform; MAKE SURE THIS IS LONG ENOUGH FOR THE RADIATION IMPULSE RESPONSE FUNCTIONS TO DECAY TO NEAR-ZERO FOR THE GIVEN PLATFORM!]
2024
0.0125 RdtnDT - Time step for wave radiation kernel calculations (sec) [only used when PotMod=1 and ExctnMod>0 or RdtnMod>0; DT<=RdtnDT<=0.1 recommended; determines RdtnOmegaMax=Pi/RdtnDT in the cosine transform]
@@ -32,8 +36,8 @@ structure::
3236
---------------------- 2ND-ORDER FLOATING PLATFORM FORCES ---------------------- [unused with WaveMod=0 or 6, or PotMod=0 or 2]
3337
0 MnDrift - Mean-drift 2nd-order forces computed {0: None; [7, 8, 9, 10, 11, or 12]: WAMIT file to use} [Only one of MnDrift, NewmanApp, or DiffQTF can be non-zero. If NBody>1, MnDrift /=8]
3438
0 NewmanApp - Mean- and slow-drift 2nd-order forces computed with Newman's approximation {0: None; [7, 8, 9, 10, 11, or 12]: WAMIT file to use} [Only one of MnDrift, NewmanApp, or DiffQTF can be non-zero. If NBody>1, NewmanApp/=8. Used only when WaveDirMod=0]
35-
0 DiffQTF - Full difference-frequency 2nd-order forces computed with full QTF {0: None; [10, 11, or 12]: WAMIT file to use} [Only one of MnDrift, NewmanApp, or DiffQTF can be non-zero]
36-
0 SumQTF - Full summation -frequency 2nd-order forces computed with full QTF {0: None; [10, 11, or 12]: WAMIT file to use}
39+
0 DiffQTF - Full difference-frequency 2nd-order forces computed with full QTF {0: None; [10, 11, or 12]: WAMIT file to use} [Only one of MnDrift, NewmanApp, or DiffQTF can be non-zero. If PtfmYMod=1, need DiffQTF=0]
40+
0 SumQTF - Full summation -frequency 2nd-order forces computed with full QTF {0: None; [10, 11, or 12]: WAMIT file to use} [If PtfmYMod=1, need SumQTF=0]
3741
---------------------- PLATFORM ADDITIONAL STIFFNESS AND DAMPING -------------- [unused with PotMod=0 or 2]
3842
0 AddF0 - Additional preload (N, N-m) [If NBodyMod=1, one size 6*NBody x 1 vector; if NBodyMod>1, NBody size 6 x 1 vectors]
3943
0
@@ -60,7 +64,7 @@ structure::
6064
0 0 0 0 0 0
6165
0 0 0 0 0 0
6266
---------------------- STRIP THEORY OPTIONS --------------------------------------
63-
0 WaveDisp - Method of computing Wave Kinematics {0: use undisplaced position, 1: use displaced position) } (switch)
67+
0 WaveDisp - Method of computing Wave Kinematics {0: use undisplaced position, 1: use displaced position) } (switch) [If PtfmYMod=1, need WaveDisp=1]
6468
0 AMMod - Method of computing distributed added-mass force. (0: Only and always on nodes below SWL at the undisplaced position. 2: Up to the instantaneous free surface) [overwrite to 0 when WaveMod = 0 or 6 or when WaveStMod = 0 in SeaState]
6569
---------------------- AXIAL COEFFICIENTS --------------------------------------
6670
2 NAxCoef - Number of axial coefficients (-)

0 commit comments

Comments
 (0)