Torque-Speed look-up table specification in _ServoDyn.dat

Hello Everyone,

I’m trying to set up a turbine simulation for a ~2.7MW turbine in FAST_v8.08.00c-bjj. To test the controls, i tried using the provided Test18.fst test case. I’m trying to change the torque-speed look-up table in the file NRELOffshrBsline5MW_Onshore_ServoDyn.dat file, but on running fast, i’m getting the same output as before. Following are my inputs to the ServoDyn file (PCMode is 5), with additional values of the torque-speed, and the updated values of variables:

When i run the simulation, the output is the same as with the original values. Am i missing some specification here? Do i necessarily need to recompile FAST / Discon.dll for using a different torque-speed curve?

Thanks for help
Jasvipul Chawla

---------------------- BLADED INTERFACE ---------------------------------------- "ServoData\DISCON_win32.dll" DLL_FileName - Name/location of the dynamic library {.dll [Windows] or .so [Linux]} in the Bladed-DLL format (-) [used only with Bladed Interface] 0 NacYaw_North - Reference yaw angle of the nacelle when the upwind end points due North (deg) [used only with Bladed Interface] 0 Ptch_Cntrl - Record 28: Use individual pitch control {0: collective pitch; 1: individual pitch control} (switch) [used only with Bladed Interface] 0 Ptch_SetPnt - Record 5: Below-rated pitch angle set-point (deg) [used only with Bladed Interface] 0 Ptch_Min - Record 6: Minimum pitch angle (deg) [used only with Bladed Interface] 0 Ptch_Max - Record 7: Maximum pitch angle (deg) [used only with Bladed Interface] 0 PtchRate_Min - Record 8: Minimum pitch rate (most negative value allowed) (deg/s) [used only with Bladed Interface] 0 PtchRate_Max - Record 9: Maximum pitch rate (deg/s) [used only with Bladed Interface] 0 Gain_OM - Record 16: Optimal mode gain (Nm/(rad/s)^2) [used only with Bladed Interface] 750 GenSpd_MinOM - Record 17: Minimum generator speed (rpm) [used only with Bladed Interface] 1200 GenSpd_MaxOM - Record 18: Optimal mode maximum speed (rpm) [used only with Bladed Interface] 1060 GenSpd_Dem - Record 19: Demanded generator speed above rated (rpm) [used only with Bladed Interface] 26000 GenTrq_Dem - Record 22: Demanded generator torque above rated (Nm) [used only with Bladed Interface] 2756000 GenPwr_Dem - Record 13: Demanded power (W) [used only with Bladed Interface] ---------------------- BLADED INTERFACE TORQUE-SPEED LOOK-UP TABLE ------------- 9 DLL_NumTrq - Record 26: No. of points in torque-speed look-up table {0 = none and use the optimal mode parameters; nonzero = ignore the optimal mode PARAMETERs by setting Record 16 to 0.0} (-) [used only with Bladed Interface] GenSpd_TLU GenTrq_TLU (rpm) (Nm) 750 0 760 3350 774 4488 872 10000 1033 19084 1051 26000 1060 26000 1080 25514 1160 23739

Dear Jasvipul,

These values were added to FAST to mimic functionality available in GH Bladed, so that the same DISCON.dll can be used in both software. They are simply passed to the DISCON.dll from FAST (or from GH Bladed) for use by the DISCON.dll. My guess is you are not using a DISCON.dll that uses them. The DISCON.dll supplied with the NREL 5-MW turbine models (e.g., from Test18) does not use these values.

Best regards,

Dear Jason,

Thanks for the clarification. I’m trying to compile the file, discon.f90 into a dll, but i’m running into troubles.

If i use gfortran and the following code to compile, the resulting dll file is only 17kB, and FAST aborts giving SrvD_Init error for the dll.

gfortran -c DISCON.f90 -fPIC gfortran -shared -mrtd -o discon.dll DISCON.o

If i use Intel Visual Fortran 11.1 to compile, i run into the same troubles as Luiz da Rocha had in the thread [url]]. Luiz was able to solve it by giving correct environment variables (6th post in the thread). I, however, still get the similar link errors (116 in total) even after giving correct environment variables (running the batch file), and copying licb.lib file into the current directory. The command i’m using for compiling is:

ifort /dll /winapp /libs:static DISCON.f90

Can you help me compile the dll properly?


I was able to compile it using ‘-static’ option in gfortran. The correct code that compiled for me is:

gfortran -c DISCON.f90 -fPIC gfortran -shared -mrtd -o discon.dll DISCON.o -static


I’d also like to mention that the FAST Compiling folder contains “makefile_DISCON_DLL” and “Compile_DISCON_DLL.bat” for compiling these DLLs with gfortran and ifort.

I have used both of these to created DLLs that ServoDyn can use.