Linearization Problem in OpenFast V2.3

Provide feedback, request enhancements, and get help with wind-turbine computer-aided engineering tools.

Moderators: Bonnie.Jonkman, Jason.Jonkman

Mohamed.Fekry
Posts: 27
Joined: Mon Dec 25, 2017 5:47 am
Organization: Zagazig University
Location: Egypt

Linearization Problem in OpenFast V2.3

Postby Mohamed.Fekry » Fri Jun 26, 2020 5:57 am

I want to linearize NREL 5MW, particularly 5MW_ITIBarge_DLL_WTurb_WavesIrr, with enabling only two DOF, PtfmPDOF and GenDOF, in order to design state feedback controller to regulate the generator speed using collective pitch control as a single input. This means the state A matrix should be 4x4 and the input gain B matrix should be 4x1. However, I found the dimension of B matrix does not agree with what I expected. Its dimension is 4x9. Moreover, the corresponding gain regarding the collective pitch control input is zero.
Is there any way to select the input for the linearization or solve this problem ?

The Input file is shown below:

Code: Select all

------- OpenFAST example INPUT FILE -------------------------------------------
FAST Certification Test #22: NREL 5.0 MW Baseline Wind Turbine with ITI Barge Configuration, for use in offshore analysis
---------------------- SIMULATION CONTROL --------------------------------------
True          Echo            - Echo input data to <RootName>.ech (flag)
"FATAL"       AbortLevel      - Error level when simulation should abort (string) {"WARNING", "SEVERE", "FATAL"}
         100   TMax            - Total run time (s)
     0.0125   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}
          0   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; 2=External Platform MCKF}
          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 ---------------------------------------------
"NRELOffshrBsline5MW_ITIBarge4_ElastoDyn.dat"    EDFile          - Name of file containing ElastoDyn input parameters (quoted string)
"../5MW_Baseline/NRELOffshrBsline5MW_BeamDyn.dat"    BDBldFile(1)    - Name of file containing BeamDyn input parameters for blade 1 (quoted string)
"../5MW_Baseline/NRELOffshrBsline5MW_BeamDyn.dat"    BDBldFile(2)    - Name of file containing BeamDyn input parameters for blade 2 (quoted string)
"../5MW_Baseline/NRELOffshrBsline5MW_BeamDyn.dat"    BDBldFile(3)    - Name of file containing BeamDyn input parameters for blade 3 (quoted string)
"../5MW_Baseline/NRELOffshrBsline5MW_InflowWind_Steady8mps.dat"    InflowFile      - Name of file containing inflow wind input parameters (quoted string)
"NRELOffshrBsline5MW_AeroDyn_Equil_noTwr.dat"    AeroFile        - Name of file containing aerodynamic input parameters (quoted string)
"NRELOffshrBsline5MW_ITIBarge4_ServoDyn.dat"    ServoFile       - Name of file containing control and electrical-drive input parameters (quoted string)
"NRELOffshrBsline5MW_ITIBarge4_HydroDyn.dat"    HydroFile       - Name of file containing hydrodynamic input parameters (quoted string)
"unused"      SubFile         - Name of file containing sub-structural input parameters (quoted string)
"NRELOffshrBsline5MW_ITIBarge4_MAP.dat"    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)
         10   SttsTime        - Amount of time between screen status messages (s)
       1000   ChkptTime       - Amount of time between creating checkpoint files for potential restart (s)
     0.0125   DT_Out          - Time step for tabular output (s) (or "default")
          0   TStart          - Time to begin tabular output (s)
          0   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)
          2   NLinTimes       - Number of times to linearize (-) [>=1] [unused if Linearize=False]
         1,         60       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]
          0   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]


The Elastodyn file is shown below:

Code: Select all

------- ELASTODYN v1.03.* 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)
---------------------- SIMULATION CONTROL --------------------------------------
False         Echo        - Echo input data to "<RootName>.ech" (flag)
          3   Method      - Integration method: {1: RK4, 2: AB4, or 3: ABM4} (-)
"default"     DT          - Integration time step (s)
---------------------- ENVIRONMENTAL CONDITION ---------------------------------
    9.80665   Gravity     - Gravitational acceleration (m/s^2)
---------------------- DEGREES OF FREEDOM --------------------------------------
False         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]
False         DrTrDOF     - Drivetrain rotational-flexibility DOF (flag)
True         GenDOF      - Generator DOF (flag)
False         YawDOF      - Yaw DOF (flag)
False         TwFADOF1    - First fore-aft tower bending-mode DOF (flag)
False         TwFADOF2    - Second fore-aft tower bending-mode DOF (flag)
False         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)
True         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)
          1.03   BlPitch(1)  - Blade 1 initial pitch (degrees)
          1.03   BlPitch(2)  - Blade 2 initial pitch (degrees)
          1.03   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)
       12.1   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)
          2   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 (-)
         63   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)
       -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   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)
    -5.0191   OverHang    - Distance from yaw axis to rotor apex [3 blades] or teeter pin [2 blades] (meters)
      1.912   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)
        1.9   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.75   NacCMzn     - Vertical distance from the tower-top to the nacelle CM (meters)
   -3.09528   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)
    2.23336   NcIMUzn     - Vertical distance from the tower-top to the nacelle IMU (meters)
    1.96256   Twr2Shft    - Vertical distance from the tower-top to the rotor shaft (meters)
       87.6   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.281768   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]
      56780   HubMass     - Hub mass (kg)
     115926   HubIner     - Hub inertia about rotor axis [3 blades] or teeter axis [2 blades] (kg m^2)
    534.116   GenIner     - Generator inertia about HSS (kg m^2)
     240000   NacMass     - Nacelle mass (kg)
2.60789E+06   NacYIner    - Nacelle inertia about yaw axis (kg m^2)
          0   YawBrMass   - Yaw bearing mass (kg)
  5.452E+06   PtfmMass    - Platform mass (kg)
  7.269E+08   PtfmRIner   - Platform inertia for roll tilt rotation about the platform CM (kg m^2)
  7.269E+08   PtfmPIner   - Platform inertia for pitch tilt rotation about the platform CM (kg m^2)
 1.4539E+09   PtfmYIner   - Platform inertia for yaw rotation about the platform CM (kg m^2)
---------------------- BLADE ---------------------------------------------------
         17   BldNodes    - Number of blade nodes (per blade) used for analysis (-)
"../5MW_Baseline/NRELOffshrBsline5MW_Blade.dat"    BldFile(1)  - Name of file containing properties for blade 1 (quoted string)
"../5MW_Baseline/NRELOffshrBsline5MW_Blade.dat"    BldFile(2)  - Name of file containing properties for blade 2 (quoted string)
"../5MW_Baseline/NRELOffshrBsline5MW_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 (%)
         97   GBRatio     - Gearbox ratio (-)
8.67637E+08   DTTorSpr    - Drivetrain torsional spring (N-m/rad)
  6.215E+06   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 ---------------------------------------------------
         20   TwrNodes    - Number of tower nodes used for analysis (-)
"NRELOffshrBsline5MW_ITIBarge4_ElastoDyn_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)
         30   TStart      - Time to begin tabular output (s) (currently unused)
          1   DecFact     - Decimation factor for tabular output {1: output every time step} (-) (currently unused)
          1   NTwGages    - Number of tower nodes that have strain gages for output [0 to 9] (-)
         10   TwrGagNd    - List of tower nodes that have strain gages [1 to TwrNodes] (-) [unused if NTwGages=0]
          1   NBlGages    - Number of blade nodes that have strain gages for output [0 to 9] (-)
          9   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, (-)
"BldPitch1"               - Pitch angles for blades 1, 2, and 3
"BldPitch2"               - Pitch angles for blades 1, 2, and 3
"BldPitch3"               - Pitch angles for blades 1, 2, and 3
"Azimuth"                 - Blade 1 azimuth angle
"RotSpeed"                - Low-speed shaft and high-speed shaft speeds
"GenSpeed"                - Low-speed shaft and high-speed shaft speeds
"GenAccel"        - Angular acceleration of the high-speed shaft and generator
"PtfmSurge"               - Platform translational surge, sway, and heave displacements
"PtfmSway"                - Platform translational surge, sway, and heave displacements
"PtfmHeave"               - Platform translational surge, sway, and heave displacements
"PtfmRoll"                - Platform rotational roll, pitch and yaw displacements
"PtfmPitch"               - Platform rotational roll, pitch and yaw displacements
"PtfmYaw"                 - Platform rotational roll, pitch and yaw displacements
"PtfmRVxi"        - Platform roll tilt angular (rotational) velocity
"PtfmRVyi"               - Platform pitch tilt angular (rotational) velocity
"PtfmRVzi"        - Platform yaw angular (rotational) velocity   
"PtfmTAxt"                - Platform translation accelerations (absolute) in the tower-base coordinate system
"PtfmTAyt"                - Platform translation accelerations (absolute) in the tower-base coordinate system
"PtfmTAzt"                - Platform translation accelerations (absolute) in the tower-base coordinate system
END of input file (the word "END" must appear in the first 3 columns of this last OutList line)
---------------------------------------------------------------------------------------


The servodyn file is shown below:

Code: Select all

------- SERVODYN v1.05.* 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)
---------------------- SIMULATION CONTROL --------------------------------------
False         Echo         - Echo input data to <RootName>.ech (flag)
"default"     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)
          0   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]
          0   BlPitchF(1)  - Blade 1 final pitch for pitch maneuvers (degrees)
          0   BlPitchF(2)  - Blade 2 final pitch for pitch maneuvers (degrees)
          0   BlPitchF(3)  - Blade 3 final pitch for pitch maneuvers (degrees) [unused for 2 blades]
---------------------- GENERATOR AND TORQUE CONTROL ----------------------------
          0   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)
          2   GenModel     - Generator model {1: simple, 2: Thevenin, 3: user-defined from routine UserGen} (switch) [used only when VSContrl=0]
       94.4   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 --------------------
     9999.9   VS_RtGnSp    - Rated generator speed for simple variable-speed generator control (HSS side) (rpm) [used only when VSContrl=1]
     9999.9   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]
     9999.9   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]
---------------------- 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]
---------------------- 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)
        0.6   HSSBrDT      - Time for HSS-brake to reach full deployment once initiated (sec) [used only when HSSBrMode=1]
    28116.2   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)
     9999.9   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)
9.02832E+09   YawSpr       - Nacelle-yaw spring constant (N-m/rad)
  1.916E+07   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]
"../5MW_Baseline/ServoData/DISCON_ITIBarge.dll"    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)
         30   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, (-)
"GenPwr"                  - Electrical generator power and torque
"GenTq"                   - Electrical generator power and torque
END of input file (the word "END" must appear in the first 3 columns of this last OutList line)
---------------------------------------------------------------------------------------


The linearization output file is shown below:

Code: Select all

Linearized model: Predictions were generated on 26-Jun-2020 at 20:46:04 using OpenFAST, compiled as a 64-bit application using single precision at commit v2.3.0-dirty
 linked with  NWTC Subroutine Library; ElastoDyn; InflowWind; ServoDyn

Description from the FAST input file: FAST Certification Test #22: NREL 5.0 MW Baseline Wind Turbine with ITI Barge Configuration, for use in offshore analysis

Simulation information:
   Simulation time:                     1.0000 s
   Rotor Speed:                         1.2671 rad/s
   Azimuth:                             1.2671 rad
   Number of continuous states:         4
   Number of discrete states:           0
   Number of constraint states:         0
   Number of inputs:                    9
   Number of outputs:                   0
   Jacobians included in this file?    No

Order of continuous states:
   Row/Column Operating Point                     Rotating Frame? Description
   ---------- ---------------                     --------------- -----------
          1    3.648E-02                                 F        ED Platform pitch tilt rotation DOF (internal DOF index = DOF_P), rad
          2    5.979E+00                                 F        ED Variable speed generator DOF (internal DOF index = DOF_GeAz), rad
          3    3.171E-03                                 F        ED First time derivative of Platform pitch tilt rotation DOF (internal DOF index = DOF_P), rad/s
          4    1.267E+00                                 F        ED First time derivative of Variable speed generator DOF (internal DOF index = DOF_GeAz), rad/s

Order of continuous state derivatives:
   Row/Column Operating Point                     Rotating Frame? Description
   ---------- ---------------                     --------------- -----------
          1    3.171E-03                                 F        First time derivative of ED Platform pitch tilt rotation DOF (internal DOF index = DOF_P), rad/s
          2    1.267E+00                                 F        First time derivative of ED Variable speed generator DOF (internal DOF index = DOF_GeAz), rad/s
          3    3.275E-03                                 F        First time derivative of ED First time derivative of Platform pitch tilt rotation DOF (internal DOF index = DOF_P), rad/s/s
          4   -1.568E-05                                 F        First time derivative of ED First time derivative of Variable speed generator DOF (internal DOF index = DOF_GeAz), rad/s/s

Order of inputs:
     Column   Operating Point                     Rotating Frame? Description
   ---------- ---------------                     --------------- -----------
          1    1.800E+01                                 F        IfW Extended input: horizontal wind speed (steady/uniform wind), m/s
          2    0.000E+00                                 F        IfW Extended input: vertical power-law shear exponent, -
          3    0.000E+00                                 F        IfW Extended input: propagation direction, rad
          4    1.798E-02                                 T        ED Blade 1 pitch command, rad
          5    1.798E-02                                 T        ED Blade 2 pitch command, rad
          6    1.798E-02                                 T        ED Blade 3 pitch command, rad
          7    0.000E+00                                 F        ED Yaw moment, Nm
          8    7.060E+00                                 F        ED Generator torque, Nm
          9    1.798E-02                                 F        ED Extended input: collective blade-pitch command, rad


Linearized state matrices:

A: 4 x 4
    0.000E+00  0.000E+00  1.000E+00  0.000E+00
    0.000E+00  0.000E+00  0.000E+00  1.000E+00
    9.850E-02 -2.129E-14  6.212E-18  1.825E-15
   -1.032E-07 -2.434E-07  6.081E-08  1.377E-05
B: 4 x 9
    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
    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
    0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00 -2.938E-16  0.000E+00
    0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00  0.000E+00 -2.220E-06  0.000E+00

Jason.Jonkman
Posts: 5071
Joined: Thu Nov 03, 2005 4:38 pm
Location: Boulder, CO
Contact:

Re: Linearization Problem in OpenFast V2.3

Postby Jason.Jonkman » Fri Jun 26, 2020 7:22 am

Dear Mohamed,

In OpenFAST v2.3, there are 9 standard linearization inputs...the same ones documented in the FAST v8 ReadMe file: https://drive.google.com/file/d/17LDwMn ... sp=sharing. Input 9 is collective blade pitch.

But I see a few problems with your approach:
  • You have not found a steady-state condition before linearization. The linearized model is only valid for small perturbations around the operating point. But without first finding a steady-state condition, the operating point (and thus linearized model) is not likely what you want.
  • You've enabled the platform-pitch DOF, but you have no platform-pitch reaction because you've disabled HydroDyn and MAP++. The full-system linearization functionality for floating offshore wind turbines was recently introduced into OpenFAST-dev (newer than OpenFAST v2.3) with the merging of pull request #350: https://github.com/OpenFAST/openfast/pull/350.
  • You want to design a pitch controller, but you have not enabled aerodynamics in your linearized solution.
  • You've selected to use Thevenin-equivalent induction generator (GenModel = 2), but you have not set appropriate values for this model.
Best regards,
Jason Jonkman, Ph.D.
Senior Engineer | National Wind Technology Center (NWTC)

National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway | Golden, CO 80401
+1 (303) 384 – 7026 | Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

Mohamed.Fekry
Posts: 27
Joined: Mon Dec 25, 2017 5:47 am
Organization: Zagazig University
Location: Egypt

Re: Linearization Problem in OpenFast V2.3

Postby Mohamed.Fekry » Fri Jun 26, 2020 5:35 pm

Dear Dr Jason

Thank you for your valuable comments. However, I have disabled most of the modules because Openfast was initiating errors when they are enabled with linearization.

Regarding the OpenFAST-dev, I tried to run it without linearization functionality on several test cases, but it generates an error as follows after running Hydrodyn. Should I modify the input files?

Case 1:

Code: Select all

Running ServoDyn.
Running ServoDyn Interface for Bladed Controllers.
Running HydroDyn.

FAST_InitializeAll:HydroDyn_Init:HydroDynInput_GetInput:Invalid numerical input for file
".\NRELOffshrBsline5MW_MIT_NREL_TLP_HydroDyn.dat" occurred while trying to read RdtnTMax.

 FAST encountered an error during module initialization.
 Simulation error level: FATAL ERROR

 Aborting OpenFAST.


Case 2:

Code: Select all

Running ServoDyn.
Running ServoDyn Interface for Bladed Controllers.
Running HydroDyn.

FAST_InitializeAll:HydroDyn_Init:HydroDynInput_GetInput:Invalid numerical input for file
".\NRELOffshrBsline5MW_OC3Hywind_HydroDyn.dat" occurred while trying to read SumQTF.

 FAST encountered an error during module initialization.
 Simulation error level: FATAL ERROR

 Aborting OpenFAST.


Case 3:

Code: Select all

Running ServoDyn.
Running ServoDyn Interface for Bladed Controllers.
Running HydroDyn.

FAST_InitializeAll:HydroDyn_Init:HydroDynInput_GetInput:Invalid numerical input for file
".\NRELOffshrBsline5MW_ITIBarge4_HydroDyn.dat" occurred while trying to read SumQTF.

 FAST encountered an error during module initialization.
 Simulation error level: FATAL ERROR

 Aborting OpenFAST.

Jason.Jonkman
Posts: 5071
Joined: Thu Nov 03, 2005 4:38 pm
Location: Boulder, CO
Contact:

Re: Linearization Problem in OpenFast V2.3

Postby Jason.Jonkman » Fri Jun 26, 2020 5:48 pm

Dear Mohamed,

What is meant by cases 1-3?

When running OpenFAST-dev, I assume you mean that you compiled the source code from OpenFAST-dev. Are you also using the dev branch of the r-test, which contains input files with updated HydroDyn formatting?

Best regards,
Jason Jonkman, Ph.D.
Senior Engineer | National Wind Technology Center (NWTC)

National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway | Golden, CO 80401
+1 (303) 384 – 7026 | Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

Mohamed.Fekry
Posts: 27
Joined: Mon Dec 25, 2017 5:47 am
Organization: Zagazig University
Location: Egypt

Re: Linearization Problem in OpenFast V2.3

Postby Mohamed.Fekry » Sat Jun 27, 2020 1:23 am

Dear Dr Jason

Thank you for that clarification. It works well.


Return to “Computer-Aided Engineering Software Tools”

Who is online

Users browsing this forum: No registered users and 1 guest