From b9240f2f6108e443ce303a78ef1ff3d71800b504 Mon Sep 17 00:00:00 2001 From: Nikhar Abbas Date: Thu, 13 Feb 2020 23:25:34 -0700 Subject: [PATCH] Include flap max pitch in inputs --- Examples/DISCON.IN | 8 ++++++++ Examples/NREL5MW_example.yaml | 14 ++++++++++---- Tune_Cases/BAR.yaml | 28 ++++++++++++++-------------- Tune_Cases/DISCON.IN | 7 ++++--- Tune_Cases/DTU10MW.yaml | 5 ++++- Tune_Cases/IEA15MW.yaml | 24 +++++++++++++++--------- Tune_Cases/NREL5MW.yaml | 14 ++++++++++---- 7 files changed, 65 insertions(+), 35 deletions(-) diff --git a/Examples/DISCON.IN b/Examples/DISCON.IN index 2fb0c172f..caa18e971 100644 --- a/Examples/DISCON.IN +++ b/Examples/DISCON.IN @@ -16,6 +16,7 @@ 1 ! PS_Mode - Pitch saturation mode {0: no pitch saturation, 1: implement pitch saturation} 0 ! SD_Mode - Shutdown mode {0: no shutdown procedure, 1: pitch to max pitch at shutdown} 0 ! Fl_Mode - Floating specific feedback mode {0: no nacelle velocity feedback, 1: nacelle velocity feedback} +0 ! Flp_Mode - Flap control mode {0: no flap control, 1: steady state flap angle, 2: Proportional flap control} !------- FILTERS ---------------------------------------------------------- 1.57080 ! F_LPFCornerFreq - Corner frequency (-3dB point) in the low-pass filters, [rad/s] @@ -24,6 +25,7 @@ 0.00000 0.25000 ! F_NotchBetaNumDen - Two notch damping values (numerator and denominator, resp) - determines the width and depth of the notch, [-] 0.628320000000 ! F_SSCornerFreq - Corner frequency (-3dB point) in the first order low pass filter for the setpoint smoother, [rad/s]. 0.23250 1.00000 ! F_FlCornerFreq - Corner frequency and damping in the second order low pass filter of the tower-top fore-aft motion for floating feedback control [rad/s, -]. +0.87200 1.00000 ! F_FlpCornerFreq - Corner frequency and damping in the second order low pass filter of the blade root bending moment for flap control [rad/s, -]. !------- BLADE PITCH CONTROL ---------------------------------------------- 27 ! PC_GS_n - Amount of gain-scheduling table entries @@ -112,3 +114,9 @@ !------- Floating ------------------------------------------- 0.000000000000 ! Fl_Kp - Nacelle velocity proportional feedback gain [s] + +!------- FLAP ACTUATION ----------------------------------------------------- +0.000000000000 ! Flp_Angle - Initial or steady state flap angle [rad] +0.00000000e+00 ! Flp_Kp - Blade root bending moment proportional gain for flap control [s] +0.00000000e+00 ! Flp_Ki - Flap displacement integral gain for flap control [s] +0.000000000000 ! Flp_MaxPit - Maximum (and minimum) flap pitch angle [rad] \ No newline at end of file diff --git a/Examples/NREL5MW_example.yaml b/Examples/NREL5MW_example.yaml index ffdd99c2b..0d0b714ef 100644 --- a/Examples/NREL5MW_example.yaml +++ b/Examples/NREL5MW_example.yaml @@ -19,10 +19,11 @@ turbine_params: max_torque_rate: 1500000. # Maximum torque rate [Nm/s], {~1/4 VS_RtTq/s} rated_power: 5000000. # Rated Power [W] bld_edgewise_freq: 6.2831853 # Blade edgewise first natural frequency [rad/s] + bld_flapwise_freq: 0.0 # Blade flapwise first natural frequency [rad/s] # Optional TSR_operational: # None # Desired below-rated operational tip speed ratio (Cp-maximizing TSR is used if not defined) # - should be defined if Fl_Mode = 1 - twr_freq: 0.4499 # Tower natural frequency [rad/s] + twr_freq: 0.4499 # Tower natural frequency [rad/s] ptfm_freq: 0.2325 # Platform natural frequency [rad/s] #------------------------------- CONTROLLER PARAMETERS ---------------------------------- controller_params: @@ -35,15 +36,19 @@ controller_params: PC_ControlMode: 1 # Blade pitch control mode {0: No pitch, fix to fine pitch, 1: active PI blade pitch control} Y_ControlMode: 0 # Yaw control mode {0: no yaw control, 1: yaw rate control, 2: yaw-by-IPC} SS_Mode: 1 # Setpoint Smoother mode {0: no setpoint smoothing, 1: introduce setpoint smoothing} - WE_Mode: 0 # Wind speed estimator mode {0: One-second low pass filtered hub height wind speed, 1: Immersion and Invariance Estimator (Ortega et al.)} + WE_Mode: 2 # Wind speed estimator mode {0: One-second low pass filtered hub height wind speed, 1: Immersion and Invariance Estimator (Ortega et al.)} PS_Mode: 1 # Pitch saturation mode {0: no pitch saturation, 1: peak shaving, 2: Cp-maximizing pitch saturation, 3: peak shaving and Cp-maximizing pitch saturation} SD_Mode: 0 # Shutdown mode {0: no shutdown procedure, 1: pitch to max pitch at shutdown} Fl_Mode: 0 # Floating specific feedback mode {0: no nacelle velocity feedback, 1: nacelle velocity feedback} + Flp_Mode: 0 # Flap control mode {0: no flap control, 1: steady state flap angle, 2: Proportional flap control} # Controller parameters zeta_pc: 0.7 # Pitch controller desired damping ratio [-] omega_pc: 0.5 # Pitch controller desired natural frequency [rad/s] zeta_vs: 0.7 # Torque controller desired damping ratio [-] omega_vs: 0.2 # Torque controller desired natural frequency [rad/s] + # Only needed if Flp_Mode > 0 + zeta_flp: # None # Flap controller desired damping ratio [-] + omega_flp: # None # Flap controller desired natural frequency [rad/s] # Optional - these can be defined, but do not need to be max_pitch: # None # Maximum pitch angle [rad], {default = 90 degrees} min_pitch: # None # Minimum pitch angle [rad], {default = 0 degrees} @@ -52,5 +57,6 @@ controller_params: ss_vsgain: # None # Torque controller setpoint smoother gain bias percentage [%, <= 1 ], {default = 100%} ss_pcgain: # None # Pitch controller setpoint smoother gain bias percentage [%, <= 1 ], {default = 0.1%} ps_percent: 0.80 # Percent peak shaving [%, <= 1 ], {default = 80%} - sd_maxpit: 0.4363 # Maximum blade pitch angle to initiate shutdown [rad], {default = bld pitch at v_max} - sd_cornerfreq: # None # Cutoff Frequency for first order low-pass filter for blade pitch angle [rad/s], {default = 0.41888 ~ time constant of 15s} \ No newline at end of file + sd_maxpit: 0.4363 # Maximum blade pitch angle to initiate shutdown [rad], {default = bld pitch at v_max} + sd_cornerfreq: # None # Cutoff Frequency for first order low-pass filter for blade pitch angle [rad/s], {default = 0.41888 ~ time constant of 15s} + flp_maxpit: # None # Maximum (and minimum) flap pitch angle [rad] \ No newline at end of file diff --git a/Tune_Cases/BAR.yaml b/Tune_Cases/BAR.yaml index 0d739a1ea..c90935842 100644 --- a/Tune_Cases/BAR.yaml +++ b/Tune_Cases/BAR.yaml @@ -19,7 +19,7 @@ turbine_params: max_torque_rate: 4500000. # Maximum torque rate [Nm/s], {~1/4 VS_RtTq/s} rated_power: 5000000. # Rated Power [W] bld_edgewise_freq: 3.27082 # Blade edgewise first natural frequency [rad/s] - bld_flapwise_freq: 2.61601 # Blade flapwise first natural frequency [rad/s] + bld_flapwise_freq: 2.61601 # Blade flapwise first natural frequency [rad/s] # Optional TSR_operational: # None # Desired below-rated operational tip speed ratio (Cp-maximizing TSR is used if not defined) # - should be defined if Fl_Mode = 1 @@ -43,20 +43,20 @@ controller_params: Flp_Mode: 0 # Flap control mode {0: no flap control, 1: steady state flap angle, 2: Proportional flap control} # Controller parameters zeta_pc: 1.2 # Pitch controller desired damping ratio [-] - omega_pc: 0.1 # Pitch controller desired natural frequency [rad/s] + omega_pc: 0.1 # Pitch controller desired natural frequency [rad/s] zeta_vs: 0.5 # Torque controller desired damping ratio [-] omega_vs: 0.1 # Torque controller desired natural frequency [rad/s] # Only needed if Flp_Mode > 0 - zeta_flp: # None 0.5 # Flap controller desired damping ratio [-] - omega_flp: # None 0.1 # Flap controller desired natural frequency [rad/s] + zeta_flp: # None # Flap controller desired damping ratio [-] + omega_flp: # None # Flap controller desired natural frequency [rad/s] # Optional - these can be defined, but do not need to be - max_pitch: # None # Maximum pitch angle [rad], {default = 90 degrees} - min_pitch: # None # Minimum pitch angle [rad], {default = 0 degrees} - vs_minspd: # None # Minimum rotor speed [rad/s], {default = 0 rad/s} - ss_cornerfreq: # None # First order low-pass filter cornering frequency for setpoint smoother [rad/s] - ss_vsgain: # None # Torque controller setpoint smoother gain bias percentage [%, <= 1 ], {default = 100%} - ss_pcgain: # None # Pitch controller setpoint smoother gain bias percentage [%, <= 1 ], {default = 0.1%} - ps_percent: # None # Percent peak shaving [%, <= 1 ], {default = 80%} - sd_maxpit: # None # Maximum blade pitch angle to initiate shutdown [rad], {default = bld pitch at v_max} - sd_cornerfreq: # None # Cutoff Frequency for first order low-pass filter for blade pitch angle [rad/s], {default = 0.41888 ~ time constant of 15s} - flp_angle: # None # Initial or steady state flap angle [rad] \ No newline at end of file + max_pitch: # None # Maximum pitch angle [rad], {default = 90 degrees} + min_pitch: # None # Minimum pitch angle [rad], {default = 0 degrees} + vs_minspd: # None # Minimum rotor speed [rad/s], {default = 0 rad/s} + ss_cornerfreq: # None # First order low-pass filter cornering frequency for setpoint smoother [rad/s] + ss_vsgain: # None # Torque controller setpoint smoother gain bias percentage [%, <= 1 ], {default = 100%} + ss_pcgain: # None # Pitch controller setpoint smoother gain bias percentage [%, <= 1 ], {default = 0.1%} + ps_percent: # None # Percent peak shaving [%, <= 1 ], {default = 80%} + sd_maxpit: # None # Maximum blade pitch angle to initiate shutdown [rad], {default = bld pitch at v_max} + sd_cornerfreq: # None # Cutoff Frequency for first order low-pass filter for blade pitch angle [rad/s], {default = 0.41888 ~ time constant of 15s} + flp_maxpit: # None # Maximum (and minimum) flap pitch angle [rad] \ No newline at end of file diff --git a/Tune_Cases/DISCON.IN b/Tune_Cases/DISCON.IN index ec2ca57a5..95822460a 100644 --- a/Tune_Cases/DISCON.IN +++ b/Tune_Cases/DISCON.IN @@ -1,5 +1,5 @@ ! Controller parameter input file for the RotorSE_FAST_BAR_2010n_noRe wind turbine -! - File written using ROSCO Controller tuning logic on 02/11/20 +! - File written using ROSCO Controller tuning logic on 02/13/20 !------- DEBUG ------------------------------------------------------------ 1 ! LoggingLevel - {0: write no debug files, 1: write standard output .dbg-file, 2: write standard output .dbg-file and complete avrSWAP-array .dbg2-file} @@ -25,7 +25,7 @@ 0.00000 0.25000 ! F_NotchBetaNumDen - Two notch damping values (numerator and denominator, resp) - determines the width and depth of the notch, [-] 0.628320000000 ! F_SSCornerFreq - Corner frequency (-3dB point) in the first order low pass filter for the setpoint smoother, [rad/s]. 0.00000 1.00000 ! F_FlCornerFreq - Corner frequency and damping in the second order low pass filter of the tower-top fore-aft motion for floating feedback control [rad/s, -]. -1.30801 0.70000 ! F_FlpCornerFreq - Corner frequency and damping in the second order low pass filter of the blade root bending moment for flap control [rad/s, -]. +0.87200 1.00000 ! F_FlpCornerFreq - Corner frequency and damping in the second order low pass filter of the blade root bending moment for flap control [rad/s, -]. !------- BLADE PITCH CONTROL ---------------------------------------------- 33 ! PC_GS_n - Amount of gain-scheduling table entries @@ -118,4 +118,5 @@ !------- FLAP ACTUATION ----------------------------------------------------- 0.000000000000 ! Flp_Angle - Initial or steady state flap angle [rad] 0.00000000e+00 ! Flp_Kp - Blade root bending moment proportional gain for flap control [s] -0.00000000e+00 ! Flp_Ki - Flap displacement integral gain for flap control [s] \ No newline at end of file +0.00000000e+00 ! Flp_Ki - Flap displacement integral gain for flap control [s] +0.000000000000 ! Flp_MaxPit - Maximum (and minimum) flap pitch angle [rad] \ No newline at end of file diff --git a/Tune_Cases/DTU10MW.yaml b/Tune_Cases/DTU10MW.yaml index de9409f03..20655c1dd 100644 --- a/Tune_Cases/DTU10MW.yaml +++ b/Tune_Cases/DTU10MW.yaml @@ -19,6 +19,7 @@ turbine_params: max_torque_rate: 5000000. # Maximum torque rate [Nm/s], {~1/4 VS_RtTq/s} rated_power: 10000000. # Rated Power [W] bld_edgewise_freq: 4.519 # Blade edgewise first natural frequency [rad/s] + bld_flapwise_freq: 0.0 # Blade flapwise first natural frequency [rad/s] # Optional TSR_operational: # None # Desired below-rated operational tip speed ratio (Cp-maximizing TSR is used if not defined) # - should be defined if Fl_Mode = 1 @@ -39,6 +40,7 @@ controller_params: PS_Mode: 0 # Pitch saturation mode {0: no pitch saturation, 1: peak shaving, 2: Cp-maximizing pitch saturation, 3: peak shaving and Cp-maximizing pitch saturation} SD_Mode: 0 # Shutdown mode {0: no shutdown procedure, 1: pitch to max pitch at shutdown} Fl_Mode: 0 # Floating specific feedback mode {0: no nacelle velocity feedback, 1: nacelle velocity feedback} + Flp_Mode: 0 # Flap control mode {0: no flap control, 1: steady state flap angle, 2: Proportional flap control} # Optional - should be defined if Fl_Mode = 1 twr_freq: # None # Tower natural frequency [rad/s] ptfm_freq: # None # Platform natural frequency [rad/s] @@ -56,4 +58,5 @@ controller_params: ss_pcgain: # None # Pitch controller setpoint smoother gain bias percentage [%, <= 1 ], {default = 0.1%} ps_percent: # None # Percent peak shaving [%, <= 1 ], {default = 80%} sd_maxpit: # None # Maximum blade pitch angle to initiate shutdown [rad], {default = bld pitch at v_max} - sd_cornerfreq: # None # Cutoff Frequency for first order low-pass filter for blade pitch angle [rad/s], {default = 0.41888 ~ time constant of 15s} \ No newline at end of file + sd_cornerfreq: # None # Cutoff Frequency for first order low-pass filter for blade pitch angle [rad/s], {default = 0.41888 ~ time constant of 15s} + flp_maxpit: # None # Maximum (and minimum) flap pitch angle [rad] \ No newline at end of file diff --git a/Tune_Cases/IEA15MW.yaml b/Tune_Cases/IEA15MW.yaml index a304bd3f4..a946042ef 100644 --- a/Tune_Cases/IEA15MW.yaml +++ b/Tune_Cases/IEA15MW.yaml @@ -19,8 +19,9 @@ turbine_params: max_torque_rate: 4500000. # Maximum torque rate [Nm/s], {~1/4 VS_RtTq/s} rated_power: 15000000. # Rated Power [W] bld_edgewise_freq: 3.4164 # Blade edgewise first natural frequency [rad/s] + bld_flapwise_freq: 0.0 # Blade flapwise first natural frequency [rad/s] # Optional - TSR_operational: 9.0 # Desired below-rated operational tip speed ratio (Cp-maximizing TSR is used if not defined) + TSR_operational: 9.0 # Desired below-rated operational tip speed ratio (Cp-maximizing TSR is used if not defined) # - should be defined if Fl_Mode = 1 twr_freq: # None # Tower natural frequency [rad/s] ptfm_freq: # None # Platform natural frequency [rad/s] @@ -39,18 +40,23 @@ controller_params: PS_Mode: 2 # Pitch saturation mode {0: no pitch saturation, 1: peak shaving, 2: Cp-maximizing pitch saturation, 3: peak shaving and Cp-maximizing pitch saturation} SD_Mode: 0 # Shutdown mode {0: no shutdown procedure, 1: pitch to max pitch at shutdown} Fl_Mode: 0 # Floating specific feedback mode {0: no nacelle velocity feedback, 1: nacelle velocity feedback} + Flp_Mode: 0 # Flap control mode {0: no flap control, 1: steady state flap angle, 2: Proportional flap control} # Controller parameters zeta_pc: 1.0 # Pitch controller desired damping ratio [-] omega_pc: 0.12 # Pitch controller desired natural frequency [rad/s] zeta_vs: 1.2 # Torque controller desired damping ratio [-] omega_vs: 0.08 # Torque controller desired natural frequency [rad/s] + # Only needed if Flp_Mode > 0 + zeta_flp: # None # Flap controller desired damping ratio [-] + omega_flp: # None # Flap controller desired natural frequency [rad/s] # Optional - these can be defined, but do not need to be - max_pitch: # None # Maximum pitch angle [rad], {default = 90 degrees} - min_pitch: 0.0 # Minimum pitch angle [rad], {default = 0 degrees} + max_pitch: # None # Maximum pitch angle [rad], {default = 90 degrees} + min_pitch: 0.0 # Minimum pitch angle [rad], {default = 0 degrees} vs_minspd: 0.5235 # Minimum rotor speed [rad/s], {default = 0 rad/s} - ss_cornerfreq: # None # First order low-pass filter cornering frequency for setpoint smoother [rad/s] - ss_vsgain: # None # Torque controller setpoint smoother gain bias percentage [%, <= 1 ], {default = 100%} - ss_pcgain: # None # Pitch controller setpoint smoother gain bias percentage [%, <= 1 ], {default = 0.1%} - ps_percent: # None # Percent peak shaving [%, <= 1 ], {default = 80%} - sd_maxpit: # None # Maximum blade pitch angle to initiate shutdown [rad], {default = bld pitch at v_max} - sd_cornerfreq: # None # Cutoff Frequency for first order low-pass filter for blade pitch angle [rad/s], {default = 0.41888 ~ time constant of 15s} \ No newline at end of file + ss_cornerfreq: # None # First order low-pass filter cornering frequency for setpoint smoother [rad/s] + ss_vsgain: # None # Torque controller setpoint smoother gain bias percentage [%, <= 1 ], {default = 100%} + ss_pcgain: # None # Pitch controller setpoint smoother gain bias percentage [%, <= 1 ], {default = 0.1%} + ps_percent: # None # Percent peak shaving [%, <= 1 ], {default = 80%} + sd_maxpit: # None # Maximum blade pitch angle to initiate shutdown [rad], {default = bld pitch at v_max} + sd_cornerfreq: # None # Cutoff Frequency for first order low-pass filter for blade pitch angle [rad/s], {default = 0.41888 ~ time constant of 15s} + flp_maxpit: # None # Maximum (and minimum) flap pitch angle [rad] \ No newline at end of file diff --git a/Tune_Cases/NREL5MW.yaml b/Tune_Cases/NREL5MW.yaml index ba5279019..eb81da9de 100644 --- a/Tune_Cases/NREL5MW.yaml +++ b/Tune_Cases/NREL5MW.yaml @@ -19,10 +19,11 @@ turbine_params: max_torque_rate: 1500000. # Maximum torque rate [Nm/s], {~1/4 VS_RtTq/s} rated_power: 5000000. # Rated Power [W] bld_edgewise_freq: 6.2831853 # Blade edgewise first natural frequency [rad/s] + bld_flapwise_freq: 0.0 # Blade flapwise first natural frequency [rad/s] # Optional TSR_operational: # None # Desired below-rated operational tip speed ratio (Cp-maximizing TSR is used if not defined) # - should be defined if Fl_Mode = 1 - twr_freq: 0.4499 # Tower natural frequency [rad/s] + twr_freq: 0.4499 # Tower natural frequency [rad/s] ptfm_freq: 0.2325 # Platform natural frequency [rad/s] #------------------------------- CONTROLLER PARAMETERS ---------------------------------- controller_params: @@ -38,12 +39,16 @@ controller_params: WE_Mode: 2 # Wind speed estimator mode {0: One-second low pass filtered hub height wind speed, 1: Immersion and Invariance Estimator (Ortega et al.)} PS_Mode: 1 # Pitch saturation mode {0: no pitch saturation, 1: peak shaving, 2: Cp-maximizing pitch saturation, 3: peak shaving and Cp-maximizing pitch saturation} SD_Mode: 0 # Shutdown mode {0: no shutdown procedure, 1: pitch to max pitch at shutdown} - Fl_Mode: 1 # Floating specific feedback mode {0: no nacelle velocity feedback, 1: nacelle velocity feedback} + Fl_Mode: 0 # Floating specific feedback mode {0: no nacelle velocity feedback, 1: nacelle velocity feedback} + Flp_Mode: 0 # Flap control mode {0: no flap control, 1: steady state flap angle, 2: Proportional flap control} # Controller parameters zeta_pc: 0.7 # Pitch controller desired damping ratio [-] omega_pc: 0.5 # Pitch controller desired natural frequency [rad/s] zeta_vs: 0.7 # Torque controller desired damping ratio [-] omega_vs: 0.2 # Torque controller desired natural frequency [rad/s] + # Only needed if Flp_Mode > 0 + zeta_flp: # None # Flap controller desired damping ratio [-] + omega_flp: # None # Flap controller desired natural frequency [rad/s] # Optional - these can be defined, but do not need to be max_pitch: # None # Maximum pitch angle [rad], {default = 90 degrees} min_pitch: # None # Minimum pitch angle [rad], {default = 0 degrees} @@ -52,5 +57,6 @@ controller_params: ss_vsgain: # None # Torque controller setpoint smoother gain bias percentage [%, <= 1 ], {default = 100%} ss_pcgain: # None # Pitch controller setpoint smoother gain bias percentage [%, <= 1 ], {default = 0.1%} ps_percent: 0.80 # Percent peak shaving [%, <= 1 ], {default = 80%} - sd_maxpit: 0.4363 # Maximum blade pitch angle to initiate shutdown [rad], {default = bld pitch at v_max} - sd_cornerfreq: # None # Cutoff Frequency for first order low-pass filter for blade pitch angle [rad/s], {default = 0.41888 ~ time constant of 15s} \ No newline at end of file + sd_maxpit: 0.4363 # Maximum blade pitch angle to initiate shutdown [rad], {default = bld pitch at v_max} + sd_cornerfreq: # None # Cutoff Frequency for first order low-pass filter for blade pitch angle [rad/s], {default = 0.41888 ~ time constant of 15s} + flp_maxpit: # None # Maximum (and minimum) flap pitch angle [rad] \ No newline at end of file