Grid-forming inverters and power-system stability · Chapter 3
Four control families, one swing equation, and two bounds that a rotor does not have.
Central result of this chapter
Theorem 3.7 (R32) and Corollary 3.8 (R33). Droop control with a power measurement filter, a virtual synchronous machine, matching control, and dispatchable virtual oscillator control all reduce, to first order about a symmetric operating point, to the same angle model: dθ/dt = ω, driven by one transfer function from power imbalance to frequency. Each family fixes a pair (Heq, KD,eq). Each therefore restores a synchronizing torque coefficient Ks = (E Vg / X) cos δ0 of the same form as the machine of Chapter 1. The inertia it supplies is bounded by the usable DC energy reserve Eres and by the current limit Imax. Neither bound has a counterpart in Chapter 1.
Chapter 2 ended with a negative result. A fleet of grid-following converters supplies no synchronizing torque coefficient and no inertia constant (R23). Its angle is a measurement, not a state. Its small-signal gain Kpll = Vg cos θ0 is set by the grid, and it falls to zero at the current existence bound (R18). Replace machines with that fleet and you remove both terms that Chapter 1 showed the stability of a power system rests on: the spring constant Ks and the mass 2H.
This chapter states the repair under test. Grid-forming control makes the converter carry its own angle as an internal state. The claim made for it in grid codes is stronger than that: the claim is that a grid-forming converter supplies inertia [S17, National Grid ESO, Grid Code modification GC0137, Minimum Specification Required for Provision of GB Grid Forming Capability, the inertia requirement — location not yet checked — verify]. Four control families compete for the job, and their published descriptions look nothing alike. One is an algebraic droop line. One integrates a copy of the swing equation. One measures its own DC capacitor voltage. One is a nonlinear oscillator with a cited almost-global synchronization proof (Remark 3.3).
Three questions follow, and this chapter answers all three.
Notation used in this chapter
Every symbol below is defined in the prose before its first use. The first list is taken from the book-wide notation table. The second list is local to this chapter: these symbols are not in the book-wide table and are declared here.
From the book-wide table. θ internal angle state (rad); E internal voltage magnitude commanded (pu); ω electrical angular frequency (rad/s); ω0 rated electrical angular frequency (rad/s); f0 rated frequency (Hz); δω per-unit speed deviation, (ω − ω0)/ω0; mp active-power droop gain (pu); nq reactive-power droop gain (pu); ωc power measurement filter cutoff (rad/s); ωref, Vref frequency and voltage set points (pu); Pref, Qref power set points (pu); P, Q active and reactive power at the point of connection (pu); H inertia constant of a machine (s); Hv, KD,v chosen virtual inertia constant (s) and virtual damping (pu); Heq, KD,eq equivalent inertia constant (s) and equivalent damping (pu) of a control law; KD swing damping coefficient (pu); Pm, Pe mechanical and electrical power (pu); kθ matching gain (rad/(s·V)); vdc, vdc0 DC-link voltage and its operating point (V); Cdc DC-link capacitance (F); Sbase base apparent power (VA); η dispatchable-virtual-oscillator gain (1/s); κ its rotation angle (rad); Eres usable DC-side energy reserve (J); Ekin kinetic energy stored by a unit (J); Imax converter current limit (pu); id, iq converter current in the dq frame (pu); αc inner current-loop bandwidth (rad/s); Ks synchronizing torque coefficient (pu/rad); δ0 equilibrium angle (rad); X total reactance between the internal voltage and the grid source (pu); Vg grid Thevenin voltage magnitude (pu); Xg grid Thevenin reactance (pu); SCR short-circuit ratio.
Local notation, declared here. s — the Laplace variable (1/s). Δ(·) — the small-signal deviation of a quantity from its operating point; ΔP is written for P − Pref and Δω for the deviation of δω. Pf — the output of the power measurement filter (pu). idc, idc0 — DC-source current and its operating point (A). kdc — droop gain of the DC source current on DC voltage (A/V). kv — amplitude-regulation gain of the dispatchable virtual oscillator (dimensionless). The letter α is not used for it, because α is the stationary Clarke axis and αc is the current-loop bandwidth. Δf — a frequency excursion in hertz. Zf — the output impedance a grid-forming converter presents behind its internal voltage (pu). t — time (s). v, i — the terminal voltage and current of the converter, written as complex phasors in equation (3.1) (pu). i0 — the per-unit current the converter carries at its dispatch point, before any inertial contribution (pu). P0 — the per-unit power drawn from the DC source at the operating point, vdc0idc0/Sbase (pu). Qf — the output of the reactive-power measurement filter (pu), the companion of Pf in equation (3.6). δ — for a converter, the angle by which the internal voltage E ∠ θ leads the grid source voltage (rad); it is θ minus the source angle. It takes the place of the rotor angle of Chapter 1, and δ0 is its equilibrium value. RoCoF — rate of change of frequency, |df/dt|, in Hz/s, used in this chapter as a positive magnitude. The book-wide definition is in Chapter 4; this chapter needs only the symbol. headroom — the current a converter can add above its dispatch before it reaches its limit, Imax − i0 (pu). Two book-wide symbols are reused with a stated substitution: X and Vg carry their book meanings, and E replaces Chapter 1's E′ in Ks = (E Vg / X) cos δ0, because a converter has no transient reactance behind which an emf decays.
A control law is a set of equations inside a box. Two vendors can write different equations and produce the same behaviour at the terminals of the box. The grid does not see the equations. It sees the terminals. So the definition of grid-forming control is a statement about terminals.
A converter is grid-forming when, over the fundamental-frequency timescale, it behaves at its point of connection as a voltage source of magnitude E and angle θ behind an output impedance Zf, and when θ is an internal state of the controller, advanced by its own integrator:
v = E ∠θ − Zf i, dθ/dt = ω(3.1)
with ω produced by the controller from its own measurements of power, DC voltage, or its own internal states. The defining property is that no external angle measurement appears on the right-hand side of the θ equation.
Read equation (3.1) against the grid-following model of Chapter 2 (R17) term by term. Three differences do the work.
Definition 3.1 says nothing about the inner control structure. A converter can satisfy (3.1) with a cascaded voltage-and-current loop, with a current loop whose reference is computed from a virtual impedance, or with direct modulation and no inner loop at all. Any claim of the form "grid-forming means no current control" is a claim about one implementation, not about the class. The classifier in this book is Definition 3.1 itself, a statement about terminals. Power-synchronization control is one published design that advances its angle from its own power measurement, in the sense of (3.1) [S07, Zhang, Harnefors and Nee 2010, Power-Synchronization Control of Grid-Connected Voltage-Source Converters, the power-synchronization loop — location not yet checked — verify].
Definition 3.1 also says nothing about energy: a converter satisfies (3.1) whether its DC side is a 4-hour battery or a photovoltaic array at maximum power point with no headroom at all. Corollary 3.8 repays that omission with two bounds.
One consequence follows at once. Because θ is a state and E is commanded, the exported power obeys the same algebraic law as a classical machine (R05), which is why §3.7 can recover Ks. The rest of the chapter decides what dynamics sit behind θ.
The oldest grid-forming law is also the simplest. It is a pair of straight lines. Frequency falls as active power rises. Voltage falls as reactive power rises. Every real implementation needs a filter to measure power. This section writes that filter down. With it, the straight line is the swing equation of Chapter 1 with two renamed coefficients.
Two conventions must be fixed first. Mixing them is the most common error in this material.
Frequency is per unit. Every frequency in the droop law below is a per-unit quantity, that is a frequency divided by ω0. The set point ωref is per unit, so its nominal value is 1. The deviation δω = (ω − ω0) / ω0 is per unit. The angle is recovered in radians by
dθ/dt = ω0 (1 + δω)(3.2)
which is the definition of δω rearranged. Equation (3.2) carries the one factor of ω0 that the whole chapter needs. Every equation after (3.2) is in per unit.
The swing-equation convention. This book writes the swing equation of Chapter 1 (R04) as
2H d(δω)/dt = Pm − Pe − KD δω(3.3)
with δω in per unit, and with the damping term acting on that per-unit deviation. The alternative convention, in which the damping acts on a speed deviation measured in rad/s, is named in the book's notation decisions and is not used here. The two conventions differ by a factor ω0 in the damping coefficient, which is 314.159 at 50 Hz. A coefficient match done against the wrong form produces a damping ratio wrong by that factor. Theorem 3.3 is proved against (3.3) as written.
The converter measures its own instantaneous active and reactive power at the point of connection, passes each through a first-order low-pass filter of cutoff ωc, and sets its frequency and its internal voltage magnitude on two straight lines:
dPf/dt = ωc (P − Pf)(3.4)
1 + δω = ωref − mp (Pf − Pref)(3.5)
E = Vref − nq (Qf − Qref)(3.6)
The angle is advanced by (3.2). Here mp is the active-power droop gain: the per-unit frequency change caused by a one-per-unit change in active power. nq is the reactive-power droop gain, defined the same way on voltage. Pf and Qf are the filtered powers. ωc is the power measurement filter cutoff in rad/s.
Assumptions. (i) The filter is exactly first order, and both channels share the cutoff ωc. (ii) The droop lines are linear over the operating range. (iii) The inner loops that realise E ∠ θ are fast enough to be treated as unity gain at the frequencies of interest. By R14 that means well inside αc. (iv) The network is inductive, so active power couples to angle and reactive power couples to magnitude.
Omissions. The two channels are treated as decoupled. On a network with resistance they are not, and the cross-coupling reappears as a term of the order of the resistance-to-reactance ratio. The model also omits the current limiter. Section 3.7 repays that omission.
A note on what mp = 0.05 pu means, because that number runs through §3.2 and §3.6. It is the figure conventionally called "5 % droop". A one-per-unit change in active power moves the frequency by 0.05 pu. At f0 = 50 Hz that is 2.50 Hz. At f0 = 60 Hz the same gain gives 3.0 Hz. The 4 % to 5 % band is the conventional governor setting carried over from synchronous plant [S01, Kundur 1994, Power System Stability and Control, the governor droop discussion — location not yet checked — verify].
Under the assumptions of Model 3.2, and about an operating point at which Pf = P = Pref, the small-signal dynamics of (3.2), (3.4) and (3.5) are identical to the swing equation (3.3) with
Heq = 1 / (2 mp ωc), KD,eq = 1 / mp(3.7)
The match is exact, not approximate, when the filter is first order and the droop line is linear.
Proof
Define the deviation of active power from its set point once, and use the same definition on both sides of the comparison: ΔP = P − Pref. Write Δω for the deviation of δω from its operating value.
Step 1: eliminate the filter. Equation (3.5) is algebraic. Take its deviation: Δω = −mp ΔPf, so ΔPf = −Δω / mp. Substitute that into the deviation of the filter equation (3.4), which in the Laplace variable s reads s ΔPf = ωc (ΔP − ΔPf):
−s Δω / mp = ωc ΔP + ωc Δω / mp
Multiply through by −mp:
s Δω = − mp ωc ΔP − ωc Δω(3.8)
Step 2: write the swing equation in the same shape. Take the deviation of (3.3) at a constant mechanical input, so ΔPm = 0 and ΔPe = ΔP. Divide by 2H:
s Δω = − ΔP / (2H) − (KD / (2H)) Δω(3.9)
Step 3: match coefficients. Equations (3.8) and (3.9) are the same first-order equation in Δω, driven by ΔP. Two independent coefficients must agree.
Both results are (3.7). The match used no approximation beyond the linearity already assumed in Model 3.2. Under those assumptions it is exact. □
Two consequences are worth stating plainly.
The inertia was already there. Nobody wrote an inertia term into (3.4) to (3.6). The filter supplied it. A first-order lag between the true power and the power the control law acts on is, in the frequency channel, indistinguishable from a mass. The equivalence was published as a two-page letter, not as a control design [S09, D’Arco and Suul 2014, Equivalence of Virtual Synchronous Machines and Frequency-Droops for Converter-Based Microgrids, the equivalence result — location not yet checked — verify].
The two coefficients are not independent. A droop controller has two free parameters, mp and ωc. They set Heq and KD,eq together. KD,eq = 1/mp is fixed the moment the steady-state droop is fixed by the grid code. Only ωc is then left, and it must carry Heq on its own. The transfer function from power imbalance to frequency follows from (3.8):
Δω / ΔP = − 1 / (2Heq s + KD,eq)(3.10)
Equation (3.10) is the single transfer function that §3.6 shows all four families share.
Given. mp = 0.05 pu. Three candidate filter cutoffs: ωc = 2π(5) rad/s, ωc = 2π(1) rad/s, and ωc = 2 rad/s.
Damping first, because it does not depend on the filter. From (3.7),
KD,eq = 1 / mp = 1 / 0.05 = 20 pu
This value holds for all three cases. Compare it with the machine of Chapter 1, which had KD = 2 pu (Example 1.1). The droop converter's damping coefficient is ten times the machine's, 20 pu against 2 pu, and a line in the control law sets it rather than rotor losses. The damping ratio ζ = KD/(4Hωn) of R07 also depends on Heq and ωn, so this is a statement about the coefficient, not about ζ.
Case 1: a 5 Hz filter. ωc = 2π(5) = 31.4159 rad/s. Then
Heq = 1 / (2 × 0.05 × 31.4159) = 1 / 3.14159 = 0.3183 s
The filter time constant is 1/ωc = 0.0318 s.
Case 2: a 1 Hz filter. ωc = 2π(1) = 6.2832 rad/s. Then
Heq = 1 / (2 × 0.05 × 6.2832) = 1 / 0.62832 = 1.5915 s
with a filter time constant of 0.1592 s.
Case 3: a 2 rad/s filter. ωc = 2 rad/s, which is 2/(2π) = 0.3183 Hz. Then
Heq = 1 / (2 × 0.05 × 2) = 1 / 0.2 = 5.000 s
with a filter time constant of 0.5000 s.
The design consequence, in one sentence. To match the H = 3.5 s of the machine in Example 1.1, invert (3.7): ωc = 1 / (2 × 0.05 × 3.5) = 1/0.35 = 2.8571 rad/s, that is 0.4547 Hz, a power measurement filter with a time constant of 0.3500 s.
What that slowness touches, and what it does not. It does not touch the current loop. The worked tuning of §2.3 sets αc = 2π(500) = 3141.59 rad/s (R14), three decades above 2.8571 rad/s, so a slower power filter widens the timescale separation that assumption (iii) of Model 3.2 needs. The filter pole sits next to two other things. First, the swing mode that Theorem 3.3 creates. Take Ks = 1.491 pu/rad from Example 1.1 (R08) as the network's spring constant. The swing equation (3.3) with Heq = 3.5 s then has, by R07, ωn = √(Ks ω0 / (2Heq)) = √(1.491 × 376.99 / 7) = 8.96 rad/s at 60 Hz, the same mode frequency as the machine, and ζ = KD,eq/(4Heqωn) = 20/(4 × 3.5 × 8.96) = 0.159 against the machine's 0.016. The filter pole at ωc = 2.8571 rad/s is the open-loop pole of the frequency channel (3.10), KD,eq/(2Heq) = 20/7 = 2.8571 rad/s; closing it through the network spring is what places the converter's swing mode in the machine's band. Section 3.7.2 shows that the converter does contribute this Ks. Second, protection timing. A breaker clears a fault in about 4 to 6 cycles, that is 0.067 s to 0.100 s at 60 Hz (Example 1.2). A filter with a 0.35 s time constant has registered only 17 % to 25 % of a step change in power by then (1 − e−t/0.35 s at those two times), so the controller acts on a power change after the fault that caused it has cleared.
Read the three cases as one trend. The equivalent inertia is inversely proportional to the filter cutoff. A fast filter, chosen so that the controller tracks power quickly, gives almost no inertia: 0.3183 s at 5 Hz, which is 9.1 % of a 3.5 s machine (0.3183 / 3.5 = 0.0909; the machine's constant is 11.0 times the converter's). A slow filter gives a large inertia number, but it does so by refusing to notice a power change for half a second. The number Heq and the responsiveness of the controller are the same quantity seen from two sides. This is the first of the chapter's three costs, and it is a control cost rather than a hardware cost.
Theorem 3.3 arrived at a swing equation by accident. The virtual synchronous machine arrives at one on purpose. The control law is the swing equation itself, integrated in the converter's processor, with the two coefficients chosen by the designer rather than delivered by a forging shop.
Choose a virtual inertia constant Hv in seconds and a virtual damping coefficient KD,v in per unit. Integrate
2Hv d(δω)/dt = Pref − Pf − KD,v δω(3.11)
and advance the angle by (3.2). The voltage magnitude E is set by a reactive-power channel, usually the droop line (3.6) or an equivalent excitation model. Because (3.11) is (3.3) with the symbols renamed, the equivalent pair is read off with no algebra:
Heq = Hv, KD,eq = KD,v(3.12)
Assumptions. The same four as Model 3.2. In addition, Pf is a measured power, so a filter of some cutoff ωc is still present in every implementation. With that filter the loop is second order: (2Hvs + KD,v)(1 + s/ωc) Δω = −ΔP. At low frequency its inertia is Hv + KD,v/(2ωc), the chosen constant plus the filter's contribution from Theorem 3.3. Equation (3.11) and the pair (3.12) assume that the second term is small against the first, that is ωc >> KD,v/(2Hv). For Hv = 2 s, KD,v = 5 pu and a filter at ωc = 31.4159 rad/s, the second term is 0.080 s, that is 4.0 % of Hv.
Omissions. (3.11) omits every machine effect that is not the swing equation: flux decay, excitation dynamics, saliency, and damper windings. A virtual synchronous machine is a virtual rotor, not a virtual machine.
What the free choice buys. Hv is a number a system operator can write into a contract and a manufacturer can guarantee. Great Britain's grid-forming specification uses this. It asks for a declared inertial capability and tests it against a defined disturbance [S17, National Grid ESO, Grid Code modification GC0137, Minimum Specification Required for Provision of GB Grid Forming Capability, the inertia specification — location not yet checked — verify]. With a machine, H is whatever the rotor happens to be. With (3.11), Hv is a procurement variable.
What the free choice costs. Three things, and the third is the one this chapter builds to.
Droop control and the virtual synchronous machine both start from the machine equations and copy them. Matching control starts from the converter hardware and notices that one piece of it already is a rotor.
The observation is this. A synchronous machine's rotor stores kinetic energy and its speed rises when input power exceeds output power. A converter's DC-link capacitor stores electrostatic energy and its voltage rises when input power exceeds output power. The two energy stores obey the same balance law. So if the controller ties its angular frequency to the DC-link voltage, the capacitor takes the rotor's structural role exactly, with no swing equation written anywhere in the code.
Measure the DC-link voltage vdc. Advance the angle at a rate proportional to it:
dθ/dt = kθ vdc(3.13)
where kθ is the matching gain in rad/(s·V). The DC link obeys the energy balance
Cdc vdc dvdc/dt = vdc idc − P(3.14)
in watts, where idc is the current the DC source pushes into the link. In (3.14) and (3.18) the symbols P and ΔP are in watts; step 3 of the derivation divides by Sbase and returns them to per unit, their meaning everywhere else in the book. Choose the gain so that the nominal DC voltage produces the rated frequency:
kθ = ω0 / vdc0(3.15)
Then the small-signal dynamics of (3.13) and (3.14) are the swing equation (3.3) with
Heq = 0.5 Cdc vdc02 / Sbase(3.16)
which is the stored capacitor energy divided by the base power — the definition of an inertia constant (R03), applied to a capacitor instead of a rotor.
Assumptions. (i) The gain choice (3.15). (ii) The inner loops realise E ∠ θ fast compared with the DC-link dynamics. (iii) Deviations of vdc from vdc0 are small, so vdc may be replaced by vdc0 in products. (iv) Converter losses are neglected, so the AC power equals the power drawn from the link.
Omissions. The model omits the dynamics of whatever sits behind the capacitor — battery, photovoltaic array, wind turbine, rectifier — and it is exactly that omitted element that has to supply the energy. The concept and its stability analysis are due to the matching-control literature [S10, Arghir, Jouini and Dörfler 2018, Grid-forming control for power converters based on matching of synchronous machines, Automatica 95, the matching construction — location not yet checked — verify].
Derivation of (3.16)
Step 1: relate the DC voltage deviation to the per-unit speed deviation. Take deviations of (3.13): Δ(dθ/dt) = kθ Δvdc. From (3.2) the left side is ω0 Δω. With the gain choice (3.15), kθ = ω0/vdc0, so
Δvdc = vdc0 Δω(3.17)
The DC voltage is the per-unit frequency, scaled. This one substitution is the mechanism of matching control: every later step reads a frequency deviation off a voltage measurement.
Step 2: take deviations of the energy balance. With assumption (iii), (3.14) linearises to Cdc vdc0 d(Δvdc)/dt = Δ(vdcidc) − ΔP, in watts. Hold the DC source at a constant power for the moment, so the first term on the right is zero. Substitute (3.17):
Cdc vdc02 d(Δω)/dt = − ΔP [W](3.18)
Step 3: go to per unit and match. Divide (3.18) by Sbase, so ΔP is now in per unit: (Cdcvdc02/Sbase) d(Δω)/dt = −ΔP. Compare with (3.3) at constant mechanical input and zero damping, 2H d(Δω)/dt = −ΔP. Matching the coefficient of the derivative gives 2Heq = Cdc vdc02/Sbase, which is (3.16). □
Where the gain choice enters. Without (3.15) the general result is Heq = ω0Cdcvdc0 / (2kθSbase). Substituting kθ = ω0/vdc0 collapses it to (3.16). A different gain scales the equivalent inertia, so (3.16) is a statement about matching control tuned as in (3.15), not about matching control in general.
Where the damping comes from. Equation (3.18) has no damping term, because step 2 held the DC source at constant power. Let the source instead droop its current on the DC voltage. Equation (3.19) is a model of one way a controlled rectifier or a battery converter can be operated; it is not a statement about every source:
idc = idc0 − kdc (vdc − vdc0)(3.19)
with kdc in A/V. Expand the DC input power to first order, keeping both terms: vdcidc = (vdc0 + Δvdc) (idc0 − kdcΔvdc), so
Δ(vdcidc) = (idc0 − kdc vdc0) Δvdc(3.20)
Substitute (3.17), divide by Sbase, and match the result against the KD δω term of (3.3). This gives
KD,eq = kdc vdc02 / Sbase − P0(3.21)
where P0 = vdc0idc0/Sbase is the per-unit power drawn from the DC source at the operating point. The second term is not a correction to be dropped. Set kdc = 0, that is a stiff current source, and (3.21) gives KD,eq = −P0: a source that holds its current pushes more power in as the DC voltage rises, which is negative damping equal to the dispatch. Matching control's damping is therefore a property of the DC source, not of the AC controller, and a poorly chosen source characteristic makes it negative. That is a real difference from droop control, where KD,eq = 1/mp is set by a line in the AC control law. As a number: to reach KD,eq = 20 pu at vdc0 = 1200 V, Sbase = 1 MVA and a full-output dispatch P0 = 1 pu, the source needs kdc = (20 + 1) × 106 / (1.44 × 106) = 14.5833 A/V.
Given. Cdc = 20 mF = 0.02 F. vdc0 = 1200 V. Sbase = 1 MVA = 1 × 106 VA. Rated frequency f0 = 50 Hz, so ω0 = 2π(50) = 314.1593 rad/s.
Part 1: the gain. From (3.15),
kθ = 314.1593 / 1200 = 0.261799 rad/(s·V)
Part 2: the stored energy. vdc02 = 12002 = 1.44 × 106 V2. Then
0.5 Cdc vdc02 = 0.5 × 0.02 × 1.44 × 106 = 14 400 J = 14.4 kJ
Part 3: the equivalent inertia constant. From (3.16),
Heq = 14 400 / (1 × 106) = 0.0144 s
Part 4: the comparison with a rotor. Take the machine of Example 1.1, H = 3.5 s. The ratio is
3.5 / 0.0144 = 243.06, that is 243 to 1
A value of H in the 2 s to 8 s band is conventional for a turbo-set [S01, Kundur 1994, Power System Stability and Control, the typical-inertia discussion — location not yet checked — verify], so the factor is not an artefact of an unusual machine.
Part 5: the energy a real inertial response asks for. The energy released by an inertia Hv on a rating Sbase over a frequency excursion Δf is 2HvSbaseΔf/f0. Take Hv = 5 s, Sbase = 100 MVA, Δf = 0.8 Hz, f0 = 50 Hz. First the fractional excursion: 0.8/50 = 0.0160. Then
2 × 5 × (100 × 106) × 0.0160 = 1.6 × 107 J = 16 MJ = 4.4444 kWh
Part 6: the gap.
16 × 106 / 14 400 = 1111.11, that is 1111 to 1
Conclusion, stated plainly. Matching control gives the converter a rotor-like structure. It does not give it a rotor-like energy store. The energy must come from the DC source behind the capacitor, and nothing in (3.13) to (3.16) checks that it is there.
The ratio 243 compares two units of the same rating: 3.5 MJ in a 1 MVA machine's rotor against 14.4 kJ in a 1 MVA converter's DC link. The ratio 1111 does not. It compares the 16 MJ asked of a 100 MVA converter with the 14.4 kJ held by the 1 MVA converter of parts 1 to 3. Both numbers are correct arithmetic, and the second is the number the plan of this book specifies, but they answer different questions. The like-for-like figure is the third one: scaled to 1 MVA, the same inertial response asks for 2 × 5 × 0.0160 = 0.16 MJ per MVA against 0.0144 MJ per MVA stored, a ratio of 11.11. Fig. 3.4 plots all three so that the reader can see which comparison each ratio makes.
The three families so far all start from a machine. The fourth does not. It starts from a nonlinear oscillator whose synchronization can be proved, and then constrains the oscillator so that its steady state lands on a commanded dispatch point. The motivation is the proof. It is almost global, in the sense that Remark 3.3 states, where the other three families have only local results.
In polar coordinates the control law advances the angle and the magnitude together:
dθ/dt = ω0 + (η/E2) [ sinκ (PrefE2/Vref2 − P) − cosκ (QrefE2/Vref2 − Q) ](3.22)
dE/dt = (η/E) [ cosκ (PrefE2/Vref2 − P) + sinκ (QrefE2/Vref2 − Q) ] + η kv E (Vref2 − E2) / Vref2(3.23)
Here η is the oscillator gain in 1/s, κ is the rotation angle in rad, and kv is the amplitude-regulation gain. The last term of (3.23) is the amplitude regulator: it pulls E toward Vref and vanishes when E = Vref. Angle and magnitude are one complex state, and κ rotates the power error before it is split between them.
Convention warning. Equations (3.22) and (3.23) are written with κ oriented so that κ = π/2 corresponds to a purely inductive network. Published forms differ in how κ is defined and therefore in which trigonometric function multiplies which power error. The substance is unaffected; the labelling is not [S11, Colombino, Groß, Brouillon and Dörfler 2019, Global Phase and Magnitude Synchronization of Coupled Oscillators with Application to the Control of Grid-Forming Power Inverters, the polar form of the control law — location not yet checked — verify].
The result that motivates this family is a statement about the whole network, not about one converter. Cited claim: a network of converters under (3.22) and (3.23) has a synchronous steady state that is almost globally asymptotically stable — every initial condition converges to it except a set of measure zero. Its hypotheses, which must be carried with it:
This is cited, not proved here [S11, Colombino et al. 2019, Global Phase and Magnitude Synchronization of Coupled Oscillators with Application to the Control of Grid-Forming Power Inverters, the almost-global stability theorem — location not yet checked — verify]. No result in this book depends on it. It is included for two reasons. It is the only almost-global claim among the four families. A reader who meets the claim elsewhere should meet its hypotheses at the same time.
Set κ = π/2, so sinκ = 1 and cosκ = 0, which is the inductive-network case this chapter works in throughout. Equation (3.22) becomes
dθ/dt = ω0 + (η/E2) (PrefE2/Vref2 − P)(3.24)
At the operating point the amplitude regulator has done its work, so E = Vref. Take deviations of (3.24) about that point. Two terms appear, because E stands in the denominator of the power error:
Δ(dθ/dt) = − (η/Vref2) ΔP + (2ηPref/Vref3) ΔE
Assumption for the reduction. Hold the magnitude at its set point: ΔE = 0. This selects the power-to-frequency channel alone, and it is the same decoupling that assumption (iv) of Model 3.2 makes for droop control. It holds when the amplitude regulator in (3.23) is fast compared with the angle dynamics, or when the reactive-power error is zero. With ΔE = 0 the second term vanishes, and what remains is a droop line written in rad/s. Convert it to per unit by dividing by ω0, which is what (3.2) requires:
Δω = − [η / (ω0 Vref2)] ΔP(3.25)
Comparing (3.25) with the deviation of the droop law (3.5), Δω = −mpΔP, identifies the gains:
mp = η / (ω0 Vref2), KD,eq = 1/mp = ω0 Vref2 / η(3.26)
The factor ω0 in (3.26) is not decoration. It is the same factor the convention warning of §3.2.1 exists to protect. To reproduce mp = 0.05 pu at Vref = 1 pu and f0 = 50 Hz, the gain must be η = 0.05 × 314.1593 × 1 = 15.7080 1/s. At f0 = 60 Hz the same droop needs η = 0.05 × 376.9911 = 18.8496 1/s. Reading η = 0.05 from (3.26) and calling it a 5 % droop would be wrong by the factor 314.159.
The inertia. Equations (3.22) and (3.23) contain no power filter. The power P enters (3.24) instantaneously. By Theorem 3.3 read backwards, a droop law with no filter has ωc → ∞ and therefore Heq = 0. Pure dispatchable virtual oscillator control supplies damping and no inertia. Insert a first-order power measurement filter of cutoff ωc — which any implementation on a real, noisy measurement needs — and Theorem 3.3 applies unchanged, giving
Heq = 1 / (2 mp ωc) = ω0 Vref2 / (2 η ωc)(3.27)
The distinction matters for the acceptance of the chapter: (3.22) and (3.23) are cited; (3.24) to (3.27) are proved here from them under ΔE = 0.
Sections 3.2 to 3.5 derived four control laws that look nothing alike. Two are straight lines, one is an integrator fed by a capacitor voltage, one is a nonlinear oscillator. Each derivation ended at the same place: a first-order relation between a power deviation and a per-unit frequency deviation, with two coefficients. This section states that as one theorem and tabulates the coefficients.
Call an operating point symmetric when the measured power equals its set point, the internal magnitude equals its set point, and the current is inside the limit. Let a grid-forming converter satisfy Definition 3.1 under any one of Model 3.2, Model 3.4, Model 3.5, or Model 3.6, each with its own stated assumptions, including ΔE = 0 where the model states it. Then about a symmetric operating point the small-signal dynamics are
dθ/dt = ω0 (1 + δω), Δω(s) = − ΔP(s) / (2Heq s + KD,eq)(3.28)
with the pair (Heq, KD,eq) given by Table 3.1. The four families are therefore indistinguishable to first order about such a point: a measurement of the frequency response from power imbalance to frequency cannot identify which law is running, only what (Heq, KD,eq) it realises.
Proof
The angle equation is (3.2) in every case, because every family satisfies Definition 3.1 and (3.2) is the per-unit form of (3.1). It remains to show that each family's frequency channel is (3.28).
All four are (3.28). □
| Family | Heq (s) | KD,eq (pu) | Derived at | Away from the operating point |
|---|---|---|---|---|
| Droop with a first-order power filter | 1 / (2 mp ωc) | 1 / mp | (3.7), Theorem 3.3 | The two coefficients cannot be set independently: fixing the grid-code droop fixes KD,eq, and only ωc is left to carry Heq. |
| Virtual synchronous machine | Hv | KD,v | (3.12), by construction | The two coefficients are independent. Nothing in the law checks that the DC side can deliver the energy the chosen Hv promises. |
| Matching control, gain kθ = ω0/vdc0 | 0.5 Cdc vdc02 / Sbase | kdc vdc02 / Sbase − P0 | (3.16) and (3.21) | The inertia is physical and therefore small (Example 3.2: 0.0144 s). The damping lives in the DC source, not in the AC control law, and turns negative when kdcvdc02/Sbase < P0. The DC voltage cannot be over-promised, because it is measured. |
| Dispatchable virtual oscillator control, κ = π/2, ΔE = 0; model cited [S11 — verify], reduction derived here | 0 with no filter; ω0 Vref2 / (2 η ωc) with one | ω0 Vref2 / η | (3.26) and (3.27) | The amplitude channel (3.23) is coupled to the angle channel and is nonlinear. This is the family with a cited almost-global synchronization result (Remark 3.3), which the other three do not have. |
Two readings of Table 3.1 are worth stating, because they point in opposite directions.
The optimistic reading. A system operator specifying grid-forming plant does not need to specify a control family. Specify Heq and KD,eq, or the frequency response (3.28) that they define, and any of the four families can meet it.
The pessimistic reading. Theorem 3.7 holds only about a symmetric operating point with the current inside the limit. Every interesting disturbance moves the converter away from that point. The right-hand column of Table 3.1 is where the families genuinely differ, and it is not covered by the theorem. A side-by-side study of the four families under large disturbances is the subject of the comparison literature [S12, Tayyebi, Groß, Anta, Kupzog and Dörfler 2020, Frequency Stability of Synchronous Machines and Grid-Forming Power Converters, the side-by-side comparison — location not yet checked — verify]. This book does not settle it.
The chapter opened with a loss. Chapter 1 showed that the stability of one machine against a stiff grid rests on two coefficients: a spring constant Ks and a mass 2H (R06, R07). Chapter 2 showed that a grid-following fleet supplies neither (R23). This section states, with the arithmetic shown, which of the two grid-forming control restores, and what price is attached to the other.
Let a converter satisfy Definition 3.1 and any family of Table 3.1. Let its output impedance be a pure reactance, Zf = jXf, and let X = Xf + Xg be the total reactance to a source of magnitude Vg. Let the magnitude E be held at its set point, which is the decoupling assumption (iv) of Model 3.2 and the ΔE = 0 of §3.5.1. Let δ be the angle by which E ∠ θ leads the source, with equilibrium value δ0. Then:
(a) Synchronizing coefficient. The converter contributes
Ks = dP/dδ = (E Vg / X) cos δ0(3.29)
which has the same form as the machine's coefficient (R06), with the commanded internal voltage E in the place of the emf behind transient reactance. It is positive exactly when |δ0| < 90°.
(b) Inertia, bounded by energy. Write Eres for the usable energy reserve of the converter: the energy, in joules, that the source behind the DC link can deliver at the instant of the disturbance, after state of charge, temperature and every other commitment are taken off. Write Δf for the magnitude of the frequency excursion, in hertz. The inertial response over that excursion requires
Eres ≥ 2 Heq Sbase Δf / f0(3.30)
(c) Inertia, bounded by current. Write RoCoF for the magnitude of the rate of change of frequency, |df/dt|, in Hz/s. At that rate the inertial power is 2Heq RoCoF / f0 in per unit. Assume a terminal voltage of 1 pu, and assume that the dispatch current i0 and the inertial current are both active currents, in phase with the terminal voltage, so that they add as scalars. Then the inertial power is also the extra current, and the headroom Imax − i0 must hold it:
2 Heq RoCoF / f0 ≤ Imax − i0(3.31)
If part of i0 is reactive, the two currents add as vectors, the true headroom is larger than this difference, and (3.31) is conservative.
Neither (3.30) nor (3.31) has a counterpart in Chapter 1.
Proof
(a) By Definition 3.1 the converter presents E ∠ θ behind an impedance, and by Theorem 3.7 the angle θ is a state moved by (3.28). The power transferred across a reactance between two voltage magnitudes is P = (EVg/X) sin δ, exactly as for the classical machine model (R05), because the network relation does not know what produced E ∠ θ. Differentiating with respect to δ at δ0 gives (3.29). The sign statement follows from the sign of the cosine.
(b) Integrate the inertial term of (3.3) over the excursion. Power 2Heq d(δω)/dt in per unit, times Sbase, integrated from δω = 0 to |δω| = Δf/f0 — a falling frequency has δω negative, and the energy is the magnitude — gives 2HeqSbaseΔf/f0 joules. The DC side must supply that energy, because the capacitor of Model 3.5 holds only 0.5Cdcvdc02 and Example 3.2 measured how small that is. Hence (3.30).
(c) Differentiate the same term. The instantaneous inertial power is 2Heq d(δω)/dt = 2HeqRoCoF/f0 in per unit, since d(δω)/dt = RoCoF/f0. Per-unit power at unit voltage equals per-unit current, and the converter's total current cannot exceed Imax. Hence (3.31). □
Take the network of Example 1.1 so that the comparison is digit for digit, and put a grid-forming converter in the machine's place: E = 1.1 pu, Vg = 1.0 pu, X = 0.65 pu, exporting P = 0.8 pu. The equilibrium angle comes from the power relation: δ0 = arcsin(0.8 × 0.65 / 1.1) = arcsin(0.4727) = 0.4924 rad = 28.21°. Then EVg/X = 1.1/0.65 = 1.6923 pu and cos δ0 = 0.8812, so
Ks = 1.6923 × 0.8812 = 1.491 pu/rad
which is the 1.49 pu/rad of Example 1.1 (R08). The converter and the machine contribute the same spring constant, because (3.29) does not contain a single term that refers to a rotor. That is the chapter's positive result, and it is complete: on this count grid-forming control restores exactly what was lost.
The energy bound (3.30). Example 3.2 already computed the right-hand side for one case: a 100 MVA converter declaring Heq = 5 s over Δf = 0.8 Hz at f0 = 50 Hz must deliver 2 × 5 × 100 × 106 × 0.016 = 16 MJ, which is 4.4444 kWh. Whether that binds depends on what sits behind the DC link. A battery rated 100 MW with a 1-hour store holds 100 MWh = 360 GJ, which is 22 500 times the 16 MJ. A photovoltaic array running at its maximum power point holds none at all, and must be curtailed below that point first. The DC link itself, at 14.4 kJ per MVA scaled from Example 3.2, holds 0.0144 MJ per MVA against the 0.16 MJ per MVA that (3.30) asks for — a shortfall of 11.11 to 1. The capacitor cannot be the source.
The current bound (3.31). In the sizing case of Chapter 4 (R39) this bound binds and the energy bound does not. Its arithmetic is short. Take a converter with Imax = 1.2 pu dispatched at i0 = 1.0 pu, so the headroom is 0.2 pu. At Heq = 5 s and f0 = 50 Hz the largest rate of change of frequency it can serve inside that headroom is
RoCoF = (Imax − i0) f0 / (2Heq) = 0.2 × 50 / (2 × 5) = 1.000 Hz/s
and at that rate the inertial power is 2 × 5 × 1.000/50 = 0.200 pu, which consumes the headroom exactly and leaves nothing for a voltage-support current at the same instant. Doubling the rate to 2 Hz/s doubles the demand to 2 × 5 × 2/50 = 0.400 pu, which is twice the available headroom. The converter cannot deliver it. It must either saturate at Imax — at which point Theorem 3.7 no longer applies, because the operating point is no longer symmetric and the current is no longer inside the limit — or reduce its effective Heq and deliver less inertia than it declared.
The two rates used above, 1 Hz/s and 2 Hz/s, are not two readings of one requirement. They come from different documents and they mean different things. Printing them together as one number is a known error in this material, and this book prints them separately, each with its own source.
The arithmetic above uses each only as an input to (3.31), not as a claim about what any grid code requires.
Four limits are worth naming at the point where the chapter stops, so that no result above is read past its hypotheses.
Before this chapter the reader could compute a machine's swing mode (R07) and show that a grid-following fleet supplies neither Ks nor H (R23). After it the reader can do three things.
Chapter 4 applies the third of these to a fleet.
State why a converter can satisfy Definition 3.1 and still be unable to supply an inertial response.
Definition 3.1 constrains the control structure: it requires that θ be an internal state and that the terminal behaviour be that of a voltage source behind an impedance. It says nothing about the energy store behind the DC link or about the semiconductor rating. Corollary 3.8 supplies the two missing constraints: the energy bound (3.30), Eres ≥ 2HeqSbaseΔf/f0, and the current bound (3.31), 2HeqRoCoF/f0 ≤ Imax − i0. A converter on a photovoltaic array at its maximum power point satisfies Definition 3.1 and fails (3.30), because Eres is zero until the array is curtailed.
Derive Heq = 1/(2mpωc) from the filtered droop law by matching coefficients against the swing equation (3.3), and state the assumption that makes the match exact.
Define ΔP = P − Pref once and use it on both sides. The filtered droop law gives (3.8), sΔω = −ωcΔω − mpωcΔP. The swing equation (3.3) at constant Pm gives (3.9), sΔω = −ΔP/(2H) − (KD/(2H))Δω. Matching coefficients: mpωc = 1/(2H) and ωc = KD/(2H), which give Heq = 1/(2mpωc) and KD,eq = 1/mp. The match is exact when the filter is exactly first order and the droop law is linear. Both sides must be written in the per-unit convention of §3.2.1; matching against the rad/s damping convention changes KD,eq by the factor ω0 = 314.159 at 50 Hz.
Show that a virtual synchronous machine with Hv and KD,v has the same steady-state droop as a droop controller with mp = 1/KD,v.
Set the derivative to zero in both laws. In (3.11): 0 = −ΔP − KD,vΔω, so Δω = −ΔP/KD,v. In (3.5) at steady state the filter has settled, so ΔPf = ΔP and Δω = −mpΔP. The two agree exactly when mp = 1/KD,v. Numerically, KD,v = 20 pu corresponds to mp = 0.0500 pu, the 5 % droop of Example 3.1. Note what the result does not say: the steady states agree, the transients do not, because Hv is still free.
For the converter of Example 3.2, compute the DC-link capacitance that would give Heq = 3.5 s at vdc0 = 1200 V and Sbase = 1 MVA. Then state its physical size in words.
Invert (3.16): Cdc = 2HeqSbase/vdc02 = 2 × 3.5 × 106 / (1.44 × 106) = 7 × 106 / (1.44 × 106) = 4.8611 F. That is 4.8611/0.02 = 243.06, so 243 times the 20 mF of the example, which is the same factor 243 that Example 3.2 found between a rotor and a DC link — as it must be, since both ratios are 3.5/0.0144. In words: capacitor banks of several farads at 1200 V exist, but they are built for energy storage duty, not as the DC link of a 1 MVA converter, and nothing in a converter's cost or volume budget carries one. The DC link is sized by voltage ripple and by switching, not by inertia.
Simulate the four families of §3.6 under a 0.1 pu step in power, with parameters tuned to a common Heq = 2 s. Use these tunings: droop with mp = 0.05 pu and ωc = 5 rad/s; a virtual synchronous machine with Hv = 2 s; matching control with Cdcvdc02/Sbase = 4 s, that is 2.78 F at 1200 V on 1 MVA, a thought experiment by Exercise 3.4; and dispatchable virtual oscillator control with η from (3.26) at mp = 0.05 pu and a power filter at ωc = 5 rad/s, which (3.27) makes 2 s. Report the peak frequency deviation and the settling time of each, and state the numerical tolerance of the run.
Predict before you run. The initial slope is set by Heq alone: from (3.3), d(Δω)/dt at t = 0 is −ΔP/(2Heq) = −0.1/4 = −0.0250 pu/s, which is −1.2500 Hz/s at f0 = 50 Hz. All four families must reproduce that same initial slope to within the integrator tolerance of the run; state the tolerance you used, and state it as an absolute tolerance on Δω, not as a percentage. The steady states and settling times differ, because KD,eq differs. At KD,eq = 20 pu the time constant 2Heq/KD,eq is 0.200 s. Four time constants is 0.80 s. The steady-state deviation is −0.1/20 = −0.0050 pu = −0.250 Hz. At KD,eq = 5 pu the same three numbers are 0.800 s, 3.20 s and −0.0200 pu = −1.000 Hz. Because (3.28) is first order, the response is monotonic: the peak deviation is the steady-state deviation, and any overshoot your simulation shows comes from dynamics outside (3.28) — the amplitude channel, the inner loops, or the network — not from the angle dynamics. Attribute any difference you find to that channel, and say which.
A vendor states that its product has "5 seconds of inertia". List the three further numbers you need before that claim means anything.
A fourth number is worth asking for although the question asks for three: the rate of change of frequency the 5 s figure was tested against, because (3.31) makes the claim rate-dependent and Remark 3.4 shows that two different rates are in circulation.
| Local | Global | Statement | Status |
|---|---|---|---|
| Definition 3.1 | R24 | Grid-forming control, defined by terminal behaviour | definition, §3.1 |
| Model 3.2 | R25 | Droop control with a first-order power filter | stated, §3.2.2 |
| Theorem 3.3 | R26 | Filtered droop is the swing equation, with (3.7) | proved here, §3.2.3 |
| Example 3.1 | R27 | Heq = 0.3183 s, 1.5915 s, 5.000 s at mp = 0.05 pu | computed here, §3.2.3 |
| Model 3.4 | R28 | Virtual synchronous machine, (Hv, KD,v) | stated; equivalence by construction, §3.3 |
| Model 3.5 | R29 | Matching control, Heq = 0.5Cdcvdc02/Sbase | proved here under (3.15); damping (3.21), §3.4 |
| Example 3.2 | R30 | 14.4 kJ, Heq = 0.0144 s, ratios 243 and 1111 | computed here, §3.4 |
| Model 3.6 | R31 | Dispatchable virtual oscillator control and its synchronization property | model cited [S11, S12 — verify]; reduction proved here, §3.5 |
| Remark 3.3 | R31 | Almost-global synchronization, with its four hypotheses | cited, not proved here, §3.5 |
| Theorem 3.7 | R32 | All four families reduce to (3.28); Table 3.1 | proved here, §3.6 |
| Corollary 3.8 | R33 | Ks restored; bounds (3.30) and (3.31) | proved here, §3.7 |
Prerequisites used from earlier chapters, cited by result number only. R04, the swing equation and its per-unit convention. R05, the classical power-angle relation. R06, the synchronizing torque coefficient. R03, the definition of an inertia constant. R08, Example 1.1 and its numbers. R14, the inner current loop and its bandwidth. R17, the grid-following current-source model. R18, the existence bound and Kpll. R23, the corollary that a grid-following fleet supplies neither Ks nor H. No proof from those results is restated here.
Every entry carries verify until a human reads the source page. The draft stage of this book could not open these documents, so no location field below has been checked against the page it names.
Where Chapter 4 continues. Corollary 3.8 bounds one converter. Chapter 4 aggregates a fleet. It defines the system stored energy and the centre of inertia (R34), derives the initial rate of change of frequency (R35) and the frequency nadir (R36), and works a sizing case (R39). That case is a design fleet that Chapter 4 defines, not a published one. It works the three constraints of Corollary 3.8 separately, so that the binding one is identified and not assumed.