You are on page 1of 30

ECE 476

Power System Analysis


Lecture 12: Power Flow

Prof. Tom Overbye


Dept. of Electrical and Computer Engineering
University of Illinois at Urbana-Champaign
overbye@illinois.edu
Special Guest Lecturer: TA Iyke Idehen
Announcements
• Please read Chapter 2.4, Chapter 6 up to 6.6
• HW 5 is 5.31, 5.43, 3.4, 3.10, 3.14, 3.19, 3.23, 3.60,
6.30 should be done before exam 1
• Exam 1 is Thursday Oct 6 in class
• Closed book, closed notes, but you may bring one 8.5 by 11
inch note sheet and standard calculators
• Last name A-M here, N to Z in ECEB 1013

2
Power Flow Analysis
• When analyzing power systems we know neither
the complex bus voltages nor the complex current
injections
• Rather, we know the complex power being
consumed by the load, and the power being
injected by the generators plus their voltage
magnitudes
• Therefore we can not directly use the Ybus
equations, but rather must use the power balance
equations

3
Power Balance Equations

From KCL we know at each bus i in an n bus system


the current injection, I i , must be equal to the current
that flows into the network
n
I i  I Gi  I Di   Iik
k 1
Since I = Ybus V we also know
n
I i  I Gi  I Di   YikVk
k 1

The network power injection is then Si  Vi I i*


4
Power Balance Equations, cont’d
*
 n  n
Si  Vi I i*  Vi   YikVk   Vi  Yik*Vk*
 k 1  k 1
This is an equation with complex numbers.
Sometimes we would like an equivalent set of real
power equations. These can be derived by defining
Yik  Gik  jBik
Vi  Vi e ji  Vi  i
 ik   i   k
Recall e j  cos  j sin 
5
Real Power Balance Equations
n n
Si  Pi  jQi  Vi  Yik*Vk*   Vi Vk e jik (Gik  jBik )
k 1 k 1
n
  Vi Vk (cos ik  j sin  ik )(Gik  jBik )
k 1
Resolving into the real and imaginary parts
n
Pi   Vi Vk (Gik cos ik  Bik sin ik )  PGi  PDi
k 1
n
Qi   Vi Vk (Gik sin ik  Bik cos ik )  QGi  QDi
k 1

6
Power Flow Requires Iterative Solution

In the power flow we assume we know Si and the


Ybus . We would like to solve for the V's. The problem
is the below equation has no closed form solution:
*
 n  n
Si  Vi I i*  Vi   YikVk   Vi  Yik*Vk*
 k 1  k 1
Rather, we must pursue an iterative approach.

7
Gauss Iteration
There are a number of different iterative methods
we can use. We'll consider two: Gauss and Newton.

With the Gauss method we need to rewrite our


equation in an implicit form: x = h(x)

(0)
To iterate we first make an initial guess of x, x ,
and then iteratively solve x (v +1)  h( x ( v ) ) until we
ˆ such that xˆ  h(x).
find a "fixed point", x, ˆ
8
Gauss Iteration Example

Example: Solve x - x  1  0
x ( v 1)  1  x ( v )
Let v = 0 and arbitrarily guess x (0)  1 and solve
v x(v ) v x (v )
0 1 5 2.61185
1 2 6 2.61612
2 2.41421 7 2.61744
3 2.55538 8 2.61785
4 2.59805 9 2.61798
9
Stopping Criteria
A key problem to address is when to stop the
iteration. With the Guass iteration we stop when
x ( v )   with x ( v )  x ( v1)  x ( v )
If x is a scalar this is clear, but if x is a vector we
need to generalize the absolute value by using a norm
x ( v ) 
j
Two common norms are the Euclidean & infinity
n
x 2   i
x 2
x   max i x i
i 1
10
Gauss Power Flow
We first need to put the equation in the correct form
*
 n  n
Si  Vi I i*  Vi   YikVk   Vi  Yik*Vk*
 k 1  k 1
n n
S*i  Vi* I i  Vi*  YikVk  Vi*  YikVk
k 1 k 1

S*i n n

Vi*
  YikVk  YiiVi   YikVk
k 1 k 1,k i

1  S*i n 
Vi   *   YikVk 
Yii  V k 1,k i


i
11
Gauss Two Bus Power Flow Example

•A 100 MW, 50 Mvar load is connected to a generator


•through a line with z = 0.02 + j0.06 p.u. and line
charging of 5 Mvar on each end (100 MVA base).
Also, there is a 25 Mvar capacitor at bus 2. If the
generator voltage is 1.0 p.u., what is V2?

SLoad = 1.0 + j0.5 p.u.


12
Gauss Two Bus Example, cont’d

The unknown is the complex load voltage, V2 .


To determine V2 we need to know the Ybus .
1
 5  j15
0.02  j 0.06
5  j14.95 5  j15 
Hence Ybus   
  5  j15 5  j14.70 
( Note B22  - j15  j 0.05  j 0.25)

13
Gauss Two Bus Example, cont’d


1 S2 * n 
V2   *   YikVk 
Y22  V2 k 1,k i 
1  -1  j 0.5 
V2    (5  j15)(1.00) 
5  j14.70  V2 *

(0)
Guess V2  1.00 (this is known as a flat start)
v V2(v ) v V2(v )
0 1.000  j 0.000 3 0.9622  j 0.0556
1 0.9671  j 0.0568 4 0.9622  j 0.0556
2 0.9624  j 0.0553
14
Gauss Two Bus Example, cont’d

V2  0.9622  j 0.0556  0.9638  3.3


Once the voltages are known all other values can
be determined, such as the generator powers and the
line flows
S1*  V1* (Y11V1  Y12V2 )  1.023  j 0.239
In actual units P1  102.3 MW, Q1  23.9 Mvar
2
The capacitor is supplying V2 25  23.2 Mvar

15
Slack Bus

• In previous example we specified S2 and V1 and


then solved for S1 and V2.
• We can not arbitrarily specify S at all buses
because total generation must equal total load +
total losses
• We also need an angle reference bus.
• To solve these problems we define one bus as the
"slack" bus. This bus has a fixed voltage
magnitude and angle, and a varying real/reactive
power injection.

16
Stated Another Way
• From exam problem 4.c we had
Bus 2 j0.2 Bus 1

 15 5 10 
 j  5 15 10 
j0.1 j0.1

Bus 3 Ybus
 10 10 20 

• This Ybus is actually singular!


• So we cannot solve V   Ybus  1 I
• This means (as you might expect), we cannot
independently specify all the current injections I

17
Gauss with Many Bus Systems
With multiple bus systems we could calculate
new Vi ' s as follows:

1  S*i n 
Vi( v 1)   (v )*   YikVk(v ) 
Yii  V   
 i k 1, k i 
 hi (V1(v ) ,V2(v ) ,...,Vn( v ) )
But after we've determined Vi(v 1) we have a better
estimate of its voltage , so it makes sense to use this
new value. This approach is known as the
Gauss-Seidel iteration.
18
Gauss-Seidel Iteration

Immediately use the new voltage estimates:


V2( v 1)  h2 (V1,V2( v ) ,V3( v ) ,,Vn( v ) )
V3( v 1)  h2 (V1,V2( v 1) ,V3( v ) ,,Vn( v ) )
V4( v 1)  h2 (V1,V2( v 1) ,V3( v 1) ,V4( v ) ,Vn( v ) )

Vn( v 1)  h2 (V1,V2( v 1) ,V3( v 1) ,V4( v 1) ,Vn( v ) )
The Gauss-Seidel works better than the Gauss, and
is actually easier to implement. It is used instead
of Gauss.
19
Three Types of Power Flow Buses
• There are three main types of power flow buses
– Load (PQ) at which P/Q are fixed; iteration solves for
voltage magnitude and angle.
– Slack at which the voltage magnitude and angle are
fixed; iteration solves for P/Q injections
– Generator (PV) at which P and |V| are fixed; iteration
solves for voltage angle and Q injection
• special coding is needed to include PV buses in the
Gauss-Seidel iteration (covered in book, but not in
slides since Gauss-Seidel is no longer commonly
used)

20
Accelerated G-S Convergence

Previously in the Gauss-Seidel method we were


calculating each value x as
x (v 1)  h( x ( v ) )
To accelerate convergence we can rewrite this as
x (v 1)  x (v )  h( x ( v ) )  x ( v )
Now introduce acceleration parameter 
x (v 1)  x ( v )   (h( x ( v ) )  x ( v ) )
With  = 1 this is identical to standard gauss-seidel.
Larger values of  may result in faster convergence.
21
Accelerated Convergence, cont’d

Consider the previous example: x - x  1  0


x (v 1)  x (v )   (1  x ( v )  x ( v ) )
Comparison of results with different values of 
k  1   1.2   1.5   2
0 1 1 1 1
1 2 2.20 2.5 3
2 2.4142 2.5399 2.6217 2.464
3 2.5554 2.6045 2.6179 2.675
4 2.5981 2.6157 2.6180 2.596
5 2.6118 2.6176 2.6180 2.626 22
Gauss-Seidel
Advantages/Disadvantages
• Advantages
– Each iteration is relatively fast (computational order is
proportional to number of branches + number of buses in the
system
– Relatively easy to program
• Disadvantages
– Tends to converge relatively slowly, although this can be
improved with acceleration
– Has tendency to miss solutions, particularly on large systems
– Tends to diverge on cases with negative branch reactances
(common with compensated lines)
– Need to program using complex numbers
23
Newton-Raphson Algorithm
• The second major power flow solution method is
the Newton-Raphson algorithm
• Key idea behind Newton-Raphson is to use
sequential linearization
General form of problem: Find an x such that
f ( xˆ )  0

24
Newton-Raphson Method (scalar)

1. For each guess of xˆ , x ( v ) , define


x ( v )  xˆ - x ( v )
2. Represent f ( xˆ ) by a Taylor series about f ( x )
(v)
(v) df ( x ) (v)
f ( xˆ )  f ( x )  x 
dx
1 d 2 f ( x( v ) )
 
(v) 2
 x  higher order terms
2 dx 2

25
Newton-Raphson Method, cont’d

3. Approximate f ( xˆ ) by neglecting all terms


except the first two
(v)
(v ) df ( x ) (v)
f ( xˆ )  0  f ( x )  x
dx
4. Use this linear approximation to solve for x (v )
1
(v )  df ( x )  (v)
(v)
x    f (x )
 dx 
5. Solve for a new estimate of x̂
( v 1) (v ) (v)
x  x  x
26
Newton-Raphson Example

Use Newton-Raphson to solve f ( x)  x 2 - 2  0


The equation we must iteratively solve is
1
(v )  df ( x ) (v)
(v)
x    f ( x )
 dx 
 1  (v) 2
x (v )    ( v )  (( x ) - 2)
2x 
x (v 1)  x (v )  x ( v )
( v 1) (v )  1  (v ) 2
x  x   ( v )  (( x ) - 2)
2x 
27
Newton-Raphson Example, cont’d

( v 1) (v)  1  (v) 2


x  x   (v )  (( x ) - 2)
2x 
Guess x (0)  1. Iteratively solving we get
v x(v ) f ( x(v) ) x ( v )
0 1 1 0.5
1 1.5 0.25 0.08333
2 1.41667 6.953  103 2.454  103
3 1.41422 6.024  106

28
Sequential Linear Approximations

At each
iteration the
N-R method
uses a linear
approximation
Function is f(x) = x2 - 2 = 0. to determine
Solutions are points where the next value
f(x) intersects f(x) = 0 axis for x
29
Newton-Raphson Comments
• When close to the solution the error decreases quite
quickly -- method has quadratic convergence
• f(x(v)) is known as the mismatch, which we would
like to drive to zero
• Stopping criteria is when f(x(v))  < 
• Results are dependent upon the initial guess. What
if we had guessed x(0) = 0, or x (0) = -1?
• A solution’s region of attraction (ROA) is the set of
initial guesses that converge to the particular
solution. The ROA is often hard to determine

30

You might also like