Dear all,
Recently, I discovered that it is possible to compare the results of OpenFAST and Bladed on the IEA-15-240RWT benchmark. The documentation is available at IEA_15MW_240_RWT — NREL/turbine-models power curve archive 0 documentation, and the project repository is at GitHub - IEAWindSystems/IEA-15-240-RWT: 15MW reference wind turbine repository developed in conjunction with IEA Wind . With this in mind, I began my attempt. To avoid issues, I gradually enabled the computational modules one by one. Everything worked fine when I only set CompElast and CompInflow to 1. However, when I tried to further set CompAero to 2, OpenFAST reported an error and returned the following error log:
D:\LFC\IEA-15-240-RWT-master\OpenFAST\IEA-15-240-RWT-Monopile>openfast_x64.exe IEA-15-240-RWT-Monopile.fst
**************************************************************************************************
OpenFAST
Copyright (C) 2025 National Renewable Energy Laboratory
Copyright (C) 2025 Envision Energy USA LTD
This program is licensed under Apache License Version 2.0 and comes with ABSOLUTELY NO WARRANTY.
See the "LICENSE" file distributed with this software for details.
**************************************************************************************************
OpenFAST-v4.1.2
Compile Info:
- Compiler: Intel(R) Fortran Compiler 2021
- Architecture: 64 bit
- Precision: single
- OpenMP: No
- Date: Aug 06 2025
- Time: 19:22:48
Execution Info:
- Date: 12/29/2025
- Time: 14:31:39+0800
OpenFAST input file heading:
IEA 15 MW offshore reference model monopile configuration
Running ElastoDyn.
Running InflowWind.
Running AeroDyn.
AeroDyn: projMod: 1
Projection: legacy (NoSweepPitchTwist), BEM: legacy (2D)
FAST_InitializeAll:ED_Init:ED_ReadInput:ReadBladeInputs:ReadBladeFile:The ElastoDyn Blade file,
.\../IEA-15-240-RWT/IEA-15-240-RWT_ElastoDyn_blade.dat, DISTRIBUTED BLADE PROPERTIES table
contains the PitchAxis column. This column is unused and will be removed in future releases
Time: 0 of 300 seconds.
FAST_Solution:FAST_UpdateStates:FAST_AdvanceStates:AD_UpdateStates:BEMT_UpdateStates(node 1,
blade 1):ComputeTau:Rotor-averaged axial induction factor is greater than 0.5; limiting
time-varying tau1. This message will not be repeated though the condition may persist.
Warning: SkewedWakeCorrection encountered a large value of chi (90.343 deg), so the yaw
correction will be limited. This warning will not be repeated though the condition may persist.
See the AD chi output channels, and consider turning off the Pitt/Peters skew model (set
SkewMod=1) if this condition persists.
FAST_Solution:FAST_UpdateStates:CalcOutputs_And_SolveForInputs:SolveOption2:AD_CalcOutput:RotCalcO
utput:BEMT_CalcOutput(node 5, blade 3):UA_CalcOutput:UA_BlendSteady:Temporarily turning off UA
due to high angle of attack or low relative velocity. This warning will not be repeated though
the condition may persist.
FAST_Solution:FAST_UpdateStates:CalcOutputs_And_SolveForInputs:SolveOption2:AD_CalcOutput:RotCalcO
utput:BEMT_CalcOutput(node 50, blade 2):UA_CalcOutput:Mach number exceeds 0.3. Theory is invalid.
This warning will not be repeated though the condition may persist.
FAST_Solution:FAST_UpdateStates:FAST_AdvanceStates:AD_UpdateStates:BEMT_UpdateStates:UpdatePhi(nod
e 7, blade 2):BEMT_UnCoupledSolve:There is no valid value of phi for these operating conditions:
Vx = 1.5731, Vy = -18.289, rlocal = 18.262, theta = 0.21681, geometric phi = 3.0558. This warning
will not be repeated though the condition may persist. (See GeomPhi output channel.)
FAST_Solution:FAST_UpdateStates:FAST_AdvanceStates:ED_ABM4:ED_CalcContStateDeriv:SetCoordSy:Small
angle assumption violated in SUBROUTINE SmllRotTrans() due to a large blade deflection (ElastoDyn
SetCoordSy). The solution may be inaccurate. Simulation continuing, but future warnings from
SmllRotTrans() will be suppressed.
Additional debugging message from SUBROUTINE SmllRotTrans(): 6.665 s
ED_CalcContStateDeriv:SetCoordSy:Small angle assumption violated in SUBROUTINE SmllRotTrans() due
to a large blade deflection (ElastoDyn SetCoordSy). The solution may be inaccurate. Simulation
continuing, but future warnings from SmllRotTrans() will be suppressed.
Additional debugging message from SUBROUTINE SmllRotTrans(): 6.665 s
Time: 10 of 300 seconds. Estimated final completion at 14:37:43 (in 0.004 days).
** WARNING: Tower strike. ** This warning will not be repeated though the condition may persist.
FAST_Solution:FAST_UpdateStates:FAST_AdvanceStates:AD_UpdateStates:SetInputs:SetDisturbedInflow:Tw
rInfl:Tower strike.
OpenFAST encountered an error at simulation time 10.875 of 300 seconds.
Simulation error level: FATAL ERROR
Aborting OpenFAST.
I don’t understand what caused this issue, because apart from disabling some modules in the FEATURE SWITCHES AND FLAGS section, I haven’t made any other changes. Everything else uses the default settings from the GitHub repository. From the error report, it seems that the blades might have experienced unstable vibrations at that point.
BTW: I tried this case in still air, but the Tower strike happened again.
All best wishes,
Xingyu
Dear @Xingyu.Liu,
From the messages that you shared, it looks like you are running a simulation with aerodynamics, but without wind turbine control through ServoDyn enabled. For such a set up, you’d need to disable the generator degree of freedom in ElastoDyn (GenDOF = FALSE) to avoid rotor overspeed that can trigger other simulation problems; have you done that?
Best regards,
Dear @Jason.Jonkman ,
Thank you for your quick reply! It worked after I set the GenDOF = FALSE. So then I tried to enable the ServoDyn. At first, I set Linearize = True, and the OpenFAST abort with the message followed:
**************************************************************************************************
OpenFAST
Copyright (C) 2025 National Renewable Energy Laboratory
Copyright (C) 2025 Envision Energy USA LTD
This program is licensed under Apache License Version 2.0 and comes with ABSOLUTELY NO WARRANTY.
See the "LICENSE" file distributed with this software for details.
**************************************************************************************************
OpenFAST-v4.1.2
Compile Info:
- Compiler: Intel(R) Fortran Compiler 2021
- Architecture: 64 bit
- Precision: single
- OpenMP: No
- Date: Aug 06 2025
- Time: 19:22:48
Execution Info:
- Date: 12/30/2025
- Time: 10:13:40+0800
OpenFAST input file heading:
IEA 15 MW offshore reference model monopile configuration
Running ElastoDyn.
Running InflowWind.
Running AeroDyn.
AeroDyn: projMod: 1
Projection: legacy (NoSweepPitchTwist), BEM: legacy (2D)
Running ServoDyn.
FAST_InitializeAll:ED_Init:ED_ReadInput:ReadBladeInputs:ReadBladeFile:The ElastoDyn Blade file,
.\../IEA-15-240-RWT/IEA-15-240-RWT_ElastoDyn_blade.dat, DISTRIBUTED BLADE PROPERTIES table
contains the PitchAxis column. This column is unused and will be removed in future releases
FAST_InitializeAll:SrvD_Init:ValidatePrimaryData:PCMode must be 0 for linearization.
ValidatePrimaryData:VSContrl must be 0 or 1 for linearization.
OpenFAST encountered an error during module initialization.
Simulation error level: FATAL ERROR
Aborting OpenFAST.
So I thought maybe set Linearize = False will be a good idea to test, however, it still didn’t work, and come with new errors:
**************************************************************************************************
OpenFAST
Copyright (C) 2025 National Renewable Energy Laboratory
Copyright (C) 2025 Envision Energy USA LTD
This program is licensed under Apache License Version 2.0 and comes with ABSOLUTELY NO WARRANTY.
See the "LICENSE" file distributed with this software for details.
**************************************************************************************************
OpenFAST-v4.1.2
Compile Info:
- Compiler: Intel(R) Fortran Compiler 2021
- Architecture: 64 bit
- Precision: single
- OpenMP: No
- Date: Aug 06 2025
- Time: 19:22:48
Execution Info:
- Date: 12/30/2025
- Time: 10:14:27+0800
OpenFAST input file heading:
IEA 15 MW offshore reference model monopile configuration
Running ElastoDyn.
Running InflowWind.
Running AeroDyn.
AeroDyn: projMod: 1
Projection: legacy (NoSweepPitchTwist), BEM: legacy (2D)
Running ServoDyn.
Running ServoDyn Interface for Bladed Controllers (using Intel Visual Fortran for Windows).
FAST_InitializeAll:ED_Init:ED_ReadInput:ReadBladeInputs:ReadBladeFile:The ElastoDyn Blade file,
.\../IEA-15-240-RWT/IEA-15-240-RWT_ElastoDyn_blade.dat, DISTRIBUTED BLADE PROPERTIES table
contains the PitchAxis column. This column is unused and will be removed in future releases
FAST_InitializeAll:SrvD_Init:BladedInterface_Init:The dynamic library
/home/runner/miniconda3/envs/test/lib/libdiscon.so could not be loaded. Check that the file
exists in the specified location and that it is compiled for 64-bit applications.
OpenFAST encountered an error during module initialization.
Simulation error level: FATAL ERROR
Aborting OpenFAST.
The path /home/runner/miniconda3/envs/test/lib/libdiscon.so looks like a Linux style path, but I ran the OpenFAST on the Windows environment.
All best wishes,
Xingyu
It seems that I didn’t download the ROSCO properly, this could be solved by download a libdiscon.dll and put it under the root path. However, Releases · NREL/ROSCO only offered .dll based on 32bit. And I just downloaded one here: https://github.com/NREL/ROSCO/releases/download/v2.2.0/libdiscon.dll.
It solved some problem, but the OpenFAST still didn’t worked.
**************************************************************************************************
OpenFAST
Copyright (C) 2025 National Renewable Energy Laboratory
Copyright (C) 2025 Envision Energy USA LTD
This program is licensed under Apache License Version 2.0 and comes with ABSOLUTELY NO WARRANTY.
See the "LICENSE" file distributed with this software for details.
**************************************************************************************************
OpenFAST-v4.1.2
Compile Info:
- Compiler: Intel(R) Fortran Compiler 2021
- Architecture: 64 bit
- Precision: single
- OpenMP: No
- Date: Aug 06 2025
- Time: 19:22:48
Execution Info:
- Date: 12/30/2025
- Time: 11:39:03+0800
OpenFAST input file heading:
IEA 15 MW offshore reference model monopile configuration
Running ElastoDyn.
Running InflowWind.
Running AeroDyn.
AeroDyn: projMod: 1
Projection: legacy (NoSweepPitchTwist), BEM: legacy (2D)
Running ServoDyn.
Running ServoDyn Interface for Bladed Controllers (using Intel Visual Fortran for Windows).
Using legacy Bladed DLL interface.
FAST_InitializeAll:ED_Init:ED_ReadInput:ReadBladeInputs:ReadBladeFile:The ElastoDyn Blade file,
.\../IEA-15-240-RWT/IEA-15-240-RWT_ElastoDyn_blade.dat, DISTRIBUTED BLADE PROPERTIES table
contains the PitchAxis column. This column is unused and will be removed in future releases
At line 59 of file D:\bld\rosco_1615353392809\work\src\ReadSetParameters.f90 (unit = 89, file = '.\IEA-15-240-RWT-Monopile_DISCON.IN')
Fortran runtime error: Bad integer for item 1 in list input
UPDATE: 2. Installing ROSCO toolset — ROSCO 2.10.3 documentation
Follow the guidance above, a suitable libdiscon.dll file could be generated, however, the OpenFAST still abort unormally. With the message below:
**************************************************************************************************
OpenFAST
Copyright (C) 2025 National Renewable Energy Laboratory
Copyright (C) 2025 Envision Energy USA LTD
This program is licensed under Apache License Version 2.0 and comes with ABSOLUTELY NO WARRANTY.
See the "LICENSE" file distributed with this software for details.
**************************************************************************************************
OpenFAST-v4.1.2
Compile Info:
- Compiler: Intel(R) Fortran Compiler 2021
- Architecture: 64 bit
- Precision: single
- OpenMP: No
- Date: Aug 06 2025
- Time: 19:22:48
Execution Info:
- Date: 12/30/2025
- Time: 14:07:10+0800
OpenFAST input file heading:
IEA 15 MW offshore reference model monopile configuration
Running ElastoDyn.
Running InflowWind.
Running AeroDyn.
AeroDyn: projMod: 1
Projection: legacy (NoSweepPitchTwist), BEM: legacy (2D)
Running ServoDyn.
Running ServoDyn Interface for Bladed Controllers (using Intel Visual Fortran for Windows).
Using legacy Bladed DLL interface.
FAST_InitializeAll:ED_Init:ED_ReadInput:ReadBladeInputs:ReadBladeFile:The ElastoDyn Blade file,
.\../IEA-15-240-RWT/IEA-15-240-RWT_ElastoDyn_blade.dat, DISTRIBUTED BLADE PROPERTIES table
contains the PitchAxis column. This column is unused and will be removed in future releases
------------------------------------------------------------------------------
Running ROSCO-2.10.1
A wind turbine controller framework for public use in the scientific field
Developed in collaboration: National Renewable Energy Laboratory
Delft University of Technology, The Netherlands
------------------------------------------------------------------------------
ROSCO Warning: Did not find VS_FBP in input file. Using default value of 0
ROSCO Warning: Did not find SU_Mode in input file. Using default value of 0
ROSCO Warning: Did not find correct size F_NotchFreqs in input file. Using default value of [ 0.0000000000000000 ]
ROSCO Warning: Did not find correct size F_NotchBetaNum in input file. Using default value of [ 0.0000000000000000 ]
ROSCO Warning: Did not find correct size F_NotchBetaDen in input file. Using default value of [ 0.0000000000000000 ]
ROSCO:SetParameters:ParseInput_Dbl_Opt:Missing or default values are not allowed for F_VSRefSpdCornerFreq. Please check control modes.
FAST_Solution0:CalcOutputs_And_SolveForInputs:SolveOption2:SrvD_CalcOutput:DLL_controller_call:ROS
CO:SetParameters:ParseInput_Dbl_Opt:Missing or default values are not allowed for
F_VSRefSpdCornerFreq. Please check control modes.
ROSCO:
OpenFAST encountered an error during simulation initialization.
Simulation error level: FATAL ERROR
Aborting OpenFAST.
All best wishes,
Xingyu
It looks like you’re pointing to an older ROSCO input in ServoDyn. Please try the input for v2.10 here.
Hi @Daniel.Zalkind ,
Thank you! Finally this case worked!!
All best wishes,
Xingyu
1 Like