Skip to content

Commit

Permalink
Add max_torque_factor for constant power control, flexible upper limit
Browse files Browse the repository at this point in the history
  • Loading branch information
dzalkind committed May 11, 2022
1 parent fc44a4a commit f4094ea
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 1 deletion.
2 changes: 2 additions & 0 deletions ROSCO_toolbox/controller.py
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,8 @@ def tune_controller(self, turbine):
Ng = turbine.Ng # Gearbox ratio (-)
rated_rotor_speed = turbine.rated_rotor_speed # Rated rotor speed (rad/s)

# ------------- Saturation Limits --------------- #
turbine.max_torque = turbine.rated_torque * self.controller_params['max_torque_factor']

# -------------Define Operation Points ------------- #
TSR_rated = rated_rotor_speed*R/turbine.v_rated # TSR at rated
Expand Down
5 changes: 5 additions & 0 deletions ROSCO_toolbox/inputs/toolbox_schema.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -321,6 +321,11 @@ properties:
minimum: 0
description: Flap controller time constant for integral gain
unit: s
max_torque_factor:
type: number
minimum: 0
default: 1.1
description: Maximum torque = rated torque * max_torque_factor
IPC_Kp1p:
type: number
minimum: 0
Expand Down
1 change: 0 additions & 1 deletion ROSCO_toolbox/turbine.py
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,6 @@ def load_from_fast(self, FAST_InputFile,FAST_directory, FAST_ver='OpenFAST',dev_
self.yaw = 0.0
self.J = self.rotor_inertia + self.generator_inertia * self.Ng**2
self.rated_torque = self.rated_power/(self.GenEff/100*self.rated_rotor_speed*self.Ng)
self.max_torque = self.rated_torque * 1.1
self.rotor_radius = self.TipRad
# self.omega_dt = np.sqrt(self.DTTorSpr/self.J)

Expand Down

0 comments on commit f4094ea

Please sign in to comment.