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: 5428
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: 5428
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.

Rui.Hao
Posts: 25
Joined: Wed Aug 05, 2020 8:15 am
Organization: self
Location: U.S. state

Re: Linearization Problem in OpenFast V2.3

Postby Rui.Hao » Sat Sep 26, 2020 7:37 am

Dear one

When I run the NREL 5.0 MW Baseline Wind Turbine with OC3 Hywind Configuration in Matlab,
i have this error below、

Invalid numerical input for file
"..\..\CertTest\TEST024.fst" occurred while trying to read NLinTimes.

I set the switch of Linearization analysis to FASLE , why it still read NLinTimes and has an error ?
what can i do?

Best regards!

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

Re: Linearization Problem in OpenFast V2.3

Postby Jason.Jonkman » Mon Sep 28, 2020 10:46 am

Dear Rui,

I would guess you have a formatting error in your OpenFAST primary (*.fst) input file. As with an error in the input file processing, I would recommend using the Echo option to debug.

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

Rui.Hao
Posts: 25
Joined: Wed Aug 05, 2020 8:15 am
Organization: self
Location: U.S. state

Re: Linearization Problem in OpenFast V2.3

Postby Rui.Hao » Wed Sep 30, 2020 4:51 am

Dear Jason
I have used all the methods I can think of, but the problem still exists.
:cry: :cry:

Code: Select all

------- OpenFAST example INPUT FILE -------------------------------------------
FAST Certification Test #24: NREL 5.0 MW Baseline Wind Turbine with OC3 Hywind Configuration, for use in offshore analysis
---------------------- SIMULATION CONTROL --------------------------------------
False       Echo            - Echo input data to <RootName>.ech (flag)
"FATAL"       AbortLevel      - Error level when simulation should abort (string) {"WARNING", "SEVERE", "FATAL"}
         60   TMax            - Total run time (s)
     0.0125   DT              - Recommended module time step (s)
          1   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}
        1.5   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}
          1   CompHydro       - Compute hydrodynamic loads (switch) {0=None; 1=HydroDyn}
          0   CompSub         - Compute sub-structural dynamics (switch) {0=None; 1=SubDyn; 2=External Platform MCKF}
          1   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_OC3Hywind_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_12mps.dat"    InflowFile      - Name of file containing inflow wind input parameters (quoted string)
"NRELOffshrBsline5MW_OC3Hywind_AeroDyn15.dat"    AeroFile        - Name of file containing aerodynamic input parameters (quoted string)
"NRELOffshrBsline5MW_OC3Hywind_ServoDyn.dat"    ServoFile       - Name of file containing control and electrical-drive input parameters (quoted string)
"NRELOffshrBsline5MW_OC3Hywind_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_OC3Hywind_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)
          1   SttsTime        - Amount of time between screen status messages (s)
      99999   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)
          1   OutFileFmt      - Format for tabular (time-marching) output file (switch) {0: uncompressed binary [<RootName>.outb], 1: text file [<RootName>.out], 2: binary file [<RootName>.outb], 3: both 1 and 2}
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 -------------------------------------------
False        Linearize       - Linearization analysis (flag)
False         CalcSteady      - Calculate a steady-state periodic operating point before linearization? [unused if Linearize=False] (flag)
          3   TrimCase        - Controller parameter to be trimmed {1:yaw; 2:torque; 3:pitch} [used only if CalcSteady=True] (-)
      0.001   TrimTol         - Tolerance for the rotational speed convergence [used only if CalcSteady=True] (-)
       0.01   TrimGain        - Proportional gain for the rotational speed error (>0) [used only if CalcSteady=True] (rad/(rad/s) for yaw or pitch; Nm/(rad/s) for torque)
          0   Twr_Kdmp        - Damping factor for the tower [used only if CalcSteady=True] (N/(m/s))
          0   Bld_Kdmp        - Damping factor for the blades [used only if CalcSteady=True] (N/(m/s))
        2  NLinTimes       - Number of times to linearize (-) [>=1] [unused if Linearize=False]
        30,         60    LinTimes        - List of times at which to linearize (s) [1 to NLinTimes] [used only when Linearize=True and CalcSteady=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; 3=mode shapes}
          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 or WrVTK=3]




Thx for you help.

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

Re: Linearization Problem in OpenFast V2.3

Postby Jason.Jonkman » Wed Sep 30, 2020 6:57 am

Dear Rui.Hao,

Which version of OpenFAST are you using? This looks like an OpenFAST v2.4 primary input file, but the forum topic title refers to OpenFAST v2.3. What does your echo file show?

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

Rui.Hao
Posts: 25
Joined: Wed Aug 05, 2020 8:15 am
Organization: self
Location: U.S. state

Re: Linearization Problem in OpenFast V2.3

Postby Rui.Hao » Wed Oct 07, 2020 1:38 am

Dear Jason

Sorry to recover you so late.

The version of openfast is v2.3 . But the input file comes from my classmate .They are not from the same way.
Where can i get the The latest version of OpenFast and its primary input file?

These days i try to build a model in Simulink with FAST V8, but it has an error as

There is no valid value of phi for these operating conditions!
Vx = -1.4498, Vy = 58.505, rlocal = 11.765, theta = 0.22712

I checked other posts and i want to use OpenFast to sovle the problem.Is my idea correct?

Best regards

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

Re: Linearization Problem in OpenFast V2.3

Postby Jason.Jonkman » Wed Oct 07, 2020 6:12 am

Dear Rui.Hao,

Yes, upgrading from FAST v8.16 to OpenFAST will solve errors regarding "no valid value of phi".

The master branch of the OpenFAST repository (https://github.com/OpenFAST/openfast) is tagged as release v2.4 and the corresponding input files for OpenFAST v2.4 are available in the master branch of the r-test repository (https://github.com/OpenFAST/r-test).

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

Srinivasa.Ramisetti
Posts: 29
Joined: Fri May 08, 2020 2:12 am
Organization: CSIR-SERC
Location: India

Re: Linearisation Problem in OpenFast V2.3

Postby Srinivasa.Ramisetti » Fri Nov 13, 2020 4:12 am

Dear Jason,

I am tying to run linearisation with ElastoDyn, ServoDyn, Hydrodyn and MAP modules for the IEA 15MW UMaine VolturnUS-S semi-submersibe floating platform with the OpenFast V2.3 code from the developer branch on GitHub. All the simulations (for different rotor speeds) are aborting with the segmentation fault errors (see below) once the linearisation starts. I see the simulation is running without any issue when I switch off the linearisation. I found the simulations also run find when I disable the platform DOFs with linearisation enable to True. It's not very clear why the simulation is aborting with segmentation fault only when the linearisation and platform DOFs are enabled. Please see attached the files I used to run the linearisation runs. Can you please help me fix this issue?

------------ Output from OpenFast -------------

OpenFAST-v2.3.0-699-gf2517ec6
Compile Info:
- Compiler: GCC version 7.1.0
- Architecture: 64 bit
- Precision: double
- Date: Aug 19 2020
- Time: 09:23:56
Execution Info:
- Date: 11/13/2020
- Time: 16:27:31+0530

OpenFAST input file heading:
IEA 15 MW offshore reference model on UMaine VolturnUS-S semi-submersible floating platform

Running ElastoDyn.
Nodal outputs section of ElastoDyn input file not found or improperly formatted.
Running ServoDyn.
Running HydroDyn.
Setting WaveTMax to 0.0 since WaveMod = 0
WARNING: The random number generator in use differs from the original code provided by NREL.
This pRNG uses 33 seeds instead of the 2 in the input file.
Reading in WAMIT output with root name "./HydroData/IEA-15-240-RWT-UMaineSemi".
Computing radiation impulse response functions and wave diffraction forces.

MAP++ environment properties (set externally)...
Gravity constant [m/s^2] : 9.81
Sea density [kg/m^3] : 1025.00
Water depth [m] : 200.00
Vessel reference position [m] : 0.00 , 0.00 , 0.00
Time: 0 of 312 seconds.
Performing linearization 1 at simulation time 300 s. (RotSpeed=5 rpm, BldPitch1=3 deg)

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

Backtrace for this error:
#0 0x7fc41beca2ef in ???
#1 0x145efc0 in ???
#2 0x12df46a in ???
#3 0x1287e5f in ???
#4 0x8adef0 in ???
#5 0x57d2e8 in ???
#6 0x5246e1 in ???
#7 0x4162fe in ???
#8 0x7fc41beb6444 in ???
#9 0x41632e in ???
#10 0xffffffffffffffff in ???
Segmentation fault (core dumped)

--------

Thank you,
Attachments
IEA-15-240-RWT.tar.gz
baseline files
(499.55 KiB) Downloaded 23 times
test.tar.gz
test files
(684.07 KiB) Downloaded 20 times

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

Re: Linearization Problem in OpenFast V2.3

Postby Jason.Jonkman » Fri Nov 13, 2020 6:22 am

Dear Srinivasa,

I haven't looked at your files, but I would first recommend upgrading to OpenFAST v2.4 (master branch) and try running again. The linearization functionality for floating offshore wind turbines was not released until OpenFAST v2.4 and I want to ensure that you have not found a bug that has already been resolved.

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

Srinivasa.Ramisetti
Posts: 29
Joined: Fri May 08, 2020 2:12 am
Organization: CSIR-SERC
Location: India

Re: Linearization Problem in OpenFast V2.3

Postby Srinivasa.Ramisetti » Fri Nov 13, 2020 9:07 am

Dear Jason,

I tried running the linearisation with v2.4.0 (master branch) as you suggested but I still get the same error.

Regards,

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

Re: Linearization Problem in OpenFast V2.3

Postby Jason.Jonkman » Fri Nov 13, 2020 12:05 pm

Dear Srinivasa,

I've looked briefly at your model and don't see any obvious problems, but I do not have time to debug it myself.

When the platform DOFs are disabled, HydroDyn and MoorDyn would have not have any effect on the system response. That doesn't explain why you are getting a segmentation fault, but does perhaps point to the problem being in the coupling between HydroDyn and ElastoDyn or between MoorDyn and ElastoDyn.

To be sure the problem isn't related to you'd compiled OpenFAST, I'd be curious if you can run the r-test sample that tests the linearization of the NREL 5-MW turbine atop the OC4-DeepWind semi without error--see: https://github.com/OpenFAST/r-test/tree ... emi_Linear. Does this test run without error? If so, I'd be curious what modeling options (rather than differences in geometry, mass, stiffness, or damping) are set differently between your two models.

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


Return to “Computer-Aided Engineering Software Tools”

Who is online

Users browsing this forum: No registered users and 1 guest