Skip to content

Commit

Permalink
Remove sine pitch excitation for induction capabilities
Browse files Browse the repository at this point in the history
  • Loading branch information
nikhar-abbas committed Feb 14, 2020
1 parent 5920136 commit 9107e26
Show file tree
Hide file tree
Showing 6 changed files with 1 addition and 25 deletions.
3 changes: 0 additions & 3 deletions parameter_files/Bar_flaps/DISCON.IN
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,6 @@
79.85313000000 ! PC_RefSpd - Desired (reference) HSS speed for pitch controller, [rad/s].
0.000000000000 ! PC_FinePit - Record 5: Below-rated pitch angle set-point, [rad]
0.017450000000 ! PC_Switch - Angle above lowest minimum pitch angle for switch, [rad]
0 ! Z_EnableSine - Enable/disable sine pitch excitation, used to validate for dynamic induction control, will be removed later, [-]
0.000000000000 ! Z_PitchAmplitude - Amplitude of sine pitch excitation, [rad]
0.000000000000 ! Z_PitchFrequency - Frequency of sine pitch excitation, [rad/s]

!------- INDIVIDUAL PITCH CONTROL -----------------------------------------
0.0 ! IPC_IntSat - Integrator saturation (maximum signal amplitude contribution to pitch from IPC), [rad]
Expand Down
3 changes: 0 additions & 3 deletions parameter_files/DTU10MW/DISCON.IN
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,6 @@
50.26500000000 ! PC_RefSpd - Desired (reference) HSS speed for pitch controller, [rad/s].
0.000000000000 ! PC_FinePit - Record 5: Below-rated pitch angle set-point, [rad]
0.017450000000 ! PC_Switch - Angle above lowest minimum pitch angle for switch, [rad]
0 ! Z_EnableSine - Enable/disable sine pitch excitation, used to validate for dynamic induction control, will be removed later, [-]
0.000000000000 ! Z_PitchAmplitude - Amplitude of sine pitch excitation, [rad]
0.000000000000 ! Z_PitchFrequency - Frequency of sine pitch excitation, [rad/s]

!------- INDIVIDUAL PITCH CONTROL -----------------------------------------
0.0 ! IPC_IntSat - Integrator saturation (maximum signal amplitude contribution to pitch from IPC), [rad]
Expand Down
3 changes: 0 additions & 3 deletions parameter_files/NREL5MW/DISCON.IN
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,6 @@
122.6055600000 ! PC_RefSpd - Desired (reference) HSS speed for pitch controller, [rad/s].
0.000000000000 ! PC_FinePit - Record 5: Below-rated pitch angle set-point, [rad]
0.017450000000 ! PC_Switch - Angle above lowest minimum pitch angle for switch, [rad]
0 ! Z_EnableSine - Enable/disable sine pitch excitation, used to validate for dynamic induction control, will be removed later, [-]
0.000000000000 ! Z_PitchAmplitude - Amplitude of sine pitch excitation, [rad]
0.000000000000 ! Z_PitchFrequency - Frequency of sine pitch excitation, [rad/s]

!------- INDIVIDUAL PITCH CONTROL -----------------------------------------
0.0 ! IPC_IntSat - Integrator saturation (maximum signal amplitude contribution to pitch from IPC), [rad]
Expand Down
9 changes: 1 addition & 8 deletions src/Controllers.f90
Original file line number Diff line number Diff line change
Expand Up @@ -85,13 +85,6 @@ SUBROUTINE PitchControl(avrSWAP, CntrPar, LocalVar, objInst)
LocalVar%FA_PitCom = 0.0 ! THIS IS AN ARRAY!!
ENDIF

! Sine excitation on pitch
IF (CntrPar%Z_EnableSine == 1) THEN
LocalVar%PC_SineExcitation = CntrPar%Z_PitchAmplitude*sin(CntrPar%Z_PitchFrequency*LocalVar%Time)
ELSE
LocalVar%PC_SineExcitation = 0
END IF

! Peak Shaving
IF (CntrPar%PS_Mode == 1) THEN
LocalVar%PC_MinPit = PitchSaturation(LocalVar,CntrPar,objInst)
Expand All @@ -116,7 +109,7 @@ SUBROUTINE PitchControl(avrSWAP, CntrPar, LocalVar, objInst)

! Combine and saturate all individual pitch commands:
DO K = 1,LocalVar%NumBl ! Loop through all blades, add IPC contribution and limit pitch rate
LocalVar%PitCom(K) = LocalVar%PC_PitComT + LocalVar%IPC_PitComF(K) + LocalVar%FA_PitCom(K) + LocalVar%PC_SineExcitation
LocalVar%PitCom(K) = LocalVar%PC_PitComT + LocalVar%IPC_PitComF(K) + LocalVar%FA_PitCom(K)
LocalVar%PitCom(K) = saturate(LocalVar%PitCom(K), LocalVar%PC_MinPit, CntrPar%PC_MaxPit) ! Saturate the overall command using the pitch angle limits
LocalVar%PitCom(K) = ratelimit(LocalVar%PitCom(K), LocalVar%BlPitch(K), CntrPar%PC_MinRat, CntrPar%PC_MaxRat, LocalVar%DT) ! Saturate the overall command of blade K using the pitch rate limit
END DO
Expand Down
4 changes: 0 additions & 4 deletions src/ROSCO_Types.f90
Original file line number Diff line number Diff line change
Expand Up @@ -108,10 +108,6 @@ MODULE ROSCO_Types
REAL(4) :: Y_omegaLPSlow ! Corner frequency slow low pass filter, 1/60 [Hz]
REAL(4) :: Y_Rate ! Yaw rate [rad/s]

INTEGER(4) :: Z_EnableSine ! Enable/disable sine pitch excitation
REAL(4) :: Z_PitchAmplitude ! Amplitude of sine pitch excitation
REAL(4) :: Z_PitchFrequency ! Frequency of sine pitch excitation

INTEGER(4) :: PS_Mode ! Pitch saturation mode {0: no peak shaving, 1: implement pitch saturation}
INTEGER(4) :: PS_BldPitchMin_N ! Number of values in minimum blade pitch lookup table (should equal number of values in PS_WindSpeeds and PS_BldPitchMin)
REAL(4), DIMENSION(:), ALLOCATABLE :: PS_WindSpeeds ! Wind speeds corresponding to minimum blade pitch angles [m/s]
Expand Down
4 changes: 0 additions & 4 deletions src/ReadSetParameters.f90
Original file line number Diff line number Diff line change
Expand Up @@ -101,10 +101,6 @@ SUBROUTINE ReadControlParameterFileSub(CntrPar, accINFILE, accINFILE_size)!, acc
READ(UnControllerParameters, *) CntrPar%PC_RefSpd
READ(UnControllerParameters, *) CntrPar%PC_FinePit
READ(UnControllerParameters, *) CntrPar%PC_Switch
!-- sine pitch excitiation --
READ(UnControllerParameters, *) CntrPar%Z_EnableSine
READ(UnControllerParameters, *) CntrPar%Z_PitchAmplitude
READ(UnControllerParameters, *) CntrPar%Z_PitchFrequency
READ(UnControllerParameters, *)

!------------------- IPC CONSTANTS -----------------------
Expand Down

0 comments on commit 9107e26

Please sign in to comment.