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