Grid Frequency Drop Calculator & Sudden Trip Simulator

Simulate a single-area grid trip with synchronous inertia, GFM droop and virtual inertia, GFL fast response and UFLS. Compare RoCoF and nadir as synchronous share falls.

#governor droop #grid frequency #grid-forming inverter #inertia #inverter response #RoCoF #swing equation #UFLS

A sudden loss of generation leaves demand greater than input power. Synchronous machines slow down as their rotating mass supplies the difference; losing load initially raises frequency instead. This grid frequency drop calculation helps engineers, students and energy analysts compare these first seconds in one coherent area.

Enter nominal frequency, the surviving fleet's reference MVA rating, and the MVA-weighted inertia constant H of its synchronous machines. Exclude the tripped generator. The synchronous-share input allocates that reference fleet between connected rotating machines and replacement inverters; it is a rating share, not a share of energy production. At a share of one, the entire reference fleet is synchronous. Physical stored energy equals H times connected synchronous MVA. Governor participation and reserve use separate MW inputs and decrease in proportion to synchronous share.

Choose generation loss or load loss, disconnected MW, and the load still connected immediately after the event. Load relief describes the percentage change in demand per percentage change in frequency. Governor droop, continuous deadband, response lag and reserve describe the aggregate synchronous response. These parameters are illustrative and should be replaced with data for the system being studied.

The surviving fleet must be able to supply the initial generation: remaining load minus signed lost power. A necessary capacity check uses synchronous MVA as a unity-power-factor MW ceiling plus the inverter active ratings. It also checks each share scenario. External supply is excluded; passing this optimistic bound does not prove dispatch or reserve feasibility.

Allocate the inverter portion between grid-forming (GFM) and grid-following (GFL) resources. GFM frequency droop changes active power with frequency deviation. The virtual synchronous machine (VSM) option also emulates inertia: it can reduce initial RoCoF, whereas ideal droop alone starts acting only as frequency moves. Both GFM contributions share one reserve limit. Virtual H is a controller coefficient, not physical rotating energy. The GFL block supplies a separate, event-triggered fast frequency response after a delay, capped by its active-power rating. Delayed GFL response does not change the instantaneous initial RoCoF.

Inspect the synchronous-share charts to compare passive inverter replacement with the configured GFM and GFL support. Moving left means fewer synchronous machines. Replacement increases inverter capacity using the same GFM/GFL allocation and reserve fraction; governor capacity falls. These comparison curves always disable UFLS so protection does not conceal the response differences. Scenarios with insufficient fleet capacity or unsupported frequency excursions appear as gaps. The main time trace uses the selected UFLS setting.

Press play or move the time slider to follow the frequency trace and spinning-mass dial. Rotor rotation is slowed for visibility; its speed ratio and physical kinetic energy follow the calculated frequency. The optional UFLS stage sheds one permanent load block after a continuous time below pickup. Recovery resets its timer. Adjust pickup when switching between 60 Hz and 50 Hz.

Compare RoCoF, inertia and the frequency nadir or peak, then inspect which power block arrests the excursion. Energy outputs describe the required exchange over 30 seconds; they do not check storage state of charge or DC-source availability. A value at 30 seconds need not be settled.

People asking “why do blackouts happen” can explore one frequency-stability mechanism here. This single-area model excludes voltage collapse, network separation, inter-area modes, converter inner controls and cascading protection. It withholds the selected transient outside ±5% of nominal frequency. It is an educational sensitivity tool, not a regional blackout reconstruction or protection-setting study.

How it is calculated

Fleet mix and physical inertia

For synchronous rating share xx, Ss=xSbS_s=xS_b on the fixed post-trip reference fleet MVA base SbS_b. The replacement fleet is split as Sv=(1−x)qvSbS_v=(1-x)q_vS_b for GFM and Sl=(1−x)(1−qv)SbS_l=(1-x)(1-q_v)S_b for GFL. Inverter rated MW is its MVA rating times the entered active-MW/MVA ratio. These are capacity scenarios, not dispatch reconstruction.

A necessary capacity check requires 0≤Pinit≤Pcap0\le P_{init}\le P_{cap}, where Pinit=PL−PlossP_{init}=P_L-P_{loss} is initial generation from the surviving fleet and Pcap=Sb[x+kinv(1−x)]P_{cap}=S_b[x+k_{inv}(1-x)] is its active-power ceiling, explicitly converting MVA to MW in the formula. For generation loss this is the surviving pre-trip output, PL−PtripP_L-P_{trip}; for load loss it is PL+PtripP_L+P_{trip}. The synchronous contribution uses an optimistic unity-power-factor ceiling and the inverter contribution uses the entered active-MW/MVA ratio. No external supply is represented. This is necessary, not sufficient: actual synchronous rated MW, reactive-power capability, unit dispatch and headroom may impose tighter limits. The same bound masks both comparison frequency and initial-RoCoF curves, and infeasible comparison scenarios are skipped before integration.

Physical energy is Es=HsSsE_s=H_sS_s, using the conventional MVA basis, converted to MJ; the physical swing coefficient is Ms=2Es/f0M_s=2E_s/f_0. Use Hs=∑HiSi/∑SiH_s=\sum H_iS_i/\sum S_i, excluding the tripped machine. ERCOT (2018), p. 5 and footnote 2, defines this normalization. An H value quoted on a rated MW base must first be rebased: HMVA=HMWPrated,MW/Srated,MVAH_{MVA}=H_{MW}P_{rated,MW}/S_{rated,MVA}. Rated active MW and apparent MVA are separate bases.

Three response mechanisms

The coherent single-area balance is

MsΔf˙=Pg+Pv+PFFR+Pshed−Ploss−KDΔf.M_s\dot{\Delta f}=P_g+P_v+P_{FFR}+P_{shed}-P_{loss}-K_D\Delta f.

PlossP_{loss} is positive for generation loss and negative for load loss; KD=D(PL−Pshed)/f0K_D=D(P_L-P_{shed})/f_0.

Synchronous governor gain is Kg=xSg/(Rf0)K_g=xS_g/(Rf_0) and reserve is xPresxP_{res}. Continuous no-step deadband gives ug=clip⁡[−Kgsign⁡(Δf)max⁡(∣Δf∣−fdb,0),−xPres,xPres]u_g=\operatorname{clip}[-K_g\operatorname{sign}(\Delta f)\max(|\Delta f|-f_{db},0),-xP_{res},xP_{res}], with TgP˙g=ug−PgT_g\dot P_g=u_g-P_g. NERC Primary Frequency Control (September 2023), attached pp. 8 and 17–19, supports sustained droop and no-step deadband. This is one aggregate lag, not a turbine-specific model.

GFM droop gain is Kv=Pv,rated/(Rvf0)K_v=P_{v,rated}/(R_vf_0). In VSM mode Mv=2HvSv/f0M_v=2H_vS_v/f_0; in ideal droop-only mode Mv=0M_v=0. Programmed virtual energy HvSvH_vS_v is a coefficient, never added to the displayed physical rotor energy. The combined GFM response is

Pv=clip⁡[−KvΔf−MvΔf˙,−Pv,max,Pv,max],Pv,max=qhPv,rated.P_v=\operatorname{clip}[-K_v\Delta f-M_v\dot{\Delta f},-P_{v,max},P_{v,max}],\quad P_{v,max}=q_hP_{v,rated}.

The reduced coherent-frequency model is derived here from swing emulation and droop laws described by D’Arco and Suul (2014), Eqs. 1–6; Rathnayake et al. (2021), attached pp. 6 and 8, Eqs. 4 and 8–9; and the NREL GFM roadmap, attached pp. 24–28 (printed pp. 13–17). It is not a reproduction of those papers' converter or network simulations.

Let B=Pg+PFFR+Pshed−Ploss−KDΔfB=P_g+P_{FFR}+P_{shed}-P_{loss}-K_D\Delta f. Solve the unsaturated candidate ru=(B−KvΔf)/(Ms+Mv)r_u=(B-K_v\Delta f)/(M_s+M_v), calculate and clamp Pv,u=−KvΔf−MvruP_{v,u}=-K_v\Delta f-M_vr_u, then use Δf˙=(B+Pv)/Ms\dot{\Delta f}=(B+P_v)/M_s. This solves the implicit common-power-limit equation exactly for Ms>0M_s>0; it does not retain virtual inertia when its requested MW cannot be delivered. At t=0, unsaturated VSM response gives r0=−Ploss/(Ms+Mv)r_0=-P_{loss}/(M_s+M_v); droop alone gives −Ploss/Ms-P_{loss}/M_s.

The GFL block is the separately delayed event-triggered boost PFFR=sPF[1−exp⁡(−max⁡(0,t−td)/TF)]P_{FFR}=sP_F[1-\exp(-\max(0,t-t_d)/T_F)], capped at the GFL active rating and held until 30 s. ss is the event direction. NERC FFR (March 2020), attached pp. 13–14, describes fast response and contingency-based triggering. This selected implementation assumes knowledge of event direction; it does not simulate a PLL or frequency-trigger relay.

Solution, comparison and playback

The frequency and governor states form a two-state affine linear system while the governor deadband/saturation and shared GFM power-limit branches stay fixed. Within each segment, write y˙=Ay+c+qexp⁡(−λu)\dot y=Ay+c+q\exp(-\lambda u), where uu is time from the segment start. Its matrix-exponential solution and forcing integrals are evaluated in closed form. Modal constants are cached once per segment; zero eigenvalues, coincident eigenvalues and a forcing decay equal to a mode use their analytic limits. This removes the small stability-limited steps that an explicit ODE solver needs for fast ideal droop at low physical inertia.

The solver restarts at governor deadband/reserve crossings, GFM power-limit crossings and the delayed GFL activation time. A mode-scaled scan brackets the first control-boundary crossing. Stationary points are refined where a modal curvature bound cannot exclude an intervening grazing crossing. Boundary roots use safeguarded interpolation and bisection, with about 1e-10 s time resolution and 1e-12 normalized residual. These numerical tolerances do not remove model uncertainty.

One pre-shedding solution supplies the selected trace, UFLS event evaluation and the matching configured share scenario. Identical passive/configured trajectories are reused. Frequency-rate sign changes bracket extrema of the continuous pre-shedding solution; threshold roots split the monotone intervals into continuous under-frequency durations. The timer resets on recovery. Operation occurs at the first downward crossing plus the entered delay only when that interval lasts long enough. This detects the reference 13.28 ms dip even when both adjacent plotted frequency samples are above pickup. At operation, the state is evaluated directly from its analytic segment, the one load block is disconnected, and a new segment solution starts with reduced load and damping. There is no reclose.

The plotted trace has 1,000 samples over 30 s; the UFLS event replaces the nearest interior sample. Plotted extrema retain approximately 30 ms resolution, but UFLS threshold and timer times are refined on the continuous solution. RoCoF is evaluated from accelerating power rather than a finite-difference measurement window. The heavy segment solutions and share comparison do not read the playback input. Independent high-accuracy SciPy Radau integrations cross-check the default, fast-droop and power-limited generation/load-loss cases; these are numerical regression checks, separate from the published NREL method benchmarks.

The main trace evaluates both inverter blocks at the chosen share. Seven comparison scenarios from 10% to 100% synchronous rating use the same full-fleet base, event, load and response parameters, with UFLS disabled. The passive scenario sets both GFM and GFL support to zero. Replacement increases GFM/GFL ratings at the selected allocation while governor rating and reserve fall with synchronous share. Each worst-frequency comparison is withheld if its entire sampled trace leaves ±5%; the initial RoCoF remains a local t=0 result, available only for a capacity-feasible scenario.

The physical rotor display uses Es(f/f0)2E_s(f/f_0)^2 and integrates the speed ratio for its slowed orientation. The solver linearizes its swing coefficient at nominal frequency. The heavy propagation solutions and share sweep do not read playback time.

The GFM energy integral executes only when the selected run meets both capacity and frequency validity. An if branch skips trapz for unavailable runs; the output step returns an intentional unavailable value. Invalid-run regression probes depend on successful evaluation of this energy result, and the complete reviewer trials are checked for unexpected engine errors in addition to the intended input-condition messages.

Assumptions

  • One coherent area, one instantaneous trip at t=0, initially at nominal frequency and active-power balance.
  • Fleet shares refer to surviving MVA ratings. H uses the same MVA base as the synchronous machines; motor inertia may be included only through a consistent equivalent stored energy. Inverters have no implicit physical inertia.
  • Changing synchronous share replaces capacity on a fixed reference base; governor participating MW and reserve scale with that share. A necessary active-power capacity bound is enforced, but there is no dispatch, commitment or pre-event power-flow calculation. The synchronous MVA contribution is an optimistic unity-power-factor active-power ceiling; verify actual rated MW and headroom. No unmodelled external supply is included.
  • GFM droop and ideal VSM dynamics act at the common area frequency. Their common symmetric power clamp is an aggregate headroom model. It is not a converter current limiter or a claim of stable voltage formation. Ideal droop-only deliberately neglects filter and network dynamics.
  • GFL FFR is a prescribed contingency-triggered exponential boost with its own delay. Requested boost is capped at the GFL active rating; actual resource headroom must be confirmed independently.
  • Both inverter groups must sustain the requested exchange through 30 seconds. GFM energy is the integral of absolute delivered power, counting both directions; GFL energy is the same for its unidirectional boost. No storage depletion, withdrawal, recharge or energy reserve enforcement is simulated.
  • Governor reserve is symmetric upward/downward; aggregate headroom/footroom must be verified. Load relief is linear, instantaneous and decreases with the shed block.
  • One illustrative UFLS stage has a resettable continuous pickup timer and a permanent trip latch. No reclose, relay filtering, extra breaker travel time, or multiple stages.
  • The GFM aggregation and simultaneous saturation algebra are derived here from the cited general laws; source benchmark cases verify limiting behavior, not a specific vendor controller.
  • Defaults describe an illustrative mixed 60 Hz system, not a PJM or Iberian blackout reconstruction.

Where it applies

Use for educational comparisons and early coherent single-area sensitivity studies over 0–30 s. At least 10% of the reference MVA fleet remains synchronous. Fully inverter-based operation, synchronization and voltage formation require a different model.

The selected transient is supported only when the initial surviving generation is between zero and the fleet active-power ceiling, and the entire sampled frequency trace stays within ±5% of nominal. Otherwise its result cards, main traces, GFM energy and rotor playback are withheld. Both comparison frequency and initial-RoCoF curves omit scenarios with insufficient fleet capacity; comparison frequency curves also show gaps outside the frequency range. Initial RoCoF is a local t=0 slope, not a prediction of subsequent stability. Each comparison disables UFLS regardless of the main setting.

Nadir and peak are sampled extrema within the horizon, including the initial state. A trace still moving away from nominal at 30 s has no demonstrated arrested nadir or peak. Primary droop need not restore nominal frequency. UFLS timing is refined independently of the approximately 30 ms plot sampling.

Exclude voltage/reactive instability, transmission constraints and losses, inter-area modes, island formation, changing topology, converter PLL and inner voltage/current loops, current limiting and loss of GFM synchronism, detailed turbine dynamics, generator protection/cascading trips, AGC and secondary recovery. The power clamp is not a physical converter fault model. A smaller nadir excursion does not prove overall grid stability.

Instantaneous RoCoF is not a filtered relay measurement or compliance test. UFLS inputs are illustrative, not regional rules or recommended field settings. NERC editions cited here explain the concepts; the calculator makes no regulatory compliance claim.

References

  • Denholm, Mai, Kenyon, Kroposki and O’Malley (2020). Inertia and the Power Grid: A Guide Without the Spin. NREL/TP-6A20-73856, Figures 6–8, printed pp. 10–13. DOI: https://doi.org/10.2172/1659820 . Open full text: https://www.nlr.gov/docs/fy20osti/73856.pdf
  • NERC (September 2023). Reliability Guideline: Primary Frequency Control, Chapters 2 and 4. https://www.nerc.com/comm/RSTC_Reliability_Guidelines/Primary_Frequency_Control_Reliability_Guideline_v_4.0_Clean_V3%20-%20DR.pdf
  • NERC (March 2020). Fast Frequency Response Concepts and Bulk Power System Reliability Needs, Chapter 2. https://www.nerc.com/globalassets/our-work/white-papers/fast-frequency-response-concepts-and-bps-reliability-needs.pdf
  • ERCOT (April 2018). Inertia: Basic Concepts and Impacts on the ERCOT Grid, page 5 and footnote 2 (MVA basis of H and stored kinetic energy). https://www.ferc.gov/sites/default/files/2021-11/Inertia_Basic_Concepts_Impacts_On_ERCOT_v0.pdf
  • D’Arco, S. and Suul, J. A. (2014). Equivalence of Virtual Synchronous Machines and Frequency-Droops for Converter-Based MicroGrids. IEEE Transactions on Smart Grid 5(1), 394–395, Eqs. 1–6. https://doi.org/10.1109/TSG.2013.2288000 ; author institution: https://www.sintef.no/en/publications/publication/0198cc5ca830-234d2b07-123e-4c6a-9adc-8847aec66b01/
  • Rathnayake et al. (2021). Grid Forming Inverter Modeling, Control, and Applications. IEEE Access 9, 114781–114807, particularly Eqs. 4 and 8–9. CC BY 4.0. https://doi.org/10.1109/ACCESS.2021.3104617 ; open full text: https://researchmgt.monash.edu/ws/portalfiles/portal/373753219/350584151_oa.pdf
  • Lin et al. (2020). Research Roadmap on Grid-Forming Inverters. NREL/TP-5D00-73476, Section 3.1, printed pp. 13–17. https://doi.org/10.2172/1721727 ; open full text: https://www.nlr.gov/docs/fy21osti/73476.pdf
  • MathWorks. Solve Stiff ODEs and expm (matrix exponential): numerical-method background for the closed-form segment propagator. https://www.mathworks.com/help/matlab/math/solve-stiff-odes.html ; https://www.mathworks.com/help/matlab/ref/expm.html

Inputs

InputSymbolUnitDefault
Nominal grid frequencyf_nomHz60
Post-trip fleet MVA base at 100% synchronous share
Fixed surviving fleet rating used for the share comparison. Connected synchronous MVA = this base × synchronous share; the balance is replaced by inverters. At share 1 this is the original surviving synchronous MVA. This is not dispatched MW.
S_syncMVA40000
MVA-weighted inertia constant H
MVA-weighted H of the synchronous portion: sum(H_i S_i)/sum(S_i). Physical energy is H × synchronous share × fleet MVA; exclude the tripped machine and all inverter virtual inertia.
H_syss4
Load remaining immediately after the trip
Used for frequency-sensitive load and the UFLS block. For a load trip, enter the load still connected.
P_loadMW30000
Synchronous share of surviving fleet (0.7 = 70%)
Share of the entered post-trip MVA fleet still synchronous. The rest is replaced by inverters. Synchronous stored energy, governor rating and governor reserve all scale with this share. This is a rating share, not instantaneous energy production.
q_sync0.7
GFM fraction of inverter MVA (0.5 = half)
Of the non-synchronous fleet, this fraction uses grid-forming control; the rest uses grid-following control. Shares total one. The sweep uses this same allocation.
q_gfm0.5
Inverter active MW rating / MVA rating
Ratio of the inverter fleet's rated MW to its rated MVA. Used for droop and power limits; virtual H stays on the MVA base. Verify the manufacturer's bases.
k_inv1
Sudden trip
Generation loss initially lowers frequency; load loss initially raises it.
event_typeGeneration loss
Disconnected powerP_tripMW1000
Load relief D (1.3 = 1.3% load per 1% frequency)D_load1.3
Governor MW rating at 100% synchronous share
Active-power rating of participating synchronous machines at full share. Actual rating scales with synchronous share. Separate from the MVA base of H.
S_govMW15000
Governor droop R (0.05 = 5%)R_gov0.05
Governor deadband half-widthf_dbHz0.036
Aggregate governor / turbine time constant
One first-order lag, not a detailed steam, gas or hydro turbine model.
T_govs3
Governor reserve at 100% synchronous share
Symmetric upward/downward reserve at full synchronous share; actual reserve scales with synchronous share. Set zero to disable governor response.
P_resMW2000
Grid-forming frequency support
Coherent single-area approximation. Droop-only neglects fast filter and network dynamics; VSM adds a configurable inertia coefficient. This does not simulate converter voltage formation or stability.
gfm_modeDroop + virtual inertia (VSM aggregate)
Virtual inertia H on the GFM MVA base
Programmed VSM inertia, not rotating stored energy. Shared headroom limits the combined droop and inertial power.
H_gfms4
GFM droop R (0.05 = 5%)R_gfm0.05
GFM reserve / rated MW (0.15 = 15%)
Symmetric injection/absorption limit for the sum of droop and virtual inertia. Assume the DC source can sustain this reserve for 30 seconds; inspect the required energy.
q_head0.15
Requested grid-following FFR boost
Event-triggered MW boost, capped at the grid-following active MW rating. Injects after generation loss and absorbs/curtails after load loss. Held through 30 s; verify source headroom and energy. Set zero to disable.
P_fastMW300
Fast-response activation delayT_fast_delays0.2
Fast-response rise time constantT_fast_rises0.15
Enable one UFLS stageufls_ontrue
UFLS pickup frequency
Illustrative setting, not a regional protection recommendation. Change this when switching to a 50 Hz system.
f_uflsHz59.5
Fraction of remaining load to shed (0.05 = 5%)q_shed0.05
Continuous under-frequency pickup delay
The timer resets on recovery above pickup. Once tripped, the stage stays open; there is no automatic reconnection.
T_uflss0.15
Playback time after tript_views3.3

Results

With the default inputs above, the calc gives:

ResultValue
Frequency nadir (0–30 s)59.822 Hz
Frequency peak (0–30 s)60 Hz
Initial RoCoF-0.221 Hz/s
Time to worst directional deviation2.76 s
Frequency at 30 s59.866 Hz
UFLS load disconnected0 MW
Fast-response energy over 30 s2.471 MWh
UFLS operationNo UFLS operation in 30 s
Physical rotational energy112,000 MJ
Connected synchronous rating28,000 MVA
Shared GFM response limit900 MW
Peak delivered GFM response360.8 MW
Required GFM absolute energy exchange (30 s)2.315 MWh

Checked against sources

Each case below was calculated by this calc and agrees with the value from its source (within the tolerance where one is shown).

NREL Figure 6 — 1 GW loss, 29 surviving machines

Source: Denholm et al., NREL/TP-6A20-73856 (2020), printed pp. 10–11, Figure 6 and footnote 9. Published values are rounded: RoCoF 0.26 Hz/s, about 59.7 Hz at 1 s and 59.5 Hz at about 2 s. Use surviving rating 29,000 MW, H=4 s, not the report's rounded 115 GW·s. This linearized model gives 116 GW·s and a constant early RoCoF; tolerances cover the source's graph rounding and small-deviation approximation. The NREL example reports a MW-normalized energy convention. For this benchmark only, the entered MVA/H pair is energy-equivalent to the published 4 s per 1 GW basis; it preserves 116,000 MJ (Figure 6) or 236,000 MJ (Figure 7), rather than claiming actual nameplate MVA or power factor.

Inputs: Post-trip fleet MVA base at 100% synchronous share = 29,000 MVA; Load relief D (1.3 = 1.3% load per 1% frequency) = 0; Governor MW rating at 100% synchronous share = 0 MW; Governor reserve at 100% synchronous share = 0 MW; Requested grid-following FFR boost = 0 MW; Enable one UFLS stage = no; Synchronous share of surviving fleet (0.7 = 70%) = 1; Grid-forming frequency support = No GFM frequency support; the others as above.

ResultSourceThis calc
Initial RoCoF-0.26 ± 0.003 Hz/s-0.2586 Hz/s
Frequency at one second59.7 Hz59.741 Hz
Frequency at two seconds59.5 Hz59.483 Hz

NREL Figure 7 — larger 60 GW system

Source: NREL/TP-6A20-73856 (2020), printed pp. 11–12, Figure 7: the larger-system curve reaches about 59.5 Hz at 4 s. Doubling the pre-event 30 GW system to 60 GW leaves 59 identical 1 GW generators after one is lost (H=4 s). This is approximately twice the original surviving inertia, as described in the text. The 0.025 Hz tolerance covers graph reading and the small-deviation approximation. The NREL example reports a MW-normalized energy convention. For this benchmark only, the entered MVA/H pair is energy-equivalent to the published 4 s per 1 GW basis; it preserves 116,000 MJ (Figure 6) or 236,000 MJ (Figure 7), rather than claiming actual nameplate MVA or power factor.

Inputs: Post-trip fleet MVA base at 100% synchronous share = 59,000 MVA; Load remaining immediately after the trip = 60,000 MW; Load relief D (1.3 = 1.3% load per 1% frequency) = 0; Governor MW rating at 100% synchronous share = 0 MW; Governor reserve at 100% synchronous share = 0 MW; Requested grid-following FFR boost = 0 MW; Enable one UFLS stage = no; Synchronous share of surviving fleet (0.7 = 70%) = 1; Grid-forming frequency support = No GFM frequency support; the others as above.

ResultSourceThis calc
Frequency at four seconds59.5 Hz59.492 Hz

Regression — short under-frequency excursion between plot samples

Source: Independent reviewer, board subtask #814: matrix-exponential solution for the unforced linear swing/governor system at H=0.5 s, S_sync=40,000 MVA, S_gov=40,000 MW, R=0.02, T_gov=0.2 s, D=0, zero deadband, 985 MW trip. Frequency stays below 59.9 Hz for 13.28 ms; a 5 ms continuous timer must operate at approximately 0.10918 s and disconnect the 1,500 MW block. Values supplied independently in the review, not calculated from this tool's sampled trace.

Inputs: MVA-weighted inertia constant H = 0.5 s; Governor MW rating at 100% synchronous share = 40,000 MW; Governor droop R (0.05 = 5%) = 0.02; Aggregate governor / turbine time constant = 0.2 s; Governor deadband half-width = 0 Hz; Governor reserve at 100% synchronous share = 10,000 MW; Requested grid-following FFR boost = 0 MW; Load relief D (1.3 = 1.3% load per 1% frequency) = 0; Disconnected power = 985 MW; UFLS pickup frequency = 59.9 Hz; Continuous under-frequency pickup delay = 0.005 s; Synchronous share of surviving fleet (0.7 = 70%) = 1; Grid-forming frequency support = No GFM frequency support; the others as above.

ResultSourceThis calc
UFLS event time (31 s sentinel means no trip)0.1092 s0.1092 s
UFLS load disconnected1,500 MW1,500 MW

ERCOT convention — H=4 s on 500 MVA stores 2,000 MJ

Source: ERCOT (2018), Inertia: Basic Concepts and Impacts on the ERCOT Grid, page 5 and footnote 2: kinetic energy equals H times the corresponding machine MVA base. The independent review supplies the dimensional example H=4 s, S=500 MVA (active rating 450 MW): stored energy is 2,000 MJ, not 1,800 MJ. https://www.ferc.gov/sites/default/files/2021-11/Inertia_Basic_Concepts_Impacts_On_ERCOT_v0.pdf

Inputs: Post-trip fleet MVA base at 100% synchronous share = 500 MVA; Load remaining immediately after the trip = 450 MW; Disconnected power = 0 MW; Governor MW rating at 100% synchronous share = 0 MW; Governor reserve at 100% synchronous share = 0 MW; Requested grid-following FFR boost = 0 MW; Load relief D (1.3 = 1.3% load per 1% frequency) = 0; Enable one UFLS stage = no; Synchronous share of surviving fleet (0.7 = 70%) = 1; Grid-forming frequency support = No GFM frequency support; the others as above.

ResultSourceThis calc
Physical rotational energy2,000 MJ2,000 MJ

Regression — reject the out-of-range 100 MVA example

Source: Independent reviewer, board subtask #814: with H=0.5 s and a 100 MVA synchronous base, the 100 MW deficit previously produced −1,740 Hz at 30 s and false kinetic energy growth. This is a validity regression: the whole result must be unavailable once the ±5% small-deviation condition fails. It is not a reference prediction of real negative grid frequency. The GFM energy availability probe must evaluate successfully and report unavailable; a trapz exception fails this expectation. The complete trial is also checked for engine errors outside the intended input conditions.

Inputs: MVA-weighted inertia constant H = 0.5 s; Post-trip fleet MVA base at 100% synchronous share = 100 MVA; Load remaining immediately after the trip = 1,000 MW; Disconnected power = 100 MW; Governor MW rating at 100% synchronous share = 0 MW; Governor reserve at 100% synchronous share = 0 MW; Requested grid-following FFR boost = 0 MW; Load relief D (1.3 = 1.3% load per 1% frequency) = 0; Enable one UFLS stage = no; Synchronous share of surviving fleet (0.7 = 70%) = 1; Grid-forming frequency support = No GFM frequency support; the others as above.

ResultSourceThis calc
Result availability flag00
Available frequency trace samples00
Rotor result availability flag00
GFM energy result availability flag00

Regression — a 20 ms timer rejects the 13.28 ms dip

Source: Independent matrix-exponential reference from the reviewer, confirmed in review-regression.py: the only dip below 59.9 Hz lasts 0.0132777653 s. A continuous 0.020 s pickup timer must reset without tripping. The internal value 31 s denotes no UFLS operation within the 30 s horizon; it is not a predicted operation time.

Inputs: MVA-weighted inertia constant H = 0.5 s; Governor MW rating at 100% synchronous share = 40,000 MW; Governor droop R (0.05 = 5%) = 0.02; Aggregate governor / turbine time constant = 0.2 s; Governor deadband half-width = 0 Hz; Governor reserve at 100% synchronous share = 10,000 MW; Requested grid-following FFR boost = 0 MW; Load relief D (1.3 = 1.3% load per 1% frequency) = 0; Disconnected power = 985 MW; UFLS pickup frequency = 59.9 Hz; Continuous under-frequency pickup delay = 0.02 s; Synchronous share of surviving fleet (0.7 = 70%) = 1; Grid-forming frequency support = No GFM frequency support; the others as above.

ResultSourceThis calc
UFLS event time (31 s sentinel means no trip)31 s31 s
UFLS load disconnected0 MW0 MW

NREL initial RoCoF — equivalent synchronous/VSM inertia split

Source: NREL/TP-6A20-73856 (2020), Figure 6 and footnote 9, attached page 18: initial RoCoF is 0.26 Hz/s for approximately 116,000 MJ surviving energy. This is an energy-equivalent initial-slope limiting case: half the fleet is synchronous and half is ideal unsaturated VSM with the same H=4 s, so the total swing coefficient is unchanged. The source does not report a converter simulation; only its published initial slope is compared. Subsequent frequency is intentionally not equated to the source because GFM droop acts after t=0.

Inputs: Post-trip fleet MVA base at 100% synchronous share = 29,000 MVA; Load relief D (1.3 = 1.3% load per 1% frequency) = 0; Governor MW rating at 100% synchronous share = 0 MW; Governor reserve at 100% synchronous share = 0 MW; Requested grid-following FFR boost = 0 MW; Enable one UFLS stage = no; Synchronous share of surviving fleet (0.7 = 70%) = 0.5; GFM fraction of inverter MVA (0.5 = half) = 1; GFM reserve / rated MW (0.15 = 15%) = 1; the others as above.

ResultSourceThis calc
Initial RoCoF-0.26 ± 0.003 Hz/s-0.2586 Hz/s

Regression — 100 MVA fleet cannot supply 999 MW before the trip

Source: Independent review of board subtask #814: S_sync=100 MVA, synchronous share 1, remaining load 1000 MW and a 1 MW generation trip require 999 MW of initial generation from the surviving fleet. Even the unity-power-factor active-power ceiling is only 100 MW. The case must be unavailable even though its mathematical frequency trace remains inside ±5%. No external supply is represented.

Inputs: Post-trip fleet MVA base at 100% synchronous share = 100 MVA; Synchronous share of surviving fleet (0.7 = 70%) = 1; Load remaining immediately after the trip = 1,000 MW; Disconnected power = 1 MW; Governor MW rating at 100% synchronous share = 0 MW; Governor reserve at 100% synchronous share = 0 MW; Requested grid-following FFR boost = 0 MW; Grid-forming frequency support = No GFM frequency support; Enable one UFLS stage = no; the others as above.

ResultSourceThis calc
Result availability flag00
Available frequency trace samples00
Rotor result availability flag00

Regression — out-of-range low-inertia run has unavailable GFM energy without an integration error

Source: Independent reviewer, board subtask #814: H=0.5 s, synchronous share 0.1, 3000 MW generation loss, no FFR, GFM off and UFLS off made the masked GFM trace enter trapz and raise “NaN is not a number to work with”. The energy availability probe depends on successful evaluation of E_form_exchange, so an integration exception fails this regression rather than being hidden by the other availability flags. The complete trial must have only the intended input-condition diagnostic.

Inputs: MVA-weighted inertia constant H = 0.5 s; Synchronous share of surviving fleet (0.7 = 70%) = 0.1; Disconnected power = 3,000 MW; Requested grid-following FFR boost = 0 MW; Grid-forming frequency support = No GFM frequency support; Enable one UFLS stage = no; the others as above.

ResultSourceThis calc
Result availability flag00
Available frequency trace samples00
Rotor result availability flag00
GFM energy result availability flag00

Regression — omit comparison shares with insufficient active rating

Source: Necessary active-power balance from the independent review of #814. With a 40,000 MVA fleet, inverter MW/MVA ratio 0.5 and 29,000 MW initial surviving generation, the seven shares 0.10/0.25/0.40/0.55/0.70/0.85/1.00 have active-power ceilings 22/25/28/31/34/37/40 GW. Only the last four are feasible. Both frequency and initial-RoCoF comparison curves must omit the first three, even though their unqualified frequency model can be integrated.

Inputs: Inverter active MW rating / MVA rating = 0.5; the others as above.

ResultSourceThis calc
Number of comparison scenarios with sufficient fleet capacity44
Number of available initial-RoCoF comparison points44
Number of available configured comparison frequency points44

Regression — accept equality at the necessary active-power ceiling

Source: Boundary extension of the independent #814 fleet-capacity review: 40,000 MVA × [0.4 + 0.5 × (1−0.4)] = 28,000 MW is the necessary active ceiling. A 29,000 MW remaining load after a 1,000 MW generation trip requires exactly 28,000 MW from the surviving fleet. Equality must pass; the condition is necessary and does not certify actual headroom or dispatch.

Inputs: Inverter active MW rating / MVA rating = 0.5; Load remaining immediately after the trip = 29,000 MW; Synchronous share of surviving fleet (0.7 = 70%) = 0.4; the others as above.

ResultSourceThis calc
Initial active generation from the surviving fleet28,000 MW28,000 MW
Surviving fleet active-power ceiling (necessary bound)28,000 MW28,000 MW
Result availability flag11
Number of comparison scenarios with sufficient fleet capacity55

Regression — load-loss pre-event demand includes the disconnected load

Source: Sign-convention extension of the independent #814 capacity review. A 1,000 MW remaining load following a 10 MW load loss required 1,010 MW before the event, exceeding a 1,000 MVA all-synchronous fleet's 1,000 MW unity-power-factor ceiling. Using the signed loss P_loss=−10 MW makes P_initial=P_load−P_loss=1,010 MW.

Inputs: Sudden trip = Load loss; Post-trip fleet MVA base at 100% synchronous share = 1,000 MVA; Load remaining immediately after the trip = 1,000 MW; Disconnected power = 10 MW; Governor MW rating at 100% synchronous share = 0 MW; Governor reserve at 100% synchronous share = 0 MW; Requested grid-following FFR boost = 0 MW; Synchronous share of surviving fleet (0.7 = 70%) = 1; Grid-forming frequency support = No GFM frequency support; Enable one UFLS stage = no; the others as above.

ResultSourceThis calc
Initial active generation from the surviving fleet1,010 MW1,010 MW
Surviving fleet active-power ceiling (necessary bound)1,000 MW1,000 MW
Result availability flag00
Number of available initial-RoCoF comparison points00

Regression — low physical inertia with fast ideal GFM droop

Source: Independent reviewer supplied this formerly 8.4-second operating point. Independent SciPy 1.15.3 Radau integration (rtol 2e-11, frequency atol 1e-12 Hz; scratch solver-performance-crosscheck.py) gives 59.9673735725938 Hz. The governor remains inside its 0.036 Hz deadband: the separate exact scalar check is Δf(t)=−1000/(30000+650) × [1−exp(−(30000+650)t/(200/3))], with initial slope −15 Hz/s. This is a numerical regression, not a published grid measurement; published NREL cases remain the method benchmarks.

Inputs: MVA-weighted inertia constant H = 0.5 s; Synchronous share of surviving fleet (0.7 = 70%) = 0.1; GFM fraction of inverter MVA (0.5 = half) = 1; Grid-forming frequency support = Frequency droop only (ideal aggregate); GFM reserve / rated MW (0.15 = 15%) = 1; GFM droop R (0.05 = 5%) = 0.02; Requested grid-following FFR boost = 0 MW; Enable one UFLS stage = no; the others as above.

ResultSourceThis calc
Initial RoCoF-15 Hz/s-15 Hz/s
Frequency nadir (0–30 s)59.967 Hz59.967 Hz
Frequency at 30 s59.967 Hz59.967 Hz

Regression — saturated VSM, delayed FFR and governor saturation

Source: Independent SciPy 1.15.3 Radau implementation of the documented physical swing balance and two clipped response laws: rtol 2e-11, frequency atol 1e-12 Hz, governor atol 1e-9 MW, max step 0.025 s. Values are sampled on the same 1000-point 0–30 s axis, with UFLS disabled. Scratch reproduction: solver-performance-crosscheck.py, limited_vsm pre-shedding trajectory. Numerical regression for segment switching; the expected values were not calculated by the calculator's modal propagator.

Inputs: MVA-weighted inertia constant H = 0.5 s; Synchronous share of surviving fleet (0.7 = 70%) = 0.1; GFM fraction of inverter MVA (0.5 = half) = 0.8; Virtual inertia H on the GFM MVA base = 0.1 s; GFM reserve / rated MW (0.15 = 15%) = 0.01; Requested grid-following FFR boost = 500 MW; Enable one UFLS stage = no; the others as above.

ResultSourceThis calc
Frequency nadir (0–30 s)59.055 Hz59.055 Hz
Frequency at 30 s59.8 Hz59.8 Hz

Regression — load loss with downward governor and GFM reserve limits

Source: Independent SciPy 1.15.3 Radau integration, rtol 2e-11, frequency atol 1e-12 Hz, governor atol 1e-9 MW, maximum step 0.025 s; scratch solver-performance-crosscheck.py, load_loss. This exercises the opposite signs of GFM saturation, governor reserve and exponential FFR, and the delayed FFR segment boundary. The 31 s UFLS sentinel means no operation within 30 s. Numerical regression rather than a published regional event.

Inputs: Sudden trip = Load loss; MVA-weighted inertia constant H = 0.5 s; Synchronous share of surviving fleet (0.7 = 70%) = 0.25; Grid-forming frequency support = Frequency droop only (ideal aggregate); GFM reserve / rated MW (0.15 = 15%) = 0.01; Disconnected power = 2,000 MW; the others as above.

ResultSourceThis calc
Frequency at 30 s61.615 Hz61.615 Hz
UFLS event time (31 s sentinel means no trip)31 s31 s

Related Resources

Responses

Your email address will not be published. Required fields are marked *

L ading...