2.5 Basic power flow equation

advertisement
2.5
Basic power flow equation
From equation (2.7), for a ‘n’ bus system,
⎤⎡ ⎤
⎡¯ ⎤ ⎡
⎢ I1 ⎥ ⎢ Ȳ11 Ȳ12 ⋯ Ȳ1n ⎥ ⎢ V̄1 ⎥
⎥⎢ ⎥
⎢ ⎥ ⎢
⎥⎢ ⎥
⎢ I¯ ⎥ ⎢ Ȳ
Ȳ
⋯
Ȳ
⎢ 2 ⎥ ⎢ 21 22
2n ⎥ ⎢ V̄2 ⎥
⎥⎢ ⎥
⎢ ⎥=⎢
⎥⎢ ⋮ ⎥
⎢⋮⎥ ⎢ ⋮
⋮
⋮
⋮
⎥⎢ ⎥
⎢ ⎥ ⎢
⎥⎢ ⎥
⎢¯ ⎥ ⎢
⎢In ⎥ ⎢Ȳn1 Ȳn2 ⋯ Ȳnn ⎥ ⎢V̄n ⎥
⎦⎣ ⎦
⎣ ⎦ ⎣
Or,
(2.24)
n
I¯i = ∑ Ȳij V̄j
(2.25)
j=1
Complex power injected at bus ‘i’ is given by,
S̄i = Pi + jQi = V̄i I¯i∗
Now, V̄i = Vi ejθi ;
V̄j = Vj ejθj ;
(2.26)
Ȳij = Yij ejαij ;
n
Hence, S̄i = Pi + jQi = Vi ejθi [∑ Yij Vj ej(θj + αij ) ]
∗
j=1
Or,
n
Pi = ∑ Vi Vj Yij cos(θi − θj − αij )
(2.27)
j=1
n
Qi = ∑ Vi Vj Yij sin(θi − θj − αij )
(2.28)
j=1
Equations (2.27) and (2.28) are known as the basic load flow equations. It can be seen that for
any ith bus, there are two equations. Therefore, for a ‘n’-bus power system, there are altogether ‘2n’
load-flow equations.
Now, from equations (2.27) and (2.28) it can be seen that there are four variables (Vi , θi , Pi and
Qi ) associated with the ith bus. Thus for the ‘n’-bus system, there are a total of ‘4n’ variables. As
there are only ‘2n’ equations available, out of these ‘4n’ variables, ‘2n’ quantities need to be specified
and remaining ‘2n’ quantities are solved from the ‘2n’ load-flow equations. As ‘2n’ variables are to
be specified in a ‘n’ bus system, for each bus, two quantities need to be specified. For this purpose,
the buses in a system are classified into three categories and in each category, two different quantities
are specified as described below.
1. PQ Bus: At these buses loads are connected and therefore, these buses are also termed as load
buses. Generally the values of loads (real and reactive) connected at these buses are known
and hence, at these buses Pi and Qi are specified (or known). Consequently, Vi and θi need to
be calculated for these buses.
26
2. PV Bus: Physically, these buses are the generator buses. Generally, the real power supplied
by the generator is known (as we say that the generation is supplying 100 MW) and also, the
magnitude of the terminal voltage of the generator is maintained constant at a pre-specified
value by the exciter (provided that the reactive power supplied or absorbed by the generator
is within the limits). Thus, at a PV bus, Pi and Vi are specified and consequently, Qi and θi
need to be calculatd.
3. Slack Bus: To calculate the angles θi (as discussed above), a reference angle (θi = 0) needs to
be specified so that all the other bus voltage angles are calculated with respect to this reference
angle. Moreover, physically, total power supplied by all the generation must be equal to the
sum of total load in the system and system power loss. However, as the system loss cannot be
computed before the load flow problem is solved, the real power output of all the generators in
the system cannot be pre-specified. There should be at least one generator in the system which
would supply the loss (plus its share of the loads) and thus for this generator, the real power
output can’t be pre-specified. However, because of the exciter action, Vi for this generator can
still be specified. Hence for this generator, Vi and θi (= 0) are specified and the quantities Pi
and Qi are calculated. This generator bus is designated as the slack bus. Usually, the largest
generator in the system is designated as the slack bus.
To summarise, the details of different types of buses in a ‘n’ bus, ‘m’ generator power system are
shown in Table 2.1. Now, please note that in a load flow problem, the quantities Pi and Qi (Qi at
Table 2.1: Classification of buses
Type
Total no. of buses
Specified quantity
Solution quantity
PQ
n-m
P i , Qi
Vi , θi
PV
m-1
Pi , Vi
Qi , θi
Slack
1
Vi , θi
P i , Qi
PV while Pi and Qi at slack buses) are not directly solved. Only the quantities Vi and θi are directly
solved (Vi for all PQ buses while θi for all PV and PQ buses). This is because of the fact that once
Vi and θi at all PV and PQ buses are solved, then the voltage magnitudes and angles at all the buses
are known (Vi , θi at the slack bus are already specified) and subsequently, using equations (2.27)
and (2.28), Pi and Qi at any bus can be calculated.
Therefore, in a ‘n’ bus, ‘m’ generator system, the unknown quantities are: Vi (total ‘n-m’ of
them) and θi (total ‘n-1’ of them). Therefore, total number of unknown quantities is ‘2n-m-1’. On
the other hand, the specified quantities are: Pi (total ‘n-1’ of them) and Qi (total ‘n-m’ of them).
Hence total number of specified quantities is also ‘2n-m-1’. As the number of unknown quantities is
equal to the number of specified quantities, the load-flow problem is well-posed.
27
Equations (2.27) and (2.28) represent a set of simultaneous, non-linear, algebraic equations. As
the set of equations is non-linear, no closed form, analytical solution for these equations exist. Hence,
these equations can only be solved by using suitable numerical iterative techniques. For solving the
load flow problem, various iterative methods exist. These are:
1. Gauss-seidel method
2. Newton Raphron (polar) technique
3. Newton Raphron (rectangular) technique
4. Fast-decoupled load flow
We will discuss these methods one by one and we start with the Gauss-Seidel method.
2.6
Basic Gauss Seidel solution method
Before discussing the Gauss-Seidel load flow (GSLF) technique, let we first review the basic GaussSeidel procedure for solving a set of non-linear algebraic equations.
Let the following ‘n’ equations are given for the ‘n’ unknown quantities x1 , x2 , ⋯⋯ xn ;
⎫
f1 (x1 , x2 ⋯⋯ xn ) = 0 ⎪
⎪
⎪
⎪
⎪
⎪
f2 (x1 , x2 ⋯⋯ xn ) = 0 ⎪
⎪
⎪
⎪
⋮
⋮ ⎬
⎪
⎪
⎪
⋮
⋮ ⎪
⎪
⎪
⎪
⎪
fn (x1 , x2 ⋯⋯ xn ) = 0 ⎪
⎪
⎭
(2.29)
It is to be noted that in equation (2.29), the function f1 , f2 , ⋯fn are all non-linear in nature
and no particular form of these equations is assumed. Now, with some algebraic manipulation, from
the first equation of equation set (2.29), the variable x1 can be represented in terms of the other
variables. Similarly from the second equation, the variable x2 can be represented in terms of the
other variables. Proceeding in the same way, from the nth equation, the variable xn can be expressed
in terms of the other variables. Therefore, let,
x1
x2
⋮
xk
⋮
xn
= g1 (x2 , x3 ⋯⋯ xn )
= g2 (x1 , x3 ⋯⋯ xn )
⋮
= gk (x1 , x2 ⋯⋯ xk−1 , xk+1 ⋯⋯ xn )
⋮
= gn (x1 , x2 ⋯⋯ xn−1 )
⎫
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎬
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎭
(2.30)
To compute the variables x1 , x2 , ⋯⋯ xn from these equations g1 , g2 , ⋯⋯ gn , the first step is to
(0)
(0)
(0)
assume the initial values of these solution variables (x1 , x2 ⋯⋯ xn ). With these initially assumed
28
values, various steps of the basic Gauss-Seidel algorithm are as follows.
Basic Gauss-Seidel procedure
Step 1: Set iteration count k = 1
Step 2: Update the variables ;
x(k)
= g1 (x(k−1)
, x(k−1)
, ⋯⋯ x(k−1)
);
n
1
2
3
(k−1)
x(k)
= g2 (x(k)
, ⋯⋯ x(k−1)
);
n
2
1 , x3
⋮
⋮
⋮
⋮
(k)
(k)
(k−1)
(k−1)
xp(k) = gp (x(k)
);
1 , x2 , ⋯⋯ xp−1 , xp+1 , ⋯⋯ xn
(k)
(k)
x(k)
= gn (x(k)
n
1 , x2 , ⋯⋯ xn−1 );
(k)
(k)
(k−1)
∣ for all i = 1, 2, ⋯⋯ n;
Step 3: Compute ei = ∣xi − xi
(k) (k)
(k)
Step 4: Compute er = max(e1 , e2 , ⋯⋯ en ) ;
Step 5: If er ≤ (tolerance limit), stop and print the solution. Else set k = k + 1 and go to step
2.
It is to be noted that in step 2, for updating the variable xp , the most updated values of
x1 , x2 , ⋯⋯ xp−1 (which are before xp in the sequence of the solution variables) are used while for the
variables xp+1 , xp+2 , ⋯⋯ xn (which are after xp in the sequence of the solution variables), the values
pertaining to previous iteration are used (as these variables have not been updated yet). Subsequently, in steps 3 and 4, the maximum absolute error between the solutions of the current iteration
and previous iteration is calculated. If this maximum absolute error is less then a pre-specified
tolerance value, then the algorithm is considered to be converged. Otherwise, the solution variables
are again updated.
With this background of basic Gauss-Seidel method, we are now in a position of discussing GSLF,
which we will do next.
2.7
Gauss Seidel Load Flow technique
Let us now proceed for discussing GSLF. From equation (2.25),
⎡
⎤
⎢
⎥
n
1
⎢
⎥
⎢I¯i − ∑ Ȳik V̄k ⎥. Now, from the relation
I¯i = ∑ Ȳik V̄k = Ȳii V̄i + ∑ Ȳik V̄k . Hence, V̄i =
⎥
Ȳii ⎢⎢
k=1
k=1
k=1
⎥
≠i
≠i
⎣
⎦
n
n
29
Pi − jQi
. Thus,
Pi + jQi = V̄i I¯i∗ we get, I¯i =
V̄i∗
⎡
⎤
⎥
n
1 ⎢⎢ Pi − jQi
⎥
⎢
V̄i =
−
Ȳ
V̄
∑
ik k ⎥
∗
⎥
Ȳii ⎢⎢ V̄i
k=1
⎥
≠i
⎣
⎦
(2.31)
Equation (2.31) is the basic equation for performing GSLF. It is to be noted that without loss
of generality, it is assumed that the ‘m’ generators are connected to the first ‘m’ buses (bus ‘1’
being the slack bus) and remaining ‘(n-m)’ buses are load buses. Now, initially to understand the
basic GSLF procedure, let us assume that m = 1, i.e., there is only one generator (which is also the
slack bus) and the rest ‘(n-1)’ buses are all load buses. To perform load-flow computation, initial
guesses of the bus voltages are necessary. As any power system is generally expected to operate at
the normal steady-state operating condition (with the bus voltage magnitudes maintained between
(0)
0.95 - 1.05 p.u.), all the unknown bus voltage are initialized to 1.0∠0o p.u (i.e. V̄j = 1.0∠0o for
j = 2, 3, ⋯⋯ n). This process of initializing all bus voltage to 1.0∠0o is called flat start. With these
initial bus voltages, the complete procedure for GSLF (having no PV bus) is as follows.
GSLF without PV bus
Step 1: Set iteration count k = 1.
Step 2: Update the bus voltages as;
⎡
⎤
⎥
n
1 ⎢⎢ P2 − jQ2
(k−1) ⎥
⎢
⎥
V̄
=
∗ − ∑ Ȳ2j V̄j
⎥
Ȳ22 ⎢⎢ {V̄2(k−1) } j = 1
⎥
≠
2
⎣
⎦
⋮
⋮
⎡
⎤
n
1 ⎢⎢ Pp − jQp p−1
(k)
(k−1) ⎥
(k)
⎥
V̄p
=
⎢ (k−1) ∗ − ∑ Ȳpj V̄j − ∑ Ȳpj V̄j
⎥
⎥
Ȳpp ⎢⎣ {V̄p
j=p+1
} j=1
⎦
⋮
⋮
⎡
⎤
1 ⎢⎢ Pn − jQn n−1
(k) ⎥
(k)
⎥
V̄n
=
∗ − ∑ Ȳnj V̄j
⎢
⎥
⎥
Ȳnn ⎢⎣ {V̄n(k−1) }
j=1
⎦
(k)
2
(k)
(k)
(k−1)
∣ for all i = 2, ⋯⋯ n;
Step 3: Compute ei = ∣V̄i − V̄i
(k) (k)
(k)
(k)
Step 4: Compute e = max(e2 , e3 , ⋯⋯ en ) ;
Step 5: If e(k) ≤ (tolerance limit), stop and print the solution. Else set k = k+1 and go to step 2.
With the above understanding of the basic GSLF, we are now in a position to discuss the GSLF
procedure for a system having multiple generators. Before we discuss the GSLF procedure, let
us look into the procedure of initialisation of bus voltages (which is little different than assuming
a flat start for all the bus volatges). For a system having multiple generators, the bus voltage
30
initialisation is carried out in a two step procedure; i) the load buses are initialised with flat start
(0)
(i.e. V̄j = 1.0∠0o for j = (m + 1), (m + 2), ⋯⋯ n) and ii) the magnitudes of the voltages of the
PV buses are initialised with the corresponding specified voltage magnitudes while initialising all
(0)
these voltage angles to 0o (i.e. V̄j = Vjsp ∠0o for j = 2, 3, ⋯⋯ m, where Vjsp is the specified bus
voltage magnitude of the j th generator). Now, as discussed earlier, the reactive power supplied or
absorbed by a generator (QG ) is calculated by the load flow procedure. However any generator has
a maximum and minimum limit on QG . If the QG from the generator is within these limits, then the
generator excitation system is able to maintain the terminal voltage at the specified value. On the
other hand, if the generator reaches its limit on QG (either maximum or minimum), then because
of the insufficient amount of reactive power (either supplied or absorbed), the generator excitation
system would not be able to maintain the terminal voltage magnitude at the specified value. In that
case the generator bus would behave as a PQ bus (P being already specified for the generator and
Q is set at either maximum or minimum limiting value of QG ). In power system terminology, this
phenomenon (where the generator is behaving like a PQ bus) is termed as ‘PV to PQ switching’
which should also be accounted for in any load-flow solution methodology.
This is incorporated in GSLF by the following procedure. At the beginning of each iteration, QG
injection by each generator is calculated. If this calculated QG is found to be within the corresponding limits then this generator continues to behave as a PV bus. Hence ∣V̄i ∣ of this bus (at which the
generator is connected ) is still maintained at the corresponding specified value and only the angle
of this bus voltage is calculated in the present iteration. On the other hand if QG is found to exceed
any limit (either maximum or minimum), then it is fixed at that limit and the bus is considered
to act like a PQ bus. Thus, both the magnitude and angle of the bus voltage are calculated in
the present iteration. With this background, the complete algorithm of GSLF involving multiple
generator buses is as follows.
Complete GSLF algorithm
(0)
(0)
Step 1: Initialise V̄j = Vjsp ∠0o for j = 2, 3, ⋯⋯ m and V̄j = 1.0∠0o for j = (m + 1), (m +
2), ⋯⋯ n. Set iteration count k = 1.
Step 2: For i = 2, 3, ⋯⋯ m, carry out the following operations.
a) Calculate,
n
Q(k)
= ∑ Vi(k−1) Vj(k−1) Yij sin (θi(k−1) − θj(k−1) − αij )
i
j=1
(k)
b) If, Qmin
≤ Qi
i
is given by,
(k)
(k)
(k)
(k)
≤ Qmax
; then assign ∣V̄i ∣ = Visp and θi = ∠ (Ai ). The quantity Ai
i
(k)
i
A
⎡
⎤
n
1 ⎢⎢ Pi − jQi(k) i−1
(k)
(k−1) ⎥
⎥
=
− ∑ Ȳij V̄j
∗ − ∑ Ȳij V̄j
⎢
⎥
⎥
Ȳii ⎢⎣ {V̄i(k−1) }
j=1
j=i+1
⎦
31
(k)
c) If Qi
≥ Qmax
, then calculate
i
V̄
(k)
d) If Qi
(k)
i
⎡
⎤
i−1
n
1 ⎢⎢ Pi − jQmax
(k)
(k−1) ⎥
i
⎥
=
− ∑ Ȳij V̄j
∗ − ∑ Ȳij V̄j
⎢
⎥
⎥
Ȳii ⎢⎣ {V̄i(k−1) }
j=1
j=i+1
⎦
≤ Qmin
, then calculate
i
V̄
(k)
i
⎡
⎤
i−1
n
1 ⎢⎢ Pi − jQmin
(k)
(k−1) ⎥
i
⎥
=
− ∑ Ȳij V̄j
∗ − ∑ Ȳij V̄j
⎢
⎥
⎥
Ȳii ⎢⎣ {V̄i(k−1) }
j=1
j=i+1
⎦
Step 3: For i = (m + 1), ⋯⋯ n, calculate
V̄
(k)
i
(k)
⎡
⎤
i−1
n
1 ⎢⎢ Pi − jQ(k)
(k)
(k−1) ⎥
i
⎥
=
− ∑ Ȳij V̄j
∗ − ∑ Ȳij V̄j
⎢
⎥
⎥
Ȳii ⎢⎣ {V̄i(k−1) }
j=1
j=i+1
⎦
(k)
(k−1)
∣ for all i = 2, ⋯⋯ n;
Step 4: Compute ei = ∣V̄i − V̄i
(k) (k)
(k)
(k)
Step 5: Compute e = max(e2 , e3 , ⋯⋯ en ) ;
Step 6: If e(k) ≤ , stop and print the solution. Else set k = k + 1 and go to step 2.
We will illustrate the GSLF algorithm with an example in the next lecture.
32
Download