19.3 Load Flow, Economic Dispatch & Power System Stability

Key Takeaways

  • Load flow classifies every bus as slack (V and δ specified), PV or generator (P and |V| specified), or PQ or load (P and Q specified).
  • Gauss-Seidel load flow converges linearly with iteration count rising with system size, while Newton-Raphson converges quadratically in three to five iterations almost independently of size.
  • Real power transferred over a line is approximately P = (V1·V2/X)·sin δ, so maximum steady-state transfer occurs at a power angle of 90°.
  • Economic dispatch neglecting losses equalises the incremental cost of every generator, dC/dP = λ, subject to each unit's output limits.
  • The swing equation is (2H/ωs)·d²δ/dt² = Pm − Pe, and the equal-area criterion judges first-swing transient stability without integrating it.
Last updated: August 2026

19.3 Load Flow, Economic Dispatch & Power System Stability

The third pillar of Enhanced TOS topic K, Power System Analysis (PRBEE Resolution No. 40, s. 2024) is the steady-state and dynamic behaviour of an interconnected network: where power flows, what it costs, and whether the machines stay in step after a disturbance.


1. The Load-Flow Problem

Each bus has four quantities — $|V|$, $\delta$, $P$ and $Q$ — of which two are specified and two are computed.

Bus typeSpecifiedComputedCount
Slack / swing$\lvert V \rvert$, $\delta$ (reference, $\delta = 0$)$P$, $Q$Exactly one per island
PV / generator / voltage-controlled$P$, $\lvert V \rvert$$Q$, $\delta$Each generator bus
PQ / load$P$, $Q$$\lvert V \rvert$, $\delta$All remaining buses

The slack bus exists because total system losses are unknown until the solution converges; the slack generator absorbs the mismatch. There is exactly one per electrical island, and it also sets the angle reference.

A PV bus reverts to a PQ bus whenever its reactive output hits the machine's $Q$ limit — the voltage schedule can no longer be held and $|V|$ becomes a computed quantity. This limit switching is why real load-flow programs iterate on bus type as well as on voltage.

Bus Admittance Matrix

Yii=admittances connected to bus i,Yij=yij (ij)Y_{ii} = \sum \text{admittances connected to bus } i, \qquad Y_{ij} = -\,y_{ij} \ (i \ne j)

$Y_{bus}$ is symmetric for a network without phase shifters, highly sparse (a bus connects to only a few others), and diagonally dominant — the property that guarantees Gauss-Seidel convergence, as established in the numerical methods chapter.

Power-Flow Equations

Pi=k=1nViVkYikcos(θik+δkδi)P_i = \sum_{k=1}^{n} |V_i||V_k||Y_{ik}|\cos(\theta_{ik} + \delta_k - \delta_i) Qi=k=1nViVkYiksin(θik+δkδi)Q_i = -\sum_{k=1}^{n} |V_i||V_k||Y_{ik}|\sin(\theta_{ik} + \delta_k - \delta_i)

Solution Methods

MethodConvergenceIterationsMemoryNotes
Gauss-SeidelLinear50–150, grows with system sizeLowSimple, robust from a poor start, slow
Newton-RaphsonQuadratic3–5, nearly independent of sizeHigh (Jacobian)Industry standard
Fast decoupledLinear but fast5–15LowExploits $P$–$\delta$ and $Q$–$

Acceleration factors of roughly 1.4 to 1.6 are applied to Gauss-Seidel to reduce the iteration count.


2. Power Transfer and Voltage Stability

For a short line of reactance $X$ between buses of voltage $V_1$ and $V_2$ separated by power angle $\delta$, with resistance neglected:

P=V1V2XsinδQ=V1(V1V2cosδ)XP = \frac{V_1 V_2}{X}\sin\delta \qquad\qquad Q = \frac{V_1\left(V_1 - V_2\cos\delta\right)}{X}

Two engineering rules fall straight out and are examined constantly:

  • Real power flows from the leading to the lagging bus and is controlled by the angle; maximum steady-state transfer occurs at $\delta = 90°$;
  • Reactive power flows from the higher-magnitude to the lower-magnitude bus and is controlled by the voltage magnitude.

This decoupling is the basis of the fast-decoupled load flow and of every voltage-control scheme: to raise a bus voltage, inject VARs locally rather than trying to import them across a reactive network.

Voltage collapse appears on the P–V (nose) curve: as load increases, voltage falls slowly, then plunges at the nose point where the Jacobian becomes singular and no solution exists. Operating margins are stated as a distance from that nose.


3. Economic Dispatch

Each thermal unit has a cost curve, conventionally quadratic:

Ci=ai+biPi+ciPi2(PHP/h)dCidPi=bi+2ciPi(PHP/MWh)C_i = a_i + b_iP_i + c_iP_i^{2} \quad (\text{PHP/h}) \qquad \Longrightarrow \qquad \frac{dC_i}{dP_i} = b_i + 2c_iP_i \quad (\text{PHP/MWh})

Neglecting losses, minimum total cost occurs when every unit runs at the same incremental cost:

dC1dP1=dC2dP2==λ,subject toPi=PD,Pi,minPiPi,max\frac{dC_1}{dP_1} = \frac{dC_2}{dP_2} = \cdots = \lambda, \qquad \text{subject to} \quad \sum P_i = P_D, \quad P_{i,\min} \le P_i \le P_{i,\max}

A unit driven outside its limits is fixed at the violated limit and removed from the equal-$\lambda$ set, and $\lambda$ is re-solved for the remaining units.

Including transmission losses, the coordination equations introduce penalty factors:

dCidPi×Li=λ,Li=11PLPi\frac{dC_i}{dP_i} \times L_i = \lambda, \qquad L_i = \frac{1}{1 - \dfrac{\partial P_L}{\partial P_i}}

A generator electrically remote from load has a penalty factor above unity, so it must be cheaper at the busbar to be worth dispatching — the reason a distant coal plant may be backed down in favour of nearer gas.

Note the distinction from unit commitment, which decides which units run over a horizon accounting for start-up cost and minimum up/down times. Economic dispatch allocates load among units already running.


4. Power System Stability

TypeDisturbanceQuestion answered
Steady-state stabilitySmall, gradual load changeCan the machine follow slow changes?
Transient stabilityLarge — fault, line trip, sudden load rejectionDoes the machine survive the first swing?
Dynamic stabilitySmall, with controls modelledDo governor and exciter dynamics damp or amplify oscillation?

The Swing Equation

2Hωsd2δdt2=PmPe(per unit)\frac{2H}{\omega_s}\frac{d^{2}\delta}{dt^{2}} = P_m - P_e \quad \text{(per unit)}

where $H$ is the inertia constant in MJ/MVA (typically 3–10 s for thermal units), $P_m$ the mechanical input and $P_e$ the electrical output. A large $H$ means large stored kinetic energy and a slow, stable response — which is precisely why grids with high inverter-based renewable penetration are concerned about declining system inertia.

Equal-Area Criterion

For a single machine against an infinite bus, the system remains stable through the first swing if the decelerating area available after fault clearing is at least equal to the accelerating area accumulated during the fault:

AacceleratingAdeceleratingA_{\text{accelerating}} \le A_{\text{decelerating}}

The critical clearing angle $\delta_{cr}$ is where the two areas are exactly equal, and the critical clearing time is how long the protection has to clear the fault before that angle is exceeded. This is the direct engineering link between stability studies and relay/breaker speed specifications: faster clearing buys stability margin, which is why high-speed relaying and single-pole tripping exist on critical transmission lines.

Steady-state stability limit: Pmax=EVXs at δ=90°\text{Steady-state stability limit: } P_{\max} = \frac{|E||V|}{X_s} \text{ at } \delta = 90°


Solved Board Exam Examples

Example 1: Power Angle and Transfer Limit

A generator with $E = 1.20$ pu behind a synchronous reactance of $j0.80$ pu feeds an infinite bus at $1.00$ pu. Find the maximum steady-state power transfer and the power angle at 1.0 pu output.

Solution.

Pmax=(1.20)(1.00)0.80=1.50 puat δ=90°P_{\max} = \frac{(1.20)(1.00)}{0.80} = \boxed{1.50 \text{ pu}} \quad \text{at } \delta = 90°

For $P = 1.0$ pu:

1.0=1.5sinδ    sinδ=0.6667    δ=41.8°1.0 = 1.5\sin\delta \implies \sin\delta = 0.6667 \implies \delta = \boxed{41.8°}

The machine operates well inside the 90° limit, leaving a healthy stability margin.

Example 2: Economic Dispatch of Two Units

Two units have incremental costs $dC_1/dP_1 = 8.0 + 0.024P_1$ and $dC_2/dP_2 = 6.4 + 0.040P_2$ (₱/MWh, $P$ in MW). Dispatch a total load of 300 MW economically, ignoring losses and limits.

Solution. Set the incremental costs equal:

8.0+0.024P1=6.4+0.040P2,P1+P2=3008.0 + 0.024P_1 = 6.4 + 0.040P_2, \qquad P_1 + P_2 = 300

Substituting $P_2 = 300 - P_1$:

8.0+0.024P1=6.4+0.040(300P1)=6.4+120.040P18.0 + 0.024P_1 = 6.4 + 0.040(300 - P_1) = 6.4 + 12 - 0.040P_1 0.064P1=10.4    P1=162.5 MW,P2=137.5 MW0.064P_1 = 10.4 \implies P_1 = \boxed{162.5 \text{ MW}}, \qquad P_2 = \boxed{137.5 \text{ MW}}

Check: $\lambda_1 = 8.0 + 0.024(162.5) = 11.90$ ₱/MWh and $\lambda_2 = 6.4 + 0.040(137.5) = 11.90$ ₱/MWh — equal, as required. Note that the unit with the lower intercept does not simply take all the load; the slopes decide the split.

Example 3: Rotor Acceleration from the Swing Equation

A 60 Hz turbine-generator of $H = 5.0$ MJ/MVA suffers a fault that drops its electrical output from 1.0 pu to 0.30 pu while mechanical input stays at 1.0 pu. Find the initial rotor acceleration in electrical degrees per second squared.

Solution. The accelerating power is $P_a = 1.0 - 0.30 = 0.70$ pu, and $\omega_s = 360f = 21,600$ electrical degrees per second.

d2δdt2=ωs2HPa=216002(5.0)(0.70)=2160(0.70)=1512 elec. deg/s2\frac{d^{2}\delta}{dt^{2}} = \frac{\omega_s}{2H}P_a = \frac{21\,600}{2(5.0)}(0.70) = 2160(0.70) = \boxed{1512 \text{ elec. deg/s}^{2}}

At this rate the rotor advances roughly 7.6 electrical degrees in the first 0.1 s, so a five-cycle (83 ms) breaker keeps the swing small — the quantitative justification for high-speed clearing.

Loading diagram...
Load Flow, Dispatch and Stability as One Analysis Chain
Test Your Knowledge

In a load-flow study, which quantities are specified at a voltage-controlled (PV) generator bus?

A
B
C
D
Test Your Knowledge

Two generators supply a common load. Unit A has incremental cost 9.0 + 0.030·PA and Unit B has 7.0 + 0.050·PB in ₱/MWh. For a 250 MW load with no limits or losses, what is Unit A's economic output?

A
B
C
D
Test Your Knowledge

According to the equal-area criterion, a single machine connected to an infinite bus remains transiently stable through the first swing when:

A
B
C
D