Anda di halaman 1dari 39

EE 369

POWER SYSTEM ANALYSIS

Lecture 11
Power Flow
Tom Overbye and Ross Baldick

Announcements
Start reading Chapter 6 for lectures 11 and
12.
Homework 10 is: 3.47, 3.49, 3.53, 3.57, 3.61,
6.2, 6.9, 6.13, 6.14, 6.18, 6.19, 6.20; due
November 13. (Use infinity norm and epsilon
= 0.01 for any problems where norm or
stopping criterion not specified.) Turn in to
grader at beginning of LCRA tour.
Read Chapter 12, concentrating on sections
12.4 and 12.5.
Homework 11 is 6.23, 6,25, 6.26, 6.28, 6.29,
6.30 (see figure 6.18 and table 6.9 for
system), 6.31, 6.38, 6.42, 6.46, 6.52, 6.54;
due November 20.
2

Several years ago, a 140 f

6.5 ton blade broke off from
Suzlon Energy wind turbin
The wind turbine is located
in Illinois. Suzlon Energy i
one of the worlds largest
wind turbine manufacturer
its shares fell 39% followin
the accident. No one was
and wind turbines failures
are extremely rare events.
(Vestas and Siemens turbi
Photo source: Peoria Journal Star
3
have also failed.)

Thermal Plants Can Fail As Well:

Another Illinois Failure, Fall 2007

Springfield, Illinois City

Water, Light and Power
Explosion, Fall 2007

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?

j0.05

j0.05

contd

The unknown is the complex load voltage, V2 .

To determine V2 we need to know the Ybus ,

which is a 2 2 matrix. The capacitors have

susceptances specified by the reactive power
at the rated voltage.
1
1
Line series admittance =
5 j15.
Z 0.02 j 0.06
Hence Ybus

5 j14.95 5 j15

5 j15 5 j14.70

Gauss Two Bus Example,

contd
Note that V1 =1.00 is specified,
so we do not update V1.
We only consider one entry of h(V ), namely h2 (V ).
n

1 S*2
Equation to solve: V2
* Y2 kVk h2 (V ).
Y22 V2 k 1,k 2

Update:

V2( 1)

1 j 0.5

( 5 j15)(1.00)

( )
5 j14.70 (V2 ) *

v

V2( v )

V2( v )

1.000 j 0.000

0.9622 j 0.0556

1
2

0.9671 j 0.0568
0.9624 j 0.0553

0.9622 j 0.0556
8

contd

Fixed point: V2 0.9622 j 0.0556 0.9638 3.3

Once the voltages are known all other values can
be determined, including the generator powers and
the line flows.
S1* V1* (Y11V1 Y12V2 ) 1.023 j 0.239 P1 jQ1 ,
In actual units P1 102.3 MW, Q1 23.9 MVAr
2

The capacitor is supplying V2 25 23.2 MVAr

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. In
the previous example, this was bus 1.
10

Gauss for Systems with

Many Buses
With multiple bus systems we could calculate
new values of the voltages Vi as follows:
Vi( v 1)

1 S*i

( v )* YikVk( v )

Yii V
k

1,
k

i
i

hi (V1( v ) ,V2( v ) ,...,Vn( v ) )

But after we've determined Vi( v 1) , it is a better estimate
of the voltage at bus i than Vi( v ) , so it makes sense to use
this new value. Using the latest values is known as the
11
Gauss-Seidel iteration.

Gauss-Seidel Iteration
Immediately use the new voltage estimates:
V2( v 1) h2 (V1 ,V2( v ) ,V3( v ) ,,Vn( v ) ) (bus 1 is slack),
V3( v 1) h3 (V1 ,V2( v 1) ,V3( v ) ,,Vn( v ) )
V4( v 1) h4 (V1 ,V2( v 1) ,V3( v 1) ,V4( v ) ,Vn( v ) )
M
( v 1)
Vn

( v 1)
( v 1)
( v 1)
(v)
hn (V1 ,V2
,V3
,V4
,Vn )

Gauss-Seidel usually works better than the Gauss, and

is actually easier to implement.
Gauss-Seidel is used in practice instead of Gauss.
12

Three Types of Power Flow

Buses
There are three main
types of buses:
Load (PQ), at which P and Q are fixed; goal is to
solve for unknown voltage magnitude and angle at
the bus.
Slack at which the voltage magnitude and angle
are fixed; iteration solves for unknown P and Q
injections at the slack bus
Generator (PV) at which P and |V| are fixed;
iteration solves for unknown voltage angle and Q
injection at bus:
special coding is needed to include PV buses in the
Gauss-Seidel iteration.

13

Inclusion of PV Buses in G-S

To solve for Vi at a PV bus we must first make a
guess of Qi using the power flow equation:
n

Si* Vi* YikVk Pi jQi

k 1

( v )

Im Vi YikV is an
k

k 1
estimate of the reactive power injection.
For the Gauss iteration we use the known value
of real power and the estimate of the reactive power:
Hence

(v)
Si

Qi( v )

Pi

(v)
jQi

( v )*

14

Inclusion of PV Buses, cont'd

Tentatively solve for Vi( v 1)
( v 1)
V%
i

( v )*
n

1 Si

( v )* YikVk( v )

Yii V
k

1,
k

( v 1)
In update, set Vi( 1) V%
.
i
( v 1)
But since Vi is specified, replace V%
by Vi .
i

15

Consider the same two bus system from the p

example, except the load is replaced by a gen
j0.05

Bus 1
(slack bus)

z = 0.02 + j 0.06

V1 = 1.0

Bus 2

j0.05

V2 = 1.05

P2 = 0 MW

16

Q2( )

Im

V2( v )*

( v )

k 1

Y2kVk

( 1)
V%
2

( )*
( )*
n

1 S2
1 S2
( )
( )

( )* Y2 kVk
( )* Y21V1
Y22 V2
Y22 V2
k 1,k 2

v

S2( v )

( v 1)
V%
2

V2( v 1)

0 0 j 0.457 1.045 0.83 1.050 0.83

1 0 j 0.535 1.049 0.93 1.050 0.93
2 0 j 0.545 1.050 0.96 1.050 0.96

17

Generator Reactive Power

Limits
The reactive power output of generators
varies to maintain the terminal voltage; on
a real generator this is done by the exciter.
To maintain higher voltages requires more
reactive power.
Generators have reactive power limits,
which are dependent upon the generator's
MW output.
These limits must be considered during
the power flow solution.
18

Generator Reactive Limits,

cont'd
During power flow
once a solution is
obtained, need to check if the generator
reactive power output is within its limits
If the reactive power is outside of the limits,
then fix Q at the max or min value, and resolve treating the generator as a PQ bus
this is know as "type-switching"
also need to check if a PQ generator can again
regulate

Rule of thumb: to raise system voltage we

need to supply more VArs.
19

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.
20

Accelerated Convergence,
Consider the previouscontd
example: x x 1 0
x ( v 1) x ( v ) (1 x ( v ) x ( v ) )
Matlab code: alpha=1.2;x=x0;x=x+alpha*(1+sqrt(x)-x).
Comparison of results with different values of

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 21

Each iteration is relatively fast
(computational order is proportional
to number of branches + number of
buses in the system).
Relatively easy to program.

22

Tends to converge relatively slowly,
although this can be improved with
acceleration.
Has tendency to fail to find 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. Represent f by a Taylor series about the
current guess x ( ) . Write x for the deviation
from x ( ) :
f (x

(v)

(v)

) f (x

(v)

df ( v )

(v)
)
( x ) x
dx

1 d f (v)
(v)

(
x
)

2 dx 2

higher order terms.

25

Newton-Raphson Method,
contd
2. Approximate f by neglecting all terms
except the first two

df ( v )

f ( x x ) f ( x )
( x ) x ( v )
dx

( )

( )

(v)

1

df ( v )

x

(x )
f ( x(v) )
dx

4. Solve for a new estimate of solution:

(v)

x ( v 1) x ( v ) x ( v )

26

Newton-Raphson Example
Use Newton-Raphson to solve f ( x ) 0,
where: f ( x )= x 2 2.
The iterative update is:
x

(v)

x ( v )

df ( v )
(v)
(x )
f (x )

dx

1
(v) 2
((
x
) 2)
( v )
2x

x ( v 1) x ( v ) x ( v )
x

( v 1)

(v)

1
(v) 2
((
x
) 2).
(
v
)
2 x

27

Newton-Raphson Example,
contd
1
(v) 2
x
x
((
x
) 2)
(
v
)
2 x
Matlab code: x=x0; x = x-(1/(2*x))*(x^2-2).
( v 1)

(v)

Guess x (0) 1. Iteratiting, we get:

0
1

x(v )
1
1.5

f ( x(v) )
1
0.25

x ( v )
0.5
0.08333
3

1.41667

6.953 10

1.41422

6.024 106

2.454 10

28

Sequential Linear
Approximations

At each
iteration the
N-R method
uses a linear
approximation
to determine
the next value
Function is f(x) = x2 - 2.
for x
Solutions to f(x) = 0 are points where
f(x) intersects x axis.
29

When close to the solution the error
decreases quite quickly -- method has
what is known as quadratic
convergence:
number of correct significant figures
roughly doubles at each iteration.

f(x(v)) is known as the mismatch,

which we would like to drive to zero.
Stopping criteria is when f(x(v)) <
30

Results are dependent upon the
initial guess. What if we had
guessed x(0) = 0, or x(0) = -1?
A solutions region of attraction
(ROA) is the set of initial guesses that
converge to the particular solution.
The ROA is often hard to determine.

31

Multi-Variable NewtonRaphson
Next we generalize to the case where x is an ndimension vector, and f (x) is an n-dimensional
vector function:
x1
x
x 2
M

x
n

f1 ( x)
f 2 ( x)

f n ( x)

f (x)

32

Multi-Variable Case, contd

The Taylor series expansion is written for each fi (x)
f1 ( x x)

f1
f1
f1 ( x)
( x)x1
( x)x2
x1
x2
f1
( x)xn higher order terms
xn

M
f n
f n
f n ( x x) f n ( x)
( x)x1
( x )x2
x1
x2
f n
( x)xn higher order terms
xn

33

Multi-Variable Case, contd

This can be written more compactly in matrix form
f1 ( x ) f1 ( x ) L
x1
x2

f1 ( x )
f ( x ) f 2 ( x ) f 2 ( x ) L
2

x1
x2
f (x +x )

M
M
O
O
f ( x )
n
f n
f n
(x )
(x) L

x2
x1
higher order terms

f1
(x)
xn

f 2
(x)
xn

M
f n
( x )
xn

x1
x
2

M
x
n

34

Jacobian Matrix
The n by n matrix of partial derivatives is known
as the Jacobian matrix, J (x)
f1 (x) f1 (x) L
x
x2
1

f 2 (x) f 2 (x) L
x2
J (x) x1

M
O
O

f
n ( x) f n ( x) L

x2
x1

f1
(x)
xn

f 2
( x)
xn

M
f n
( x )
xn
35

Multi-Variable N-R Procedure

Derivation of N-R method is similar to the scalar case
f ( x x ) f ( x ) J ( x ) x higher order terms
f ( x x ) f ( x ) J ( x ) x
To seek solution to f ( x x ) 0, set linear
approximation equal to zero: 0 f ( x) J ( x ) x.
x J ( x ) 1 f (x )
x ( v 1) x ( v ) x ( v )
x ( v 1) x ( v ) J (x ( v ) ) 1 f ( x ( v ) )
Iterate until f (x ( v ) )

36

Multi-Variable Example
x1
Solve for x = such that f ( x ) 0 where
x2
2
2
f1 ( x ) 2 x1 x2 8
f 2 ( x ) x12 x22 x1 x2

First symbolically determine the Jacobian

f1 ( x ) f1 ( x )
x1
x2

J (x ) =
f 2 ( x ) f 2 ( x )
x1
x2
37

Multi-variable Example,
contd
4x
2x

J (x ) =
2 x1 x2

x1 2 x2

4 x1
2 x2
x1

Then

x
2
x

x
x

2
2

2
1
2
1
Matlab code: x1=x10; x2=x20;
f1=2*x1^2+x2^2-8;
f2=x1^2-x2^2+x1*x2-4;
J = [4*x1 2*x2; 2*x1+x2 x1-2*x2];
[x1;x2] = [x1;x2]-inv(J)*[f1;f2].

f 1 ( x )
f 2 ( x )

38

Multi-variable Example,
contd
1
(0)

Initial guess x
x
x

(1)

(2)

1

1

4
3

2 5
1 3

1.3 5.50 0.50

2.1
1.3

2.51
1.45

1.8284

1.2122

At each iteration we check f (x ( ) ) to see if it is

below our specified tolerance : f ( x

(2)

0.1556
)

0.0900

39