Grid-Forming Inverters and Power-System Stability · Results R34 to R40 · 50 Hz unless a passage states otherwise
A system operator has eight synchronous condensers. A synchronous condenser is a synchronous machine with no turbine and no load on its shaft. It supplies reactive power, short-circuit current and inertia; on average it generates no active power. The operator must decide whether grid-forming converters can replace the inertia of those eight machines, and how much converter plant to buy. That decision needs a number, and the number is not "1.6 GW of grid-forming plant". It is three numbers, in three different units, and only one of them binds. Reactive power and short-circuit current are two further services the condensers supply. This chapter sizes the inertia replacement only; §4.5 Constraint 3 shows why the other two cannot be ignored at the same instant.
Chapter 1 gave one machine against a stiff grid, Chapter 2 one grid-following converter against a Thevenin source, and Chapter 3 one grid-forming converter with its pair (Heq, KD,eq). A purchase decision is about a fleet inside a network.
This chapter builds that step, in four moves.
The answer for the case defined in this chapter is stated here, so that the reader can check the argument against it. Power headroom binds. The current limit binds at the same instant. Stored energy is not close to binding. A 1.6 GVA condenser fleet releases 179.2 MJ over a 0.8 Hz excursion. A 1120 MVA converter fleet with a one-hour store holds 4 032 000 MJ, which is 22 500 times as much. The same fleet must hold 224 MW of power above its dispatch. A converter running at 1.0 pu with a current limit of 1.2 pu has exactly 0.20 pu of current left. Every one of those numbers is derived in Example 4.2.
Each result carries a local number (Definition 4.1, Theorem 4.5)
and the global identifier from the book plan (R34, R35). Prose
uses the local number. Prerequisites from earlier chapters are cited by their global
identifier and linked to the result in the chapter that proves them. Each result also
carries its epistemic status in words: proved here, computed here,
cited, or assumed for this case. A cited result is never written as though
this book proved it.
Every published number carries a citation of the form [S14, National Grid ESO 2019, Technical Report on the events of 9 August 2019, event summary — verify]. The draft stage could not open these sources. The location part therefore names the topic inside the source, not a page number, and every citation carries — verify. Only a human who has read the page removes that mark and replaces the topic with a page. A number this book computes carries no citation; it carries its example number instead.
Every symbol below is from the book-wide notation table, section 3.5. The middle column gives the plain-text name used in that table, because this chapter renders Greek letters and deltas as glyphs. Sections that need a symbol outside the table declare it in a Local notation panel at the top of the section, and nowhere else.
| Symbol | Plan name | Meaning | Unit |
|---|---|---|---|
| Y | Y | bus admittance matrix | pu |
| Yred | Y_red | Kron-reduced admittance matrix at the internal nodes | pu |
| Bij | B_ij | susceptance of the reduced branch between nodes i and j | pu |
| δCOI | delta_COI | centre-of-inertia angle | rad |
| ωCOI | omega_COI | centre-of-inertia frequency | rad/s |
| Hi, Si | H_i, S_i | inertia constant and rating of unit i | s, VA |
| Ekin,sys | E_kin_sys | system stored kinetic energy, Σ HiSi | MJ; 1 GVA·s = 1000 MJ |
| Hsys | H_sys | system inertia constant on the system base | s |
| Ssys | S_sys | system base apparent power | VA (GVA) |
| ΔP | dP | step loss of infeed | MW |
| RoCoF | RoCoF | rate of change of frequency, df/dt | Hz/s |
| RoCoF0 | RoCoF_0 | initial rate of change of frequency | Hz/s |
| fnadir | f_nadir | lowest frequency reached after the loss | Hz |
| Δfnadir | df_nadir | frequency deviation at the nadir | Hz |
| T | T | time over which primary response is fully delivered | s |
| Rp | R_p | volume of primary response | MW |
| Dload | D_load | load damping | MW/Hz |
| x, u, y | x, u, y | small-signal state, input and output vectors | mixed |
| A, B, C, D | A, B, C, D | state, input, output and feedthrough matrices | mixed |
| λi, σi, ωd,i | lambda_i, sigma_i, omega_d_i | eigenvalue i and its real and imaginary parts | 1/s, 1/s, rad/s |
| ζi | zeta_i | damping ratio of mode i | — |
| pki | p_ki | participation factor of state k in mode i | — |
| f0, ω0 | f_0, omega_0 | rated frequency and rated electrical angular frequency | Hz, rad/s |
| H, Ekin, KD | H, E_kin, K_D | inertia constant, stored energy and damping coefficient of one unit | s, MJ, pu |
| δ, Δω | delta, dw | rotor or internal angle, and per-unit speed deviation (ω − ω0)/ω0. Chapter 1 writes the deviation Δω̄ with a bar (R02); this chapter drops the bar. | rad, — |
| Pm, Pe | P_m, P_e | mechanical power in, electrical power out | pu |
| Ks | K_s | synchronizing torque coefficient | pu/rad |
| Hv, Heq, KD,eq | H_v, H_eq, K_D_eq | virtual and equivalent inertia constants, equivalent damping | s, s, pu |
| Imax | I_max | converter current limit | pu |
| Eres | E_res | usable energy reserve of a converter | MJ |
| P, Q | P, Q | active and reactive power | pu or MW, Mvar |
A power system is a set of source nodes, a set of load nodes, and a mesh of branches. The swing equation of R04 applies to every source separately; the network couples them. This section writes that coupling as a matrix, then removes every node with no dynamics of its own, leaving one equation per unit.
Number the buses 1 to N. For a network of branches with series admittance yij between buses i and j, and shunt admittance yi0 from bus i to the reference, the bus admittance matrix Y has entries
and the network equation is Ibus = Y V, where V is the vector of bus voltage phasors and Ibus the vector of injected currents. All quantities are in per unit on the system base Ssys, using the base definitions of R01.
Two facts about Y matter here. It is symmetric, because a passive branch carries the same admittance both ways. And a constant-impedance load is not an injection: it is a shunt admittance, so it enters Yii and contributes zero to Ibus. The second fact makes the next step possible.
Split the buses into two groups. Group A holds the n internal source nodes, one behind each unit's internal reactance. Group B holds every other bus, including bus L. Every load is modelled as a constant impedance and folded into Y, so no bus in group B injects current. Write the partitioned network equation.
The lower block reads YBAVA + YBBVB = 0. If YBB is invertible, solve it for VB and substitute into the upper block.
Equation (4.1) is Kron reduction. It is exact, not an approximation, under one condition: the eliminated buses inject no current. That condition holds here because every load is a constant impedance. It fails for a constant-power load, and it fails for any bus with its own dynamics. A constant-power load can be brought inside the condition: replace it with the constant impedance that draws the same power at the operating-point voltage. The replacement is exact at that point and approximate away from it, which is the same trade Model 4.4 makes when it linearises. The step is standard [S05, Machowski, Bialek and Bumby 2008, Power System Dynamics: Stability and Control, 2nd ed., network reduction for multi-machine models — verify].
Kron reduction removes structure and keeps behaviour. The reduced network has no load bus and no line: every pair of source nodes is connected directly, so a radial system becomes a complete mesh. The branches are not pure susceptances, because the real power drawn by the load appears as the conductances Gij.
Write Yred,ij = Gij + jBij and hold each internal voltage magnitude Ei constant. The active power leaving internal node i is
Derivation.
Row i of (4.1) gives the current leaving internal node i: Ii = Σj Yred,ij Ej ejδj. Here j outside a subscript is the imaginary unit and j inside a subscript is a node index. The complex power leaving the node is Si = Ei ejδi conj(Ii). Substitute Yred,ij = Gij + jBij:
Si = Σj EiEj (Gij − jBij) ej(δi − δj).
Write the exponential as cos(δi − δj) + j sin(δi − δj) and take the real part. The product (G − jB)(cos + j sin) has real part G cos + B sin, because (−j)(j) = +1. That is (4.2). The imaginary part, G sin − B cos, is the reactive power Qi, which this chapter does not use. ∎
Sign of Bij. Bij is an element of Yred, not the susceptance of a physical branch. For a lossless branch of reactance X between nodes i and j, the branch admittance is −j/X, and by Definition 4.1 the matrix element is Yij = +j/X. So Bij = +1/X, and the values printed in §4.1.3 are positive for that reason.
Assumptions. Balanced three-phase operation. Fundamental-frequency phasors. Every load a constant impedance. Every internal voltage magnitude constant, which is the classical machine model of R05 for a machine and the constant-E approximation of R24 for a grid-forming converter. The network is algebraic: it has no state.
Omissions. Network electromagnetic transients, so nothing below the fundamental-frequency timescale. Flux decay and excitation dynamics, so no voltage-stability conclusion. Constant-power and motor loads. Tap changers. The first is repaid in §4.6 as an open problem (R40); the rest are in the book scope statement.
Setting every Gij to zero recovers R05. For two nodes with one susceptance B12 = 1/X between them, (4.2) gives Pe,1 = (E1E2/X) sin(δ1 − δ2). Model 4.2 is a strict generalisation of the model the reader already has.
One test system serves every figure and network exercise in this chapter, and no other network is introduced. TS4 is a design case defined by this book. It is not measured plant, and none of its numbers is a published value.
| Unit | Type | Si (MVA) | Hi or Heq (s) | KD or KD,eq (pu, own base) | internal X (pu, own base) | dispatch (pu) | X to bus L (pu, system base) |
|---|---|---|---|---|---|---|---|
| 1 | synchronous machine | 400 | 4.0 | 2 | 0.30 | 0.75 | 0.10 |
| 2 | synchronous machine | 300 | 3.0 | 2 | 0.35 | 0.60 | 0.12 |
| 3 | grid-forming converter | 200 | 2.0 | 20 | 0.20 | 0.50 | 0.08 |
| 4 | grid-forming converter | 100 | 2.0 | 20 | 0.20 | 0.50 | 0.15 |
System base Ssys = 1000 MVA. Rated frequency f0 = 50 Hz, so ω0 = 2π × 50 = 314.1593 rad/s. The load at bus L is 630 MW and 120 Mvar, constant impedance, so YL = (630 − j120)/1000 = 0.6300 − j0.1200 pu. Generation sums to 400(0.75) + 300(0.60) + 200(0.50) + 100(0.50) = 300 + 180 + 100 + 50 = 630 MW, so the case balances exactly. The converters carry Heq and KD,eq, which by R32 is what any of the four grid-forming families reduces to near the operating point. By R26 those two values are the droop law with mp = 0.05 pu. The power-filter cutoff is then ωc = 1/(2mpHeq) = 1/(2 × 0.05 × 2.0) = 5.0 rad/s, which is 0.80 Hz.
Stored kinetic energy follows from R03 applied unit by unit:
Ekin,sys = 400(4.0) + 300(3.0) + 200(2.0) + 100(2.0) = 1600 + 900 + 400 + 200 = 3100 MVA·s = 3.100 GVA·s, so Hsys = 3100/1000 = 3.100 s on the 1000 MVA base.
Each unit's internal reactance is on its own base. Converting to the system base multiplies by Ssys/Si, and the connecting reactance is already on the system base. The total reactance from internal node to bus L is therefore
The equilibrium needs three assumptions, all choices of this case. Assumed for this case:
With these, the current injected by unit i is Ii = conj((Pi + jQi)/VL), and the internal voltage phasor is VL + jXi Ii. The result is:
| Unit | Xi (pu) | Pi (pu) | Qi (pu) | Ei (pu) | δi (deg) |
|---|---|---|---|---|---|
| 1 | 0.8500 | 0.3000 | 0.0480 | 1.0716 | 13.767 |
| 2 | 1.2867 | 0.1800 | 0.0360 | 1.0716 | 12.481 |
| 3 | 1.0800 | 0.1000 | 0.0240 | 1.0316 | 6.009 |
| 4 | 2.1500 | 0.0500 | 0.0120 | 1.0314 | 5.983 |
Reducing the five-bus network (four internal nodes and bus L) by (4.1) gives the transfer terms of the reduced mesh. The six transfer susceptances are B12 = 0.2555, B13 = 0.3043, B14 = 0.1529, B23 = 0.2011, B24 = 0.1010 and B34 = 0.1203 pu. The matching conductances are G12 = 0.0465, G13 = 0.0553, G14 = 0.0278, G23 = 0.0366, G24 = 0.0184 and G34 = 0.0219 pu. The diagonal of Yred also carries a conductance at each internal node: G11 = 0.0703, G22 = 0.0307, G33 = 0.0436 and G44 = 0.0110 pu. The diagonal susceptances Bii do not enter (4.2), because sin(δi − δi) = 0.
The conductances are not numerical noise. They are the load, redistributed onto every branch and every node of the reduced mesh. In (4.2) the j = i term is Ei²Gii. For unit 1 it is 1.0716² × 0.0703 = 0.0807 pu, which is 27 % of that unit's dispatch. Substituting all sixteen entries into (4.2) returns Pe,1 = 0.3000, Pe,2 = 0.1800, Pe,3 = 0.1000 and Pe,4 = 0.0500 pu, which are the four dispatches. With the diagonal terms left out, the same sum returns 0.2193, 0.1448, 0.0537 and 0.0383 pu. Run both sums; the difference is the load. The reduction is therefore exact to the digits printed here.
Every unit in TS4 obeys the same two equations. That is the point of R32: a machine obeys them because it has a rotor, and a grid-forming converter because its control law was built to. The two equations, for unit i on the system base, are R04 unit by unit.
The factor Si/Ssys converts H and KD from the unit's own base to the system base. A 400 MVA machine with H = 4.0 s has 4.0 × 400/1000 = 1.600 s on the 1000 MVA base, and KD = 2 pu becomes 0.800 pu. Omitting the conversion overstates that unit's contribution to Ekin,sys by the factor Ssys/Si, which is 2.5 here.
For n units with inertia constants Hi and ratings Si:
The centre-of-inertia angle and frequency are the inertia-weighted means of the unit angles and speed deviations:
Three points of care. Ekin,sys in (4.4) is a sum of energies and does not depend on the base; Hsys does. A unit contributes in proportion to HiSi, so a large machine with modest H can outweigh a small one with large H. A grid-forming converter enters through Heq, and R33 bounds what that entry is worth by Eres and Imax; the sum does not know those bounds, and §4.5 makes that gap concrete.
Status: definition, stated here; the centre-of-inertia construction is standard [S05, Machowski, Bialek and Bumby 2008, Power System Dynamics: Stability and Control, 2nd ed., centre-of-inertia reference — verify].
Take the state vector x = [Δδ1 … Δδn, ΔΔω1 … ΔΔωn]T, where the prefixed Δ marks a small deviation from the equilibrium of §4.1.3. Differentiate (4.2) at the equilibrium to get the synchronizing matrix
Linearising (4.3) then gives dx/dt = A x + B u with the block state matrix
The input u = [ΔPm,1 … ΔPm,n]T holds the mechanical or commanded power deviations on the system base, and B = [0 ; M−1]. The output y = C x + D u selects whatever is measured; for frequency work C picks the speed states and D = 0. Eigenvalues λi = σi + jωd,i of A give the modes. The damping ratio is ζi = −σi / √(σi² + ωd,i²). Scale the right and left eigenvectors of A so that Σk vkiwik = 1 for each mode. The participation factor pki = |vkiwik| then sums to 1 over k, and it says how much state k takes part in mode i. That is what labels a mode "machine" or "converter".
Assumptions. Everything Model 4.2 assumes, plus: deviations small enough that (4.2) is linear in them; constant Pm; constant Heq and KD,eq, which by R32 holds near the operating point only; and no current limiting. The last fails first in a large disturbance, and §4.6 names it as an open problem (R40).
One eigenvalue of A is always zero, for a structural reason: (4.2) depends on angle differences only, so adding the same constant to every δi changes nothing. That zero mode is the free rotation of the whole system, and it is why frequency stability is read against a reference such as δCOI.
Applying (4.6) to TS4 at the equilibrium of §4.1.3 gives the synchronizing matrix, in pu/rad:
| ∂Pe,i/∂δj | j = 1 | 2 | 3 | 4 |
|---|---|---|---|---|
| i = 1 | +0.7804 | −0.2921 | −0.3251 | −0.1633 |
| 2 | −0.2945 | +0.6194 | −0.2163 | −0.1086 |
| 3 | −0.3416 | −0.2254 | +0.6950 | −0.1280 |
| 4 | −0.1716 | −0.1132 | −0.1280 | +0.4128 |
Every diagonal entry is positive and every off-diagonal entry is negative: each unit pulls back towards its neighbours. That is the multi-unit form of R06, which gives Ks > 0 for |δ0| < 90°. The matrix is not quite symmetric, because the conductances Gij break the symmetry a lossless network would have.
The question that matters for the purchase decision is not what TS4 does at one operating point. It is what happens as machines are replaced by converters. The sweep is defined by the six rules below. The rules are a choice of this case, not a result. Assumed for this case:
The base case is c = 0.30, where the factor in rule 2 is 1.
System stored energy follows directly. Machines contribute 1000(1 − c)(4 × 4/7 + 3 × 3/7) = 1000(1 − c) × 25/7 = 3571.4(1 − c) MVA·s. Converters contribute 2.0 × 1000c = 2000c MVA·s. Adding them: Ekin,sys(c) = 3571.4 − 1571.4c MVA·s. At c = 0.30 this is 3571.4 − 471.4 = 3100.0 MVA·s, which matches §4.1.3.
| converter share c | Ekin,sys (MVA·s) | Hsys (s) | least-damped oscillatory ζ | modes present |
|---|---|---|---|---|
| 0 % | 3571.4 | 3.571 | 0.0134 | 1 pair (2 units) |
| 20 % | 3257.1 | 3.257 | 0.0136 | 3 pairs |
| 40 % | 2942.9 | 2.943 | 0.0141 | 3 pairs |
| 60 % | 2628.6 | 2.629 | 0.0152 | 3 pairs |
| 80 % | 2314.3 | 2.314 | 0.0187 | 3 pairs |
| 100 % | 2000.0 | 2.000 | 0.1393 | 1 pair (2 units) |
Two things move in opposite directions, and reading only one gives the wrong conclusion. System stored energy falls by 44 %, from 3571.4 to 2000.0 MVA·s, because the converters carry Heq = 2.0 s against the machines' 4.0 s and 3.0 s. The least-damped oscillatory mode gets better, from ζ = 0.0134 to 0.0187 while machines are still present. The reason is KD,eq = 20 pu on the converters against KD = 2 pu on the machines, which is the droop equivalence of R26: a 5 % droop gain gives KD,eq = 1/mp = 20 pu. The converters damp the machine mode that they do not replace.
A third mode changes the reading. At c = 20 % a mode sits at λ = −2.2151 + j17.3463 s−1 with ζ = 0.1267 and its largest participation on converter 3. By c = 80 % the same branch of the locus has moved to λ = −0.7671 + j12.9359 s−1 with ζ = 0.0592, and its largest participation has moved to machine 2. So one mode's damping falls by a factor of 2.1 as the converter share rises, while the least-damped mode's improves. Beyond 80 % the same branch keeps falling: ζ = 0.0458 at 85 %, 0.0319 at 90 % and 0.0206 at 95 %. It crosses ζ = 0.05 between c = 80 % and 85 %. It is never the least-damped mode, because the machine mode sits below it at every step. "Converter penetration damps the system" and "converter penetration undamps the system" are both false as general statements: the modes disagree.
Fig. 4.2 also shows what Model 4.4 cannot tell the operator. Every mode is stable at every share, and nothing in the eigenvalues says the system is short of stored energy. The next two sections answer that with a different tool.
A generator trips. One instant earlier, generation matched demand; one instant later it is short by ΔP. No governor and no converter control has responded yet. Only stored energy can supply the missing power in that instant, so the frequency falls at a rate that measures how much stored energy there is.
Let n units obey (4.3) and stay connected through a disturbance. Let Ekin,sys be their stored energy from (4.4), in MJ, counting those n units only and not any unit that trips. At t = 0 an infeed of ΔP MW is lost as a step. Assume:
Let ΔωCOI = (ωCOI − ω0)/ω0 be the centre-of-inertia speed deviation declared in the §4.2 local notation panel. By (4.5) it equals Σi HiSi Δωi / Ekin,sys. Then the centre-of-inertia frequency falls at
The chapter quotes the magnitude f0ΔP/(2Ekin,sys) when the direction is clear from the sentence.
Proof.
Multiply each unit's speed equation in (4.3) by Ssys and sum over the n connected units:
Σi 2HiSi dΔωi/dt = Σi (Pm,i − Pe,i)Ssys − Σi KD,iSi Δωi.
At t = 0+ every Δωi is still zero, so the damping sum is zero. By the definition of ΔωCOI, the left side is 2Ekin,sys dΔωCOI/dt. On the right, assumption 1 holds every Pm,i at its pre-event value, so Σi Pm,iSsys is the pre-event output of the n units. That output is the pre-event load minus ΔP, because the lost infeed supplied ΔP of that load. By assumption 3 and the algebraic network of Model 4.2, the n units' electrical outputs sum to the whole pre-event load at t = 0+. The sum of mechanical minus electrical power is therefore −ΔP in MW. Hence
2Ekin,sys dΔωCOI/dt = −ΔP.
Frequency in hertz is f = f0(1 + ΔωCOI), so df/dt = f0 dΔωCOI/dt. Substituting gives (4.8). ∎
Where the hypotheses bind. Assumption 3 is not exact for the constant-impedance load of Model 4.2. The bus voltages move at the instant of the trip, and the load power moves with them to first order in the voltage change. This theorem neglects that change. Assumption 2 fails after the first swing, which is why (4.8) is an initial rate and not a trajectory; Theorem 4.6 supplies the trajectory. If the tripped unit's stored energy is counted in Ekin,sys by mistake, (4.8) understates the rate by the ratio of the two energies.
Three readings of (4.8) matter.
One. RoCoF0 is proportional to 1/Ekin,sys with no control parameter in it: no governor, no droop gain, no filter cutoff. That is why it measures system strength; it reports stored energy and nothing else.
Two. RoCoF0 is a centre-of-inertia quantity. Equation (4.8) is exact for ωCOI and not for any single bus. Immediately after the loss, the units electrically closest to the lost infeed supply most of the missing power and slow fastest. A local measurement can therefore read a rate higher than (4.8) until the angles have redistributed the deficit. A relay measures a bus, not the centre of inertia, so the planner's number and the relay's number differ.
Three. RoCoF is also a protection setting, and here two published figures circulate that must never be merged.
Two rate-of-change-of-frequency figures, kept separate.
These are different quantities with different purposes. This book never writes "ENTSO-E 1 Hz/s". Where §4.5 uses 1 Hz/s, it uses it as a design input of that case and attributes it to S16.
The two uses pull the same number in opposite directions. A lower relay threshold disconnects embedded generation sooner during a genuine system event, which makes the event worse. A higher threshold permits less stored energy, and widens the window in which an island goes undetected. Exercise 4.1 asks for that argument in full.
TS4 makes the sensitivity concrete. Take a 100 MW loss. At the base case, RoCoF0 = 50 × 100 / (2 × 3100) = 5000/6200 = 0.8065 Hz/s. At c = 100 %, Ekin,sys = 2000 MVA·s and RoCoF0 = 50 × 100 / (2 × 2000) = 5000/4000 = 1.2500 Hz/s. The same loss on the same rating produces a rate 1.55 times higher, purely because Ekin,sys fell from 3100 to 2000 MVA·s.
RoCoF0 is the slope at one instant. The depth of the fall is set by how fast the response arrives, and the simplest useful model of that is a linear ramp.
Take the aggregated system of Theorem 4.5. At t = 0 an infeed of ΔP MW is lost as a step. Primary response Rp is delivered as a linear ramp that starts at t = 0 and reaches its full value at t = T. Assume Rp = ΔP and no load damping. Then the frequency deviation is
and the nadir is reached at t = T with
Proof.
The aggregated speed equation from the proof of Theorem 4.5, written in hertz, is
(2Ekin,sys/f0) dΔf/dt = −ΔP + Rp t/T, for 0 ≤ t ≤ T.
Put Rp = ΔP and integrate once from 0 to t with Δf(0) = 0. That gives (4.9). Differentiate (4.9): the slope is zero when 1 − t/T = 0, that is at t = T. The slope is negative before T and zero after it, so t = T is the minimum. Substituting t = T into (4.9) gives −(f0ΔP/(2Ekin,sys))(T − T/2) = −f0ΔPT/(4Ekin,sys), which is (4.10). The factor 4 is 2 × 2: one 2 from the swing equation, one 2 from the triangular area of the ramp. ∎
Status: proved here. The low-order frequency-response model this simplifies is standard [S13, Anderson and Mirheydar 1990, "A Low-Order System Frequency Response Model", IEEE Trans. Power Systems 5(3), 720–729, nadir model and its assumptions — verify].
Keep the ramp but let Rp ≠ ΔP. The slope of Δf is zero when Rpt/T = ΔP. If Rp ≥ ΔP, the nadir is at t* = TΔP/Rp ≤ T, with Δfnadir = −f0ΔP²T/(4Ekin,sysRp). More response arrives sooner and the nadir is shallower by the factor ΔP/Rp. If Rp < ΔP, the slope never reaches zero. After t = T the frequency keeps falling at the constant rate f0(ΔP − Rp)/(2Ekin,sys). There is no nadir until something else acts. For Example 4.1 with Rp = 1500 MW, t* = 6.667 s and Δfnadir = −0.4167 Hz. A Runge-Kutta run returns −0.416667 Hz at 6.6667 s.
A reader may meet the claim that (4.10) is conservative, that is, that it overstates the depth. The formula alone does not support that claim. Two of its assumptions push in opposite directions.
The net direction is therefore not decidable from the formula alone. Equation (4.10) is a screening formula whose two largest errors have opposite signs, not a bound.
Adding load damping gives (2Ekin,sys/f0) dΔf/dt = −ΔP + ΔPt/T − DloadΔf. The equation is first order with time constant τ = 2Ekin,sys/(f0Dload), and the group that decides whether damping matters is T/τ = DloadTf0/(2Ekin,sys), with Dload in MW/Hz, T in s, f0 in Hz and Ekin,sys in MJ. Units: (MW/Hz)(s)(Hz)/MJ = MW·s/MJ = 1. For T/τ ≪ 1 the damping term is negligible; for T/τ ≫ 1 it, not the ramp, sets the depth. Exercise 4.3 works this out.
Inputs. A 50 Hz system. Ekin,sys = 200 GVA·s = 200 000 MJ. This is the stored energy of the units that stay connected after the loss, as Theorem 4.5 requires. This figure is an input of this example. It is of the order reported for Great Britain in 2019 [S14, National Grid ESO 2019, Technical Report on the events of 9 August 2019, system inertia at the time of the event — verify]. This book has not read the value from that report. Treat it as assumed for this case, and verify the figure and its year before quoting it elsewhere. Loss of infeed ΔP = 1000 MW. Primary response Rp = 1000 MW delivered as a linear ramp over T = 10 s. No load damping.
Step 1 — initial rate, from (4.8).
RoCoF0 = f0ΔP/(2Ekin,sys) = 50 × 1000 / (2 × 200 000) = 50 000 / 400 000 = 0.125 Hz/s.
Step 2 — nadir, from (4.10).
Δfnadir = −f0ΔPT/(4Ekin,sys) = −50 × 1000 × 10 / (4 × 200 000) = −500 000 / 800 000 = −0.625 Hz, reached at t = T = 10 s. Hence fnadir = 50 − 0.625 = 49.375 Hz.
Check. Integrating the aggregated equation numerically with a fourth-order Runge-Kutta step of 1 × 10−4 s returns a minimum deviation of −0.625000 Hz at t = 10.0000 s. The difference from the closed form is 1.8 × 10−13 Hz, which is round-off.
Step 3 — how much energy that is. The stored energy released down to the nadir is 2Ekin,sys|Δf|/f0 = 2 × 200 000 × 0.625 / 50 = 5000 MJ, which is 2.5 % of the system's stored energy. The released energy is 2.5 % of the store. The depth of the nadir is set by the 10 s delivery time T in (4.10), not by the size of the store.
Step 4 — halve the inertia. Take Ekin,sys = 100 GVA·s with everything else unchanged.
RoCoF0 = 50 × 1000 / (2 × 100 000) = 0.250 Hz/s.
Δfnadir = −50 × 1000 × 10 / (4 × 100 000) = −1.250 Hz, so fnadir = 48.750 Hz.
Reading. Both quantities scale as 1/Ekin,sys, so halving stored energy doubles the initial rate and doubles the depth. The halved-inertia nadir of 48.750 Hz sits 0.050 Hz below 48.8 Hz. That is the frequency at which Great Britain's low-frequency demand disconnection acted on 9 August 2019 [S14, National Grid ESO 2019, Technical Report on the events of 9 August 2019, event summary — verify]. §4.5 restates it with the event's two other figures as Citation 4.7. That is a scale check, not a claim about the event, which had a different loss, system and response.
This book takes three figures from the event report and no others. The frequency nadir was 48.8 Hz. Low-frequency demand disconnection acting at 48.8 Hz shed about 931 MW of demand. The total infeed loss was about 1878 MW, including embedded generation that disconnected on its own protection [S14, National Grid ESO 2019, Technical Report on the events of 9 August 2019, 6 September 2019, event summary — verify].
No clock time and no individual plant output is quoted here, because the draft stage could not open the report; any such figure must be read from S14 first. The structural point taken from the event is that the outcome followed from a sequence: a loss, a second loss including embedded generation that tripped on its own protection, a nadir, then demand disconnection.
The fleet is a design case defined by this book. It is not a published fleet and it is not measured plant. The project brief labels it "1.6 GW"; a synchronous condenser is rated in MVA, and this book therefore writes 1.6 GVA throughout. Take 8 condensers of 200 MVA each, and take H = 3.5 s for each, including its flywheel. That inertia constant is assumed for this case — verify against a manufacturer figure or a standard before quoting it elsewhere. Everything below is arithmetic on those assumptions.
Stored energy of the fleet. By (4.4), Ekin,fleet = 8 × 200 × 3.5 = 5600 MVA·s = 5.6 GVA·s = 5600 MJ.
Now size a grid-forming fleet against three constraints, separately. They have different units. They cannot be added and their maximum is not meaningful, because a megajoule, a megawatt and a per-unit current are not comparable quantities.
Over a frequency excursion of Δf = 0.8 Hz at f0 = 50 Hz, the energy the condensers release is
In other units, 179.2 / 3.6 = 49.78 kWh. Equation (4.11) is the fleet form of the energy bound (3.30) of R33 (Corollary 3.8), with Ekin,fleet in place of HeqSbase. Equation (4.11) is the linearisation of the exact expression Ekin,fleet(1 − (1 − Δf/f0)²) = 5600(1 − 0.984²) = 177.77 MJ. The dropped second-order term is 5600 × 0.016² = 1.43 MJ, which is 0.80 % of (4.11). The linearisation is stated, not assumed silently.
Compare that with the store on the replacement fleet. The fleet rating Sgfm = 1120 MVA is the figure that Constraint 2 of this example returns. Assumed for this case: a one-hour store, so Eres = 1120 MWh = 1120 × 3600 = 4 032 000 MJ = 1.12 GWh. The ratio is 4 032 000 / 179.2 = 22 500. Stored energy is not the binding constraint. It is short of binding by a factor of 22 500, that is 104.35.
At a rate of change of frequency of 1 Hz/s, the instantaneous power the condensers deliver is
The 1 Hz/s here is a design input of this case. It is the figure adopted in Ireland under DS3 [S16, EirGrid and SONI, DS3 programme documentation, rate-of-change-of-frequency standard — verify]. It is not the ENTSO-E withstand figure, which is reported as 2 Hz/s over 500 ms [S15, ENTSO-E 2018, Rate of Change of Frequency (RoCoF) Withstand Capability — Guidance document for national implementation, withstand requirement — verify]. The two are kept apart here as §4.3 requires.
A converter fleet must hold 224 MW above its dispatch to match that. Convert it to a fleet rating. By R33 (Corollary 3.8, inequality (3.31)), a converter with equivalent inertia constant Heq delivers, in per unit of its own rating, 2Heq RoCoF/f0. For a virtual synchronous machine, R32 gives Heq = Hv, the chosen virtual inertia constant of R28. So
at Hv = 5.0 s, which is assumed for this case. Hence
Sgfm = 224 / 0.20 = 1120 MVA.
A consistency check falls out of this. 1120 MVA at Heq = Hv = 5.0 s carries HeqSgfm = 1120 × 5.0 = 5600 MVA·s of equivalent stored energy, which is exactly Ekin,fleet. Plan rule §3.6 item 4 keeps H, Hv and Heq apart. The equality Heq = Hv is a result of R32 for this family, not an identification. That is not a coincidence: (4.12) and (4.13) are the same relation applied twice, so matching the headroom at one rate of change of frequency is the same as matching H×S. The rate 1 Hz/s cancels out.
224 MW on 1120 MVA is 224/1120 = 0.20 pu of extra power. Assumed for this case: the terminal voltage is 1.0 pu and the power factor is unity, so per-unit current equals per-unit power and 0.20 pu of power is 0.20 pu of current. A converter with Imax = 1.2 pu running at 1.0 pu of dispatch has 1.2 − 1.0 = 0.20 pu of current left. The margin after the inertial current is therefore 0.20 − 0.20 = 0.00 pu.
Nothing is left. There is no current for voltage support at the same instant and none for a fault contribution. A converter running at its limit is no longer described by the linear model of R32.
Power headroom binds, and the current limit binds at the same instant because it is the headroom divided by the fleet rating. Stored energy does not bind: it is short by a factor of 22 500. Writing the requirement as "1.6 GW of inertia" answers none of the three.
What this case does not answer. Whether those converters stay stable while saturated at Imax. Model 4.4 assumes no current limiting and R32 holds near the operating point; a large disturbance breaks both. That is the first open problem of §4.6.
This section makes two comparisons and refuses a third.
Scale of the fleet. The condenser fleet holds 5600 MJ against the 200 000 MJ of the Example 4.1 system, that is 2.80 % of it. This replacement decision covers 2.8 % of that system's inertia, not all of it.
Scale of the deviation. Example 4.1 at half inertia gave a nadir of 48.750 Hz from a 1000 MW loss with a 10 s ramp. Citation 4.7 reports 48.8 Hz from a total loss of about 1878 MW. The two are within 0.05 Hz, which says Theorem 4.6 is of the right order for a system of this size, and nothing more.
What is refused. This book does not use Theorem 4.6 to reproduce the 2019 event. It does not know that event's stored energy, response volume or delivery time, and Citation 4.7 lists the only three figures taken from the report. Treating the agreement as a validation would need those inputs.
Each item below is a question with a source. None is a prediction, and none carries a date.
1. What does a grid-forming converter do while it is saturated at Imax? Every model in this book assumes it is not. Model 4.4 assumes no current limiting; R32 holds near the operating point; R33 names Imax as a bound but does not describe behaviour beyond it. Example 4.2 puts a fleet at exactly 0.00 pu of remaining current. The question is what the angle dynamics do when the current controller clips, and whether the converter resynchronises when the clipping ends. The specification side of this question is written down [S17, National Grid ESO, Grid Code modification GC0137, Minimum Specification Required for Provision of GB Grid Forming Capability, current-limit and performance requirements — verify].
2. What fault current does a converter-dominated system produce, and will the protection see it? A synchronous machine delivers 5 to 7 times rated current into a close fault, set by its subtransient reactance [S01, Kundur 1994, Power System Stability and Control, Ch. 3 — verify]. Chapter 2 prints the same figure beside equation (2.7). A converter supplies a current close to Imax, which is 1.2 pu in Example 4.2. The question is what that does to the reach and grading of existing protection [S18, IEEE Std 2800-2022, Standard for Interconnection and Interoperability of Inverter-Based Resources, fault-ride-through and current-injection requirements — verify].
3. Do the four grid-forming families interoperate? R32 shows they agree to first order near the operating point. It does not show they agree away from it, and Chapter 3 states where they separate. The question is what a fleet of mixed droop, virtual synchronous machine, matching and dispatchable virtual oscillator plant does together under a large disturbance, when the plant comes from different vendors [S12, Tayyebi, Groß, Anta, Kupzog and Dörfler 2020, "Frequency Stability of Synchronous Machines and Grid-Forming Power Converters", IEEE J. Emerging and Selected Topics in Power Electronics 8(2), 1004–1018, side-by-side comparison of the families — verify].
4. Can a converter-dominated system be started from black? A black start needs a source that energises a dead network, holds voltage and frequency while load is picked up, and survives the inrush. Nothing here addresses inrush. The question is which grid-forming families can do it, and under what conditions [S20, ENTSO-E 2017, High Penetration of Power Electronic Interfaced Power Sources (HPoPEIPS), IGD, system-level consequences of converter penetration — verify].
5. Do the manufacturer models match the measured plant? Every eigenvalue in Fig. 4.2 came from parameters taken as given. A real study uses vendor models, often black-box. The question is the gap between those models and the plant as measured [S18, IEEE Std 2800-2022, Standard for Interconnection and Interoperability of Inverter-Based Resources, model-validation requirements — verify].
6. Is the classification of stability itself still complete? The 2021 revision added converter-driven and resonance stability to the three classical classes, which is R11. The question is whether the frequency-stability arithmetic of Example 4.2 can stand without a converter-driven-stability calculation beside it [S03, Hatziargyriou et al. 2021, "Definition and Classification of Power System Stability — Revisited and Extended", IEEE Trans. Power Systems 36(4), 3271–3281, converter-driven and resonance stability classes — verify].
Four boundaries, stated so that the reader does not carry a result past them.
Explain why the rate of change of frequency is both a measure of system strength and a protection setting, and why those two uses can conflict.
By Theorem 4.5, RoCoF0 = f0ΔP/(2Ekin,sys) contains no control parameter, so it reports stored energy directly: that is the system-strength use. The same quantity is the input to loss-of-mains protection on embedded generation, which disconnects when it measures a rate above its threshold: that is the protection use. The conflict has two directions. Raising the threshold lets the system run on less stored energy without spurious disconnection, but widens the window in which a genuine islanding event goes undetected. Lowering the threshold detects islanding sooner, but makes embedded generation disconnect during a system-wide event and so deepens the very event it measured, which is the compounding mechanism in the sequence of Citation 4.7. Add the point from §4.3: (4.8) is exact for ωCOI, while a relay measures one bus, so the two uses do not even read the same number.
Derive Δfnadir = −f0ΔPT/(4Ekin,sys) from the aggregated swing equation with a linear-ramp response, and state where the factor 4 comes from.
Integrate (2Ekin,sys/f0)dΔf/dt = −ΔP + ΔPt/T from 0 to T with Δf(0) = 0. This gives (4.9). The slope vanishes at t = T, and the slope is negative before and zero after, so the nadir is at t = T. Substituting gives (4.10). The factor 4 is 2 × 2. One 2 is the 2 in 2Ekin,sys from the swing equation of R04. The other 2 is the ½ of the triangular area under the ramp, which appears as T − T/2 = T/2 in the integration.
Add load damping Dload in MW/Hz, show that the nadir is shallower, and state the limit in which the damping term dominates the ramp.
The aggregated equation becomes (2Ekin,sys/f0)dΔf/dt = −ΔP + ΔPt/T − DloadΔf. Because Δf < 0 during the fall, the new term is positive and opposes the deviation, so the nadir is shallower than (4.10) for every Dload > 0. The equation is first order with time constant τ = 2Ekin,sys/(f0Dload), and the dimensionless group is T/τ = DloadTf0/(2Ekin,sys). Units: (MW/Hz)(s)(Hz)/MJ = MW·s/MJ = 1, dimensionless, so the grouping is consistent. Damping dominates the ramp when T/τ ≫ 1. Numerical check on the Example 4.1 system, by fourth-order Runge-Kutta with step 1 × 10−4 s. The three Dload values test the grouping only and come from no source.
| Dload (MW/Hz) | T/τ | nadir deviation (Hz) | time of nadir (s) |
|---|---|---|---|
| 0 | 0 | −0.6250 | 10.000 |
| 500 | 0.6250 | −0.4464 | 7.768 |
| 1000 | 1.2500 | −0.3513 | 6.487 |
| 2000 | 2.5000 | −0.2494 | 5.011 |
Against the undamped row, the nadir is both shallower and earlier, and it no longer occurs at t = T.
Integrate the Example 4.1 system with T swept over 5, 10, 20 and 30 s, and confirm that the nadir depth depends linearly on T.
Equation (4.10) predicts −0.3125, −0.625, −1.25 and −1.875 Hz. Integrating the aggregated equation with a fourth-order Runge-Kutta step of 1 × 10−4 s over 3T returns −0.312500, −0.625000, −1.250000 and −1.875000 Hz, each at t = T. The largest absolute difference from the closed form across the four runs is 2.8 × 10−12 Hz, which is round-off at double precision and not a modelling error. The dependence is exactly linear, because T enters (4.10) as a first power. Report the integration step and the tolerance, as done here; a run that reports only the four numbers has not shown that they came from an integration.
For TS4, find the converter share c at which the least-damped mode falls below ζ = 0.05, sweeping in 5 % steps.
State the parameter set first: TS4 of §4.1.3, the sweep rule of §4.2.4, the equilibrium assumptions of §4.1.3, and Model 4.4 with no current limiting. Then report what the sweep returns and nothing else. For this parameter set the sweep returns no crossing. The least-damped oscillatory mode is already below ζ = 0.05 at c = 0, where it is 0.0134, and it stays below 0.05 at every step up to c = 95 %, where it is 0.0185. Along the way it rises to 0.0138 at 30 %, 0.0145 at 50 %, 0.0187 at 80 % and 0.0212 at 90 %, then falls back to 0.0185 at 95 %. The mode that Fig. 4.2 shows losing damping does cross ζ = 0.05: it is 0.0592 at 80 %, 0.0458 at 85 %, 0.0319 at 90 % and 0.0206 at 95 %. It is never the least-damped mode, so it does not answer the question as asked. Report both. At c = 100 % both machines have been removed and the only remaining conjugate pair has ζ = 0.1393, so the reported minimum jumps. The correct answer is therefore that the question's premise does not hold for this parameter set: the machine mode is lightly damped at every share, and the converters improve it rather than degrade it, because KD,eq = 20 pu against the machines' 2 pu. Note also that the state dimension changes at the two endpoints, where two units disappear, so the mode count is 1 pair at c = 0 and at c = 100 %, and 3 pairs in between. Do not adjust the parameters to manufacture a crossing; report the sweep.
Example 4.2 concludes that power headroom binds and stored energy does not. State one change to the case that would reverse that conclusion.
Any one of the following. (a) A required response duration of minutes instead of seconds. A rate-of-change-of-frequency requirement implies a few seconds. The energy term grows with duration while the headroom term does not. At a 224 MW draw the 4 032 000 MJ store lasts 4 032 000/224 = 18 000 s = 5.0 h, so the reversal needs a duration of that order or a much smaller store. (b) A converter fleet with no long-duration store, such as photovoltaic without a battery. Then Eres is whatever the DC link holds. R30 computes a DC-link store of 14.4 kJ on a 1 MVA base, that is 0.0144 MJ per MVA. The one-hour store assumed here holds 3600 MJ per MVA. The ratio is 3600/0.0144 = 250 000. (c) A requirement referenced to a deep and sustained frequency excursion rather than to a rate of change of frequency, because (4.11) scales with Δf and with duration while (4.12) scales with RoCoF only.
Definition 4.1 and Model 4.2 (R34, part 1) reduced the network to its source nodes, and Definition 4.3 and Model 4.4 (R34, part 2) assembled machines and converters into one state matrix. Fig. 4.2 showed that the eigenvalues of TS4 do not all move one way: stored energy fell 44 % while the least-damped mode improved from ζ = 0.0134 to 0.0187 and another degraded from ζ = 0.1267 at 20 % to 0.0592 at 80 % and 0.0206 at 95 %. Theorem 4.5 (R35) gave RoCoF0 = f0ΔP/(2Ekin,sys), exact for the centre of inertia and not for any single bus. Theorem 4.6 (R36) gave Δfnadir = −f0ΔPT/(4Ekin,sys). Example 4.1 (R37) gave 0.125 Hz/s and 49.375 Hz, doubling to 0.250 Hz/s and 48.750 Hz at half the stored energy. Citation 4.7 (R38) recorded the three figures taken from the Great Britain event of 9 August 2019. Example 4.2 (R39) sized the replacement of a 1.6 GVA condenser fleet: 179.2 MJ needed against 4 032 000 MJ held, 224 MW of headroom against 224 MW, and 0.20 pu of current against 0.20 pu. Citation 4.8 (R40) listed six open questions, the first of which starts where Example 4.2 stops: at the current limit, with nothing in reserve.
The reader can now do what plan Outcome 4 asks. Given a mixed fleet, compute Ekin,sys by (4.4), the initial rate by (4.8) and the nadir by (4.10). Given a replacement decision, write it as three sizing problems in three units by the method of Example 4.2, and name the one that binds. Given an eigenvalue plot, read damping from the constant-ζ rays and label each mode by its participation factors.
Every number here was recomputed before printing, by
draft_ch4_check.py in the draft stage's scratchpad. Every citation carries
— verify: no source was opened.