Solved Problems · Set 17

The Bus Admittance Matrix

Part 4 · Network Matrices — what the matrix is used for once it exists: reduced, factorised, approximated, and read for the sensitivities an operator needs. Chapter 16 of the textbook.

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

Set 17 — The Bus Admittance Matrix

Twenty worked problems on the matrix as a tool rather than an object. Buses carrying no injection can be eliminated exactly, turning a large network into a small equivalent; the same elimination, stopped early, is the factorisation that solves the network. Dropping the resistances and the voltage magnitudes gives a linear model accurate enough for most of what a control room does, and differentiating that model gives the sensitivities on which every contingency screen depends. The five-bus system of Set 16 carries throughout.

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

i Method Recap
  • Kron reduction. Eliminating bus \(p\), which carries no injection, gives \(Y_{ij}^{\text{new}} = Y_{ij} - \dfrac{Y_{ip}Y_{pj}}{Y_{pp}}\). It is one step of Gaussian elimination, and it is exact — no approximation is involved.

  • Elimination creates fill-in. Removing a bus of degree \(d\) connects all \(d(d-1)/2\) pairs of its neighbours. Eliminating low-degree buses first is the standard ordering, and on the five-bus system it makes the difference between zero fill-in and six new terms.

  • \(\mathbf{Z}_{\text{bus}} = \mathbf{Y}_{\text{bus}}^{-1}\) is full. Every bus is connected to every other through some path, so no element of the impedance matrix is zero. Sparsity is a property of admittance alone.

  • A load-flow \(\mathbf{Y}_{\text{bus}}\) must not be inverted for a fault study. Without generator reactances the only path to ground is the line charging, so the inverse is nearly uniform and enormous. The machines must be added to the diagonals first.

  • The DC power flow. Setting \(r = 0\), \(|V| = 1\) and \(\sin\delta \approx \delta\) gives \(\mathbf{P} = \mathbf{B}\boldsymbol{\theta}\) — linear, non-iterative, always convergent, and typically within a few per cent on real power.

  • Distribution factors. Because the DC model is linear, the redistribution of flow after an outage is a fixed set of ratios independent of the loading. One matrix of factors screens every contingency without a single further solution.

  • Conditioning. The load-flow matrix of the five-bus system has a condition number of 1253; adding generator reactances brings it to 49. A weak connection to the reference is what makes a network matrix ill-conditioned.

VideoWalkthrough
Problem 1FoundationProperties

List the structural properties of the bus admittance matrix, verify each on the five-bus matrix of Set 16, and state which of them survive the presence of a phase shifter.

Solution

The six properties that every algorithm in Part 4 relies on:

\[ \begin{array}{lll} 1 & \text{Square, } n\times n & \text{one row per bus, reference deleted} \\ 2 & \text{Symmetric} & Y_{ij} = Y_{ji} \\ 3 & \text{Sparse} & \text{fill} \approx 4/n \\ 4 & \text{Complex, } G + jB & G \ \text{small compared with } B \\ 5 & \text{Row sums} = y_{i0} & \text{the shunt at that bus} \\ 6 & \text{Non-singular} & \text{provided some shunt path exists} \end{array} \]

Property 4 quantified. Splitting the five-bus matrix:

\[ \mathbf{Y} = \mathbf{G} + j\mathbf{B}, \qquad \frac{|G_{ij}|}{|B_{ij}|} = \frac{1}{3}\ \text{for every entry} \]

Because every line in this system has \(x/r = 3\). In a real 400 kV network the ratio is 8 to 15, and it is that dominance of \(\mathbf{B}\) over \(\mathbf{G}\) which justifies the decoupling of Problems 12 and 17.

Property 6 verified. The determinant is non-zero and the matrix inverts — but only just. Its condition number is 1253, which Problem 11 shows is a warning rather than a reassurance.

Under a phase shifter, property 2 fails and properties 5 and 6 need care:

\[ \begin{array}{lll} \text{Symmetry} & \text{lost} & Y_{ij} = -y/a^{*} \ne -y/a = Y_{ji} \\ \text{Row sums} & \text{no longer the shunt} & \text{fictitious terms appear} \\ \text{Sparsity} & \text{unaffected} & \text{topology unchanged} \\ \text{Non-singularity} & \text{unaffected} & - \end{array} \]

An off-nominal real tap keeps the symmetry and breaks only the row-sum property. Only the complex tap breaks symmetry.

What each property buys. The list is not decorative — each one is exploited by name:

\[ \begin{array}{ll} \text{Symmetry} & \text{halves the storage and permits } \mathbf{L}\mathbf{D}\mathbf{L}^{T} \\ \text{Sparsity} & \text{turns } O(n^{3}) \text{ into } O(n) \\ \text{Dominance of } \mathbf{B} & \text{permits the decoupled and DC models} \\ \text{Row sums} & \text{the verification of Set 16} \\ \text{Non-singularity} & \text{makes } \mathbf{Z}_{\text{bus}} \text{ exist} \end{array} \]
The matrix is not merely a convenient container; its structure is what makes large-scale analysis tractable. A dense, asymmetric, ill-conditioned matrix of the same size would be useless, and the fact that a power network produces a sparse, symmetric, weakly-dominant one is a consequence of physical facts — that substations have few circuits, that passive elements are reciprocal, and that transmission lines are mostly reactive.
AnswerSquare, symmetric, sparse, complex with \(|B| \gg |G|\), row sums equal to the shunts, non-singular; a phase shifter destroys the symmetry and the row-sum property
Problem 2AnalysisSolving the System

Given the injections at every bus, the voltages follow from \(\mathbf{V} = \mathbf{Y}^{-1}\mathbf{I}\). Explain why no program ever computes that inverse, and set out what is done instead.

Solution

Three separate objections to forming the inverse, in increasing order of importance:

\[ \begin{array}{lll} \text{Cost} & \text{inversion is } \sim3\times\text{ a factorisation} & \text{a constant factor} \\ \text{Accuracy} & \text{inversion loses digits unnecessarily} & \text{a small factor} \\ \text{Sparsity} & \mathbf{Y}^{-1} \text{ is } \textit{full} & \text{a factor of } n \end{array} \]

The third is decisive. A 10 000-bus network's \(\mathbf{Y}\) has 40 000 non-zeros and its inverse has \(10^{8}\).

What is done instead — triangular factorisation. Write \(\mathbf{Y} = \mathbf{L}\mathbf{U}\) and solve in two passes:

\[ \mathbf{L}\mathbf{w} = \mathbf{I} \quad\text{(forward)} \qquad \mathbf{U}\mathbf{V} = \mathbf{w} \quad\text{(back)} \]

And because \(\mathbf{Y}\) is symmetric, the sharper form \(\mathbf{Y} = \mathbf{L}\mathbf{D}\mathbf{L}^{T}\) stores only \(\mathbf{L}\) and \(\mathbf{D}\) — half the work and half the memory.

The factors inherit the sparsity, up to the fill-in of Problem 5. With good ordering the number of non-zeros in \(\mathbf{L}\) is a small multiple of that in \(\mathbf{Y}\), so the factorisation is a sparse object and the two substitutions are \(O(n)\) rather than \(O(n^{2})\).

The decisive economy is re-use. A load flow solves the same network with a different right-hand side at every iteration:

\[ \begin{array}{ll} \text{Factorise once} & O(n)\ \text{with ordering, done at the start} \\ \text{Substitute per iteration} & O(n),\ \text{a small fraction of the factorisation} \\ \text{Refactorise} & \text{only when the network changes} \end{array} \]

A contingency study exploits this to the limit: factorise the intact network once, then handle each outage by a rank-one correction to the solution rather than a new factorisation — which is exactly what the distribution factors of Problem 16 are.

And there is a deeper reason. The load-flow problem is not \(\mathbf{I} = \mathbf{Y}\mathbf{V}\) at all. The injections are specified as power, so

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

which depends on the unknown voltage. The system is nonlinear and no inverse solves it in one step; the linear solve above is only the inner loop of an iteration. Sets 19 and 20 are two ways of wrapping it.

"Invert the matrix" is almost never the right instruction in numerical work, and power systems is where the point is sharpest. The inverse of a sparse matrix is full, so forming it destroys the one property that made the problem tractable. When \(\mathbf{Z}_{\text{bus}}\) is genuinely wanted — for fault studies — it is built by the algorithm of Set 18, which constructs it directly rather than by inverting anything.
AnswerThe inverse is full where \(\mathbf{Y}\) is sparse; \(\mathbf{L}\mathbf{D}\mathbf{L}^{T}\) factorisation preserves sparsity and is re-used across iterations
Problem 3Exam levelKron Reduction

Derive the Kron reduction formula for eliminating a bus that carries no injected current, and show that it is exact.

Solution

The condition. Bus \(p\) has \(I_p = 0\) — no generator, no load, no shunt injection. A pure junction. Its row of the nodal equation reads

\[ 0 = \sum_{j} Y_{pj}V_j = Y_{pp}V_p + \sum_{j\ne p}Y_{pj}V_j \]

Solve for the eliminated voltage:

\[ V_p = -\frac{1}{Y_{pp}}\sum_{j\ne p}Y_{pj}V_j \]

The voltage at a junction is determined by its neighbours — it carries no independent information, which is precisely why it can be removed without loss.

Substitute into every other row. Row \(i\) is

\[ I_i = Y_{ip}V_p + \sum_{j\ne p}Y_{ij}V_j = -\frac{Y_{ip}}{Y_{pp}}\sum_{j\ne p}Y_{pj}V_j + \sum_{j\ne p}Y_{ij}V_j \]
\[ = \sum_{j\ne p}\left(Y_{ij} - \frac{Y_{ip}Y_{pj}}{Y_{pp}}\right)V_j \]

The reduced matrix:

\[ \boxed{\;Y_{ij}^{\text{new}} = Y_{ij} - \frac{Y_{ip}Y_{pj}}{Y_{pp}}\;} \]

Applied to every \(i, j \ne p\). The result is \((n-1)\times(n-1)\) and describes the remaining buses exactly — no approximation entered anywhere. All that was used was \(I_p = 0\).

It is Gaussian elimination. The formula is precisely one pivot step on row and column \(p\). Kron reduction, node elimination, Gaussian elimination and the Schur complement are four names for the same operation:

\[ \mathbf{Y} = \begin{bmatrix}\mathbf{Y}_{KK} & \mathbf{Y}_{Kp}\\ \mathbf{Y}_{pK} & Y_{pp}\end{bmatrix} \Rightarrow \mathbf{Y}^{\text{new}} = \mathbf{Y}_{KK} - \mathbf{Y}_{Kp}Y_{pp}^{-1}\mathbf{Y}_{pK} \]

In block form the same expression eliminates a whole group of buses at once — which is how the external equivalents of Problem 18 are computed.

The physical reading. \(-Y_{ip}Y_{pj}/Y_{pp}\) is a new admittance between buses \(i\) and \(j\) representing the path through the eliminated bus. For the simple case of a bus joining just two others by \(y_1\) and \(y_2\):

\[ Y_{12}^{\text{new}} = 0 - \frac{(-y_1)(-y_2)}{y_1+y_2} = -\frac{y_1y_2}{y_1+y_2} \]

which is two admittances in series — the elementary result, recovered. Eliminating a bus of degree three gives the star–delta transformation, and of degree \(d\) the star–mesh.

Elimination is exact only for a bus with no injection, and that restriction is what limits its use. A load bus cannot be Kron-reduced away, because \(I_p \ne 0\) and the term dropped is not zero. Representing an external system by an equivalent therefore requires either that its injections be moved to the boundary as equivalent sources — the Ward equivalent — or that its loads be converted to constant impedances and absorbed into the diagonals first.
Answer\(Y_{ij}^{\text{new}} = Y_{ij} - Y_{ip}Y_{pj}/Y_{pp}\) — exact, and identical to one step of Gaussian elimination
Problem 4Exam levelEliminating a Bus

Eliminate bus 3 from the five-bus matrix and present the reduced \(4\times4\). Identify what has appeared and what has changed.

Solution

The pivot is \(Y_{33} = 12.9167 - j38.6950\), and the third row and column are

\[ \mathbf{Y}_{K3} = \begin{bmatrix}-1.25+j3.75 \\ -1.6667+j5.0 \\ -10.0+j30.0 \\ 0\end{bmatrix} \quad\text{for buses } 1, 2, 4, 5 \]

One entry in full. For \(i = 1\), \(j = 4\), which was zero:

\[ Y_{14}^{\text{new}} = 0 - \frac{(-1.25+j3.75)(-10.0+j30.0)}{12.9167-j38.6950} \]
\[ = -\frac{(12.5 - j37.5 - j37.5 + j^{2}112.5)}{12.9167-j38.6950} = -\frac{-100 - j75}{12.9167 - j38.6950} = -0.96774 + j2.90735 \]

Buses 1 and 4, previously unconnected, now have a direct term — the path through bus 3.

The reduced matrix for buses 1, 2, 4, 5:

\[ \mathbf{Y}^{\text{red}} = \begin{bmatrix} 6.1290-j18.3316 & -5.1613+j15.4846 & -0.9677+j2.9074 & 0 \\ -5.1613+j15.4846 & 10.6183-j31.7689 & -2.9570+j8.8765 & -2.5000+j7.5000 \\ -0.9677+j2.9074 & -2.9570+j8.8765 & 5.1748-j15.4362 & -1.2500+j3.7500 \\ 0 & -2.5000+j7.5000 & -1.2500+j3.7500 & 3.7500-j11.2100 \end{bmatrix} \]

What appeared. One new connection, 1–4, where none existed. Bus 3 had degree three — neighbours 1, 2 and 4 — so elimination should create up to \(3\times2/2 = 3\) new terms:

\[ \begin{array}{lll} 1\text{--}2 & \text{already existed} & \text{modified, not created} \\ 1\text{--}4 & \text{did not exist} & \textbf{created} \\ 2\text{--}4 & \text{already existed} & \text{modified, not created} \end{array} \]

Only one genuine fill-in, because two of the three neighbour pairs were already joined. The meshed structure of the network limited the damage.

What changed most. \(Y_{24}\) went from \(-1.6667+j5.0\) to \(-2.9570+j8.8765\) — the direct 2–4 branch plus the strong path through bus 3, whose 3–4 branch was the stiffest in the network. And \(Y_{44}\) fell from \(12.9167-j38.6950\) to \(5.1748-j15.4362\), because most of what made bus 4 stiff was its connection to the eliminated bus.

The check. Row 5 is untouched, since bus 5 was not adjacent to bus 3 and \(Y_{53} = 0\) kills every correction term in that row. That is the general rule: elimination touches only the eliminated bus's neighbours, which is why sparse elimination is cheap.

The reduced matrix is not an approximation of the network — it is a different, smaller network with exactly the same behaviour at the retained buses. Inject any currents at buses 1, 2, 4 and 5 and both matrices give the same four voltages. What is lost is only \(V_3\), which can be recovered afterwards from the neighbours by the substitution formula of Problem 3.
AnswerA \(4\times4\) with one new connection \(Y_{14} = -0.9677+j2.9074\); \(Y_{44}\) falls by 60% and row 5 is untouched
Problem 5AnalysisOrdering

Four buses are to be eliminated from the five-bus system, leaving one. Count the fill-in created by four different elimination orders, and state the rule.

Solution

The degrees in the intact network:

\[ \begin{array}{lcl} \text{Bus 1} & 2 & (2, 3) \\ \text{Bus 2} & 4 & (1, 3, 4, 5) \\ \text{Bus 3} & 3 & (1, 2, 4) \\ \text{Bus 4} & 3 & (2, 3, 5) \\ \text{Bus 5} & 2 & (2, 4) \end{array} \]

The counts, tracking new non-zeros created at each step:

\[ \begin{array}{lcl} \text{Order} & \text{New connections} & \text{Comment} \\ \hline 1, 5, 3, 4 & 0 & \text{lowest degree first} \\ 5, 1, 3, 4 & 0 & \text{equivalent} \\ 3, 4, 1, 5 & 2 & \text{middle degrees first} \\ 2, 3, 4, 5 & 3 & \text{highest degree first} \end{array} \]

Each new connection is two matrix entries, so the worst order fills six of the matrix's six zero positions and the best fills none.

Why eliminating bus 1 is free. Bus 1 has neighbours 2 and 3, which are already joined by a branch. The single pair it can connect is already connected, so the elimination modifies \(Y_{23}\) and creates nothing.

Why eliminating bus 2 first is costly. Bus 2's four neighbours are 1, 3, 4 and 5, giving six pairs:

\[ \begin{array}{lll} 1\text{--}3,\ 3\text{--}4 & \text{exist} & \text{modified} \\ 4\text{--}5 & \text{exists} & \text{modified} \\ 1\text{--}4,\ 1\text{--}5,\ 3\text{--}5 & \text{do not exist} & \textbf{3 created} \end{array} \]

Three new connections at the first step alone — and the matrix is now completely full, so the remaining eliminations create nothing further because there is nothing left to create.

The rule, and its limits. The standard heuristics, in increasing sophistication:

\[ \begin{array}{lll} \text{Scheme 1} & \text{order by initial degree} & \text{cheapest, static} \\ \text{Scheme 2} & \text{order by current degree} & \text{updates as fill appears} \\ \text{Scheme 3} & \text{order by fill actually created} & \text{best result, most work} \end{array} \]

Tinney's three schemes, published in 1967 and still the reference. Finding the optimal order is NP-hard, so all three are heuristics; scheme 2 is the usual compromise and is what most production software uses.

The stakes are not small. On a 2000-bus network a poor ordering can produce ten times the fill-in of a good one, and since the substitution cost scales with the number of non-zeros in the factors, that is ten times the cost of every iteration of every study. The ordering is computed once and re-used for the life of the network model.

Ordering is where graph theory earns its place in power engineering. The problem — choose an elimination sequence minimising fill — is stated entirely in terms of the network's graph, has nothing to do with the admittance values, and is the same problem that arises in finite-element analysis and in circuit simulation. The power industry met it first, in the early 1960s, and solved it well enough that the solution was adopted everywhere else.
AnswerZero fill-in eliminating buses 1 and 5 first (degree 2); three new connections eliminating bus 2 (degree 4) first — eliminate low-degree buses first
Problem 6DesignA Two-Bus Equivalent

Reduce the five-bus system to an equivalent seen from buses 1 and 5 alone, and interpret the result as a circuit.

Solution

Eliminate buses 4, 3 and 2 in turn by the formula of Problem 3, applied repeatedly. The result is \(2\times2\):

\[ \mathbf{Y}^{\text{red}} = \begin{bmatrix} 2.29107-j6.74534 & -2.29080+j6.91935 \\ -2.29080+j6.91935 & 2.29098-j6.80200 \end{bmatrix} \]

Read it as a \(\pi\). The series element is the negative of the off-diagonal:

\[ y_{15}^{\text{eq}} = 2.29080 - j6.91935 \quad\Rightarrow\quad z_{15}^{\text{eq}} = \frac{1}{y} = 0.04312 + j0.13025\ \text{pu} \]

The whole network between buses 1 and 5 has collapsed to a single impedance of \(0.0431+j0.1303\).

The shunts are the row sums:

\[ y_{1,\text{sh}} = 0.00027 + j0.17402 \qquad y_{5,\text{sh}} = 0.00018 + j0.11735 \]

Each far larger than the original charging at those buses — \(j0.055\) and \(j0.040\) — because the equivalent shunt now absorbs all the charging of the eliminated interior as well.

The small real parts in the shunts are the interesting detail. No shunt conductance existed anywhere in the original network, yet \(+0.00027\) has appeared. Elimination creates equivalent conductance because the interior branches have resistance and the charging current flowing through them dissipates real power — a loss that must be represented somewhere once the interior buses are gone.

Comparison with the direct route. The shortest path from bus 1 to bus 5 is 1–2–5, of impedance \(0.06+j0.18\):

\[ \begin{array}{lcc} & z\ (\text{pu}) & |z| \\ \hline \text{Path } 1\text{--}2\text{--}5\ \text{alone} & 0.0600+j0.1800 & 0.1897 \\ \text{Full equivalent} & 0.0431+j0.1303 & 0.1372 \\ \text{ratio} & & 0.72 \end{array} \]

The parallel paths through buses 3 and 4 reduce the effective impedance by 28%. That is the value of the mesh, quantified in one number.

What the equivalent may and may not be used for. It reproduces the relation between injections and voltages at buses 1 and 5 exactly — for any injections at those two buses, so long as buses 2, 3 and 4 carry none. The moment a load is placed at bus 3, the equivalent is wrong, because the derivation assumed \(I_3 = 0\).

A reduced network is exact for the case it was reduced under, and silently wrong otherwise. That is the standing hazard of every equivalent in power engineering: the two-bus circuit above looks like a general model of the corridor, and it is not — it is a model of the corridor with nothing connected in the middle. Equivalents used in planning studies carry their assumptions with them, and the assumptions are what go stale.
Answer\(z^{\text{eq}}_{15} = 0.0431+j0.1303\) pu with shunts \(j0.174\) and \(j0.117\) — 28% below the single 1–2–5 path
Problem 7AnalysisWhy Z-Bus is Full

Explain why the bus impedance matrix has no zero elements even when its inverse is mostly zeros, and state the physical meaning of \(Z_{ij}\).

Solution

The definitions, obtained by setting all injections but one to zero:

\[ Z_{ij} = \left.\frac{V_i}{I_j}\right|_{I_k = 0,\ k\ne j} \]

The voltage appearing at bus \(i\) when one ampere is injected at bus \(j\) and nowhere else. \(Z_{ii}\) is the driving-point impedance; \(Z_{ij}\) the transfer impedance.

Contrast with \(Y_{ij}\), which is defined with all voltages but one held at zero:

\[ Y_{ij} = \left.\frac{I_i}{V_j}\right|_{V_k = 0,\ k\ne j} \]

Shorting every other bus to ground isolates bus \(i\) from everything except its immediate neighbours — the shorted buses block every longer path. That is why \(\mathbf{Y}\) is sparse.

The impedance definition has no such blocking. Open-circuiting the other buses does not isolate anything; the injected current flows out through the network and raises the voltage at every bus connected to it by any path whatever. Since a power network is connected, no \(Z_{ij}\) can be zero.

The five-bus case. Its \(\mathbf{Y}\) has six zeros out of 25; its inverse has none:

\[ \begin{array}{lcc} & \text{zeros} & \text{fill} \\ \hline \mathbf{Y}_{\text{bus}} & 6 & 76\% \\ \mathbf{Z}_{\text{bus}} & 0 & 100\% \end{array} \]

\(Z_{14}\) is non-zero although \(Y_{14}\) is zero — buses 1 and 4 share no branch, but they are certainly connected.

The one exception is a genuinely disconnected network. If a subnetwork has no path at all to the rest, then \(Z_{ij} = 0\) between the parts — and the matrix is block-diagonal, which in practice means somebody has left an island in the data.

The consequence for computation is severe and unavoidable. Storing \(\mathbf{Z}_{\text{bus}}\) for a 10 000-bus network needs 1.6 GB against the 0.64 MB of \(\mathbf{Y}\). Real fault programs therefore never form the whole matrix: they build only the columns needed for the buses actually being faulted, by solving \(\mathbf{Y}\mathbf{z}_j = \mathbf{e}_j\) with the existing factorisation — one substitution per column.

Sparsity is a property of the admittance description and never of the impedance description, and the reason is a matter of which quantity is held at zero. Shorting the other buses truncates the network to a neighbourhood; open-circuiting them does not truncate it at all. The same distinction explains why a mesh (loop-impedance) formulation is dense and a nodal one is sparse, and it is the reason nodal analysis won.
Answer\(Z_{ij}\) is measured with the other buses open, which blocks nothing; \(Y_{ij}\) with them shorted, which isolates the neighbourhood — so \(\mathbf{Z}\) is full and \(\mathbf{Y}\) sparse
Problem 8Exam levelInverting the Matrix

Invert the five-bus admittance matrix and examine the result. Explain why the answer is useless for the purpose it is usually wanted for.

Solution

The inverse:

\[ \mathbf{Z}_{\text{bus}} = \begin{bmatrix} 0.0125-j3.4108 & 0.0004-j3.4470 & -0.0042-j3.4609 & -0.0052-j3.4638 & -0.0052-j3.4637 \\ 0.0004-j3.4470 & 0.0053-j3.4325 & -0.0037-j3.4594 & -0.0038-j3.4596 & -0.0014-j3.4526 \\ -0.0042-j3.4609 & -0.0037-j3.4594 & 0.0089-j3.4217 & 0.0045-j3.4349 & -0.0047-j3.4623 \\ -0.0052-j3.4638 & -0.0038-j3.4596 & 0.0045-j3.4349 & 0.0090-j3.4215 & -0.0032-j3.4580 \\ -0.0052-j3.4637 & -0.0014-j3.4526 & -0.0047-j3.4623 & -0.0032-j3.4580 & 0.0211-j3.3853 \end{bmatrix} \]

Every entry is about \(-j3.45\). The twenty-five elements span 3.385 to 3.464 in magnitude — a spread of 2%. The driving-point impedances at five electrically very different buses are all but identical, which cannot be physically right.

The reason. The only paths to the reference in this network are the line-charging susceptances, totalling

\[ \sum_i y_{i0} = j(0.055+0.085+0.055+0.055+0.040) = j0.290 \quad\Rightarrow\quad \frac{1}{j0.290} = -j3.448 \]

Exactly the value every element is near. The network floats on a very weak connection to earth, and the series branches — thousands of times stiffer than that connection — tie all five buses together into what is effectively a single node.

The physical statement. Inject 1 pu at any bus and it must return to the reference through \(j0.290\) of charging, raising the whole network by 3.45 pu together. The differences between buses — the useful part — are the tiny variations in the third decimal place.

Why this matters. \(\mathbf{Z}_{\text{bus}}\) is wanted almost entirely for fault studies, where the fault current at bus \(i\) is

\[ I_f = \frac{V_{\text{prefault}}}{Z_{ii}} \]
\[ \Rightarrow\quad I_f = \frac{1.0}{3.41} = 0.29\ \text{pu} \quad\text{at bus 1} \]

Twenty-nine per cent of rated current as a three-phase fault current. Real fault levels are 5 to 20 times rated. The answer is wrong by a factor of about twenty-five, and it is wrong for a reason that has nothing to do with the arithmetic.

What is missing. The generators. A load-flow \(\mathbf{Y}_{\text{bus}}\) represents machines as injections, not as impedances, so there is no path from any bus to the reference through a source. In a fault study the machines are exactly what supplies the current, and they must appear as shunt admittances on the diagonal — the subject of the next problem.

The same network has two different admittance matrices depending on the study, and confusing them produces answers that are wrong by an order of magnitude while looking entirely reasonable. The load-flow matrix has no machine impedances and its inverse is meaningless; the fault matrix has them and its inverse is the whole answer. Nothing in the arithmetic warns of the difference — only the size of the result does.
AnswerEvery element is near \(-j3.45 = 1/(j0.290)\), the reciprocal of the total charging; fault currents from it are 25 times too small
Problem 9DesignThe Fault-Study Matrix

Generators at buses 1 and 2 have subtransient reactances of \(j0.25\) and \(j0.20\) pu. Add them, invert, and compute the three-phase fault current at every bus.

Solution

The modification. A machine behind its subtransient reactance is a source in series with \(jx''_d\); for the fault network the source is replaced by a short to the reference, leaving a shunt admittance:

\[ Y_{11} \mathrel{+}= \frac{1}{j0.25} = -j4.0 \qquad Y_{22} \mathrel{+}= \frac{1}{j0.20} = -j5.0 \]
\[ Y_{11} = 6.2500 - j22.6950 \qquad Y_{22} = 10.8333 - j37.4150 \]

Two diagonal entries. Nothing else changes.

The inverse is now a different object entirely:

\[ \begin{array}{lcc} \text{Bus} & Z_{ii}\ (\text{pu}) & |Z_{ii}| \\ \hline 1 & 0.0041+j0.1288 & 0.1288 \\ 2 & 0.0028+j0.1241 & 0.1241 \\ 3 & 0.0216+j0.1795 & 0.1808 \\ 4 & 0.0227+j0.1827 & 0.1841 \\ 5 & 0.0317+j0.2102 & 0.2126 \end{array} \]

A spread of 65% between the strongest and weakest bus, against 2% before. The matrix now distinguishes the buses, because there is now something to distinguish them by.

The fault currents, with a prefault voltage of 1.0 pu:

\[ \begin{array}{lcc} \text{Bus} & I_f\ (\text{pu}) & \text{MVA on 100 base} \\ \hline 1 & 7.76 & 776 \\ 2 & 8.05 & 805 \\ 3 & 5.53 & 553 \\ 4 & 5.43 & 543 \\ 5 & 4.70 & 470 \end{array} \]

Five to eight times rated — the right order of magnitude, and the ordering makes sense: the generator buses are strongest, and bus 5, furthest from both machines, is weakest.

The ranking is the useful output. Bus 2 has the highest fault level despite bus 1 having the larger prefault voltage in the load flow, because bus 2 has the stiffer machine and four connections. Circuit-breaker ratings are selected on exactly this number, so the ordering matters more than the absolute values.

Two cautions on the model. The real parts of \(Z_{ii}\) are 3–15% of the imaginary parts, so neglecting resistance — as classical fault analysis does — overstates the current by under 1%, which is acceptable. But the loads have been omitted entirely, and representing them as constant impedances would add shunt paths and raise the fault levels by a few per cent more. Standards prescribe which of these to include for which purpose.

Two diagonal entries turned a meaningless matrix into a useful one, which is a fair measure of how much of a fault study is modelling rather than computation. The arithmetic in Problems 8 and 9 is identical; only the network differed. Getting the network right — which machines, which loads, which switching state, and whether subtransient or transient reactances — is the entire content of a short-circuit study, and Sets 21 to 23 return to it.
AnswerFault levels 7.76, 8.05, 5.53, 5.43 and 4.70 pu at buses 1 to 5 — five to eight times rated, against 0.29 without the machines
Problem 10AnalysisDriving-Point and Transfer

Using the fault-study impedance matrix, interpret the off-diagonal elements, and compute the voltage at every bus during a solid three-phase fault at bus 5.

Solution

The relation for a fault at bus \(k\). A solid fault draws \(I_f = V_k^{(0)}/Z_{kk}\) out of bus \(k\), and by superposition the voltage at any bus \(i\) becomes

\[ V_i = V_i^{(0)} - Z_{ik}\,I_f = V_i^{(0)}\left(1 - \frac{Z_{ik}}{Z_{kk}}\right) \]

Taking all prefault voltages as 1.0. The whole of classical fault analysis is in this one line, and it needs only column \(k\) of \(\mathbf{Z}_{\text{bus}}\).

Column 5 of the fault-study matrix:

\[ \mathbf{Z}_{\cdot 5} = \begin{bmatrix}-0.0027+j0.1057 \\ 0.0026+j0.1234 \\ 0.0071+j0.1361 \\ 0.0089+j0.1418 \\ 0.0317+j0.2102\end{bmatrix} \]

The fault current is \(1.0/(0.0317+j0.2102) = 4.705\angle-81.4^\circ\) pu, and the voltages follow:

\[ \begin{array}{lcc} \text{Bus} & |Z_{i5}/Z_{55}| & |V_i|\ \text{during fault} \\ \hline 1 & 0.498 & 0.517 \\ 2 & 0.581 & 0.431 \\ 3 & 0.641 & 0.367 \\ 4 & 0.669 & 0.339 \\ 5 & 1.000 & 0.000 \end{array} \]

The retained voltage is \(|1 - Z_{i5}/Z_{55}|\), computed as a complex quantity — which is why bus 1 keeps 0.517 rather than the 0.502 that subtracting magnitudes would give. Bus 5 collapses to zero by definition; bus 1, electrically furthest away, retains half.

The transfer impedance is a measure of electrical distance. \(|Z_{i5}/Z_{55}|\) runs from 0.50 at bus 1 to 0.67 at bus 4 — the ratio is the fraction of the voltage lost, and it grows with proximity to the fault. Bus 4, adjacent to bus 5, suffers most.

Why this matters operationally. A three-phase fault anywhere on this network depresses every bus to between one third and one half of nominal until the fault is cleared. Induction motors stall below about 0.7 pu, so a fault at bus 5 will trip or stall motor load across the entire system — which is why clearing times are specified in cycles and why the voltage-dip profile, not just the fault current, is part of a protection study.

The economy of the method. Every quantity above came from one column of \(\mathbf{Z}_{\text{bus}}\), obtained by a single forward-and-back substitution on the existing factorisation of \(\mathbf{Y}\). Faulting all five buses needs five columns; faulting a 10 000-bus network at fifty selected buses needs fifty. The full matrix is never required.

\(Z_{ij}\) is the correct measure of electrical distance between two buses, and it does not correspond to geography. Bus 1 is two branches from bus 5 and bus 3 is two branches from bus 5, yet bus 3 sees a far deeper dip — because it lies behind the stiff 3–4 link that feeds the fault. Distance in a network is measured through impedances, and the matrix is where that measurement is stored.
AnswerFault at bus 5 draws 4.71 pu and leaves buses 1 to 4 at 0.52, 0.43, 0.37 and 0.34 pu — the whole network below the motor stalling threshold
Problem 11Challenge-liteConditioning

Compute the condition number of the two admittance matrices of Problems 8 and 9, and explain what makes a network matrix ill-conditioned.

Solution

The definition. For a matrix solved by any direct method,

\[ \kappa(\mathbf{Y}) = \|\mathbf{Y}\|\,\|\mathbf{Y}^{-1}\| = \frac{\sigma_{\max}}{\sigma_{\min}} \]

The ratio of the largest to the smallest singular value. A relative perturbation \(\varepsilon\) in the data can produce a relative error up to \(\kappa\varepsilon\) in the solution.

The two values:

\[ \begin{array}{lc} \text{Load-flow form (no machines)} & \kappa = 1253 \\ \text{Fault form (machines added)} & \kappa = 48.7 \end{array} \]

A factor of 26, produced by adding two numbers to two diagonal entries.

What the 1253 means in practice. Double precision carries about sixteen significant digits, so

\[ \text{digits lost} \approx \log_{10}\kappa = 3.1 \]

Thirteen digits survive — perfectly adequate. Conditioning becomes a numerical problem only when \(\kappa\) approaches \(10^{12}\), which real networks do not reach. The 1253 is a warning about the model, not about the arithmetic.

The cause, identified. A near-singular network matrix means a near-null vector — a direction in which the network barely responds:

\[ \mathbf{Y}\begin{bmatrix}1\\1\\1\\1\\1\end{bmatrix} = j\begin{bmatrix}0.055\\0.085\\0.055\\0.055\\0.040\end{bmatrix} \approx \mathbf{0} \]

The all-ones vector — every bus raised together. With only \(j0.29\) of shunt in the whole network, that costs almost no current, so the matrix is nearly singular in that one direction. Adding the machine reactances, forty times stiffer, removes it.

The three real sources of ill-conditioning in power network matrices:

\[ \begin{array}{lll} \text{Weak path to reference} & \text{as here} & \kappa \sim 10^{3} \\ \text{Very short lines} & z \to 0 \text{ makes } y \to \infty & \kappa \sim 10^{6} \\ \text{Widely mixed voltage levels} & \text{avoided by per unit} & - \end{array} \]

The second is the one that bites: a jumper or a bus-tie modelled as a line of 0.0001 pu produces an admittance of 10 000 next to neighbours of 5, and the matrix genuinely loses digits. The remedy is to merge the two buses rather than to model the connection.

And the third, historically. Before the per-unit system, a network spanning 11 kV to 400 kV had impedances differing by \((400/11)^{2} \approx 1300\) before any network effect was considered. Per unit removes that entirely — which is a numerical benefit of the method that Set 3 did not mention, and arguably its most important one.

A high condition number in a power system almost always means the model is wrong rather than the solver is inadequate. The three causes above are all modelling decisions: omitting the machines, representing a busbar as a line, or working in volts. Each is fixed at the data stage, and none is fixed by better arithmetic. That is the useful reading of \(\kappa\) for an engineer — a diagnostic on the network file, not on the code.
Answer\(\kappa = 1253\) without machines and 48.7 with them; the near-null direction is the all-ones vector, held only by \(j0.29\) of charging
Problem 12AnalysisThe DC Approximation

Derive the DC power flow from the exact power relations, stating each approximation and its justification, and estimate the error it introduces.

Solution

The exact injection at bus \(i\), from the nodal equation:

\[ P_i = \sum_j |V_i||V_j|\left(G_{ij}\cos\theta_{ij} + B_{ij}\sin\theta_{ij}\right) \]

With \(\theta_{ij} = \theta_i - \theta_j\). Nonlinear in both magnitude and angle.

The four approximations, each with its warrant:

\[ \begin{array}{lll} 1 & r \ll x \Rightarrow G \approx 0 & x/r = 8\text{--}15\ \text{at transmission voltages} \\ 2 & |V_i| \approx 1.0\ \text{pu} & \text{voltages held within} \pm5\% \\ 3 & \sin\theta_{ij} \approx \theta_{ij} & \theta_{ij} < 15^\circ \Rightarrow \text{error} < 1.2\% \\ 4 & \cos\theta_{ij} \approx 1 & \text{removes the remaining } G\ \text{terms} \end{array} \]

What survives:

\[ P_i = \sum_j B_{ij}\theta_{ij} \quad\Rightarrow\quad \mathbf{P} = \mathbf{B}\boldsymbol{\theta} \]

Linear, real, and with \(\mathbf{B}\) built from the reactances alone. It is called the DC power flow because it has the algebraic form of a resistive DC network, with \(\theta\) as voltage, \(P\) as current and \(x\) as resistance.

The branch flow follows directly:

\[ P_{ij} = \frac{\theta_i - \theta_j}{x_{ij}} \]

Independent of the voltage magnitudes and of every other branch — which is what makes the distribution factors of Problem 16 possible.

What it gets and what it loses:

\[ \begin{array}{lll} \text{Real power flows} & \text{within 3--5\%} & \text{usually good enough} \\ \text{Reactive flows} & \text{none at all} & \text{the model has no } Q \\ \text{Voltage magnitudes} & \text{assumed} & \text{not computed} \\ \text{Losses} & \text{zero} & r\ \text{was discarded} \\ \text{Convergence} & \text{guaranteed} & \text{it is a linear solve} \end{array} \]

Where it is used, and it is used constantly. Security-constrained dispatch, market clearing and locational pricing, transmission planning screens, and every contingency ranking. Anywhere thousands of cases must be solved and 5% on real power is acceptable, the DC model is the tool — and the guarantee of convergence is worth as much as the speed, because an AC load flow that fails to converge in an automated screen has no answer to report at all.

The DC power flow is the most heavily used calculation in the electricity industry, and it is a first-order Taylor expansion of a nonlinear system about a flat voltage profile. Its accuracy comes not from the smallness of the neglected terms individually but from the fact that real power flow is genuinely governed by angles and reactances, exactly as reactive flow is governed by magnitudes and susceptances. That decoupling is physical, not numerical — which is why the approximation survives conditions that ought to break it.
Answer\(\mathbf{P} = \mathbf{B}\boldsymbol{\theta}\) with \(B_{ij} = -1/x_{ij}\); real flows within 3–5%, no reactive power, no losses, always convergent
Problem 13Exam levelThe B Matrix

Form the DC power flow matrix for the five-bus system and compare it with the imaginary part of \(\mathbf{Y}_{\text{bus}}\).

Solution

The rule is that of Set 16 with \(y_{ij}\) replaced by \(1/x_{ij}\) and all shunts dropped:

\[ B_{ij} = -\frac{1}{x_{ij}} \qquad B_{ii} = \sum_{j\ne i}\frac{1}{x_{ij}} \]
\[ \frac{1}{0.06} = 16.667 \quad \frac{1}{0.24} = 4.167 \quad \frac{1}{0.18} = 5.556 \quad \frac{1}{0.12} = 8.333 \quad \frac{1}{0.03} = 33.333 \]

The matrix:

\[ \mathbf{B} = \begin{bmatrix} 20.833 & -16.667 & -4.167 & 0 & 0 \\ -16.667 & 36.111 & -5.556 & -5.556 & -8.333 \\ -4.167 & -5.556 & 43.056 & -33.333 & 0 \\ 0 & -5.556 & -33.333 & 43.056 & -4.167 \\ 0 & -8.333 & 0 & -4.167 & 12.500 \end{bmatrix} \]

Real, symmetric, and with every row summing to exactly zero.

Compare with \(-\operatorname{Im}(\mathbf{Y}_{\text{bus}})\):

\[ \begin{array}{lccc} \text{Entry} & \mathbf{B}\ \text{(DC)} & -\operatorname{Im}\mathbf{Y} & \text{ratio} \\ \hline (1,2) & -16.667 & -15.000 & 1.111 \\ (3,4) & -33.333 & -30.000 & 1.111 \\ (1,1) & 20.833 & 18.695 & 1.114 \end{array} \]

Every off-diagonal differs by exactly \(1/0.9 = 1.111\), because \(-\operatorname{Im}(y) = x/(r^{2}+x^{2})\) against the DC model's \(1/x\), and with \(x/r = 3\) throughout the ratio is \(1 + (r/x)^{2} = 1.111\).

So the two are not the same matrix — a point that is often blurred. \(\mathbf{B}\) uses \(1/x\); \(-\operatorname{Im}\mathbf{Y}\) uses \(x/|z|^{2}\) and includes the charging. They coincide only for a lossless network with no shunts.

Singularity, and the fix. Every row of \(\mathbf{B}\) sums to zero — there are no shunts at all — so \(\mathbf{B}\) is singular:

\[ \mathbf{B}\begin{bmatrix}1\\1\\1\\1\\1\end{bmatrix} = \mathbf{0} \]

Physically: adding a constant to every angle changes no flow, so the angles are determined only up to a constant. The remedy is to fix one — the slack bus, \(\theta_1 = 0\) — and delete its row and column, leaving an invertible \(4\times4\).

The deleted matrix is a graph Laplacian, weighted by \(1/x\) and grounded at one node. Its inverse gives the angle sensitivities directly, and its eigenvalues describe how the network responds to injections at different spatial scales — the same object that describes heat conduction on a graph, and the reason spectral methods for network partitioning transfer directly to power system islanding.

The B matrix contains no information that \(\mathbf{Y}_{\text{bus}}\) did not, and it is used far more often. Discarding the resistances, the charging and the voltage magnitudes leaves a real symmetric matrix whose solution is one factorisation and whose answer is within a few per cent — a bargain that the industry takes every time it can. Everything the DC model cannot do, it cannot do obviously, which is the property that makes an approximation safe to use at scale.
AnswerReal, symmetric, zero row sums, singular until the slack row is deleted; every entry is 1.111 times \(-\operatorname{Im}\mathbf{Y}\) because \(x/r = 3\)
Problem 14Exam levelA DC Load Flow

Solve the DC power flow for the standard loading: bus 1 slack, bus 2 net injection \(+0.20\), buses 3, 4 and 5 loads of \(0.45\), \(0.40\) and \(0.60\) pu. Find the angles and every branch flow, and verify.

Solution

The system to solve, with row and column 1 deleted and \(\theta_1 = 0\):

\[ \begin{bmatrix}36.111 & -5.556 & -5.556 & -8.333 \\ -5.556 & 43.056 & -33.333 & 0 \\ -5.556 & -33.333 & 43.056 & -4.167 \\ -8.333 & 0 & -4.167 & 12.500\end{bmatrix}\begin{bmatrix}\theta_2\\\theta_3\\\theta_4\\\theta_5\end{bmatrix} = \begin{bmatrix}0.20\\-0.45\\-0.40\\-0.60\end{bmatrix} \]

The angles:

\[ \begin{array}{lcc} \text{Bus} & \theta\ (\text{rad}) & \theta\ (\text{deg}) \\ \hline 1 & 0 & 0 \\ 2 & -0.05126 & -2.937 \\ 3 & -0.09497 & -5.442 \\ 4 & -0.10063 & -5.766 \\ 5 & -0.11571 & -6.630 \end{array} \]

All negative, and monotonically more so with distance from the slack — power flows downhill in angle, and bus 1 is the source.

The branch flows, each \((\theta_i - \theta_j)/x_{ij}\):

\[ \begin{array}{lcr} \text{Branch} & \text{pu} & \text{MW} \\ \hline 1\text{--}2 & +0.8543 & +85.4 \\ 1\text{--}3 & +0.3957 & +39.6 \\ 2\text{--}3 & +0.2429 & +24.3 \\ 2\text{--}4 & +0.2743 & +27.4 \\ 2\text{--}5 & +0.5371 & +53.7 \\ 3\text{--}4 & +0.1886 & +18.9 \\ 4\text{--}5 & +0.0629 & +6.3 \end{array} \]

Positive means flow from the first bus to the second. Every flow is in the direction of decreasing angle, as it must be.

The verification is bus by bus. Injection must equal the net outflow:

\[ \begin{array}{lll} \text{Bus 1} & 0.8543+0.3957 = 1.2500 & = \text{slack generation} \\ \text{Bus 2} & 0.2429+0.2743+0.5371-0.8543 = 0.2000 & \checkmark \\ \text{Bus 3} & 0.1886-0.3957-0.2429 = -0.4500 & \checkmark \\ \text{Bus 4} & 0.0629-0.2743-0.1886 = -0.4000 & \checkmark \\ \text{Bus 5} & -0.5371-0.0629 = -0.6000 & \checkmark \end{array} \]

Every bus balances exactly. The slack picks up 1.25 pu, which is the total load 1.45 less the 0.20 generated at bus 2 — with no losses, because the DC model has none.

The missing losses are the model's chief limitation here. The AC solution of Set 19 will show a slack generation nearer 1.30 pu, the extra 5 MW being \(I^{2}R\). On a network with \(x/r = 3\) that is a 4% error in the slack injection — larger than on a real transmission system, where \(x/r\) is three to five times higher and the loss is 1–2%.

The largest flow is 1–2 at 85 MW, and the smallest is 4–5 at 6 MW. Branch 3–4, by far the stiffest in the network, carries only 19 MW — a reminder that a low impedance attracts flow only if there is a reason for power to go that way. Impedance sets the division between paths; injections set the amount.

A DC load flow takes one factorisation and one substitution and gives every branch flow in the network. Compare the twenty-odd nonlinear iterations of Set 19 for an answer 5% better in real power. Whether that trade is worth taking is the single most consequential modelling decision in operational planning, and the industry's answer — DC for screening, AC for confirmation — has been stable for forty years.
AnswerAngles 0, \(-2.94\), \(-5.44\), \(-5.77\), \(-6.63^\circ\); largest flow 85.4 MW on 1–2; slack 125 MW with no losses
Problem 15DesignAn Outage

Line 3–4 is lost. Re-solve the DC power flow and identify where its 18.9 MW has gone.

Solution

Remove the branch from \(\mathbf{B}\) — four entries, as in Set 16 — and re-solve. The new angles:

\[ \begin{array}{lcc} \text{Bus} & \text{before (deg)} & \text{after (deg)} \\ \hline 1 & 0 & 0 \\ 2 & -2.937 & -3.180 \\ 3 & -5.442 & -4.469 \\ 4 & -5.766 & -7.305 \\ 5 & -6.630 & -7.305 \end{array} \]

Bus 3 has risen and bus 4 has fallen sharply. Buses 4 and 5 are now at exactly the same angle.

The flows:

\[ \begin{array}{lccr} \text{Branch} & \text{Before} & \text{After} & \text{Change} \\ \hline 1\text{--}2 & 0.8543 & 0.9250 & +0.0707 \\ 1\text{--}3 & 0.3957 & 0.3250 & -0.0707 \\ 2\text{--}3 & 0.2429 & 0.1250 & -0.1179 \\ 2\text{--}4 & 0.2743 & 0.4000 & +0.1257 \\ 2\text{--}5 & 0.5371 & 0.6000 & +0.0629 \\ 3\text{--}4 & 0.1886 & \text{out} & -0.1886 \\ 4\text{--}5 & 0.0629 & 0.0000 & -0.0629 \end{array} \]

Where the 18.9 MW went. Two-thirds of it re-routed onto 2–4:

\[ \frac{+0.1257}{0.1886} = 0.667 \qquad \frac{+0.0629}{0.1886} = 0.333\ \text{onto } 2\text{--}5 \]

Exactly two thirds and one third. The remaining changes are the consequential rearrangement upstream — bus 3's supply shifts from bus 2 to bus 1 by 0.0707 pu.

Branch 4–5 goes to exactly zero. With 3–4 gone, bus 4's only supply is 2–4, and bus 4 now takes exactly its own 0.40 pu; bus 5 takes exactly its 0.60 from 2–5. The two buses reach the same angle and nothing crosses between them. The DC model makes such degeneracies exact and visible.

The security assessment. No branch has increased by more than 0.126 pu, and the largest post-outage flow is 0.925 on 1–2. Whether that is acceptable depends on the ratings, but the shape of the answer is what matters: the outage of the network's stiffest branch is absorbed comfortably, because bus 4 had an alternative supply of similar strength. An outage of 2–4 or 2–5 would be more serious.

And the slack is unchanged at 1.25 pu. In a lossless model the total generation cannot depend on the network's configuration; only its routing can. In the AC model the slack would rise, because the longer paths are lossier — which is one of the things a DC screen cannot see.

The re-routing fractions came out as exactly \(2/3\) and \(1/3\), and that exactness is the whole point. They do not depend on the loading, on the generation pattern, or on how much was flowing before — only on the reactances. That invariance is what makes the distribution factors of the next problem possible, and it is the single most useful consequence of linearising the load flow.
AnswerTwo thirds of the 18.9 MW goes to 2–4 and one third to 2–5; branch 4–5 falls to exactly zero and the slack is unchanged
Problem 16Challenge-liteDistribution Factors

Derive the line-outage distribution factor, compute the full set for the outage of line 2–5, and verify against a direct re-solution.

Solution

The definition. The LODF of branch \(mn\) with respect to the outage of branch \(kl\) is

\[ d_{mn,kl} = \frac{\Delta P_{mn}}{P_{kl}^{(0)}} \]

The change in one flow as a fraction of what the outaged branch was carrying. Because the DC model is linear, this ratio does not depend on the loading at all.

The derivation, in outline. Removing branch \(kl\) is equivalent to leaving it in place and injecting a compensating pair \(+P\) at \(k\) and \(-P\) at \(l\) such that the net flow in it becomes zero. Writing \(\mathbf{X} = \mathbf{B}^{-1}\) with the slack row and column zeroed:

\[ d_{mn,kl} = \frac{\dfrac{X_{km}-X_{lm}-X_{kn}+X_{ln}}{x_{mn}}}{1 - \dfrac{X_{kk}+X_{ll}-2X_{kl}}{x_{kl}}} \]

The numerator is the sensitivity of flow \(mn\) to the injection pair; the denominator is the correction that makes the outaged branch carry nothing.

The factors for the outage of 2–5:

\[ \begin{array}{lcr} \text{Branch} & d & \text{as a fraction} \\ \hline 1\text{--}2 & -0.2093 & -9/43 \\ 1\text{--}3 & +0.2093 & +9/43 \\ 2\text{--}3 & +0.3488 & +15/43 \\ 2\text{--}4 & +0.4419 & +19/43 \\ 3\text{--}4 & +0.5581 & +24/43 \\ 4\text{--}5 & +1.0000 & 1 \end{array} \]

The 1.0 on branch 4–5 is exact and obvious in hindsight: with 2–5 out, bus 5's only remaining supply is 4–5, so every megawatt that was arriving by 2–5 must now arrive by 4–5. A distribution factor of unity always signals that the receiving bus has become radially fed.

The verification. The base flow on 2–5 was 0.5371 pu, so the predicted post-outage flows are \(P^{(0)} + d\times0.5371\):

\[ \begin{array}{lccc} \text{Branch} & \text{Predicted} & \text{Re-solved} & \text{Error} \\ \hline 1\text{--}2 & 0.7419 & 0.7419 & 0 \\ 1\text{--}3 & 0.5081 & 0.5081 & 0 \\ 2\text{--}3 & 0.4302 & 0.4302 & 0 \\ 2\text{--}4 & 0.5116 & 0.5116 & 0 \\ 3\text{--}4 & 0.4884 & 0.4884 & 0 \\ 4\text{--}5 & 0.6000 & 0.6000 & 0 \end{array} \]

Exact to every figure carried. The distribution factors are not an approximation to the DC model — within it they are the answer.

The economics of the method. For \(e\) branches there are \(e^{2}\) factors, computed once from one factorisation of \(\mathbf{B}\). Thereafter every single-branch contingency is screened by one multiplication and one addition per branch:

\[ \begin{array}{ll} \text{Full AC re-solve, each outage} & \sim20\ \text{iterations, may not converge} \\ \text{DC re-solve, each outage} & \text{one factorisation} \\ \text{LODF, each outage} & e\ \text{multiply--adds} \end{array} \]

Three thousand contingencies on a three-thousand-branch network become nine million multiply-adds — under a second. This is what runs every few minutes in every control room.

The distribution factors are the DC power flow's real product; the flows themselves are almost incidental. An operator does not need to know that branch 2–4 carries 27 MW so much as that it will carry 51 MW if 2–5 trips. Linearity turns that second question from a re-solution into a lookup, and it is the reason the linearisation is tolerated despite discarding losses, voltages and reactive power entirely.
AnswerFactors \(-0.209\), \(+0.209\), \(+0.349\), \(+0.442\), \(+0.558\), \(+1.000\); predictions match the re-solution exactly
Problem 17AnalysisFast-Decoupled Matrices

Form the two constant matrices \(\mathbf{B}'\) and \(\mathbf{B}''\) used by the fast-decoupled load flow, explain why they differ, and evaluate the difference on the five-bus system.

Solution

The scheme. The fast-decoupled method replaces the Jacobian of Set 20 by two fixed real matrices:

\[ \mathbf{B}'\,\Delta\boldsymbol{\theta} = \frac{\Delta\mathbf{P}}{|V|} \qquad \mathbf{B}''\,\Delta|\mathbf{V}| = \frac{\Delta\mathbf{Q}}{|V|} \]

Both are formed once and factorised once, for the whole solution — the entire economy of the method.

\(\mathbf{B}'\) is built for the angle problem and drops everything that does not affect it: the resistances, the shunts, and the off-nominal tap ratios.

\[ B'_{ij} = -\frac{1}{x_{ij}} \qquad B'_{ii} = \sum_{j\ne i}\frac{1}{x_{ij}} \]

Which is exactly the DC power flow matrix of Problem 13.

\(\mathbf{B}''\) is built for the voltage problem and retains the shunts, because a capacitor's whole purpose is to affect voltage:

\[ \mathbf{B}'' = -\operatorname{Im}(\mathbf{Y}_{\text{bus}}) \]

Retaining the charging and any capacitors and reactors, but excluding the rows and columns of the voltage-controlled buses, whose magnitudes are fixed.

The two matrices for this system:

\[ \begin{array}{lccc} \text{Entry} & \mathbf{B}' & \mathbf{B}'' & \mathbf{B}''-\mathbf{B}' \\ \hline (1,1) & 20.833 & 18.695 & -2.138 \\ (1,2) & -16.667 & -15.000 & +1.667 \\ (3,4) & -33.333 & -30.000 & +3.333 \\ (5,5) & 12.500 & 11.210 & -1.290 \end{array} \]

A systematic 10% difference, plus the shunt terms on the diagonals.

Why the asymmetry of treatment is right. The two sub-problems have different sensitivities:

\[ \begin{array}{lll} \text{Series resistance} & \text{affects } P\text{--}\theta\ \text{weakly} & \text{dropped from } \mathbf{B}' \\ \text{Shunt susceptance} & \text{affects } Q\text{--}V\ \text{strongly} & \text{kept in } \mathbf{B}'' \\ \text{Tap ratio} & \text{affects } Q\text{--}V\ \text{strongly} & \text{kept in } \mathbf{B}'' \end{array} \]

Stott and Alsac arrived at these choices empirically in 1974 and then justified them; the pairing that converges best is not the one a symmetric derivation would produce.

What the constancy buys. Newton–Raphson rebuilds and refactorises an \(2n\times2n\) complex Jacobian at every iteration; the fast-decoupled method factorises two real \(n\times n\) matrices once:

\[ \begin{array}{lll} \text{Newton--Raphson} & \text{quadratic convergence} & \text{expensive iterations} \\ \text{Fast-decoupled} & \text{linear convergence} & \text{very cheap iterations} \end{array} \]

Typically 8–15 iterations against 4–5, each perhaps a twentieth of the cost — a net gain of three to five times, and more on large systems.

The fast-decoupled load flow works because \(P\) depends on angle and \(Q\) on magnitude, and that dependence is a physical fact about transmission networks rather than a numerical convenience. On a distribution feeder with \(r/x \approx 1\) the decoupling fails and the method converges slowly or not at all — which is why distribution load flow is a separate subject with its own algorithms.
Answer\(\mathbf{B}'\) uses \(1/x\) with no shunts; \(\mathbf{B}'' = -\operatorname{Im}\mathbf{Y}\) keeps them. They differ by about 10% plus the shunt terms
Problem 18Challenge-liteExternal Equivalent

Buses 3, 4 and 5 belong to a neighbouring utility whose detailed model is unavailable. Build a Ward equivalent retaining buses 1 and 2, including the equivalent injections, and state what it does and does not preserve.

Solution

The partition. Retained \(R = \{1,2\}\), external \(E = \{3,4,5\}\). In block form:

\[ \begin{bmatrix}\mathbf{I}_R\\\mathbf{I}_E\end{bmatrix} = \begin{bmatrix}\mathbf{Y}_{RR} & \mathbf{Y}_{RE}\\ \mathbf{Y}_{ER} & \mathbf{Y}_{EE}\end{bmatrix}\begin{bmatrix}\mathbf{V}_R\\\mathbf{V}_E\end{bmatrix} \]

Eliminate \(\mathbf{V}_E\), but this time without assuming the external injections are zero:

\[ \mathbf{V}_E = \mathbf{Y}_{EE}^{-1}\left(\mathbf{I}_E - \mathbf{Y}_{ER}\mathbf{V}_R\right) \]
\[ \Rightarrow\quad \underbrace{\mathbf{I}_R - \mathbf{Y}_{RE}\mathbf{Y}_{EE}^{-1}\mathbf{I}_E}_{\mathbf{I}_R^{\text{eq}}} = \underbrace{\left(\mathbf{Y}_{RR} - \mathbf{Y}_{RE}\mathbf{Y}_{EE}^{-1}\mathbf{Y}_{ER}\right)}_{\mathbf{Y}^{\text{eq}}}\mathbf{V}_R \]

Two products: the reduced admittance matrix — the block Kron reduction of Problem 3 — and a set of equivalent injections at the boundary that carry the external loads.

The equivalent network:

\[ \mathbf{Y}^{\text{eq}} = \begin{bmatrix}5.93222-j17.73556 & -5.93215+j17.81863 \\ -5.93215+j17.81863 & 5.93242-j17.61072\end{bmatrix} \]
\[ z^{\text{eq}}_{12} = \frac{1}{5.93215-j17.81863} = 0.01682 + j0.05052\ \text{pu} \]

Against the direct 1–2 line's \(0.02+j0.06\). The parallel routes through the external system have reduced the effective impedance between the two retained buses by 16%.

The equivalent shunts are the row sums:

\[ y^{\text{eq}}_{1,\text{sh}} = j0.0831 \qquad y^{\text{eq}}_{2,\text{sh}} = j0.2079 \]

Both far above the original \(j0.055\) and \(j0.085\), having absorbed the external system's charging.

The equivalent injections. With the external loads \(0.45+j0.15\), \(0.40+j0.05\) and \(0.60+j0.10\) at unit voltage, so \(\mathbf{I}_E = -[0.45-j0.15,\ 0.40-j0.05,\ 0.60-j0.10]^{T}\):

\[ \mathbf{I}_R^{\text{eq}} - \mathbf{I}_R = \begin{bmatrix}-0.2380 + j0.0560 \\ -1.2206 + j0.2490\end{bmatrix} \]

The external system's total load of 1.45 pu has been split between the two boundary buses in the ratio 0.24 to 1.22 — bus 2, which had three of the four connections into the external system, carries five sixths of it.

What is preserved and what is not:

\[ \begin{array}{lll} \text{Boundary } V \text{ and } I & \text{exactly} & \text{at the operating point used} \\ \text{Internal flows} & \text{exactly} & - \\ \text{External flows} & \text{recoverable} & \text{from } \mathbf{V}_E \ \text{back-substitution} \\ \text{Response to external change} & \textbf{not at all} & \text{the equivalent is frozen} \\ \text{Response to internal change} & \text{approximately} & \text{degrades as the change grows} \end{array} \]
The equivalent injections are the part that goes stale. The reduced admittance matrix is a property of the external network's topology and survives as long as that network does; the injections are a snapshot of one loading condition. Utilities therefore re-derive the injections continuously from telemetry while re-deriving the matrix only after a switching change — and every large-scale interconnection study lives with the fact that a neighbour's equivalent is accurate for the case it was built from and progressively wrong thereafter.
Answer\(z^{\text{eq}}_{12} = 0.0168+j0.0505\) pu with shunts \(j0.083\) and \(j0.208\); the external 1.45 pu load appears as 0.24 at bus 1 and 1.22 at bus 2
Problem 19AnalysisState Estimation

Explain the role of the admittance matrix in state estimation, count the states and the measurements needed for the five-bus system, and state the observability condition.

Solution

The problem. A control room receives hundreds of measurements — flows, injections, voltage magnitudes — all noisy and some wrong. State estimation finds the voltage profile that best explains them:

\[ \min_{\mathbf{x}} \; \left[\mathbf{z} - \mathbf{h}(\mathbf{x})\right]^{T}\mathbf{W}\left[\mathbf{z} - \mathbf{h}(\mathbf{x})\right] \]

With \(\mathbf{z}\) the measurements, \(\mathbf{x}\) the state, \(\mathbf{W}\) the inverse measurement covariance, and \(\mathbf{h}\) the model.

\(\mathbf{Y}_{\text{bus}}\) is \(\mathbf{h}\). Every measurement function is written through it:

\[ \begin{array}{ll} \text{Injection at } i & P_i + jQ_i = V_i\sum_j Y_{ij}^{*}V_j^{*} \\ \text{Flow } i \to j & \text{from } y_{ij} \text{ and the two voltages} \\ \text{Voltage magnitude} & |V_i|\ \text{directly} \end{array} \]

So the estimator's accuracy is bounded by the network model's accuracy — a wrong line impedance produces a consistent, plausible and wrong state.

The state count. For \(n\) buses the state is \(2n-1\) quantities: \(n\) magnitudes and \(n-1\) angles, one angle being the reference:

\[ n = 5 \quad\Rightarrow\quad 2(5)-1 = 9\ \text{states} \]

The measurement count. Nine is the bare minimum, and no estimator is run at that number:

\[ \begin{array}{lll} m < 9 & \text{unobservable} & \text{no solution} \\ m = 9 & \text{critically observable} & \text{no redundancy, no error detection} \\ m \approx 2\text{--}3\times 9 & \text{practical} & 18\text{--}27\ \text{measurements} \end{array} \]

Redundancy is not a luxury: with \(m = 9\) a single bad measurement is absorbed silently into the estimate. Utilities design for a redundancy of 2 to 4.

Observability is topological, not numerical. The condition is that the measurement Jacobian have full rank — but the standard test is a graph one: a network is observable if the branches whose flows are known, directly or by inference, form a spanning tree. Bad placement can leave a system unobservable at any redundancy:

\[ \text{20 measurements clustered on buses 1--2} \Rightarrow \text{buses 3--5 unobservable} \]

Bad-data detection is what the redundancy buys. The residuals \(\mathbf{r} = \mathbf{z} - \mathbf{h}(\hat{\mathbf{x}})\) are tested against their expected distribution, and a measurement whose normalised residual exceeds about three standard deviations is removed and the estimate recomputed. A critical measurement — one whose removal makes the system unobservable — has zero residual by construction and can never be detected however wrong it is.

The state estimator is what makes every other real-time application possible, and the admittance matrix is its model of reality. Contingency analysis, security-constrained dispatch and the operator's own display all run on the estimated state rather than on raw telemetry. An error in a line impedance therefore propagates into every decision made in that control room — which is why network data validation is a continuous engineering activity and not a one-time exercise.
Answer9 states for five buses; at least 9 measurements for observability and 18–27 in practice; observability is a spanning-tree condition, not a count
Problem 20ChallengeA Complete Study

Bring the set together on one question. A planner must decide whether the five-bus network can absorb the loss of any single branch with the standard loading. Use the tools of this set, in the order that costs least, and state the answer with its limitations.

Solution

Step 1 — one DC load flow gives the base case, at the cost of a single factorisation:

\[ \begin{array}{lcccccc} \text{Branch} & 1\text{--}2 & 1\text{--}3 & 2\text{--}3 & 2\text{--}4 & 2\text{--}5 & 3\text{--}4 & 4\text{--}5 \\ \hline \text{Flow (pu)} & 0.854 & 0.396 & 0.243 & 0.274 & 0.537 & 0.189 & 0.063 \end{array} \]

Step 2 — the LODF table, from the same factorisation. Seven outages, each screened by one multiply-add per branch:

\[ \begin{array}{lccc} \text{Outage} & \text{Worst resulting flow} & \text{on branch} & \text{was} \\ \hline 1\text{--}2 & 1.250 & 1\text{--}3 & 0.396 \\ 1\text{--}3 & 1.250 & 1\text{--}2 & 0.854 \\ 3\text{--}4 & 0.925 & 1\text{--}2 & 0.854 \\ 4\text{--}5 & 0.867 & 1\text{--}2 & 0.854 \\ 2\text{--}4 & 0.781 & 1\text{--}2 & 0.854 \\ 2\text{--}3 & 0.773 & 1\text{--}2 & 0.854 \\ 2\text{--}5 & 0.742 & 1\text{--}2 & 0.854 \end{array} \]

All in per unit. Ordered by severity, which is what a screen is for.

Step 3 — the binding cases are the two lines out of bus 1. Bus 1 is the slack, exporting 1.25 pu, and it has exactly two circuits. Lose either and the whole 1.25 pu must leave through the survivor:

\[ \begin{array}{lll} \text{Lose } 1\text{--}2 & 1\text{--}3 \text{ carries } 1.250 & \text{from } 0.396,\ \times3.2 \\ \text{Lose } 1\text{--}3 & 1\text{--}2 \text{ carries } 1.250 & \text{from } 0.854,\ \times1.5 \end{array} \]

Both give exactly 1.250 — necessarily, since it is the slack injection and there is nowhere else for it to go. No distribution factor was needed to see this; the topology gives it.

Step 4 — everything else is comfortable. The remaining five outages leave the worst flow at or below 0.925 pu, and three of them reduce the loading on branch 1–2 by re-routing power away from bus 2. The stiff 3–4 branch, whose loss looked alarming in Problem 15, turns out to be the third-worst case rather than the first.

Step 5 — confirm the flagged cases by AC. Only the two bus-1 outages need a full AC solution, and they need one badly: a threefold increase in a branch flow takes the angles well outside the range where \(\sin\theta \approx \theta\) holds, so the 1.250 is a lower bound on the true loading:

\[ \begin{array}{ll} \text{DC screen} & \text{7 outages, } \sim0\ \text{cost after the first factorisation} \\ \text{AC confirmation} & \text{2--3 outages, 20 iterations each} \end{array} \]

The industry-standard workflow, and the reason both models are taught.

The answer therefore depends on one number. If both circuits from bus 1 are rated at 1.25 pu or above, the network survives every single branch outage. If not, the remedy is not a new line but a redispatch — moving generation from bus 1 to bus 2 reduces the export that must cross the cutset, and no reinforcement is needed.

The limitations, stated plainly. The DC screen has told us nothing about four things that could each make the answer wrong:

\[ \begin{array}{ll} \text{Voltages} & \text{a post-outage bus may be below limits at an acceptable flow} \\ \text{Reactive support} & \text{the 320 MVAr of Set 15 does not appear here} \\ \text{Losses} & \text{the slack is understated by about 4\%} \\ \text{Voltage stability} & \text{the nose of Set 15 is invisible to a linear model} \end{array} \]

A DC screen that passes is not a secure network; it is a network with no thermal violation under the linear model.

And one limitation of the fault matrix. Nothing in this study used the machine reactances of Problem 9, so nothing here says whether the switchgear can interrupt the fault currents after the outage. A branch outage lowers fault levels, so the direction is safe — but the same is not true of adding a circuit, which raises them, and a reinforcement that fixes a thermal problem can create a switchgear one.

The order of the tools is the answer to this problem, more than the numbers are. One factorisation gives the base case; the same factorisation gives every contingency; the screen selects two or three for the expensive model; the expensive model settles them. Reversing that order — running AC cases first and screening afterwards — is how a study that should take a second takes a day, and it is the commonest inefficiency in planning practice.
AnswerThe two circuits from the slack bus bind: either outage forces 1.250 pu through the survivor. Every other outage stays at or below 0.925 pu
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. A bus with no injection joins two others by \(y_1 = -j5\) and \(y_2 = -j20\). Eliminate it and give the resulting admittance between them.

    Show answer
    \(y_1y_2/(y_1+y_2) = \mathbf{-j4}\) — the two in series, as it must be.
  2. P2. Why can a bus carrying a load not be Kron-reduced away?

    Show answer
    The derivation requires \(I_p = 0\). With a load, the term dropped is non-zero and the reduction is not exact — Problem 3.
  3. P3. A bus of degree 5 is eliminated. How many new connections can that create at most?

    Show answer
    \(d(d-1)/2 = \mathbf{10}\), fewer if some neighbour pairs are already joined.
  4. P4. Why does the DC power flow matrix have zero row sums?

    Show answer
    It has no shunt elements — the charging was discarded. It is therefore singular until the slack row and column are deleted.
  5. P5. Two buses are joined by \(x = 0.10\) pu and their angles are \(-1.0^\circ\) and \(-3.5^\circ\). Find the DC flow.

    Show answer
    \(\Delta\theta = 2.5^\circ = 0.04363\) rad, so \(P = 0.04363/0.10 = \mathbf{0.436}\) pu. Note the angles must be in radians.
  6. P6. A line carrying 0.30 pu trips. Another has an LODF of \(-0.25\) with respect to that outage and was carrying 0.50. What does it carry afterwards?

    Show answer
    \(0.50 + (-0.25)(0.30) = \mathbf{0.425}\) pu — it unloads.
  7. P7. What does an LODF of exactly 1.0 tell you?

    Show answer
    That the branch has become the only remaining supply to a bus — the receiving end is now radially fed. Problem 16.
  8. P8. Why is \(\mathbf{Z}_{\text{bus}}\) full when \(\mathbf{Y}_{\text{bus}}\) is sparse?

    Show answer
    \(Y_{ij}\) is measured with the other buses shorted, which isolates the neighbourhood; \(Z_{ij}\) with them open, which isolates nothing. Problem 7.
  9. P9. A load-flow \(\mathbf{Y}_{\text{bus}}\) is inverted and every element comes out near \(-j4\). What has been forgotten?

    Show answer
    The generator reactances. Without a path to the reference through the machines, the inverse is just the reciprocal of the total charging. Problem 8.
  10. P10. A bus has \(Z_{ii} = j0.15\) pu on a 100 MVA base. What is its fault level?

    Show answer
    \(1/0.15 = 6.67\) pu, so \(\mathbf{667}\) MVA.
  11. P11. What distinguishes \(\mathbf{B}'\) from \(\mathbf{B}''\)?

    Show answer
    \(\mathbf{B}'\) uses \(1/x\) and drops shunts and taps; \(\mathbf{B}''\) is \(-\operatorname{Im}(\mathbf{Y}_{\text{bus}})\) and keeps them, because they matter for voltage. Problem 17.
  12. P12. How many states does a 300-bus system have?

    Show answer
    \(2n-1 = \mathbf{599}\) — 300 magnitudes and 299 angles. Practical redundancy means 1200 to 1800 measurements. Problem 19.
Challenge

Challenge Problems

Three problems on the boundary between what the matrix says and what it does not.

  1. C1 — The elimination that is not a reduction. Kron reduction requires \(I_p = 0\). Show what happens if a bus carrying a load is eliminated anyway, quantify the error on the five-bus system by eliminating bus 3 with its 0.45 pu load in place, and give the correct procedure.

    Show answer

    The row for bus \(p\) now reads \(I_p = Y_{pp}V_p + \sum_{j\ne p}Y_{pj}V_j\), so

    \[ V_p = \frac{I_p}{Y_{pp}} - \frac{1}{Y_{pp}}\sum_{j\ne p}Y_{pj}V_j \]

    Substituting into row \(i\) gives the same reduced matrix plus an extra term:

    \[ I_i - \frac{Y_{ip}}{Y_{pp}}I_p = \sum_{j\ne p}\left(Y_{ij}-\frac{Y_{ip}Y_{pj}}{Y_{pp}}\right)V_j \]

    The matrix is unchanged; what changes is the right-hand side. The eliminated bus's injection reappears distributed over its neighbours in the ratios \(Y_{ip}/Y_{pp}\). Dropping it — which is what "eliminating a load bus" usually means in practice — loses that injection entirely: the 0.45 pu load simply vanishes from the model, and the remaining buses see a network with 31% less demand.

    The distribution for bus 3 — whose neighbours are 1, 2 and 4 — is by \(-Y_{i3}/Y_{33}\):

    \[ \frac{1.25-j3.75}{12.9167-j38.6950} = 0.0969 \quad \frac{1.6667-j5.0}{12.9167-j38.6950} = 0.1292 \quad \frac{10-j30}{12.9167-j38.6950} = 0.7752 \]

    Summing to 1.0013 rather than exactly 1 — the excess being the small share carried by bus 3's own charging. Three quarters of the load moves to bus 4, through the stiff 3–4 branch, and under a tenth to bus 1.

    The correct procedure is the Ward equivalent of Problem 18: eliminate the bus and carry its injection to the boundary as an equivalent injection. The alternative — converting the load to a constant admittance \(y = S^{*}/|V|^{2}\) and absorbing it into \(Y_{pp}\) before eliminating — makes \(I_p\) genuinely zero and is exact, but only at the voltage used to form it.

  2. C2 — Where the DC model breaks. Construct the conditions under which the DC power flow's error exceeds 20%, and check each against the five-bus system and against a typical distribution feeder.

    Show answer

    The four approximations fail independently, and each has a threshold:

    \[ \begin{array}{lll} \text{Approximation} & \text{Fails when} & \text{Error} \\ \hline G \approx 0 & r/x > 0.5 & \sim r/x\ \text{in the flow} \\ |V| \approx 1 & \text{voltages outside } 0.9\text{--}1.1 & \sim2\Delta V \\ \sin\theta \approx \theta & \theta_{ij} > 30^\circ & \theta^{2}/6 = 4.6\% \\ \text{Losses ignored} & \text{long, loaded lines} & \text{the whole loss} \end{array} \]

    The five-bus system: \(r/x = 0.333\) throughout, largest angle difference 6.6°, voltages within a few per cent. The first approximation is the marginal one, and the observed 4% error in the slack injection is essentially all loss.

    A distribution feeder at 11 kV has \(r/x \approx 1\text{--}2\), voltages spanning 0.90 to 1.0 along its length, and losses of 5–8%. Every approximation fails at once, and worse, they fail in a correlated way: the resistance that invalidates the first also causes the voltage drop that invalidates the second. DC power flow is not merely inaccurate on distribution networks — it is qualitatively wrong, because on a feeder real power flow is driven substantially by voltage magnitude difference rather than by angle.

    The one condition that does not break it is heavy loading on a transmission network. Angles of 30° give under 5% error in the sine, and that is a system near its stability limit. The DC model degrades gracefully with loading and catastrophically with \(r/x\) — which is exactly the opposite of most engineers' intuition.

  3. C3 — The reduction that changes the answer. A planner reduces the five-bus system to the two-bus equivalent of Problem 6 and uses it to size a capacitor at bus 5. Show that the equivalent is exact for the study it was derived under and wrong for this one, and identify the general principle.

    Show answer

    The derivation assumed \(I_2 = I_3 = I_4 = 0\). The two-bus equivalent reproduces the relation between \(\mathbf{V}_{1,5}\) and \(\mathbf{I}_{1,5}\) exactly — for any injections at buses 1 and 5, and for those only.

    The five-bus system has 1.45 pu of load, of which 0.85 sits at the eliminated buses 3 and 4. The equivalent contains none of it. A capacitor sized against the equivalent would be sized for a network carrying 0.60 pu instead of 1.45 — it would be roughly 40% of what is needed, and the voltage at bus 5 would be predicted far too high.

    The failure is not in the reduction but in its re-use. Stated as a principle:

    \[ \begin{array}{ll} \text{An equivalent preserves} & \text{the terminal relation under its own assumptions} \\ \text{It does not preserve} & \text{anything about the eliminated interior} \\ \text{It becomes wrong when} & \text{those assumptions no longer hold} \end{array} \]

    The correct route is the Ward equivalent: keep the reduced matrix, and carry the eliminated injections to the boundary. Then the equivalent reproduces the base case exactly and the response to a change at bus 5 approximately — degrading as the change grows, because the equivalent injections were computed at the base voltages and do not move with them.

    And the general warning. A reduced model carries no record of what it assumed. The two-bus circuit of Problem 6 looks like a general description of the corridor, arrives without documentation, and gives a plausible wrong answer to any question outside its derivation. Every equivalent in a planning department is a liability of exactly this kind, and the discipline of re-deriving them rather than inheriting them is the only defence.

Self-Test

Multiple-Choice Questions

  1. MCQ 1. Kron reduction of a bus is exact provided:
    (a) the bus voltage is 1.0   (b) the bus carries no injection   (c) the network is lossless   (d) always

    Show answer
    (b). The derivation uses \(I_p = 0\) and nothing else. Problem 3.
  2. MCQ 2. Eliminating a bus of degree \(d\) can create at most how many new connections?
    (a) \(d\)   (b) \(d-1\)   (c) \(d(d-1)/2\)   (d) \(d^{2}\)

    Show answer
    (c) — every pair of its neighbours. Fewer if some pairs are already joined. Problem 5.
  3. MCQ 3. The best elimination order is generally:
    (a) lowest degree first   (b) highest degree first   (c) bus number order   (d) it makes no difference

    Show answer
    (a). On the five-bus system it is the difference between zero fill-in and three new connections. Problem 5.
  4. MCQ 4. \(\mathbf{Z}_{\text{bus}}\) has no zero elements because:
    (a) inversion always fills   (b) every bus is connected to every other by some path   (c) of rounding   (d) it is symmetric

    Show answer
    (b). The exception is a genuinely islanded network, where the matrix is block-diagonal. Problem 7.
  5. MCQ 5. Inverting a load-flow \(\mathbf{Y}_{\text{bus}}\) gives fault currents that are:
    (a) correct   (b) about 25 times too small   (c) about 25 times too large   (d) negative

    Show answer
    (b). Without machine reactances the only path to the reference is the charging. Problem 8.
  6. MCQ 6. Adding generator subtransient reactances changes:
    (a) the off-diagonals   (b) the diagonals of the generator buses   (c) every entry   (d) nothing

    Show answer
    (b). A machine behind its reactance is a shunt to the reference — one diagonal entry each. Problem 9.
  7. MCQ 7. A high condition number in a network matrix usually indicates:
    (a) an inadequate solver   (b) a modelling problem   (c) an unstable network   (d) too many buses

    Show answer
    (b) — a missing machine, a busbar modelled as a line, or work not in per unit. Problem 11.
  8. MCQ 8. The DC power flow neglects:
    (a) resistance only   (b) resistance, voltage variation, and the sine nonlinearity   (c) reactance   (d) the network topology

    Show answer
    (b) — four approximations, of which dropping \(r\) is the one that limits its use. Problem 12.
  9. MCQ 9. The DC power flow matrix is singular until:
    (a) shunts are added   (b) the slack row and column are deleted   (c) it is symmetrised   (d) it is scaled

    Show answer
    (b). Every row sums to zero, so a constant added to all angles changes nothing. Problem 13.
  10. MCQ 10. Line-outage distribution factors depend on:
    (a) the loading   (b) the generation pattern   (c) the reactances only   (d) the voltage magnitudes

    Show answer
    (c). That invariance is the whole value of linearising. Problems 15 and 16.
  11. MCQ 11. In the fast-decoupled method, \(\mathbf{B}'\) and \(\mathbf{B}''\) are:
    (a) rebuilt each iteration   (b) constant and factorised once   (c) identical   (d) complex

    Show answer
    (b). That constancy is the method's entire economy against Newton–Raphson. Problem 17.
  12. MCQ 12. A Ward equivalent goes stale because:
    (a) the reduced matrix ages   (b) the equivalent injections are a snapshot   (c) rounding accumulates   (d) it does not

    Show answer
    (b). The matrix reflects topology and survives; the injections reflect one loading condition. Problem 18.
Reference

Key Formulas

QuantityRelationNotes
Kron reduction\(Y_{ij}^{\text{new}} = Y_{ij} - Y_{ip}Y_{pj}/Y_{pp}\)Exact if \(I_p = 0\)
Block form\(\mathbf{Y}_{RR} - \mathbf{Y}_{RE}\mathbf{Y}_{EE}^{-1}\mathbf{Y}_{ER}\)Schur complement
Ward injections\(\mathbf{I}_R^{\text{eq}} = \mathbf{I}_R - \mathbf{Y}_{RE}\mathbf{Y}_{EE}^{-1}\mathbf{I}_E\)Carries external load to the boundary
Driving-point impedance\(Z_{ii} = V_i/I_i\), others openFault level \(= 1/|Z_{ii}|\)
Fault voltage profile\(V_i = V_i^{(0)}(1 - Z_{ik}/Z_{kk})\)Needs one column only
Machine in the matrix\(Y_{ii} \mathrel{+}= 1/(jx''_d)\)Required before inverting
Condition number\(\kappa = \sigma_{\max}/\sigma_{\min}\)Digits lost \(\approx \log_{10}\kappa\)
DC power flow\(\mathbf{P} = \mathbf{B}\boldsymbol{\theta}\), \(B_{ij} = -1/x_{ij}\)Slack row deleted
DC branch flow\(P_{ij} = (\theta_i-\theta_j)/x_{ij}\)Angles in radians
LODF\(d_{mn,kl} = \Delta P_{mn}/P_{kl}^{(0)}\)Independent of loading
Post-outage flow\(P_{mn} = P_{mn}^{(0)} + d\,P_{kl}^{(0)}\)Exact within the DC model
Fast-decoupled\(\mathbf{B}'\Delta\boldsymbol\theta = \Delta\mathbf{P}/|V|\), \(\mathbf{B}''\Delta|\mathbf{V}| = \Delta\mathbf{Q}/|V|\)Both constant
State count\(2n-1\)\(n\) magnitudes, \(n-1\) angles
Observabilitymeasured branches span a treeTopological, not a count
Diagnostics

Common Mistakes

  1. Eliminating a bus that carries a load. The reduction is exact only for \(I_p = 0\); otherwise the injection must be carried to the boundary — Problem 3 and Challenge C1.

  2. Eliminating high-degree buses first. Fill-in is created between every pair of neighbours, so the hub is the worst place to start — Problem 5.

  3. Forming \(\mathbf{Y}^{-1}\) to solve a network. The inverse is full where \(\mathbf{Y}\) is sparse; factorise instead — Problem 2.

  4. Inverting a load-flow matrix for a fault study. Without the machine reactances the answer is 25 times too small and looks entirely plausible — Problems 8 and 9.

  5. Reading a high condition number as a solver problem. It is almost always a missing machine or a busbar modelled as a line — Problem 11.

  6. Confusing \(\mathbf{B}\) with \(-\operatorname{Im}\mathbf{Y}\). One uses \(1/x\) and the other \(x/|z|^{2}\); they agree only for a lossless network — Problem 13.

  7. Using degrees in the DC flow formula. \(P = \Delta\theta/x\) requires radians, and the factor is 57.3 — Practice P5.

  8. Expecting the DC model to show losses. The resistance was discarded; slack generation equals total load exactly — Problem 14.

  9. Using the DC model on a distribution feeder. With \(r/x \approx 1\) every approximation fails at once, and correlatedly — Challenge C2.

  10. Applying a distribution factor to a case that islands the network. The formula's denominator approaches zero and the factor is meaningless — Problem 16.

  11. Re-using an equivalent outside its derivation. It reproduces the terminal behaviour under its own assumptions and is silently wrong otherwise — Problem 6 and Challenge C3.

  12. Running a state estimator at critical observability. With no redundancy a bad measurement has zero residual and cannot be detected — Problem 19.

Looking Ahead

The admittance matrix has now been reduced, factorised, approximated and differentiated. The two themes that ran through the set will run through the rest of Part 4: that a network change is local in admittance and global in impedance, and that linearising the load flow costs a few per cent in accuracy and buys several orders of magnitude in speed. The second is why the DC model dominates operational practice; the first is why the impedance matrix of the next set has to be built rather than inverted.

Set 18 constructs \(\mathbf{Z}_{\text{bus}}\) directly by the building algorithm — adding one element at a time, in four cases distinguished by whether the new branch reaches a new bus and whether it touches the reference — and shows why that is preferable to inverting a matrix one already has. Sets 19 and 20 then return to the nonlinear problem that the DC approximation was invented to avoid, and solve the five-bus system properly by two methods.