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

    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.

(s)(m/s)(m/s)(m/s) (m)(kW)(kN·m)(m)(m)




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:

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


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: … /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:

There are instructions for compiling in the OpenFAST documentation: … ild/Discon.

Best regards,

Dear Jason,

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

Kindest regards