OpenFAST / openfast

Main repository for the NREL-supported OpenFAST whole-turbine and FAST.Farm wind farm simulation codes.
http://openfast.readthedocs.io
Apache License 2.0
684 stars 458 forks source link

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

Open bweiss222 opened 1 week ago

bweiss222 commented 1 week ago

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 commented 1 week ago

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 6a6511adc44e0b35676e27e1a27caced1ae8c152 Compile Info:

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 commented 1 week ago

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

jjonkman commented 6 days ago

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,