Hi Daniel and Jason,
Sorry for the delay in posting the reply. I contacted the DTU controller team and solved the issue. I was using the wrong format of the DTU WE controller. The controller file can be compelled using the source code at OpenLAC / BasicDTUController · GitLab
The correct format is the bladed format. These are the things to consider:
• First you need to use this: ”DTUWEC_for_OpenFAST.so”. (.dll in case of Windows)
• second, you also need to prepare the correct controller parameter files used by DTUWEC and put it into a file, for example, called “DISCON.IN”.
• In the OpenFAST ServoDyn input file, you need to give the correct path to both the “DTUWEC_for_OpenFAST.so” file and the “DISCON.IN”
• You have to insert the “DISCON” in the line where you give “DLL_ProcName”
Then there was another issue with the usage of the DTU controller with the IEA 15 MW RWT UMaine SemiSubmersible. This issue is related to the pitch instability of a floating wind turbine above rated wind speeds. This issue is solved by adding a “Floating additional control loop” and changing some parameters for Full load control parameters in the DISCON.IN file. I am attaching the modified DISCON.IN to this reply.
The modified DISCON.IN for the floating IEA-15-MW RWT UMaineSemi.
; begin init ;
; Overall parameters
constant 1 15000.0 ; Rated power [kW]
constant 2 0.524 ; Minimum rotor (LSS) speed [rad/s]
constant 3 0.792 ; Rated rotor (LSS) speed [rad/s]
constant 4 21586451.33303 ; Maximum allowable generator torque [Nm]
constant 5 100.0 ; Minimum pitch angle, theta_min [deg],
; if |theta_min|>90, then a table of <wsp,theta_min> is read ;
; from a file named 'wptable.n', where n=int(theta_min)
; But for the openFAST interface, it has a bug so currently, you can only set a single minimum pitch angle instead of a table.
constant 6 90.0 ; Maximum pitch angle [deg]
constant 7 2.0 ; Maximum pitch velocity operation [deg/s]
constant 8 1.0081 ; Frequency of generator speed filter [Hz]
constant 9 0.7 ; Damping ratio of speed filter [-]
constant 10 1.01 ; Frequency of free-free DT torsion mode [Hz], if zero no notch filter used
; Partial load control parameters
constant 11 0.302217E+08 ; Optimal Cp tracking K factor [Nm/(rad/s)^2], ;
; Qg=K*Omega^2, K=eta*0.5*rho*A*Cp_opt*R^3/lambda_opt^3
constant 12 0.112427E+09 ; Proportional gain of torque controller [Nm/(rad/s)]
constant 13 0.201829E+08 ; Integral gain of torque controller [Nm/rad]
constant 14 0.0 ; Differential gain of torque controller [Nm/(rad/s^2)]
; Full load control parameters
constant 15 0 ; Generator control switch [1=constant power, 0=constant torque]
constant 16 3.1681 ; Proportional gain of pitch controller [rad/(rad/s)]
constant 17 0.7109 ; Integral gain of pitch controller [rad/rad]
constant 18 0.0 ; Differential gain of pitch controller [rad/(rad/s^2)]
constant 19 0.4e-8 ; Proportional power error gain [rad/W]
constant 20 0.4e-8 ; Integral power error gain [rad/(Ws)]
constant 21 2.2208 ; Coefficient of linear term in aerodynamic gain scheduling, KK1 [deg]
constant 22 -154.6450 ; Coefficient of quadratic term in aerodynamic gain scheduling, KK2 [deg^2] &
; (if zero, KK1 = pitch angle at double gain)
constant 23 1.5 ; Relative speed for double nonlinear gain [-]
; Cut-in simulation parameters
constant 24 -1 ; Cut-in time [s], no cut-in is simulated if zero or negative
constant 25 1.0 ; Time delay for soft start of torque [1/1P]
; Cut-out simulation parameters
constant 26 -1 ; Shut-down time [s], no shut-down is simulated if zero or negative
constant 27 5.0 ; Time of linear torque cut-out during a generator assisted stop [s]
constant 28 1 ; Stop type [1=normal, 2=emergency]
constant 29 1.0 ; Time delay for pitch stop after shut-down signal [s]
constant 30 2.0 ; Maximum pitch velocity during initial period of stop [deg/s]
constant 31 3.0 ; Time period of initial pitch stop phase [s] (maintains pitch speed specified in constant 30)
constant 32 2.0 ; Maximum pitch velocity during final phase of stop [deg/s]
; Expert parameters (keep default values unless otherwise given)
constant 33 2.0 ; Time for the maximum torque rate = Maximum allowable generator torque/(constant 33 + 0.01s) [s]
constant 34 2.0 ; Upper angle above lowest minimum pitch angle for switch [deg], if equal then hard switch
constant 35 95.0 ; Percentage of the rated speed when the torque limits are fully opened [%]
constant 36 2.0 ; Time constant of 1st order filter on wind speed used for minimum pitch [1/1P]
constant 37 1.0 ; Time constant of 1st order filter on pitch angle used for gain scheduling [1/1P]
; Drivetrain damper
constant 38 0.0 ; Proportional gain of active DT damper [Nm/(rad/s)], requires frequency in input 10
; Over speed
constant 39 50.0 ; Overspeed percentage before initiating turbine controller alarm (shut-down) [%]
; Additional non-linear pitch control term (not used when all zero)
constant 40 0.0 ; Rotor speed error scaling factor [rad/s]
constant 41 0.0 ; Rotor acceleration error scaling factor [rad/s^2]
constant 42 0.0 ; Pitch rate gain [rad/s]
; Storm control command
constant 43 28.0 ; Wind speed 'Vstorm' above which derating of rotor speed is used [m/s]
constant 44 28.0 ; Cut-out wind speed (only used for derating of rotor speed in storm) [m/s]
; Safety system parameters
constant 45 50.0 ; Overspeed percentage before initiating safety system alarm (shut-down) [%]
constant 46 2.0 ; Max low-pass filtered tower top acceleration level [m/s^2]
; Turbine parameter
constant 47 240.0 ; Nominal rotor diameter [m]
; Parameters for rotor inertia reduction in variable speed region
constant 48 0.0 ; Proportional gain on rotor acceleration in variable speed region [Nm/(rad/s^2)] (not used when zero)
; Parameters for alternative partial load controller with PI regulated TSR tracking
constant 49 9.0 ; Optimal tip speed ratio [-] (only used when K=constant 11 = 0 otherwise Qg=K*Omega^2 is used)
; Parameters for adding aerodynamic drivetrain damping on gain scheduling
constant 50 0.0 ; Aerodynamic DT damping coefficient at the operational point of zero pitch angle [Nm/(rad/s)] (not used when zero)
constant 51 0.0 ; Coefficient of linear term in aerodynamic DT damping scheduling, KK1 [deg]
constant 52 0.0 ; Coefficient of quadratic term in aerodynamic DT damping scheduling, KK2 [deg^2]
; Torque exclusion zone
constant 53 0.0 ; Exclusion zone: Lower speed limit [rad/s] (Default 0 used if zero)
constant 54 0.0 ; Exclusion zone: Generator torque at lower limit [Nm] (Default 0 used if zero)
constant 55 0.0 ; Exclusion zone: Upper speed limit [rad/s] (if =< 0 then exclusion zone functionality is inactive)
constant 56 0.0 ; Exclusion zone: Generator torque at upper limit [Nm] (Default 0 used if zero)
constant 57 0.0 ; Time constant of reference switching at exclusion zone [s] (Default 0 used if zero)
; DT torsion mode damper
constant 58 0.0 ; Frequency of notch filter [Hz] (Default 10 x input 10 used if zero)
constant 59 0.0 ; Damping of BP filter [-] (Default 0.02 used if zero)
constant 60 0.0 ; Damping of notch filter [-] (Default 0.01 used if zero)
constant 61 0.0 ; Phase lag of damper [s] => max 40*dt (Default 0 used if zero)
; Fore-aft Tower mode damper
constant 62 0.0 ; Frequency of BP filter [Hz] (Default 10 used if zero)\\
constant 63 0.0 ; Frequency of notch fiter [Hz] (Default 10 used if zero)\\
constant 64 0.0 ; Damping of BP filter [-] (Default 0.02 used if zero)\\
constant 65 0.0 ; Damping of notch filter [-] (Default 0.01 used if zero)\\
constant 66 0.0 ; Gain of damper [-] (Default 0 used if zero)\\
constant 67 0.0 ; Phase lag of damper [s] => max 40*dt (Default 0 used if zero)\\
constant 68 0.0 ; Time constant of 1st order filter on PWR used for fore-aft Tower mode damper GS [Hz] (Default 10 used if zero)
constant 69 0.0 ; Lower PWR limit used for fore-aft Tower mode damper GS [-] (Default 0 used if zero)
constant 70 0.0 ; Upper PWR limit used for fore-aft Tower mode damper GS [-] (Default 0 used if zero)
; Side-to-side Tower mode filter
constant 71 0.0 ; Frequency of Tower side-to-sede notch filter [Hz] (Default 100 used if zero)
constant 72 0.0 ; Damping of notch filter [-] (Default 0.01 used if zero)
constant 73 0.0 ; Max low-pass filtered tower top acceleration level before initiating safety system alarm (shut-down) [m/s^2] (Default 1.1 x input 46 used if zero)
constant 74 0.0 ; Time constant of 1st order filter on tower top acceleration [1/1P] (Default 1 used if zero)
; Pitch deviation monitor parameters
constant 75 1005020 ; 1005020 Parameters for pitch deviation monitoring. The format is 1,nnn,mmm
; where 'nnn' [s] is the period of the moving average and 'mmm' is threshold of the deviation [0.1 deg] (functionality is inactive if value $<$ 1,000,000)
; Gear ratio
constant 76 1.0 ; Gear ratio used for the calculation of the LSS rotational speeds and the HSS generator torque reference [-] (Default 1 if zero)
; Rotor speed notch filter for constant power operation above rated
constant 77 0.0 ; Frequency of notch filter [Hz] applied on the rotor speed before computing torque above rated (constant power), if zero no notch filter used
constant 78 0.0 ; Damping of notch filter [-] applied on the rotor speed before computing torque above rated (constant power), (Default 0.01 used if zero)
; Down regulation control strategy
constant 79 0 ; Down regulation control strateg. (0 = None, 1 = constant rotation, 2 = max rotation 3 = minimum Ct)
constant 80 100.0 ; Derate percentage (eg. 70 means 70% of nominal power)
constant 81 0.0 ; rotor inertia
; Floating additional control loop
constant 82 10.59; Rated wind speed (Only used when constant 79 = 3 OR constant 91/92/93/94 != 0)
constant 83 0; Gain for the loop mapping from tower velocity to blade pitch [rad/(m/s)]
constant 84 -4.119e+06; Gain for the loop mapping from tower velocity to GenTorque [Nm/(m/s)]
constant 85 30.0; Time to switch on the floating control loop [s]
constant 86 0.0; Frequency of LP filter [Hz] (Default 0 if filter not used)
constant 87 0; Damping ratio of LP filter [-]
constant 88 0.03; Frequency of BP filter [Hz] (Default 0 if filter not used)
constant 89 0.7; Damping ratio of BP filter [-] (Default 0.02)
constant 90 0.3; Time constant of BP filter [s] (Default 0)
constant 91 0.0; Coefficient of linear term in gain scheduling for tower-pitch loop, KK1 [1/(m/s)];
; Kgain * (1 + KK1 *abs(WSPfilt - WSPrated) + KK2 * abs(WSPfilt - WSPrated)**2)
constant 92 0.0; Coefficient of quadratic term in gain scheduling for tower-pitch loop, KK2 [1/(m/s)^2];
constant 93 -0.0044; Coefficient of linear term in gain scheduling for tower-genTorq loop, KK1 [1/(m/s)];
constant 94 -0.0012; Coefficient of quadratic term in gain scheduling for tower-genTorq loop, KK2 [1/(m/s)^2];
constant 95 1.0; Choice of gain-scheduling variable (0: WSPfilt, 1:Pitch angle (Default))
end init ;
Hopefully, this will help someone in the future. Many thanks to Fanzhong Meng from DTU for helping out.