# Presentation: 946548

## FAST Linearization

- Jason Jonkman
- Wind Turbine Design Codes Workshop
- National Wind Technology Center
- September 13-15, 2005

**FAST Linearization**

## References

## FAST Modes of Operation

## Outline of Presentation

- Why Linearize a FAST Model?
- Periodic Steady-State Solution
- Model Linearization
- Post Processing
- Future Work

## Why Linearize a FAST Model?

- Use as an alternative to ***SymDyn***
- Develop state matrices of a wind turbine “plant” to aid in controls design
- Determine full system mode shapes and frequencies

*1**st** Tower Fore-Aft Full System Mode (in ADAMS)*

## Periodic Steady State Solution

***Steady-State Operating Point (op)***: A set of values for the DOFs (including time derivatives), inputs, and disturbances that characterize a steady condition of a system
- For wind turbines, the op is periodic with the rotor azimuth orientation as driven by:
- aerodynamics—wind shear, yaw error, tower shadow
- gravity—shaft tilt, appreciable tower deflection
- The op is found before linearization in FAST:
- important since the linearized model is only accurate for values of the DOFs and inputs that are close to the op values

## Periodic Steady State Sol’n (cont)

- To compute an op, the program inputs must necessarily produce a time invariant model (other than azimuth dependence)
- Checks to ensure time invariant condition (FAST will abort if these conditions are ***not*** met):
- YCMode, PCMode = 0
- GenTiStr, GenTiStp = True
- TimeGenOn = 0.0
- TimeGenOf, THSSBrDp, TiDynBrk, 		          TTpBrDpi, TYawManS, TPitManSi
- TBDeplSpi >> RotSpeed
- if CompAero = True, StallMod = STEADY
- if CompAero = True, InfModel = EQUIL

- > TMax

## Periodic Steady State Sol’n (cont)

- Static equilibrium, constant speed, and trim solutions available:
***trim*** is the process of finding a control input setting that will yield a desired rotor speed, while all other inputs are constant
- trim solutions can be obtained for nacelle yaw, generator torque (Region 2), or collective blade pitch (Region 3)
- static equilibrium:	GenDOF = False, RotSpeed = 0.0
- constant speed:	GenDOF = False, RotSpeed > 0.0
- trim solutions:	GenDOF = True, RotSpeed = desired speed

- ---------------------- PERIODIC STEADY STATE SOLUTION --------------------------
- True        CalcStdy    - Calculate periodic SS condition {False:linearize about ICs} (flag)
-    3        TrimCase    - Trim case {1:yaw, 2:torque, 3:pitch} (switch) [used only when ...
-    0.0001   DispTol     - Tolerance for displacements (rad  ) [used only when CalcStdy=True]
-    0.0010   VelTol      - Tolerance for velocities    (rad/s) [used only when CalcStdy=True]

*Portion of the Linearization Input File*

## Periodic Steady State Sol’n (cont)

## Model Linearization

- Once the op is found, FAST linearizes the complete nonlinear aeroelastic model about the op:
- the linearized model is periodic, just like the op
- NAzimStep is number of equally-spaced azimuth steps in the linearized model
- if you desire to have the time-invariant (azimuth averaged) model, it is better to set NAzimStep large and average the resulting matrices than to set NAzimStep = 1

- ---------------------- MODEL LINEARIZATION -------------------------------------
-    4        NAzimStep   - Number of equally-spaced azimuth steps in linearized model (-)
-    1        MdlOrder    - Order of output linearized model {1:1st, 2:2nd} (switch)
- ---------------------- INPUTS AND DISTURBANCES ---------------------------------
-    2        NInputs     - Number of control inputs [0 (none) or 1 to 4+NumBl] (-)
-   3,4       CntrlInpt   - List   of control inputs [1 to NInputs] {1:yaw angle, 2:yaw rate, ...
-    1        NDisturbs   - Number of wind disturbances [0 (none) or 1 to 7] (-)
-    1        Disturbnc   - List   of input wind disturbances [1 to NDisturbs] {1:HH wind ...

*Portion of the Linearization Input File*

## Model Linearization (cont)

- Nonlinear aeroelastic EoM:

- Numerical linearization:

- 1st order model:

- 2nd order model:

- (the linearized model is periodic, just like the op)

- (matrix sizes determined by enabled DOFs)

## Model Linearization (cont)

- Control input vector _*u*_ contains:
- nacelle yaw angle and/or rate
- generator torque
- rotor collective and/or individual blade pitch
- Wind input disturbance vector _*u*_*d* contains:
- horizontal hub-height wind speed
- horizontal wind direction
- vertical wind speed
- horizontal wind shear
- vertical power law wind shear
- linear vertical wind shear
- horizontal hub-height wind gust
- Output measurement vector _*y*_ contains *any* of the over 200 output parameters available in FAST

*Select from list*

*Select from list*

## Post Processing

- This linearized model file was generated by FAST (v6.00c-jmj, 15-Apr-2005) on 15-Apr-2005 at 11:24:16.
- The aerodynamic calculations were made by AeroDyn (12.57, 29-Sept-2004).
-  FAST model of a 1.5 MW 3-bladed upwind baseline turbine.
- Some Useful Information:
-    Type of steady state solution found                Trimmed collective blade pitch (TrimCase = 3)
-    Period of steady state solution              (sec)    2.93212E+00
-    Iterations needed to find steady state solution      34
-    Displacement 2-norm of steady state solution (rad)    9.01316E-05
-    Velocity 2-norm of steady state solution   (rad/s)    4.84390E-05
-    Number of equally-speced azimuth steps, NAzimStep     4
-    Order of linearized model, MdlOrder                   1
-    Number of active (enabled) DOFs                       4 (   8 states)
-    Number of control inputs, NInputs                     2
-    Number of input wind disturbances, NDisturbs          1
-    Number of output measurements                         5
- Order of States in Linearized State Matrices:
-    Row/column  1 = Variable speed generator DOF (internal DOF index = DOF_GeAz)
-    Row/column  2 = 1st flapwise bending-mode DOF of blade 1 (internal DOF index = DOF_BF(1,1))
-    Row/column  3 = 1st flapwise bending-mode DOF of blade 2 (internal DOF index = DOF_BF(2,1))
-    Row/column  4 = 1st flapwise bending-mode DOF of blade 3 (internal DOF index = DOF_BF(3,1))
-    Row/column  5 to  8 = First derivatives of row/column  1 to  4.
- Order of Control Inputs in Linearized State Matrices:
-    Column 1 = electrical generator torque       (N•m)    7.95744E+03 op
-    Column 2 = rotor collective blade pitch      (rad)    3.41938E-01 op
- Order of Input Wind Disturbances in Linearized State Matrices:
-    Column 1 = horizontal hub-height wind speed  (m/s)    1.80000E+01 op
- Order of Output Measurements in Linearized State Matrices:
-    Row   1 = GenTq     (kN•m)
-    Row   2 = GenPwr    (kW)
-    Row   3 = BldPitch1 (deg)
-    Row   4 = OoPDefl1  (m)
-    Row   5 = IPDefl1   (m)

*Portion of the Linearization Output File*

## Post Processing (cont)

- Linearized State Matrices:
- ----------------------------- Azimuth =   0.00 deg -----------------------------
- op State   | op         | A - State                                                                               | B - Input             | Bd - Dstrb
- Derivativs | States     | Matrix                                                                                  | Matrix                | Matrix
-  2.143E+00 |  4.712E+00 |  0.000E+00  0.000E+00  0.000E+00  0.000E+00  1.000E+00  0.000E+00  0.000E+00  0.000E+00 |  0.000E+00  0.000E+00 |  0.000E+00
-  2.222E-01 |  4.928E-01 |  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00  1.000E+00  0.000E+00  0.000E+00 |  0.000E+00  0.000E+00 |  0.000E+00
- -3.294E-02 |  6.283E-01 |  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00  1.000E+00  0.000E+00 |  0.000E+00  0.000E+00 |  0.000E+00
- -1.825E-01 |  4.442E-01 |  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00  1.000E+00 |  0.000E+00  0.000E+00 |  0.000E+00
-  8.973E-05 |  2.143E+00 |  3.515E-05  1.380E-01  1.373E-01  1.374E-01  1.087E-01  8.897E-03  9.439E-03  6.190E-03 | -3.027E-05  1.867E+00 | -7.305E-03
-  8.147E-03 |  2.222E-01 |  6.668E+00 -7.072E+01 -3.559E+00 -3.562E+00 -7.968E+01 -8.571E+00 -2.437E-01 -1.607E-01 |  7.851E-04 -8.277E+02 |  1.282E+01
- -4.493E-01 | -3.294E-02 | -2.788E+00 -3.578E+00 -7.014E+01 -3.563E+00 -8.379E+01 -2.273E-01 -8.909E+00 -1.590E-01 |  7.847E-04 -8.522E+02 |  1.308E+01
-  3.781E-01 | -1.825E-01 | -4.118E+00 -3.579E+00 -3.560E+00 -7.020E+01 -6.411E+01 -2.279E-01 -2.445E-01 -6.834E+00 |  7.847E-04 -7.148E+02 |  1.124E+01
- op Output  | This colmn | C - Output                                                                              | D - Trnsmt            | Dd - DTsmt
- Measurmnts | is blank   | Matrix                                                                                  | Matrix                | Matrix
-  7.957E+00 |            |  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00 |  1.000E-03  0.000E+00 |  0.000E+00
-  1.425E+03 |            |  0.000E+00  0.000E+00  0.000E+00  0.000E+00  6.650E+02  0.000E+00  0.000E+00  0.000E+00 |  1.791E-01  0.000E+00 |  0.000E+00
-  1.959E+01 |            |  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00 |  0.000E+00  5.730E+01 |  0.000E+00
-  4.459E-01 |            | -2.134E-06  9.048E-01  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00 |  0.000E+00 -2.092E-01 |  0.000E+00
- -2.091E-01 |            | -4.269E-07 -4.243E-01  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00 |  0.000E+00 -4.459E-01 |  0.000E+00
- [lines deleted]
- ----------------------------- Azimuth = 270.00 deg -----------------------------
- op State   | op         | A - State                                                                               | B - Input             | Bd - Dstrb
- Derivativs | States     | Matrix                                                                                  | Matrix                | Matrix
-  2.143E+00 |  3.142E+00 |  0.000E+00  0.000E+00  0.000E+00  0.000E+00  1.000E+00  0.000E+00  0.000E+00  0.000E+00 |  0.000E+00  0.000E+00 |  0.000E+00
- -6.944E-02 |  4.126E-01 |  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00  1.000E+00  0.000E+00  0.000E+00 |  0.000E+00  0.000E+00 |  0.000E+00
-  2.108E-01 |  5.462E-01 |  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00  1.000E+00  0.000E+00 |  0.000E+00  0.000E+00 |  0.000E+00
- -1.409E-01 |  6.073E-01 |  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00  1.000E+00 |  0.000E+00  0.000E+00 |  0.000E+00
-  2.973E-05 |  2.143E+00 |  8.486E-04  1.374E-01  1.379E-01  1.373E-01  1.021E-01  6.150E-03  9.160E-03  6.822E-03 | -3.027E-05  1.795E+00 | -4.572E-03
-  5.245E-01 | -6.944E-02 | -3.978E-01 -7.029E+01 -3.577E+00 -3.560E+00 -6.344E+01 -6.790E+00 -2.369E-01 -1.769E-01 |  7.851E-04 -7.094E+02 |  1.113E+01
- -1.025E-01 |  2.108E-01 |  5.913E+00 -3.563E+00 -7.069E+01 -3.559E+00 -8.454E+01 -1.609E-01 -8.656E+00 -1.756E-01 |  7.852E-04 -8.561E+02 |  1.272E+01
- -4.959E-01 | -1.409E-01 | -6.108E+00 -3.565E+00 -3.577E+00 -7.011E+01 -7.481E+01 -1.555E-01 -2.372E-01 -7.050E+00 |  7.845E-04 -7.755E+02 |  1.121E+01
- op Output  | This colmn | C - Output                                                                              | D - Trnsmt            | Dd - DTsmt
- Measurmnts | is blank   | Matrix                                                                                  | Matrix                | Matrix
-  7.957E+00 |            |  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00 |  1.000E-03  0.000E+00 |  0.000E+00
-  1.425E+03 |            |  0.000E+00  0.000E+00  0.000E+00  0.000E+00  6.650E+02  0.000E+00  0.000E+00  0.000E+00 |  1.791E-01  0.000E+00 |  0.000E+00
-  1.959E+01 |            |  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00 |  0.000E+00  5.730E+01 |  0.000E+00
-  3.734E-01 |            | -4.269E-07  9.048E-01  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00 |  0.000E+00 -1.751E-01 |  0.000E+00
- -1.751E-01 |            |  1.921E-06 -4.243E-01  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00 |  0.000E+00 -3.734E-01 |  0.000E+00

*Portion of the Linearization Output File (cont)*

## Post Processing (cont)

- A ***MATLAB******®*** script file is distributed with FAST:
- reads in periodic state matrices from linearization output file
- computes 1st order model from 2nd, if necessary
- computes azimuth-averaged matrices
- performs an eigenanalysis on state matrix *A*, resulting in natural frequencies (eigenvalues) and mode shapes (eigenvectors)
- used as a basis for more complex usage of linearization output (i.e., state-space controls development)

## Future Work

- Multi-blade Coordinate (MBC) system transformation:
- yield capability of producing *Coleman Diagrams*
- currently, the asymmetric blade frequencies are averaged out

**—** 1st Tower Fore-Aft
**—** 1st Asymmetric Blade Flap
**—** 1st Collective Blade Flap

## Slide 17