Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Feature request: Issue with TSR = 0 in BEM Solution and InflowWind Configuration for Larger Wind Farm #2463

Open
bweiss222 opened this issue Oct 13, 2024 · 3 comments

Comments

@bweiss222
Copy link

Dear OpenFAST Development Team,

I am currently working on a simulation using FAST.Farm for an experiment that includes 9 wind turbines. During my simulations, I encountered the following warning:

The BEM solution is being turned off due to low TSR. (TSR = 0). This warning will not be repeated though the condition may persist. (See GeomPhi output channel.)

I understand that this error occurs when the Tip-Speed Ratio (TSR) drops to zero, which effectively disables the Blade Element Momentum (BEM) method. This issue may indicate that there is a problem with either the wind speed, the rotor speed, or other aspects of the model setup.

What I Have Tried:
I attempted to edit all available FAST.Farm examples to fit the specifics of my experiment, but unfortunately, I haven't been able to resolve the issue. Below are some of the steps I took:

Adjusted Wind Parameters: I modified the InflowWind module, trying different combinations of wind speeds and directions, but it did not resolve the issue.
Inflow Wind Grid: My current grid setup seems to be too narrow and small. It only accounts for a few turbines (probably designed for a smaller number of wind turbines).
Turbine Count: My experiment involves 9 wind turbines arranged in a layout, which seems to be exceeding the capacity or assumptions made in the original farm examples provided with FAST.Farm.
Main Concerns:
InflowWind Module Configuration:

The inflow wind grid appears to be too limited for the 9-turbine setup. Based on the error message, I suspect the wind field is too constrained and may not be covering all turbines properly, especially for downstream turbines that need to interact with wakes from upstream turbines.
I tried adjusting the NX_Low, NY_Low, and NZ_Low parameters to widen the inflow grid, but I am not sure if my current settings are appropriate for a wind farm of this size.
Low TSR:

I believe the low TSR (TSR = 0) might be linked to insufficient wind input at some turbines, particularly those located downstream. This might be caused by wakes not being fully simulated or covered by the wind grid.
Could this issue be a result of the inflow wind grid not properly accounting for wake effects on the downstream turbines?
Questions for Improvement:
Wind Grid Expansion: How can I expand the InflowWind grid to cover all 9 turbines more effectively? What would be appropriate values for NX_Low, NY_Low, NZ_Low, NX_High, NY_High, and NZ_High to ensure better wind field coverage for a larger wind farm?

Addressing TSR = 0: What other steps can I take to address the low TSR issue and ensure that the BEM solution is not turned off prematurely? Is there any specific recommendation for tuning the turbine or rotor parameters to avoid this?

Best Practices for Larger Farms: Are there best practices or specific adjustments that should be made for running FAST.Farm simulations with more than a few turbines? For instance, should I increase the time steps, or adjust the resolution of the simulation to ensure proper wake modeling?

I would greatly appreciate any advice or guidance on how to solve this issue and improve the configuration of my simulation. I look forward to your feedback and suggestions on how to get the wind farm simulation working properly for my 9-turbine setup.

Thank you for your help and for all the work you do on OpenFAST and FAST.Farm!

Best regards,

@bweiss222
Copy link
Author

here is the output:

Running: C:\Project\openfast-main\openfast-main\build\bin\FAST.Farm_x64_OMP.exe C:\Project\openfast-main\openfast-main\reg_tests\r-test\glue-codes\fast-farm\TSinflow\FAST.Farm.fstf


FAST.Farm

Copyright (C) 2024 National Renewable Energy Laboratory
Copyright (C) 2024 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.


FAST.Farm-Unversioned from 6a6511a
Compile Info:

  • Compiler: Intel(R) Fortran Compiler 2021
  • Architecture: 64 bit
  • Precision: single
  • OpenMP: Yes, number of threads: 20/20
  • Date: Sep 01 2024
  • Time: 19:46:14
    Execution Info:
  • Date: 10/13/2024
  • Time: 18:43:42+0200

Heading of the FAST.Farm input file:
FAST.Farm input file, using two turbines separated by 3D downstream and an offset of 30m, with
a turbulent inflow given by one turbsim box
Running AWAE.
Running InflowWind.
Running WakeDynamics.
Running FASTWrapper.
Running OpenFAST.
OpenFAST input file heading:
FAST Certification Test #26: NREL 5.0 MW Baseline Wind Turbine (Onshore)

Running ElastoDyn.
Nodal outputs section of ElastoDyn input file not found or improperly formatted.
Running AeroDyn.
Running InflowWind.
Running HydroDyn.
Generating incident wave kinematics and current time history.
Adjusting incident wave kinematics for turbine offset from array origin.
Running SubDyn.
Fixed bottom case detected
Performing Craig-Bampton reduction 1056 DOFs -> 8 modes + 48 DOFs
[WARN] Complex eigenvalue found with small Im compare to Re
[WARN] Complex eigenvalue found with small Im compare to Re
[WARN] Complex eigenvalue found with small Im compare to Re
[WARN] Complex eigenvalue found with small Im compare to Re
[WARN] Complex eigenvalue found with small Im compare to Re
[WARN] Complex eigenvalue found with small Im compare to Re
Using static improvement method for gravity and ext. loads
SubDyn recommended dt: 0.00512 - Current dt: 0.01000 - Max frequency: 9.758
Calculating Full System Modes for output files
Exporting Summary file
Running ServoDyn.
Running ServoDyn Interface for Bladed Controllers (using Intel Visual Fortran for Windows).
Using legacy Bladed DLL interface.
Running OpenFAST.
OpenFAST input file heading:
FAST Certification Test #26: NREL 5.0 MW Baseline Wind Turbine (Onshore)

Running ElastoDyn.
Nodal outputs section of ElastoDyn input file not found or improperly formatted.
Running AeroDyn.
Running InflowWind.
Running HydroDyn.
Generating incident wave kinematics and current time history.
Adjusting incident wave kinematics for turbine offset from array origin.
Running SubDyn.
Fixed bottom case detected
Performing Craig-Bampton reduction 1056 DOFs -> 8 modes + 48 DOFs
[WARN] Complex eigenvalue found with small Im compare to Re
[WARN] Complex eigenvalue found with small Im compare to Re
[WARN] Complex eigenvalue found with small Im compare to Re
[WARN] Complex eigenvalue found with small Im compare to Re
[WARN] Complex eigenvalue found with small Im compare to Re
[WARN] Complex eigenvalue found with small Im compare to Re
Using static improvement method for gravity and ext. loads
SubDyn recommended dt: 0.00512 - Current dt: 0.01000 - Max frequency: 9.758
Calculating Full System Modes for output files
Exporting Summary file
Running ServoDyn.
Running ServoDyn Interface for Bladed Controllers (using Intel Visual Fortran for Windows).
Using legacy Bladed DLL interface.
Running OpenFAST.
OpenFAST input file heading:
FAST Certification Test #26: NREL 5.0 MW Baseline Wind Turbine (Onshore)

Running ElastoDyn.
Nodal outputs section of ElastoDyn input file not found or improperly formatted.
Running AeroDyn.
Running InflowWind.
Running HydroDyn.
Generating incident wave kinematics and current time history.
Adjusting incident wave kinematics for turbine offset from array origin.
Running SubDyn.
Fixed bottom case detected
Performing Craig-Bampton reduction 1056 DOFs -> 8 modes + 48 DOFs
[WARN] Complex eigenvalue found with small Im compare to Re
[WARN] Complex eigenvalue found with small Im compare to Re
[WARN] Complex eigenvalue found with small Im compare to Re
[WARN] Complex eigenvalue found with small Im compare to Re
[WARN] Complex eigenvalue found with small Im compare to Re
[WARN] Complex eigenvalue found with small Im compare to Re
Using static improvement method for gravity and ext. loads
SubDyn recommended dt: 0.00512 - Current dt: 0.01000 - Max frequency: 9.758
Calculating Full System Modes for output files
Exporting Summary file
Running ServoDyn.
Running ServoDyn Interface for Bladed Controllers (using Intel Visual Fortran for Windows).
Using legacy Bladed DLL interface.
Running OpenFAST.
OpenFAST input file heading:
FAST Certification Test #26: NREL 5.0 MW Baseline Wind Turbine (Onshore)

Running ElastoDyn.
Nodal outputs section of ElastoDyn input file not found or improperly formatted.
Running AeroDyn.
Running InflowWind.
Running HydroDyn.
Generating incident wave kinematics and current time history.
Adjusting incident wave kinematics for turbine offset from array origin.
Running SubDyn.
Fixed bottom case detected
Performing Craig-Bampton reduction 1056 DOFs -> 8 modes + 48 DOFs
[WARN] Complex eigenvalue found with small Im compare to Re
[WARN] Complex eigenvalue found with small Im compare to Re
[WARN] Complex eigenvalue found with small Im compare to Re
[WARN] Complex eigenvalue found with small Im compare to Re
[WARN] Complex eigenvalue found with small Im compare to Re
[WARN] Complex eigenvalue found with small Im compare to Re
Using static improvement method for gravity and ext. loads
SubDyn recommended dt: 0.00512 - Current dt: 0.01000 - Max frequency: 9.758
Calculating Full System Modes for output files
Exporting Summary file
Running ServoDyn.
Running ServoDyn Interface for Bladed Controllers (using Intel Visual Fortran for Windows).
Using legacy Bladed DLL interface.
Running OpenFAST.
OpenFAST input file heading:
FAST Certification Test #26: NREL 5.0 MW Baseline Wind Turbine (Onshore)

Running ElastoDyn.
Nodal outputs section of ElastoDyn input file not found or improperly formatted.
Running AeroDyn.
Running InflowWind.
Running HydroDyn.
Generating incident wave kinematics and current time history.
Adjusting incident wave kinematics for turbine offset from array origin.
Running SubDyn.
Fixed bottom case detected
Performing Craig-Bampton reduction 1056 DOFs -> 8 modes + 48 DOFs
[WARN] Complex eigenvalue found with small Im compare to Re
[WARN] Complex eigenvalue found with small Im compare to Re
[WARN] Complex eigenvalue found with small Im compare to Re
[WARN] Complex eigenvalue found with small Im compare to Re
[WARN] Complex eigenvalue found with small Im compare to Re
[WARN] Complex eigenvalue found with small Im compare to Re
Using static improvement method for gravity and ext. loads
SubDyn recommended dt: 0.00512 - Current dt: 0.01000 - Max frequency: 9.758
Calculating Full System Modes for output files
Exporting Summary file
Running ServoDyn.
Running ServoDyn Interface for Bladed Controllers (using Intel Visual Fortran for Windows).
Using legacy Bladed DLL interface.
Running OpenFAST.
OpenFAST input file heading:
FAST Certification Test #26: NREL 5.0 MW Baseline Wind Turbine (Onshore)

Running ElastoDyn.
Nodal outputs section of ElastoDyn input file not found or improperly formatted.
Running AeroDyn.
Running InflowWind.
Running HydroDyn.
Generating incident wave kinematics and current time history.
Adjusting incident wave kinematics for turbine offset from array origin.
Running SubDyn.
Fixed bottom case detected
Performing Craig-Bampton reduction 1056 DOFs -> 8 modes + 48 DOFs
[WARN] Complex eigenvalue found with small Im compare to Re
[WARN] Complex eigenvalue found with small Im compare to Re
[WARN] Complex eigenvalue found with small Im compare to Re
[WARN] Complex eigenvalue found with small Im compare to Re
[WARN] Complex eigenvalue found with small Im compare to Re
[WARN] Complex eigenvalue found with small Im compare to Re
Using static improvement method for gravity and ext. loads
SubDyn recommended dt: 0.00512 - Current dt: 0.01000 - Max frequency: 9.758
Calculating Full System Modes for output files
Exporting Summary file
Running ServoDyn.
Running ServoDyn Interface for Bladed Controllers (using Intel Visual Fortran for Windows).
Using legacy Bladed DLL interface.
Running OpenFAST.
OpenFAST input file heading:
FAST Certification Test #26: NREL 5.0 MW Baseline Wind Turbine (Onshore)

Running ElastoDyn.
Nodal outputs section of ElastoDyn input file not found or improperly formatted.
Running AeroDyn.
Running InflowWind.
Running HydroDyn.
� WARNING: The requested output channel is invalid: M1N1FAxi
� WARNING: The requested output channel is invalid: M1N1FAzi
Generating incident wave kinematics and current time history.
Adjusting incident wave kinematics for turbine offset from array origin.
Running SubDyn.
Fixed bottom case detected
Performing Craig-Bampton reduction 948 DOFs -> 12 modes + 6 DOFs
Using static improvement method for gravity and ext. loads
SubDyn recommended dt: 0.00782 - Current dt: 0.01000 - Max frequency: 6.396
Calculating Full System Modes for output files
Exporting Summary file
Running ServoDyn.
Running ServoDyn Interface for Bladed Controllers (using Intel Visual Fortran for Windows).
Using legacy Bladed DLL interface.

FAST_InitializeAll:HydroDyn_Init:HydroDynInput_ProcessInitData: A requested output channel is
invalid

Running OpenFAST.
OpenFAST input file heading:
FAST Certification Test #26: NREL 5.0 MW Baseline Wind Turbine (Onshore)

Running ElastoDyn.
Nodal outputs section of ElastoDyn input file not found or improperly formatted.
Running AeroDyn.
Running InflowWind.
Running HydroDyn.
� WARNING: The requested output channel is invalid: M1N1FAxi
� WARNING: The requested output channel is invalid: M1N1FAzi
Generating incident wave kinematics and current time history.
Adjusting incident wave kinematics for turbine offset from array origin.
Running SubDyn.
Fixed bottom case detected
Performing Craig-Bampton reduction 948 DOFs -> 12 modes + 6 DOFs
Using static improvement method for gravity and ext. loads
SubDyn recommended dt: 0.00782 - Current dt: 0.01000 - Max frequency: 6.396
Calculating Full System Modes for output files
Exporting Summary file
Running ServoDyn.
Running ServoDyn Interface for Bladed Controllers (using Intel Visual Fortran for Windows).
Using legacy Bladed DLL interface.

FAST_InitializeAll:HydroDyn_Init:HydroDynInput_ProcessInitData: A requested output channel is
invalid

Running OpenFAST.
OpenFAST input file heading:
FAST Certification Test #26: NREL 5.0 MW Baseline Wind Turbine (Onshore)

Running ElastoDyn.
Nodal outputs section of ElastoDyn input file not found or improperly formatted.
Running AeroDyn.
Running InflowWind.
Running HydroDyn.
� WARNING: The requested output channel is invalid: M1N1FAxi
� WARNING: The requested output channel is invalid: M1N1FAzi
Generating incident wave kinematics and current time history.
Adjusting incident wave kinematics for turbine offset from array origin.
Running SubDyn.
Fixed bottom case detected
Performing Craig-Bampton reduction 948 DOFs -> 12 modes + 6 DOFs
Using static improvement method for gravity and ext. loads
SubDyn recommended dt: 0.00782 - Current dt: 0.01000 - Max frequency: 6.396
Calculating Full System Modes for output files
Exporting Summary file
Running ServoDyn.
Running ServoDyn Interface for Bladed Controllers (using Intel Visual Fortran for Windows).
Using legacy Bladed DLL interface.

FAST_InitializeAll:HydroDyn_Init:HydroDynInput_ProcessInitData: A requested output channel is
invalid

Farm_Initialize:Farm_ValidateInput:OutFmt produces a column width of 10 instead of 20 characters.
Farm_Initialize:For efficiency, NumPlanes has been reduced to the number of time steps (4).

Time: 0 of 90 seconds.
The BEM solution is being turned off due to low TSR. (TSR = 0). This warning will not be
repeated though the condition may persist. (See GeomPhi output channel.)
The BEM solution is being turned off due to low TSR. (TSR = 0). This warning will not be
repeated though the condition may persist. (See GeomPhi output channel.)
The BEM solution is being turned off due to low TSR. (TSR = 0). This warning will not be
repeated though the condition may persist. (See GeomPhi output channel.)
The BEM solution is being turned off due to low TSR. (TSR = 0). This warning will not be
repeated though the condition may persist. (See GeomPhi output channel.)
The BEM solution is being turned off due to low TSR. (TSR = 0). This warning will not be
repeated though the condition may persist. (See GeomPhi output channel.)
The BEM solution is being turned off due to low TSR. (TSR = 0). This warning will not be
repeated though the condition may persist. (See GeomPhi output channel.)
The BEM solution is being turned off due to low TSR. (TSR = 0). This warning will not be
repeated though the condition may persist. (See GeomPhi output channel.)
The BEM solution is being turned off due to low TSR. (TSR = 0). This warning will not be
repeated though the condition may persist. (See GeomPhi output channel.)
The BEM solution is being turned off due to low TSR. (TSR = 0). This warning will not be
repeated though the condition may persist. (See GeomPhi output channel.)

T1:FARM_InitialCO:FWrap_t0:FWrap_CalcOutput:Nacelle-yaw error is undefined because the
rotor-disk-averaged relative wind speed is directed vertically
T2:FARM_InitialCO:FWrap_t0:FWrap_CalcOutput:Nacelle-yaw error is undefined because the
rotor-disk-averaged relative wind speed is directed vertically
T3:FARM_InitialCO:FWrap_t0:FWrap_CalcOutput:Nacelle-yaw error is undefined because the
rotor-disk-averaged relative wind speed is directed vertically
T4:FARM_InitialCO:FWrap_t0:FWrap_CalcOutput:Nacelle-yaw error is undefined because the
rotor-disk-averaged relative wind speed is directed vertically
T5:FARM_InitialCO:FWrap_t0:FWrap_CalcOutput:Nacelle-yaw error is undefined because the
rotor-disk-averaged relative wind speed is directed vertically
T6:FARM_InitialCO:FWrap_t0:FWrap_CalcOutput:Nacelle-yaw error is undefined because the
rotor-disk-averaged relative wind speed is directed vertically
T7:FARM_InitialCO:FWrap_t0:FWrap_CalcOutput:Nacelle-yaw error is undefined because the
rotor-disk-averaged relative wind spe

Aborting FAST.Farm.

The following simulations failed
C:\Project\openfast-main\openfast-main\build\bin\FAST.Farm_x64_OMP.exe C:\Project\openfast-main\openfast-main\reg_tests\r-test\glue-codes\fast-farm\TSinflow\FAST.Farm.fstf
Error using runCommands (line 40)
1/1 simulations failed

Error in runFAST (line 52)
status = runCommands(commands);

Error in runFAST_example (line 33)
runFAST(FSTfilenames, FASTexe); %, 'flag','-VTKLin');

@bweiss222
Copy link
Author

I also tried to make the inflow wind steady. It did not work!

@jjonkman
Copy link
Collaborator

Dear @bweiss222,

Regarding setting up the FAST.Farm model and inflow for a 9 turbine wind farm, the FAST.Farm documentation provides modeling guidance: https://openfast.readthedocs.io/en/main/source/user/fast.farm/ModelGuidance.html. And I would suggest using the python scripts available in the OpenFAST toolbox to set-up the FAST.Farm domains and inflow: https://github.com/OpenFAST/openfast_toolbox/tree/main/openfast_toolbox/fastfarm.

Regarding the "TSR = 0" warning, I see that the warning appears already at time zero. Are you initializing the rotor speed and blade-pitch angles for each wind turbine properly? This warning could also be tied to the error I see about "the rotor-disk-averaged relative wind speed [being] directed vertically"

It sounds like you are using the TSinflow r-test model as a starting point: https://github.com/OpenFAST/r-test/tree/main/glue-codes/fast-farm/TSinflow. This r-test example uses land-based versions of the NREL 5-MW baseline wind turbine. However, your OpenFAST models appear to be offshore given that I see SubDyn and HydroDyn called. Have you swapped the land-based NREL 5-MW OpenFAST model for one of the offshore models available from the OpenFAST r-test, such as the monopile: https://github.com/OpenFAST/r-test/tree/main/glue-codes/openfast/5MW_OC3Mnpl_DLL_WTurb_WavesIrr?

Given the many problems you are facing, I would suggest starting with a simpler model set-up, e.g., with only a single wind turbine included in the FAST.Farm model. If you can't even get that to work, I would first verify that you can run standalone OpenFAST (uncoupled from FAST.Farm) without issues.

Best regards,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants