NREL 5MW controls (DLL interface)

Mr. Jonkman hi,

I ecountered some problems which I still haven’t solved and I would appreciate your help.

First of all, I use your 5-MW offshore wind turbine as a model. I modified it for my site (15m depth, 92.6m Hub height, tower height 77.6m). So, as you can see the differences are just small. I created wind files using TurbSim for wind speeds (4 different load cases):
1)11.4 m/s (ETM)
2)25 m/s (ETM)
3)41.6 m/s (NTM)
4)43.7 m/s (NTM)

I now use FAST_v7.02.00d-bjj_AeroDyn_v13.00.02a-bjj_BladedDLLInterface with all your files included and my wind files in it. I modified just a few things due to my different structure.

  1. case works well with no problems at all. The 3 other cases all have a warning message
    WARNING: Small angle assumption violated in SUBROUTINE SmllRotTrans() due to a large blade
    deflection. The solution may be inaccurate. Simulation continuing, but future warnings will be
    suppressed.

    Time step is 0.0125 and tried 0.00125 too in 630 sec simulation. The grid width-height in TurbSim are 145m
    Maybe the warning is due to sudden loading of blades as mentioned above?

Also another problem I encountered is that even with a wind speed of 41.6 m/s at hub height somehow the turbine still works and generates power.

Time_____WindVxi____WindVyi_____WindVzi______WaveElev___GenPwr_______GenTq_______OoPDefl1____IPDefl1
(s)(m/s)(m/s)(m/s) (m)(kW)(kN·m)(m)(m)
30.000___4.183E+01__5.555E-01
-6.911E+00
__-1.536E-01___4.928E+03____4.365E+01____-4.981E-01___3.213E-01
30.013__4.164E+01___3.778E-01____-6.593E+00___-1.524E-01___4.923E+03____4.366E+01____-4.763E-01___2.920E-01
30.025__4.173E+01___3.102E-01____-5.903E+00___-1.512E-01___4.918E+03____4.367E+01____-4.541E-01___2.624E-01
30.038__4.182E+01___2.426E-01____-5.214E+00___-1.500E-01___4.912E+03____4.368E+01____-4.310E-01___2.323E-01
30.050__4.192E+01___1.750E-01____-4.525E+00___-1.488E-01___4.908E+03____4.370E+01____-4.080E-01___2.026E-01

335.775__4.483E+01__-1.832E+00___-1.745E+00___1.972E+00___5.041E+03____4.572E+01____-1.358E+00___1.753E+00

406.400__3.852E+01__-4.748E+00___-1.277E+00___4.940E-02___4.865E+03____4.579E+01____-1.230E+00___1.426E+00

593.513__4.830E+01__3.494E+00____-6.235E-01___2.945E-01___4.946E+03____3.875E+01____-3.824E+00___3.580E+00

Shouldn’t the turbine be offline since the wind speed has by far surpassed the cut-out speed?

I’m sorry if my question is dumb, but I really don’t know where to look for this kind of problem.

Best regards,

Thanasis Petridis

Dear Thanasis,

Regarding your first question, I think this same question has been answered in my post dated Oct 01, 2009 in the following forum topic: NREL 5MW controls (DLL interface) - #9 by Jason.Jonkman.

Regarding your section question, the baseline controller for the NREL 5-MW turbine includes logic only for normal operation; the controller will not shut down the turbine in high winds. Instead, for load cases above the cut-out speed, you should set up the FAST simulation so that the turbine is idling (blade-pitch and generator-torque disabled, blade-pitch angles feathered to 90 degrees, induction and unsteady airfoil aerodynamic disabled).

Best regards,

Dear Jason,

I am still a beginner in FAST and have a lot to learn :blush: … I am trying to learn how to implement my own controller using the “user-defined from Bladed-style DLL” for a 5MW NREL wind turbine. Thus, in what language should it be implemented and how can I compile it to a DLL file? Should I use Fortran? And how a dummy controller looks like before compiling it into a DLL file? Is there a tutorial showing step by step how a user-defined controller is made? And finally, is there some already done controllers for the 5MW NREL wind turbine?

Sorry for the inconvenience

Kindest regards

Younes

Dear Younes,

The Bladed-style DLL controller can be written in C- or Fortran-based source code. The simple baseline controllers for the NREL 5-MW wind turbine models are written in Fortran. You can find these examples in the OpenFAST r-test here: github.com/OpenFAST/r-test/tree … /ServoData.

NREL’s more advanced wind turbine baseline controller, ROSCO, is also written in Bladed-style DLL form with Fortran source code. You can find that here: github.com/NREL/ROSCO.

There are instructions for compiling in the OpenFAST documentation: github.com/OpenFAST/openfast/tr … ild/Discon.

Best regards,

Dear Jason,

Thank you so much for this informations, it helps a lot!

Kindest regards

Younes

Dear Jason,

When simulating the NREL 5MW wind turbine under extreme conditions using OpenFAST 3.5.3, I used an 800-second .bts wind file with U=24 m/s and a turbulence intensity of 35%. The blade pitch was set to 23°, and the rotor speed was 12.1 rpm. Around 400 seconds into the simulation, a tower strike occurs, or the simulation may finish normally but with unstable blade pitch angles in the results, fluctuating between -180° and 180°.

I suspect this may be due to the turbulence intensity being too high, causing instantaneous wind speeds to exceed the cut-out wind speed. Is there a way to simulate such high-wind-speed, high-turbulence conditions without the turbine shutting down?

Best regards,

Dear @Yuan.Hu,

Regarding the tower strike and large blade-pitch angle oscillation, are you referring to two separate simulations based on two separate turbulence seeds? The latter (large blade-pitch angle oscillation) sounds like the pitch controller has become unstable, but I’d have to know more about what you are seeing to comment as to why.

Best regards,

Dear Jason,

Thank you for your reply. I’ll provide more information. I conducted simulations using two different random seeds for the turbulence.

The time step in the .fst files was 0.005s for both. The total simulation time was 800 seconds, with data output for the final 600 seconds used for plotting.

In Case 1, a tower strike occurred around 750 seconds, just before the simulation was about to finish.
In Case 2, an instability in the pitch controller was observed.

case1 U=24.5m/s Ti=35% initial pitch=23deg Initial or fixed rotor speed=12.1rpm

case2 U=22m/s Ti=35% initial pitch=23deg Initial or fixed rotor speed=12.1rpm

Best regards,

Dear @Yuan.Hu,

Thanks for clarifying.

It looks like in Case 1, it looks like the tower strike happens when the wind is quickly transitioning from a low to high wind speed through rated conditions. It is likely that the turbine or controller is not properly designed to handle this extreme transient.

In Case 2, it looks like a similar wind speed transient from Case 1 causes the controller to become unstable. Switching from the baseline NREL 5-MW controller to a more advanced controller like ROSCO may resolve the controller issue, but again, the turbine is likely not designed properly to handle this extreme transient.

I’ll note that a TI of 35% at 24 m/s is well above the design turbulence level for the NREL 5-MW baseline turbine.

Best regards,

Dear Jason,

Thank you so much for this informations, it helps a lot!