diff --git a/docs/OtherSupporting/SoilDyn/Compiling OpenFAST with REDWIN_V3.docx b/docs/OtherSupporting/SoilDyn/Compiling OpenFAST with REDWIN_V3.docx new file mode 100644 index 0000000000..7b282ced51 Binary files /dev/null and b/docs/OtherSupporting/SoilDyn/Compiling OpenFAST with REDWIN_V3.docx differ diff --git a/docs/OtherSupporting/SoilDyn/OpenFAST_Prescribing_Loads_at_Tower_Top.pdf b/docs/OtherSupporting/SoilDyn/OpenFAST_Prescribing_Loads_at_Tower_Top.pdf new file mode 100644 index 0000000000..becf0dbad5 Binary files /dev/null and b/docs/OtherSupporting/SoilDyn/OpenFAST_Prescribing_Loads_at_Tower_Top.pdf differ diff --git a/docs/OtherSupporting/SoilDyn/README.txt b/docs/OtherSupporting/SoilDyn/README.txt new file mode 100644 index 0000000000..4c7d11b07b --- /dev/null +++ b/docs/OtherSupporting/SoilDyn/README.txt @@ -0,0 +1,2 @@ +2026.03.12 +The files included here were generated part way through the development of the SoilDyn module to couple the RedWin DLL from NGI. They are neither complete or fully accurate with the final implementation, but may serve as a starting point for modifying the code or using the RedWin module. diff --git a/docs/OtherSupporting/SoilDyn/REDWIN_coupling.pptx b/docs/OtherSupporting/SoilDyn/REDWIN_coupling.pptx new file mode 100644 index 0000000000..ae9d56f4ef Binary files /dev/null and b/docs/OtherSupporting/SoilDyn/REDWIN_coupling.pptx differ diff --git a/docs/OtherSupporting/SoilDyn/SoilDyn--update_20200430.pptx b/docs/OtherSupporting/SoilDyn/SoilDyn--update_20200430.pptx new file mode 100644 index 0000000000..3e1afb8af1 Binary files /dev/null and b/docs/OtherSupporting/SoilDyn/SoilDyn--update_20200430.pptx differ diff --git a/docs/OtherSupporting/SoilDyn/Wind Energy - 2021 - Bergua - OC6 Phase II Integration and verification of a new soil structure interaction model for.pdf b/docs/OtherSupporting/SoilDyn/Wind Energy - 2021 - Bergua - OC6 Phase II Integration and verification of a new soil structure interaction model for.pdf new file mode 100644 index 0000000000..05dc93638f Binary files /dev/null and b/docs/OtherSupporting/SoilDyn/Wind Energy - 2021 - Bergua - OC6 Phase II Integration and verification of a new soil structure interaction model for.pdf differ diff --git a/docs/changelogs/v5.0.0.md b/docs/changelogs/v5.0.0.md new file mode 100644 index 0000000000..b4972eada5 --- /dev/null +++ b/docs/changelogs/v5.0.0.md @@ -0,0 +1,362 @@ +**Feature or improvement description** +Pull request to merge `dev` into `main` for release version 5.0.0 + +See the milestone and project pages for additional information + + https://github.com/OpenFAST/openfast/milestone/6 + +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 +- [ ] Update version info in openfast\_io/pyproject.toml (`openfast_io` package) +- [ ] Update version info in glue-codes/python/pyproject.toml (`pyOpenFAST` package for testing) +- [ ] Verify readthedocs builds correctly +- [ ] Create an annotated tag in OpenFAST during merge (mark as most recent if necessary) +- [ ] Create a merge commit in r-test and add a corresponding annotated tag +- [ ] Upload Docker image +- [ ] Compile executables for Windows builds + - [ ] `AeroDisk_Driver_x64.exe` + - [ ] `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)` + - [ ] `FAST.Farm_x64.exe` + - [ ] `FAST.Farm_x64_OMP.exe` + - [ ] `FAST_SFunc.mexw64` + - [ ] `HydroDynDriver_x64.exe` + - [ ] `HydroDyn_C_Binding_x64.dll` + - [ ] `IinflowWind_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` + - [ ] `SeaStateDriver_x64.exe` + - [ ] `SeaState_c_binding_x64.dll` + - [ ] `SimpleElastoDyn_x64.exe` + - [ ] `SubDyn_x64.exe` + - [ ] `Turbsim_x64.exe` + - [ ] `UnsteadyAero_x64.exe` + + + +# Release Overview +------ +_OpenFAST_ 5.0 delivers a major update to the glue code and introduces an implicit tight‑coupling solver for improved speed and stability. The revised glue code streamlines development by automating module interactions and supporting multiple solve methods, including the legacy loose‑coupling algorithm and a generalized‑alpha based tight‑coupling approach that solves structural modules together. With additional enhancements to the _SubDyn_, _HydroDyn_, and _ExtPtfm_ modules, _OpenFAST_ now supports modeling multiple rotors attached to a single support structure. Additional new features include hydroelastic super-elements, blade-pitch actuator dynamics, and a new _SoilDyn_ module for soil-structure interaction. For MHK turbines, new features include wave-current superposition, added mass effects, and fluid-inertia loads. + +_FAST.Farm_ adds substantial performance improvements: a k‑d tree algorithm to accelerate wake interaction calculations; dynamic wake‑plane management improving propagation and visualization; dynamic partitioning of the low-resolution domain to neglect partitions without wakes; and wind file reader improvements including a significantly faster VTK inflow reader and a native AMReX wind file reader. These improvements lead to substantially reduced compuational time for very large wind farms. + +### Contribution Acknowledgements +Thanks to @deslaughter, @jjonkman, @bjonkman, @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. + +Special thanks to @deslaughter for developing the new glue code framework during his ~4 year tenure at NREL/NLR. You will be greatly missed by all who had the privelage of working with you during this time. + +### Statistics (since 4.0.0) +* Total PR's unique to 5.0.0: 59 +* Total unique commits: 1276 +* Total individual code contributors: 9 +* OpenFAST code/docs: 505 files changed, 137,399 insertions(+), 107,358 deletions(-) +* regression tests: 1214 files changed, 970336 insertions(+), 74612 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 +Minor updates to the _CMake_ were included in various pull requests, but no major changes to the system setup itself. + + + +#### Visual Studio (Windows) +The VS build system was completely overhauled to split modules out as separate projects. + +#2814 Update VS Build dependencies for SeaState Changes (@deslaughter) + +#2964 Update VS solution/project files (@deslaughter) + +#3169 Update Visual Studio projects in dev-tc (@deslaughter) + +#3258 Remove `amrex_utils.cpp` from AWAE-C.vcxproj (@deslaughter) + + + +### Documentation +There were multiple improvements to documentation, notably with the new tight coupling algorithm, _ElastoDyn_, and _InflowWind_. + +#2929 Update SubDyn user documentation for the new multirotor capabilities (@luwang00) + +#3043 Documentation of WHOC and ROSCO for super controller in FAST.Farm (@abhineet-gupta) + +#3132 Update ED user manual with information on the new blade pitch DoF (@luwang00) + +#3168 Docs: Fix typos in OutListParameters.xlsx (@RBergua) + +#3225 Add User-defined wind documentation for InflowWind (@deslaughter) + +#3244 Tight-coupling code documentation (@deslaughter) + +#3255 Docs: add link to CSF tool and change NREL --> NLR in docs. (@andrew-platt) + + + +## Solvers + +### FAST.Farm +> Input file changes + +FAST.Farm delivers a significant performance upgrade with dynamic partitioning of the low resolution domain, compuationally efficient wake interaction with a k‑d tree approach across turbine and farm grids, and dynamic wake‑plane management ensuring wake planes propagate for an expected distance with a buffer region so the wakes do not end abruptly causing adverse loading of downstream turbines. The reading of wind data is also greatly improved with a new C++ VTK reader that cuts OpenMP overhead by 60–80%, and a native AMReX file reader to directly use AMReX-format wind precursors thereby simplifying AMR-Wind based workflows. Overall these modifications greatly improve the scalability and speed of calculation for large wind farm calculations. + + + +### OpenFAST +> _Major_ input file changes + +OpenFAST 5.0 introduces a significantly revised glue code and solver which aims to streamline the development experience by automating and managing the module interactions and using a generalized-alpha based solver for structural modules. Each module now defines which input, output, and state variables are visible to the glue-code, along with their attributes and locations in the data structures, and the glue code decides what data to use for the time-domain solve and linearization. Users can define mesh mapping between modules in one location and the glue-code handles all the connections and transfers automatically. Even adding new modules is relatively straightforward and the user will generally receive error messages instead of segmentation faults when issues arise. The goal is to improve the developer experience through automation and the user experience through faster and more stable solutions. A journal paper will be published soon that explains the algorithmic details and the impact on OpenFAST's solution and performance. + +With this restructuring, the glue-code now supports multiple solve methods including the loose-coupling algorithm used in earlier version of OpenFAST, as well as an implicit tight-coupling solve where all structural modules are solved together. With these changes and with changes to the _SubDyn_ module, modeling of multiple rotors attached to a single structure is now possible. + +Additional improvements to _ExtPtfm_ and _HydroDyn_ now support hydroelastic super-elements and linearization with platforms defined in the _ExtPtfm_ module. Other improvements include + +#2439 Tight-Coupling Algorithm for OpenFAST 5.0 (@deslaughter) + +#2817 Incorrect mesh mapping between BeamDyn and ServoDyn for Blade Structural Controller (@deslaughter) + +#2838 Multi-Rotor input file and glue-code changes (@deslaughter) + +#2965 Missing BD Blade VTK Output in dev-tc (@deslaughter) + +#2990 Updates to dev-tc: linearization visualization, bug fixes, sync with dev branch (@deslaughter) + +#3115 Updated SD NPropSets to NPropSetsCyl and NPropSetsRec and fixed typos in the HD input file (@deslaughter) + +#3125 Performance improvements in dev-tc (@deslaughter) + +#3213 Include ServoDyn in Option 1 solve if structural controllers are enabled (@deslaughter) + +#3261 Reduce module variables included in Option 1 solve with ServoDyn (@deslaughter) + + + +## Modules + +### Multiple modules + +#3252 Remove unused registry entries (leftover from old lin method) (@andrew-platt) + + +### AeroDyn +> Driver input file changes +> Input file changes +> Blade input file changes + +#2861 Add MHK loads to OLAF blade loads (@hkross) + +#2945 [OLAF] Implementation of a source panel method (@ebranlard) + +#3239 Fixed SeaState initialization in AeroDyn driver (@luwang00) + +#3240 UA: adding quasi steady outputs to UA driver outputs (@ebranlard) + + + +### AWAE +As part of the overhaul of wind data handling in _FAST.Farm_, the _AWAE_ module received a major overhaul with the inclusion of a k-d tree algorithm for wake interaction and wind domain calculations. + +#3066 Use k-d tree to speed up wake application to high-res grid in AWAE (@deslaughter) + +#3071 Various changes to the handling of wake planes (@luwang00) + +#3074 Use C++ to read VTK inflow in AWAE (@deslaughter) + +#3112 Move FAST.Farm K-d tree logic into `AWAE_UpdateStates` (@deslaughter) + +#3238 Add AMReX-based inflow reader to AWAE for FAST.Farm (@deslaughter) + + + +### BeamDyn +> Blade input file changes + +_BeamDyn_ now includes a modal damping option in the blade file. + +#3105 Remove blade pitch actuator from BeamDyn and blade PitchAxis from ElastoDyn (@luwang00) + +#3147 Modal damping (@JustinPorter88) + + +### ElastoDyn +> Input file changes +> Blade input file changes + +_ElastoDyn_ updates include tower offset and a new blade pitch actuator model. + +#2830 Add PtfmRefxt and PtfmRefyt in ElastoDyn to allow the tower to be offset from (0,0) (@luwang00) + +#3039 Blade pitch dynamics and actuation (@luwang) [also changed ServoDyn] + +#3114 ED blade input check, bug fix, and docs update (@luwang00) + +#3253 ED: update blade file parser to allow arbitrary column locations (@andrew-platt) + + + + +### ExtPtfm +> Input file changes + +_ExtPtfm_ has been overhauled to handle large rigid-body motion, define structural connection points for mooring coupling, and accept prescribed force time series at those points (forces only; no moments), with redesigned input files. + +#3210 Hydroelastic super-element capability for OpenFAST (@luwang00) + + +### HydroDyn +> Input file changes + +_HydroDyn_ now supports potential-flow bodies with extra generalized DOFs beyond 6 rigid-body modes for integration with improvements to _ExtPtfm_. + +#3219 Added flexibility for strip-theory hydrostatic load calculation (@luwang00) + + + + +### MoorDyn + +#2972 Add in missing passing of SS pointer to MD during FAST init (@RyanDavies19) + + +### NWTC-Library +Many _NWTC-Library_ modifications were made as part of the development of tight coupling (included in those PRs). + +#3233 NWTC Library: Adjust subroutines for converting between DCM and small angles (@bjonkman) + + +### Registry +_Registry_ modifications were made as part of the development of tight coupling (included in those PRs). + + + + +### SeaState +> Input file changes + +_SeaState_ module updates include wave-current superposition, turbulent currents modeled through _InflowWind_ (MHK only), and a few other small improvements. + +#2213 MHK wave-current superposition, added mass, inertia (@hkross) + +#2906 SeaState: Allow WaveStMod=1 with WaveMod=0 (@luwang00) + +#2978 Improved wave-current modeling in SeaState (@luwang00) + +#3202 SeaState: Small change in WavePkShp logic (@RBergua) + +#3231 SeaState: Small change in WaveTp logic (@RBergua) + + +### ServoDyn +> Input file changes + +_ServoDyn_ updates include a new 3 DOF TMD option, and minor improvements. + +#2960 Add connection from ElastoDyn platform motion mesh to ServoDyn (@dzalkind) + +#2970 Allow up to MaxStC outputs (@mayankchetan) + +#3221 Enhancements to the structural control submodule of ServoDyn (@luwang00) + + + +### SoilDyn +> New input file + +The _SoilDyn_ module primarily exists as a way to use the RedWin DLL from NGI for modeling soil interaction. This module also offers the option of a 6x6 stiffness and damping matrix connection to model soil interaction - however this capability is also available through _SubDyn_ and may be more stable when used there. + +#3126 Add SoilDyn to dev-tc (@deslaughter, @andrew-platt) + + +### SubDyn +> Input file changes + +_SubDyn_ now supports multiple transition pieces to enable multirotor wind and MHK turbine simulations. It also has the ability to solve the 6-DoF rigid-body motion of the floater internally with a user-selected reference joint. The latter is required for multirotor models but is optional for single-rotor models. However, when including the tower in _SubDyn_ instead of _ElastoDyn_, enabling the _SubDyn_ internal rigid-body solution can improve accuracy and stability even for single-rotor systems by allowing the user to select a rigid-body reference point near the floater center instead of at the tower-top interface joint. This minimizes the elastic deflection at the floater due to tower flexibility, thus improving the hydrodynamic and hydrostatic load calculations. +With the added support for multiple transition pieces, _SubDyn_ output channels have been expanded to cover the loads and motion at up to nine transition pieces with backward-compatible channel name defaults if only one transition piece is used. Note that the actual number of transition pieces in the simulation is not limited. + +A previous bug in _SubDyn_ causing incomplete external load calculations for interface DOFs when the interface joint is part of a rigid assembly is now fixed by including loads on all nodes in the assembly. The inputs NPropSets have been changed to NPropSetsCyl and NPropSetsRec to remove non-unique fields and align with _HydroDyn_. Lastly, rectangular members can now be visualized using the viz3Danim tool. + +#2782 SubDyn upgrade to support multiple transition pieces (@luwang00) + +#2905 SD: Fix a bug where interface DoF loads are incomplete if the interface joint is part of a rigid assembly (@RBergua) + +#3117 Updated SD NPropSets to NPropSetsCyl and NPropSetsRec and fixed typos in the HD input file (@luwang00) + +#3195 SubDyn: add rectangular beam properties to JSON output (@RBergua) + +#3205 Don't write to SubDyn output file if no outputs requested. (@deslaughter) + + +## Testing and input file processing +There were several updates and improvements to the testing system and GitHub actions. + +### openfast\_io +There were numerous incremental improvements to the `openfast_io` embeded in other PRs. + +### GitHub actions +There were numerous incremental improvements to the GH actions embeded in other PRs. + +### Regression and Unit testing + +#3041 Add RM1 MHK Multi-Rotor examples to regression test suite (@deslaughter) + +#3079 Add missing files for `5MW_MRSemi_DLL_WSt_WavesIrr` regression test (@deslaughter) + +#3113 Add IceDyn and IceFloe Regression Tests (@deslaughter) + +#3173 Add aerodyn driver test for MHK turbine with IfW based inflow (@deslaughter) + +#3215 Add a new r-test with blade pitch dynamics enabled (@luwang00) + + +## Input file changes +This release brings a large number of input file changes and rearrangements with multiple new modules. A partial 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/v5.0.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. +- 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. + +## Unknown issues +There are likely a few bugs in the code. If you find one, please report it along with a full description so that we can reproduce and fix it, or post a solution we can implement. + + +# 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 Essentials 2025.3.0.333 +- Microsoft Visual Studio 2022 Version 17.14.23. +- MATLAB 2025.2.999 (R2025b) +- Executables with `_OpenMP` or `_OMP` in the name are built with OpenMP libraries and linked with dynamic libraries. + - You will need [this Intel Fortran redistributable package](https://registrationcenter-download.intel.com/akdlm/IRC_NAS/0dc56e76-d2c0-4bb8-9c83-c2ee3952b855/w_ifx_runtime_p_2025.2.1.1001.exe) installed to use these executables if you do not already have Intel Fortran OneAPI 2024 installed. See the installation instructions [here](https://software.intel.com/content/www/us/en/develop/articles/redistributable-libraries-for-intel-c-and-fortran-2022-compilers-for-windows.html). + +**The other OpenFAST executables DO NOT require these redistributable libraries to be installed. Instead, they were built with static libraries.** diff --git a/docs/conf.py b/docs/conf.py index 41518da7f5..e3ece79960 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -137,9 +137,9 @@ def runDoxygen(sourcfile, doxyfileIn, doxyfileOut): # built documents. # # The short X.Y version. -version = f'4.2' +version = f'5.0' # The full version, including alpha/beta/rc tags. -release = f'v4.2.1' +release = f'v5.0.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/docs/source/user/api_change.rst b/docs/source/user/api_change.rst index 1ecd780dde..a00a37e1fa 100644 --- a/docs/source/user/api_change.rst +++ b/docs/source/user/api_change.rst @@ -9,8 +9,8 @@ The changes are tabulated according to the module input file, line number, and f The line number corresponds to the resulting line number after all changes are implemented. Thus, be sure to implement each in order so that subsequent line numbers are correct. -OpenFAST v4.1.2 to OpenFAST dev ----------------------------------- +OpenFAST v4.2.x to OpenFAST v5.0.0 +----------------------------------- Added mass and fluid inertia loads were added to the rotor blades and tower in AeroDyn. This results in new columns in the AeroDyn blade input file and new columns in the @@ -30,21 +30,24 @@ reverse the direction the rotor is spinning. The first rotor always spins in the These lines are specified only if NRotors is greater than 1 and are repeated for subsequent rotors. ============================================= ======== ==================== ======================================================================================================================================================================================================== -Added in OpenFAST `dev` +Added in OpenFAST `5.0.0` ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Module Line Flag Name Example Value ============================================= ======== ==================== ======================================================================================================================================================================================================== -OpenFAST 8 ModCoupling 3 ModCoupling - Module coupling method (switch) {1=loose; 2=tight with fixed Jacobian updates (DT_UJac); 3=tight with automatic Jacobian updates} -OpenFAST 20 CompSoil 0 CompSoil - Compute soil-structural dynamics (switch) {0=None; 1=SoilDyn} +OpenFAST 8 ModCoupling 3 ModCoupling - Module coupling method (switch) {1=loose; 2=tight with fixed Jacobian updates (DT_UJac); 3=tight with automatic Jacobian updates} +OpenFAST 11 RhoInf 1.0 RhoInf - Numerical damping parameter for tight coupling generalized-alpha integrator (-) [0.0 to 1.0] +OpenFAST 12 ConvTol 1e-4 ConvTol - Convergence iteration error tolerance for tight coupling generalized alpha integrator (-) +OpenFAST 13 MaxConvIter 6 MaxConvIter - Maximum number of convergence iterations for tight coupling generalized alpha integrator (-) OpenFAST 17 NRotors 2 NRotors - Number of rotors in turbine (-) -OpenFAST 28 MirrorRotor F MirrorRotor - Flag to reverse rotor rotation direction [1 to NRotors] {F=Normal, T=Mirror} -OpenFAST 45 SoilFile "SoilDyn.dat" SoilFile - Name of the file containing the SoilDyn input parameters (quoted string) -OpenFAST 52 ---------------------- INPUT FILES Rotor 2 ------------------------------------- -OpenFAST 53 EDFile "ElastoDyn.dat" EDFile - Name of file containing ElastoDyn input parameters (quoted string) -OpenFAST 54 BDBldFile(1) "BeamDyn.dat" BDBldFile(1) - Name of file containing BeamDyn input parameters for blade 1 (quoted string) -OpenFAST 55 BDBldFile(2) "BeamDyn.dat" BDBldFile(2) - Name of file containing BeamDyn input parameters for blade 2 (quoted string) -OpenFAST 56 BDBldFile(3) "BeamDyn.dat" BDBldFile(3) - Name of file containing BeamDyn input parameters for blade 3 (quoted string) -OpenFAST 57 ServoFile "ServoDyn_R2.dat" ServoFile - Name of file containing control and electrical-drive input parameters (quoted string) +OpenFAST 20 CompSoil 0 CompSoil - Compute soil-structural dynamics (switch) {0=None; 1=SoilDyn} +OpenFAST 29 MirrorRotor F MirrorRotor - Flag to reverse rotor rotation direction [1 to NRotors] {F=Normal, T=Mirror} +OpenFAST 53 SoilFile "SoilDyn.dat" SoilFile - Name of the file containing the SoilDyn input parameters (quoted string) +OpenFAST 54 ---------------------- INPUT FILES Rotor 2 ------------------------------------- +OpenFAST 55 EDFile "ElastoDyn.dat" EDFile - Name of file containing ElastoDyn input parameters (quoted string) +OpenFAST 56 BDBldFile(1) "BeamDyn.dat" BDBldFile(1) - Name of file containing BeamDyn input parameters for blade 1 (quoted string) +OpenFAST 57 BDBldFile(2) "BeamDyn.dat" BDBldFile(2) - Name of file containing BeamDyn input parameters for blade 2 (quoted string) +OpenFAST 58 BDBldFile(3) "BeamDyn.dat" BDBldFile(3) - Name of file containing BeamDyn input parameters for blade 3 (quoted string) +OpenFAST 59 ServoFile "ServoDyn_R2.dat" ServoFile - Name of file containing control and electrical-drive input parameters (quoted string) AeroDyn blade file t_c 0.8651 [additional column in *Blade Properties* table] AeroDyn blade file BlCpn 1.0 [additional column in *Blade Properties* table] AeroDyn blade file BlCpt 1.0 [additional column in *Blade Properties* table] @@ -58,15 +61,17 @@ AeroDyn \* TwrCp 1.0 AeroDyn \* TwrCa 1.0 [additional column in *Tower Influence and Aerodynamics* table] SeaState 18 WvCrntMod 0 WvCrntMod - Combined wave-current modeling option {0: simple superposition, 1: include Doppler effect, 2: include both Doppler effect and wave amplitude/spectrum scaling} (switch) ElastoDyn 11 PitchDOF False PitchDOF - Blade pitch DOF (flag) +ElastoDyn 70 PtfmRefxt 0 PtfmRefxt - Downwind distance from the ground level [onshore], MSL [offshore wind or floating MHK], or seabed [fixed MHK] to the platform reference point (meters) +ElastoDyn 71 PtfmRefyt 0 PtfmRefyt - Lateral distance from the ground level [onshore], MSL [offshore wind or floating MHK], or seabed [fixed MHK] to the platform reference point (meters) ElastoDyn 77 PBrIner(1) 200 PBrIner(1) - Pitch bearing/actuator inertia, blade 1 (kg m^2) ElastoDyn 78 PBrIner(2) 200 PBrIner(2) - Pitch bearing/actuator inertia, blade 2 (kg m^2) ElastoDyn 79 PBrIner(3) 200 PBrIner(3) - Pitch bearing/actuator inertia, blade 3 (kg m^2) [unused for 2 blades] ElastoDyn 80 BlPIner(1) 28578 BlPIner(1) - Pitch inertia of an undeflected blade, blade 1 (kg m^2) ElastoDyn 81 BlPIner(2) 28578 BlPIner(2) - Pitch inertia of an undeflected blade, blade 2 (kg m^2) ElastoDyn 82 BlPIner(3) 28578 BlPIner(3) - Pitch inertia of an undeflected blade, blade 3 (kg m^2) [unused for 2 blades] -BeamDyn 10 ------ Modal Damping [used only if damp_type=2] -------------------------------- -BeamDyn 11 n_modes 3 n_modes - Number of modal damping coefficients (-) -BeamDyn 12 zeta 0.1, 0.2, 0.3 zeta - Damping coefficients for mode 1 through n_modes +BeamDyn blade file 10 ------ Modal Damping [used only if damp_type=2] -------------------------------- +BeamDyn blade file 11 n_modes 3 n_modes - Number of modal damping coefficients (-) +BeamDyn blade file 12 zeta 0.1, 0.2, 0.3 zeta - Damping coefficients for mode 1 through n_modes ServoDyn 9 PitNeut(1) 0 PitNeut(1) - Blade 1 neutral pitch position--pitch spring moment is zero at this position *[unused when* **PCMode>0** and **t>=TPCOn** *]* ServoDyn 10 PitNeut(2) 0 PitNeut(2) - Blade 2 neutral pitch position--pitch spring moment is zero at this position *[unused when* **PCMode>0** and **t>=TPCOn** *]* ServoDyn 11 PitNeut(3) 0 PitNeut(3) - Blade 3 neutral pitch position--pitch spring moment is zero at this position *[unused when* **PCMode>0** and **t>=TPCOn** *]* *[unused for 2 blades]* @@ -82,12 +87,15 @@ FAST.Farm 36 WindDirPrefix "inf FAST.Farm 37 DirStartIndex 00110 DirStartIndex - AMReX sub-volume directory suffix to consider as time=0 (quoted string) FAST.Farm 38 DT_Low-AMReX 2.0 DT_Low-AMReX - Time step for low-resolution wind data interpolation; will be used as the global FAST.Farm time step (s) [>0.0] FAST.Farm 39 DT_High-AMReX 1.0 DT_High-AMReX - Time step for high-resolution wind data interpolation (s) [>0.0] +FAST.Farm 50 NumDFull DEFAULT NumDFull - Distance of full wake propagation, expressed as a multiple of RotorDiamRef [>0.0] or DEFAULT [DEFAULT=15] +FAST.Farm 51 NumDBuff DEFAULT NumDBuff - Length of wake propagation buffer region, expressed as a multiple of RotorDiamRef [>=0.0] or DEFAULT [DEFAULT=5] +SoilDyn all New module ============================================= ======== ==================== ======================================================================================================================================================================================================== ============================================= ======== ==================== ======================================================================================================================================================================================================== -Modified in OpenFAST `dev` +Modified in OpenFAST `5.0.0` ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Module Line Flag Name Example Value ============================================= ======== ==================== ======================================================================================================================================================================================================== @@ -104,7 +112,7 @@ AeroDyn \* (m) ============================================= ======== ==================== ======================================================================================================================================================================================================== -Removed in OpenFAST `dev` +Removed in OpenFAST `5.0.0` ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Module Line Flag Name Example Value ============================================= ======== ==================== ======================================================================================================================================================================================================== @@ -115,8 +123,15 @@ BeamDyn \* PitchJ 200 BeamDyn \* PitchK 20000000 PitchK - Pitch actuator stiffness (kg-m^2/s^2) [used only when UsePitchAct is true] BeamDyn \* PitchC 500000 PitchC - Pitch actuator damping (kg-m^2/s) [used only when UsePitchAct is true] ElastoDyn Blade Input File \* The PitchAxis column has been removed from the DISTRIBUTED BLADE PROPERTIES table. The table should now only have 5 columns: BlFract, StrcTwst, BMassDen, FlpStff, and EdgStff +FAST.Farm 50 NumPlanes 140 NumPlanes - Number of wake planes (-) [>=2] ============================================= ======== ==================== ======================================================================================================================================================================================================== +New Modules in v5.0.0 +~~~~~~~~~~~~~~~~~~~~~ + +- SoilDyn -- a soil interaction module specifically designed to work with the RedWin DLL from NGI for soil interaction. Documentation for this module is limited. + + OpenFAST v4.2.0 to OpenFAST v4.2.1 ---------------------------------- diff --git a/glue-codes/python/pyproject.toml b/glue-codes/python/pyproject.toml index a56ca79d8d..41b6e7b763 100644 --- a/glue-codes/python/pyproject.toml +++ b/glue-codes/python/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "pyOpenFAST" -version = "4.2.1" +version = "5.0.0" description = "Python interface to OpenFAST FAST Library and physics modules." readme = "README.md" requires-python = ">=3.9" diff --git a/openfast_io/pyproject.toml b/openfast_io/pyproject.toml index 965631b514..e5c1aaba7a 100644 --- a/openfast_io/pyproject.toml +++ b/openfast_io/pyproject.toml @@ -5,7 +5,7 @@ build-backend = "hatchling.build" [project] name = "openfast_io" # dynamic = ["version"] -version = "4.2.1" +version = "5.0.0" description = "Readers and writers for OpenFAST files." license = {file = "../LICENSE"} authors = [