Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
459 commits
Select commit Hold shift + click to select a range
3a674ff
Merge remote-tracking branch 'OpenFAST/dev' into wavetank3
andrew-platt Sep 4, 2025
7b014eb
ADI-cbind: remove comment about Re-Init
andrew-platt Sep 4, 2025
be17f97
Point to updated r-test
abhineet-gupta Sep 4, 2025
195d8a9
Fix small bug with r-test and modify OpenFAST_io to support HubIner_T…
abhineet-gupta Sep 5, 2025
16e41c6
nwtclib/version unit tests: fix CU usage from commit 6361417b3
andrew-platt Sep 5, 2025
cd90e0c
Registry: add basic ISO_C_BINDING types
andrew-platt Sep 7, 2025
4c1301e
Registry
andrew-platt Sep 7, 2025
3b5aee0
Update modules/openfast-registry/src/registry.hpp
andrew-platt Sep 7, 2025
c4391d4
Registry: revise the iso_c_binding logic per @deslaughter's recommend…
andrew-platt Sep 8, 2025
5e851bd
Registry: typo in registry.hpp
andrew-platt Sep 8, 2025
a4df9c0
Merge pull request #2987 from andrew-platt/f/registry_isocbinding
andrew-platt Sep 8, 2025
36695eb
Add documentation for 2-bladed hub ineria input
abhineet-gupta Sep 9, 2025
76d4450
Merge remote-tracking branch 'OpenFAST/dev' into wavetank3
andrew-platt Sep 9, 2025
a50d0c3
ADI cbind: typo in registry
andrew-platt Sep 6, 2025
465dc3a
wavetank: split out IO and types files
andrew-platt Sep 6, 2025
9c25b6b
Wavetank: switch to FileInfo parsing for file read
andrew-platt Sep 9, 2025
db45f45
wavetank: improve error handling in python driver
andrew-platt Sep 9, 2025
229f25b
wavetank: error handling in python example code
andrew-platt Sep 9, 2025
f8eb51e
wavetank: rearrange a bunch of code and delete some things
andrew-platt Sep 9, 2025
25137ad
HD c-bind: declare added mass routine public, notes on init position
andrew-platt Sep 10, 2025
4fc16a9
SS c-bind: linting (indentation not matching)
andrew-platt Sep 10, 2025
25d5f64
SS c-bind: GetFluid* routines
andrew-platt Sep 10, 2025
378f333
Address comments on PR #2981 for hub inertia for 2-bladed turbines
abhineet-gupta Sep 11, 2025
19f91c6
SS wavefield: change WaveField_GetNodeWaveVel to WaveField_GetNodeWav…
andrew-platt Sep 10, 2025
c9ab843
seastate: update python lib, revise pointer passing
andrew-platt Sep 12, 2025
8baa0c9
ss c-bind: more debuglevel outputs and tidying
andrew-platt Sep 12, 2025
cbf7b78
ss c-bind: more linting/tidying/compacting. Add GetWaveNorm routine
andrew-platt Sep 12, 2025
244a7f7
ss c-bind: split out PreInit from Init
andrew-platt Sep 12, 2025
63cc3bc
making sure to close file handle in turbsim reader
gbarter Sep 13, 2025
f348285
Correct descriptions of hubiner_teeter and Hubf2Iner
abhineet-gupta Sep 15, 2025
f190e1a
Merge pull request #2994 from gbarter/ofio_fix
andrew-platt Sep 16, 2025
cfd4f04
ss c-bind: remove density from the SeaSt_C_GetFluidVelAccDens routine
andrew-platt Sep 16, 2025
41914b1
ss c-bind python: interface updates to match c-bind updates
andrew-platt Sep 16, 2025
61a2ab1
ss c-bind/python: add vtk inputs to pre-init (not working yet)
andrew-platt Sep 16, 2025
69ab53f
ss c-bind: add regression test
andrew-platt Sep 17, 2025
2903aa3
ss c-bind: add vtk outputs
andrew-platt Sep 17, 2025
fff4aba
ss c-bind: add MemClear routine
andrew-platt Sep 17, 2025
24af040
ss c-bind: update notes on a few routines
andrew-platt Sep 17, 2025
6d510fc
ss c-bind python: change restype to None
andrew-platt Sep 17, 2025
781f61d
ss c-bind: remove WaveElevSeriesFlag_C, WrWvKinMod_C from init
andrew-platt Sep 17, 2025
716f5f4
ss c-bind: incorrect type, failed to compile in double
andrew-platt Sep 17, 2025
4cdc47a
ss python: revert change to interface_abcy.py, add suggestions from @…
andrew-platt Sep 17, 2025
9f347e7
GH: update the PR template: include AI section, r-test update
andrew-platt Sep 17, 2025
c69f059
gh workflow: add ss python interface test directory
andrew-platt Sep 17, 2025
49fc00b
Merge pull request #2998 from andrew-platt/f/PR_template_update
andrew-platt Sep 17, 2025
bf1e67a
ss python: reduce precision in regression test results
andrew-platt Sep 17, 2025
0e929ae
SS: set default r in GetNodeWaveNormal to 5 mm
andrew-platt Sep 17, 2025
ffe6283
Merge pull request #2997 from andrew-platt/f/c-bind_updates_SH
andrew-platt Sep 17, 2025
7c38ef8
Added a set of generic uniform grid interpolation tools
luwang00 Sep 18, 2025
fa8d33c
prepping for py314, as is conda, and making requirements less restric…
gbarter Sep 19, 2025
b8af079
fix versioning typo on ruamel_yaml. Curren version is 0.15.80, no 0.18
gbarter Sep 20, 2025
877e6c9
continuing to simplify
gbarter Sep 20, 2025
c5c2e20
closing beamdyn blade file
gbarter Sep 21, 2025
b0a3061
reverting changes
gbarter Sep 21, 2025
f39b9d1
Merge pull request #3001 from gbarter/ofio_fix
andrew-platt Sep 22, 2025
495c588
Update r-test pointer for teeter inertia PR
andrew-platt Sep 22, 2025
c8e722e
Merge remote-tracking branch 'OpenFAST/dev' into hubiner_2bladed
andrew-platt Sep 22, 2025
e9cc4ac
Bug fix in the new grid interpolation SetIndex subroutine
luwang00 Sep 22, 2025
02f3f66
Adopted the new grid interpolation module in SeaState, HydroDyn, and …
luwang00 Sep 22, 2025
9899bc3
Merge pull request #2981 from abhineet-gupta/hubiner_2bladed
andrew-platt Sep 23, 2025
5db120c
Updated the method for computing the free-surface normal
luwang00 Sep 23, 2025
1d0ee6c
Cleanup
luwang00 Sep 23, 2025
ebd04c1
Linearization: Fix pointer to dUdy block for SD inputs to MAP outputs
bjonkman Sep 25, 2025
436a4ad
Merge pull request #3009 from bjonkman/b/MAP-SD_linear
andrew-platt Sep 25, 2025
20dd14f
Merge dev branch
luwang00 Sep 29, 2025
d6e5794
fix rtd copyright year, add link to rtd when using
mayankchetan Sep 29, 2025
90ae7c1
Update r-test pointer
luwang00 Sep 29, 2025
31474e2
Update r-test pointer
luwang00 Sep 29, 2025
1184401
TurbSim: add OMP directives on Coeffs2TimeSeries
andrew-platt Oct 2, 2025
5f9d7c5
TurbSim: add OMP on CalcFourierCoeffs_IEC
andrew-platt Oct 2, 2025
1637f4a
TurbSim: OpenMP notes and limits on nested in Coh2H
andrew-platt Oct 2, 2025
cd17f89
TurbSim: correction to OMP directive
andrew-platt Oct 2, 2025
448f1a5
TurbSim: simplify looping in EyeCoh2H
andrew-platt Oct 2, 2025
c4b0026
[BugFix] FF awae: set v_plane=0 when center of wake plane leaves domain
andrew-platt Oct 6, 2025
85d96f2
FF awae: add velocity kick to planes exiting domain
andrew-platt Oct 8, 2025
ccf66c4
FF: align initial wake grid with the blades
andrew-platt Oct 9, 2025
35339ad
FF awae: used wrong mesh on previous commit
andrew-platt Oct 10, 2025
1774f60
Merge pull request #3031 from andrew-platt/b/FF_initMeshMapError
andrew-platt Oct 11, 2025
f878b33
MD: add parameter for MD_MaxNCoef (for coefficient tables)
andrew-platt Oct 13, 2025
82f485a
MD: add parameters for MD_MaxBdAtch MD_MaxPtAtch MD_MaxFailLines
andrew-platt Oct 14, 2025
9ffbf21
MD: MD_MaxBdAtch and MD_MaxPtAtch to 100
andrew-platt Oct 14, 2025
e9e1a69
MD: add error checks on *_Add* routines
andrew-platt Oct 14, 2025
3175977
Merge remote-tracking branch 'OpenFAST/dev' into wavetank3
andrew-platt Oct 14, 2025
055be89
wavetank: update interfaces after merging dev changes
andrew-platt Oct 15, 2025
55ada5b
ss c-bind: pass inputfilename outrootname as fixed length char array …
andrew-platt Oct 15, 2025
c2c4edb
wavetank: major revisions
andrew-platt Oct 15, 2025
ebd50b3
wavetank: add option to send all screen to file
andrew-platt Oct 15, 2025
d6b6979
wavetank: add 'static' linking of libs
andrew-platt Oct 15, 2025
9fb9f81
wavetank: add NacYaw to input file
andrew-platt Oct 15, 2025
82fb812
adi c-bind: output filenames in ShowPassed data
andrew-platt Oct 15, 2025
0dd71f9
ss c-bind: revise vtk directory handling (was broken)
andrew-platt Oct 15, 2025
d68fa7c
wavetank: module input files read from input file instead of passed
andrew-platt Oct 16, 2025
c454340
wavetank: remove input files from interface WaveTank.vi
andrew-platt Oct 17, 2025
d2d5e8b
wavetank: return VTKdir from init
andrew-platt Oct 17, 2025
4f318d9
wavetank: update WaveTank.vi example
andrew-platt Oct 17, 2025
0824380
Merge pull request #3034 from andrew-platt/f/MD_increase_attach_points
andrew-platt Oct 20, 2025
f9c18e7
Merge pull request #3015 from mayankchetan/docFix
andrew-platt Oct 20, 2025
d85b5d1
wavetank: revert to standard tdms library (offshore group)
andrew-platt Oct 20, 2025
64c4ede
wavetank: CalcStep routine, dbgouts file
andrew-platt Oct 20, 2025
7d86049
MD: segfault if MD_End called twice from c-bind
andrew-platt Oct 20, 2025
b0ffb4d
wavetank: add output file from c-bind with all output channels
andrew-platt Oct 21, 2025
af3e21b
wavetank: add placeholder for scaling at interface
andrew-platt Oct 21, 2025
608ae34
wavetank: add rough start of struct model
andrew-platt Oct 21, 2025
7ff22cf
wavetank: vtk output partially assembled.
andrew-platt Oct 21, 2025
aea2856
wavetank: fixes to compile in double prec
andrew-platt Oct 22, 2025
73eb4f9
SeaState: add ability to time shift the wavefield
andrew-platt Oct 29, 2025
e75ac45
wavetank: add buoy for wave elev, input for WaveTimeShift, ADI_Cbind …
andrew-platt Oct 30, 2025
1359e3b
wavetank: add meshes, update SS for WaveTimeShift
andrew-platt Oct 30, 2025
8783e49
wavetank: add more meshes, add Froude scaling routines (not working)
andrew-platt Oct 30, 2025
6a39af1
wavetank: remove TipRad -- unused
andrew-platt Oct 30, 2025
7d5ba52
wavetank: add blade root motion meshes, cleanup
andrew-platt Nov 4, 2025
3bd6dba
wavetank: all calls and mappings complete. forces returned
andrew-platt Nov 6, 2025
e9fade8
wavetank: missing MD forces/moments
andrew-platt Nov 6, 2025
6daccea
wavetank: don't transpose DCM to ADI
andrew-platt Nov 6, 2025
31ad352
FASTlib: fix typo in error message
andrew-platt Nov 10, 2025
db517c1
Merge pull request #3064 from andrew-platt/b/ErrMsg_Issue3057
andrew-platt Nov 10, 2025
1832fc9
wavetank: remove scaling option (not complete)
andrew-platt Nov 10, 2025
c96e3c5
Merge remote-tracking branch 'OpenFAST/dev' into wavetank3
andrew-platt Nov 10, 2025
79e942e
pyOpenFAST: minor changes to interface_abc
andrew-platt Sep 17, 2025
92ca19d
adi c-bind: move vtk from _Init to _PreInit
andrew-platt Sep 17, 2025
f2676cb
ifw c-bind: update interface mem handling, new routines
andrew-platt Sep 23, 2025
a55c8bc
adi c-bind: add pointer get/set FlowField
andrew-platt Sep 23, 2025
4513b10
ADI c-bind: remove redundant loop on setting rotor motion
andrew-platt Oct 8, 2025
82104bd
ADI c-bind: allow setting external IfW instance with pointer to data …
andrew-platt Nov 12, 2025
7de30a2
adi: fix bug in previous commit
andrew-platt Nov 12, 2025
c650b7a
ifw c-bind: comment out IfW_C_SetFlowFieldPointer
andrew-platt Nov 12, 2025
8c9c297
ifw c-bind: reneable set pointer routine
andrew-platt Nov 13, 2025
9928df3
ss c-bind: add routine to get min/max elev
andrew-platt Nov 13, 2025
9126941
HD: bug fixes for Morison members
luwang00 Nov 18, 2025
dd1d56a
Fixed a typo in HD user docs
luwang00 Nov 18, 2025
6f4ac93
Merge pull request #3076 from luwang00/b/HDFlippedMember
andrew-platt Nov 19, 2025
ea0e9d3
Merge remote-tracking branch 'origin/wavetank3' into f/c-bind_updates…
andrew-platt Nov 19, 2025
e275c5e
ADI c-bind: bug introduced in merge
andrew-platt Nov 19, 2025
ea016c5
nwtc_c_bind: specify integer type on errstat
andrew-platt Nov 19, 2025
33f1c4d
ss c-bind: initialize returned vals from init (in case of early abort)
andrew-platt Nov 19, 2025
91a0110
SS c-bind: add routines to get env vars
andrew-platt Nov 20, 2025
054d478
HD c-bind: correct error message about multiple nodes
andrew-platt Nov 20, 2025
b759d11
Update r-test pointer after r-test merge #168
andrew-platt Nov 21, 2025
0f4a7ee
wavetank: fix type issue so double prec compiles
andrew-platt Nov 21, 2025
d527a23
Merge remote-tracking branch 'origin/wavetank3' into f/c-bind_updates…
andrew-platt Nov 21, 2025
cc473e8
TempQuickFix: disable wavetank since it won't compile
andrew-platt Nov 21, 2025
5291ed3
Remove the _OPENMP ifdefs and let OpenMP set the number of threads. U…
deslaughter Nov 24, 2025
5858941
Change main CMakeLists.txt file to prefer sequential version of MKL w…
deslaughter Nov 24, 2025
667208f
Merge remote-tracking branch 'OpenFAST/dev' into f/GridInterp
andrew-platt Nov 25, 2025
e204943
docs: update info on VS versions and IFX
andrew-platt Nov 25, 2025
3831599
GridInterp: update VS projects
andrew-platt Nov 25, 2025
3d19110
Merge pull request #3083 from andrew-platt/f/Docs_WinVS_install
andrew-platt Nov 26, 2025
7ce0149
Update GridInterp based on review comments
luwang00 Nov 26, 2025
1f74491
Merge pull request #3007 from luwang00/f/GridInterp
andrew-platt Nov 26, 2025
1d2580a
ifw flowfield: add box corners to out of bounds message on 4D
andrew-platt Nov 21, 2025
1850c1a
Correction to the index math for box upper bound
andrew-platt Dec 10, 2025
5aa1e87
Merge pull request #3099 from andrew-platt/f/FF_HR_bounds_box_corners
andrew-platt Dec 10, 2025
d905352
FF WAT: change default WAT_Scalebox to True
andrew-platt Dec 11, 2025
24556d9
FF WAT: update docs on WAT_Scalebox
andrew-platt Dec 11, 2025
14ad361
Merge pull request #3020 from andrew-platt/f/TurbSim_OpenMP
andrew-platt Dec 18, 2025
83ee12d
Docs: updates to StC docs
andrew-platt Dec 19, 2025
d04e201
Docs: correction to previous commits
andrew-platt Dec 21, 2025
7664528
SeaSt c-bind: replace numTimeSteps with time_max
andrew-platt Dec 21, 2025
30eb71d
Merge remote-tracking branch 'OpenFAST/dev' into wavetank3
andrew-platt Dec 21, 2025
b706b8e
ED: comment in registry was never updated
andrew-platt Dec 21, 2025
7935e21
SeaSt_WaveField: remove unused params from registry
andrew-platt Dec 21, 2025
92c80cc
SeaSt c-bind: fix WaveTimeShift after `dev` merge
andrew-platt Dec 21, 2025
d0fb325
cmake: objects for AD, MD, SS c-bind shared/static lib builds
andrew-platt Dec 21, 2025
224e772
seast c-bind: fix issue in reg test
andrew-platt Dec 22, 2025
ed1eb8d
HD: improve error handling in CalcOutput
andrew-platt Dec 22, 2025
9ca10b3
Add regression test case for MHK RM1 scaled tank size
andrew-platt Dec 22, 2025
117eb52
Merge pull request #3109 from andrew-platt/StC_theory_eqs
andrew-platt Dec 22, 2025
d741577
Add error message when using BeamDyn with AeroMap
deslaughter Dec 22, 2025
4922d57
Check that FAST_InitializeAll is successful in FAST_InitializeSteadyS…
deslaughter Dec 22, 2025
f90d379
Merge pull request #3111 from deslaughter/aeromap_bd_err
deslaughter Dec 23, 2025
245e0c5
move wavetank example python to regression
andrew-platt Dec 23, 2025
0bf37cf
functional wavetank test case
andrew-platt Dec 24, 2025
9b6f6dd
wavetank: fix debug level issue
andrew-platt Dec 24, 2025
3a79346
wavetank: updates for GH actions
andrew-platt Dec 24, 2025
f305048
wavetank regression: rearrange for GH action
andrew-platt Dec 24, 2025
44171ae
wavetank regression: rearrange again for GH actions
andrew-platt Dec 24, 2025
2d3cd87
FF: WAT_dXdYdZ from high res grid if same for all turbines
andrew-platt Dec 24, 2025
fb7fec7
FF WAT_DxDyDz: fix typo in 2d3cd877e
andrew-platt Dec 24, 2025
6656ae9
FF: add WAT info to summary file, fix segfault
andrew-platt Dec 24, 2025
7cd603a
FF WAT: fix seg fault in summary file
andrew-platt Dec 29, 2025
e731411
FF WAT: update first set of reg test results
andrew-platt Dec 30, 2025
afec862
FF WAT: update second set of reg test results
andrew-platt Dec 31, 2025
071fb06
typo found by ai review
andrew-platt Dec 31, 2025
d02ee8c
Merge remote-tracking branch 'OpenFAST/dev' into b/FF_WAT_scalebox
andrew-platt Dec 31, 2025
7f5b3a1
Merge pull request #3104 from andrew-platt/b/FF_WAT_scalebox
andrew-platt Dec 31, 2025
12be0fb
Merge remote-tracking branch 'OpenFAST/dev' into wavetank3
andrew-platt Dec 31, 2025
01ad8b5
wavetank: add brief documentation
andrew-platt Dec 31, 2025
380a6e9
Merge remote-tracking branch 'origin/wavetank3' into f/c-bind_updates…
andrew-platt Dec 31, 2025
7740c88
Merge pull request #3065 from andrew-platt/wavetank3
andrew-platt Dec 31, 2025
2c2a46e
Merge remote-tracking branch 'OpenFAST/dev' into f/c-bind_updates_ADI
andrew-platt Dec 31, 2025
00cf2a5
fix when elastodyn tower file path is absolute
Jan 6, 2026
4518300
update wavetank interface after merge
andrew-platt Jan 6, 2026
a709863
Initial plan
Copilot Jan 6, 2026
e345faf
Fix get_elevMinMax function signature and docstring
Copilot Jan 6, 2026
5945d8f
Merge pull request #28 from andrew-platt/copilot/sub-pr-27
andrew-platt Jan 6, 2026
c3caf84
update py_SS reg test after merge
andrew-platt Jan 6, 2026
d4627d5
HD c-bind: add clarifying comment after co-pilot confusion
andrew-platt Jan 6, 2026
676f495
ADI c-bind: remove stale comment
andrew-platt Jan 6, 2026
40d4f91
SS c-bind: correct name of subroutine
andrew-platt Jan 6, 2026
b0ef954
ADI logic update
andrew-platt Jan 7, 2026
9463e62
ADI: fix bug in commit b0ef95402
andrew-platt Jan 7, 2026
883c72e
Merge pull request #3108 from andrew-platt/f/c-bind_updates_ADI
andrew-platt Jan 7, 2026
7a980f5
Merge pull request #3130 from louis-papillon/bugfix_elastodyn_tower_a…
andrew-platt Jan 7, 2026
1a15d0a
AeroAcoustics: fix element size calculation
bjonkman Jan 8, 2026
4f98b47
AeroAcoustics BUG FIX
bjonkman Jan 8, 2026
ecb52cc
Merge pull request #3134 from bjonkman/b/AA_angle
andrew-platt Jan 13, 2026
c77c55c
HD: Fixed a bug where only the potential-flow wave excitation of the …
luwang00 Jan 14, 2026
6a26078
FF: update AWAE plane velocity outside bounds
andrew-platt Oct 9, 2025
502b51c
Merge pull request #3141 from luwang00/b/HD_PtfmRefztRot
andrew-platt Jan 14, 2026
102b757
Merge remote-tracking branch 'OpenFAST/dev' into b/FF_planeDomainExit
andrew-platt Jan 14, 2026
cd38609
AWAE: include z component in wake drift out of bounds
andrew-platt Jan 15, 2026
df2bb8f
AWAE: Update comment
andrew-platt Jan 15, 2026
36c8acf
Merge pull request #3025 from andrew-platt/b/FF_planeDomainExit
andrew-platt Jan 15, 2026
1364d80
docs: Remove references to `pfunit` from docs (no longer used)
andrew-platt Jan 15, 2026
0fb1548
WD: Ct_avg was not set when polar wake used giving RtCtAvgT
andrew-platt Jan 15, 2026
34cb3ee
FF reg test: Update ModAmb3 case after RtCtAvgT bugfix
andrew-platt Jan 16, 2026
72176dd
Merge pull request #3144 from andrew-platt/b/docs_pfunit_references
andrew-platt Jan 16, 2026
5e30ef1
Merge pull request #3145 from andrew-platt/b/FF_RtCtAvgT
andrew-platt Jan 16, 2026
6a57521
Reenable use of MAP when writing checkpoint files
deslaughter Jan 16, 2026
b02534c
Merge pull request #3146 from deslaughter/reenable-map-chkpt
andrew-platt Jan 16, 2026
391d428
NWTC Library: update error message with IOSTAT return value
bjonkman Dec 29, 2025
d2be8f1
Merge pull request #3148 from bjonkman/b/NWTCLib_errMsg
andrew-platt Jan 16, 2026
693c107
AeroAcoustics cleanup + added driver code
bjonkman Dec 29, 2025
4d0b696
Update AA reg test results
andrew-platt Jan 16, 2026
0c90a24
Merge remote-tracking branch 'OpenFAST/dev' into b/AA_elementSize
andrew-platt Jan 16, 2026
f9f1986
Merge pull request #3133 from bjonkman/b/AA_elementSize
andrew-platt Jan 16, 2026
2480d90
Merge remote-tracking branch 'OpenFAST/dev' into b/AeroAcoustics_cleanup
andrew-platt Jan 16, 2026
64d0e14
fixes access to the 2nd column (GenTrq_TLU) in the DLL_NumTrq related…
LKa505 Jan 19, 2026
f6fe2c5
Linear Trim Solution: update range calculation when NLinTimes=1
bjonkman Jan 19, 2026
82276ef
Merge pull request #3156 from bjonkman/b/Linear
deslaughter Jan 20, 2026
4768172
StC: bugfix in DLL applied forces
andrew-platt Jan 20, 2026
4fac4c3
Merge pull request #3153 from LKa505/b/FAST_reader_GenTrq_TLU
andrew-platt Jan 20, 2026
63a91ef
StC: add placeholders for moments applied by DLL
andrew-platt Jan 20, 2026
88fce61
StC: add moments for DLL prescribed forces/moments
andrew-platt Jan 20, 2026
7795154
StC: address comments from GH copilot and minor format fixes
andrew-platt Jan 20, 2026
aa2fd1a
Merge pull request #3158 from andrew-platt/b/StC_Ctrl_Frc
andrew-platt Jan 20, 2026
ea60d47
Add in yaw friction cases
andrew-platt Jan 20, 2026
58a1254
testing: add MinimalExample case
andrew-platt Jan 20, 2026
c8f4707
Try to get simulink to build
deslaughter Jan 20, 2026
ad3db13
Try ifx compilter from intel-fortran-essentials
deslaughter Jan 20, 2026
7a5db9d
Merge pull request #3159 from andrew-platt/b/YFriction_regTests
deslaughter Jan 21, 2026
69cab72
Merge pull request #3162 from deslaughter/fix-simulink-build-win
andrew-platt Jan 21, 2026
cd53c27
Merge pull request #3149 from bjonkman/b/AeroAcoustics_cleanup
andrew-platt Jan 21, 2026
f18d025
AA driver: add driver compile to cmake
andrew-platt Jan 21, 2026
e1ab2fb
AA driver: bug in previous commit
andrew-platt Jan 21, 2026
4ba5c85
AA driver: update simulink build with aeroacousticslib
andrew-platt Jan 21, 2026
c44d3f4
Merge pull request #3163 from andrew-platt/f/aa_driver_cmake
andrew-platt Jan 22, 2026
68e3826
Update r-test pointer after r-test PR#175
andrew-platt Jan 22, 2026
7ff0bc8
project description update NREL --> NLR
andrew-platt Jan 21, 2026
d07739b
Merge pull request #3166 from andrew-platt/b/nrel_name_change
andrew-platt Jan 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 11 additions & 13 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,16 @@
**Additional supporting information**
<!-- Add any other context about the problem here. -->

**Generative AI usage**
<!-- describe any generative AI used
If substantial portions are generated with AI, include a reference like one of the following:
Co-authored-by: Google Gemini <gemini@google.com>
Co-authored-by: OpenAI ChatGPT <chatgpt@openai.com>
Co-authored-by: Microsoft Copilot <copilot@microsoft.com>
Co-authored-by: Anthropic Claude <claude@anthropic.com>
Assisted by: GitHub Copilot <support@github.com>
-->

**Test results, if applicable**
<!-- Add the results from unit tests and regression tests here along with justification for any failing test cases. -->

<!-- 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 tag
- [ ] Compile executables for Windows builds
- [ ] FAST_SFunc.mexw64
- [ ] OpenFAST-Simulink_x64.dll
- [ ] openfast_x64.exe
- [ ] DISCON.dll
-->
- [ ] r-test branch merging required
1 change: 1 addition & 0 deletions .github/scripts/build_windows_executables.bat
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ devenv vs-build/TurbSim/TurbSim.vfproj /Build "Release|x64"
devenv vs-build/UnsteadyAero/UnsteadyAero.sln /Build "Release|x64"

@REM Build MATLAB solution last
rd /s /q .\build\lib
devenv vs-build/FAST/FAST.sln /Build "Release_Matlab|x64"

@REM Copy controllers to bin directory
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/automated-dev-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -368,10 +368,12 @@ jobs:
path: |
${{github.workspace}}/build/reg_tests/glue-codes/openfast-cpp
${{github.workspace}}/build/reg_tests/glue-codes/python
${{github.workspace}}/build/reg_tests/glue-codes/other
${{github.workspace}}/build/reg_tests/modules/aerodyn
${{github.workspace}}/build/reg_tests/modules/moordyn
${{github.workspace}}/build/reg_tests/modules/inflowwind
${{github.workspace}}/build/reg_tests/modules/hydrodyn
${{github.workspace}}/build/reg_tests/modules/seastate
!${{github.workspace}}/build/reg_tests/glue-codes/openfast-cpp/5MW_Baseline


Expand Down
21 changes: 3 additions & 18 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -149,30 +149,15 @@ jobs:
shell: cmd
run: .github/scripts/windows_devenv_test.bat

- name: Install Intel oneAPI BaseKit (Windows)
- name: Install Intel oneAPI Fortran Essentials (Windows)
shell: cmd
env:
URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/7dff44ba-e3af-4448-841c-0d616c8da6e7/w_BaseKit_p_2024.1.0.595_offline.exe
COMPONENTS: intel.oneapi.win.mkl.devel
URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/b626b5cf-8a15-40a4-be9a-9edabbb7cf17/intel-fortran-essentials-2025.3.0.333_offline.exe
run: |
curl.exe --output %TEMP%\webimage.exe --url %URL% --retry 5 --retry-delay 5
start /b /wait %TEMP%\webimage.exe -s -x -f webimage_extracted --log extract.log
del %TEMP%\webimage.exe
webimage_extracted\bootstrapper.exe -s --action install --components=%COMPONENTS% --eula=accept -p=NEED_VS2017_INTEGRATION=0 -p=NEED_VS2019_INTEGRATION=0 -p=NEED_VS2022_INTEGRATION=1 --log-dir=.
set installer_exit_code=%ERRORLEVEL%
rd /s/q "webimage_extracted"
exit /b %installer_exit_code%

- name: Install Intel oneAPI HPCKit (Windows)
shell: cmd
env:
URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/c95a3b26-fc45-496c-833b-df08b10297b9/w_HPCKit_p_2024.1.0.561_offline.exe
COMPONENTS: intel.oneapi.win.ifort-compiler
run: |
curl.exe --output %TEMP%\webimage.exe --url %URL% --retry 5 --retry-delay 5
start /b /wait %TEMP%\webimage.exe -s -x -f webimage_extracted --log extract.log
del %TEMP%\webimage.exe
webimage_extracted\bootstrapper.exe -s --action install --components=%COMPONENTS% --eula=accept -p=NEED_VS2017_INTEGRATION=0 -p=NEED_VS2019_INTEGRATION=0 -p=NEED_VS2022_INTEGRATION=1 --log-dir=.
webimage_extracted\bootstrapper.exe -s --action install --eula=accept -p=NEED_VS2017_INTEGRATION=0 -p=NEED_VS2019_INTEGRATION=0 -p=NEED_VS2022_INTEGRATION=1 --log-dir=.
set installer_exit_code=%ERRORLEVEL%
rd /s/q "webimage_extracted"
exit /b %installer_exit_code%
Expand Down
5 changes: 5 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,11 @@ if (OPENMP)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
link_libraries("${OpenMP_CXX_LIBRARIES}")
endif()
elseif (NOT BLA_VENDOR)
# If we're not using OpenMP, and a specific BLAS vendor has not been set,
# set MKL threading to sequential to avoid potential issues with
# small calculations taking longer due to threading overhead (turbsim).
set(MKL_THREADING "sequential")
endif()

#-------------------------------------------------------------------------------
Expand Down
20 changes: 10 additions & 10 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ OpenFAST is a wind turbine simulation tool which builds on FAST v8. FAST.Farm
extends the capability of OpenFAST to simulate multi-turbine wind farms. They were
created with the goal of being community models developed and used by research
laboratories, academia, and industry. They are managed by a dedicated team at the
National Renewable Energy Lab. Our objective is to ensure that OpenFAST and FAST.Farm
National Laboratory of the Rockies. Our objective is to ensure that OpenFAST and FAST.Farm
are sustainable software that are well tested and well documented. If you'd like
to contribute, see the `Developer Documentation <https://openfast.readthedocs.io/en/dev/source/dev/index.html>`_
and any open GitHub issues with the
Expand All @@ -30,11 +30,11 @@ tag.
Part of the WETO Stack
----------------------

OpenFAST is primarily developed with the support of the U.S. Department of Energy and is part of the `WETO Software Stack <https://nrel.github.io/WETOStack>`_. For more information and other integrated modeling software, see:
OpenFAST is primarily developed with the support of the U.S. Department of Energy and is part of the `WETO Software Stack <https://NatLabRockies.github.io/WETOStack>`_. For more information and other integrated modeling software, see:

* `Portfolio Overview <https://nrel.github.io/WETOStack/portfolio_analysis/overview.html>`_
* `Entry Guide <https://nrel.github.io/WETOStack/_static/entry_guide/index.html>`_
* `OpenFAST Workshop <https://nrel.github.io/WETOStack/workshops/user_workshops_2024.html#openfast-ecosystem>`_
* `Portfolio Overview <https://NatLabRockies.github.io/WETOStack/portfolio_analysis/overview.html>`_
* `Entry Guide <https://NatLabRockies.github.io/WETOStack/_static/entry_guide/index.html>`_
* `OpenFAST Workshop <https://NatLabRockies.github.io/WETOStack/workshops/user_workshops_2024.html#openfast-ecosystem>`_


FAST v8 - OpenFAST
Expand Down Expand Up @@ -155,18 +155,18 @@ Please use `GitHub Issues <https://github.com/OpenFAST/OpenFAST/issues>`_ to:
* report bugs
* request code enhancements

Users and developers may also be interested in the NREL National Wind
Technology Center (NWTC) `phpBB Forum <https://wind.nrel.gov/forum/wind/>`_,
Users and developers may also be interested in the NLR National Wind
Technology Center (NWTC) `Forum <https://forums.nrel.gov/>`_,
which is still maintained and has a long history of FAST-related questions
and answers.

Acknowledgments
---------------

OpenFAST and FAST.Farm are maintained and developed by researchers and software
engineers at the `National Renewable Energy Laboratory <http://www.nrel.gov/>`_
(NREL), with support from the US Department of Energy's Wind Energy Technology
Office. NREL gratefully acknowledges development contributions from the following
engineers at the `National Laboratory of the Rockies <http://www.nlr.gov/>`_
(NLR), with support from the US Department of Energy's Wind Energy Technology
Office. NLR gratefully acknowledges development contributions from the following
organizations:

* Envision Energy USA, Ltd
Expand Down
19 changes: 10 additions & 9 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
import sys
import subprocess
import re
import datetime

#sys.path.append(os.path.abspath('_extensions/'))

Expand Down Expand Up @@ -127,18 +128,18 @@ def runDoxygen(sourcfile, doxyfileIn, doxyfileOut):
master_doc = 'index'

# General information about the project.
project = u'OpenFAST'
copyright = u'2023, National Renewable Energy Laboratory'
author = u'OpenFAST Team'
project = f'OpenFAST'
copyright = f'{datetime.date.today().year}, National Renewable Energy Laboratory'
author = f'OpenFAST Team'

# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = u'4.1'
version = f'4.1'
# The full version, including alpha/beta/rc tags.
release = u'v4.1.2'
release = f'v4.1.2'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down Expand Up @@ -226,8 +227,8 @@ def runDoxygen(sourcfile, doxyfileIn, doxyfileOut):
(
master_doc,
'Openfast.tex',
u'OpenFAST Documentation',
u'National Renewable Energy Laboratory',
f'OpenFAST Documentation',
f'National Renewable Energy Laboratory',
'manual'
),
]
Expand All @@ -241,7 +242,7 @@ def runDoxygen(sourcfile, doxyfileIn, doxyfileOut):
(
master_doc,
'openfast',
u'OpenFAST Documentation',
f'OpenFAST Documentation',
[author],
1
)
Expand All @@ -257,7 +258,7 @@ def runDoxygen(sourcfile, doxyfileIn, doxyfileOut):
(
master_doc,
'OpenFAST',
u'OpenFAST Documentation',
f'OpenFAST Documentation',
author,
'OpenFAST',
'One line description of project.',
Expand Down
2 changes: 1 addition & 1 deletion docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ and underlying modules are mostly written in Fortran
(adhering to the 2003 standard), and modules can also be written in C or
C++. It was created with the goal of being a community model developed
and used by research laboratories, academia, and industry. It is
managed by a dedicated team at the National Renewable Energy Lab.
managed by a dedicated team at the National Lab of the Rockies.
Our objective is to ensure that OpenFAST is well tested, well
documented, and self-sustaining software. To that end, we are continually
improving the documentation and test coverage for existing code, and we
Expand Down
14 changes: 7 additions & 7 deletions docs/source/install/install_vs_windows.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,21 +11,21 @@ Prerequisites

1. A version of Visual Studio (VS).

- Currently VS 2013 Professional and VS 2015 Community Edition have been tested with OpenFAST.
- NOTE: not all VS Studio versions are supported by the Intel compilers. In general, the Fortran compiler must be newer than Visual Studio. A list of Intel Fortran compatible VS versions and specific installation notes are found `here <https://software.intel.com/en-us/intel-parallel-studio-xe-compilers-required-microsoft-visual-studio>`_.

- A list of Intel Fortran compatible VS versions and specific installation notes are found `here <https://software.intel.com/en-us/intel-parallel-studio-xe-compilers-required-microsoft-visual-studio>`_.
- Currently VS 2019 Community Edition, VS 2022 Professional, and VS 2022 Community Edition have been tested with OpenFAST. Download VS 2022 Community `here <https://aka.ms/vs/17/release/vs_community.exe>`__.

- The included C/C++ project files for MAP++ and the Registry are compatible with VS 2013, but will upgrade seemlessly to a newer version of VS.
- When installing Visual Studio, select the ``Desktop development with C++`` under ``Workloads``.

- If you download and install `Visual Studio 2015 Community Edition <https://go.microsoft.com/fwlink/?LinkId=691978&clcid=0x409>`__, you will need to be sure and select the ``C/C++ component`` using the ``Customize`` option.
- Note: The included C/C++ project files for MAP++ and the Registry are compatible with VS 2019, but will upgrade seemlessly to a newer version of VS.

2. Intel Fortran Compiler

- Currently only version 2017.1 has been tested with OpenFAST, but any newer version should be compatible.
- We recommend compiling with the IFX compiler from Intel. This is included in the ``Intel Fortran Essentials`` installation package. Currently tested with version 2025.3

- You can download an Intel Fortran compiler `here <https://software.intel.com/en-us/fortran-compilers>`__.
- You can download ``Intel Fortran Essentials`` `here <https://www.intel.com/content/www/us/en/developer/tools/oneapi/fortran-compiler-download.html>`__. Note: do not install the ``oneAPI HPC Toolkit``

- Only install Intel Fortran after you have completed your Visual Studio installation.
- Only install Intel Fortran after you have completed your Visual Studio installation. Note that Intel Fortran must be compatible with your version of Visual Studio. See `here <https://www.intel.com/content/www/us/en/developer/articles/reference-implementation/intel-compilers-compatibility-with-microsoft-visual-studio-and-xcode.html>`__ for compatibility tables.

3. Git for Windows

Expand Down
13 changes: 6 additions & 7 deletions docs/source/testing/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,9 @@ pushing new commits will trigger the tests.
Obtaining and configuring the test suite
----------------------------------------
Portions of the test suite are linked to the OpenFAST repository through a
`git submodule`. Specifically, the following two repositories are included:
`git submodule`. Specifically, the following repository is included:

- `r-test <https://github.com/openfast/r-test>`__
- `pFUnit <https://github.com/Goddard-Fortran-Ecosystem/pFUnit>`__

.. tip::

Expand All @@ -56,8 +55,8 @@ build process with an additional CMake flag:
# BUILD_TESTING - Build the testing tree (Default: OFF)
cmake .. -DBUILD_TESTING:BOOL=ON

Aside from this flag, the default CMake configuration is suitable for most systems.
See the :ref:`understanding_cmake` section for more details on configuring
the CMake targets. While the unit tests must be built with CMake due to its external
dependencies, the regression test may be executed without CMake, as described in
:ref:`python_driver`.
Aside from this flag, the default CMake configuration is suitable for most
systems. See the :ref:`understanding_cmake` section for more details on
configuring the CMake targets. While the unit tests must be built with CMake due
to its dependency on `test_drive` (included in the source code), the regression
test may be executed without CMake, as described in :ref:`python_driver`.
1 change: 0 additions & 1 deletion docs/source/testing/unit_test.rst
Original file line number Diff line number Diff line change
Expand Up @@ -113,4 +113,3 @@ Some useful topics to consider when developing and testing for OpenFAST are:

- `Test driven development <https://en.wikipedia.org/wiki/Test-driven_development#Test-driven_development_cycle>`__
- `Separation of concerns <https://en.wikipedia.org/wiki/Separation_of_concerns>`__
- `pFUnit usage <http://pfunit.sourceforge.net/page_Usage.html>`__
12 changes: 7 additions & 5 deletions docs/source/user/aerodyn-aeroacoustics/App-usage.rst
Original file line number Diff line number Diff line change
Expand Up @@ -112,20 +112,22 @@ Finally, the set Outputs contains a few options for the output data:
levels are reported with (True) or without (False) the A-weighting
correction; see :numref:`aa-sec-ModelUsage`.

- **NAAOutFile** – Integer 1/2/3: flag to set the desired output file. When
- **NAAOutFile** – Integer 1/2/3/4: flag to set the desired output file. When
set to 1, a value of overall sound pressure level at every **DT_AA** time
step per observer is printed to file. When set to 2, the first output
is accompanied by a second file where the total sound pressure level
spectrum is printed per time step per observer. When set to
3, the two first outputs are accompanied by a third file where the
3, the two first output files are accompanied by a third file where the
sound pressure level spectrum per noise mechanism is printed per time
step per observer. When set to 4, a fourth file is generated with the
values of overall sound pressure levels per node, per blade,
per observer, and per time step.

- The following line contains the file name used to store the outputs.
The file name is attached with a 1, 2, 3, and 4 flag based on the
**NAAOutFile** options.
- The following line, **AAOutFile**, contains the root name for the files
used to store the outputs. If set to "default", the default output file
root name will be used.
The file name is appended with a 1, 2, 3, and 4 flag based on the
**NAAOutFile** options.

The file must be closed by an END command.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,6 @@ True RoundedTip - Logical indicating rounded tip (flag) [Only used if
====== Outputs ====================================================================================
False AWeighting - A-weighting Flag (flag)
3 NrOutFile - Number of Output files. 1 for Time Dependent Overall SPL, 2 for both 1 and Frequency and Time Dependent SPL as well, or 3 for both 1 and 2 and Acoustics mechanism dependent, 4 for 1-3 and the overall sound pressure levels per blade per node per observer
"IEA_LB_RWT-AeroAcoustics_" AAOutFile - No Extension needed the resulting file will have .out Name of file containing
"IEA_LB_RWT-AeroAcoustics_" AAOutFile - No Extension needed; the resulting file(s) will end in #.out. Use "Default" to use the default output file name from OpenFAST.
END of input file (the word "END" must appear in the first 3 columns of this last OutList line)
---------------------------------------------------------------------------------------
4 changes: 3 additions & 1 deletion docs/source/user/elastodyn/input.rst
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,9 @@ Mass and Inertia

**HubMass** - Hub mass (kg)

**HubIner** - Hub inertia about rotor axis [3 blades] or teeter axis [2 blades] (kg m^2)
**HubIner** - Hub inertia about rotor axis (2 or 3-blades) (kg m^2)

**HubIner_Teeter** - Hub inertia about teeter axis (2-blades) (kg m^2)

**GenIner** - Generator inertia about HSS (kg m^2)

Expand Down
7 changes: 5 additions & 2 deletions docs/source/user/fast.farm/InputFiles.rst
Original file line number Diff line number Diff line change
Expand Up @@ -637,11 +637,14 @@ These are used only if WAT=2.
**WAT_DxDyDz**: [three floats, comma separated]
Distances (in meters) between points in the x, y, and z directions of the WAT_BoxFile
These are used only if WAT=2.
When **WAT=1** the dimensions in each directions are taken as :math:`dx=dy=dz=0.03*\text{RotorDiamRef}`.
When **WAT=1** the dimensions will be set to **[dX_high, dY_high, dZ_high]** if
that is the same for all turbines, otherwise the dimeinaiona will be calculated
using the guidance with :math:`dx=dy=dz=0.03*\text{RotorDiamRef}`.


**WAT_ScaleBox**: [flag]
When set to True, the input turbulence box is scaled so that it has zero mean and unit standard deviation at every node.
DEFAULT is False.
DEFAULT is True.

**WAT_k_Def** [five floats, comma separated] :math:`[k_\text{def}, k_\text{FMin}, k_\text{DMin}, k_\text{DMax}, e]`
Tuning parameters for quasi-steady wake deficit effect in the wake-added
Expand Down
Loading
Loading