Skip to main content
Back to module
Power, Electronics & Signals · Power Systems

Per-unit and load flow

Reading53mLesson 2 of 4 in this module

Convert impedances to per-unit, change bases, estimate a fault current and solve a two-bus load flow.

Why it matters

Power system studies (load flow, short circuit, stability) are how engineers check that a network can carry its loads, keep voltages in range and survive faults. Every one of them is done in the per-unit system, because it turns a network with several voltage levels and transformers into one simple circuit. You will meet it in every power systems course, in the FE and PE Power exams, and in commercial tools such as PSS/E, PowerWorld and ETAP.

The per-unit idea

Pick a base for each quantity and express values as fractions of it:

per-unit value = actual value / base value

Choose one system-wide power base S_base (often 100 MVA) and a voltage base V_base for each voltage zone, matched to the transformer ratios. The other bases follow (three-phase, line-to-line kV, MVA):

Z_base = kV_base^2 / MVA_base          (ohms)
I_base = MVA_base / (sqrt(3) * kV_base) (kA)

Because the voltage bases follow the transformer ratios, an ideal transformer disappears from the per-unit circuit: it becomes just its leakage impedance. Equipment of similar type also has similar per-unit values whatever its size, which makes errors easy to spot.

Worked example 1: bases and conversion

At 138 kV on a 100 MVA base:

Z_base = 138^2 / 100 = 190.44 Ω
I_base = 100 / (1.732 * 138) = 0.418 kA = 418 A

A line with 19.044 Ω of reactance is 19.044 / 190.44 = 0.10 pu.

Changing base

Nameplates give impedance on the equipment's own rating. Convert to the system base:

Z_new = Z_old * (kV_old / kV_new)^2 * (MVA_new / MVA_old)

A 50 MVA transformer with 10% (0.10 pu) reactance on its own base, on a 100 MVA system base with the same kV: 0.10 * (100 / 50) = 0.20 pu.

Worked example 2: a simplified fault estimate

Assume a stiff source at 1.0 pu behind the transformer (0.20 pu) and the line (0.10 pu), and a bolted three-phase fault at the far end of the line, ignoring resistance and load:

I_fault = V / Z_total = 1.0 / 0.30 = 3.33 pu
in amps at 138 kV: 3.33 * 418 A = 1,395 A  (about 1.39 kA)

Real short-circuit studies include the source impedance, generator and motor contributions, and the X/R ratio, following standards such as IEEE C37 and IEC 60909. This sketch shows the method, not a design value.

Load flow

A load flow (power flow) finds the voltage magnitude and angle at every bus for given generation and loads. Buses are typed: the slack bus holds a fixed voltage and angle and supplies whatever balance is needed; PV (generator) buses fix real power and voltage magnitude; PQ (load) buses fix real and reactive power. The equations are nonlinear, so they are solved iteratively with Gauss-Seidel or Newton-Raphson.

For the smallest case, a slack bus V1 feeding a load S = P + jQ at bus 2 through series impedance Z, the load current is I = conj(S / V2) and Gauss-Seidel repeats:

v2 = 1 + 0j
for _ in range(50):
    v2 = v1 - z * (s_load / v2).conjugate()

Worked example 3: two buses

V1 = 1.0∠0° pu, Z = 0.02 + j0.08 pu, load 80 MW and 40 Mvar on 100 MVA (S = 0.8 + j0.4 pu). The iteration converges in a few steps to

V2 = 0.9459 - j0.0560 pu  =  0.948 pu at -3.39°
I  = 0.944 pu,  line loss = |I|^2 * R = 0.0178 pu = 1.78 MW
sending end: 81.8 MW and 47.1 Mvar

The voltage at the load is 5.2% low, which most planning criteria (often ±5%) would flag. Remedies include capacitor banks to supply reactive power locally, a tap-changing transformer, or a stronger line. Notice how much the reactive load matters: with X four times R, Q drives most of the voltage drop.

Common mistakes

  • Mixing voltage zones, using 138 kV bases on the 13.8 kV side.
  • Forgetting to change base for nameplate impedances.
  • Using phase voltage with three-phase MVA (or the reverse) in Z_base.
  • Dropping the conjugate in I = conj(S / V).
  • Treating a hand estimate as a design study. Real studies use validated models and software and are reviewed and sealed by licensed engineers.

Recap

  • Z_base = kV^2 / MVA, I_base = MVA / (sqrt(3) kV); per-unit = actual / base.
  • Change base with (kV_old / kV_new)^2 * (MVA_new / MVA_old).
  • Load flow solves bus voltages iteratively; reactive power drives voltage drop on mostly reactive lines.

Try it

Open the Do tab to code per-unit conversions, a fault estimate and a two-bus Gauss-Seidel load flow.

Also in this lesson: