NREL 5-MW reference turbine - CP, CQ, CT Coefficients

I’ve a question regarding the thrust CT, torque CQ and power CP coefficients for the NREL 5MW reference wind turbine.
Normally these coefficients are function of Tip speed ratio TSR and the pitch angle Beta. I’m wondering if such data are available, as I can’t find them in this report I’m looking to some data of this form CP(TSR, Beta), CT(TSR, Beta), and I hope they are available somewhere :slight_smile:

Thanks in advance.
Rannam Chaaban.

Dear Rannam,

I have never published the complete Cp, Cq, and Ct tables of the NREL 5-MW turbine. Back in 2004 (!), I used WT_Perf v3.00 to generate the Cp surface of the NREL 5-MW baseline wind turbine. The WT_Perf input files I used for this and the results plotted in a spreadsheet are attached. At that time, I also ran a similar analysis with FAST, the results of which are also attached. I thought that the comparison between FAST and WT_Perf was reasonable, considering that the FAST model has numerous additional features, such as dynamics and tower and blade flexibility.

It should be fairly straightforward to modify the WT_Perf primary input file (.wtp) and rerun WT_Perf so that the Cq and Ct values are also computed. See the parametric analysis section at the end of the input file. Please note that WT_Perf v3.10 was released since I generated these results. WT_Perf v3.10 is the version currently available on the website. You will have to update the attached input file slightly so that it is compatible with WT_Perf v3.10.

Please post the results here.

I hope that helps.

Best regards, (2.36 MB)

Dear Jason,
Thank you very much for the files,

I’ve managed to update the *.wtp file and to get some results from WT_Perf 3.1, I also run som simulation with FAST to compare the results of power coefficient Cp from both. and here what I’ve got.
Pitch angle: -5.0 deg to 9.0 deg (step 1deg)
Rotor speed: 1.0 rpm to 15.0 rpm (step 1 rpm)
Wind speed: 3.0 m/s to 25 m/s (step 1 m/s)
Power coefficient obtained by WT_Perf:

Power coefficient obtained by FAST:

it seems the results match pretty good.

the full results are included in this zipped file:

Best regards,
Rannam Chaaban

Dear Rannam,

Thank you very much for posting these results!

I didn’t see the FAST model input files in your .zip file. Can you describe what features of the FAST model you’ve enabled (e.g., which wake model in AeroDyn did you use?, which DOFs where enabled?, etc.)?

Best regards,

Dear Jason,

I’ve used the same DOF you mentioned in your excel file. which means: All DOFs enabled except GenDOF and DrTrDOF (of course TeetDOF = False).
Regarding the wake, I’ve used the same setting provided by the baseline 5MW files, which means: InfModel = EQUIL & IndModel = SWIRL.
Here are my FAST and Aerodyn files
FAST File for TSR=5, BlPitch = +1 deg, and Wind speed = 8m/s.

------- FAST INPUT FILE --------------------------------------------------------
NREL 5.0 MW Baseline Wind Turbine for Use in Offshore Analysis.
Properties from Dutch Offshore Wind Energy Converter (DOWEC) 6MW Pre-Design (10046_009.pdf) and REpower 5M 5MW (5m_uk.pdf); Compatible with FAST v6.0.
---------------------- SIMULATION CONTROL --------------------------------------
False       Echo        - Echo input data to "echo.out" (flag)
   1        ADAMSPrep   - ADAMS preprocessor mode {1: Run FAST, 2: use FAST as a preprocessor to create an ADAMS model, 3: do both} (switch)
   1        AnalMode   - 1 Analysis mode {1: Run a time-marching simulation, 2: create a periodic linearized model} (switch)
   3        NumBl       - Number of blades (-)
 200.0      TMax        - Total run time (s)
   0.0125   DT          - Integration time step (s)
---------------------- TURBINE CONTROL -----------------------------------------
   0        YCMode      - Yaw control mode {0: none, 1: user-defined from routine UserYawCont, 2: user-defined from Simulink} (switch)
9999.9      TYCOn       - Time to enable active yaw control (s) [unused when YCMode=0]
   0        PCMode      - Pitch control mode {0: none, 1: user-defined from routine PitchCntrl, 2: user-defined from Simulink} (switch)
   0.0      TPCOn       - Time to enable active pitch control (s) [unused when PCMode=0]
   1        VSContrl    - Variable-speed control mode {0: none, 1: simple VS, 2: user-defined from routine UserVSCont, 3: user-defined from Simulink} (switch)
1800        VS_RtGnSp   - Rated generator speed for simple variable-speed generator control (HSS side) (rpm) [used only when VSContrl=1]
8376.58     VS_RtTq     - Rated generator torque/constant generator torque in Region 3 for simple variable-speed generator control (HSS side) (N-m) [used only when VSContrl=1]
0.002585    VS_Rgn2K    - Generator torque constant in Region 2 for simple variable-speed generator control (HSS side) (N-m/rpm^2) [used only when VSContrl=1]
9999.9      VS_SlPc     - Rated generator slip percentage in Region 2 1/2 for simple variable-speed generator control (%) [used only when VSContrl=1]
   2        GenModel    - Generator model {1: simple, 2: Thevenin, 3: user-defined from routine UserGen} (switch) [used only when VSContrl=0]
True        GenTiStr    - Method to start the generator {T: timed using TimGenOn, F: generator speed using SpdGenOn} (flag)
True        GenTiStp    - Method to stop the generator {T: timed using TimGenOf, F: when generator power = 0} (flag)
9999.9      SpdGenOn    - Generator speed to turn on the generator for a startup (HSS speed) (rpm) [used only when GenTiStr=False]
   0.0      TimGenOn    - Time to turn on the generator for a startup (s) [used only when GenTiStr=True]
9999.9      TimGenOf    - Time to turn off the generator (s) [used only when GenTiStp=True]
   1        HSSBrMode   - HSS brake model {1: simple, 2: user-defined from routine UserHSSBr} (switch)
9999.9      THSSBrDp    - Time to initiate deployment of the HSS brake (s)
9999.9      TiDynBrk    - Time to initiate deployment of the dynamic generator brake [CURRENTLY IGNORED] (s)
9999.9      TTpBrDp(1)  - Time to initiate deployment of tip brake 1 (s)
9999.9      TTpBrDp(2)  - Time to initiate deployment of tip brake 2 (s)
9999.9      TTpBrDp(3)  - Time to initiate deployment of tip brake 3 (s) [unused for 2 blades]
9999.9      TBDepISp(1) - Deployment-initiation speed for the tip brake on blade 1 (rpm)
9999.9      TBDepISp(2) - Deployment-initiation speed for the tip brake on blade 2 (rpm)
9999.9      TBDepISp(3) - Deployment-initiation speed for the tip brake on blade 3 (rpm) [unused for 2 blades]
9999.9      TYawManS    - Time to start override yaw maneuver and end standard yaw control (s)
9999.9      TYawManE    - Time at which override yaw maneuver reaches final yaw angle (s)
   0.0      NacYawF     - Final yaw angle for yaw maneuvers (degrees)
9999.9      TPitManS(1) - Time to start override pitch maneuver for blade 1 and end standard pitch control (s)
9999.9      TPitManS(2) - Time to start override pitch maneuver for blade 2 and end standard pitch control (s)
9999.9      TPitManS(3) - Time to start override pitch maneuver for blade 3 and end standard pitch control (s) [unused for 2 blades]
9999.9      TPitManE(1) - Time at which override pitch maneuver for blade 1 reaches final pitch (s)
9999.9      TPitManE(2) - Time at which override pitch maneuver for blade 2 reaches final pitch (s)
9999.9      TPitManE(3) - Time at which override pitch maneuver for blade 3 reaches final pitch (s) [unused for 2 blades]
  +1.0      BlPitch(1)  - Blade 1 initial pitch (degrees)
  +1.0      BlPitch(2)  - Blade 2 initial pitch (degrees)
  +1.0      BlPitch(3)  - Blade 3 initial pitch (degrees) [unused for 2 blades]
   0.0      B1PitchF(1) - Blade 1 final pitch for pitch maneuvers (degrees)
   0.0      B1PitchF(2) - Blade 2 final pitch for pitch maneuvers (degrees)
   0.0      B1PitchF(3) - Blade 3 final pitch for pitch maneuvers (degrees) [unused for 2 blades]
---------------------- ENVIRONMENTAL CONDITIONS --------------------------------
   9.80665  Gravity     - Gravitational acceleration (m/s^2)
---------------------- FEATURE FLAGS -------------------------------------------
True        FlapDOF1    - First flapwise blade mode DOF (flag)
True        FlapDOF2    - Second flapwise blade mode DOF (flag)
True        EdgeDOF     - First edgewise blade mode DOF (flag)
False        TeetDOF     - Rotor-teeter DOF (flag) [unused for 3 blades]
False        DrTrDOF     - Drivetrain rotational-flexibility DOF (flag)
False        GenDOF      - Generator DOF (flag)
True        YawDOF      - Yaw DOF (flag)
True        TwFADOF1    - First fore-aft tower bending-mode DOF (flag)
True        TwFADOF2    - Second fore-aft tower bending-mode DOF (flag)
True        TwSSDOF1    - First side-to-side tower bending-mode DOF (flag)
True        TwSSDOF2    - Second side-to-side tower bending-mode DOF (flag)
True        CompAero    - Compute aerodynamic forces (flag)
False        CompNoise   - Compute aerodynamic noise (flag)
---------------------- INITIAL CONDITIONS --------------------------------------
   0.0      OoPDefl     - Initial out-of-plane blade-tip displacement (meters)
   0.0      IPDefl      - Initial in-plane blade-tip deflection (meters)
   0.0      TeetDefl    - Initial or fixed teeter angle (degrees) [unused for 3 blades]
   0.0      Azimuth     - Initial azimuth angle for blade 1 (degrees)
6.06882     RotSpeed    - (TSR = 5, WndSpd = 8m/s) Initial or fixed rotor speed (rpm)                             [12.1]
   0.0      NacYaw      - Initial or fixed nacelle-yaw angle (degrees)
   0.0      TTDspFA     - Initial fore-aft tower-top displacement (meters)
   0.0      TTDspSS     - Initial side-to-side tower-top displacement (meters)
---------------------- TURBINE CONFIGURATION -----------------------------------
  63.0      TipRad      - The distance from the rotor apex to the blade tip (meters)
   1.5      HubRad      - The distance from the rotor apex to the blade root (meters)
   1        PSpnElN     - Number of the innermost blade element which is still part of the pitchable portion of the blade for partial-span pitch control [1 to BldNodes] [CURRENTLY IGNORED] (-)
   0.0      UndSling    - Undersling length [distance from teeter pin to the rotor apex] (meters) [unused for 3 blades]
   0.0      HubCM       - Distance from rotor apex to hub mass [positive downwind] (meters)
  -5.01910  OverHang    - Distance from yaw axis to rotor apex [3 blades] or teeter pin [2 blades] (meters)
   1.9      NacCMxn     - Downwind distance from the tower-top to the nacelle CM (meters)
   0.0      NacCMyn     - Lateral  distance from the tower-top to the nacelle CM (meters)
   1.75     NacCMzn     - Vertical distance from the tower-top to the nacelle CM (meters)
  87.6      TowerHt     - Height of tower above ground level [onshore] or MSL [offshore] (meters)
   1.96256  Twr2Shft    - Vertical distance from the tower-top to the rotor shaft (meters)
   0.0      TwrRBHt     - Tower rigid base height (meters)
  -5.0      ShftTilt    - Rotor shaft tilt angle (degrees)
   0.0      Delta3      - Delta-3 angle for teetering rotors (degrees) [unused for 3 blades]
  -2.5      PreCone(1)  - Blade 1 cone angle (degrees)
  -2.5      PreCone(2)  - Blade 2 cone angle (degrees)
  -2.5      PreCone(3)  - Blade 3 cone angle (degrees) [unused for 2 blades]
   0.0      AzimB1Up    - Azimuth value to use for I/O when blade 1 points up (degrees)
---------------------- MASS AND INERTIA ----------------------------------------
   0.0      YawBrMass   - Yaw bearing mass (kg)
 240.00E3   NacMass     - Nacelle mass (kg)
  56.78E3   HubMass     - Hub mass (kg)
   0.0      TipMass(1)  - Tip-brake mass, blade 1 (kg)
   0.0      TipMass(2)  - Tip-brake mass, blade 2 (kg)
   0.0      TipMass(3)  - Tip-brake mass, blade 3 (kg) [unused for 2 blades]
2607.89E3   NacYIner    - Nacelle inertia about yaw axis (kg m^2)
 534.116    GenIner     - Generator inertia about HSS (kg m^2)
 115.926E3  HubIner     - Hub inertia about rotor axis [3 blades] or teeter axis [2 blades] (kg m^2)
---------------------- DRIVETRAIN ----------------------------------------------
 100.0      GBoxEff     - Gearbox efficiency (%)
  94.4      GenEff      - Generator efficiency [ignored by the Thevenin and user-defined generator models] (%)
  97.0      GBRatio     - Gearbox ratio (-)
False       GBRevers    - Gearbox reversal {T: if rotor and generator rotate in opposite directions} (flag)
  28.1162E3 HSSBrTqF    - Fully deployed HSS-brake torque (N-m)
   0.6      HSSBrDT     - Time for HSS-brake to reach full deployment once initiated (sec) [used only when HSSBrMode=1]
            DynBrkFi    - File containing a mech-gen-torque vs HSS-speed curve for a dynamic brake [CURRENTLY IGNORED] (quoted string)
 867.637E6  DTTorSpr    - Drivetrain torsional spring (N-m/rad)
   6.215E6  DTTorDmp    - Drivetrain torsional damper (N-m/(rad/s))
---------------------- SIMPLE INDUCTION GENERATOR ------------------------------
9999.9      SIG_SlPc    - Rated generator slip percentage (%) [used only when VSContrl=0 and GenModel=1]
9999.9      SIG_SySp    - Synchronous (zero-torque) generator speed (rpm) [used only when VSContrl=0 and GenModel=1]
9999.9      SIG_RtTq    - Rated torque (N-m) [used only when VSContrl=0 and GenModel=1]
9999.9      SIG_PORt    - Pull-out ratio (Tpullout/Trated) (-) [used only when VSContrl=0 and GenModel=1]
---------------------- THEVENIN-EQUIVALENT INDUCTION GENERATOR -----------------
9999.9      TEC_Freq    - Line frequency [50 or 60] (Hz) [used only when VSContrl=0 and GenModel=2]
9998        TEC_NPol    - Number of poles [even integer > 0] (-) [used only when VSContrl=0 and GenModel=2]
9999.9      TEC_SRes    - Stator resistance (ohms) [used only when VSContrl=0 and GenModel=2]
9999.9      TEC_RRes    - Rotor resistance (ohms) [used only when VSContrl=0 and GenModel=2]
9999.9      TEC_VLL     - Line-to-line RMS voltage (volts) [used only when VSContrl=0 and GenModel=2]
9999.9      TEC_SLR     - Stator leakage reactance (ohms) [used only when VSContrl=0 and GenModel=2]
9999.9      TEC_RLR     - Rotor leakage reactance (ohms) [used only when VSContrl=0 and GenModel=2]
9999.9      TEC_MR      - Magnetizing reactance (ohms) [used only when VSContrl=0 and GenModel=2]
---------------------- PLATFORM ------------------------------------------------
   0        PtfmModel   - Platform model {0: none, 1: onshore, 2: fixed bottom offshore, 3: floating offshore} (switch)
            PtfmFile    - Name of file containing platform properties (quoted string) [unused when PtfmModel=0]
---------------------- TOWER ---------------------------------------------------
  20        TwrNodes    - Number of tower nodes used for analysis (-)
"common/NRELOffshrBsline5MW_Tower_Onshore.dat"          TwrFile     - Name of file containing tower properties (quoted string)
---------------------- NACELLE-YAW ---------------------------------------------
9028.32E6   YawSpr      - Nacelle-yaw spring constant (N-m/rad)
  19.16E6   YawDamp     - Nacelle-yaw damping constant (N-m/(rad/s))
   0.0      YawNeut     - Neutral yaw position--yaw spring force is zero at this yaw (degrees)
---------------------- FURLING -------------------------------------------------
False       Furling     - Read in additional model properties for furling turbine (flag)
            FurlFile    - Name of file containing furling properties (quoted string) [unused when Furling=False]
---------------------- ROTOR-TEETER --------------------------------------------
   0        TeetMod     - Rotor-teeter spring/damper model {0: none, 1: standard, 2: user-defined from routine UserTeet} (switch) [unused for 3 blades]
   0.0      TeetDmpP    - Rotor-teeter damper position (degrees) [used only for 2 blades and when TeetMod=1]
   0.0      TeetDmp     - Rotor-teeter damping constant (N-m/(rad/s)) [used only for 2 blades and when TeetMod=1]
   0.0      TeetCDmp    - Rotor-teeter rate-independent Coulomb-damping moment (N-m) [used only for 2 blades and when TeetMod=1]
   0.0      TeetSStP    - Rotor-teeter soft-stop position (degrees) [used only for 2 blades and when TeetMod=1]
   0.0      TeetHStP    - Rotor-teeter hard-stop position (degrees) [used only for 2 blades and when TeetMod=1]
   0.0      TeetSSSp    - Rotor-teeter soft-stop linear-spring constant (N-m/rad) [used only for 2 blades and when TeetMod=1]
   0.0      TeetHSSp    - Rotor-teeter hard-stop linear-spring constant (N-m/rad) [used only for 2 blades and when TeetMod=1]
---------------------- TIP-BRAKE -----------------------------------------------
   0.0      TBDrConN    - Tip-brake drag constant during normal operation, Cd*Area (m^2)
   0.0      TBDrConD    - Tip-brake drag constant during fully-deployed operation, Cd*Area (m^2)
   0.0      TpBrDT      - Time for tip-brake to reach full deployment once released (sec)
---------------------- BLADE ---------------------------------------------------
"common/NRELOffshrBsline5MW_Blade.dat"                  BldFile(1)  - Name of file containing properties for blade 1 (quoted string)
"common/NRELOffshrBsline5MW_Blade.dat"                  BldFile(2)  - Name of file containing properties for blade 2 (quoted string)
"common/NRELOffshrBsline5MW_Blade.dat"                  BldFile(3)  - Name of file containing properties for blade 3 (quoted string) [unused for 2 blades]
---------------------- AERODYN -------------------------------------------------
"BL5MW_AeroDyn.ipt"                ADFile      - Name of file containing AeroDyn input parameters (quoted string)
---------------------- NOISE ---------------------------------------------------
            NoiseFile   - Name of file containing aerodynamic noise input parameters (quoted string) [used only when CompNoise=True]
---------------------- ADAMS ---------------------------------------------------
"common/NRELOffshrBsline5MW_ADAMSSpecific.dat"          ADAMSFile   - Name of file containing ADAMS-specific input parameters (quoted string) [unused when ADAMSPrep=1]
---------------------- LINEARIZATION CONTROL -----------------------------------
"common/NRELOffshrBsline5MW_Linear.dat"                 LinFile     - Name of file containing FAST linearization parameters (quoted string) [unused when AnalMode=1]
---------------------- OUTPUT --------------------------------------------------
True        SumPrint    - Print summary data to "<RootName>.fsm" (flag)
True        TabDelim    - Generate a tab-delimited tabular output file. (flag)
"ES10.3E2"  OutFmt      - Format used for tabular output except time.  Resulting field should be 10 characters. (quoted string)  [not checked for validity!]
   0.0      TStart      - Time to begin tabular output (s)
   8        DecFact     - Decimation factor for tabular output {1: output every time step} (-)
   1.0      SttsTime    - Amount of time between screen status messages (sec)
  -3.09528  NcIMUxn     - Downwind distance from the tower-top to the nacelle IMU (meters)
   0.0      NcIMUyn     - Lateral  distance from the tower-top to the nacelle IMU (meters)
   2.23336  NcIMUzn     - Vertical distance from the tower-top to the nacelle IMU (meters)
   1.912    ShftGagL    - Distance from rotor apex [3 blades] or teeter pin [2 blades] to shaft strain gages [positive for upwind rotors] (meters)
   0        NTwGages    - Number of tower nodes that have strain gages for output [0 to 9] (-)
            TwrGagNd    - List of tower nodes that have strain gages [1 to TwrNodes] (-) [unused if NTwGages=0]
   0        NBlGages    - Number of blade nodes that have strain gages for output [0 to 9] (-)
1,2,5,9,13  BldGagNd    - List of blade nodes that have strain gages [1 to BldNodes] (-) [unused if NBlGages=0]
            OutList     - The next line(s) contains a list of output parameters.  See OutList.txt for a listing of available output channels, (-)
"HorWindV"                                               - HorWindV
"RotSpeed"                                               - Rotor Speed
"GenSpeed"                                               - high-speed shaft speeds
"BldPitch1"                                              - Blade 1pitch angle
"TSR"                                                    - Tip Speed Ratio
"RotPwr"                                                 - Rotor Power
"RotCp"                                                  - Rotor Power Factor
"GenPwr"                                                 - Generator Power
"GenCp"                                                  - Generator Power factor
"RotThrust"                                              - Rotor Thrust
"RotCt"                                                  - Rotor Thrust coeffecient
"RotTorq"                                                - Rotor Torque
"RotCq"                                                  - Rotor Torque Coeffecient
"NacYaw"                                                 - Nacelle Yaw                        
END of FAST input file (the word "END" must appear in the first 3 columns of this last line).

AeroDyn.ipt file

NREL 5.0 MW offshore baseline aerodynamic input properties; Compatible with AeroDyn v12.58.
SI          SysUnits    - System of units for used for input and output [must be SI for FAST] (unquoted string)
STEADY     StallMod    - BEDDOES Dynamic stall included [BEDDOES or STEADY] (unquoted string)
USE_CM      UseCm       - Use aerodynamic pitching moment model? [USE_CM or NO_CM] (unquoted string)
EQUIL       InfModel    - Inflow model [DYNIN or EQUIL] (unquoted string)
SWIRL       IndModel    - Induction-factor model [NONE or WAKE or SWIRL] (unquoted string)
   0.005    AToler      - Induction-factor tolerance (convergence criteria) (-)
PRANDtl     TLModel     - Tip-loss model (EQUIL only) [PRANDtl, GTECH, or NONE] (unquoted string)
PRANDtl     HLModel     - Hub-loss model (EQUIL only) [PRANdtl or NONE] (unquoted string)
"WindData\BL5MW_Cp_8mps.hh"                                         WindFile    - Name of file containing wind data (quoted string)   BL_5MW_OnShore-18_2mps
  90.0      HH          - Wind reference (hub) height [TowerHt+Twr2Shft+OverHang*SIN(ShftTilt)] (m)
   0.0      TwrShad     - Tower-shadow velocity deficit (-)
9999.9      ShadHWid    - Tower-shadow half width (m)
9999.9      T_Shad_Refpt- Tower-shadow reference point (m)
   1.225    AirDens     - Air density (kg/m^3)
   1.464E-5 KinVisc     - Kinematic air viscosity [CURRENTLY IGNORED] (m^2/sec)
   0.02479  DTAero      - Time interval for aerodynamic calculations (sec)
   8        NumFoil     - Number of airfoil files (-)
"AeroData\Cylinder1.dat"                         FoilNm      - Names of the airfoil files [NumFoil lines] (quoted strings)
  17        BldNodes    - Number of blade nodes used for analysis (-)
RNodes   AeroTwst  DRNodes  Chord  NFoil  PrnElm
 2.8667  13.308    2.7333   3.542  1      NOPRINT
 5.6000  13.308    2.7333   3.854  1      NOPRINT
 8.3333  13.308    2.7333   4.167  2      NOPRINT
11.7500  13.308    4.1000   4.557  3      NOPRINT
15.8500  11.480    4.1000   4.652  4      NOPRINT
19.9500  10.162    4.1000   4.458  4      NOPRINT
24.0500   9.011    4.1000   4.249  5      NOPRINT
28.1500   7.795    4.1000   4.007  6      NOPRINT
32.2500   6.544    4.1000   3.748  6      NOPRINT
36.3500   5.361    4.1000   3.502  7      NOPRINT
40.4500   4.188    4.1000   3.256  7      NOPRINT
44.5500   3.125    4.1000   3.010  8      NOPRINT
48.6500   2.319    4.1000   2.764  8      NOPRINT
52.7500   1.526    4.1000   2.518  8      NOPRINT
56.1667   0.863    2.7333   2.313  8      NOPRINT
58.9000   0.370    2.7333   2.086  8      NOPRINT
61.6333   0.106    2.7333   1.419  8      NOPRINT

However, I’ve a question regarding the provided settings for the Simple VS (VSContrl = 1), this will make use of the following 4 parameters (VS_RtGnSp, VS_RtTq, VS_Rgn2K, VS_SlPc). I think these given data are for the 1.5MW, and they should be changed to

VS_RtGnSp = 12.1 [rpm, rated rotor speed] * 97 (gearbox ratio) *0.99 (99% of rated HSS speed) = 1162 rpm
VS_RtTq = 43093.55 [N.m]
VS_Rgn2K = 0.018 (see note later)
VS_SlPc = 11.4807 (see note later)

The calculations of these parameters are made in analogous way to what is done in pages 22-25.

Of course, these values will not affect the results obtained from FAST (as GenDOF = False).

Best regards
Rannam Chaaban.

Dear Rannam,

Thanks for describing the features of your FAST model.

I agree that when GenDOF = False, the settings of the torque controller won’t impact the dynamic response predicted by FAST.

The torque controller developed for the NREL 5-MW is a bit more sophisticated than what is available in FAST’s built-in simple variable-speed controller. The torque controller of the NREL 5-MW turbine, as specified, includes a low-pass filter on the generator speed, Region 1, Region 1.5, constant power (instead of constant torque) in Region 3, torque and torque-rate saturations, etc., which are features not available in the built-in simple variable-speed controller. If you wanted to mimic parts of this torque controller with FAST’s built-in simple variable-speed controller, I agree with how you’ve calculated VS_RtGnSp and VS_RtTq; however, I would say that VS_Rgn2K = 0.0255764 Nm/rpm^2 and VS_SlPc = 10%, which are the values specified in the NREL 5-MW specifications report: I’m not sure how you’ve calculated the values of VS_Rgn2K and VS_SlPc that you listed.

Best regards,

Dear Jason,

I’ve already implemented successfully the mentioned sophisticated controller for the Baseline 5MW turbine.

However, I mention this simple controller as I’ve made a mistake in my first tries to run FAST.
I’ve set the VSContrl = 1 expecting it will work fine, but that was not the case.

Anyway, here how I’ve calculated these values.

Omega_Rotor_Rated = 12.1 [rpm]
Omega_Gen_Rated = Omega_Rotor_Rated * GearBox ratio = 12.197 = 1173.7 [rpm]
Omega_1 = Omega_Gen_Rated
(1-0.06) ) = 1103.3 [rpm] % Region 2 1/2 starts when Generator speed is less than rated by 6%
Omega_2 = Omega_Gen_Rated*(1-0.01) ) = 1162 [rpm] % Region 2 1/2 starts when Generator speed is less than rated by 1%

C_p_max = 0.48546 @ TSR = 8 & BlPitch = 0 [deg] % From the files provided
R = 63 [m]
Precone = -2.5 [deg]
rho = 1.02 [kg/m^3]
Rated_Gen_Torque = 43093.55 [N.m]

k_LSS = 0.5 * rho * pi * (R*cos(-2.5))^5 *C_p_max / TSR^3 = 1.5005e+006 [N.m.s^2] on LSS side
k = k_LSS * (pi/30)^2 (1/97)^3 = 0.0180 [Nm/rpm^2] % Q_gen = kOmega^2 where Omega in rpm, Q_gen in N.m
Q1 = k * Omega_1^2 = 21946 [N.m]
Q2 = Rated_Gen_Torque

In Region 2 1/2 we have
Q_gen = Q1+ ((Rated_Gen_Torque - Q1)/(Omega_2 - Omega_1))(Omega - Omega_1)
for Q_gen = 0 then Omega_0 = 1042.3 [rpm]
making use of this equation:
Omega_2 = SIG_SySp
( 1 + 0.01*VS_SlPc ) % Where SIG_SySp == Omega_0
VS_SlPc = 11.4807 %

VS_RTGnSp = Omega_2 = 1162 [rpm]
VS_RtTq = 43093.55 [N.m]
VS_Rgn2K = k = 0.018 [Nm/rpm^2]
VS_SlPc = 11.4807

I hope it is clear enough. :slight_smile:

Best Regards
Rannam Chaaban

Dear Rannam,

The equation I used for VS_Rgn2K (or k) is the same as you report (except that you incorrectly put a “+” instead of “*” in your equation), except that I used rho = 1.225 kg/m^3, CpMax = 0.482, and TSR @ CpMax = 7.55. Using these values results in VS_Rgn2K = 0.0255764 Nm/rpm^2. I have the same Omega_2 as you, but I fixed VS_SlPc = 10% and used that to derive Omega_1 (by finding the intersection between Regions 2 and 2.5).

I hope that helps.

Best regards,

Dear Jason and Ranman,

I am using this data for my research and I was wondering if, since you posted it here more than a year ago, it has been published somewhere so that I can at least cite the source. If not, I guess I will just say that the data was obtained using WT_Perf.

Also I wanted to note that there seem to be some “wild points” scattered in the excel spreadsheets, some cells have a “-1000” value which looks like it does not belong.

Best regards,

Carlos Casanovas

Dear Carlos,

Speaking for NREL, we have not published these results.

Regarding the “wild points”, WT_Perf v3.00 would set ouput values to a large negative number (e.g., Cp = -9.9999) when it could not calculate a solution.

Best regards,

Dear Carolos,

It would be nice of you to provide me with your email, as I can’t find a way to answer your email sent through this forum.

Best regards

Dear Rannam,

Do you have a script that runs through the various blade pitch angles?


Dear all,

thank you for your posts which helped me a lot to calculate the aerodynamic coefficients for different pitch angles. I used the FAST model input file which Rannam suggested on 15 March 2012.
Assuming wind speed to be constant (v_w =8m/s), a Tip Speed Ratio (TSR) of 5 to 10 (step 1) and Pitch angle -5.0 deg to 9.0 deg I run a simulation with FAST. As a result, I got pretty much the same results for power coefficient obtained by FAST as Rannam posted on 14 March 2012. Hence, I assume that there should not be anything wrong.

However, I faced a problem related to thrust coefficient cT. The problem came up doing a simulation with FAST for:
Pitch Angle: 0.0 deg
Wind Speed: 3.0 m/s to 25 m/s (step 1m/s)
Rotor Speed: 1.0 rpm to 15.0 rpm

You will find the results attached.

The problem is the following:

For the same TSR I should get the same thrust coefficients (as far as I understand the meaning of thrust coefficient right). But this is not the case.
For example: For a wind speed of 3.0 m/s and a rotor speed of 1 rpm TSR= 2.20. The resulting cT=1.515.
For a wind speed of 6.0 m/s and a rotor speed of 2 rpm TSR is also equal to 2.20. However, the resulting cT=0.492.

Does anyone of you know what could be wrong in this simulation? These results were generated with the same FAST input file as mentioned above. As the results of power and torque coefficient were quite reasonable, I wonder why thrust coefficient is so strongly deviating.

Thanks in advance!

Sebastian Hippel
cT_P0deg.xls (49 KB)


The mentioned problem could be solved by the hints given in the follwing forum topic: [url]]

→ The sensor “RotThrust” is not the aerodynamic thrust as it includes gravity and inertial loads.

As a result, I was able to calculate the coefficients for a wide range of pitch angle and TSR :slight_smile:

Best regards,


Dear All,

I am trying to implement the BEM method in MATLAB for wind turbine modelling. I have few questions, which are listed below.

First of all, I modelled the NREL 5MW offshore wind turbine in MATLAB. My algorithm is just like the Aerodyn, but with different high axial operation correction-Spera Corrections with ac=0.37-which corresponds to Wilson et Lissaman 1974. And to validate the BEM, i compared the Cp outputs with that of Wt_perf (the results that you post on Tue Mar 06, 2012 7:09 am).

 I set the initial conditions for induction factors to zero. 
 I set the Error tolerans to 0.005.
 I added Prantl Tip and Hub Loss models.   
 I compared my results with that of WT_Perf

1.My results seem almost fine when compared, but there is a little difference, especially in the high axial operation region, the turbulent state region, where Glauert correction is applied. And the difference is especially increasing at low velocities around cut-in velocity, high PRM. I am trying to get the almost the same result as WT_perf. As it is clear in figures, the results are almost same in the windmill state, the region where there is no correction. Do you have any idea for this difference? What may be the problem?

I attched my results. These results change according to the error tolerans value. But i could not get the results of the Wt_perfs in the high axial correction region.

By the way, my model output does not include the torque and thrust from the blade weight, pure aerodynamic torque and thrust. I don’t know Wt_Perf also gets torque, so power from the weight of the blades, either. From the results achieved and the results you put on the form, Wt_perf does not consider the weight effect because in low axial operation range, the results are same.

  1. Apart from above, as unfortunately we know, there are more than one correction in the literature for high axial operation region. As I mentioned above, I utilized Spera’s with ac=0.37 corresponding to the one from the Wilson and Lissaman, which, I think, Wt_perf utilizes in older versions according to an article that I read. But I am not sure whether this is the same correction model for the Wt_perf 3.00?

From 1994 to 2012, There are many changes in Wt-perf. There is also a change that may be important for this difference written by Dr. Bulh as follows.

‘‘I replaced the equations to calculate the element Ct, Cp, and Cq with equations. Pat Moriarty gave me. It improved the correlation to the rotor Cp.’’ Please see these cahnges and the sentecence written by Dr. Bulh the link:HARP_Opt/ChangeLog.txt at master · NREL/HARP_Opt · GitHub

*I also realized that every correction formula, such as Glauerts or others, have square root term in their equation. During iteration, the term inside the square root gets negative value. Therefore, we get complex inflow angle, complex angle of attack, so Cl and Cd data from the corresponding angle of attack cannot be read. For interpolation in Matlab, i am using interp1 command, it says that it cannot work with complex number. But this problem, i think, is not the problem due to interp1. Therefore, i am putting a command like if the term inside sqaure root is less than 0 (negative), take the term very close to zero. With this way, i am a kind of changing the initial conditions. Is there any other mehtod that i can apply?

  1. I also read about a paper about the iteration process of what Wt_perf used. Initially, as far as i am concerned, iteration for axial and angular factors were separately, that is the tangential induction iteration were nested inside the axial induction iteration in the previous version it says. In which version it is like this? My questions, WT_Perf V3.00 uses an iteration method just like Aerodyn? Which uses one iteration loop for both axial and tangential induction factors?

And lastly, what do you think about my results? Is it fine enough to move on simulink model etc to design controller after adding inertia, gear box ratio etc.?

Yours sincerely.

Mustafa SAHIN, PhD Candidate

METU Aerospace Engineering, Ankara, Turkey.

Dear Mustafa,

Just a few comments:

As discussed in the following topic on our forum, WT_Perf is no longer supported by NREL, but has been effectively replaced by the standalone driver for AeroDyn v15:

As far as I can tell, your results are quite close to those of WT_Perf and because you are using a different high-induction correction; perhaps that explains some of the differences you are seeing. AeroDyn v15–and it sounds like your code–replace the subiterations for axial and tangential induction with a single iteration covering both; perhaps this explains some of the differences in the windmill state. Regardless, though, I would not be too considered with your BEM implementation. You could compare your results to those of AeroDyn v15 if you wanted another set of results.

WT_Perf, like the standalone driver for AeroDyn v15, does not include structural weight/inertia terms.

I can’t comment on specific releases of WT_Perf; you’d have to look at the source-code changes between releases to answer your related questions.

There should not be imaginary numbers resulting from the Glauert/Buhl correction, as the correction is not applied for cases beyond the bounds of the equation’s validity.

Best regards,

Dear Jonkman,

Thank you for your valuable comments on my questions.

Again, thank you so much.

Yours sincerely

Mustafa SAHIN

Mr Jonkman,
I am running some incompressible CFD simulations of NREL 5MW reference turbine using Actuator Line method, solving RANS equations with k-epsilon model. Power and torque values I obtain for the same conditions are consistently a bit lower than results you present using FAST software. I know it can be related to my code, but I wonder does the FAST code model the blade to blade interaction, i.e. the flow is solved in the rotational plane (in the angular direction), or does it use a simpler method like Blade Element Momentum Theory?

Dear Hüseyin,

Yes, the AeroDyn aerodynamics module of FAST uses the Blade Element/Momentum Theory.

Best regards,

Hi all,

I am looking to obtain CP(TSR, Beta) and CT (TSR, Beta) surfaces for the 5MW reference offshore wind turbine in a similar way as Jason and Rannam did with WT_perf back in 2012 but for a wider range of TRS and pitch values. From what I’ve read through different threads of the forum WT_perf is no longer distributed, but I still should be able to do a similar analysis using Aerodyn V15 standalone driver somehow. I would like to obtain an output with a similar format to that attached by Jason in his post from Mar 06, 2012. Problem is I am new to the use of FAST and Aerodyn and I don’t quite know how to configure the input file to establish the desired value ranges, or even if that is possible.
Does someone have and example input template for that or can help me in any way?

Thanks a lot in advance,