The Power Flow Problem: James D. Mccalley, Iowa State University
The Power Flow Problem: James D. Mccalley, Iowa State University
The Power Flow Problem: James D. Mccalley, Iowa State University
T7.0 Introduction
The power flow problem is a very well known problem in the field of power systems engineering, where
voltage magnitudes and angles for one set of buses are desired, given that voltage magnitudes and power
levels for another set of buses are known and that a model of the network configuration (unit commitment
and circuit topology) is available. A power flow solution procedure is a numerical method that is employed
to solve the power flow problem. A power flow program is a computer code that implements a power flow
solution procedure. The power flow solution contains the voltages and angles at all buses, and from this
information, we may compute the real and reactive generation and load levels at all buses and the real and
reactive flows across all circuits. The above terminology is often used with the word “load” substituted for
“power,” i.e., load flow problem, load flow solution procedure, load flow program, and load flow solution.
However, the former terminology is preferred as one normally does not think of “load” as something that
“flows.”
The power flow problem was originally motivated within planning environments where engineers
considered different network configurations necessary to serve an expected future load. Later, it became an
operational problem as operators and operating engineers were required to monitor the real-time status of
the network in terms of voltage magnitudes and circuit flows. Today, the power flow problem is widely
recognized as a fundamental problem for power system analysis, and there are many advanced, commercial
power flow programs to address it. Most of these programs are capable of solving the power flow program
for tens of thousands of interconnected buses. Engineers that understand the power flow problem, its
formulation, and corresponding solution procedures are in high demand, particularly if they also have
experience with commercial grade power flow programs.
The power flow problem is fundamentally a network analysis problem, and as such, the study of it provides
insight into solutions for similar problems that occur in other areas of electrical engineering. For example,
integrated circuit designers also encounter network analysis problems, although of significantly smaller
physical size, are quite similar otherwise to the power flow problem. For example, references [1,2] are
well-known network analysis texts in VLSI design that also provide good insight into the numerical
analysis needed by the power flow program designer. Similarly, there are numerous classical power system
engineering texts, [3-11] are a representative sample, that provide advanced network analysis methods
applicable to VLSI design and analysis problems.
Section T7.1 identifies a feature of power generators important to the power flow problem – real and
reactive power limits. Section T7.2 defines some additional terminology necessary to understand the power
flow problem and its solution procedure. Section T7.3 introduces the so-called network “Y-bus,” otherwise
known more generally as the network admittance matrix. Section T7.4 develops the power flow equations,
building from module T1 where equations for real and reactive power flow across a transmission line were
introduced. Section T7.5 provides an analytical statement of the power flow problem. Section T7.6 uses a
simple example to introduce the Newton-Raphson algorithm for solving systems of non-linear algebraic
equations. Section T7.7 illustrates application of the Newton-Raphson algorithm to the power flow
problem. Section T7.8 provides an overview of several interesting and advanced attributes of the problem.
Section T7.9 summarizes basic power flow input and output quantities and provides an example associated
with a commercial power flow program.
corresponds to the maximum reactive power that the generator may produce when operating with a lagging
power factor. The minimum reactive power capability corresponds to the maximum reactive power the
generator may absorb when operating with a leading power factor. These limitations are a function of the
real power output of the generator, that is, as the real power increases, the reactive power limitations move
closer to zero. The solid curve in Figure T7.1 is a typical generator capability curve, which shows the
lagging and leading reactive limitations (the ordinate) as real power is varied (the abscissa). Most power
flow programs model the generator reactive capabilities by assuming a somewhat conservative value for
Pmax (perhaps 95% of the actual value), and then fixing the reactive limits Qmax (for the lagging limit) and
Qming (for the leading limit) according to the dotted lines shown in Fig. T2.1.
Q lagging
Approximate operation
Q-limits of
each generator Qmax
using dotted
box. Pmax
P
Qmin
leading
operation
T7.2 Terminology
Bulk high voltage transmission systems are always comprised of three phase circuits. However, under
balanced conditions (the currents in all three phases are equal in magnitude and phase separated by 120),
For pf analysis, we may analyze the three phase system using a per-phase equivalent circuit consisting of the a-phase and
we use per- the neutral conductor. Per-unitization of a per-phase equivalent of a three phase, balanced system results in
phase circuits the per-unit circuit. It is the per-unitized, per-phase equivalent circuit of the power system that we use to
in the per-unit formulate and solve the power flow problem. For the remainder of this module, we will assume that all
quantities are in per-unit. The reader unfamiliar with per-phase equivalent circuits or the per-unit system
system.
should refer to modules B3 and B4, respectively.
One-line It is convenient to represent power system networks using the so-called one-line diagram, which can be
diagram: per- thought of as the circuit diagram of the per-phase equivalent, but without the neutral conductor (module B3
phase circuit also provides additional background on the one-line diagram). Figure T7.2 illustrates the one-line diagram
diagram without of a small transmission system.
neutral.
Fig. T7.2 illustrates several important elements of the power flow problem. First, one notices we may
categorize each bus depending on whether generation and/or load is connected to it. Specifically, a bus may
have generation only (buses B1, B2, and B3), load only (buses B5, B7, and B9), or neither generation or
load (buses B4, B6, and B8). In addition, a bus may have both generation and load, although none of the
buses in Fig. 1 fall into this category. This categorization, which focuses on the load and generation, leads
us to define the term “bus injection” or more simply, “injection.” We will use this term frequently, and the
student is advised to carefully note its meaning, given and discussed in the following paragraph.
An injection is the power, either real or reactive, that is being injected into or withdrawn from a bus by an
element having its other terminal (in the per-phase equivalent circuit) connected to ground. Such an
element would be either a generator or a load. We define a positive injection as one where power is flowing
from the element into the bus (i.e., into the network); a negative injection is then when power is flowing
from the bus (i.e., from the network) into the element. Generators normally have positive real power
injections, although they may also be assigned negative real power injections, in which case they are
The Power Flow Problem 3
operating as a motor. Generators may have either positive or negative reactive power injections: positive if
the generator is operating lagging and delivering reactive power to the bus, negative if the generator is
operating leading and absorbing reactive power from the bus, and zero if the generator is operating at unity
power factor. Loads normally have negative real and reactive power injections, although they may also be
assigned positive real power injections in the case of very special modeling needs. Figure T7.3 (a) and (b)
illustrate the two most common possibilities. Figure T.7.3 (c) illustrates that we must compute a net
injection as the algebraic sum when a bus has both load and generation; in this case, the net injection for
both real and reactive power is positive (into the bus). Thus, the net real power injection is Pk=Pgk-Pdk, and
the net reactive power injection is Qk=Qgk-Qdk. We may also refer to the net complex power injection as
Sk=Sgk-Sdk, where Sk=Pk+jQk.
Real, reactive
power injection:
into bus: gen
out of bus: load
into bus is
defined positive.
(c)
Fig T7.3: Illustration of (a) positive injection, (b) negative injection, and (c) net injection
The Power Flow Problem 4
Although it is physically appealing to categorize buses based on the generation/load mix connected to it, we
need to be more precise in order to analytically formulate the power flow problem. For proper analytical
formulation, it is appropriate to categorize the buses according to what information is known about them
before we solve the power flow problem. For each bus, there are four possible variables that characterize
the buses electrical condition. Let us consider an arbitrary bus numbered k. The four variables are real and
reactive power injection, Pk and Qk, respectively, and voltage magnitude and angle, |Vk | and k,
respectively. From this perspective, there are three basic types of buses. We refer to the first two types
using terminology that remind us of the known variables.
PV Buses: For type PV buses, we know Pk and |Vk | but not Qk or k. These buses fall under the
category of voltage-controlled buses because of the ability to specify (and therefore to know) the
voltage magnitude of this bus. Most generator buses fall into this category, independent of whether it
also has load; exceptions are buses that have reactive power injection at either the generator’s upper
limit (Qmax) or its lower limit (Qmin), and (2) the system swing bus (we describe the swing bus below).
There are also special cases where a non-generator bus (i.e., either a bus with load or a bus with neither
generation or load) may be classified as type PV, and some examples of these special cases are buses
having switched shunt capacitors or static var systems (SVCs). We will not address these special cases
in this module. In Fig. T7.2, buses B2 and B3 are type PV. The real power injections of the type PV
buses are chosen according to the system dispatch corresponding to the modeled loading conditions.
The voltage magnitudes of the type PV buses are chosen according to the expected terminal voltage
settings, sometimes called the generator “set points,” of the units.
PQ Buses: For type PQ buses, we know P k and Qk but not |Vk | or k. All load buses fall into this
category, including buses that have not either load or generation. In Fig. T7.2, buses B4-B9 are all type
PQ. The real power injections of the type PQ buses are chosen according to the loading conditions
being modeled. The reactive power injections of the type PQ buses are chosen according to the
expected power factor of the load.
The third type of bus is referred to as the swing bus. Two other common terms for this bus are slack bus
and reference bus. There is only one swing bus, and it can be designated by the engineer to be any
generator bus in the system. For the swing bus, we know |V| and . The fact that we know is the reason
why it is sometimes called the reference bus. Physically, there is nothing special about the swing bus; in
fact, it is a mathematical artifact of the solution procedure. At this point in our treatment of the power flow
problem, it is most appropriate to understand this last statement in the following way. The generation must
supply both the load and the losses on the circuits. Before solving the power flow problem, we will know
all injections at PQ buses, but we will not know what the losses will be as losses are a function of the flows
on the circuits which are yet to be computed. So we may set the real power injections for, at most, all but
one of the generators. The one generator for which we do not set the real power injection is the one
modeled at the swing bus. Thus, this generator “swings” to compensate for the network losses, or, one may
say that it “takes up the slack.” Therefore, rather than call this generator a |V| bus (as the above naming
convention would have it), we choose the terminology “swing” or “slack” as it helps us to better remember
its function. The voltage magnitude of the swing bus is chosen to correspond to the typical voltage setting
of this generator. The voltage angle may be designated to be any angle, but normally it is designated as 0 o.
Check the
swing bus after A word of caution about the swing bus is in order. Because the real power injection of the swing bus is not
a solution to set by the engineer but rather is an output of the power flow solution, it can take on mathematically
ensure it is tractable but physically impossible values. Therefore, the engineer must always check the swing bus
within physical generation level following a solution to ensure that it is within the physical limitations of the generator.
limits.
T7.3 The Admittance Matrix
Current injections at a bus are analogous to power injections. The student may have already been
introduced to them in the form of current sources at a node. Current injections may be either positive (into
the bus) or negative (out of the bus). Unlike current flowing through a branch (and thus is a branch
quantity), a current injection is a nodal quantity. The admittance matrix, a fundamental network analysis
tool that we shall use heavily, relates current injections at a bus to the bus voltages. Thus, the admittance
matrix relates nodal quantities. We motivate these ideas by introducing a simple example.
The Power Flow Problem 5
Figure T7.4 shows a network represented in a hybrid fashion using one-line diagram representation for the
nodes (buses 1-4) and circuit representation for the branches connecting the nodes and the branches to
ground. The branches connecting the nodes represent lines. The branches to ground represent any shunt
elements at the buses, including the charging capacitance at either end of the line. All branches are denoted
with their admittance values yij for a branch connecting bus i to bus j and yi for a shunt element at bus i.
The current injections at each bus i are denoted by Ii.
1 y13 3 4
I1 y34
2 I4
y12 y23
Express current I2 I3
injections Ik using y1 y4
KCL. To be y2 y3
general, assume a
fully connected
network. Fig. T7.4: Network for Motivating Admittance Matrix
Kirchoff’s Current Law (KCL) requires that each of the current injections be equal to the sum of the
currents flowing out of the bus and into the lines connecting the bus to other buses, or to the ground.
Therefore, recalling Ohm’s Law, I=V/Z=VY, the current injected into bus 1 may be written as:
To be complete, we may also consider that bus 1 is “connected” to bus 4 through an infinite impedance,
which implies that the corresponding admittance y14 is zero. The advantage to doing this is that it allows us
to consider that bus 1 could be connected to any bus in the network. Then, we have:
Note that the current contribution of the term containing y14 is zero since y14 is zero. Rearranging eq. T7.2,
we have:
where we recognize that the admittance of the circuit from bus k to bus i is the same as the admittance from
bus i to bus k, i.e., yki=yik From eqs. (T7.3) and (T7.4), we see that the current injections are linear
functions of the nodal voltages. Therefore, we may write these equations in a more compact form using
matrices according to:
The matrix containing the network admittances in eq. (T7.5) is the admittance matrix, also known as the Y-
bus, and denoted as:
where the terms Yij are not admittances but rather elements of the admittance matrix. Therefore, eq. (T7.6)
becomes:
By using eq. (T7.7) and (T7.8), and defining the vectors V and I, we may write eq. (T7.8) in compact form
according to:
V1 I1
V I
I YV (T7.9)
V 2 , I 2
V3 I3
4
V I4
We make several observations about the admittance matrix given in eqs. (T7.6) and (T7.7). These
Y-bus observations hold true for any linear network of any size.
formulation 1. The matrix is symmetric, i.e., Yij=Yji.
rules. 2. A diagonal element Yii is obtained as the sum of admittances for all branches connected to bus i,
N
including the shunt branch, i.e., Yii y i y
k 1, k i
ik , where we emphasize once again that yik is non-
zero only when there exists a physical connection between buses i and k.
3. The off-diagonal elements are the negative of the admittances connecting buses i and j, i.e., Yij=-yji.
These observations enable us to formulate the admittance matrix very quickly from the network based on
visual inspection. The following example will clarify.
Example T7.1
Consider the network given in Fig. T7.5, where the numbers indicate admittances.
The Power Flow Problem 7
Sk=VkIk* (T.7.10)
From eq. (T7.8), we see that the current injection into any bus k may be expressed as
N
I k YkjV j (T7.11)
j 1
where, again, we emphasize that the Ykj terms are admittance matrix elements and not admittances.
Substitution of eq. (T7.11) into eq. (T7.10) yields:
Recall that Vk is a phasor, having magnitude and angle, so that Vk=|Vk|k. Also, Ykj, being a function of
admittances, is therefore generally complex, and we define Gkj and Bkj as the real and imaginary parts of
the admittance matrix element Ykj, respectively, so that Ykj=Gkj+jBkj. Then we may rewrite eq. (T7.12) as
N N N
S k Vk Ykj V j Vk k (Gkj jB kj ) * V j j Vk k (Gkj jB kj ) V j j
* * *
j 1 j 1 j 1 (T7.13)
N N
Vk k V j j (Gkj jB kj ) Vk V j ( k j ) (Gkj jB kj )
j 1 j 1
The Power Flow Problem 8
Recall, from the Euler relation, that a phasor may be expressed as complex function of sinusoids, i.e.,
V=|V|=|V|{cos+jsin}, we may rewrite eq. (T7.13) as
N
S k Vk V j ( k j ) (G kj jB kj )
j 1 (T7.14)
Vk V j cos( k j ) j sin( k j ) (G kj jB kj )
N
j 1
If we now perform the algebraic multiplication of the two terms inside the parentheses of eq. (T7.14), and
then collect real and imaginary parts, and recall that Sk=Pk+jQk, we can express eq. (T7.14) as two
equations, one for the real part, Pk, and one for the imaginary part, Qk, according to:
known.
j 1
The two equations of (T7.15) are called the power flow equations, and they form the fundamental building
block from which we attack the power flow problem.
It is interesting to consider the case of eqs. (T7.15) if bus k, relabeled as bus p, is only connected to one
other bus, let’s say bus q. Then the bus p injection is the same as the flow into the line pq. The situation is
illustrated in Fig. T7.6.
Series
Bus p admittance Bus q
G-jB
Bus
injection
Pp and Qp Line flow
Ppq and Qpq
2
Pp V p G pp V p Vq G pq cos( p q ) V p Vq B pq sin( p q )
(T7.16)
2
Q p V p B pp V p Vq G pq sin( p q ) V p Vq B pq cos( p q )
If the line pq admittance is y=G-jB1, as shown in Fig. T7.6, then Gpq=-G and Bpq=B (see eq. T7.6). If there
is no bus p shunt reactance or line charging, then Gpp=G and Bpp=B. Under these conditions, eqs. (T7.16)
become:
2
Pp V p G V p Vq G cos( p q ) V p Vq B sin( p q )
(T7.17)
2
Q p V p B V p Vq G sin( p q ) V p Vq B cos( p q )
1
We have defined the line pq admittance to be y=G-jB, instead of y=G+jB. The reason for defining in this way is because, since the
line admittance y always represents inductive susceptance, the imaginary part of y must be negative; therefore the definition used here
requires that B to be a positive number.
The Power Flow Problem 9
If we simply rearrange the order of the terms in the reactive equation, then we have:
2
Pp V p G V p Vq G cos( p q ) V p Vq B sin( p q )
(T7.18)
2
Q p V p B V p Vq B cos( p q ) V p Vq G sin( p q )
Let’s first define the vector of unknown variables. This we do in two steps. First, define the vector of
unknown angles (an underline beneath the variable means it is a vector or a matrix) and the vector of
unknown voltage magnitudes |V|.
2 |V NG 1|
|V |
3 , |V| NG 2 (T7.20)
N |V N|
Second, define the vector x as the composite vector of unknown angles and voltage magnitudes.
θ2 x1
θ x2
3
θ θ N x N 1
Solution
vector. x (T7.21)
|
V | |V N 1| x N
|V N 2| x N 1
G
G
|V | x2 N N 1
N G
With this notation, we see that the right-hand sides of eqs. (T7.19) depend on the elements of the unknown
vector x. Expressing this dependence more explicitly, we rewrite eqs. (T7.19) as
Compact
notation for PF Pk Pk ( x) , k 2,...,N
(T7.22)
eqts. LHS is a Qk Qk ( x) , k N G 1,...,N
number; RHS is
a function. In eqs. (T7.22), Pk and Qk are the specified injections (known constants) while the right-hand sides are
functions of the elements in the unknown vector x. Bringing the left-hand side over to the right-hand side,
we have that
Equation (T7.24) is in the form of f(x)=0, where f(x) is a vector-valued function and 0 is a vector of zeros;
both f(x) and 0 are of dimension (2N-NG-1)1, which is also the dimension of the vector of unknowns, x.
The mismatch
vector.
The Power Flow Problem 11
We have also introduced nomenclature representing the mismatch vector in eq. (T7.24), as the vector of
Pk’s and Qk’s. This vector is used during the solution algorithm, which is iterative, to identify how good
the solution is corresponding to any particular iteration. In the next section, we introduce this solution
algorithm, which can be used to solve this kind of system of equations. The method is called the Newton-
Raphson method.
Iterative
methods T7.6 The Newton-Raphson Solution Procedure
required to
solve this There are two basic methods for solving the power flow problem: Gauss-Siedel (GS) and Newton-Raphson
nonlinear (NR). Both of these methods are iterative root finding schemes.
algebraic
The GS and NR methods are often classified as root finding schemes because they are geared towards
system of
solving equations like f(x)=0 (or f(x)=0). The solution to such an equation, call it x* (or x*), is clearly a
equations. root of the function f(x) (or f(x)).
The methods are called iterative because they require a series of successive approximations to the solutions.
Method is The procedure is generally as follows. First, guess a solution. Unless we are very fortunate, the guess will
guess, be, of course, wrong. So we determine an update to the “old” solution that moves to a “new” solution with
check, the intention that the “new” solution is closer to the correct solution than was the “old” solution. A key
update, aspect to this type of procedure is the way we obtain the update. If we can guarantee that the update is
check, always improving the solution, such that the “new” solution is in fact always closer to the correct solution
update, than the “old” solution, then such a procedure can be guaranteed to work if only we are willing to compute
enough updates, i.e., if only we are willing to iterate enough times.
check, …
Commercial grade power flow programs may make several different solutions procedures available, but
Initial guess almost all such programs will have available, minimally, the NR method. It is fair to say that the NR
method has become the de-facto industry standard. The main reason for this is that the convergence
is very properties of the NR scheme are very desirable when the initial, guessed solution is quite good, i.e., when it
important. is chosen close to the correct solution. In the power flow problem, it is usually possible to make a good
If you guess initial guess regarding the solution. One reason for this is that often, we may actually know the solution of a
poorly, you particular set of conditions because we have already gone through the solution procedure, and we want to
may get resolve for a set of conditions that are almost the same as the previous ones, e.g., maybe remove one circuit
wrong or change the load level a little. In this case, we may utilize the previous solution as the initial guessed
solution or solution for the new conditions. This is sometimes referred to as a “hot” start. But even if we do not have a
no solution. previous solution, we still may do very well with our guess. The reason for this is that the power flow
problem is always solved with all quantities in per-unit. Because of the way we choose per-unit voltage
bases, the per-unit voltages for all buses, under any reasonably normal condition, will be close to 1.0 per-
Divergence unit. Of course, this tells us nothing about the angles, but it is something, and often it is enough to simply
indicates guess that all voltages are 1.0 per-unit and all angles are 0 degrees. This is sometimes called a “flat” start.
bad initial
guess or no But what are “convergence properties” of a root finding method? There are basically two of them. One is
solution. whether the method will converge. The second one is how fast the method will converge. For NR, whether
No solution the method will converge depends on two things: how close the guessed solution is to the correct solution
may be due and the nature of the function close to the correct solution. If the guessed solution is close, and if the
to stressed function is reasonably “smooth” close to the correct solution, then the NR will converge. Not only that, but
it will converge quadratically. Quadratic convergence means that each iteration increases the accuracy of
condition or
the solution by two decimal places. For example, if the correct solution for a particular problem is
bad data. 0.123456789, and we guess 0.100000000, then the first iteration will yield 0.123xxxxxx, the second
iteration will yield 0.12345xxxx, the third iteration will yield 0.1234567xx, and the correct solution will be
obtained exactly on the fourth iteration.
In this module, we will not discuss the GS method, but the interested reader may find information about it
in many texts on power systems analysis or in books on numerical methods. We will introduce the NR
method with a simple illustration, obtained from [3].
The Power Flow Problem 12
Example T7.2
Numerical Consider the scalar function f(x)=x2-5x+4. This function may be easily factored to find the roots as x*=4,1.
illustration Let us now illustrate how the NR method finds one of these roots. We first need the derivative: f”(x)=2x-5.
of N-R Assume we are bad guessers, and try an initial guess of x (0)=6. The following provides the first two
procedure iterations:
for a single 1. f(x(0))=f(6)=62-5(6)+4=10
variable 2. f”(x(0))=f’(6)=2(6)-5=7
root finding 3. x(0)= -f(x(0))/f’(x(0))= -10/7=-1.429
problem. 4. x(1)=x(0)+x(0)=6+(-1.429)=4.571
1. f(x(1))=f(4.571)=2.03904
2. f”(x(1))=f’(4.571)=4.142
3. x(1)= -f(x(1))/f’(x(1))= -2.03904/4.142=-0.492284
4. x(2)=x(1)+x(1)=4.571+(-0.492284)=4.0787
One more iteration yields x(3)=4.002. Note that by the third iteration, as it is getting very close to the correct
solution, the algorithm has almost obtained quadratic convergence. Fig. T7.7 illustrates how the first
solution x(1) is found from the initial guessed solution x(0) during the first iteration of this algorithm.
The NR algorithm is not smart enough to know which root you want, rather, it generally finds the closest
root. This is another reason for making a good initial guess in regards to the solution. Fortunately, in the
case of the power flow problem, alternative solutions are typically “far away” from initial guesses that have
near-unity bus voltage magnitudes. On the other hand, it is possible for the solution to diverge, i.e., not to
converge at all. This may occur if there is simply no solution, which is a case that engineers encounter
frequently when studying highly stressed loading conditions served by weak transmission systems. It also
might occur if the initial guessed solution is too far away from the correct solution. For this reason, “flat”
starts encounter solution divergence more frequently than “hot” starts.
If your initial guess is 2.5,
Graphical the derivative is 0, and the
illustration algorithm fails (corresponds
of NR to matrix singularity in the
iteration 1 multi-dimensional case). If
for a single your initial guess is >2.5,
variable you get the solution 4. If
root finding your initial guess is <2.5,
problem. you get the solution 1.
x(1) x(0)
Next, we develop the NR update formula. We begin with the scalar case, where the update formula may be
easily inferred from Example T7.2.
The Power Flow Problem 13
Assume that we have guessed a solution x(0) to the problem f(x)=0. Then f(x(0))0 because x(0) is just a
guess. But there must be some x(0) which will make f(x(0) + x(0))=0. One way to study this problem is to
expand the function f(x) in a Taylor series, as follows:
TSE for
1
scalar case. f ( x ( 0) x ( 0) ) f ( x ( 0) ) f ' ( x ( 0) )x ( 0) f ' ' ( x ( 0) )(x ( 0) ) 2 ... 0 (T7.25)
2
If the guess is a good one, then x(0) will be small, and if this is true, then (x(0))2 will be very small, and
any higher order terms (h.o.t.) in eq. (T7.25), which will contain x(0) raised to even higher powers, will be
infinitesimal. As a result, it is reasonable to approximate eq. (T7.25) as
Approximation
depends on a f ( x (0) x (0) ) f ( x (0) ) f ' ( x (0) )x (0) 0 (T7.26)
good guess.
Taking f(x(0)) to the right hand side, we have
Correction formula.
x (0) f ' ( x (0) ) 1
f ( x ( 0) ) (T7.28)
Because f ’(x(0)) in eq. (T7.28) is scalar, it’s inverse is very easily evaluated using simple division so that:
f ( x ( 0) )
x ( 0) (T.29)
f ' ( x (0) )
Equation (T7.28) provides the basis for the update formula to be used in the first iteration of the scalar NR
method. This update formula is:
f ( x (0) )
x (1)
x (0)
x ( 0)
x ( 0)
(T7.30)
f ' ( x ( 0) )
and from eq. (T7.28), we may infer the update formula for any particular iteration as:
f (x( j) )
Update formula. x ( j 1) x ( j ) x ( j ) x ( j ) (T7.31)
f '(x( j) )
Next we develop the update formula for the case where we have n equations and n unknowns. We call this
the multidimensional case.
Assume we have n nonlinear algebraic equations and n unknowns characterized by f(x)=0, and that we
have guessed a solution x(0). Then f(x(0))0 because x(0) is just a guess. But there must be some x(0) which
will make f(x(0) + x(0))=0. Again, we expand the function f(x) in a Taylor series, as follows:
The Power Flow Problem 14
1
x ) f1 ( x ) f1 ' ( x ) x f1 ' ' ( x )( x ) 2 ... 0
( 0) ( 0) (0) (0) ( 0) ( 0) (0)
f1 ( x
2
1
x ) f 2 ( x ) f 2 ' ( x ) x f 2 ' ' ( x )( x ) 2 ... 0
( 0) ( 0) (0) ( 0) (0) ( 0) ( 0)
f2 (x (T7.32)
2
1
x ) f n ( x ) f n ' ( x ) x f n ' ' ( x )( x ) 2 ... 0
( 0) ( 0) ( 0) (0) ( 0) (0) ( 0)
fn (x
2
Equations (T7.32) may be written more compactly as
1
x ) f ( x ) f ' ( x ) x f ' ' ( x )( x ) 2 ... 0
( 0) (0) (0) (0) ( 0) ( 0) ( 0)
f (x (T7.33)
2
Assuming the guess is a good one such that x(0) is small, then the higher order terms are also small and we
can write
What is f’(x)? f (x
( 0)
x ) f ( x ) f ' ( x ) x
( 0) ( 0) ( 0) ( 0)
0 (T7.34)
One reasonable question to ask at this point is: “Just what is f’(x(0)) ?” That is, what is the derivative of a
vector-valued function of a vector? Since we have n functions and n variables, we could compute a
derivative for each individual function with respect to each individual unknown, like fk(x)/xj, which
gives the derivative of the kth function with respect to the jth unknown. Thus, there will be a number of such
derivatives equal to the product of the number of functions by the number of unknowns, in this case, nn.
Thus, it is convenient to store all of these derivatives in a matrix. This matrix has become quite well-known
as the Jacobian matrix, and it is often denoted using the letter J. But how should the nn derivatives be
stored in this matrix J?
The rows of J should be ordered in the same order as the functions, that is, the k th row should contain the
derivatives of the kth functions. In eq. (T7.34), since the product f’(x(0)) x(0) must provide a correction to
the function f(x(0)+x(0)), i.e., since f(x(0)) = f’(x(0)) x(0), it must be the case that any row of the matrix J
must be ordered so that the term in the jth column contains a derivative with respect to the jth unknown of
the vector x.
The reasoning in the last paragraph suggests that we write the Jacobian matrix as:
f1 ( x ( 0 ) ) f1 ( x )
( 0)
f1 ( x )
( 0)
x1( 0 ) x2 xn
f 2 ( x ) f 2 ( x )
(0)
f 2 ( x )
(0)
J x
The Jacobian matrix… 1 x2 xn (T7.35)
f n ( x ) f n ( x ) f n ( x )
(0) (0) (0)
x
1 x2 xn
f ' ( x ) x f (x )
( 0) ( 0) ( 0)
(T7.36)
x
( 0)
f '(x )
( 0)
1
f (x ) J
( 0) 1
f (x )
( 0)
(T7.38)
Equation (T7.38) provides the basis for the update formula to be used in the first iteration of the multi-
dimensional case. This update formula is:
1
x x x J
(1) ( 0) ( 0) ( 0) ( 0)
x f (x ) (T7.39)
and from eq. (T7.39), we may infer the update formula for any particular iteration as:
( i 1) 1
The update formula. x x x J
(i ) (i ) (i ) (i )
x f (x ) (T7.40)
For problems of relatively small dimension, where the inverse of the Jacobian is easily obtainable, eq.
(T7.40) is an appropriate update formula. In general, however, it is a good rule, in programming, to always
avoid matrix inversion if at all possible, because for high-dimension problems, as is usually the case for
large scale power networks, matrix inversion is very time consuming. We always want to avoid matrix
But to avoid inversion if possible, and it usually is.
matrix
inversion, we To see how to avoid matrix inversion, we will state the update formula a little differently. To do this, we
write the update write eq. (T7.40) as
formula like
( i 1)
x x
(i ) (i )
this x (T7.41)
where the
correction is where x(i) is found from
computed from
this
Jx f (x )
(i ) (i )
(T7.42a)
Equation (T7.42a) is a very simple relation. Observing that J is just a constant n×n matrix, x(i) is an n×1
vector of unknowns, and f(x(i)) is an n×1 vector of knowns, we see that eq. (T7.42) is just the linear matrix
A system of equation
linear A z=b (T7.42b)
equations!
There are a very many methods of solving (T7.42b). We will cover this topic later in these notes. First,
however, let’s illustrate the Newton-Raphson procedure for a multi-dimensional case. We will use the
simplest multi-dimensional case we can, a two-variable problem.
Example T7.3
Define the functions f1(x1,x2)= 2x12+x1x2-x1-2 and f2(x1,x2)= x12 -x2. Then the Jacobian matrix is:
f1 ( x1 , x2 ) f1 ( x1 , x2 )
x x2 2 x1 x2 1 x1
J 1
2 1 , x2 )
f ( x f 2 ( x1 , x2 ) 2 x1 1
x1 x2
Let’s act like we do not know the solution and guess at (x1(0), x2(0))=(0.9,1.1). Then the Jacobian J,
evaluated at this guessed solution, is
2 x x2 1 x1 1.9 0.9
J ( x1 , x2 ) 1
(0) ( 0)
1 x( 0 ) 1.8 1
2 x1
Inverting the Jacobian results in:
1
1 1.9 0.9 1 1 0.9 0.28409 0.25568
3.52 1.8 1.9 0.51136 0.53977
J
1.8 1
We also need to evaluate:
f ( x ( 0 ) ) 2 x x x x 2 0.11
f ( x ) 1 ( 0) 1 12 2 1
(0)
x1 x2
f 2 ( x ) x( 0 ) ( 0.9,1.1) 0.29
One of these In general, of course, we usually need to iterate several times in order to obtain a satisfactory solution. How
many times is enough? The NR algorithm must employ a stopping criterion in order to determine when the
two stopping
solution is satisfactory. There are two ways to do this.
criterion may be
Type 1 stopping criterion: Test the maximum change in the solution elements from one iteration to the
applied. next, and if this maximum change is smaller than a certain predefined tolerance, then stop. This means
Type 1: x to compare the maximum absolute value of elements in x against a small number, call it 1. In
Type 2: f(x)
example (T7.3), x = [-0.105397, 0.100284]T, so the maximum absolute value of elements in x is
0.105397. If we had 1=0.15, we could stop. But if we had 1=0.05, we would need to continue to the
Type 2 is “power
next iteration.
mismatch” and
Type 2 stopping criterion: Test the maximum value in the function elements of the most current
gives indication
iteration f(x), and if this maximum value of elements in f(x) is smaller than a certain predefined
of where
convergence tolerance, then stop. This means to compare the maximum absolute value of elements in f(x) against a
problems may lie. small number, call it 1. In example (T7.3), f(x)=[-0.11, -0.29]T, so the maximum absolute value of
elements in f(x) is 0.29. If we had 1=0.3, we could stop. But if we had 1=0.2, we would need to
continue to the next iteration. This is the most common stopping criterion for power flow solutions,
and the value of each element in the function is referred to as the “power mismatch” for the bus
The Power Flow Problem 17
corresponding to the function. For type PQ buses, we test both real and reactive power mismatches.
For type PV buses, we test only real power mismatches.
f1 ( x ) P2 ( x) P2 P2 0
Mismatch
vector.
f N 1 ( x) PN ( x) PN PN 0
P
f ( x) 0
(T7.24)
Q
f N ( x) Q N G 1 ( x) Q N G 1 Q NG 1 0
f 2 N N G 1 ( x) Q N ( x) Q N Q N 0
θ2 x1
θ x2
Solution vector. 3
θ θ N x N 1
x (T7.21)
|V| |V NG 1| x N
|V N 2| x N 1
G
|V | x2 N N 1
N G
The solution update formula is given by eq. (T7.40), repeated here for convenience:
( i 1) 1
x x x J
(i ) (i ) (i ) (i )
x f (x ) (T7.40)
Clearly, an essential step in applying NR to the power flow problem is to enable calculation of the Jacobian
elements, given for the general case by eq. (T7.35) as
The Power Flow Problem 18
f1 ( x ( 0 ) ) f1 ( x )
( 0)
f1 ( x )
( 0)
Jacobian.
n×n differentiations? x1( 0 ) x2 xn
f 2 ( x ) f 2 ( x )
(0)
f 2 ( x )
(0)
J x
Observation:
1 x2 xn (T7.35)
Only 2 kinds of
equations (P, Q)
f n ( x ) f n ( x ) f n ( x )
(0) (0) (0)
Only 2 kinds of x
unknowns (|V|, θ) 1 x2 xn
Evaluation of these elements is facilitated by the recognition, from eq. (T7.24), that there are only two
kinds of equations (real power equations and reactive power equations), and from eq. (T7.21), that there are
only two kinds of unknowns (voltage angle unknowns and voltage magnitude unknowns). Therefore, there
are only four basic types of derivatives in the Jacobian. We denote four sub-matrices
corresponding to these four basic types of derivatives as JP, JQ, JPV, JQV, where the first
superscript indicates the type of equation we differentiate, and the second superscript indicates
the unknown with respect to which we differentiate. Therefore,
Study dimensionality
Compact expression of of each sub-matrix.
Jacobian using above ( N 1)( N 1)
( N 1)( N N G )
observation.
( 2 N 1 N G )( 2 N 1 N G )
J P J
PV
J ( N NG )( N 1) (T7.43)
Q
( N N G )( N N G )
Still n×n differentiations,
J
QV
J
but are differentiations of
same form?
The numbers above each sub-matrix in eq. (T7.43) indicate its dimensions, which can be inferred by
Subscripts identifying the number of equations of that type (the number of rows of the sub-matrix) and the number of Subscripts j, k
refer to bus unknowns of that type (the number of columns of the sub-matrix). We may then identify an individual are not row &
numbers, not element of each sub-matrix as: column
matrix number due to
location. P Pj Q Q j Pj Q j (a) removing pf
PV QV
Software needs J jk J jk J jk J jk (T7.44) eq & θ for bus
k k Vk Vk 1; (b) stacking
to track
relation Q eqs & V-
between bus Notationally, observe that the element JjkP is not the element in row j, column k of the submatrix JP, rather variables on
it is the derivative of the real power injection equation for bus j with respect to the angle of bus k. Since the top of P eqs &
numbers &
swing bus is numbered 1, the Jacobian matrix will have J 22P as the element in row 1, column 1. The θ variables.
matrix location situation is similar for the other submatrices.
J P θ J PV |V | P
(T7.42e)
J Q θ J QV |V | Q
To get the needed derivatives, it is helpful to more explicitly write out the functions of eq. (T7.24). They
are:
V2 V j G2 j cos 2 j B2 j sin 2 j P2
N
P2 ( x) P2 j 1
N
PN ( x) PN VN V j G Nj cos N j BNj sin N j PN
(T7.45)
Mismatch
j 1
f ( x)
vector.
QNG 1 ( x) QNG 1 V
N
j 1
N G 1 V j G N G 1, j sin N G 1 j B N G 1, j sin N G 1 j PN G 1
Q ( x ) Q
N N N
j 1
V N V j G N, j sin N j B N, j sin N j P N
98 million So each of the four sub-matrices of eq. (T7.43) has elements given by the expressions of eq. (T7.44),
differentiations respectively. These expressions are evaluated by taking the appropriate derivatives of the functions in eq.
for a 5000 bus (T7.45). One might think that this represents a formidable problem, since, based on eq. (T7.43), we have
model. (2N-1-NG)(2N-1-NG) elements in the Jacobian and therefore the same number of derivatives to evaluate.
9 billion A typical power flow model for a US control area might have 5000 nodes (N=5000) and 1000 generators
differentiations (NG=1000), resulting in a 98989898 Jacobian matrix containing 97,970,404 elements, with each element
for a 50000 bus requiring a differentiation of a function like those represented in eq. (T7.45). For a power flow model
model. having 50000 nodes and 5000 generators, the dimension is 9499894998, giving 9,024,600,000 elements.
Fortunately, all of the derivatives can be expressed by one of just a few differentiations. At first glance,
8 basic one might think that there would be four differentiations, one for each sub-matrix. However, for each sub-
derivative matrix, the off-diagonal terms, with jk, are expressed differently than the diagonal terms, with j=k.
expressions: for Therefore, there are eight differentiations to perform. The student should attempt to obtain a few of these
each of 4 expressions. In doing so, the following tips are helpful.
submatrices, we Before differentiating, it is helpful to pull out from the summation the term that corresponds to the bus
need diagonal injection being computed.
& off-diagonal When differentiating a sum of terms with respect to a particular unknown, the resulting derivative will
expressions. be non-zero only for those terms in which the unknown appears.
When differentiating with respect to the angles, the chain rule must be properly applied to account for
the derivatives of the trigonometric functions and the arguments of those trigonometric functions.
Each of the functions appear in the form of f(x)=g(x)-A. Because A is a constant (represented by
P2,…, PN and QNg+1,…, QN in eq. (T7.45)), it has no effect on the resulting derivatives.
The resulting expressions are given below.
Pj ( x)
V j Vk G jk sin( j k ) B jk cos( j k )
P
Observe T7.47 & J jk (T7.47)
T7.53 are similar. k
These are off-diagonal P Pj ( x) 2
elements in JPθ & JQV, J jj Q j ( x) B jj V j (T7.48)
j
bolded below.
J Pθ J PV θ P
Qθ QV |V| Q j ( x)
J Q
V j Vk G jk cos( j k ) B jk sin( j k )
J Q
J jk (T7.49)
How many elements is k
this? Can we do
something smart here?
The Power Flow Problem 20
Q Q j ( x) 2
J jj Pj ( x) G jj V j (T7.50)
k
Pj ( x)
Observe T7.49 & V j G jk cos( j k ) B jk sin( j k )
PV
J jk (T7.51)
T7.51 are similar. Vk
These are off-diagonal
elements in JQθ & JPV, Pj ( x) Pj ( x)
G jj V j
PV
J jj (T7.52)
bolded below. Vj Vj
J Pθ J PV θ P
Qθ QV |V|
Q j ( x)
J J Q V j G jk sin( j k ) B jk cos( j k )
QV
J jk (T7.53)
How many elements is Vk
this? Can we do
Q j ( x) Q j ( x)
something smart here? B jj V j
QV
J jj (T7.54)
Vj Vj
We are now in a position to provide the algorithm for using NR to solve the power flow problem. Before
doing so, it is helpful to more explicitly define the mismatch vector, from eq. (T7.24) or (T7.45) as:
f1 ( x) P2 ( x) P2 P2
f N 1 ( x) PN ( x) PN PN P
f ( x) 0 (T7.53)
f N ( x) Q NG 1 ( x) Q NG 1 Q NG 1 Q
f 2 N NG 1 ( x) Q N ( x) Q N Q N
Factorization: method to P P
solve linear simultaneous
equations. We will look a J
( j)
x
( j)
or x
( j)
J
(j) -1
Q Q
little more at this issue.
where we must use factorization with the left equation if the system is large, but if the system is
not large, we may use the right hand equation.
Compute the updated solution vector as x(j+1)= x(j)+ x(j).
Return to step 3 with j=j+1.
6. Stop.
The above algorithm is applicable as long as all PV buses remain within their reactive limits. To account
for generator reactive limits, we must modify the algorithm so that, at each iteration, we check to ensure
PV bus reactive generation is within its limits (see Section T7.1 regarding modeling of reactive limits). In
this case, steps 1-4 remain exactly as given above, but we need a new step 5 and 6, as follows:
Another way is to let algorithm
5. Check reactive limits for all generator buses as follows:
converge, check limits, make
a. For all type PV buses, perform the following test:
changes, & repeat. But checking
If Qgk>Qgk,max, then
Is there a PV bus Qgk=Qgk,max and CHANGE bus k to a type PQ bus (see step 6a) every iteration provides increased
that should be PQ? If Qgk< Qgk,min, then convergence robustness.
Qgk=Qgk,min and CHANGE bus k to a type PQ bus (see step 6b)
b. For all type PQ generator buses, perform the following test: Is there a PQ gen-bus, which was
If Qgk=Qgk,max and |Vk|>|Vk,set| or if Qgk=Qgk,min and |Vk|<|Vk,set|, then a PV bus, that should be now be
CHANGE this bus back to a type PV bus (see step 6b) PV again?
6. If there were no CHANGES in Step 5, then stop. If there were one or more CHANGES in step 5, then
modify the solution vector and the mismatch vector as follows:
a. For each CHANGE made in step 5-a (changing a PV bus to a PQ bus):
NG=NG-1
Include the variable Vk to the vector x and the variable Vk to the vector x.
Include the reactive equation corresponding to bus k to the vector f(x).
Modify the Jacobian by including a column to JPV and including a row to JQ and JQV.
b. For each CHANGE made in Step 5-b (changing a PQ gen bus back to a PV bus):
NG=NG+1
Remove the variable Vk to the vector x and the variable Vk from the vector x.
Remove the reactive equation corresponding to bus k from the vector f(x).
Modify the Jacobian by removing a column to JPV and removing a row from JQ and JQV.
After modifications have been made for all CHANGES, go back to Step 4.
Does this equation account for
When the algorithm stops, then all line flows may be computed using shunt elements or line charging?
Should it?
S jk V j I jk V j [V j Vk ]* y jk
* *
Find 2, V3 , 3, SG1, and QG2 for the system shown in Fig. T7.8. In the transmission system all the shunt
elements are capacitors with an admittance yc = j0.01, while all the series elements are inductors with an
impedance of zL = j0.1.
The Power Flow Problem 22
SG1 PG2=0.6661
|V2|=1.05
V1=10
Fig. T7.8: Three Bus System for Example T7.4 Observe: (1) no real
parts due to neglect of
Solution: The admittance matrix for the system shown in Fig. E10.6 is given by resistance; (2) diagonals
are negative (inductive
j19.98 j10 j10 admittance), (3) off-
Y j10 j19.98 j10 diagonals are positive
(negated inductive
j10 j10 j19.98 admittance)
Bus 1 is the swing bus. Bus 2 is a PV bus. Bus 3 is a PQ bus. We use the NR method in the solution. The
unknown variables are 2, 3, and |V3|. Thus, we will need three equations, and the Jacobian is a 3 x 3
matrix.
We first write eq. (T7.45) for the case at hand, putting in the known values of |V 1|, |V2|, 1, and the Bij’s.
Note that since we have neglected line resistance in the problem statement, all G ij’s are zero.
The equation for Q2(x) will not help since we do not know the reactive injection for bus 2, and its inclusion
would bring in the reactive injection on the left-hand side as an additional unknown. But this loss of an
equation is compensated by the fact that we know |V2| (and this will always be the case for a type PV bus).
So we do not need to write the equation for Q2(x). Yet, because bus 3 is a type PQ bus, we do know its
reactive injection, and so we will know the left hand side of the reactive power flow equation. This is
fortunate, since we do not know |V3| (and this will always be the situation for a type PQ bus).
The Power Flow Problem 23
Q3 (x) V3 V1 B31 cos( 3 1 ) V3 V2 B32 cos( 3 2 ) V3 B33
2
= -10V cos
(T7.54c)
2
3 3 10.5 V3 cos(3 2 ) 19.98V3
We obtain the various partial derivatives for the Jacobian from eqs. (T7.54a,b,c):
P2
V2 V1 B21cos 2 1 V2 V3 B23cos 2 3 = 10.5cos 2 10.5V3 cos 2 3
2
P2
V2 V3 B23cos 2 3 = -10.5V3 cos 2 3
3
P2
V2 B23sin 2 3 = 10.5sin 2 3
V3
P3
10.5V3 cos 3 2
2
P3
10.0 V3 cos 3 10.5V3 cos 3 2
3
P3
10sin 3 10.5sin 3 2
V3
Q3
10 V3 V2 sin 3 2 10.5V3 sin 3 2
2
Q3
10 V3 sin 3 10 V3 V2 sin 3 2 = 10 V3 sin 3 10.5V3 sin 3 2
3
The Power Flow Problem 24
Q3
V1 B31cos 31 V2 B32cos 32 V3 B33 V3 B33
V3
= 10cos 3 10.5cos 3 2 39.96 V3 Injections come from
one-line diagram.
We are ready to start iterating using (T7.40). We note that the injections, to be used on the left hand side of
eqs. (T7.54a,b,c) are P2 = PG2 = 0.6661, P3 = -PD3 = -2.8653, and Q3 = -QD3 = -1.2244; these quantities
remain constant through the entire iterative process. We use a flat start; therefore our initial guess is
2=3=0 and |V3|=1.0.Using eqs. (T7.53) and (T7.54a,b,c) we get:
P2
(0)
P 0 0.6661 0.6661
P2 x ( 0)
P 0 2.8653 2.8653
2
f ( x ) P3 P3 x
(0) (0)
Note that the Jacobian sub-matrices JPV and JQ are both filled with zeros. This is because when resistance
is neglected, these derivatives depend on sin terms, and because this is the first iteration of a flat start, all
angles are zero and therefore the sin terms are all zero.
As mentioned, commercial power flow programs normally use LU factorization to obtain the update. In this
case, however, because of the low dimensionality, we may invert the Jacobian. Taking advantage of the
block diagonal structure, we have:
21 10.5
1
0 0.0640 0.0328 0
J 10.5 20.5 0 0
1
0.0328 0.0656
0 0 19.461 0 0 0.0514
Now we compute:
P2
2 P 0.0640 0.0328 0 0.6661 0.0513
3
x 3 J
0.0328 0.0656 0 2.8653 0.1660
( j) -1
Q
| V3 | 3
0 0 0.0514 0.7044 0.0362
Here we inverted J but for larger systems,
Angular measures
you should always use factorization. are in radians.
The elements of the update vector corresponding to angles are in radians. We can easily convert them to
degrees:
The Power Flow Problem 25
x x x 0 - 9.5139 o - 9.5139 o
(1) (0) ( 0)
We proceed to the next iteration using the new values 2(1)=-2.9396, 3(1)=-9.5139, and |V3|(1)=0.9638.
Substituting in eq. (T7.54a), we get P2(x(1)) = 0.6202, and thus P2(1)= 0.6202-0.6661=-0.0459. Similarly,
using eqs. (T7.54b) and (T7.54c), we get the updated mismatch vector:
P1 0.0463
P 0.1145
2
Q3 0.2251
Note that, in just one iteration, the mismatch vector has been reduced by a factor of about 10. Calculating J
using the updated values of the variables, we find that
Now the JPV and JQ terms are non-zero since angles
are no longer all zero. But it is interesting that this
20.5396 10.0534 1.2017 Jacobian differs very little from initial one, below.
J 10.0534 19.5589 2.8541 21 10.5 0
J 10.5 20.5 0
1.1582 2.7508 18.2199
0 0 19.46
The matrix should be compared with J from the previous iteration. It has not changed much. The elements
in the off-diagonal matrices JPV and JQ are no longer zero, but their elements are small compared to the
elements in the diagonal matrices JP and JQV. The diagonal matrices themselves have not changed much. It
is also important to note that the upper left-hand Jacobian submatrix (JPθ) is symmetric. This fact allows for
a significant savings in storage when dealing with large systems.
Comparing this inverted Jacobian with that of the last iteration, we do not see much change. Using the
same procedure as before to calculate the update vector, we obtain
The Power Flow Problem 26
2 3.0023o
3 - 9.9924 o
( 2)
x
V3 0.9502
This is very close to the correct answer. The largest error is only about 0.08%. Of course in the usual
problem we do not know the answer and we would continue into the next iteration. We would stop the
iterations when the mismatch vector satisfies the required tolerance. We would find:
P2 0.0019
2
P 0.0023
3
Q3 0.0031
The mismatch has been reduced from that of the last iteration by a factor of 100 and is small enough. On
that basis we can stop here. So we stop with the values 2 = -3.0023o, 3 = -9.9924o, and |V3|=0.9502. It
remains to calculate the real and reactive power generation at the swing bus (bus 1) and the reactive power
generation at the PV bus (bus 2) using the calculated values of 2, 3, and |V3|.
function of the solution.
QG1 Q1 V1 V2 B12cos1 2 V1 V3 B13cos1 3 V1 B11
2
o Gauss-Seidel
Some advanced modeling issues:
o Transformers: regulating transformers
o Area interchange
o Switched shunt capacitors
1. MAIN MENU
=========
1 LOAD THE PSF 8 DATA VERIFICATIO
2 IMPORTING UTILITIES 9 LIMIT CHECKS
3 INPUT DATA PROCESSING 10 SENSITIVITY FACTORS
4 STUDY PREPARATION UTILITIES 11 EXPORTING UTILITIES
5 POWER FLOW SOLUTION 12 CLOSE THE PSF
6 NETWORK REDUCTION 13 QUIT
7 POWER FLOW SOLUTION REPORTING
ENTER MENU CHOICE: 5
*** POWER FLOW SOLUTION ***
=============================
1 AUTOMATIC SOLUTION
2 FAST DECOUPLED (XB)
3 NEWTON RAPHSON
4 FAST DECOUPLED (BX)
5 LOCALIZED SOLUTION (FD XB)
6 DC POWER FLOW SOLUTION
7 POWER FLOW SOLUTION OPTIONS
ITEM #, EXIT 3
*** START OF NEWTON RAPHSON ITERATIONS ***
ITERATION : 1 NEWTON RAPHSON UNSOLVED ABSOLUTE ERROR
-------------- BUS WITH LARGEST ERROR ------------ BUSES SUMMATION
P(P.U. MW) 0.000375 ( 30 BUS 3138. ) 0 0.0017
V(RADIANS) 0.000179 ( 70 BUS 7138. ) 8 0.0016
Q(P.U. MVAR) 0.001873 ( 120 BUS 12230. ) 0 0.0078
V(P.U. KV) 0.000210 ( 30 BUS 3138. ) 3 0.0009
ITERATION : 2 NEWTON RAPHSON UNSOLVED ABSOLUTE ERROR
-------------- BUS WITH LARGEST ERROR ------------ BUSES SUMMATION
P(P.U. MW) 0.000006 ( 160 BUS 16230. ) 0 0.0000
Q(P.U. MVAR) -0.000008 ( 170 BUS 17230. ) 0 0.0000
*** POWER FLOW SOLUTION IS REACHED IN 2 ITERATIONS ***
2. MAIN MENU
=========
1 LOAD THE PSF 8 DATA VERIFICATION
2 IMPORTING UTILITIES 9 LIMIT CHECKS
3 INPUT DATA PROCESSING 10 SENSITIVITY FACTORS
4 STUDY PREPARATION UTILITIES 11 EXPORTING UTILITIES
5 POWER FLOW SOLUTION 12 CLOSE THE PSF
6 NETWORK REDUCTION 13 QUIT
7 POWER FLOW SOLUTION REPORTING
ENTER MENU CHOICE: 9
** LOAD FLOW SOLUTION LIMIT CHECK **
====================================
1 OVERLOADED LINES OR TRANSFORMERS
2 CONTROL PARAMETERS VIOLATION
3 BUS VOLTAGE OUTSIDE SPECIFIED BAND
4 LINES ACROSS WHICH THE ANGLE EXCEEDS THE SPECIFIED VALUE
5 CHECK FOR ALL LIMITS AND VIOLATIONS
6 SORT OPTIONS
ITEM #, SPECIFY SUBSYSTEM, EXIT 1
ALL LINES TRANSFORMERS: A
*** LOAD FLOW SOLUTION LIMIT CHECK ***
1 OVERLOADED BRANCHES RATING GROUP = 1 % LOADING = 100.0
<----- FROM BUS -----> <------ TO BUS ------> MVA MVA PERCENT
NUMBER NAME NUMBER NAME CKT LOADING RATING LOADING
====== ================ ====== ================ ======== ======= ====== =======
60 BUS 6138. 100 BUS 10138. 1 175.4 175.0 100.22
4. MAIN MENU
=========
1 LOAD THE PSF 8 DATA VERIFICATION
2 IMPORTING UTILITIES 9 LIMIT CHECKS
3 INPUT DATA PROCESSING 10 SENSITIVITY FACTORS
4 STUDY PREPARATION UTILITIES 11 EXPORTING UTILITIES
5 POWER FLOW SOLUTION 12 CLOSE THE PSF
6 NETWORK REDUCTION 13 QUIT
7 POWER FLOW SOLUTION REPORTING
ENTER MENU CHOICE: 7
** LOAD FLOW SOLUTION REPORTING **
==================================
1 MISMATCH SUMMARY 11 ULTC/PS SUMMARY
2 SUBSYSTEM SUMMARY 12 SERIES COMPENSATORS
3 BUS SHUNT DATA 13 POWER FLOW SUMMARY
4 PLANT DATA 14 SECTIONALIZED BRANCHES
5 MACHINE DATA 15 STATIC TAP CHANGERS / PHASE SHIFTERS
6 AREA INTERCHANGE DATA 16 THREE WINDING TRANSFORMERS
7 TIE LINE FLOWS 17 INTERFACE FLOWS
8 BUS FLOWS 18 VOLTAGE PROFILE
9 DC CONVERTERS 19 SORT OPTIONS
10 DC FLOWS
ITEM #, SPECIFY SUBSYSTEM, EXIT 8
SUBSYSTEM BUSES PICK BUSES EXIT: p
ENTER BUS LIST FILE NAME OR BUSES TO INCLUDE OR EXCLUDE
> 60
*** SOLUTION REPORTING - BUS FLOWS ***
BUS: 60 BUS 6138.
VOLTAGE : 1.0017 PU ( 138.2 kV) -20.67
BUS NUM NAME AREA CKT MW MVAR MVA TAP
======== ================ ==== ======== ======== ======== = ======== ========
LOAD 136.00 28.00 138.85
SW SHUNT 0.00 100.33 100.33
TO 100 BUS 10138. 10 1 -128.63 -107.64 167.73
TO 20 BUS 2138. 10 1 -7.37 -20.69 21.96
UP DOWN NEXT BUS PREVIOUS BUS SCREEN DUMP LIST TO FILE EXIT : e
SUBSYSTEM BUSES PICK BUSES EXIT: p
ENTER BUS LIST FILE NAME OR BUSES TO INCLUDE OR EXCLUDE
> 100
*** SOLUTION REPORTING - BUS FLOWS ***
BUS: 100 BUS 10138.
VOLTAGE : 1.0132 PU ( 139.8 kV) -16.15
BUS NUM NAME AREA CKT MW MVAR MVA TAP
======== ================ ==== ======== ======== ======== = ======== ========
LOAD 195.00 40.00 199.06
TO 120 BUS 12230. 10 1 -234.48 60.92 242.27 1.0000LK
TO 110 BUS 11230. 10 1 -235.99 52.21 241.70 1.0000LK
TO 80 BUS 8138. 10 1 69.77 -3.74 69.87
TO 60 BUS 6138. 10 1 130.95 -131.80 185.80
TO 50 BUS 5138. 10 1 74.76 -17.59 76.80
UP DOWN NEXT BUS PREVIOUS BUS SCREEN DUMP LIST TO FILE EXIT : e
References
[1] J. Vlach and K. Singhal, “Computer Methods for Circuit Analysis and Design,” Kluwer Academic
Publications, 1993.
[2] L. Chua and P. Lin, “Computer Aided Analysis of Electronic Circuits: Algorithms and
Computational Techniques,” Prentice Hall, 1975.
[3] O. Elgerd, “Electric Energy Systems Theory,” McGraw-Hill, New York, 1982.
[4] J. Grainger and W. Stevenson, “Power System Analysis,” McGraw-Hill, New York, 1994.
[5] A. Bergen and V. Vittal, “Power Systems Analysis,” second edition, Prentice Hall, Upper Saddle
River, New Jersey, 2000.
[6] C. Gross, “Power System Analysis,” John Wiley & Sons, New York, 1979.
[7] B. Weedy, “Electric Power Systems,” third edition, John Wiley & Sons, London, 1979.
[8] H. Saadat, “Power System Analysis,” McGraw-Hill, New York, 1999.
[9] G. Stagg and A. El-Abiad, “Computer Methods in Power System Analysis,” McGraw-Hill, New
York, 1968.
[10] G. Heydt, “Computer Analysis Methods for Power Systems,” Macmillan Publishing, New York,
1986.
[11] V. Del Toro, “Electric Power Systems,” Printice-Hall, Englewood Cliffs, New Jersey, 1992.
[12] The reliability test system task force of the application of probability methods subcommittee,
“The IEEE reliability test system – 1996”, IEEE Trans. Power Systems, Vol. 14, No. 3, pp. 1010-
1020, 1999.