Transcript Lecture 12

ECE 476
Power System Analysis
Lecture 12: Power Flow
Prof. Tom Overbye
Dept. of Electrical and Computer Engineering
University of Illinois at Urbana-Champaign
[email protected]
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
1
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
2
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
I i  I Gi  I Di 
n
 Iik
k 1
Since I = Ybus V we also know
I i  I Gi  I Di 
n
 YikVk
k 1
The network power injection is then Si  Vi I i*
3
Power Balance Equations, cont’d
*
n


Si  Vi I i*  Vi   YikVk   Vi  Yik*Vk*
 k 1

k 1
This is an equation with complex numbers.
n
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 
4
Real Power Balance Equations
n
Si  Pi  jQi  Vi  Yik*Vk* 
k 1

n
 Vi Vk
k 1
n
j ik
V
V
e
(Gik  jBik )
 i k
k 1
(cos ik  j sin  ik )(Gik  jBik )
Resolving into the real and imaginary parts
Pi 
Qi 
n
 Vi Vk (Gik cos ik  Bik sinik )  PGi  PDi
k 1
n
 Vi Vk (Gik sin ik  Bik cosik )  QGi  QDi
k 1
5
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


Si  Vi I i*  Vi   YikVk   Vi  Yik*Vk*
 k 1

k 1
Rather, we must pursue an iterative approach.
n
6
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)
To iterate we first make an initial guess of x, x (0) ,
and then iteratively solve x (v +1)  h( x ( v ) ) until we
find a "fixed point", x,
ˆ such that xˆ  h(x).
ˆ
7
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
0
1
2
3
4
x(v )
1
2
2.41421
2.55538
2.59805
v
5
6
7
8
9
x(v)
2.61185
2.61612
2.61744
2.61785
2.61798
8
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
x 2 
n
2

x
 i
i 1
x   max i x i
9
Gauss Power Flow
We first need to put the equation in the correct form
*
n


 Vi   YikVk   Vi  Yik*Vk*
 k 1

k 1
n
Si  Vi I i*
n
n
k 1
k 1
S*i  Vi* I i  Vi*  YikVk  Vi*  YikVk
S*i

*
Vi
n
 YikVk
k 1
 YiiVi 
n

k 1,k i
n

1  S*i
Vi 
 *   YikVk 

Yii  V
k 1,k i

i
YikVk
10
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.
11
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

j
15
5

j
14.70


( Note B22  - j15  j 0.05  j 0.25)
12
Gauss Two Bus Example, cont’d
n

1  S*2
V2 
 *   YikVk 
Y22  V2 k 1,k i

 -1  j 0.5

1
V2 
 (5  j15)(1.00) 

*
5  j14.70  V2

Guess V2(0)  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
2
0.9671  j 0.0568
0.9624  j 0.0553
4
0.9622  j 0.0556
13
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
14
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.
15
Stated Another Way
• From exam problem 4.c we had
Bus 2
Bus 1
j0.2
j0.1
j0.1
Bus 3
Ybus
10 
 15 5
 j  5 15 10 
 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
16
Gauss with Many Bus Systems
With multiple bus systems we could calculate
new Vi ' s as follows:
Vi
( v 1)

n
1  S*i
(v)
 ( v )*   YikVk 


Yii  V
k

1,
k

i
 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.
17
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.
18
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)
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, 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
21
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
22
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
23
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)
df
(
x
) (v)
(v)
f ( xˆ )  f ( x ) 
x 
dx
1 d 2 f ( x( v ) )
(v)

x
2
2 dx


2
 higher order terms
24
Newton-Raphson Method, cont’d
3. Approximate f ( xˆ ) by neglecting all terms
except the first two
(v)
df
(
x
) (v)
(v)
f ( xˆ )  0  f ( x ) 
x
dx
4. Use this linear approximation to solve for x ( v )
1
 df ( x ) 
(v)
x
 
f
(
x
)

 dx 
5. Solve for a new estimate of x̂
(v)
(v)
x ( v 1)  x ( v )  x ( v )
25
Newton-Raphson Example
Use Newton-Raphson to solve f ( x)  x 2 - 2  0
The equation we must iteratively solve is
x
(v)
x ( v )
x
x
1
 df ( x ) 
(v)
 
f
(
x
)

 dx 
1  (v) 2

   ( v )  (( x ) - 2)
2x 
(v)
( v 1)
 x
(v)
( v 1)
 x
(v)
 x
(v)
1  (v) 2

  ( v )  (( x ) - 2)
2x 
26
Newton-Raphson Example, cont’d
x
( v 1)
 x
(v)
1  (v) 2

  ( v )  (( x ) - 2)
2x 
Guess x (0)  1. Iteratively solving we get
v
0
1
x(v)
1
1.5
f ( x(v) )
1
0.25
x ( v )
0.5
0.08333
2
1.41667
6.953  103
2.454  103
3
1.41422
6.024  106
27
Sequential Linear Approximations
Function is f(x) = x2 - 2 = 0.
Solutions are points where
f(x) intersects f(x) = 0 axis
At each
iteration the
N-R method
uses a linear
approximation
to determine
the next value
for x
28
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
29