Power Flow Solution Techniques

, , and

(This Blog is an introductory discussion of the AC power flow at a beginner level. Other Blogs on this site discuss more advanced aspects of the power flow, including convergence and alternative solution methods.)

The Power Flow is a steady-state representation of a meshed three-phase electrical network. It is sometimes characterized as a “snapshot” of electrical operating conditions given a set of assumed electrical customers (loads) and supplies (generators) linked together through a transmission system (grid). A single-phase equivalent of the positive sequence network is used since balanced three-phase conditions are assumed.

Power Flow Model of the Electrical Grid

A graphical illustration of a sample electrical network is shown below. This diagram shows only the positive sequence electrical connections.


  • G1 is a generic electric generator of any type including wind and solar powered units. This may represent an individual unit or a composite of several units.
  • D1 and D2 are electrical customers or “loads”. In a power flow model, a load is typically a composite of several customers represented by a net electric power demand.
  • C1 and R1 are a shunt capacitor and reactor, respectively, typically used to boost or reduce local voltage when needed.
  • S1 is a static var compensator used to provide voltage support under fast controllers.
  • L1, L2 and L3 are transmission lines that may represent long distances or short cable runs. The diagram is not scaled to the real length of the lines.
  • T1 and T2 are transformers that step-up or step-down voltage. Transmission lines are typically operated at high voltage for best efficiency, while generation and load are at low voltages.


Grid elements included in the power flow model are:

  • Transmission lines – each modeled by the equivalent pi circuit; where R – series resistance, X- series reactance and B – total capacitive charging.


  • Transformers – each modeled also by an equivalent circuit considering off-nominal taps, where P – primary or high-side, S- secondary or low side, R – equivalent series resistance and X – equivalent series reactance.


Collectively, transmission lines and transformers are referred to as “branches.


Each branch is normally terminated by two nodes, or “buses.” A node represents a point or location on the electrical network. Often, power flow databases use buses to represent substations where lines and transformers may be physically terminated. Each bus has four characteristics that are relevant to the power flow:

  1. Psum – the sum of real power of all devices, excluding branches, connected to the bus
  2. Qsum – the sum of reactive power of all devices, excluding branches, connected to the bus
  3. V – magnitude of voltage at the bus
  4. θ – phase angle of the voltage at the bus

For each bus in the power flow, 2 of the 4 characteristics above are known or defined (also referred to as “input” information or data), while the other 2 are calculated or dependent variables. The type of bus depends on which 2 of the 4 are known. Buses are thus classified into the following types:

  1. P-Q bus – a bus where Psum and Qsum are defined.
  2. P-V bus – a bus Psum and V are defined. This is typically a location where a generator or static var device are connected.
  3. V-θ bus – also referred to as “swing” bus, where voltage magnitude and phase angle are specified. At least one swing bus must be present in the power flow model in order to provide reference for all other voltages and phase angles in the network, and to balance out real and reactive power in the whole system.

Thus, one might say that the power flow objective is to find: voltages (magnitude and angle) at all buses where voltage is unknown, generation at the swing bus, and reactive power output of generators where this is unknown. Once, the unknown bus quantities are solved, then the following branch parameters can be calculated: power flow and electrical losses.

How is the power flow solved?

Solution of the power flow is based on Ohm’s Law, which is the relationship between voltages and currents. For a network, it can be expressed in matrix notation in nodal form as follows:

[I] = [Ybus] [V]


[I] is an array of bus current injections (positive value when generation, and negative value when load)

[V] is an array of bus voltages

[Ybus] is the bus admittance matrix

The set of equations define a non-linear system because the complex injected power or current is a non-linear function of the complex bus voltages. The solution requires the specification of two out of four quantities at each bus. Generators regulate the voltage at their controlled buses as long as the generator’s reactive power limits, Qmax and Qmin, have not been reached. If any generator reaches its maximum or minimum VAR limit, the generator reactive power will be held at the respective limit, and the scheduled voltage becomes the unknown parameter for that bus.

There are several numerical methods for solving the power flow equations. The main ones are:

  • Gauss-Seidel
  • Newton-Raphson

All are iterative methods and follow the same basic concept as follows:

  1. Assume starting values for the dependent variables, primarily voltage. (The term “flat start” means that the starting value of voltage for all buses in the power flow model is nominal voltage magnitude and zero phase angle.)
  2. Compute new values for those voltages using the nodal network equation or a numerical approximation.
  3. Repeat step (2) using the latest computed voltages until the convergence criteria are met.

Convergence criteria specify the desired accuracy of the computations by providing a stopping point for an iterative method. Different solution methods may apply different convergence criteria. For instance, a solution may be defined as the condition when the power flow equation is satisfied, and Max |ΔV| is below a specified convergence ξ, ( 0.01 > ξ > 0.0001). Some methods include the possibility to apply acceleration factors to either accelerate or decelerate the rate of convergence to a solution by updating voltages as follows:

Vnew = Vold + a*(Vnew-Vold); where: 0.7 £ a £ 1.5

A widely used criterion is the power mismatch check, ΔP. The sum of power into and out of a bus should be as close to zero for convergence (Kirchhoff’s Law). At every iteration, the error in the algebraic sum of power at each bus is computed. This error, called power mismatch, is a measure of how close the computed voltages are to the actual solution. Usually, it is required that ΔP be less than ξ, a small parameter. The number of iterations required to reach the solution depends on the convergence criteria.


The Gauss-Seidel Method calculates complex voltages at each bus as functions of the active and reactive power of load buses. For a generator bus (P, V are specified), the reactive power can be computed when it is within the limits of the generator (max, min), and is used to update the generator voltage to satisfy the scheduled voltage. However, if the reactive power, Q, exceeds any limit (max/min), then Q it is set to the limit and the scheduled voltage cannot be maintained.


Another powerful method is the Newton-Raphson method. The main steps are as follows:

  1. Assign initial values to voltages (i.e.,V0 = Vold= 1 p.u.);
  2. Compute powers Pi(V=Vold);
  3. Compute the power mismatch ΔP = Pi – Pi(Vold);
  4. Estimate new voltages using:

[Vnew] = [Vold] + [J]-1 [ΔP]

where [J] is known as the Jacobian matrix comprised of first derivatives of power with respect to voltage.

Repeat steps 2 to 4, until the mismatch is less than a desired tolerance.

Interior Point Newton

The Interior Point Newton method uses a second order approximation of the nodal equations to improve the convergence characteristics of the power flow solution. It is essemntially the same as the Newton-Raphson method except that when the solution is not converging, the second order matrix, [H], also known as the Hessian matrix, is applied to keep the solution within a feasible range of values.

For more on the concept of convergence, please see the following Blogs: