GRIDRA

Lab

IEEE 39-Bus Transient Stability

Transient stability on the same IEEE 39-bus system at three levels of model fidelity, from the classical model to full GENROU + AVR + PSS dynamics, plus small-signal modal analysis — apply a three-phase fault at any bus, choose which line trips to clear it, and watch every generator's rotor angle swing relative to the center of inertia. Includes a bisection search for the critical clearing time.

In plain terms

When a fault (like lightning striking a line) hits a power grid, generators briefly speed up or slow down relative to each other — like a group of runners jostled off their pace. If the fault is cleared quickly enough, they settle back into step; clear it too slowly, and one or more can permanently fall out of sync with the rest, which is how blackouts start. This tool simulates exactly that moment-by-moment for all ten generators in the IEEE 39-bus system, and can automatically find the 'critical clearing time' — the slowest a fault can be cleared before the grid loses synchronism for good.

100 ms
Buses39Branches46 (12 transformers)Generators10Base100 MVATotal load6,254 MWTotal generation6,298 MW
Line 1–2 · click to trip at clearingLine 1–39 · click to trip at clearingLine 2–3 · click to trip at clearingLine 2–25 · click to trip at clearingLine 2–30 (transformer) · click to trip at clearingLine 3–4 · click to trip at clearingLine 3–18 · click to trip at clearingLine 4–5 · click to trip at clearingLine 4–14 · click to trip at clearingLine 5–6 · click to trip at clearingLine 5–8 · click to trip at clearingLine 6–7 · click to trip at clearingLine 6–11 · click to trip at clearingLine 6–31 (transformer) · click to trip at clearingLine 7–8 · click to trip at clearingLine 8–9 · click to trip at clearingLine 9–39 · click to trip at clearingLine 10–11 · click to trip at clearingLine 10–13 · click to trip at clearingLine 10–32 (transformer) · click to trip at clearingLine 12–11 (transformer) · click to trip at clearingLine 12–13 (transformer) · click to trip at clearingLine 13–14 · click to trip at clearingLine 14–15 · click to trip at clearingLine 15–16 · click to trip at clearingLine 16–17 · click to trip at clearingLine 16–19 · click to trip at clearingLine 16–21 · click to trip at clearingLine 16–24 · click to trip at clearingLine 17–18 · click to trip at clearingLine 17–27 · click to trip at clearingLine 19–20 (transformer) · click to trip at clearingLine 19–33 (transformer) · click to trip at clearingLine 20–34 (transformer) · click to trip at clearingLine 21–22 · click to trip at clearingLine 22–23 · click to trip at clearingLine 22–35 (transformer) · click to trip at clearingLine 23–24 · click to trip at clearingLine 23–36 (transformer) · click to trip at clearingLine 25–26 · click to trip at clearingLine 25–37 (transformer) · click to trip at clearingLine 26–27 · click to trip at clearingLine 26–28 · click to trip at clearingLine 26–29 · click to trip at clearingLine 28–29 · click to trip at clearingLine 29–38 (transformer) · click to trip at clearing123456789101112131415161718192021222324252627282930313233343536373839
fault bus (click any bus) line tripped at clearing (click any line) slack bus generator bus
Running the simulation…

How this is built — three fidelity levels sharing one network: Classical holds each generator as a constant-magnitude EMF behind its transient reactance x'd, with mechanical power Pm frozen at its pre-fault value — the same simplification the equal-area criterion is built on. + governor adds TGOV1N (droop → anti-windup valve lag → lead-lag, verified against ANDES's own implementation) so Pm responds to speed deviation instead of staying frozen; a droop governor alone doesn't damp the swing itself, it mainly stops Pm from staying frozen, and a small permanent offset after a disturbance is the expected signature of proportional-only droop control without secondary (AGC) correction. Full detailed replaces the constant EMF with GENROU, the standard 6th-order round-rotor machine model (two-axis flux dynamics behind sub-transient reactance x'', xd2 = xq2), adds IEEEX1 (a DC-type AVR: sensing → lead-lag → anti-windup-limited amplifier → saturating field-voltage integrator → stabilizing feedback washout) regulating terminal voltage, and IEEEST (a power- system stabilizer feeding a damping signal derived from electrical power back into the AVR reference) — all three transcribed and derived directly from ANDES's source, together with the same TGOV1N governor. This is what actually damps the electromechanical oscillation the classical model can only sustain forever. Loads are converted to constant- impedance shunts at the pre-fault operating point, generator internal nodes and the fault are added to the network, and every non-generator bus is eliminated by Kron reduction — separately for the pre-fault, faulted and post-fault topologies, and (for the detailed model) behind x'' instead of x'd — leaving a compact network whose generator- side phasors are reconstructed from the current flux state every step, integrated with fixed-step RK4. All machine, governor, exciter and PSS data is transcribed from the dynamic case bundled with ANDES (see references); the classical and +governor levels carry zero explicit mechanical damping, so a stable case there shows sustained undamped oscillation, not decay. "Critical clearing time" is found by bisection on clearing time alone, holding the fault location and tripped line fixed, re-running the selected fidelity level at each trial.

Explore: IEEE 39-Bus Power Flow

The same network's steady-state solution — scale load, take a line out for N-1, and see voltages and loadings on the diagram.

Further reading