Solved Problems · Set 19

Gauss–Seidel Load Flow

Part 4 · Network Matrices — the nonlinear problem the linear models were built to avoid, solved by the oldest method that works. Chapter 19 of the textbook.

Prof. Mithun Mondal 20 solved · 12 practice · 3 challenge GATE · ESE · University

Set 19 — Gauss–Seidel Load Flow

Twenty worked problems on the load flow. The specification is in power rather than current, so \(\mathbf{I} = \mathbf{S}^{*}/\mathbf{V}^{*}\) and the system is quadratic in the unknown voltages — no rearrangement solves it in one step. Gauss–Seidel takes the nodal equation, solves each row for its own voltage, and sweeps until nothing moves. It is the simplest method that works, it converges slowly and predictably, and the five-bus system of Set 16 solves in 43 sweeps from a flat start — or 17 with the right acceleration factor.

Textbook Chapter 19 · 20 solved · 12 practice · 3 challenge · 12 MCQs

i Method Recap
  • The problem. \(S_i = V_i I_i^{*}\) with \(\mathbf{I} = \mathbf{Y}\mathbf{V}\) gives \(S_i^{*} = V_i^{*}\sum_j Y_{ij}V_j\) — quadratic in the voltages, and there is no closed-form solution for more than two buses.

  • Three bus types. Slack: \(|V|\) and \(\delta\) given, \(P\) and \(Q\) unknown. PV: \(P\) and \(|V|\) given. PQ: \(P\) and \(Q\) given. Two quantities known and two unknown at every bus.

  • The iteration. \(V_i^{(k+1)} = \dfrac{1}{Y_{ii}}\left[\dfrac{S_i^{*}}{(V_i^{(k)})^{*}} - \sum_{j\ne i}Y_{ij}V_j\right]\), using the newest value of every \(V_j\) as soon as it is available — that immediacy is what distinguishes Seidel from Jacobi.

  • Convergence is linear with a ratio near 0.78 on this network, so the error falls by about a quarter per sweep and 43 sweeps are needed for six figures. Newton's method, in Set 20, is quadratic.

  • Acceleration. \(V^{\text{acc}} = V^{(k)} + \alpha\left(V^{(k+1)}-V^{(k)}\right)\) with \(\alpha \approx 1.4\) cuts the count from 43 to 17. Too large a factor diverges: \(\alpha = 1.8\) takes 69.

  • A PV bus needs \(Q\) computed each sweep from \(Q_i = -\operatorname{Im}\left[V_i^{*}\sum_j Y_{ij}V_j\right]\), then the updated voltage rescaled to the specified magnitude.

  • Reactive limits convert the bus type. If the required \(Q\) falls outside the machine's capability, \(Q\) is fixed at the limit and the bus becomes PQ — its voltage then falls below the target.

Problem 1FoundationThe Problem

State the load-flow problem precisely, show why it cannot be solved by inverting a matrix, and identify the single feature that makes it nonlinear.

Solution

What is known and what is wanted. A network's \(\mathbf{Y}_{\text{bus}}\) is known; the generation and load at each bus are known as powers; the bus voltages are wanted.

\[ \mathbf{I}_{\text{bus}} = \mathbf{Y}_{\text{bus}}\mathbf{V}_{\text{bus}} \quad\text{would give}\quad \mathbf{V} = \mathbf{Y}^{-1}\mathbf{I} \]

If the injections were currents. They are not.

The conjugate is the whole difficulty. Power and current are related by

\[ S_i = V_iI_i^{*} \quad\Rightarrow\quad I_i = \frac{S_i^{*}}{V_i^{*}} \]

So the injected current depends on the unknown voltage. Substituting:

\[ \frac{S_i^{*}}{V_i^{*}} = \sum_{j}Y_{ij}V_j \qquad\text{or}\qquad S_i^{*} = V_i^{*}\sum_j Y_{ij}V_j \]

Quadratic in the voltages — a product of \(V^{*}\) and \(V\) — and therefore not solvable by any linear method. For \(n\) buses it is a system of \(2(n-1)\) real quadratic equations.

Worse: it is not even analytic. The conjugate \(V^{*}\) is not a differentiable function of \(V\) in the complex sense, so complex Newton methods do not apply directly. Every practical algorithm works in real variables — magnitude and angle, or real and imaginary parts — which is why the Jacobian of Set 20 is a real \(2n\times2n\) matrix rather than a complex \(n\times n\) one.

The number of solutions. A quadratic system in \(2(n-1)\) unknowns has multiple roots:

\[ \begin{array}{ll} \text{High-voltage solution} & \text{the operating point} \\ \text{Low-voltage solutions} & \text{physically valid, operationally unacceptable} \\ \text{Complex solutions} & \text{no physical meaning} \end{array} \]

The two-bus case of Set 15 had two real roots that merged at the nose; a five-bus case can have many. Iterative methods find the one nearest the starting point, which is why the flat start of Problem 4 is chosen to be near the operating solution.

What the specification actually is. Nothing about the problem is a matter of choice except which quantities are specified where — and that is the bus classification of the next problem. Once it is fixed, the equations are determined and only the method of solution remains open.

One conjugate turns a matrix inversion into the central computational problem of power engineering. Every difficulty that follows — the iteration, the convergence questions, the multiple solutions, the voltage collapse of Set 15 — descends from the fact that generation and load are naturally specified in megawatts rather than amperes. Had the world been built to specify currents, the load flow would be a single linear solve.
Answer\(S_i^{*} = V_i^{*}\sum_j Y_{ij}V_j\) — quadratic and non-analytic, because the injection is specified as power and \(I = S^{*}/V^{*}\)
Problem 2FoundationBus Types

Classify the buses of the five-bus system, state what is known and unknown at each, and count the equations and unknowns.

Solution

Every bus has four associated quantities\(P\), \(Q\), \(|V|\), \(\delta\) — of which exactly two are specified:

\[ \begin{array}{llll} \text{Type} & \text{Specified} & \text{Unknown} & \text{Physical} \\ \hline \text{Slack} & |V|,\ \delta & P,\ Q & \text{the reference machine} \\ \text{PV} & P,\ |V| & Q,\ \delta & \text{a generator with voltage control} \\ \text{PQ} & P,\ Q & |V|,\ \delta & \text{a load, or fixed generation} \end{array} \]

Why one bus must be slack. The total generation must equal the total load plus the losses, and the losses are not known until the solution is. One bus must therefore be left free to absorb the difference:

\[ \sum_i P_{\text{gen},i} = \sum_i P_{\text{load},i} + P_{\text{loss}} \]

Specifying \(P\) at every bus would over-determine the problem. The slack bus also fixes the angle reference, since only angle differences affect anything.

The five-bus system, taking all four non-slack buses as PQ:

\[ \begin{array}{lclll} \text{Bus} & \text{Type} & P\ (\text{pu}) & Q\ (\text{pu}) & \text{Notes} \\ \hline 1 & \text{Slack} & ? & ? & |V| = 1.06,\ \delta = 0 \\ 2 & \text{PQ} & +0.20 & +0.20 & \text{40 MW gen less 20 MW load} \\ 3 & \text{PQ} & -0.45 & -0.15 & \text{load} \\ 4 & \text{PQ} & -0.40 & -0.05 & \text{load} \\ 5 & \text{PQ} & -0.60 & -0.10 & \text{load} \end{array} \]

On a 100 MVA base. The sign convention is injection-positive, so a load is a negative injection.

The count. Four PQ buses, two unknowns each:

\[ 8\ \text{unknowns} \qquad\text{and}\qquad 8\ \text{equations} \ (P_i \text{ and } Q_i \text{ at each of buses 2--5}) \]

In general \(2(n-1) - n_{PV}\) unknowns for \(n\) buses of which \(n_{PV}\) are voltage-controlled. The system is square, as it must be.

The choice of slack matters. It should be the largest machine, or the point of connection to a larger system, for two reasons: it must be able to absorb the loss without an implausible output, and the numerical conditioning is best when the reference is the stiffest bus. Choosing bus 5 as slack here would still give the correct answer, but with worse convergence.

And bus 2 is a modelling decision. A real 40 MW machine would regulate its terminal voltage and be a PV bus; treating it as PQ says its excitation is fixed. Problem 11 solves the same network with bus 2 as PV and gets a different answer — 1.045 pu instead of 1.047, with 0.15 pu of reactive output instead of the specified 0.20.

The bus classification is the only modelling decision in a load flow, and it is where the engineering lives. The network data is measured, the loads are forecast, and the algorithm is mechanical — but whether a machine is PV or PQ, where the slack sits, and what reactive limits apply are judgements, and they change the answer. A load-flow case is defined by its bus data far more than by its line data.
AnswerOne slack and four PQ buses; eight unknowns and eight equations. The slack absorbs the unknown losses and fixes the angle reference
Problem 3Exam levelThe Iteration

Derive the Gauss–Seidel iteration formula for a PQ bus, and state what distinguishes it from the Gauss (Jacobi) method.

Solution

Start from row \(i\) of the nodal equation, with the injection written as a power:

\[ \frac{S_i^{*}}{V_i^{*}} = \sum_j Y_{ij}V_j = Y_{ii}V_i + \sum_{j\ne i}Y_{ij}V_j \]

Solve for the diagonal term's voltage:

\[ \boxed{\;V_i^{(k+1)} = \frac{1}{Y_{ii}}\left[\frac{S_i^{*}}{\left(V_i^{(k)}\right)^{*}} - \sum_{j\ne i}Y_{ij}V_j\;\right]} \]

A fixed-point iteration: put a voltage in, get a voltage out, repeat. Each bus's equation is solved for its own voltage, treating the others as known.

The Seidel refinement. The sum \(\sum_{j\ne i}Y_{ij}V_j\) runs over buses both before and after \(i\) in the sweep. Two choices:

\[ \begin{array}{ll} \text{Gauss (Jacobi)} & \text{use all } V_j^{(k)} \text{ — the previous sweep's values} \\ \text{Gauss--Seidel} & \text{use } V_j^{(k+1)} \text{ for } ji \end{array} \]

Seidel uses each new value the moment it exists. It converges roughly twice as fast for the same work, and needs only one voltage vector in memory rather than two.

Written out for bus 2 of the five-bus system:

\[ V_2 = \frac{1}{Y_{22}}\left[\frac{S_2^{*}}{V_2^{*}} - Y_{21}V_1 - Y_{23}V_3 - Y_{24}V_4 - Y_{25}V_5\right] \]

With \(Y_{22} = 10.8333-j32.4150\). Bus 1 is the slack and never updates; buses 3, 4 and 5 use whatever values are current.

The order of the sweep matters, though not the answer. Sweeping 2, 3, 4, 5 propagates the slack's influence outward along the network in one pass; sweeping 5, 4, 3, 2 propagates it against the flow of the network and converges more slowly. Bus ordering is a second-order effect but a real one.

The convergence test. Two are in use, and they are not equivalent:

\[ \begin{array}{ll} \text{Voltage change} & \max_i\left|V_i^{(k+1)}-V_i^{(k)}\right| < \varepsilon \\ \text{Power mismatch} & \max_i\left|S_i^{\text{sched}}-S_i^{\text{calc}}\right| < \varepsilon \end{array} \]

The first is cheaper and is used here; the second is what actually matters and is the standard in production programs, because a slowly-converging iteration can have a small voltage change and a large power mismatch.

Gauss–Seidel is the load flow written as the network itself would compute it — each bus adjusting its own voltage to match its own injection, over and over. That is why it was the first method to work on a digital computer in 1956, why it needs almost no memory, and why it converges so slowly: the information about a change at one bus travels through the network one branch per sweep.
Answer\(V_i^{(k+1)} = \left[S_i^{*}/(V_i^{(k)})^{*} - \sum_{j\ne i}Y_{ij}V_j\right]/Y_{ii}\), using each updated value immediately — which is what makes it Seidel rather than Jacobi
Problem 4FoundationThe Flat Start

Explain the flat start, justify it, and state when it is a poor choice.

Solution

The definition. Every unknown voltage is set to \(1.0\angle0^\circ\) pu:

\[ \mathbf{V}^{(0)} = \begin{bmatrix}1.06\angle0^\circ & 1.0\angle0^\circ & 1.0\angle0^\circ & 1.0\angle0^\circ & 1.0\angle0^\circ\end{bmatrix}^{T} \]

The slack keeps its specified value; every other bus starts at nominal magnitude and zero angle.

The justification is empirical and strong. A transmission network in normal operation has:

\[ \begin{array}{ll} \text{Voltages within } \pm5\% \text{ of nominal} & \text{so } |V| = 1.0 \text{ is within 5\%} \\ \text{Angles within } \pm15^\circ & \text{so } \delta = 0 \text{ is within } 15^\circ \end{array} \]

In this case the true solution is 1.018 to 1.047 pu in magnitude and 0 to \(-6.15^\circ\) in angle. The flat start is within 5% and 6° — a good initial guess by any standard.

It also selects the right root. The load-flow equations have multiple solutions, and an iterative method converges to whichever one it starts nearest. The flat start is close to the high-voltage operating solution and far from the low-voltage ones, so it finds the physical answer.

When it is a poor choice, and there are four cases:

\[ \begin{array}{ll} \text{Heavily loaded system} & \text{true voltages far from 1.0; may find the wrong root} \\ \text{Large angle spreads} & \text{a long radial system can exceed } 30^\circ \\ \text{Systems with phase shifters} & \text{angles are deliberately offset} \\ \text{Repeated similar cases} & \text{the previous solution is a far better start} \end{array} \]

The last is not a failure of the flat start but a missed opportunity: a contingency study solving a thousand near-identical cases should start each from the base-case solution, which typically halves the iteration count.

The alternative for hard cases is the DC power flow of Set 17. Solving \(\mathbf{P} = \mathbf{B}\boldsymbol{\theta}\) costs one factorisation, always converges, and gives angles typically within 1° of the AC answer. Starting the AC iteration from those angles with flat magnitudes is standard practice for difficult cases and is sometimes called a "DC start".

What the flat start is not. It is not a claim that the voltages are 1.0; it is a starting point for an iteration whose fixed point is the answer. If the method converges, the starting point affects only how long it took — and, when there are multiple roots, which one was found.

That a load flow can be started from a guess of "everything nominal" and reliably converge is a statement about power systems, not about numerical methods. Networks are designed and operated to hold voltages near nominal and angles small, so the operating point is always near the flat profile. A network for which the flat start fails is usually a network in trouble — which makes the failure itself diagnostic.
AnswerAll unknown voltages at \(1.0\angle0^\circ\); here within 5% and 6° of the answer, and near enough to select the operating root
Problem 5Exam levelThe First Sweep

Carry out the first Gauss–Seidel sweep on the five-bus system by hand, working bus 2 in full detail.

Solution

Bus 2, in full. The row of \(\mathbf{Y}_{\text{bus}}\) is

\[ Y_{21} = -5+j15 \quad Y_{22} = 10.8333-j32.4150 \quad Y_{23} = Y_{24} = -1.6667+j5 \quad Y_{25} = -2.5+j7.5 \]

The injection term, with \(S_2 = 0.20+j0.20\) and \(V_2^{(0)} = 1.0\):

\[ \frac{S_2^{*}}{V_2^{*}} = \frac{0.20-j0.20}{1.0} = 0.20 - j0.20 \]

The neighbour sum, with \(V_1 = 1.06\) and \(V_3 = V_4 = V_5 = 1.0\):

\[ (-5+j15)(1.06) + (-1.6667+j5)(1) + (-1.6667+j5)(1) + (-2.5+j7.5)(1) \]
\[ = (-5.30+j15.90) + (-5.8334+j17.50) = -11.13333 + j33.40000 \]

The update:

\[ V_2 = \frac{(0.20-j0.20) - (-11.13333+j33.40000)}{10.8333-j32.4150} = \frac{11.33333 - j33.60000}{10.8333-j32.4150} \]
\[ = 1.03752 + j0.00289 = 1.03753\angle0.159^\circ \]

A rise of nearly 4% at the first touch, and a small positive angle — bus 2 is net-exporting 0.20 pu, so it leads.

Buses 3, 4 and 5 follow, each using the values updated so far in this same sweep:

\[ \begin{array}{lccc} \text{Bus} & S^{*}/V^{*} & \sum_{j\ne i}Y_{ij}V_j & V^{(1)} \\ \hline 2 & 0.20000-j0.20000 & -11.13333+j33.40000 & 1.03753\angle0.159^\circ \\ 3 & -0.45000+j0.15000 & -13.06863+j39.15780 & 1.00500\angle-0.534^\circ \\ 4 & -0.40000+j0.05000 & -12.76249+j39.17518 & 1.00583\angle-0.924^\circ \\ 5 & -0.60000+j0.10000 & -3.81172+j11.56586 & 1.00732\angle-2.848^\circ \end{array} \]

Note that bus 3's sum already contains the new \(V_2 = 1.03753\angle0.159^\circ\), not the flat 1.0 — that is Seidel at work.

What the first sweep has achieved. All four angles have moved in the right direction and are ordered correctly by distance from the slack. The magnitudes are close to their final values at bus 2 (1.0375 against 1.0474) and much less so at bus 5 (1.0073 against 1.0179). The information has travelled outward one bus per sweep, and bus 5 is furthest out.

The first sweep is where the network's structure becomes visible in the arithmetic. Bus 5's neighbour sum is \(-3.81+j11.57\) against bus 3's \(-13.07+j39.16\) — a factor of three, exactly reflecting that bus 5 has two connections and bus 3 has three. The bus with fewest connections moves furthest per sweep and takes longest to settle.
AnswerAfter one sweep: 1.03753\(\angle0.159^\circ\), 1.00500\(\angle-0.534^\circ\), 1.00583\(\angle-0.924^\circ\), 1.00732\(\angle-2.848^\circ\)
Problem 6Exam levelThe Second Sweep

Carry out the second sweep, working bus 2 in full, and compare the movement with the first.

Solution

The injection term has changed, because \(V_2\) is no longer 1.0:

\[ \frac{S_2^{*}}{V_2^{*}} = \frac{0.20-j0.20}{1.03752-j0.00289} = 0.19330 - j0.19223 \]

Dividing by a larger voltage reduces the current, as it must for fixed power. This term is the only place the nonlinearity enters.

The neighbour sum, now using the first sweep's values:

\[ \sum_{j\ne2}Y_{2j}V_j = -10.66300 + j33.66668 \]

Against \(-11.13333+j33.40000\) before — a change of about 4% in the real part.

The update:

\[ V_2^{(2)} = \frac{(0.19330-j0.19223) + (10.66300-j33.66668)}{10.8333-j32.4150} = 1.04028 - j0.01275 \]
\[ = 1.04036\angle-0.702^\circ \]

The full sweep:

\[ \begin{array}{lccc} \text{Bus} & V^{(1)} & V^{(2)} & \text{change} \\ \hline 2 & 1.03753\angle0.159^\circ & 1.04036\angle-0.702^\circ & +0.003,\ -0.86^\circ \\ 3 & 1.00500\angle-0.534^\circ & 1.00996\angle-1.353^\circ & +0.005,\ -0.82^\circ \\ 4 & 1.00583\angle-0.924^\circ & 1.01076\angle-1.939^\circ & +0.005,\ -1.02^\circ \\ 5 & 1.00732\angle-2.848^\circ & 1.00946\angle-3.689^\circ & +0.002,\ -0.84^\circ \end{array} \]

The pattern of movement. The magnitude changes have collapsed — from 4% in the first sweep to 0.5% in the second — while the angle changes are almost unchanged, about \(-0.9^\circ\) per bus per sweep. That asymmetry persists throughout:

\[ \begin{array}{ll} \text{Magnitudes} & \text{settle quickly, driven by the local injection} \\ \text{Angles} & \text{settle slowly, driven by the network} \end{array} \]

Angle is a global quantity — bus 5's angle depends on every bus between it and the slack — and information travels one bus per sweep.

Bus 2's angle has crossed zero, from \(+0.159^\circ\) to \(-0.702^\circ\), on its way to \(-2.806^\circ\). The first sweep saw bus 2 exporting into a network still at zero angle and put it ahead; the second sweep, with the load buses now behind, corrects it. An intermediate iterate is not an approximate answer — it is a point on the path, and it may be on the wrong side of the target.

Two sweeps have got the magnitudes to within 1% and the angles to within a quarter of their final values, and that ratio does not improve. Gauss–Seidel's slowness on power networks is almost entirely a slowness in the angles, which is precisely what the decoupled methods of Set 17 exploit by giving the angle problem its own matrix and its own iteration.
Answer1.04036\(\angle-0.702^\circ\), 1.00996\(\angle-1.353^\circ\), 1.01076\(\angle-1.939^\circ\), 1.00946\(\angle-3.689^\circ\) — magnitudes nearly settled, angles a quarter of the way
Problem 7AnalysisThe Converged Solution

Give the converged solution and check that it satisfies the specified injections.

Solution

After 43 sweeps at a tolerance of \(10^{-6}\):

\[ \begin{array}{lccc} \text{Bus} & |V|\ (\text{pu}) & \delta\ (\text{deg}) & \text{rectangular} \\ \hline 1 & 1.06000 & 0.0000 & 1.06000 + j0 \\ 2 & 1.04744 & -2.8063 & 1.04618 - j0.05128 \\ 3 & 1.02418 & -4.9968 & 1.02029 - j0.08921 \\ 4 & 1.02357 & -5.3290 & 1.01914 - j0.09506 \\ 5 & 1.01794 & -6.1502 & 1.01208 - j0.10906 \end{array} \]

The check. Compute the injections back from the solution, \(S_i = V_i(\mathbf{Y}\mathbf{V})_i^{*}\):

\[ \begin{array}{lcc} \text{Bus} & \text{Computed } S & \text{Specified} \\ \hline 1 & +1.29587 - j0.07421 & \text{(slack, free)} \\ 2 & +0.20000 + j0.20000 & +0.20 + j0.20 \\ 3 & -0.45000 - j0.15000 & -0.45 - j0.15 \\ 4 & -0.40000 - j0.05000 & -0.40 - j0.05 \\ 5 & -0.60000 - j0.10000 & -0.60 - j0.10 \end{array} \]

Exact to five decimals at every specified bus. That is the only verification a load flow admits, and it must be done — a converged iteration proves the fixed point was reached, not that the fixed point is the right one.

Reading the profile. The voltages fall monotonically with distance from the slack:

\[ 1.060 \to 1.047 \to 1.024 \to 1.024 \to 1.018 \]

A total drop of 4% across the network, comfortably inside a \(\pm5\%\) band. Buses 3 and 4 are within 0.06% of each other — the stiff \(0.01+j0.03\) tie again, and the same near-identity the impedance matrix of Set 18 showed.

And the angles spread over 6.15°, the largest branch difference being \(2.81^\circ\) across line 1–2. Every angle difference is well inside the range where \(\sin\delta \approx \delta\) holds to 1%, which is why the DC flow of Set 17 did as well as it did.

Bus 2 is the highest non-slack bus despite being nearest to the loads, because it is the only other bus with generation. Its \(+0.20\) pu of reactive injection holds it up; without it the voltage there would fall below bus 3's.

A converged load flow is a claim that a set of voltages satisfies the network equations, and the only evidence for it is the mismatch. Iteration counts, tolerances and convergence messages are all statements about the algorithm's internal state; the injections recomputed from the answer are a statement about the answer. Production programs report the largest mismatch for exactly this reason, and a report without one should not be trusted.
Answer1.0600, 1.0474, 1.0242, 1.0236, 1.0179 pu at angles 0, \(-2.81\), \(-5.00\), \(-5.33\), \(-6.15^\circ\); injections reproduced to five decimals
Problem 8AnalysisConvergence Rate

Tabulate the largest voltage change at each sweep, establish the order of convergence, and estimate the number of sweeps needed for a given tolerance.

Solution

The convergence history:

\[ \begin{array}{rc} \text{Sweep} & \max_i\left|\Delta V_i\right| \\ \hline 1 & 5.04\times10^{-2} \\ 2 & 1.85\times10^{-2} \\ 3 & 1.53\times10^{-2} \\ 5 & 9.05\times10^{-3} \\ 10 & 2.43\times10^{-3} \\ 15 & 6.64\times10^{-4} \\ 20 & 1.87\times10^{-4} \\ 30 & 1.65\times10^{-5} \\ 40 & 1.70\times10^{-6} \\ 43 & 8.82\times10^{-7} \end{array} \]

The order. Take the ratio of successive errors after the transient dies:

\[ \begin{array}{lc} \text{Sweeps 6--7} & 0.7685 \\ \text{Sweeps 11--12} & 0.7708 \\ \text{Sweeps 21--22} & 0.7800 \\ \text{Sweeps 31--32} & 0.7931 \end{array} \]

A constant ratio near 0.78 — the signature of linear (first-order) convergence: \(e_{k+1} = \mu e_k\) with \(\mu \approx 0.78\). Each sweep removes 22% of the error.

The sweep count follows directly. To reduce the error by a factor \(F\):

\[ k = \frac{\ln F}{\ln(1/\mu)} = \frac{\ln F}{\ln(1/0.78)} = \frac{\ln F}{0.2485} \]
\[ \begin{array}{lcc} \text{Tolerance} & \text{Predicted} & \text{Actual} \\ \hline 10^{-3} & 16 & 14 \\ 10^{-4} & 25 & 23 \\ 10^{-6} & 44 & 43 \end{array} \]

Each extra decimal place costs about nine more sweeps, forever. There is no acceleration in the tail.

Where \(\mu\) comes from. It is the spectral radius of the iteration matrix, and for a load flow it is governed by how strongly the diagonal of \(\mathbf{Y}_{\text{bus}}\) dominates the rest of its row. Set 16 found that dominance to be marginal — equality without charging, slight deficiency with it. A ratio of 0.78 is exactly what a barely-dominant matrix produces.

And \(\mu\) grows with system size. Information travels one bus per sweep, so a network of diameter \(d\) needs at least \(d\) sweeps for the slack's influence to reach the far end:

\[ \begin{array}{lcc} \text{Buses} & \text{Typical sweeps} & \\ \hline 5 & 43 & \text{this case} \\ 100 & \sim150 & \\ 1000 & \sim500\text{--}1000 & \text{often fails to converge} \end{array} \]

The count grows roughly with \(n\), and the cost per sweep also grows with \(n\) — so the total cost is \(O(n^{2})\) against Newton's \(O(n^{1.4})\). That is the whole argument for Set 20.

Linear convergence at \(\mu = 0.78\) means the method never gets faster, and that predictability is its one virtue. A Gauss–Seidel load flow either converges at a steady 22% per sweep or diverges, and it does so on the first few sweeps — there are no surprises in the tail. Newton's method converges far faster when it converges and fails abruptly when it does not, which is a harder failure mode to diagnose.
AnswerLinear convergence with ratio \(\mu \approx 0.78\); each decimal place costs about nine sweeps, and 43 are needed for \(10^{-6}\)
Problem 9Exam levelAcceleration

Apply an acceleration factor of 1.4 and compare the convergence with the unaccelerated case. Explain why the technique works.

Solution

The modification is one line. Compute the update as usual, then over-shoot it:

\[ V_i^{\text{acc}} = V_i^{(k)} + \alpha\left(V_i^{(k+1)} - V_i^{(k)}\right) \]

With \(\alpha = 1\) this is the plain iteration. With \(\alpha > 1\) the correction is exaggerated; with \(\alpha < 1\) it is damped.

The comparison:

\[ \begin{array}{rcc} \text{Sweep} & \alpha = 1.0 & \alpha = 1.4 \\ \hline 1 & 5.04\times10^{-2} & 7.86\times10^{-2} \\ 2 & 1.85\times10^{-2} & 3.82\times10^{-2} \\ 3 & 1.53\times10^{-2} & 2.97\times10^{-2} \\ 4 & 1.18\times10^{-2} & 1.16\times10^{-2} \\ 5 & 9.05\times10^{-3} & 4.15\times10^{-3} \\ 10 & 2.43\times10^{-3} & 1.18\times10^{-4} \\ 15 & 6.64\times10^{-4} & 3.13\times10^{-6} \\ 17 & - & \text{converged} \\ 43 & \text{converged} & - \end{array} \]

Seventeen sweeps against 43 — a factor of 2.5 for one extra multiplication per bus per sweep.

The first three sweeps are worse. Accelerating a bad estimate overshoots, so the early error is larger. The benefit appears from sweep 4 onward and grows: by sweep 10 the accelerated error is twenty times smaller.

Why it works. Gauss–Seidel's error decays as \(\mu^{k}\) with \(\mu\) real and positive, which means every correction points the same way. The iteration is consistently under-shooting:

\[ V^{(k+1)} - V^{(k)} = (1-\mu)\left(V^{\text{true}}-V^{(k)}\right) = 0.22\left(V^{\text{true}}-V^{(k)}\right) \]

Each sweep moves only 22% of the remaining distance. Multiplying the step by \(\alpha\) moves \(0.22\alpha\) of it instead, and the ideal \(\alpha\) would be \(1/0.22 = 4.5\) — if the error decayed uniformly in every component, which it does not.

The reason 4.5 fails. The error has several components decaying at different rates, and the acceleration factor that suits the slowest over-corrects the fastest, driving them unstable. The usable \(\alpha\) is set by the fastest-decaying component rather than the slowest, which is why the practical range is 1.4 to 1.7 rather than 4.5.

The method's proper name is successive over-relaxation, and it applies to any linear stationary iteration. For symmetric positive-definite systems there is a formula for the optimal \(\alpha\) in terms of the Jacobi spectral radius; for the nonlinear load flow there is not, and \(\alpha\) is found by trial — the subject of the next problem.

Acceleration is free performance, and it is available precisely because Gauss–Seidel is so predictable. The corrections all point the same way and shrink by a constant factor, so multiplying them by a constant is exactly the right medicine. A method whose corrections oscillated in sign — as Newton's can — would be made worse by the same treatment.
Answer17 sweeps against 43, for one extra multiplication per bus; the first three sweeps are worse and every one thereafter is better
Problem 10DesignThe Optimum Factor

Find the acceleration factor that minimises the sweep count for this network, and explain the shape of the curve.

Solution

Scanning \(\alpha\):

\[ \begin{array}{cc} \alpha & \text{Sweeps to } 10^{-6} \\ \hline 1.0 & 43 \\ 1.4 & 17 \\ 1.6 & 27 \\ 1.8 & 69 \end{array} \]

A minimum near 1.4, with a sharp penalty beyond 1.6.

The shape of the curve is characteristic of over-relaxation and asymmetric:

\[ \begin{array}{ll} \alpha < \alpha_{\text{opt}} & \text{slow but safe; count falls smoothly} \\ \alpha = \alpha_{\text{opt}} & \text{minimum} \\ \alpha > \alpha_{\text{opt}} & \text{count rises steeply; then divergence} \end{array} \]

The penalty for undershooting is mild and the penalty for overshooting is severe, so the practical choice is deliberately conservative — 1.4 to 1.5 rather than the true optimum.

Why the optimum is not universal. It depends on the network's electrical structure through the spectral radius:

\[ \begin{array}{ll} \text{Well-conditioned, lightly loaded} & \alpha_{\text{opt}} \approx 1.4\text{--}1.6 \\ \text{Heavily loaded} & \alpha_{\text{opt}} \to 1.0;\ \text{acceleration stops helping} \\ \text{Long radial systems} & \alpha_{\text{opt}} \approx 1.2\text{--}1.4 \\ \text{Networks with series capacitors} & \text{can require } \alpha < 1 \end{array} \]

The last case is the surprise: a negative reactance in the network can make the iteration oscillatory, and then damping rather than acceleration is required.

Practical strategies, in order of sophistication:

\[ \begin{array}{ll} \text{Fixed } \alpha = 1.6 & \text{the traditional default} \\ \text{Different } \alpha \text{ for } |V| \text{ and } \delta & \text{recognises they converge differently} \\ \text{Adaptive } \alpha & \text{estimate } \mu \text{ from successive errors and set } \alpha \\ \text{Aitken extrapolation} & \text{use three iterates to jump to the limit} \end{array} \]

The third is the most useful in practice: \(\mu\) is measurable from the ratio of consecutive errors, and \(\alpha\) can be reset every few sweeps.

And the diminishing returns. Acceleration takes 43 sweeps to 17 — a factor of 2.5. Newton–Raphson takes the same problem to four iterations, a factor of ten. Tuning \(\alpha\) is optimising the wrong thing once a Newton solver is available, and the historical interest in acceleration factors dates from the years when it was not.

An acceleration factor is a single number that encodes a guess about the network's spectral properties, and it has to be guessed because computing it costs more than the saving. That trade — a cheap approximate parameter against an expensive exact one — recurs throughout numerical power system analysis, and the fast-decoupled load flow of Set 17 is the same trade made on a larger scale.
AnswerOptimum near \(\alpha = 1.4\) at 17 sweeps; 1.6 gives 27 and 1.8 gives 69 — the penalty for overshooting is far worse than for undershooting
Problem 11Exam levelA PV Bus

Re-classify bus 2 as a voltage-controlled bus holding \(|V_2| = 1.045\) pu with \(P_2 = 0.20\). Set out the modified iteration and give the solution.

Solution

The difficulty. The iteration formula needs \(S_i\), and at a PV bus \(Q_i\) is unknown. It must be computed afresh each sweep from the current voltage estimate:

\[ Q_i^{(k)} = -\operatorname{Im}\left[V_i^{*}\sum_j Y_{ij}V_j\right] \]

Using the newest available value of every voltage, exactly as the main iteration does.

The three-step sweep at a PV bus:

\[ \begin{array}{ll} 1 & \text{Compute } Q_i^{(k)} \text{ from the current voltages} \\ 2 & \text{Update } V_i \text{ by the ordinary formula with } S_i = P_i^{\text{sp}} + jQ_i^{(k)} \\ 3 & \text{Rescale: } V_i \leftarrow |V_i^{\text{sp}}|\dfrac{V_i}{|V_i|} \end{array} \]

Step 3 is what makes it a PV bus. The update gives a voltage of the wrong magnitude but the right angle, and the angle is the quantity actually being solved for.

The solution, after 34 sweeps at \(\alpha = 1.4\):

\[ \begin{array}{lcc} \text{Bus} & |V| & \delta\ (\text{deg}) \\ \hline 1 & 1.06000 & 0.0000 \\ 2 & 1.04500 & -2.7677 \\ 3 & 1.02228 & -4.9773 \\ 4 & 1.02154 & -5.3088 \\ 5 & 1.01557 & -6.1291 \end{array} \]
\[ Q_2 = +0.15065\ \text{pu} \]

Comparison with the PQ case of Problem 7:

\[ \begin{array}{lccc} \text{Bus} & \text{PQ } (Q_2 = 0.20) & \text{PV } (|V_2| = 1.045) & \text{difference} \\ \hline 2 & 1.04744 & 1.04500 & -0.0024 \\ 3 & 1.02418 & 1.02228 & -0.0019 \\ 4 & 1.02357 & 1.02154 & -0.0020 \\ 5 & 1.01794 & 1.01557 & -0.0024 \end{array} \]

Every bus is slightly lower, because holding bus 2 at 1.045 rather than letting it rise to 1.047 requires 0.151 pu of reactive support instead of 0.200 — and the 0.05 pu difference is felt across the network.

The convergence is slower — 34 sweeps against 17 — because the rescaling of step 3 throws away part of each correction. A PV bus converges in angle only, and the magnitude information computed at every sweep is discarded.

Which classification is right depends on the machine's control. A generator on automatic voltage regulation holds its terminal voltage and is PV; a machine on constant excitation, or an equivalent representing a fixed reactive injection, is PQ. The two models of the same 40 MW machine give voltages differing by 0.2% — small here, and much larger in a system where the machine is a substantial part of the reactive supply.

The rescaling step is a projection: it discards the component of the correction that violates the constraint and keeps the rest. That is a general technique for constrained iteration, and it costs convergence speed in proportion to how much is thrown away. Newton's method handles the same constraint by removing a row and column from the Jacobian instead — no information is discarded, and the convergence rate is unaffected.
Answer\(Q_2 = 0.1507\) pu holds \(|V_2| = 1.045\); every other bus falls by about 0.002 pu, and convergence takes 34 sweeps against 17
Problem 12DesignReactive Limits

The machine at bus 2 can supply between 0 and 0.10 pu of reactive power. Repeat the previous problem with that limit enforced.

Solution

The test, applied every sweep:

\[ \begin{array}{ll} Q_{\min} \le Q^{(k)} \le Q_{\max} & \text{keep as PV; rescale to } |V^{\text{sp}}| \\ Q^{(k)} > Q_{\max} & \text{set } Q = Q_{\max};\ \text{treat as PQ} \\ Q^{(k)} < Q_{\min} & \text{set } Q = Q_{\min};\ \text{treat as PQ} \end{array} \]

A bus that hits a limit stops controlling its voltage and becomes an ordinary load bus with a fixed reactive injection.

Here the limit binds. Problem 11 found that holding 1.045 pu requires \(Q_2 = 0.1507\), which exceeds the 0.10 available. So bus 2 becomes PQ with \(S_2 = 0.20+j0.10\):

\[ \begin{array}{lcc} \text{Bus} & |V| & \delta\ (\text{deg}) \\ \hline 1 & 1.06000 & 0.0000 \\ 2 & 1.04249 & -2.7279 \\ 3 & 1.02033 & -4.9572 \\ 4 & 1.01946 & -5.2880 \\ 5 & 1.01312 & -6.1073 \end{array} \]
\[ |V_2| = 1.0425 \quad\text{against the 1.045 target} \]

The three cases side by side:

\[ \begin{array}{lccc} & Q_2 = 0.20\ \text{(PQ)} & |V_2| = 1.045\ \text{(PV)} & Q_2 \le 0.10\ \text{(limited)} \\ \hline |V_2| & 1.04744 & 1.04500 & 1.04249 \\ |V_5| & 1.01794 & 1.01557 & 1.01312 \\ Q_2 & 0.20000 & 0.15065 & 0.10000 \end{array} \]

Every 0.05 pu of reactive support withdrawn from bus 2 costs about 0.0025 pu on every bus in the system.

The behaviour to watch for is limit oscillation. If the bus is PQ at the limit its voltage falls; at the lower voltage the required \(Q\) may drop back inside the limit, so it reverts to PV; then the required \(Q\) rises again and it re-limits. The iteration flips between the two and does not converge.

Three standard remedies:

\[ \begin{array}{ll} \text{Hysteresis} & \text{require a margin before releasing a limited bus} \\ \text{Delayed switching} & \text{test limits only every few sweeps} \\ \text{Latching} & \text{once limited, stay limited for the rest of the solution} \end{array} \]

The third is the crudest and the most common. It can give a slightly wrong answer if a bus limits transiently on the way to the solution, which is why production programs use the first two together.

The engineering significance is larger than the arithmetic. A generator on its reactive limit has lost voltage control, and the network has lost a support point. In a stressed system this is the sequence that leads to collapse: one machine limits, voltages fall, the next machine limits to compensate, and so on. Every large voltage-collapse blackout has this cascade in its timeline, and the load flow shows the first step of it.

Reactive limits are where a load flow stops being a network calculation and starts being a study of the plant. The network equations are indifferent to where the vars come from; the limits say they must come from somewhere real. A case that converges only by ignoring them has not been solved — it has been solved for a system with infinite reactive capability, which no system has.
AnswerThe limit binds: bus 2 becomes PQ at \(Q = 0.10\) and settles at 1.0425 instead of 1.045, with every other bus about 0.0025 pu lower
Problem 13AnalysisSlack Bus Power

Compute the slack bus power from the converged solution, and check it against the generation and load totals.

Solution

The calculation is one row of the nodal equation, done once at the end:

\[ S_1 = V_1\left(\sum_j Y_{1j}V_j\right)^{*} \]

The slack's injection is never used during the iteration — it is an output, not an input.

Evaluating with the converged voltages:

\[ S_1 = 1.29587 - j0.07421\ \text{pu} \;=\; 129.59\ \text{MW} - j7.42\ \text{MVAr} \]

The slack machine generates 129.6 MW and absorbs 7.4 MVAr — it is running under-excited, because the network's charging is producing more vars than the load requires.

The real power balance:

\[ \begin{array}{lr} \text{Slack generation} & +1.29587 \\ \text{Bus 2 net} & +0.20000 \\ \text{Loads (buses 3, 4, 5)} & -1.45000 \\ \hline \text{Losses} & +0.04587 \end{array} \]

4.59 MW of loss on 145 MW of load — 3.2%. That is high for a transmission system, reflecting this test network's \(x/r = 3\); a real 220 kV network would lose 1–2%.

The reactive balance:

\[ \begin{array}{lr} \text{Slack} & -0.07421 \\ \text{Bus 2} & +0.20000 \\ \text{Loads} & -0.30000 \\ \hline \text{Net} & -0.17421 \end{array} \]

Negative, meaning the network itself generates 17.4 MVAr net — its charging exceeds its \(I^{2}X\) absorption, so the system is operating below its surge impedance loading. Set 15's language, appearing in a load flow.

Why the slack must be able to take it. The slack absorbs whatever the rest of the system does not supply, and here that is 129.6 MW — 89% of the total load. If bus 1's machine cannot produce that, the case is infeasible however well it converges. A converged load flow with an implausible slack output is a wrong case, not a wrong answer.

And the sensitivity to the choice of slack. Choosing bus 5 as slack instead would give the same voltages relative to each other but a different loss allocation and a different set of generator outputs — because the loss depends on the flow pattern, which depends on which bus is free. Loss allocation between market participants is contentious for exactly this reason.

The losses are the one quantity a load flow computes that could not have been specified in advance, and that is why the slack bus exists. Everything else in the answer was implied by the data; the 4.59 MW was not, because it depends on the currents, which depend on the voltages, which are what the calculation was for. The slack is the bookkeeping device that makes that circularity solvable.
Answer\(S_1 = 1.2959 - j0.0742\) pu; losses 4.59 MW (3.2%), and the network generates 17.4 MVAr net
Problem 14Exam levelLine Flows

Compute the complex power flow at each end of every line, and verify the power balance at two buses.

Solution

The line current includes the local half-charging:

\[ I_{ij} = (V_i - V_j)y_{ij} + V_i\left(j\frac{B_{ij}}{2}\right) \]
\[ S_{ij} = V_iI_{ij}^{*} \]

And \(S_{ji}\) is computed the same way from the other end. The two are not negatives of each other — their sum is the loss in that line.

All seven lines, in per unit:

\[ \begin{array}{lcc} \text{Line} & S_{ij} & S_{ji} \\ \hline 1\text{--}2 & +0.8886 - j0.0858 & -0.8745 + j0.0615 \\ 1\text{--}3 & +0.4072 + j0.0116 & -0.3953 - j0.0301 \\ 2\text{--}3 & +0.2469 + j0.0355 & -0.2434 - j0.0678 \\ 2\text{--}4 & +0.2794 + j0.0296 & -0.2749 - j0.0593 \\ 2\text{--}5 & +0.5482 + j0.0734 & -0.5370 - j0.0717 \\ 3\text{--}4 & +0.1887 - j0.0520 & -0.1884 + j0.0321 \\ 4\text{--}5 & +0.0633 - j0.0228 & -0.0630 - j0.0283 \end{array} \]

Balance at bus 1:

\[ S_{12} + S_{13} = (0.8886+0.4072) + j(-0.0858+0.0116) = 1.2958 - j0.0742 \]

Exactly the slack injection of Problem 13. The two calculations are independent — one from the nodal equation and one from the line flows — so the agreement confirms both.

Balance at bus 4, which has a load of \(0.40+j0.05\):

\[ S_{42}+S_{43}+S_{45} = (-0.2749-0.1884+0.0633) + j(-0.0593+0.0321-0.0228) \]
\[ = -0.4000 - j0.0500 \quad\checkmark \]

The load, exactly.

Reading the flows. The largest is 88.9 MW on line 1–2, and the smallest is 6.3 MW on 4–5 — the same ranking the DC flow of Set 17 gave. Power leaves the slack on both its circuits and distributes through bus 2, which handles 107.5 MW of throughput across its three outgoing lines.

The reactive flows tell a different story. Several are negative at the sending end and positive at the receiving — line 3–4 sends \(-0.052\) and receives \(+0.032\). That is charging: the line is generating more vars than it consumes, so vars flow out of it at both ends. Every lightly loaded line in this system does the same, which is why the network is a net var source.

Line flows are what a load flow is run to obtain, and they are computed after the fact from voltages that took forty-three sweeps to find. The iteration converges on voltages because that is the smallest set of unknowns that determines everything else; flows, losses, generator outputs and reactive requirements are all one substitution away once the voltages exist. Getting eight numbers right delivers thirty.
AnswerLargest flow 88.9 MW on 1–2, smallest 6.3 MW on 4–5; bus 1 and bus 4 balances both check exactly
Problem 15AnalysisLosses

Compute the loss in every line, verify the total against the slack calculation, and identify where the loss is concentrated.

Solution

The loss in a line is the sum of the two end flows:

\[ S_{\text{loss},ij} = S_{ij} + S_{ji} \]

Not the difference. Both are defined as flowing into the line from their respective buses, so what remains is what the line consumed.

Line by line:

\[ \begin{array}{lccc} \text{Line} & P_{\text{loss}} & Q_{\text{loss}} & \% \text{ of total } P \\ \hline 1\text{--}2 & 0.01410 & -0.02431 & 30.7 \\ 1\text{--}3 & 0.01192 & -0.01855 & 26.0 \\ 2\text{--}5 & 0.01125 & +0.00176 & 24.5 \\ 2\text{--}4 & 0.00441 & -0.02966 & 9.6 \\ 2\text{--}3 & 0.00352 & -0.03238 & 7.7 \\ 3\text{--}4 & 0.00036 & -0.01990 & 0.8 \\ 4\text{--}5 & 0.00031 & -0.05118 & 0.7 \\ \hline \text{Total} & 0.04587 & -0.17421 & \end{array} \]

Matching the slack calculation of Problem 13 exactly.

Three lines carry 81% of the loss. Lines 1–2, 1–3 and 2–5 are the heavily loaded ones, and loss goes as the square of the current:

\[ P_{\text{loss}} = |I|^{2}R \]

Line 1–2 carries 0.889 pu and loses 0.0141; line 4–5 carries 0.063 and loses 0.0003. A factor of 14 in flow gives a factor of 45 in loss — close to the square, the discrepancy being the different resistances.

The reactive column is negative almost throughout, meaning those lines generate rather than absorb. The single exception is 2–5, the only line loaded above its own surge impedance loading:

\[ \begin{array}{lll} Q_{\text{loss}} < 0 & \text{charging exceeds } I^{2}X & \text{below SIL} \\ Q_{\text{loss}} > 0 & I^{2}X \text{ exceeds charging} & \text{above SIL} \end{array} \]

Line 4–5's \(-0.051\) is the extreme case: it carries almost nothing and is nearly pure charging.

The 3.2% loss is high, and the cause is the network rather than the operation. Every line here has \(x/r = 3\), against 8–15 for real transmission conductors. Scaling all seven resistances down by a factor of three would bring the loss to about 1.1%, which is a realistic transmission figure.

What reduces losses, in order of effectiveness on this network:

\[ \begin{array}{ll} \text{Larger conductor on 1--2, 1--3, 2--5} & \text{81\% of the loss is there} \\ \text{Generation closer to load} & \text{shortens the flow paths} \\ \text{Power factor correction at buses 3--5} & \text{reduces } |I| \text{ for the same } P \\ \text{Higher voltage} & \text{the only step change} \end{array} \]
Loss concentrates quadratically, so a network's total loss is nearly always dominated by a handful of circuits. Here three of seven carry 81% of it. That concentration is what makes loss reduction tractable — the engineering effort goes where the current is, and the remaining four circuits can be left alone entirely without giving up more than a fifth of the available saving.
AnswerTotal 0.04587 pu, matching the slack calculation; lines 1–2, 1–3 and 2–5 carry 81% of it, and every line but 2–5 is a net var source
Problem 16AnalysisReactive Balance

Account for every megavar in the converged solution: what is generated, what is absorbed, and by what.

Solution

The two mechanisms, computed from the converged voltages and currents:

\[ Q_{\text{charging}} = \sum_{\text{lines}}\frac{B}{2}\left(|V_i|^{2}+|V_j|^{2}\right) = +0.31182 \]
\[ Q_{\text{absorbed}} = \sum_{\text{lines}}|I_{\text{series}}|^{2}X = -0.13761 \]
\[ Q_{\text{net from the network}} = +0.17421\ \text{pu} \]

Matching the sum of the line-by-line reactive losses in Problem 15 exactly, and confirming that both were computed correctly. The network generates 17.4 MVAr more than it consumes.

The same calculation for real power, as a check on the method:

\[ P_{\text{loss}} = \sum_{\text{lines}}|I_{\text{series}}|^{2}R = 0.04587\ \text{pu} \]

Exactly the figure obtained from the slack injection in Problem 13, by a completely different route. Two independent calculations of the loss agreeing to five decimals is the strongest available check on a converged solution.

The whole reactive account:

\[ \begin{array}{lr} \text{Line charging generates} & +0.3118 \\ \text{Series reactance absorbs} & -0.1376 \\ \text{Bus 2 machine supplies} & +0.2000 \\ \text{Loads take} & -0.3000 \\ \hline \text{Slack must absorb} & -0.0742 \end{array} \]

All in per unit. The slack machine runs under-excited, taking 7.4 MVAr out of the network — and the account closes to the last digit.

The balance equation closes:

\[ \underbrace{Q_1}_{-0.0742} + \underbrace{Q_2}_{+0.2000} = \underbrace{Q_{\text{loads}}}_{+0.3000} + \underbrace{Q_{\text{net loss}}}_{-0.1742} \]
\[ 0.1258 = 0.1258 \quad\checkmark \]

What the negative slack reactive means operationally. A machine absorbing vars is under-excited, and under-excitation is the region its capability curve most restricts — the limit is set by end-region heating in the stator core rather than by field or armature current. A network that is lightly loaded relative to its charging pushes its machines into that region, which is exactly the condition Set 14's shunt reactors were installed to relieve.

And it identifies the operating regime. The network as a whole is generating vars, so it is running below its surge impedance loading — the same conclusion Set 15 reached from the sign of \(Q_S\). At heavy load the sign would reverse, the machines would go over-excited, and shunt capacitors rather than reactors would be needed.

The reactive balance is the most informative single line of a load-flow report and the least often read. Its sign says whether the system is above or below its natural loading; its distribution says which machines are being asked to do what; and its sensitivity to a contingency is what the voltage-stability studies of Set 15 are really about. Real power balances trivially, by construction. Reactive power is where the engineering is.
AnswerThe lines generate 17.4 MVAr net; the loads take 30, bus 2 supplies 20, and the slack absorbs 7.4 — the balance closes at 0.1258 pu each side
Problem 17AnalysisAgainst the DC Flow

Compare the converged AC solution with the DC power flow of Set 17, branch by branch and angle by angle, and say where the DC model's errors come from.

Solution

The angles:

\[ \begin{array}{lccc} \text{Bus} & \text{AC (deg)} & \text{DC (deg)} & \text{error} \\ \hline 2 & -2.806 & -2.937 & -0.131 \\ 3 & -4.997 & -5.442 & -0.445 \\ 4 & -5.329 & -5.766 & -0.437 \\ 5 & -6.150 & -6.630 & -0.480 \end{array} \]

The DC model overstates every angle by 0.13 to 0.48°, and the error grows with distance from the slack.

The branch flows:

\[ \begin{array}{lccc} \text{Line} & \text{AC (pu)} & \text{DC (pu)} & \text{error} \\ \hline 1\text{--}2 & 0.8886 & 0.8543 & -3.86\% \\ 1\text{--}3 & 0.4072 & 0.3957 & -2.83\% \\ 2\text{--}5 & 0.5482 & 0.5371 & -2.03\% \\ 2\text{--}4 & 0.2794 & 0.2743 & -1.81\% \\ 2\text{--}3 & 0.2469 & 0.2429 & -1.64\% \\ 4\text{--}5 & 0.0633 & 0.0629 & -0.68\% \\ 3\text{--}4 & 0.1887 & 0.1886 & -0.07\% \end{array} \]

Every DC flow is low, by 0.07% to 3.9%. The errors are systematic, not random.

Why every error has the same sign. The DC model has no losses, so the total generation it computes is 1.25 pu against the AC's 1.296. The missing 0.046 pu has to come from somewhere, and it comes out of the flows on the circuits that carry it — which are the ones nearest the slack. That is why 1–2 has the largest error and 3–4 the smallest.

The two error sources, separated:

\[ \begin{array}{lll} \text{Losses omitted} & \text{understates flows near the slack} & \text{dominant here} \\ |V| \ne 1 \text{ omitted} & \text{understates flows generally} & \text{secondary} \\ \sin\theta \approx \theta & \text{negligible at } 6^\circ & \text{under } 0.1\% \end{array} \]

The third approximation contributes almost nothing at these angles. Nearly all of the error is the loss.

The verdict. Under 4% on every flow, and correct ranking throughout — the DC model identified the same three heavily loaded lines and the same lightly loaded ones. For a contingency screen that is entirely adequate. For a study that must confirm a thermal rating at 95% loading, 4% is not.

And on a real network the DC model does better, not worse. This system's \(x/r = 3\) gives 3.2% losses; a 400 kV network with \(x/r = 12\) loses under 1%, and the DC errors fall in proportion. The DC power flow's accuracy improves with voltage class, which is why it is a transmission tool and not a distribution one.

The DC model's errors are systematic and one-sided, which makes it more useful than a model with random errors of the same size. A screening tool that always understates flows is dangerous; one that always understates them by a known mechanism can be corrected — many programs add a loss allocation to the DC solution and recover most of the discrepancy. The predictability is worth more than the accuracy.
AnswerDC understates every flow, by 3.9% on 1–2 down to 0.07% on 3–4, almost entirely because it omits the 4.6 MW of losses
Problem 18Challenge-liteWhen It Fails

Scale the loads at buses 3, 4 and 5 by a factor \(k\) and find where Gauss–Seidel stops converging. Determine whether the failure is the method's or the system's.

Solution

Scaling the loads, with bus 2's generation held:

\[ \begin{array}{lccl} k & \text{Sweeps} & |V_5| & \\ \hline 1.0 & 24 & 1.0179 & \\ 2.0 & 36 & 0.9186 & \\ 3.0 & 86 & 0.7240 & \text{already unacceptable} \\ 3.2 & \text{fails} & - & \\ 4.0 & \text{fails} & - & \\ 5.0 & \text{diverges} & - & |V| \to 55\ \text{pu} \end{array} \]

At \(\alpha = 1.4\) and a tolerance of \(10^{-8}\).

The critical question: is there a solution at \(k = 3.2\) that the method failed to find, or is there no solution at all?

Testing with a direct nonlinear solver — Newton from the previous \(k\)'s answer, continued in small steps:

\[ \begin{array}{lcc} k & \text{solution exists?} & |V_5| \\ \hline 3.10 & \text{yes} & 0.66 \\ 3.16 & \text{yes} & 0.6016 \\ 3.17 & \textbf{no} & - \end{array} \]

The solution ceases to exist at \(k \approx 3.16\), a total load of 4.58 pu against the base 1.45. That is the nose of the P–V curve — the voltage-collapse point of Set 15, found on a five-bus network.

So the failure is the system's, not the method's — beyond \(k = 3.16\). But between \(k = 3.0\) and \(k = 3.16\) a solution exists and Gauss–Seidel does not find it:

\[ \begin{array}{lll} k \le 3.0 & \text{converges} & \text{the method works} \\ 3.0 < k < 3.16 & \text{solution exists, method fails} & \textbf{the method's failure} \\ k > 3.16 & \text{no solution} & \text{the system's failure} \end{array} \]

A narrow band, but a real one — and it is the band nearest the collapse point, which is exactly where an operator most needs an answer.

Why the method fails there. Near the nose the two solution branches approach each other, the Jacobian becomes near-singular, and the iteration's contraction ratio \(\mu\) rises towards 1. At \(k = 3.0\) it takes 86 sweeps against 24 at \(k = 1.0\); a little further and \(\mu\) exceeds unity and the iteration diverges.

The diagnosis matters. A non-converging load flow admits two very different readings:

\[ \begin{array}{ll} \text{"The solver failed"} & \text{try Newton, a better start, or damping} \\ \text{"The system has no solution"} & \text{shed load or add reactive support} \end{array} \]

Only the second is an engineering finding, and distinguishing them requires either a more robust solver or a continuation method that traces the P–V curve to its nose. Confusing the two is the commonest error in interpreting a failed case.

A load flow that fails to converge is a result, and reporting it as a computational problem discards it. The five-bus system here collapses at 3.16 times its base load, and that number — the loadability margin — is precisely what a voltage-stability assessment is after. The method's failure at 3.0 obscures the system's failure at 3.16, and the whole case for Newton-based continuation methods is that they can tell the two apart.
AnswerGauss–Seidel fails beyond \(k = 3.0\), but a solution exists to \(k = 3.16\) — a total load of 4.58 pu, which is the voltage-collapse point
Problem 19AnalysisCost and Scaling

Count the arithmetic per sweep, establish how the total cost scales with system size, and compare with Newton–Raphson.

Solution

Per bus per sweep, the operations are:

\[ \begin{array}{ll} \text{One complex division} & S^{*}/V^{*} \\ d\ \text{complex multiply--adds} & \sum_{j\ne i}Y_{ij}V_j,\ d = \text{degree} \\ \text{One complex division} & \text{by } Y_{ii} \\ \text{One multiply--add} & \text{the acceleration} \end{array} \]

About \(d+3\) complex operations, and \(d\) averages 3 in a real network. Call it 6 complex operations per bus.

Per sweep, therefore, the cost is proportional to \(n\) — not \(n^{2}\), because the sum runs only over the actual neighbours. Gauss–Seidel exploits sparsity automatically, without any of the ordering machinery of Set 17.

The number of sweeps grows with \(n\) too. Information travels one bus per sweep, so the count is bounded below by the network's diameter, which grows roughly as \(\sqrt{n}\) for a planar network but is observed to give:

\[ \begin{array}{lcc} \text{Buses} & \text{Sweeps (typical)} & \text{Total cost} \\ \hline 5 & 20\text{--}40 & \sim10^{2} \\ 100 & \sim150 & \sim10^{4} \\ 1000 & \sim500 & \sim5\times10^{5} \\ 10\,000 & \text{often fails} & - \end{array} \]

So the total is \(O(n^{1.5})\) to \(O(n^{2})\) — and beyond about a thousand buses the iteration count grows faster than the size, and reliability collapses.

Against Newton–Raphson:

\[ \begin{array}{lll} & \text{Gauss--Seidel} & \text{Newton--Raphson} \\ \hline \text{Per iteration} & O(n) & O(n^{1.4})\ \text{sparse} \\ \text{Iterations} & 20\text{--}500,\ \text{grows with } n & 3\text{--}5,\ \textbf{independent of } n \\ \text{Total} & O(n^{1.5\text{--}2}) & O(n^{1.4}) \\ \text{Memory} & \text{one vector} & \text{the factorised Jacobian} \\ \text{Reliability} & \text{poor when stressed} & \text{good, with a decent start} \end{array} \]

The decisive row is the second. Newton's iteration count does not grow with the system, so the crossover comes early — at perhaps 20 to 50 buses, and certainly by 100.

Gauss–Seidel's one remaining advantage is memory: one voltage vector against a factorised Jacobian. That mattered greatly in 1960, when core memory was measured in kilowords, and it is why the method dominated for a decade. It does not matter now.

Where it survives. As an initialiser — two or three Gauss–Seidel sweeps from a flat start cost almost nothing and give Newton a better starting point than the flat profile, improving its reliability on difficult cases. That is its role in modern software, and it is a real one.

Newton–Raphson's independence of system size is the property that ended Gauss–Seidel's dominance, and it is worth stating precisely: a 10 000-bus network takes the same four or five iterations as a five-bus one. All the growth is in the cost of each iteration, and sparse factorisation keeps that nearly linear. The method that scales is the method that wins, regardless of how simple the alternative is.
Answer\(O(n)\) per sweep but a sweep count growing with \(n\), so \(O(n^{1.5}\text{--}n^{2})\) overall; Newton's iteration count is independent of size and it wins above about 50 buses
Problem 20ChallengeA Complete Study

Present the five-bus load flow as a complete study: the solution, the flows, the losses, the limit checks, and the engineering findings.

Solution

The bus solution:

\[ \begin{array}{lcccc} \text{Bus} & |V| & \delta\ (\text{deg}) & P\ (\text{MW}) & Q\ (\text{MVAr}) \\ \hline 1 & 1.0600 & 0.00 & +129.59 & -7.42 \\ 2 & 1.0474 & -2.81 & +20.00 & +20.00 \\ 3 & 1.0242 & -5.00 & -45.00 & -15.00 \\ 4 & 1.0236 & -5.33 & -40.00 & -5.00 \\ 5 & 1.0179 & -6.15 & -60.00 & -10.00 \end{array} \]

The branch summary, ordered by loading:

\[ \begin{array}{lcccc} \text{Line} & P\ (\text{MW}) & Q\ (\text{MVAr}) & S\ (\text{MVA}) & \text{Loss (MW)} \\ \hline 1\text{--}2 & 88.86 & -8.58 & 89.27 & 1.410 \\ 2\text{--}5 & 54.82 & +7.34 & 55.31 & 1.125 \\ 1\text{--}3 & 40.72 & +1.16 & 40.74 & 1.192 \\ 2\text{--}4 & 27.94 & +2.96 & 28.10 & 0.441 \\ 2\text{--}3 & 24.69 & +3.55 & 24.94 & 0.352 \\ 3\text{--}4 & 18.87 & -5.20 & 19.57 & 0.036 \\ 4\text{--}5 & 6.33 & -2.28 & 6.73 & 0.031 \end{array} \]

Sending-end quantities. Total loss 4.587 MW, 3.2% of the 145 MW load.

The limit checks:

\[ \begin{array}{lll} \text{Voltage } 0.95\text{--}1.05\ \text{pu} & \text{all buses } 1.018\text{--}1.047 & \checkmark \\ \text{Angle spread} & 6.15^\circ & \checkmark\ \text{well inside limits} \\ \text{Slack output} & 129.6\ \text{MW} & \text{must be within the machine's rating} \\ \text{Slack reactive} & -7.4\ \text{MVAr} & \text{under-excited; check the capability curve} \\ \text{Branch loading} & \text{max } 89.3\ \text{MVA on } 1\text{--}2 & \text{check against rating} \end{array} \]

Only bus 1's voltage is at the 1.06 specified value, above the 1.05 operating band — but it is the slack and was set there deliberately.

Finding 1 — the system is lightly loaded relative to its charging. The network generates 17.4 MVAr net and the slack absorbs 7.4. Under-excited operation is the reactive constraint here, not over-excited, and the remedy if it becomes binding is a shunt reactor rather than a capacitor.

Finding 2 — line 1–2 is the critical circuit. It carries 89 MVA, 31% of the losses, and — from the contingency analysis of Set 17 — rises to 125 MW on the loss of 1–3. Its rating governs the whole case.

Finding 3 — buses 3 and 4 are one bus. Their voltages differ by 0.0006 pu and their angles by 0.33°. The \(0.01+j0.03\) tie makes them electrically indistinguishable, which the impedance matrix of Set 18 said and the load flow confirms. Any study not concerned with the flow on that particular line could merge them.

Finding 4 — the loadability margin is 3.16. From Problem 18, the system collapses at 3.16 times its present load. That is a comfortable margin by any standard, and it is the single number a voltage-stability assessment would report.

A load flow produces eight numbers and the study produces four findings, and the gap between them is the work. The voltages are the calculation; the reactive regime, the critical circuit, the redundant bus and the loadability margin are the engineering — and none of them is in the output table. That is why load-flow results are read rather than reported, and why the same converged case supports quite different conclusions depending on the question being asked.
AnswerAll voltages within band, 4.59 MW of loss, line 1–2 critical at 89 MVA, network a net var source, and a loadability margin of 3.16
Practice

Practice Problems

Work each on paper before opening the answer. The answer is given so you can check yourself; the method is deliberately not.

  1. P1. What makes the load-flow equations nonlinear?

    Show answer
    The injection is specified as power, so \(I = S^{*}/V^{*}\) and the equation becomes \(S^{*} = V^{*}\sum Y V\)quadratic in the voltages. Problem 1.
  2. P2. A 30-bus system has 5 PV buses. How many unknowns has its load flow?

    Show answer
    \(2(n-1) - n_{PV} = 58 - 5 = \mathbf{53}\).
  3. P3. Why must exactly one bus be the slack?

    Show answer
    The losses are unknown until the solution exists, so one bus must be free to supply them — and it also fixes the angle reference. Problem 2.
  4. P4. A PQ bus has \(S = -0.5-j0.2\) and a current estimate of \(V = 0.98-j0.04\). Find \(S^{*}/V^{*}\).

    Show answer
    \((-0.5+j0.2)/(0.98+j0.04) = \mathbf{-0.5010 + j0.2245}\).
  5. P5. What distinguishes Gauss–Seidel from the Gauss (Jacobi) method?

    Show answer
    Seidel uses each updated voltage immediately within the same sweep; Jacobi uses only the previous sweep's values. Seidel converges about twice as fast and needs half the memory. Problem 3.
  6. P6. An iteration's error falls by a factor 0.8 each sweep. How many sweeps to reduce it by \(10^{4}\)?

    Show answer
    \(\ln(10^4)/\ln(1/0.8) = 9.21/0.223 = \mathbf{41}\) sweeps.
  7. P7. With \(V^{(k)} = 1.02\angle-3^\circ\) and \(V^{(k+1)} = 1.03\angle-3.5^\circ\), apply \(\alpha = 1.5\).

    Show answer
    In rectangular: \(1.01860-j0.05338\) and \(1.02808-j0.06288\). Accelerated: \(1.01860+1.5(0.00948) - j[0.05338+1.5(0.00950)] = \mathbf{1.03282 - j0.06763}\), i.e. \(1.03503\angle-3.75^\circ\).
  8. P8. How is \(Q\) found at a PV bus?

    Show answer
    \(Q_i = -\operatorname{Im}\left[V_i^{*}\sum_j Y_{ij}V_j\right]\), recomputed every sweep from the current voltage estimates. Problem 11.
  9. P9. A PV bus needs \(Q = 0.32\) but its machine can supply only 0.25. What happens?

    Show answer
    \(Q\) is fixed at 0.25 and the bus becomes PQ; its voltage then settles below the target. Problem 12.
  10. P10. Total generation is 1.60 pu and total load 1.55. What are the losses?

    Show answer
    \(\mathbf{0.05}\) pu, or 5 MW on a 100 MVA base — 3.2% of load.
  11. P11. A line has \(S_{ij} = 0.50+j0.10\) and \(S_{ji} = -0.49-j0.14\). Find its losses.

    Show answer
    The sum, not the difference: \(\mathbf{0.01 - j0.04}\) pu. The negative \(Q\) means the line is a net var source.
  12. P12. A load flow fails to converge. Name the two possible explanations and how to tell them apart.

    Show answer
    Either the method failed or no solution exists. Distinguish with a more robust solver or a continuation method that traces the P–V curve to its nose. Problem 18.
Challenge

Challenge Problems

Three problems on why the method behaves as it does, and on what a converged answer does and does not establish.

  1. C1 — Why the angles are slow. Problem 6 observed that magnitudes settle in two sweeps and angles take forty. Explain the mechanism, predict how the sweep count should scale with the network's diameter, and test the prediction by re-solving with the buses swept in reverse order.

    Show answer

    The mechanism. A bus's magnitude is set principally by its own injection and its immediate neighbours — the \(S^{*}/V^{*}\) term and the diagonal dominate. Its angle is set by its position in the chain of power flow between it and the slack, and the only way that information propagates is one branch per sweep, through the neighbour sum.

    The prediction. The slack's influence reaches a bus \(d\) branches away only at sweep \(d\), so the sweep count is bounded below by the network diameter, and the error's slowest-decaying mode has a contraction ratio approaching \(1 - c/d\). For this network the diameter from bus 1 is 2 (bus 5 is 1–2–5), which is small — and yet 43 sweeps are needed, so diameter is a lower bound rather than an estimate. The 0.78 ratio comes from the near-equality of diagonal and off-diagonal sums that Set 16 found, not from the diameter.

    The sweep-order test, and it does not go as expected. Sweeping 2, 3, 4, 5 propagates the slack's influence outward with the flow of power; sweeping 5, 4, 3, 2 propagates it against the flow. Measured:

    \[ \begin{array}{lcc} \text{Order} & \alpha = 1.0 & \alpha = 1.4 \\ \hline 2,3,4,5 & 43 & 17 \\ 5,4,3,2 & 40 & 16 \end{array} \]

    The reverse order is marginally faster — the opposite of the prediction, by about 7%. The reason is that this network is meshed and its diameter from the slack is only 2: bus 2 is adjacent to the slack and to all three of the others, so almost every bus is one step from fresh information whichever way the sweep runs. The propagation argument needs a long path to bite.

    The prediction does hold where the diameter is large. On a radial feeder of twenty buses, sweeping from the source outward converges in roughly half the sweeps of the reverse, because each sweep then advances the solution one bus along the chain. The lesson is that sweep ordering matters in proportion to the network's diameter, and a meshed transmission system has almost none. That is also why the observed \(\mu = 0.78\) comes from the near-equality of diagonal and off-diagonal sums that Set 16 found, rather than from any propagation delay.

  2. C2 — The solution that is not the answer. Gauss–Seidel converged to the high-voltage solution from a flat start. Show that a different start reaches a different solution, that both satisfy the equations exactly, and explain how to tell which one an operator wants.

    Show answer

    Both roots are genuine. The load-flow equations are quadratic, and Set 15's two-bus analysis found exactly two real roots for any load below the nose. On the five-bus system, starting from a flat profile finds the high-voltage root; starting from voltages near 0.4 pu can find a low-voltage one where the same power is delivered at roughly three times the current.

    Both satisfy the equations exactly. Recomputing the injections from the low-voltage solution reproduces the specified \(P\) and \(Q\) to full precision. Nothing in the mismatch check distinguishes them — which is the uncomfortable part.

    Three ways to tell them apart:

    \[ \begin{array}{ll} \text{Voltage magnitude} & \text{the operating root is near 1.0 pu} \\ \text{Current} & \text{the low root draws several times the current} \\ \text{Stability} & \text{the low root is dynamically } \textit{unstable} \end{array} \]

    The third is decisive and is the real reason the low root is uninteresting: on the lower branch, \(\partial V/\partial P > 0\) — increasing the load raises the voltage — which is the signature of an unstable equilibrium. A system perturbed away from it does not return.

    Why it matters anyway. Near the nose the two roots approach each other, and an iteration started from a flat profile can land on the wrong branch. The margin to collapse — the distance between the operating point and the nose — is computed by tracing the curve with a continuation method rather than by solving at a point, precisely because a point solution cannot say which branch it is on.

    And the general warning: a converged load flow with a full mismatch check is a proof that the equations are satisfied and nothing more. Whether the answer is the operating point is a judgement about the voltages, not a result of the calculation.

  3. C3 — What the acceleration factor is really doing. Derive the relationship between the optimal \(\alpha\) and the contraction ratio \(\mu\) for a single error mode, explain why the observed optimum of 1.4 is so much smaller than that formula predicts, and propose a practical adaptive scheme.

    Show answer

    Single-mode analysis. With one error mode decaying as \(e_{k+1} = \mu e_k\), the unaccelerated step covers \((1-\mu)\) of the remaining distance. Accelerating by \(\alpha\) gives

    \[ e_{k+1} = \left[1 - \alpha(1-\mu)\right]e_k \]

    which vanishes when \(\alpha(1-\mu) = 1\), i.e.

    \[ \alpha_{\text{opt}} = \frac{1}{1-\mu} = \frac{1}{1-0.78} = 4.5 \]

    One sweep would converge exactly — if there were only one mode.

    Why 4.5 fails. The error is a mixture of modes with different \(\mu\), from near 0.78 down to near 0. For a mode with \(\mu = 0\) the accelerated factor is \(1-\alpha\), which for \(\alpha = 4.5\) is \(-3.5\) — divergent, and oscillating in sign. Stability requires

    \[ \left|1-\alpha(1-\mu)\right| < 1 \quad\text{for } \textit{every }\text{mode} \quad\Rightarrow\quad \alpha < \frac{2}{1-\mu_{\min}} \]

    With \(\mu_{\min} \approx 0\) that gives \(\alpha < 2\) — matching the observed divergence beyond 1.8 and the theoretical bound for over-relaxation.

    The best \(\alpha\) equalises the accelerated factors of the extreme modes: \(1-\alpha(1-\mu_{\max}) = -(1-\alpha)\), giving \(\alpha = 2/(2-\mu_{\max}) = 2/1.22 = 1.64\). Close to the observed range, and the discrepancy with the measured 1.4 reflects that the load flow is nonlinear and the mode structure changes as it converges.

    A practical adaptive scheme:

    \[ \begin{array}{ll} 1 & \text{Run three sweeps at } \alpha = 1 \\ 2 & \text{Estimate } \mu = \|\Delta V^{(3)}\|/\|\Delta V^{(2)}\| \\ 3 & \text{Set } \alpha = 2/(2-\mu) \\ 4 & \text{Re-estimate every five sweeps and reset} \end{array} \]

    It costs three unaccelerated sweeps and a division, and it removes the guesswork. That it is rarely implemented says something about the method's remaining importance rather than about the idea.

Self-Test

Multiple-Choice Questions

  1. MCQ 1. The load-flow equations are nonlinear because:
    (a) \(\mathbf{Y}_{\text{bus}}\) is complex   (b) injections are specified as power   (c) the network is meshed   (d) of transformer taps

    Show answer
    (b). \(I = S^{*}/V^{*}\) makes the system quadratic. Problem 1.
  2. MCQ 2. At a PQ bus the unknowns are:
    (a) \(P\) and \(Q\)   (b) \(|V|\) and \(\delta\)   (c) \(Q\) and \(\delta\)   (d) \(P\) and \(|V|\)

    Show answer
    (b). Option (c) is the PV bus and (d) is what a PV bus specifies. Problem 2.
  3. MCQ 3. The slack bus exists because:
    (a) a reference angle is needed   (b) the losses are unknown in advance   (c) both   (d) neither

    Show answer
    (c). Both reasons are real and independent. Problem 2.
  4. MCQ 4. Gauss–Seidel differs from Jacobi in that it:
    (a) uses acceleration   (b) uses updated values within the same sweep   (c) needs the Jacobian   (d) handles PV buses

    Show answer
    (b) — about twice the convergence rate and half the memory. Problem 3.
  5. MCQ 5. Gauss–Seidel converges:
    (a) quadratically   (b) linearly   (c) cubically   (d) in one step

    Show answer
    (b), with ratio \(\mu \approx 0.78\) here — each sweep removes 22% of the error, forever. Problem 8.
  6. MCQ 6. A typical acceleration factor is:
    (a) 0.5   (b) 1.0   (c) 1.4–1.6   (d) 4.5

    Show answer
    (c). The single-mode formula gives 4.5, but the fastest-decaying mode limits it to under 2. Challenge C3.
  7. MCQ 7. At a PV bus, \(Q\) is:
    (a) specified   (b) recomputed every sweep   (c) zero   (d) taken from the previous case

    Show answer
    (b), from \(Q_i = -\operatorname{Im}[V_i^{*}\sum_j Y_{ij}V_j]\), followed by rescaling the voltage to its specified magnitude. Problem 11.
  8. MCQ 8. When a PV bus hits its reactive limit it:
    (a) diverges   (b) becomes a PQ bus at the limit   (c) becomes the slack   (d) is removed

    Show answer
    (b), and its voltage then falls below target. Problem 12.
  9. MCQ 9. The loss in a line is:
    (a) \(S_{ij}-S_{ji}\)   (b) \(S_{ij}+S_{ji}\)   (c) \(|S_{ij}|-|S_{ji}|\)   (d) \(S_{ij}/S_{ji}\)

    Show answer
    (b). Both are defined flowing into the line, so their sum is what the line kept. Problem 15.
  10. MCQ 10. A negative reactive loss on a line means:
    (a) an error   (b) the line is below its SIL   (c) the line is above its SIL   (d) the line is open

    Show answer
    (b) — charging exceeds \(I^{2}X\), so the line is a net var source. Six of this network's seven lines are. Problem 15.
  11. MCQ 11. Compared with an AC load flow, the DC power flow's branch flows here are:
    (a) higher   (b) lower   (c) identical   (d) randomly different

    Show answer
    (b), by 0.07% to 3.9% — systematically low, because it omits the losses. Problem 17.
  12. MCQ 12. Newton–Raphson's decisive advantage over Gauss–Seidel is that:
    (a) each iteration is cheaper   (b) it uses less memory   (c) its iteration count does not grow with system size   (d) it is simpler

    Show answer
    (c). Three to five iterations for five buses or for ten thousand. Problem 19.
Reference

Key Formulas

QuantityRelationNotes
Power-flow equation\(S_i^{*} = V_i^{*}\sum_j Y_{ij}V_j\)Quadratic and non-analytic
GS iteration\(V_i^{(k+1)} = \dfrac{1}{Y_{ii}}\left[\dfrac{S_i^{*}}{(V_i^{(k)})^{*}} - \sum_{j\ne i}Y_{ij}V_j\right]\)Newest \(V_j\) used immediately
Acceleration\(V^{\text{acc}} = V^{(k)} + \alpha(V^{(k+1)}-V^{(k)})\)\(1.4 \le \alpha \le 1.7\); \(\alpha < 2\) for stability
PV bus reactive\(Q_i = -\operatorname{Im}\left[V_i^{*}\sum_j Y_{ij}V_j\right]\)Then rescale \(|V_i|\)
Unknown count\(2(n-1) - n_{PV}\)Square system
Convergence order\(e_{k+1} = \mu e_k\), \(\mu \approx 0.78\)Linear; nine sweeps per decimal
Sweeps for tolerance\(k = \ln F/\ln(1/\mu)\)\(F\) = error reduction factor
Optimal \(\alpha\)\(\alpha \approx 2/(2-\mu)\)Balances the extreme modes
Slack power\(S_1 = V_1\left(\sum_j Y_{1j}V_j\right)^{*}\)Computed once, at the end
Line flow\(S_{ij} = V_i\left[(V_i-V_j)y_{ij} + V_i\,j\tfrac{B}{2}\right]^{*}\)Charging included
Line loss\(S_{ij}+S_{ji}\)Sum, not difference
Real loss\(\sum |I_{\text{series}}|^{2}R\)Independent check on the slack
Reactive balance\(\sum \tfrac{B}{2}(|V_i|^2+|V_j|^2) - \sum|I|^{2}X\)Sign says above or below SIL
Total cost\(O(n)\) per sweep, \(O(n^{1.5\text{--}2})\) overallAgainst Newton's \(O(n^{1.4})\)
Diagnostics

Common Mistakes

  1. Omitting the conjugate in \(S^{*}/V^{*}\). The iteration then converges smoothly to the wrong answer — the worst kind of error — Problem 3.

  2. Using the previous sweep's values throughout. That is Jacobi, and it takes about twice as many sweeps — Problem 3.

  3. Updating the slack bus. Its voltage is specified and must never be touched by the iteration — Problem 3.

  4. Specifying \(P\) at every bus. The problem is then over-determined, because the losses are unknown — Problem 2.

  5. Testing convergence on the voltage change alone. A slow iteration can have a small step and a large power mismatch; test the mismatch — Problem 3.

  6. Reporting a converged case without checking the mismatch. Convergence proves a fixed point was reached, not that it is the right one — Problem 7.

  7. Using \(\alpha > 1.8\). The count rises steeply and then diverges; the theoretical bound is 2 — Problems 10 and C3.

  8. Forgetting to rescale a PV bus's voltage. Without step 3 it is simply a PQ bus with a guessed \(Q\) — Problem 11.

  9. Ignoring reactive limits. The case then represents a system with infinite reactive capability, which no system has — Problem 12.

  10. Taking the line loss as the difference of the end flows. It is the sum, both being defined into the line — Problem 15.

  11. Reporting a non-converging case as a computational failure. It may be a system with no solution, and that is an engineering finding — Problem 18.

  12. Accepting a converged answer without looking at the voltages. A low-voltage root satisfies the equations exactly and is dynamically unstable — Challenge C2.

Looking Ahead

The five-bus system now has an exact solution: voltages from 1.018 to 1.060 pu, angles spanning 6.15°, 4.59 MW of loss and a network that generates 17.4 MVAr of its own. It took 43 sweeps, or 17 with acceleration, and the method's linear convergence and one-bus-per-sweep information flow are both visible in the arithmetic. The same solution will be reproduced in Set 20 by a method that reaches it in four iterations.

Set 20 replaces the fixed-point iteration by Newton's method: expand the mismatch to first order, solve a linear system for the correction, repeat. The Jacobian must be built and factorised at every step — expensive — but the convergence is quadratic and the iteration count is independent of system size. The comparison between the two on this same network closes Part 4, and Part 5 turns to the unsymmetrical faults that symmetrical components make tractable.