Part 4 · Chapter 20

Newton-Raphson and Fast Decoupled Load Flow

Instead of nudging one voltage at a time, linearise every mismatch equation about the present estimate at once and solve the resulting linear system for the whole correction vector — a step that doubles the number of correct digits each time it is taken.

Electric Power Systems Prof. Mithun Mondal Reading time ≈ 46 min
i What you'll learn
  • Why linear convergence is not merely slower than quadratic but differently slow, and what that costs on a large network.
  • How Newton's method comes out of a truncated Taylor series, and why discarding the second-order term is what makes the error square itself.
  • How the \(n\) mismatch equations linearise into \(\mathbf{J}\,\Delta\mathbf{x} = \Delta\mathbf{g}\), and what each of the four Jacobian sub-matrices means physically.
  • Every Jacobian element derived by differentiating the power flow equations — including the elegant results \(\partial P_i/\partial\delta_i = -Q_i - |V_i|^2B_{ii}\) and its partners.
  • Why \(\partial P/\partial|V|\) and \(\partial Q/\partial\delta\) are small in a transmission network, and how decoupling turns one large solve into two smaller ones.
  • How the fast decoupled method reduces the Jacobian to two constant real matrices \(\mathbf{B}'\) and \(\mathbf{B}''\) that are factorised once and never rebuilt.
  • The DC load flow as the final approximation — one linear solve, no iteration — and where it is and is not trustworthy.
Section 20-1

The Case Against One Bus at a Time

Chapter 19 solved the three-bus test system in twelve sweeps and left a warning: the sweep count grows roughly in proportion to the number of buses. The reason is structural. A Gauss-Seidel update at bus \(i\) consults only the buses directly connected to it. Information about a disturbance at one end of the network therefore travels at most a few buses per sweep, and a system whose electrical diameter is thirty buses needs at least thirty sweeps before the far end has even heard about the near end.

Look at the same fact through the error. Each sweep multiplies the error by a fixed ratio \(\rho\), so the number of iterations to reach a tolerance \(\varepsilon\) is

Iterations required by a linearly convergent method
\[ k \;\approx\; \frac{\ln\big(\varepsilon/e^{(0)}\big)}{\ln\rho} \]

Every extra decimal place costs the same fixed number of sweeps, and \(\rho\) itself creeps toward one as the network grows. What is wanted is a method whose ratio is not constant but improves as the solution is approached. Such a method exists, and it has been known since the seventeenth century.

The change of viewpoint is this. Gauss-Seidel treats the equations one at a time and never assembles a picture of how a change at one bus affects the mismatch at another. Newton-Raphson builds exactly that picture — the matrix of all sensitivities \(\partial(\text{mismatch})/\partial(\text{voltage})\) — and uses it to compute a correction to every unknown simultaneously. The network's connectivity is accounted for in one step rather than propagated sweep by sweep.

🔑
Linear against quadratic convergence
\[ \text{linear:}\;\; e^{(k+1)} \approx \rho\,e^{(k)} \qquad\qquad \text{quadratic:}\;\; e^{(k+1)} \approx C\big(e^{(k)}\big)^{2} \]

Linear convergence adds a fixed number of digits per iteration; quadratic convergence doubles the digits already correct. Three correct digits become six, then twelve. This is why a Newton-Raphson load flow of any size converges in three to five iterations, and why that count barely moves as the system grows from thirty buses to three thousand.

Nothing is free. Each Newton iteration must form and solve a linear system whose order is the number of unknowns counted in Section 18-7, and that is far more arithmetic than a Gauss-Seidel sweep. The method won the argument only when sparse matrix techniques — storing and factorising a matrix that is \(99\%\) zeros without touching the zeros — made a single iteration affordable. That happened around 1967, and the load flow has been a Newton-Raphson calculation ever since.

Section 20-2

Newton's Method for One Equation

Take a single equation \(g(x)=0\) with a solution \(x^{*}\), and an estimate \(x^{(0)}\) which is wrong by an unknown amount \(\Delta x^{(0)}\). By definition

The exact statement
\[ g\big(x^{(0)} + \Delta x^{(0)}\big) = 0 \]

Expand the left side in a Taylor series about the estimate:

Taylor expansion about the present estimate
\[ g\big(x^{(0)}\big) + \Delta x^{(0)}\left.\frac{dg}{dx}\right|^{(0)} + \frac{\big(\Delta x^{(0)}\big)^2}{2!}\left.\frac{d^2g}{dx^2}\right|^{(0)} + \cdots = 0 \]

The series is exact but useless, because it contains every power of the unknown correction. Truncate it after the linear term. What remains is a single linear equation that can be solved for \(\Delta x^{(0)}\) at once:

🔑
The Newton-Raphson step
\[ \Delta x^{(0)} = -\frac{g\big(x^{(0)}\big)}{g'\big(x^{(0)}\big)}, \qquad x^{(1)} = x^{(0)} + \Delta x^{(0)} = x^{(0)} - \frac{g\big(x^{(0)}\big)}{g'\big(x^{(0)}\big)} \]

Geometrically: replace the curve by its tangent at the present point and take the tangent's intercept with the axis as the next estimate. The tangent is the best straight-line description of the function locally, so its root is the best linear guess at the function's root.

x g(x) x* x⁽⁰⁾ g(x⁽⁰⁾) tangent x⁽¹⁾ x⁽²⁾ Δx⁽⁰⁾ Δx⁽¹⁾ each correction is roughly the square of the last, measured from x*
The tangent construction: replace the curve by its slope and solve the linear problem

Why the error squares follows directly from what was thrown away. Write \(e^{(k)} = x^{(k)}-x^{*}\) and expand \(g\) about the true root instead:

Where the quadratic behaviour comes from
\[ 0 = g\big(x^{*}\big) = g\big(x^{(k)}\big) - e^{(k)}g'\big(x^{(k)}\big) + \tfrac{1}{2}\big(e^{(k)}\big)^2 g''\big(\xi\big) \]
\[ \Longrightarrow\quad e^{(k+1)} = e^{(k)} - \frac{g\big(x^{(k)}\big)}{g'\big(x^{(k)}\big)} = \frac{g''(\xi)}{2\,g'\big(x^{(k)}\big)}\Big(e^{(k)}\Big)^{2} \]

The new error is proportional to the square of the old one. The truncated second-order term is not an incidental loss; it is the entire remaining error, and squaring a small number makes it very much smaller. An error of \(10^{-2}\) becomes \(10^{-4}\), then \(10^{-8}\), then \(10^{-16}\) — at which point the arithmetic has run out of digits.

Two properties of the method must be stated alongside the good news. The derivative appears in the denominator, so a point where \(g'\) is near zero produces an enormous correction and can throw the iteration anywhere. And the quadratic behaviour is local: it is guaranteed only once the estimate is close enough. From a distant start Newton's method may converge to a different root, or oscillate, or diverge. Example 1 shows both roots of a load flow being found by the same iteration from two different starting points — which is not a defect but the two-solution structure of Section 18-2 reappearing.

The flat start earns its keep here. Chapter 18 observed that setting every unknown magnitude to \(1.0\) and every angle to zero lands near the high-voltage solution, because a healthy power system operates near nominal voltage with small angle spreads. For Gauss-Seidel that was a convenience. For Newton-Raphson it is what places the iteration inside the region where the quadratic argument holds, and it is the reason a method with no global guarantee is nevertheless reliable in production.
Section 20-3

Many Equations: the Jacobian

Nothing in the derivation depended on there being one equation. Let a set of \(n\) nonlinear functions of \(n\) variables be specified to take given values:

The system to be solved
\[ f_1\big(x_1,\dots,x_n\big) = \eta_1, \quad f_2\big(x_1,\dots,x_n\big) = \eta_2, \quad\dots\quad f_n\big(x_1,\dots,x_n\big) = \eta_n \]

Move the specified values across to define residual functions that must vanish at the solution — these are the mismatches of Chapter 18 in general dress:

Residual form
\[ g_k\big(x_1,\dots,x_n\big) = f_k\big(x_1,\dots,x_n\big) - \eta_k = 0, \qquad k=1,\dots,n \]

Assume an estimate \(x_k^{(0)}\) and unknown corrections \(\Delta x_k^{(0)}\) such that \(g_k\big(x_1^{(0)}+\Delta x_1^{(0)},\dots\big) = 0\) for every \(k\). Expand each \(g_k\) in a Taylor series about the estimate and keep only the first-order terms — now there are \(n\) partial derivatives per function instead of one:

First-order expansion of the \(k\)-th residual
\[ g_k\big(x^{(0)}\big) + \Delta x_1^{(0)}\left.\frac{\partial g_k}{\partial x_1}\right|^{(0)} + \Delta x_2^{(0)}\left.\frac{\partial g_k}{\partial x_2}\right|^{(0)} + \cdots + \Delta x_n^{(0)}\left.\frac{\partial g_k}{\partial x_n}\right|^{(0)} \;=\; 0 \]

Writing all \(n\) of these equations together, the array of partial derivatives is the Jacobian matrix \(\mathbf{J}\), and the whole set becomes a linear system in the correction vector:

🔑
The Newton-Raphson equation for a system
\[ \begin{bmatrix} \dfrac{\partial g_1}{\partial x_1} & \cdots & \dfrac{\partial g_1}{\partial x_n}\\[6pt] \vdots & \ddots & \vdots\\[4pt] \dfrac{\partial g_n}{\partial x_1} & \cdots & \dfrac{\partial g_n}{\partial x_n} \end{bmatrix}^{(0)} \begin{bmatrix}\Delta x_1^{(0)}\\ \vdots\\ \Delta x_n^{(0)}\end{bmatrix} = \begin{bmatrix}-g_1\big(x^{(0)}\big)\\ \vdots\\ -g_n\big(x^{(0)}\big)\end{bmatrix} \equiv \begin{bmatrix}\Delta g_1^{(0)}\\ \vdots\\ \Delta g_n^{(0)}\end{bmatrix} \]

In compact form \(\mathbf{J}^{(0)}\Delta\mathbf{x}^{(0)} = \Delta\mathbf{g}^{(0)}\). The right-hand side is the mismatch vector — how far the present estimate is from satisfying the equations. The Jacobian is the matrix of sensitivities that converts a required change in mismatch into the change in variables that would produce it.

Update and repeat:

The iteration
\[ \Delta\mathbf{x}^{(k)} = \Big[\mathbf{J}^{(k)}\Big]^{-1}\Delta\mathbf{g}^{(k)}, \qquad \mathbf{x}^{(k+1)} = \mathbf{x}^{(k)} + \Delta\mathbf{x}^{(k)} \]

Because the series was truncated, one step does not land on the answer; the Jacobian is rebuilt at the new point and the step is taken again, until every \(|\Delta g_k|\) falls below the tolerance. The inverse is written for clarity only. No program ever forms \(\mathbf{J}^{-1}\): the linear system is solved by \(LU\) factorisation, which for a sparse Jacobian costs a small multiple of \(n\) rather than \(n^3\).

Section 20-4

The Load Flow Jacobian and Its Size

Now identify the general machinery with the load flow. The variables \(x\) are the unknown voltage angles and magnitudes; the functions \(f\) are the power flow equations of Section 18-6; the specified values \(\eta\) are the scheduled injections; and the residuals \(g\) are exactly the mismatches \(\Delta P_i\) and \(\Delta Q_i\).

Chapter 18 counted the unknowns. For a system with \(n\) buses, one slack and \(n_g\) PV buses, there are \(n-1\) unknown angles and \(n_p = n-1-n_g\) unknown magnitudes. Ordering the mismatches with all the \(\Delta P\) above all the \(\Delta Q\), and the corrections with all the \(\Delta\delta\) above all the \(\Delta|V|\), the Jacobian falls naturally into four blocks:

🔑
The load flow Newton-Raphson equation
\[ \begin{bmatrix}\Delta \mathbf{P}\\ \Delta \mathbf{Q}\end{bmatrix} = \begin{bmatrix} \mathbf{J}_{11} & \mathbf{J}_{12}\\ \mathbf{J}_{21} & \mathbf{J}_{22} \end{bmatrix} \begin{bmatrix}\Delta \boldsymbol{\delta}\\[2pt] \Delta|\mathbf{V}|\big/|\mathbf{V}|\end{bmatrix} \]

The magnitude corrections are carried as the fractional change \(\Delta|V_i|/|V_i|\) rather than the absolute change. This is a scaling choice, and it is made because it renders the four blocks dimensionally similar and produces the symmetric expressions of Section 20-5. Whichever convention is used, the recovered magnitude is the same number.

The block dimensions follow from the counts:

Dimensions of the sub-matrices
\[ \mathbf{J} \text{ is } \big(n-1+n_p\big)\times\big(n-1+n_p\big), \qquad \begin{array}{ll} \mathbf{J}_{11}: & (n-1)\times(n-1)\\ \mathbf{J}_{12}: & (n-1)\times n_p\\ \mathbf{J}_{21}: & n_p\times(n-1)\\ \mathbf{J}_{22}: & n_p\times n_p \end{array} \]

and each block collects one family of derivatives:

BlockEntriesWhat it measuresRelative size
\(\mathbf{J}_{11}\)\(\partial P_i/\partial\delta_k\)How real power responds to angleLarge
\(\mathbf{J}_{12}\)\(|V_k|\,\partial P_i/\partial|V_k|\)How real power responds to voltage magnitudeSmall
\(\mathbf{J}_{21}\)\(\partial Q_i/\partial\delta_k\)How reactive power responds to angleSmall
\(\mathbf{J}_{22}\)\(|V_k|\,\partial Q_i/\partial|V_k|\)How reactive power responds to voltage magnitudeLarge
ΔP ΔQ n−1 nₚ = J₁₁ ∂P/∂δ LARGE J₁₂ |V|∂P/∂|V| small J₂₁ ∂Q/∂δ · small J₂₂ |V|∂Q/∂|V| n−1 columns nₚ columns Δδ Δ|V| / |V| order = (n − 1) + nₚ = 2n − 2 − n_g — the count of Section 18-7 the dark blocks dominate because X ≫ R in a transmission network setting the pale blocks to zero gives the decoupled method of Section 20-7
The four blocks of the load flow Jacobian and the sizes that make decoupling possible

The total order, \((n-1)+n_p = 2n-2-n_g\), is precisely the number of unknowns counted in Section 18-7 — as it must be, or the problem would not be well posed. For a \(300\)-bus system with \(40\) generators the Jacobian is \(559\times559\); for a modern interconnection with \(50{,}000\) buses it has of the order of \(10^{5}\) rows. Neither is solvable by dense algebra, and neither needs to be. The Jacobian inherits its sparsity pattern directly from \(\mathbf{Y}_{bus}\): the entry \(\partial P_i/\partial\delta_k\) is non-zero only if buses \(i\) and \(k\) are directly connected, which for a real network means three or four entries per row.

The Jacobian is a sensitivity matrix, and it is used for far more than load flow. Its entries answer questions an operator asks constantly: if the angle at bus \(7\) moves, how much does the flow at bus \(12\) change? Contingency screening, available transfer capability, optimal power flow and voltage stability assessment are all built on the same matrix. When \(\mathbf{J}\) becomes singular, the network has reached the nose of the curve in Section 18-2 — so the Jacobian's condition number is itself a voltage-stability index.
Section 20-5

The Jacobian Elements, Derived

The elements are obtained by differentiating the polar power flow equations of Chapter 18. Separating the \(k=i\) term, whose angle argument \(\theta_{ii}+\delta_i-\delta_i = \theta_{ii}\) contains no angle difference at all, gives the form that is easiest to differentiate:

Power flow equations with the self term separated
\[ P_i = \big|V_i\big|^2G_{ii} + \sum_{\substack{k=1\\k\neq i}}^{n}\big|Y_{ik}V_iV_k\big|\cos\big(\theta_{ik}+\delta_k-\delta_i\big) \]
\[ Q_i = -\big|V_i\big|^2B_{ii} - \sum_{\substack{k=1\\k\neq i}}^{n}\big|Y_{ik}V_iV_k\big|\sin\big(\theta_{ik}+\delta_k-\delta_i\big) \]

using \(Y_{ii}=G_{ii}+jB_{ii}\), so that \(|Y_{ii}|\cos\theta_{ii}=G_{ii}\) and \(|Y_{ii}|\sin\theta_{ii}=B_{ii}\).

The block \(\mathbf{J}_{11}\), written \(L_{ik}=\partial P_i/\partial\delta_k\). For \(k\neq i\), only the single term containing \(\delta_k\) survives the differentiation, and \(\delta_k\) enters the cosine with a plus sign:

Off-diagonal of \(\mathbf{J}_{11}\)
\[ L_{ik} = \frac{\partial P_i}{\partial\delta_k} = -\big|Y_{ik}V_iV_k\big|\sin\big(\theta_{ik}+\delta_k-\delta_i\big), \qquad i\neq k \]

For \(k=i\), the angle \(\delta_i\) appears in every term of the sum, with a minus sign, so every term contributes and the signs reverse:

Diagonal of \(\mathbf{J}_{11}\), and its compact form
\[ L_{ii} = \frac{\partial P_i}{\partial\delta_i} = \sum_{\substack{k=1\\k\neq i}}^{n}\big|Y_{ik}V_iV_k\big|\sin\big(\theta_{ik}+\delta_k-\delta_i\big) \]
\[ \text{but the } Q_i \text{ equation says this sum equals } -Q_i - \big|V_i\big|^2B_{ii}, \quad\text{so}\quad L_{ii} = -Q_i - \big|V_i\big|^2 B_{ii} \]

That is a small piece of good fortune with a large payoff. The diagonal element requires no fresh trigonometry at all: the injected power \(Q_i\) has already been computed to form the mismatch, and \(B_{ii}\) is stored data. The same collapse happens in all four blocks, and it is the reason a Jacobian can be assembled almost as cheaply as the mismatches themselves.

Working through the other three blocks in the same way — differentiating the sums, then recognising the result as a combination of \(P_i\), \(Q_i\) and a diagonal admittance — gives the complete set.

🔑
All four blocks, with \(\alpha_{ik} \equiv \theta_{ik}+\delta_k-\delta_i\)
\[ \begin{array}{ll} \mathbf{J}_{11}:\;\; L_{ik} = -\big|Y_{ik}V_iV_k\big|\sin\alpha_{ik} & L_{ii} = -Q_i - \big|V_i\big|^2B_{ii}\\[6pt] \mathbf{J}_{12}:\;\; N_{ik} = \big|Y_{ik}V_iV_k\big|\cos\alpha_{ik} & N_{ii} = P_i + \big|V_i\big|^2G_{ii}\\[6pt] \mathbf{J}_{21}:\;\; M_{ik} = -\big|Y_{ik}V_iV_k\big|\cos\alpha_{ik} & M_{ii} = P_i - \big|V_i\big|^2G_{ii}\\[6pt] \mathbf{J}_{22}:\;\; O_{ik} = -\big|Y_{ik}V_iV_k\big|\sin\alpha_{ik} & O_{ii} = Q_i - \big|V_i\big|^2B_{ii} \end{array} \]

The off-diagonal entries pair up: \(N_{ik}=-M_{ik}\) and \(O_{ik}=L_{ik}\). Only two trigonometric quantities per branch, \(|Y_{ik}V_iV_k|\sin\alpha_{ik}\) and \(|Y_{ik}V_iV_k|\cos\alpha_{ik}\), are needed to fill all four blocks — which is exactly how the assembly loop of a real program is written.

Three points of housekeeping complete the picture. A row of \(\Delta Q\) and a column of \(\Delta|V|\) exist only for PQ buses, so the rows and columns belonging to PV buses are simply deleted from \(\mathbf{J}_{12}\), \(\mathbf{J}_{21}\) and \(\mathbf{J}_{22}\). The slack bus contributes neither a row nor a column anywhere. And the whole Jacobian must be rebuilt at every iteration, because every element depends on the present voltages — this is the expensive part of the method and the target of every approximation in Sections 20-7 to 20-9.

Section 20-6

The Newton-Raphson Load Flow Algorithm

The procedure is the general iteration of Section 20-3 with the load flow quantities substituted in.

StepActionProduces
1Form \(\mathbf{Y}_{bus}\); classify the buses; set the flat start \(|V|^{(0)}=1.0\) at PQ buses, the scheduled magnitude at PV buses, \(\delta^{(0)}=0\) everywhere\(n-1\) angles and \(n_p\) magnitudes to be found
2Evaluate \(P_i^{calc}\) at every non-slack bus and \(Q_i^{calc}\) at every PQ bus from the present voltagesCalculated injections
3Form the mismatches \(\Delta P_i = P_i^{sch}-P_i^{calc}\) and \(\Delta Q_i = Q_i^{sch}-Q_i^{calc}\)The right-hand-side vector
4If every mismatch is below \(\varepsilon\), stopConverged solution
5Assemble \(\mathbf{J}\) from the formulae of Section 20-5, using the \(P_i\) and \(Q_i\) already computed for the diagonals\((2n-2-n_g)^2\) matrix, sparse
6Solve \(\mathbf{J}\,\Delta\mathbf{x} = \Delta\mathbf{g}\) by \(LU\) factorisation\(\Delta\delta_i\) and \(\Delta|V_i|/|V_i|\)
7Update: \(\delta_i \leftarrow \delta_i + \Delta\delta_i\) and \(|V_i| \leftarrow |V_i|\big[1 + \Delta|V_i|/|V_i|\big]\)New iterate
8At every PV bus compute \(Q_i\) and test its limits; on a violation clamp \(Q_i\) and reclassify the bus as PQ, enlarging the Jacobian by one row and columnCorrected bus types
9Return to step 2

Step 8 deserves attention because it is where the method's dimension changes during the run. Reclassifying a PV bus adds \(\Delta Q_i\) to the mismatch vector and \(\Delta|V_i|/|V_i|\) to the correction vector, so \(\mathbf{J}\) grows by one in each direction and its factorisation must be redone. A case with many limit violations therefore converges more slowly than one with none — not because Newton's method is degraded, but because the problem being solved keeps changing. Programs usually delay limit enforcement until the second or third iteration, by which time the reactive estimates are meaningful and spurious switching is avoided.

The correction vector also gives a second, sharper convergence test. Once the corrections themselves become small, they are approximately equal to the remaining error, so \(\max|\Delta\delta|\) and \(\max|\Delta|V||\) below about \(10^{-5}\) confirm the mismatch test rather than substituting for it.

🔑
What convergence looks like
On the three-bus test system, the largest mismatch falls \(2.86 \to 9.92\times10^{-2} \to 2.17\times10^{-4} \to 1.17\times10^{-9}\).

Read the exponents: roughly \(0\), \(-1\), \(-4\), \(-9\). The number of correct digits doubles at each step, exactly as Section 20-2 predicted. Compare the Gauss-Seidel sequence for the same system, in which each iteration multiplied the mismatch by \(0.411\) and twelve were needed to reach \(10^{-5}\).

Section 20-7

Decoupling: P with δ, Q with |V|

Chapter 18 noticed a structural feature of the power flow equations and promised to exploit it here. In a transmission network the series reactance dominates the resistance, \(X \gg R\), so in \(Y_{ik}=G_{ik}+jB_{ik}\) the susceptance dominates: \(|B_{ik}| \gg |G_{ik}|\), and the admittance angle \(\theta_{ik}\) is close to \(\pm90^\circ\). At the same time, angle differences across a healthy line are small, a few degrees at most, so \(\delta_k-\delta_i \approx 0\).

Apply both facts to the off-diagonal Jacobian entries. With \(\alpha_{ik}=\theta_{ik}+\delta_k-\delta_i \approx \theta_{ik} \approx 90^\circ\),

The two approximations at work
\[ \sin\alpha_{ik} \approx 1 \quad\text{(large)}, \qquad \cos\alpha_{ik} \approx 0 \quad\text{(small)} \]
\[ \Longrightarrow\quad \underbrace{L_{ik}, O_{ik}}_{\propto\,\sin\alpha_{ik}} \;\text{are large}, \qquad \underbrace{N_{ik}, M_{ik}}_{\propto\,\cos\alpha_{ik}} \;\text{are small} \]

But \(L_{ik}\) belongs to \(\mathbf{J}_{11}\) and \(O_{ik}\) to \(\mathbf{J}_{22}\), while \(N_{ik}\) belongs to \(\mathbf{J}_{12}\) and \(M_{ik}\) to \(\mathbf{J}_{21}\). The two diagonal blocks are large and the two off-diagonal blocks are small — which is the shading in the figure of Section 20-4. The physical statement behind the algebra is the one every operator knows: real power follows angle, reactive power follows voltage magnitude. Governors redistribute megawatts; excitation and capacitors correct volts.

Set the small blocks to zero. The single linear system splits into two independent halves:

🔑
The decoupled Newton-Raphson equations
\[ \Delta\mathbf{P} = \mathbf{J}_{11}\,\Delta\boldsymbol{\delta}, \qquad\qquad \Delta\mathbf{Q} = \mathbf{J}_{22}\,\frac{\Delta|\mathbf{V}|}{|\mathbf{V}|} \]

Two systems of order \(n-1\) and \(n_p\) replace one of order \(n-1+n_p\). Since the work of factorising grows faster than linearly with order, splitting the problem in half saves considerably more than half the effort, and the two halves need not even be solved to the same accuracy or at the same frequency.

The price is paid in convergence, not in accuracy. The equations being solved are untouched; only the matrix used to compute the corrections has been approximated. The iteration therefore still converges to the exact solution of the exact load flow equations — the mismatch test is still applied to the full nonlinear equations — but it no longer converges quadratically, because the matrix is no longer the true derivative. Decoupled Newton typically needs one or two more iterations than full Newton, each much cheaper.

This is a general and important principle. In Newton's method the Jacobian controls only the route to the answer. The answer itself is fixed entirely by the mismatch equations. Any approximation to \(\mathbf{J}\) that still points roughly downhill gives the right result, more slowly. Everything in the next section is an aggressive application of that licence.

Section 20-8

The Fast Decoupled Load Flow

Decoupling removed two blocks but left \(\mathbf{J}_{11}\) and \(\mathbf{J}_{22}\) to be rebuilt and refactorised at every iteration. Stott and Alsac showed in 1974 that with a few further approximations both matrices become constant — independent of the voltages — so each can be factorised once, before the iteration begins, and reused unchanged to the end. That is the fast decoupled load flow, and it is still the method behind real-time contingency analysis.

Start from the elements of \(\mathbf{J}_{11}\) and apply, in order, three approximations that the same physics justifies:

Reducing \(\mathbf{J}_{11}\)
\[ L_{ik} = -\big|Y_{ik}V_iV_k\big|\sin\big(\theta_{ik}+\delta_k-\delta_i\big) \]
\[ \cos\big(\delta_k-\delta_i\big)\approx 1 \;\Longrightarrow\; \sin\big(\theta_{ik}+\delta_k-\delta_i\big) \approx \sin\theta_{ik} \;\Longrightarrow\; L_{ik} \approx -\big|V_i\big|\big|V_k\big|B_{ik} \]
\[ L_{ii} = -Q_i - \big|V_i\big|^2B_{ii} \;\;\text{with}\;\; \big|Q_i\big| \ll \big|V_i\big|^2\big|B_{ii}\big| \;\Longrightarrow\; L_{ii} \approx -\big|V_i\big|^2B_{ii} \]

The last step deserves a comment. \(B_{ii}\) is the sum of the susceptances of every branch at the bus, typically twenty to fifty per unit, so \(|V_i|^2|B_{ii}|\) is an order of magnitude larger than any bus's reactive injection. Dropping \(Q_i\) is therefore a genuine small correction and not wishful thinking.

Divide the \(i\)-th equation of \(\Delta\mathbf{P}=\mathbf{J}_{11}\Delta\boldsymbol{\delta}\) by \(|V_i|\), take a factor \(|V_k|\approx 1\) out of the off-diagonal terms, and what is left on the matrix side contains no voltages at all:

🔑
The fast decoupled equations
\[ \frac{\Delta P_i}{\big|V_i\big|} = -\sum_k B'_{ik}\,\Delta\delta_k, \qquad\qquad \frac{\Delta Q_i}{\big|V_i\big|} = -\sum_k B''_{ik}\,\Delta\big|V_k\big| \]

\(\mathbf{B}'\) and \(\mathbf{B}''\) are constant real matrices built once from the network data. Only two triangular factorisations are ever performed, no matter how many iterations or how many cases are run — which is what makes thousands of contingency load flows feasible in seconds.

The two matrices are not identical, and the differences are deliberate. \(\mathbf{B}'\) governs the \(P\)–\(\delta\) half, where the influences to be suppressed are those that have nothing to do with active power transfer: line resistances (so branch susceptances are taken as \(1/x_{ik}\), not \(-\operatorname{Im}(1/z_{ik})\)), line charging, and shunt reactors and capacitors. \(\mathbf{B}''\) governs the \(Q\)–\(|V|\) half, where shunts matter a great deal — they are the very devices that supply reactive power — so it is built from the imaginary part of \(\mathbf{Y}_{bus}\) exactly as it stands, and its rows and columns cover only the PQ buses.

Building the two constant matrices
\[ B'_{ik} = -\frac{1}{x_{ik}}, \qquad B'_{ii} = \sum_{k\neq i}\frac{1}{x_{ik}} \qquad\text{(all non-slack buses; resistances and shunts omitted)} \]
\[ B''_{ik} = -B_{ik}, \qquad B''_{ii} = -B_{ii} \qquad\text{(PQ buses only; taken from } \mathbf{Y}_{bus} \text{ as built)} \]

The iteration alternates half-steps rather than taking one combined step. Solve the \(P\)–\(\delta\) system, update the angles, recompute the reactive mismatches with those new angles, solve the \(Q\)–\(|V|\) system, update the magnitudes, recompute the real mismatches, and repeat. Using the freshly updated angles in the reactive half-step is the Gauss-Seidel idea of Chapter 19 reappearing at a higher level, and it measurably improves the convergence.

ConditionEffect on the fast decoupled method
\(X/R\) large (transmission, \(X/R > 5\))Excellent — four to eight cheap iterations
\(X/R\) near unity (distribution, cables, short lines)Poor: the decoupling assumption fails, convergence slows badly or is lost
Series capacitors (negative \(x_{ik}\))\(\mathbf{B}'\) can lose diagonal dominance; special handling is required
Heavy loading, large angle differences\(\cos(\delta_k-\delta_i)\approx1\) fails; use full Newton
Repeated studies on one network (contingencies)Ideal — the factorisation is reused across every case
The same assumption, three times over. \(X \gg R\) with small angles gave the near-decoupling of Chapter 18, the two independent systems of Section 20-7, the constant matrices of this section, and — one step further — the DC load flow below. It is also what makes the equal-area criterion of Chapter 29 workable and what underlies the separation of frequency control (Chapter 33) from voltage control (Chapter 34). Very little in power system analysis is untouched by it.
Section 20-9

The DC Load Flow and a Comparison

One approximation remains. In the fast decoupled \(P\)–\(\delta\) equation, suppose the voltage magnitudes are not merely nearly constant but taken as exactly \(1.0\) per unit everywhere, and the reactive half of the problem is abandoned altogether. Then \(\Delta P_i/|V_i| = \Delta P_i\), the matrix \(\mathbf{B}'\) is constant, and — since the relation is now exactly linear — no iteration is needed at all:

🔑
DC load flow
\[ \mathbf{P} = \mathbf{B}'\,\boldsymbol{\delta} \quad\Longrightarrow\quad \boldsymbol{\delta} = \big[\mathbf{B}'\big]^{-1}\mathbf{P}, \qquad P_{ik} = \frac{\delta_i-\delta_k}{x_{ik}} \]

One linear solve gives every angle, and every line flow follows by subtraction. There is no reactive power, no voltage magnitude and no loss in the model — the name comes from the resemblance to a resistive DC circuit in which angle plays the part of voltage and real power the part of current.

The DC load flow is not a competitor to the methods above; it answers a different question. It is used wherever an enormous number of cases must be screened and only megawatt flows matter: security-constrained dispatch, transmission planning studies, locational pricing in electricity markets, and the first pass of a contingency analysis that hands its worst cases to a full AC solution. Its errors on real networks are typically a few per cent in flow, which is acceptable for screening and unacceptable for anything voltage-related. On the test system of this chapter it returns \(\delta_2=-3.86^\circ\) against the true \(-2.70^\circ\) — the discrepancy comes almost entirely from the \(R/X\) ratio of \(0.5\), which is far outside the range the approximation was designed for.

Setting the whole family side by side on the same three-bus case, solved to the same tolerance of \(10^{-5}\) per unit from the same flat start:

MethodIterationsMatrix work per iterationConvergenceBest used for
Gauss-Seidel (Chapter 19)12None — a sweep of the busesLinear, ratio \(0.411\)Small systems; starting a hard case
Gauss-Seidel, \(\lambda=1.2\)7NoneLinear, improved ratioAs above
Newton-Raphson3Build and factorise \(\mathbf{J}\)QuadraticThe standard production method
Fast decoupled6Two forward/back substitutionsLinear but with a small ratioContingency screening, real-time operation
DC load flow1 (direct)One solve with a constant matrixNot iterativeMarket and planning studies, MW screening
10¹10⁰10⁻¹ 10⁻²10⁻³10⁻⁴ 10⁻⁵10⁻⁶10⁻⁷ 10⁻⁸10⁻⁹10⁻¹⁰ max |ΔP|, |ΔQ| (pu) 024 681012 iteration tolerance 10⁻⁵ Gauss-Seidel · 12 fast decoupled · 6 Newton-Raphson · 3 the bend is quadratic convergence
The same problem, three methods: straight lines are linear, the bend is quadratic

The shapes matter more than the counts. Both Gauss-Seidel traces and the fast decoupled trace are straight, because a fixed factor per iteration is a fixed drop per iteration on a logarithmic scale. The Newton trace bends downward and keeps bending, because its factor improves as it goes. Extend the horizontal axis to a three-hundred-bus system and the straight lines flatten while the bend does not move — which is the whole argument of this chapter in one picture.

Section 20-10

Worked Examples

1 Newton on a scalar load flow, and both of its solutions

Problem. The two-bus system of Chapter 18 — a source of \(1.0\angle0^\circ\) feeding \(0.8+j0.4\) per unit through \(j0.10\) — gave the quartic \(|V|^4 - 0.92|V|^2 + 0.008 = 0\) for the load bus voltage. Solve it by Newton-Raphson from \(|V|^{(0)}=1.0\) and again from \(|V|^{(0)}=0.2\), and comment.

Solution. With \(g(x)=x^4-0.92x^2+0.008\) and \(g'(x)=4x^3-1.84x\), the step of Section 20-2 is \(x^{(k+1)} = x^{(k)} - g/g'\). From \(x^{(0)}=1.0\): \(g=0.088\), \(g'=2.16\), so \(x^{(1)} = 1 - 0.088/2.16 = 0.959259\).

IterationFrom \(x^{(0)}=1.0\)\(|g|\)From \(x^{(0)}=0.2\)\(|g|\)
10.9592593\(8.2\times10^{-3}\)0.1190476\(4.8\times10^{-3}\)
20.9546356\(9.8\times10^{-5}\)0.0962604\(4.4\times10^{-4}\)
30.9545787\(1.5\times10^{-8}\)0.0937314\(5.5\times10^{-6}\)
40.9545787\(3\times10^{-16}\)0.0936986\(9.3\times10^{-10}\)

Both runs converge in four steps, and in both the residual falls by roughly the square of the previous value — the exponents run \(-3, -5, -8, -16\) and \(-3, -4, -6, -10\). But they converge to different answers: \(0.95458\) from the flat start and \(0.09370\) from the low start. These are the two roots of the quadratic in \(|V|^2\) that Chapter 18 identified: the high-voltage, low-current solution the system actually operates on, and the low-voltage, high-current solution that satisfies the same power balance and is physically unreachable. Newton's method finds whichever root lies in the basin of the starting point, which is precisely why load flow programs start flat.

2 The Jacobian of the test system at the flat start

Problem. For the three-bus system of Chapter 19 — \(\mathbf{Y}_{bus}\) as given there, bus \(1\) slack at \(1.05\), bus \(2\) PQ with a load of \(4.0+j2.5\), bus \(3\) PV with \(P_3=2.0\) and \(|V_3|=1.04\) — assemble the Jacobian at the flat start \(\delta_2=\delta_3=0\), \(|V_2|=1.0\).

Solution. The unknowns are \(\delta_2\), \(\delta_3\) and \(|V_2|\), so \(\mathbf{J}\) is \(3\times3\): two \(\Delta P\) rows and one \(\Delta Q\) row. In polar form the admittances are

Admittances in polar form
\[ Y_{21}=22.3607\angle116.5651^\circ,\quad Y_{22}=58.1378\angle-63.4349^\circ,\quad Y_{23}=35.7771\angle116.5651^\circ \]
\[ Y_{31}=31.6228\angle108.4349^\circ,\quad Y_{33}=67.2309\angle-67.2490^\circ \]

At the flat start every \(\delta\) is zero, so \(\alpha_{ik}=\theta_{ik}\). The off-diagonal element of \(\mathbf{J}_{11}\) coupling buses \(2\) and \(3\) is

One element in full
\[ L_{23} = -\big|Y_{23}V_2V_3\big|\sin\theta_{23} = -\big(35.7771\big)\big(1.0\big)\big(1.04\big)\sin116.5651^\circ = -33.28 \]

Since \(|Y_{23}|\sin\theta_{23} = B_{23} = 32\), this is simply \(-(1.0)(1.04)(32) = -33.28\) — the shortcut of Section 20-8 already visible. The diagonal uses the compact form, which needs \(Q_2\) at the flat start. Chapter 18 computed the injections there: \(P_2^{calc}=-1.14\), \(Q_2^{calc}=-2.28\), \(P_3^{calc}=0.5616\), \(Q_3^{calc}=1.0192\). Hence

Diagonal by the compact formula
\[ L_{22} = -Q_2 - \big|V_2\big|^2B_{22} = -\big(-2.28\big) - \big(1.0\big)^2\big(-52\big) = 2.28 + 52 = 54.28 \]

Filling the remaining entries the same way gives

The Jacobian at the flat start
\[ \mathbf{J}^{(0)} = \begin{bmatrix} \partial P_2/\partial\delta_2 & \partial P_2/\partial\delta_3 & |V_2|\,\partial P_2/\partial|V_2|\\ \partial P_3/\partial\delta_2 & \partial P_3/\partial\delta_3 & |V_2|\,\partial P_3/\partial|V_2|\\ \partial Q_2/\partial\delta_2 & \partial Q_2/\partial\delta_3 & |V_2|\,\partial Q_2/\partial|V_2| \end{bmatrix} = \begin{bmatrix} 54.28 & -33.28 & 24.86\\ -33.28 & 66.04 & -16.64\\ -27.14 & 16.64 & 49.72 \end{bmatrix} \]

The structure predicted in Section 20-4 is plain: the \(\partial P/\partial\delta\) block has entries in the fifties and sixties, while the coupling entries \(24.86\), \(-16.64\), \(-27.14\) and \(16.64\) are roughly half as large. On a genuine transmission network, where \(X/R\) is five or ten rather than the two of this deliberately stiff test case, that ratio would be five to one and the case for decoupling would be overwhelming.

3 The first Newton-Raphson iteration

Problem. Using the Jacobian of Example 2, take the first Newton step and report the updated voltages.

Solution. The scheduled injections are \(P_2^{sch}=-4.0\), \(Q_2^{sch}=-2.5\) and \(P_3^{sch}=2.0\). With the calculated values from Example 2, the mismatch vector is

Mismatches at the flat start
\[ \Delta P_2 = -4.0-\big(-1.14\big) = -2.86, \quad \Delta P_3 = 2.0-0.5616 = 1.4384, \quad \Delta Q_2 = -2.5-\big(-2.28\big) = -0.22 \]

Solve \(\mathbf{J}^{(0)}\Delta\mathbf{x}^{(0)} = \Delta\mathbf{g}^{(0)}\):

The linear solve
\[ \begin{bmatrix} 54.28 & -33.28 & 24.86\\ -33.28 & 66.04 & -16.64\\ -27.14 & 16.64 & 49.72 \end{bmatrix} \begin{bmatrix}\Delta\delta_2\\ \Delta\delta_3\\ \Delta|V_2|\end{bmatrix} = \begin{bmatrix}-2.86\\ 1.4384\\ -0.22\end{bmatrix} \]
\[ \Longrightarrow\quad \Delta\delta_2 = -0.045263\;\text{rad},\quad \Delta\delta_3 = -0.007718\;\text{rad},\quad \Delta|V_2| = -0.026549 \]

Adding the corrections:

The new iterate
\[ \delta_2^{(1)} = -2.5934^\circ, \qquad \delta_3^{(1)} = -0.4422^\circ, \qquad \big|V_2\big|^{(1)} = 1.0 - 0.026549 = 0.973451 \]

Compare with the converged answer \(\delta_2=-2.6965^\circ\), \(\delta_3=-0.4988^\circ\), \(|V_2|=0.97168\) from Chapter 18. One Newton step has landed within \(0.11^\circ\) and \(0.0018\) per unit — considerably closer than the first Gauss-Seidel sweep of Example 3 in Chapter 19, and closer than that method reaches in five sweeps.

4 Convergence in three iterations

Problem. Continue the iteration of Example 3 to convergence at \(\varepsilon=10^{-5}\), and demonstrate that the convergence is quadratic.

Solution. The Jacobian is rebuilt at the new point. It has changed only modestly — \(L_{22}\) moves from \(54.28\) to \(51.72\) — which is a hint that keeping the old one for a step or two might be affordable, an idea that becomes the "dishonest Newton" method used in some programs.

Iteration\(\max\) mismatch\(\delta_2\) (deg)\(\delta_3\) (deg)\(|V_2|\)Correct digits
0 (flat)\(2.86\)0.00000.00001.0000000
1\(9.92\times10^{-2}\)−2.5934−0.44220.9734511–2
2\(2.17\times10^{-4}\)−2.6962−0.49870.9716844
3\(1.17\times10^{-9}\)−2.69645−0.498800.9716809
4\(3.6\times10^{-20}\)−2.69645−0.498800.971680machine limit

The mismatch exponents \(0, -1, -4, -9, -20\) roughly double at each step, which is the definition of quadratic convergence. Three iterations reach a tolerance that took Gauss-Seidel twelve sweeps. The converged voltages are \(V_2 = 0.97168\angle-2.6965^\circ\) and \(V_3 = 1.04\angle-0.4988^\circ\), agreeing to five figures with the answer used throughout Chapters 18 and 19. The slack bus then supplies \(P_1=2.1842\) and \(Q_1=1.4085\), and the machine at bus \(3\) is asked for \(Q_3=1.4618\) — the value that triggered the limit study of Chapter 19, Example 6.

5 The same case by the fast decoupled method

Problem. Build \(\mathbf{B}'\) and \(\mathbf{B}''\) for the test system, take the first fast decoupled iteration, and state the total number of iterations required.

Solution. \(\mathbf{B}'\) covers buses \(2\) and \(3\) and uses branch reactances only, with \(x_{12}=0.04\), \(x_{13}=0.03\), \(x_{23}=0.025\):

The constant matrices
\[ \mathbf{B}' = \begin{bmatrix} \tfrac{1}{0.04}+\tfrac{1}{0.025} & -\tfrac{1}{0.025}\\[3pt] -\tfrac{1}{0.025} & \tfrac{1}{0.03}+\tfrac{1}{0.025} \end{bmatrix} = \begin{bmatrix} 65 & -40\\ -40 & 73.3333 \end{bmatrix}, \qquad \mathbf{B}'' = \big[\,-B_{22}\,\big] = \big[\,52\,\big] \]

\(\mathbf{B}''\) is \(1\times1\) because bus \(2\) is the only PQ bus. Both are formed once and never touched again. The angle half-step uses the same mismatches as Example 3, each divided by its bus voltage magnitude:

First half-step: angles
\[ \frac{\Delta P_2}{|V_2|} = \frac{-2.86}{1.00} = -2.8600, \qquad \frac{\Delta P_3}{|V_3|} = \frac{1.4384}{1.04} = 1.3831 \]
\[ \begin{bmatrix}65 & -40\\ -40 & 73.3333\end{bmatrix}\begin{bmatrix}\Delta\delta_2\\ \Delta\delta_3\end{bmatrix} = \begin{bmatrix}-2.8600\\ 1.3831\end{bmatrix} \;\Longrightarrow\; \begin{array}{l}\Delta\delta_2 = -0.048761\;\text{rad} = -2.7938^\circ\\ \Delta\delta_3 = -0.007737\;\text{rad} = -0.4433^\circ\end{array} \]

The angles are updated immediately, and the reactive mismatch is recomputed with them before the second half-step. At the new angles \(Q_2^{calc}=-1.0328\), so \(\Delta Q_2 = -2.5-(-1.0328) = -1.4672\), and

Second half-step: magnitude
\[ 52\,\Delta\big|V_2\big| = \frac{-1.4672}{1.00} \;\Longrightarrow\; \Delta\big|V_2\big| = -0.028215, \qquad \big|V_2\big|^{(1)} = 0.971785 \]

After one iteration the state is \(\delta_2=-2.7938^\circ\), \(\delta_3=-0.4433^\circ\), \(|V_2|=0.971785\), with a largest remaining mismatch of \(0.118\). Six iterations reach \(10^{-5}\), against Newton's three — but each of the six costs two forward-and-back substitutions on matrices that were factorised before the run began, whereas each of Newton's three costs a fresh assembly and factorisation. On a network of any size the fast decoupled method wins on total time despite needing twice as many iterations, and that margin is what makes real-time contingency analysis possible.

6 Sizing the problem for a real network

Problem. A utility network has \(240\) buses, of which \(35\) carry generators under AVR control and one of those is the slack. Each bus connects on average to \(3.2\) others. Determine the order of the Jacobian, the order of \(\mathbf{B}'\) and \(\mathbf{B}''\), the fraction of the Jacobian that is non-zero, and estimate the number of iterations each method needs.

Solution. With \(n=240\) and \(n_g=34\) PV buses — the thirty-fifth generator bus is the slack — the number of PQ buses is \(n_p = 240-1-34 = 205\). By Section 20-4,

Sizes
\[ \text{order of } \mathbf{J} = (n-1)+n_p = 239+205 = 444 = 2n-2-n_g = 480-2-34 \;\checkmark \]
\[ \mathbf{J}_{11}: 239\times239, \quad \mathbf{J}_{12}: 239\times205, \quad \mathbf{J}_{21}: 205\times239, \quad \mathbf{J}_{22}: 205\times205 \]
\[ \mathbf{B}': 239\times239 \;\text{(all non-slack buses)}, \qquad \mathbf{B}'': 205\times205 \;\text{(PQ buses only)} \]

Sparsity: a Jacobian entry \(\partial P_i/\partial\delta_k\) is non-zero only where buses \(i\) and \(k\) are connected or identical. With \(3.2\) connections per bus each row holds about \(4.2\) non-zeros, so

Fill
\[ \text{fraction non-zero} \approx \frac{4.2}{444} = 0.0095, \qquad\text{that is, } 99.05\% \text{ of the matrix is empty} \]

Treating the \(444\times444\) matrix as dense would cost around \(444^3/3 \approx 2.9\times10^{7}\) operations per iteration; sparse factorisation with a good ordering brings this down by two to three orders of magnitude. As for iteration counts: Newton-Raphson needs three to five, essentially independent of size; fast decoupled needs perhaps eight to twelve on a network with this \(X/R\); and Gauss-Seidel, scaling roughly with \(n\), would need two to four hundred sweeps — which is why no production program has offered it as the primary method for fifty years.

Review

Chapter Summary

Truncated Taylor

Keep only the first-order term and the correction follows from one linear solve: \(\Delta x = -g/g'\).

Quadratic

The discarded second-order term becomes the whole error, so the digits correct double each step.

Jacobian equation

\(\big[\Delta P\;\Delta Q\big]^{T} = \mathbf{J}\big[\Delta\delta\;\;\Delta|V|/|V|\big]^{T}\), of order \(2n-2-n_g\).

Compact diagonals

\(L_{ii}=-Q_i-|V_i|^2B_{ii}\) and its partners reuse the injections already computed for the mismatch.

Decoupling

\(X\gg R\) with small angles makes \(\mathbf{J}_{12}\) and \(\mathbf{J}_{21}\) negligible: two small solves replace one large one.

Constant matrices

Fast decoupled uses \(\mathbf{B}'\) from \(1/x\) and \(\mathbf{B}''\) from \(-B_{ik}\), factorised once for the whole study.

DC load flow

\(\mathbf{P}=\mathbf{B}'\boldsymbol{\delta}\): one linear solve, MW flows only, no voltages and no losses.

The Jacobian only steers

Approximating \(\mathbf{J}\) changes the route, never the answer — the mismatch equations stay exact.

Practice

Problems

Work in per unit on a \(100\) MVA base with bus \(1\) as the slack, and start flat unless told otherwise. Angles in the Jacobian are in radians; convert only when reporting.

  1. Solve \(x^3 - 6x^2 + 9x - 4 = 0\) by Newton-Raphson from \(x^{(0)}=3.5\). Tabulate four iterations with the residual at each, and show that the number of correct digits doubles. Then start from \(x^{(0)}=1.5\) and explain the much slower behaviour in terms of \(g'\) at the root reached.
  2. For a system with \(n=12\) buses of which \(3\) are PV and one is the slack, state the order of the Jacobian and the dimensions of all four sub-matrices. How many mismatch equations are formed, and how many are set aside?
  3. Starting from the polar power flow equations, derive \(\partial Q_i/\partial\delta_i\) and show that it equals \(P_i - |V_i|^2G_{ii}\). State which sub-matrix it belongs to.
  4. For the three-bus system of Section 20-10, verify by direct differentiation that \(\partial P_2/\partial\delta_3 = -33.28\) at the flat start, and confirm that the same number is obtained from \(-|V_2||V_3|B_{23}\).
  5. Take the second Newton-Raphson iteration on the test system, starting from \(\delta_2=-2.5934^\circ\), \(\delta_3=-0.4422^\circ\), \(|V_2|=0.973451\). Assemble the new Jacobian, solve, and confirm that the largest mismatch falls to about \(2\times10^{-4}\).
  6. A three-bus system has \(z_{12}=j0.10\), \(z_{13}=j0.20\) and \(z_{23}=j0.25\), all purely reactive. Bus \(1\) is the slack at \(1.0\angle0^\circ\), bus \(2\) draws \(1.0+j0.5\) and bus \(3\) draws \(0.6+j0.3\). Form \(\mathbf{B}'\) and \(\mathbf{B}''\), and solve by the DC load flow. Then explain why the DC result should be unusually accurate for this particular network.
  7. Explain why the fast decoupled method builds \(\mathbf{B}'\) from \(1/x_{ik}\) and ignores shunts, while \(\mathbf{B}''\) is taken from the imaginary part of \(\mathbf{Y}_{bus}\) with shunts retained. What goes wrong if the two conventions are exchanged?
  8. A PV bus in a Newton-Raphson study violates its upper reactive limit at the third iteration. Describe precisely what changes in the mismatch vector, the correction vector and the Jacobian, and explain why the program may need an extra two or three iterations as a result.
Tip: when a hand-computed Jacobian will not reproduce a published answer, test the diagonal first. Nearly every error is a sign — \(B_{ii}\) is negative for an inductive network, so \(-|V_i|^2B_{ii}\) is a large positive number, and a diagonal that comes out negative means a sign has been dropped somewhere. Check next that the correction vector is in radians and the reported angles in degrees. Those two mistakes account for most of the wrong answers in this subject.