Generator torque as a control input in full load region. possible?

Dear Dr.Jonkman

To mitigate pitch variations of the blades in a wind turbine operating at full load, it is convenient to use generator torque, as is stated in this report: “Modern Control Design for flexible Wind Turbines, Alan D.Wright, NREL, July 2004”.

However, when I tried to simulate a linear state-space model for WindPACT 1.5MW operating at a 18m/s wind speed, the result revealed that generator torque has just negligible effect on the states and outputs of the model and thus can not be considered as a control input!
The below figures which show “matrix of control inputs(i.e B matrix)” and "Nyquist plot of linear system"respectively, confirm this claim.

So if I aim to control the multivariable transfer function model (obtained from ss model) using 2 (and only 2) control inputs, which control inputs are better to be used?

I would appreciate if you could give me some advice on this problem.
Yours faithfully
Hooman


Dear Hooman,

I’m not sure what process you’ve used to linearize FAST and what states you’ve included in your linear system model, but I would expect the generator torque to have a strong authority to control blade edgewise bending deflections/loads, drivetrain speed/torsion/torque/power, and tower side-to-side bending deflections/loads. Generator torque will be less effective to control blade flapwise bending deflections/loads, rotor thrust, and tower fore-aft bending/deflection.

Best regards,

Dear Dr Jonkman
Thanks your reply.

My model has 14 states(7DOFs enabled):

Order of continuous states:
   Row/ Rotating Frame? Description
   ---------- ---------------                     --------------- -----------
          1   F        ED 1st tower fore-aft bending mode DOF (internal DOF index = DOF_TFA1), m
          2   F        ED 1st tower side-to-side bending mode DOF (internal DOF index = DOF_TSS1), m
          3   F        ED Variable speed generator DOF (internal DOF index = DOF_GeAz), rad
          4   F        ED Drivetrain rotational-flexibility DOF (internal DOF index = DOF_DrTr), rad
          5   T        ED 1st flapwise bending-mode DOF of blade 1 (internal DOF index = DOF_BF(1,1)), m
          6   T        ED 1st flapwise bending-mode DOF of blade 2 (internal DOF index = DOF_BF(2,1)), m
          7   T        ED 1st flapwise bending-mode DOF of blade 3 (internal DOF index = DOF_BF(3,1)), m
          8   F        ED First time derivative of 1st tower fore-aft bending mode DOF (internal DOF index = DOF_TFA1), m/s
          9   F        ED First time derivative of 1st tower side-to-side bending mode DOF (internal DOF index = DOF_TSS1), m/s
         10  F        ED First time derivative of Variable speed generator DOF (internal DOF index = DOF_GeAz), rad/s
         11  F        ED First time derivative of Drivetrain rotational-flexibility DOF (internal DOF index = DOF_DrTr), rad/s
         12  T        ED First time derivative of 1st flapwise bending-mode DOF of blade 1 (internal DOF index = DOF_BF(1,1)), m/s
         13  T        ED First time derivative of 1st flapwise bending-mode DOF of blade 2 (internal DOF index = DOF_BF(2,1)), m/s
         14  T        ED First time derivative of 1st flapwise bending-mode DOF of blade 3 (internal DOF index = DOF_BF(3,1)), m/s

First of all, I used Fast v8 linearization to derive 15 seperate .lin file. Secondly, using GetMats_f8 averaged them and then applied mbc.m.
obtaining MBC_AvgA, MBC_AvgB, MBC_AvgC, MBC_AvgD as the state-space matrices, I constructed the ss model. and then cropped the model such that it has only 3 inputs(horizontal wind speed, generator torque, comulative blade pitch).

The FAST v8 input files which were used to obtain such model are as follows:

Test13.fst

------- FAST v8.16.* INPUT FILE ------------------------------------------------
FAST Certification Test #13: WindPACT 1.5 MW Baseline with many DOFs with VS and VP and FF turbulence.
---------------------- SIMULATION CONTROL --------------------------------------
False         Echo            - Echo input data to <RootName>.ech (flag)
"FATAL"       AbortLevel      - Error level when simulation should abort (string) {"WARNING", "SEVERE", "FATAL"}
        96    TMax            - Total run time (s)
      0.001   DT              - Recommended module time step (s)
          2   InterpOrder     - Interpolation order for input/output time history (-) {1=linear, 2=quadratic}
          0   NumCrctn        - Number of correction iterations (-) {0=explicit calculation, i.e., no corrections}
      99999   DT_UJac         - Time between calls to get Jacobians (s)
      1E+06   UJacSclFact     - Scaling factor used in Jacobians (-)
---------------------- FEATURE SWITCHES AND FLAGS ------------------------------
          1   CompElast       - Compute structural dynamics (switch) {1=ElastoDyn; 2=ElastoDyn + BeamDyn for blades}
          1   CompInflow      - Compute inflow wind velocities (switch) {0=still air; 1=InflowWind; 2=external from OpenFOAM}
          2   CompAero        - Compute aerodynamic loads (switch) {0=None; 1=AeroDyn v14; 2=AeroDyn v15}
          1   CompServo       - Compute control and electrical-drive dynamics (switch) {0=None; 1=ServoDyn}
          0   CompHydro       - Compute hydrodynamic loads (switch) {0=None; 1=HydroDyn}
          0   CompSub         - Compute sub-structural dynamics (switch) {0=None; 1=SubDyn}
          0   CompMooring     - Compute mooring system (switch) {0=None; 1=MAP++; 2=FEAMooring; 3=MoorDyn; 4=OrcaFlex}
          0   CompIce         - Compute ice loads (switch) {0=None; 1=IceFloe; 2=IceDyn}
---------------------- INPUT FILES ---------------------------------------------
"WP_Baseline/Test13_ElastoDyn.dat"    EDFile          - Name of file containing ElastoDyn input parameters (quoted string)
"unused"      BDBldFile(1)    - Name of file containing BeamDyn input parameters for blade 1 (quoted string)
"unused"      BDBldFile(2)    - Name of file containing BeamDyn input parameters for blade 2 (quoted string)
"unused"      BDBldFile(3)    - Name of file containing BeamDyn input parameters for blade 3 (quoted string)
"WP_Baseline/WP_Baseline_InflowWind_12mps.dat"    InflowFile      - Name of file containing inflow wind input parameters (quoted string)
"WP_Baseline/WP_Baseline_AeroDyn15_Dynin.dat"    AeroFile        - Name of file containing aerodynamic input parameters (quoted string)
"WP_Baseline/Test13_ServoDyn.dat"    ServoFile       - Name of file containing control and electrical-drive input parameters (quoted string)
"unused"      HydroFile       - Name of file containing hydrodynamic input parameters (quoted string)
"unused"      SubFile         - Name of file containing sub-structural input parameters (quoted string)
"unused"      MooringFile     - Name of file containing mooring system input parameters (quoted string)
"unused"      IceFile         - Name of file containing ice input parameters (quoted string)
---------------------- OUTPUT --------------------------------------------------
True          SumPrint        - Print summary data to "<RootName>.sum" (flag)
          1   SttsTime        - Amount of time between screen status messages (s)
      99999   ChkptTime       - Amount of time between creating checkpoint files for potential restart (s)
       0.05   DT_Out          - Time step for tabular output (s) (or "default")
          0   TStart          - Time to begin tabular output (s)
          1   OutFileFmt      - Format for tabular (time-marching) output file (switch) {1: text file [<RootName>.out], 2: binary file [<RootName>.outb], 3: both}
True          TabDelim        - Use tab delimiters in text tabular output file? (flag) {uses spaces if false}
"ES10.3E2"    OutFmt          - Format used for text tabular output, excluding the time channel.  Resulting field should be 10 characters. (quoted string)
---------------------- LINEARIZATION -------------------------------------------
True          Linearize       - Linearization analysis (flag)
          15  NLinTimes       - Number of times to linearize (-) [>=1] [unused if Linearize=False]
          80, 80.2, 80.4, 80.6, 80.8, 81, 81.2, 81.4, 81.6, 81.8, 82, 82.2, 82.4, 82.6, 82.8     LinTimes        - List of times at which to linearize (s) [1 to NLinTimes] [unused if Linearize=False]
          1   LinInputs       - Inputs included in linearization (switch) {0=none; 1=standard; 2=all module inputs (debug)} [unused if Linearize=False]
          1   LinOutputs      - Outputs included in linearization (switch) {0=none; 1=from OutList(s); 2=all module outputs (debug)} [unused if Linearize=False]
False         LinOutJac       - Include full Jacobians in linearization output (for debug) (flag) [unused if Linearize=False; used only if LinInputs=LinOutputs=2]
False         LinOutMod       - Write module-level linearization output files in addition to output for full system? (flag) [unused if Linearize=False]
---------------------- VISUALIZATION ------------------------------------------
          0   WrVTK           - VTK visualization data output: (switch) {0=none; 1=initialization data only; 2=animation}
          2   VTK_type        - Type of VTK visualization data: (switch) {1=surfaces; 2=basic meshes (lines/points); 3=all meshes (debug)} [unused if WrVTK=0]
false         VTK_fields      - Write mesh fields to VTK data files? (flag) {true/false} [unused if WrVTK=0]
         15   VTK_fps         - Frame rate for VTK output (frames per second){will use closest integer multiple of DT} [used only if WrVTK=2]

Test13 Servodyn

------- SERVODYN v1.05.* INPUT FILE --------------------------------------------
FAST certification Test #13: WindPACT 1.5 MW Baseline with many DOFs with VS and VP and FF turbulence. Model properties from "InputData1.5A08V07adm.xls" (from C. Hansen) with bugs removed.
---------------------- SIMULATION CONTROL --------------------------------------
False         Echo         - Echo input data to <RootName>.ech (flag)
      0.001   DT           - Communication interval for controllers (s) (or "default")
---------------------- PITCH CONTROL -------------------------------------------
          0   PCMode       - Pitch control mode {0: none, 3: user-defined from routine PitchCntrl, 4: user-defined from Simulink/Labview, 5: user-defined from Bladed-style DLL} (switch)
          5   TPCOn        - Time to enable active pitch control (s) [unused when PCMode=0]
     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]
          2   PitManRat(1) - Pitch rate at which override pitch maneuver heads toward final pitch angle for blade 1 (deg/s)
          2   PitManRat(2) - Pitch rate at which override pitch maneuver heads toward final pitch angle for blade 2 (deg/s)
          2   PitManRat(3) - Pitch rate at which override pitch maneuver heads toward final pitch angle for blade 3 (deg/s) [unused for 2 blades]
        2.6   BlPitchF(1)  - Blade 1 final pitch for pitch maneuvers (degrees)
        2.6   BlPitchF(2)  - Blade 2 final pitch for pitch maneuvers (degrees)
        2.6   BlPitchF(3)  - Blade 3 final pitch for pitch maneuvers (degrees) [unused for 2 blades]
---------------------- GENERATOR AND TORQUE CONTROL ----------------------------
          1   VSContrl     - Variable-speed control mode {0: none, 1: simple VS, 3: user-defined from routine UserVSCont, 4: user-defined from Simulink/Labview, 5: user-defined from Bladed-style DLL} (switch)
          1   GenModel     - Generator model {1: simple, 2: Thevenin, 3: user-defined from routine UserGen} (switch) [used only when VSContrl=0]
        100   GenEff       - Generator efficiency [ignored by the Thevenin and user-defined generator models] (%)
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   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]
---------------------- SIMPLE VARIABLE-SPEED TORQUE CONTROL --------------------
       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]
 9.9999E-06   VS_SlPc      - Rated generator slip percentage in Region 2 1/2 for simple variable-speed generator control (%) [used only when VSContrl=1]
---------------------- SIMPLE INDUCTION GENERATOR ------------------------------
     1.5125   SIG_SlPc     - Rated generator slip percentage (%) [used only when VSContrl=0 and GenModel=1]
     1800.0   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]
---------------------- HIGH-SPEED SHAFT BRAKE ----------------------------------
          0   HSSBrMode    - HSS brake model {0: none, 1: simple, 3: user-defined from routine UserHSSBr, 4: user-defined from Simulink/Labview, 5: user-defined from Bladed-style DLL} (switch)
     9999.9   THSSBrDp     - Time to initiate deployment of the HSS brake (s)
     9999.9   HSSBrDT      - Time for HSS-brake to reach full deployment once initiated (sec) [used only when HSSBrMode=1]
     9999.9   HSSBrTqF     - Fully deployed HSS-brake torque (N-m)
---------------------- NACELLE-YAW CONTROL -------------------------------------
          0   YCMode       - Yaw control mode {0: none, 3: user-defined from routine UserYawCont, 4: user-defined from Simulink/Labview, 5: user-defined from Bladed-style DLL} (switch)
          0   TYCOn        - Time to enable active yaw control (s) [unused when YCMode=0]
          0   YawNeut      - Neutral yaw position--yaw spring force is zero at this yaw (degrees)
          0   YawSpr       - Nacelle-yaw spring constant (N-m/rad)
          0   YawDamp      - Nacelle-yaw damping constant (N-m/(rad/s))
     9999.9   TYawManS     - Time to start override yaw maneuver and end standard yaw control (s)
          2   YawManRat    - Yaw maneuver rate (in absolute value) (deg/s)
          0   NacYawF      - Final yaw angle for override yaw maneuvers (degrees)
---------------------- TUNED MASS DAMPER ---------------------------------------
False         CompNTMD     - Compute nacelle tuned mass damper {true/false} (flag)
"unused"      NTMDfile     - Name of the file for nacelle tuned mass damper (quoted string) [unused when CompNTMD is false]
False         CompTTMD     - Compute tower tuned mass damper {true/false} (flag)
"unused"      TTMDfile     - Name of the file for tower tuned mass damper (quoted string) [unused when CompTTMD is false]
---------------------- BLADED INTERFACE ---------------------------------------- [used only with Bladed Interface]
"unused"      DLL_FileName - Name/location of the dynamic library {.dll [Windows] or .so [Linux]} in the Bladed-DLL format (-) [used only with Bladed Interface]
"DISCON.IN"    DLL_InFile   - Name of input file sent to the DLL (-) [used only with Bladed Interface]
"DISCON"      DLL_ProcName - Name of procedure in DLL to be called (-) [case sensitive; used only with DLL Interface]
"default"     DLL_DT       - Communication interval for dynamic library (s) (or "default") [used only with Bladed Interface]
false         DLL_Ramp     - Whether a linear ramp should be used between DLL_DT time steps [introduces time shift when true] (flag) [used only with Bladed Interface]
     9999.9   BPCutoff     - Cuttoff frequency for low-pass filter on blade pitch from DLL (Hz) [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]
          0   GenSpd_MinOM - Record 17: Minimum generator speed (rpm) [used only with Bladed Interface]
          0   GenSpd_MaxOM - Record 18: Optimal mode maximum speed (rpm) [used only with Bladed Interface]
          0   GenSpd_Dem   - Record 19: Demanded generator speed above rated (rpm) [used only with Bladed Interface]
          0   GenTrq_Dem   - Record 22: Demanded generator torque above rated (Nm) [used only with Bladed Interface]
          0   GenPwr_Dem   - Record 13: Demanded power (W) [used only with Bladed Interface]
---------------------- BLADED INTERFACE TORQUE-SPEED LOOK-UP TABLE -------------
          0   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)
---------------------- OUTPUT --------------------------------------------------
True          SumPrint     - Print summary data to <RootName>.sum (flag) (currently unused)
          1   OutFile      - Switch to determine where output will be placed: {1: in module output file only; 2: in glue code output file only; 3: both} (currently unused)
True          TabDelim     - Use tab delimiters in text tabular output file? (flag) (currently unused)
"ES10.3E2"    OutFmt       - Format used for text tabular output (except time).  Resulting field should be 10 characters. (quoted string) (currently unused)
          0   TStart       - Time to begin tabular output (s) (currently unused)
              OutList      - The next line(s) contains a list of output parameters.  See OutListParameters.xlsx for a listing of available output channels, (-)
"BlPitchC1"		-Blade 1 pitch angle command
"BlPitchC2"		-Blade 2 pitch angle command
"BlPitchC3"		-Blade 3 pitch angle command
"GenTq"		       -Electrical generator torque
"GenPwr"		-Electrical generator power
END of input file (the word "END" must appear in the first 3 columns of this last OutList line)
---------------------------------------------------------------------------------------

Test13_elastodyn

------- ELASTODYN v1.03.* INPUT FILE -------------------------------------------
FAST certification Test #13: WindPACT 1.5 MW Baseline with many DOFs with VS and VP and FF turbulence. Model properties from "InputData1.5A08V07adm.xls" (from C. Hansen) with bugs removed.
---------------------- SIMULATION CONTROL --------------------------------------
False         Echo        - Echo input data to "<RootName>.ech" (flag)
          3   Method      - Integration method: {1: RK4, 2: AB4, or 3: ABM4} (-)
      0.001   DT          - Integration time step (s)
---------------------- ENVIRONMENTAL CONDITION ---------------------------------
    9.80665   Gravity     - Gravitational acceleration (m/s^2)
---------------------- DEGREES OF FREEDOM --------------------------------------
True          FlapDOF1    - First flapwise blade mode DOF (flag)
False         FlapDOF2    - Second flapwise blade mode DOF (flag)
False         EdgeDOF     - First edgewise blade mode DOF (flag)
False         TeetDOF     - Rotor-teeter DOF (flag) [unused for 3 blades]
True          DrTrDOF     - Drivetrain rotational-flexibility DOF (flag)
True          GenDOF      - Generator DOF (flag)
False         YawDOF      - Yaw DOF (flag)
True          TwFADOF1    - First fore-aft tower bending-mode DOF (flag)
False         TwFADOF2    - Second fore-aft tower bending-mode DOF (flag)
True          TwSSDOF1    - First side-to-side tower bending-mode DOF (flag)
False         TwSSDOF2    - Second side-to-side tower bending-mode DOF (flag)
False         PtfmSgDOF   - Platform horizontal surge translation DOF (flag)
False         PtfmSwDOF   - Platform horizontal sway translation DOF (flag)
False         PtfmHvDOF   - Platform vertical heave translation DOF (flag)
False         PtfmRDOF    - Platform roll tilt rotation DOF (flag)
False         PtfmPDOF    - Platform pitch tilt rotation DOF (flag)
False          PtfmYDOF    - Platform yaw rotation DOF (flag)
---------------------- INITIAL CONDITIONS --------------------------------------
          0   OoPDefl     - Initial out-of-plane blade-tip displacement (meters)
          0   IPDefl      - Initial in-plane blade-tip deflection (meters)
         19.8   BlPitch(1)  - Blade 1 initial pitch (degrees)
         19.8   BlPitch(2)  - Blade 2 initial pitch (degrees)
         19.8 BlPitch(3)  - Blade 3 initial pitch (degrees) [unused for 2 blades]
          0   TeetDefl    - Initial or fixed teeter angle (degrees) [unused for 3 blades]
          0   Azimuth     - Initial azimuth angle for blade 1 (degrees)
         20   RotSpeed    - Initial or fixed rotor speed (rpm)
          0   NacYaw      - Initial or fixed nacelle-yaw angle (degrees)
          0   TTDspFA     - Initial fore-aft tower-top displacement (meters)
          0   TTDspSS     - Initial side-to-side tower-top displacement (meters)
          0   PtfmSurge   - Initial or fixed horizontal surge translational displacement of platform (meters)
          0   PtfmSway    - Initial or fixed horizontal sway translational displacement of platform (meters)
          0   PtfmHeave   - Initial or fixed vertical heave translational displacement of platform (meters)
          0   PtfmRoll    - Initial or fixed roll tilt rotational displacement of platform (degrees)
          0   PtfmPitch   - Initial or fixed pitch tilt rotational displacement of platform (degrees)
          0   PtfmYaw     - Initial or fixed yaw rotational displacement of platform (degrees)
---------------------- TURBINE CONFIGURATION -----------------------------------
          3   NumBl       - Number of blades (-)
         35   TipRad      - The distance from the rotor apex to the blade tip (meters)
       1.75   HubRad      - The distance from the rotor apex to the blade root (meters)
          0   PreCone(1)  - Blade 1 cone angle (degrees)
          0   PreCone(2)  - Blade 2 cone angle (degrees)
          0   PreCone(3)  - Blade 3 cone angle (degrees) [unused for 2 blades]
          0   HubCM       - Distance from rotor apex to hub mass [positive downwind] (meters)
          0   UndSling    - Undersling length [distance from teeter pin to the rotor apex] (meters) [unused for 3 blades]
          0   Delta3      - Delta-3 angle for teetering rotors (degrees) [unused for 3 blades]
          0   AzimB1Up    - Azimuth value to use for I/O when blade 1 points up (degrees)
       -3.3   OverHang    - Distance from yaw axis to rotor apex [3 blades] or teeter pin [2 blades] (meters)
       0.99   ShftGagL    - Distance from rotor apex [3 blades] or teeter pin [2 blades] to shaft strain gages [positive for upwind rotors] (meters)
         -5   ShftTilt    - Rotor shaft tilt angle (degrees)
    -0.1449   NacCMxn     - Downwind distance from the tower-top to the nacelle CM (meters)
          0   NacCMyn     - Lateral  distance from the tower-top to the nacelle CM (meters)
      1.389   NacCMzn     - Vertical distance from the tower-top to the nacelle CM (meters)
          0   NcIMUxn     - Downwind distance from the tower-top to the nacelle IMU (meters)
          0   NcIMUyn     - Lateral  distance from the tower-top to the nacelle IMU (meters)
          0   NcIMUzn     - Vertical distance from the tower-top to the nacelle IMU (meters)
       1.61   Twr2Shft    - Vertical distance from the tower-top to the rotor shaft (meters)
      82.39   TowerHt     - Height of tower above ground level [onshore] or MSL [offshore] (meters)
          0   TowerBsHt   - Height of tower base above ground level [onshore] or MSL [offshore] (meters)
          0   PtfmCMxt    - Downwind distance from the ground level [onshore] or MSL [offshore] to the platform CM (meters)
          0   PtfmCMyt    - Lateral distance from the ground level [onshore] or MSL [offshore] to the platform CM (meters)
         -0   PtfmCMzt    - Vertical distance from the ground level [onshore] or MSL [offshore] to the platform CM (meters)
         -0   PtfmRefzt   - Vertical distance from the ground level [onshore] or MSL [offshore] to the platform reference point (meters)
---------------------- MASS AND INERTIA ----------------------------------------
          0   TipMass(1)  - Tip-brake mass, blade 1 (kg)
          0   TipMass(2)  - Tip-brake mass, blade 2 (kg)
          0   TipMass(3)  - Tip-brake mass, blade 3 (kg) [unused for 2 blades]
      15148   HubMass     - Hub mass (kg)
      34600   HubIner     - Hub inertia about rotor axis [3 blades] or teeter axis [2 blades] (kg m^2)
     53.036   GenIner     - Generator inertia about HSS (kg m^2)
      51170   NacMass     - Nacelle mass (kg)
      49130   NacYIner    - Nacelle inertia about yaw axis (kg m^2)
          0   YawBrMass   - Yaw bearing mass (kg)
          0   PtfmMass    - Platform mass (kg)
          0   PtfmRIner   - Platform inertia for roll tilt rotation about the platform CM (kg m^2)
          0   PtfmPIner   - Platform inertia for pitch tilt rotation about the platform CM (kg m^2)
          0   PtfmYIner   - Platform inertia for yaw rotation about the platform CM (kg m^2)
---------------------- BLADE ---------------------------------------------------
         15   BldNodes    - Number of blade nodes (per blade) used for analysis (-)
"Baseline_Blade.dat"    BldFile(1)  - Name of file containing properties for blade 1 (quoted string)
"Baseline_Blade.dat"    BldFile(2)  - Name of file containing properties for blade 2 (quoted string)
"Baseline_Blade.dat"    BldFile(3)  - Name of file containing properties for blade 3 (quoted string) [unused for 2 blades]
---------------------- 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   TeetDmpP    - Rotor-teeter damper position (degrees) [used only for 2 blades and when TeetMod=1]
          0   TeetDmp     - Rotor-teeter damping constant (N-m/(rad/s)) [used only for 2 blades and when TeetMod=1]
          0   TeetCDmp    - Rotor-teeter rate-independent Coulomb-damping moment (N-m) [used only for 2 blades and when TeetMod=1]
          0   TeetSStP    - Rotor-teeter soft-stop position (degrees) [used only for 2 blades and when TeetMod=1]
          0   TeetHStP    - Rotor-teeter hard-stop position (degrees) [used only for 2 blades and when TeetMod=1]
          0   TeetSSSp    - Rotor-teeter soft-stop linear-spring constant (N-m/rad) [used only for 2 blades and when TeetMod=1]
          0   TeetHSSp    - Rotor-teeter hard-stop linear-spring constant (N-m/rad) [used only for 2 blades and when TeetMod=1]
---------------------- DRIVETRAIN ----------------------------------------------
        100   GBoxEff     - Gearbox efficiency (%)
     87.965   GBRatio     - Gearbox ratio (-)
    5.6E+09   DTTorSpr    - Drivetrain torsional spring (N-m/rad)
      1E+07   DTTorDmp    - Drivetrain torsional damper (N-m/(rad/s))
---------------------- FURLING -------------------------------------------------
False         Furling     - Read in additional model properties for furling turbine (flag) [must currently be FALSE)
"unused"      FurlFile    - Name of file containing furling properties (quoted string) [unused when Furling=False]
---------------------- TOWER ---------------------------------------------------
         10   TwrNodes    - Number of tower nodes used for analysis (-)
"Baseline_Tower.dat"    TwrFile     - Name of file containing tower properties (quoted string)
---------------------- OUTPUT --------------------------------------------------
True          SumPrint    - Print summary data to "<RootName>.sum" (flag)
          1   OutFile     - Switch to determine where output will be placed: {1: in module output file only; 2: in glue code output file only; 3: both} (currently unused)
True          TabDelim    - Use tab delimiters in text tabular output file? (flag) (currently unused)
"ES10.3E2"    OutFmt      - Format used for text tabular output (except time).  Resulting field should be 10 characters. (quoted string) (currently unused)
          0   TStart      - Time to begin tabular output (s) (currently unused)
         10   DecFact     - Decimation factor for tabular output {1: output every time step} (-) (currently unused)
          2   NTwGages    - Number of tower nodes that have strain gages for output [0 to 9] (-)
          4,          7    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] (-)
          0   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 OutListParameters.xlsx for a listing of available output channels, (-)
"LSSTipPxa"               - Rotor azimuth angle (position)
 "LSSTipVxa"              -Rotor azimuth angular speed
"BldPitch2"               - Blade 2 pitch angle
"IPDefl1"                 - IP blade 1,2 tip deflections
"IPDefl2"                 - IP blade 1,2 tip deflections
"TwstDefl1"               - Blade torsional tip twist deflections
"TwstDefl2"               - Blade torsional tip twist deflections
"TwstDefl3"               - Blade torsional tip twist deflections
"RootMxb2"                - Blade 2 root moments
"RootMyb2"                - Blade 2 root moments
"RootMzb2"                - Blade 2 root moments
"LSShftFys"               - Non-rotating LSS shear forces
"LSShftFzs"               - Non-rotating LSS shear forces
"LSSTipMys"               - Non-rotating LSS bending moments at the shaft tip
"LSSTipMzs"               - Non-rotating LSS bending moments at the shaft tip
"YawBrTDxp"               - FA and SS tower-top deflections wrt tilted tower
"YawBrTDyp"               - FA and SS tower-top deflections wrt tilted tower
"YawBrMxn"                - Tower-top / yaw bearing roll, pitch, and yaw moments
"YawBrMyn"                - Tower-top / yaw bearing roll, pitch, and yaw moments
"YawBrMzn"                - Tower-top / yaw bearing roll, pitch, and yaw moments
END of input file (the word "END" must appear in the first 3 columns of this last OutList line)
---------------------------------------------------------------------------------------

inflowwind.dat

------- InflowWind v3.01.* INPUT FILE -------------------------------------------------------------------------
Turbulent 18 m/s winds for FAST CertTests #11 and #13
---------------------------------------------------------------------------------------------------------------
False         Echo           - Echo input data to <RootName>.ech (flag)
          1   WindType       - switch for wind file type (1=steady; 2=uniform; 3=binary TurbSim FF; 4=binary Bladed-style FF; 5=HAWC format; 6=User defined)
          0   PropagationDir - Direction of wind propagation (meteoroligical rotation from aligned with X (positive rotates towards -Y) -- degrees)
          1   NWindVel       - Number of points to output the wind velocity    (0 to 9)
          0   WindVxiList    - List of coordinates in the inertial X direction (m)
          0   WindVyiList    - List of coordinates in the inertial Y direction (m)
    84.2876   WindVziList    - List of coordinates in the inertial Z direction (m)
================== Parameters for Steady Wind Conditions [used only for WindType = 1] =========================
         18   HWindSpeed     - Horizontal windspeed                            (m/s)
    84.2876   RefHt          - Reference height for horizontal wind speed      (m)
        0.2   PLexp          - Power law exponent                              (-)
================== Parameters for Uniform wind file   [used only for WindType = 2] ============================
"Wind/84m_12mps.wnd"    Filename       - Filename of time series data for uniform wind field.      (-)
    84.2876   RefHt          - Reference height for horizontal wind speed                (m)
         70   RefLength      - Reference length for linear horizontal and vertical sheer (-)
================== Parameters for Binary TurbSim Full-Field files   [used only for WindType = 3] ==============
"Wind/84m_12mps.wnd"    Filename       - Name of the Full field wind file to use (.bts)
================== Parameters for Binary Bladed-style Full-Field files   [used only for WindType = 4] =========
"Wind/84m_12mps"    FilenameRoot   - Rootname of the full-field wind file to use (.wnd, .sum)
False         TowerFile      - Have tower file (.twr) (flag)
================== Parameters for HAWC-format binary files  [Only used with WindType = 5] =====================
"wasp\Output\basic_5u.bin"    FileName_u     - name of the file containing the u-component fluctuating wind (.bin)
"wasp\Output\basic_5v.bin"    FileName_v     - name of the file containing the v-component fluctuating wind (.bin)
"wasp\Output\basic_5w.bin"    FileName_w     - name of the file containing the w-component fluctuating wind (.bin)
         64   nx             - number of grids in the x direction (in the 3 files above) (-)
         32   ny             - number of grids in the y direction (in the 3 files above) (-)
         32   nz             - number of grids in the z direction (in the 3 files above) (-)
         16   dx             - distance (in meters) between points in the x direction    (m)
          3   dy             - distance (in meters) between points in the y direction    (m)
          3   dz             - distance (in meters) between points in the z direction    (m)
    84.2876   RefHt          - reference height; the height (in meters) of the vertical center of the grid (m)
  -------------   Scaling parameters for turbulence   ---------------------------------------------------------
          1   ScaleMethod    - Turbulence scaling method   [0 = none, 1 = direct scaling, 2 = calculate scaling factor based on a desired standard deviation]
          1   SFx            - Turbulence scaling factor for the x direction (-)   [ScaleMethod=1]
          1   SFy            - Turbulence scaling factor for the y direction (-)   [ScaleMethod=1]
          1   SFz            - Turbulence scaling factor for the z direction (-)   [ScaleMethod=1]
         12   SigmaFx        - Turbulence standard deviation to calculate scaling from in x direction (m/s)    [ScaleMethod=2]
          8   SigmaFy        - Turbulence standard deviation to calculate scaling from in y direction (m/s)    [ScaleMethod=2]
          2   SigmaFz        - Turbulence standard deviation to calculate scaling from in z direction (m/s)    [ScaleMethod=2]
  -------------   Mean wind profile parameters (added to HAWC-format files)   ---------------------------------
          5   URef           - Mean u-component wind speed at the reference height (m/s)
          2   WindProfile    - Wind profile type (0=constant;1=logarithmic,2=power law)
        0.2   PLExp          - Power law exponent (-) (used for PL wind profile type only)
       0.03   Z0             - Surface roughness length (m) (used for LG wind profile type only)
====================== OUTPUT ==================================================
False         SumPrint     - Print summary data to <RootName>.IfW.sum (flag)
              OutList      - The next line(s) contains a list of output parameters.  See OutListParameters.xlsx for a listing of available output channels, (-)
"Wind1VelX"               X-direction wind velocity at point WindList(1)
"Wind1VelY"               Y-direction wind velocity at point WindList(1)
"Wind1VelZ"               Z-direction wind velocity at point WindList(1)
END of input file (the word "END" must appear in the first 3 columns of this last OutList line)
---------------------------------------------------------------------------------------

I will be grateful if you inform me what’s wrong with this process.

Yours faithfully.
Hooman Asgari

Dear Hooman,

Your overall process sounds correct. I haven’t reviewed all of your input files in great detail, but it appears that you are targeting a steady-state rotor speed of 20 rpm. Has the time-series solution reached a quasi-steady state condition at 20 rpm by 80-s into the simulation?

Best regards,

Dear Dr.Jonkman

Does inspecting some of outputs during time interval of [0,80] certify that solution has reached a quasi-steady state solution?
These figures are values of rotor speed, Generator Power and Generator Torque over this time period.

Nevertheless, I still have some doubts. Maybe I’ve missed some necessary conditions that have to be met during initialization of input files? Although everything seems correct, Is there any condition that must be met when we’re going to utilize the “Generator Torque” as the control Input?

Sincerely
Hooman Asgari



Dear Hooman,

Yes, plotting the time-series is a way to determine if you solution is in quasi-steady state; your solution does appear to be in a qausi-steady state. You could also check other outputs such as pitch angle, blade deflection, and tower deflection.

One potential problem I see in your solution is that the rated rotor speed of the WindPACT 1.5-MW turbine is 20.463 rpm = 1800 rpm generator speed. I see that your rotor speed is a bit lower than this, meaning that you variable-speed controller is operating in Region 2, not Region 3, where you trying to linearize at. This may be adversly effecting your linearized solution. To ensure that the variable-speed controller is operating in Region 3, you can lower the value of VS_RtGnSp to be less much less than the target generator speed (e.g. change 1800 to 1 rpm). Does that help?

Best regards,

Dear Dr.Jonkman,

Linearizations around different rotor speeds had been achieved formerly by decreasing blade initial pitches in the Elastodyn.dat input file. But the nyquist plot and amount of B matrix in all of them were similar, which showed that Generator Torque doesn’t affect tower and blade variables. The previous figure showed rotor speed when BlPitch was 20.72 deg. I I’ve attached here the rotor speed plot corresponding to some other situations:

Although I have not changed the default input files in Test13 (unless some minor changes, for example in Outlist routine), I wonder why these results are such unexpected?
Could you please inform me that whether you get the correct values of state-space matrices(the column corresponding to the Generator Torque is is of main focus) with the same input files I’ve used?

Sincerely
Hooman Asgari

Dear Hooman,

So in the cases where you’ve linearized with GenSpeed > VS_RtGnSpd, do you see a change in the linear system matrices and resulting control authority relative to the case where GenSpeed < VS_RtGnSpd? I would expect that you’d see a substantive change in the linear system matrices because the variable-speed torque controller is in Region 3 in the former (with a torque versus speed slope of zero) and is in Region 2 in the latter (with a nonzero torque versus speed slope).

Best regards,

Dear Dr.Jonkman,

No, The resulting matrices are very similar.

This figure shows B matrix in a case in which initial blade pitches were equal to 19.8 deg; resulting in a Generator speed of 1860 rpm which is larger than nominal generator speed(1800 rpm):

And this one represents B matrix in another test, where initial blade pitches were equal to 20.72 deg; and thus makes generator to rotate with a velocity of nearly 1762 rpm which is lower than rated value:

Sincerely,
Hooman Asgari

Dear Hooman,

You now have 6 more states than you did before; did you include addition blade modes in these results? Regardless, I would guess rows 13-14 correspond to the drivetrain rotation and torsion? Your results clear show that generator torque has far more control sensitivity to the drivetrain than to other modes (by several orders of magnitude, which is what I expect to see.

Overall, I believe you are following the correct linearization procedure.

Best regards,

Dear Dr.Jonkman

Yes, in order to know how the Generator torque affects edgewise bending of the blades, I enabled their respective DOF in the elastodyn file , which resulted in the addition of 6 states. The rows 13 and 14 show First time derivative of Variable speed generator and First time derivative of Drivetrain rotational-flexibility, respectively.

   Row/  Rotating Frame?     Description
   ----------                          --------------- 
          1     F        ED 1st tower fore-aft bending mode DOF (internal DOF index = DOF_TFA1), m
          2     F        ED 1st tower side-to-side bending mode DOF (internal DOF index = DOF_TSS1), m
          3     F        ED Variable speed generator DOF (internal DOF index = DOF_GeAz), rad
          4     F        ED Drivetrain rotational-flexibility DOF (internal DOF index = DOF_DrTr), rad
          5     T        ED 1st flapwise bending-mode DOF of blade 1 (internal DOF index = DOF_BF(1,1)), m
          6     T        ED 1st flapwise bending-mode DOF of blade 2 (internal DOF index = DOF_BF(2,1)), m
          7     T        ED 1st flapwise bending-mode DOF of blade 3 (internal DOF index = DOF_BF(3,1)), m
          8     T        ED 1st edgewise bending-mode DOF of blade 1 (internal DOF index = DOF_BE(1,1)), m
          9     T        ED 1st edgewise bending-mode DOF of blade 2 (internal DOF index = DOF_BE(2,1)), m
         10    T        ED 1st edgewise bending-mode DOF of blade 3 (internal DOF index = DOF_BE(3,1)), m
         11    F        ED First time derivative of 1st tower fore-aft bending mode DOF (internal DOF index = DOF_TFA1), m/s
         12    F        ED First time derivative of 1st tower side-to-side bending mode DOF (internal DOF index = DOF_TSS1), m/s
         13    F        ED First time derivative of Variable speed generator DOF (internal DOF index = DOF_GeAz), rad/s
         14    F        ED First time derivative of Drivetrain rotational-flexibility DOF (internal DOF index = DOF_DrTr), rad/s
         15    T        ED First time derivative of 1st flapwise bending-mode DOF of blade 1 (internal DOF index = DOF_BF(1,1)), m/s
         16    T        ED First time derivative of 1st flapwise bending-mode DOF of blade 2 (internal DOF index = DOF_BF(2,1)), m/s
         17    T        ED First time derivative of 1st flapwise bending-mode DOF of blade 3 (internal DOF index = DOF_BF(3,1)), m/s
         18    T        ED First time derivative of 1st edgewise bending-mode DOF of blade 1 (internal DOF index = DOF_BE(1,1)), m/s
         19    T        ED First time derivative of 1st edgewise bending-mode DOF of blade 2 (internal DOF index = DOF_BE(2,1)), m/s
         20    T        ED First time derivative of 1st edgewise bending-mode DOF of blade 3 (internal DOF index = DOF_BE(3,1)), m/s

It is true that generator torque has more control sensitivity over these two states with respect to other state variables. However, its order of magnitude is e-4 , which is negligible compared to other control inputs such as 9th column (commulative blade pitch). Also, it has not any considerable effect on the edgewise bending of the blades(rows 18 to 20) and side-side bending of the tower(row 12).

So why is still reasonable to consider it as one of the control inputs?

Sincerely,
Hooman Asgari

Dear Hooman,

You shouldn’t compare the magnitude of the elements of the B matrix between columns 8 and 9 because they don’t have the same units. Column 8 is per Nm (for generator torque) and column 9 is per radian (for collective blade-pitch angle).

Best regards,

Dear Dr’Jonkman

Yes, it was a mistake to compare these values. Many thanks for your hint.
But the nyquist diagram corresponding to the transfer function of “edgewise tip acceleration of blade 1” to “generator power” also shows that it has not any effect on these parameters.

Why generator power is such insensitive to generator torque?
Is the use of nyquist diagram as a basis of comparison a wrong manner to do a comparison between the impact of generator torque and commulative blade pitch on these parameters, too?

Yours Sincerely,
Hooman Asgari

Dear Hooman,

In the FAST linearization process, the generator torque control perturbation is applied directly to the ElastoDyn input, and does not pass through ServoDyn, so does not have a direct effect on the generator power in the linearization process.

I’m not sure I understand your point about edgewise tip acceleration. Neither am I too familiar with the use of Nyquist diagrams to comment.

Best regards,

Dear Dr.Jonkman,
I was reading this forum on FAST linearized model :[url]Fast Linearized Models] and I saw this reply from you:

According to 2nd paragraph, does this means that I can obtain the real effect of generator torque by using this method? If so, what is the correct way to do this? Or how should the generator torque be defined?
I’ve inserted my ServoDyn file below:

------- SERVODYN v1.05.* INPUT FILE --------------------------------------------
FAST certification Test #13: WindPACT 1.5 MW Baseline with many DOFs with VS and VP and FF turbulence. Model properties from "InputData1.5A08V07adm.xls" (from C. Hansen) with bugs removed.
---------------------- SIMULATION CONTROL --------------------------------------
False         Echo         - Echo input data to <RootName>.ech (flag)
      0.001   DT           - Communication interval for controllers (s) (or "default")
---------------------- PITCH CONTROL -------------------------------------------
          0   PCMode       - Pitch control mode {0: none, 3: user-defined from routine PitchCntrl, 4: user-defined from Simulink/Labview, 5: user-defined from Bladed-style DLL} (switch)
          5   TPCOn        - Time to enable active pitch control (s) [unused when PCMode=0]
     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]
          2   PitManRat(1) - Pitch rate at which override pitch maneuver heads toward final pitch angle for blade 1 (deg/s)
          2   PitManRat(2) - Pitch rate at which override pitch maneuver heads toward final pitch angle for blade 2 (deg/s)
          2   PitManRat(3) - Pitch rate at which override pitch maneuver heads toward final pitch angle for blade 3 (deg/s) [unused for 2 blades]
        2.6   BlPitchF(1)  - Blade 1 final pitch for pitch maneuvers (degrees)
        2.6   BlPitchF(2)  - Blade 2 final pitch for pitch maneuvers (degrees)
        2.6   BlPitchF(3)  - Blade 3 final pitch for pitch maneuvers (degrees) [unused for 2 blades]
---------------------- GENERATOR AND TORQUE CONTROL ----------------------------
          1   VSContrl     - Variable-speed control mode {0: none, 1: simple VS, 3: user-defined from routine UserVSCont, 4: user-defined from Simulink/Labview, 5: user-defined from Bladed-style DLL} (switch)
          1   GenModel     - Generator model {1: simple, 2: Thevenin, 3: user-defined from routine UserGen} (switch) [used only when VSContrl=0]
        100   GenEff       - Generator efficiency [ignored by the Thevenin and user-defined generator models] (%)
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   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]
---------------------- SIMPLE VARIABLE-SPEED TORQUE CONTROL --------------------
       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]
 9.9999E-06   VS_SlPc      - Rated generator slip percentage in Region 2 1/2 for simple variable-speed generator control (%) [used only when VSContrl=1]
---------------------- SIMPLE INDUCTION GENERATOR ------------------------------
     1.5125   SIG_SlPc     - Rated generator slip percentage (%) [used only when VSContrl=0 and GenModel=1]
     1800.0   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]
---------------------- HIGH-SPEED SHAFT BRAKE ----------------------------------
          0   HSSBrMode    - HSS brake model {0: none, 1: simple, 3: user-defined from routine UserHSSBr, 4: user-defined from Simulink/Labview, 5: user-defined from Bladed-style DLL} (switch)
     9999.9   THSSBrDp     - Time to initiate deployment of the HSS brake (s)
     9999.9   HSSBrDT      - Time for HSS-brake to reach full deployment once initiated (sec) [used only when HSSBrMode=1]
     9999.9   HSSBrTqF     - Fully deployed HSS-brake torque (N-m)
---------------------- NACELLE-YAW CONTROL -------------------------------------
          0   YCMode       - Yaw control mode {0: none, 3: user-defined from routine UserYawCont, 4: user-defined from Simulink/Labview, 5: user-defined from Bladed-style DLL} (switch)
          0   TYCOn        - Time to enable active yaw control (s) [unused when YCMode=0]
          0   YawNeut      - Neutral yaw position--yaw spring force is zero at this yaw (degrees)
          0   YawSpr       - Nacelle-yaw spring constant (N-m/rad)
          0   YawDamp      - Nacelle-yaw damping constant (N-m/(rad/s))
     9999.9   TYawManS     - Time to start override yaw maneuver and end standard yaw control (s)
          2   YawManRat    - Yaw maneuver rate (in absolute value) (deg/s)
          0   NacYawF      - Final yaw angle for override yaw maneuvers (degrees)
---------------------- TUNED MASS DAMPER ---------------------------------------
False         CompNTMD     - Compute nacelle tuned mass damper {true/false} (flag)
"unused"      NTMDfile     - Name of the file for nacelle tuned mass damper (quoted string) [unused when CompNTMD is false]
False         CompTTMD     - Compute tower tuned mass damper {true/false} (flag)
"unused"      TTMDfile     - Name of the file for tower tuned mass damper (quoted string) [unused when CompTTMD is false]
---------------------- BLADED INTERFACE ---------------------------------------- [used only with Bladed Interface]
"unused"      DLL_FileName - Name/location of the dynamic library {.dll [Windows] or .so [Linux]} in the Bladed-DLL format (-) [used only with Bladed Interface]
"DISCON.IN"    DLL_InFile   - Name of input file sent to the DLL (-) [used only with Bladed Interface]
"DISCON"      DLL_ProcName - Name of procedure in DLL to be called (-) [case sensitive; used only with DLL Interface]
"default"     DLL_DT       - Communication interval for dynamic library (s) (or "default") [used only with Bladed Interface]
false         DLL_Ramp     - Whether a linear ramp should be used between DLL_DT time steps [introduces time shift when true] (flag) [used only with Bladed Interface]
     9999.9   BPCutoff     - Cuttoff frequency for low-pass filter on blade pitch from DLL (Hz) [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]
          0   GenSpd_MinOM - Record 17: Minimum generator speed (rpm) [used only with Bladed Interface]
          0   GenSpd_MaxOM - Record 18: Optimal mode maximum speed (rpm) [used only with Bladed Interface]
          0   GenSpd_Dem   - Record 19: Demanded generator speed above rated (rpm) [used only with Bladed Interface]
          0   GenTrq_Dem   - Record 22: Demanded generator torque above rated (Nm) [used only with Bladed Interface]
          0   GenPwr_Dem   - Record 13: Demanded power (W) [used only with Bladed Interface]
---------------------- BLADED INTERFACE TORQUE-SPEED LOOK-UP TABLE -------------
          0   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)
---------------------- OUTPUT --------------------------------------------------
True          SumPrint     - Print summary data to <RootName>.sum (flag) (currently unused)
          1   OutFile      - Switch to determine where output will be placed: {1: in module output file only; 2: in glue code output file only; 3: both} (currently unused)
True          TabDelim     - Use tab delimiters in text tabular output file? (flag) (currently unused)
"ES10.3E2"    OutFmt       - Format used for text tabular output (except time).  Resulting field should be 10 characters. (quoted string) (currently unused)
          0   TStart       - Time to begin tabular output (s) (currently unused)
              OutList      - The next line(s) contains a list of output parameters.  See OutListParameters.xlsx for a listing of available output channels, (-)
"BlPitchC1"      -Blade 1 pitch angle command
"BlPitchC2"      -Blade 2 pitch angle command
"BlPitchC3"      -Blade 3 pitch angle command
"GenTq"             -Electrical generator torque
"GenPwr"      -Electrical generator power
END of input file (the word "END" must appear in the first 3 columns of this last OutList line)
---------------------------------------------------------------------------------------

Yours sincerely,
Hooman Asgari

Dear Hooman,

Yes. You can include the effect of the linearized torque controller in your linearized model by enabling VSContrl = 1 (for the simple variable-speed controller) or VSContrl = 0 with GenModel = 1 (simple induction generator model) or 2 (Thevenin-equivalent induction generator model) and setting the appropriate torque inputs for the selected model in the ServoDyn input file.

Best regards,

Dear Dr.Jonkman,
Thanks for your reply.
A clarification: َAs my aim is to design a controller for the system, I don’t want to see any of the internal controllers of the system enabled, Instead, what I must see is the operation of the open loop system itself.
I’d already set 1 = VSContrl and 1 = GenModel. Now I’ve changed VSControl = 0 and did the linearization process again. Then, based on MBC_Avg matrices, I constructed a system in Matlab. Below figures show the step responses of this system:

Obviously these results can’t represent an open-loop wind turbine system, because, as what these figures are showing, a step change of 1 radian has no steady-state effect neither on the rotor speed nor the power. The story is the same for the horizontal wind speed and other inputs. So it is clear that this system is somehow being controlled to tune the parameters and this is not what I’m looking for.
In an open loop system, a step change in the horizontal wind speed logically increases the rotor speed. How can I achieve this model?

Sincerely Yours,
Hooman Asgari

Dear Hooman,

I’m a bit surprised that a step response input to the linear model results in the rotor speed returning to the optimization point. I would not expect the simple induction generator (SIG) model that you’ve selected to do this, because while the SIG introduces a damping, it does not introduce a stiffness. What happens if you fix the generator torque by setting VSContrl = 1, VS_RtTq to the desired (fixed) generator torque, and VS_RtGnSp = VS_Rgn2K = VS_SlPc = 0.0001 (or small nonzero value)?

Best regards,

Dear Dr.Jonkman,

By

Do you mean the below settings?

     0.0001   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.0001   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]
     0.0001   VS_SlPc      - Rated generator slip percentage in Region 2 1/2 for simple variable-speed generator control (%) [used only when VSContrl=1]

I applied the above changes and simulated the “.fst” file again using command prompt. After passing the resulting “.lin” files to Matlab using GetMats_f8.m, applied the “mbc.m” to the resulting matrices and finally constructed the system based on the MBC_Avg marices. However, Step response of this system was unusual too!

Sincerely Yours,
Hooman Asgari

Dear Hooman,

Yes, your variable-speed-torque-control section of the ServoDyn input file looks correct.

You eliminated the generator-azimuth state from your linearized model (as discussed e.g. in the following forum topic: FAST linearization V7), correct?

Best regards,