Skip to content

Turbine-Governor (GGOV1)

GGOV1 general-purpose turbine-governor (IEEE PES-TR1). A speed-governing prime mover for the synchronous machine: it senses rotor speed ω and electrical power Pe and drives the machine's mechanical-torque input Tm. The full model includes a PID speed governor with selectable droop feedback (electrical power, valve stroke, governor output, or isochronous), a fuel-valve actuator with rate and position limits, a turbine with gain Kturb, lead-lag (1+sTc)/(1+sTb) and an optional transport delay Teng, plus two supervisory limiters — an acceleration limiter and a load (fuel-flow) limiter — combined with the governor through a low-value select so the most restrictive fuel command wins. Optional supervisory MW set-point control adjusts the load reference. Mechanical power Pmech = Kturb·(Wf − Wfnl) is converted to torque Tm = Pmech/ω at the output. Pairs with the synchronous machine for bumpless load-flow initialization: wire ω from the machine's speed output and Pe from its electrical-power output, and Tm back to the machine's Tm input. The right-edge ω / Pe (in) and Tm (out) ports line up with the machine's left-edge speed / Pe (out) and Tm (in) ports for a direct connection.

Category: Control / Governor

Overview

The GGOV1 general-purpose turbine-governor (IEEE PES-TR1, Dynamic Models for Turbine-Governors in Power System Studies) is the prime mover for a synchronous machine. It senses the rotor speed ω (and, for electrical-power droop, the machine's electrical-power output Pe) and drives the machine's mechanical-torque input Tm so the unit shares load and regulates frequency the way a real governed turbine does.

GGOV1 is deliberately broad: with one parameter set it represents a gas turbine, and with others a diesel or a simple steam unit. It pairs a PID speed governor (with selectable droop feedback) and a fuel-valve actuator with two supervisory limiters — an acceleration limiter and a load (fuel-flow) limiter — combined through a low-value select so the most restrictive fuel command always wins. With the optional load-flow auto-initialization (below) the whole speed-governor → turbine loop starts on its operating point, so a study begins in steady state with no torque transient.

Block diagram

GGOV1 turbine-governor block diagram: the rotor speed ω forms a speed error against the load reference Pref with permanent droop R on the selected feedback (electrical power Pe through a 1/(1+sTpelec) transducer, valve stroke, or governor output); a PID (Kpgov + Kigov/s + sKdgov/(1+sTdgov)) produces the governor fuel request fsrn. An acceleration limiter and a load limiter produce fsra and fsrt; a low-value select picks the smallest of fsrn / fsra / fsrt as fsr, which drives a fuel-valve actuator 1/(1+sTact) with rate and position limits. The valve (times speed if Flag = 1) is the fuel flow Wf; the turbine forms Pmech = Kturb·(Wf − Wfnl) through a (1+sTc)/(1+sTb) lead-lag and an optional Teng transport delay, output as torque Tm = Pmech/ω.

Signal flow, block by block (per-unit, s=d/dt):

  1. Speed error — the governor compares the load reference to the droop feedback and the speed deviation, with a deadband and error limits,
e=clamp(PrefRPfbdbd(ω1),emin,emax),

where Pfb is the droop feedback selected by Rselect (see below), R is the permanent droop, and dbd is the optional ±db/2 deadband.

  1. Governor PID — the fuel request from a parallel proportional-integral-derivative law,
fsrn=Kpgove+Kigovse+sKdgov1+sTdgove.

Leave Kdgov=0 for the usual PI governor.

  1. Acceleration limiter — an integrator that drives the fuel down when the rotor accelerates faster than aset,
f˙sra=Ka(aset11+sTaω˙).
  1. Load (fuel-flow) limiter — a PI loop holding the measured fuel flow at or below Ldref,
fsrt=Kploadε+Kiloadsε,ε=Ldref11+sTfloadWf.
  1. Low-value select — the governor competes with the two limiters; the most restrictive wins,
fsr=min(fsrn,fsra,fsrt).
  1. Fuel-valve actuator — a first-order lag with a rate limit [Rclose,Ropen] and a position limit [Vmin,Vmax],
valve=clamp(11+sTactfsr;rate[Rclose,Ropen];pos[Vmin,Vmax]).
  1. Turbine — the fuel flow Wf ( =valveω when Flag = 1, else just the valve) drives the mechanical power through a gain, a lead-lag and an optional transport delay,
Pmech=esTeng1+sTc1+sTbKturb(WfWfnl)Dm(ω1).
  1. Output — mechanical power is delivered to the machine as torque,
Tm=Pmechω.

Droop feedback (Rselect)

The permanent-droop feedback signal Pfb is selectable, which sets how the unit shares load with others on the same network:

RselectFeedback PfbUse
Electrical power (Pe)the transduced electrical power 11+sTpelecPethe usual choice — exposes the Pe input port
Valve strokethe valve positiondroop on actuator position
Governor outputthe post-governor fuel requestdroop on fuel demand
Isochronous (none)0a single unit holding system frequency (R has no effect)

With droop, the steady speed falls by R (per-unit) from no-load to full-load, so N parallel units share a load change in inverse proportion to their droops. An isochronous unit carries the whole frequency-regulation duty alone and must be the only governed unit on an island.

Acceleration and load limiters

Both supervisory limiters feed the low-value select, so they only act when they would command less fuel than the governor:

  • The acceleration limiter caps the rate of rotor acceleration to aset — it protects the prime mover during a large under-frequency event by refusing to dump fuel in faster than the shaft can safely accelerate. Raise aset well above any expected acceleration to make it inactive.
  • The load limiter is the temperature / fuel-flow ceiling of a gas turbine: it holds the measured fuel flow at or below Ldref. Raise Ldref above the operating fuel flow to keep it inactive.

Each limiter's integrator uses back-calculated anti-windup so it tracks the achievable fuel command instead of winding past it while the low-value select holds another path.

Per-unit convention

All power quantities — Pe, the mechanical power Pmech, the fuel flow Wf, the valve position and the limits — are per-unit on the machine's MVA base (the paired machine's S rated). Tm=1.0 pu is rated torque at synchronous speed. The machine's Tm input and Pe output use the same base, so the governor and machine plug together without any scaling. The speed ω and the deadband / droop are per-unit of synchronous speed.

Load-flow auto-initialization

The governor participates in the project's controller auto-initialization so a run starts bumpless. After the load-flow solves, the apply pass back-calculates the load reference and the integrator seeds so every derivative in the block diagram is zero at t=0:

  • Pairing is wire-traced. The governor declares that its Tm output drives a machine shaft; the initializer follows that wire (through GoTo/From labels) to the unique synchronous machine whose Tm it feeds. If the output fans out to more than one machine, or an intermediate block sits in the path, initialization is skipped with a warning rather than guessing.

  • The mechanical power matches the machine. Pmech(0) is set to the same mechanical torque the paired machine derives from its load-flow operating point (shared back-calculation), and Pe(0) to the machine's terminal real-power output.

  • The fuel chain is inverted. From the steady turbine (Pmech0=Kturb(Wf0Wfnl)) the operating fuel flow, valve position and governor-output set-point are

Wf0=Pmech0Kturb+Wfnl,fsr0=Wf0,Pref=RPfb0,

where Pfb0 is the operating-point droop feedback for the selected Rselect. The governor PI integrator, the valve, the turbine lead-lag, the transport-delay buffer and both limiter tracking states are seeded from these so the speed error is exactly zero and Tm(0)=Pmech0.

These quantities populate Pref, Pmech(0) and Pe(0) on the Initialization tab. You normally never type them by hand; set them only when using the governor standalone (driven by a constant speed), in which case choose them to start flat.

Wiring

  • speed (ω) ← the synchronous machine's speed output (pu).
  • Pe ← the synchronous machine's Pe output (electrical power, pu). Present only when Rselect = Electrical power.
  • Tm → the synchronous machine's Tm input (mechanical torque, pu).

The governor sits to the left of the machine: its right-edge ω / Pe (in) and Tm (out) ports line up with the machine's left-edge speed / Pe (out) and Tm (in) ports, so the three wires draw straight across. Enable Monitor Pmech / valve / fuel request / measured power on the Monitoring tab to record those signals as named channels for plotting.

When to use something else

  • A fixed mechanical drive (no speed governing): leave the machine's Tm unwired and use its constant tm0 fallback instead of a governor — appropriate when you only study the electrical / excitation side and the prime mover is assumed stiff.
  • Detailed multi-shaft / hydro / boiler dynamics: GGOV1 is a general single-shaft model; a turbine with significant penstock-water-column (hydro), boiler-pressure or cross-compound dynamics needs a model tailored to that plant. GGOV1 covers the gas / diesel / simple-steam cases that dominate frequency-stability studies.

Ports

NameDirectionValue typeNotes
speedinputdouble
PeinputdoubleVisible when Rselect == 1
Tmoutputdouble

Parameters

Governor

NameLabelTypeDefaultUnitsDescription
RselectDroop feedbackenum (Electrical power (Pe) / Valve stroke / Governor output / Isochronous (none))1Signal fed back through the permanent droop R to form the speed-governing characteristic. Electrical power uses the machine's Pe output (the Pe input port appears); valve stroke and governor output use internal signals; isochronous removes the droop feedback (R has no effect) for a single unit holding frequency.
RR (droop)double0.04Permanent speed droop (pu). The steady speed/load characteristic: a 0.04 (4%) droop drops speed 4% from no-load to full-load. Ignored when the droop feedback is Isochronous.
TpelecTpelecdouble1s (s, ms)Electrical-power transducer time constant 1/(1+sTpelec) on the Pe input (used for the electrical-power droop feedback).
KpgovKpgovdouble10Governor proportional gain.
KigovKigovdouble2Governor integral gain. The integral term removes steady speed error (within the droop characteristic).
KdgovKdgovdouble0Governor derivative gain. Set 0 to disable the derivative term (PI control).
TdgovTdgovdouble1s (s, ms)Governor derivative-filter time constant of the sKdgov/(1+sTdgov) term.
maxerrmaxerrdouble0.05Upper limit on the governor speed error (pu) entering the PID.
minerrminerrdouble-0.05Lower limit on the governor speed error (pu) entering the PID.
dbDeadbanddouble0Speed-error deadband (pu, total width). The governor ignores speed errors within ±db/2. Set 0 for no deadband.

Actuator & Turbine

NameLabelTypeDefaultUnitsDescription
TactTactdouble0.5s (s, ms)Fuel-valve actuator time constant 1/(1+sTact).
VmaxVmaxdouble1Maximum valve position (pu).
VminVmindouble0.15Minimum valve position (pu).
RopenRopendouble0.1Maximum valve opening rate (pu/s). Positive.
RcloseRclosedouble-0.1Maximum valve closing rate (pu/s). Negative.
KturbKturbdouble1.5Turbine gain. Mechanical power Pmech = Kturb·(Wf − Wfnl).
WfnlWfnldouble0.187No-load fuel flow (pu). The fuel needed to run the unloaded turbine at synchronous speed.
TbTbdouble0.5s (s, ms)Turbine lag (denominator) time constant of the (1+sTc)/(1+sTb) block.
TcTcdouble0s (s, ms)Turbine lead (numerator) time constant of the (1+sTc)/(1+sTb) block. Leave Tc = 0 (with Tb the dominant turbine lag) for a simple first-order turbine.
TengTengdouble0s (s, ms)Transport delay (s) of the turbine, e^(−sTeng). Used for reciprocating (diesel) engines; leave 0 for gas / steam turbines (no delay).
FlagFuel vs speedenum (Proportional to speed / Independent of speed)1Whether the fuel flow depends on speed. 'Proportional to speed' (Flag = 1) sets Wf = valve·ω (the usual gas-turbine case); 'Independent of speed' sets Wf = valve.
DmDmdouble0Mechanical damping / speed-sensitivity of the turbine power: Pmech is reduced by Dm·(ω − 1). Set 0 to disable.

Load Limiter

NameLabelTypeDefaultUnitsDescription
LdrefLdrefdouble1Load limiter reference (pu fuel flow). The load limiter holds the fuel flow at or below this value; raise it well above the operating fuel flow to keep the limiter inactive.
KploadKploaddouble2Load limiter proportional gain.
KiloadKiloaddouble0.67Load limiter integral gain.
TfloadTfloaddouble3s (s, ms)Fuel-flow measurement lag 1/(1+sTfload) feeding the load limiter.

Acceleration Limiter

NameLabelTypeDefaultUnitsDescription
asetasetdouble0.01Acceleration limiter set-point (pu/s). When the rotor acceleration dω/dt exceeds aset the limiter reduces fuel through the low-value select; raise aset to effectively disable it.
KaKadouble10Acceleration limiter integrator gain.
TaTadouble0.1s (s, ms)Acceleration measurement (derivative-filter) time constant.

Supervisory (MW)

NameLabelTypeDefaultUnitsDescription
KimwKimwdouble0Supervisory MW-controller integral gain. When non-zero, a slow outer loop adjusts the load reference Pref to hold the electrical power at Pmwset. Set 0 to disable (the load reference stays at its initialized value).
PmwsetPmwsetdouble0Supervisory MW set-point (pu on the machine base). Used only when Kimw ≠ 0.

Monitoring

NameLabelTypeDefaultUnitsDescription
measure_pmechMonitor Pmechenum (Off / On)0Record the mechanical power Pmech (pu) as a named observable.
measure_valveMonitor valveenum (Off / On)0Record the fuel-valve position (pu) as a named observable.
measure_fsrMonitor fuel requestenum (Off / On)0Record the post-low-value-select fuel request fsr (pu) as a named observable.
measure_pmeasMonitor measured powerenum (Off / On)0Record the transduced electrical power Pmeas (pu) as a named observable.

Signal Names

NameLabelTypeDefaultUnitsDescription
pmech_namePmech namestring(empty)Observable name for the mechanical power Pmech. Blank = skip.
valve_nameValve namestring(empty)Observable name for the valve position. Blank = skip.
fsr_namefsr namestring(empty)Observable name for the fuel request fsr. Blank = skip.
pmeas_namePmeas namestring(empty)Observable name for the measured electrical power. Blank = skip.

Initialization

NameLabelTypeDefaultUnitsDescription
pref0Prefdouble0Load reference (pu). Normally computed by the load-flow auto-initialization (Pref = R·Pfb at the operating point) so the governor starts in balance; set manually only for standalone use.
pmech0Pmech(0)double0Initial mechanical power at t = 0 (pu, = the machine's mechanical torque at synchronous speed). Seeds the turbine, valve and governor integrator. Normally set by the load-flow auto-initialization from the paired machine's operating point.
pe0Pe(0)double0Initial electrical power at t = 0 (pu on the machine base). Seeds the power transducer. Normally set by the load-flow auto-initialization to the machine's terminal real-power output.

Observables

SignalTypeDefault nameEnableDescription
pmechsignalfrom pmech_namemeasure_pmechTurbine mechanical power Pmech (pu) = Kturb·(Wf − Wfnl) after the turbine lead-lag and transport delay, less Dm·(ω − 1).
valvesignalfrom valve_namemeasure_valveFuel-valve position (pu) after the actuator rate and position limits.
fsrsignalfrom fsr_namemeasure_fsrFuel set request fsr (pu) — the low-value select of the governor, acceleration-limiter and load-limiter outputs that drives the actuator.
pmeassignalfrom pmeas_namemeasure_pmeasTransduced electrical power Pmeas (pu) after the 1/(1+sTpelec) power transducer (the droop feedback when Rselect = electrical power).