Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебники / 0841558_16EA1_federico_milano_power_system_modelling_and_scripting

.pdf
Скачиваний:
72
Добавлен:
08.06.2015
Размер:
6.72 Mб
Скачать

158

7 Eigenvalue Analysis

can be explained with a simple example. Let us consider the following scalar ODE system:

x˙ = x2

(7.6)

that has the equilibrium x0 = 0. Linearizing (7.6) at x0, one has:

x˙ = 2x0 · Δx = 0 · Δx

(7.7)

where 2x0 is both the state matrix and the unique eigenvalue of the system. As it can be noted, (7.7) provides no relevant information about the stability of the equilibrium point since x˙ = 0 notwithstanding any variation of Δx.1 Equilibrium points for which at least one eigenvalue has zero real part are called bifurcation points. The only bifurcation points that are of practical interest are generic ones, i.e., bifurcations that are likely to appear in a physical system. The concept of genericity also implies robustness, i.e., the bifurcation persists for any parameter perturbation. For example, the bifurcation point

x0 = 0 of (7.6) is generic.2

For the OMIB system, the eigenvalue analysis reduces to find the roots of

the following equation:

 

det(AS − λI2) = 0

(7.8)

where AS = f x is the state matrix of (7.1)-(7.2) computed at an equilibrium point.

Point xA: The state matrix at the equilibrium point xA is:

 

 

 

 

 

 

0

 

 

 

f

 

A =

 

 

Ωb

 

(7.9)

x|

 

 

 

 

 

 

 

 

 

1

 

ev

cos δA

0

 

 

 

 

 

 

 

 

 

 

 

 

2H xeq

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Thus, (7.8) yields:

 

 

1 ev

cos δA = ±j5.8317

 

λ1,2 = −Ωb 2H xeq

(7.10)

where Ωb = 314.16 rad/s (i.e., the system rated frequency is 50 Hz) and the mechanical starting time is H = 8 MWs/MVA. Since the pair of complex eigenvalues is purely imaginary, the system trajectories around the equilibrium point are undamped and xA is a bifurcation point. However,

1Observe that the approach based on virtual variation used for studying (7.1) works fine if one varies x0 by δx in (7.6).

2In fact, the di erential equation:

x˙ = x2 + μ

is the germ or the normal form of the saddle-node bifurcation.

7.2 Small Signal Stability Analysis

159

this is an ideal condition. By including a damping (i.e., a viscous friction) coe cient D in (7.2), e.g.:

ω˙ =

1

(pm − pe(δ) − D(ω − ωs))

(7.11)

2H

the pair of complex eigenvalues shows a negative real part, hence the bifurcation is not robust. The equilibrium point xA is stable (or weakly stable as reported in some books), which confirms the qualitative analysis above based on virtual perturbations.

Point xB : Drawing the eigenvalue analysis for the point xB , one has:

λ1,2

=

 

−Ωb 2H xeq cos δB

= ±5.8317

(7.12)

 

 

 

 

1 ev

 

One of the characteristics roots is positive, hence the system is unstable. In this case, the instability cannot be eliminated by simply including a damping coe cient in (7.2).

The solution of (7.5) is a problem conceptually di erent from the ones discussed so far, e.g., finding a solution (only one) of a set of nonlinear functions. The solution of (7.5) consists in finding all the roots (e.g., zeros) of a polynomial function. Since Abel proved in 1826 that there is no explicit solution for generic polynomials of order greater than 4, (7.5) has to be necessarily solved numerically. Some matrix-based methods are discussed in the following sections.

7.2Small Signal Stability Analysis

The system used for the small signal stability analysis is a set of di erential algebraic equations, in the form:

x˙ = f (x, y)

(7.13)

0 = g(x, y)

where x is the vector of the state variables and y the vector of the algebraic variables, f is the vector of di erential equations, and g is the vector of algebraic equations. Small signal stability analysis studies the properties of equilibria or stationary points (x0, y0) that satisfies:

0

= f (x0, y0)

(7.14)

0

= g(x0, y0)

 

through an eigenvalue analysis of the state matrix AS of the system.

160

7 Eigenvalue Analysis

The state matrix AS is obtained by manipulating the complete Jacobian matrix AC , that is defined by the linearization of the DAE system equations (7.13) at the equilibrium point:

 

0

=

gx gy

y

= AC

y

(7.15)

 

x˙

 

f x f y

x

 

x

 

The state matrix AS is obtained and, thus, it is implicitly assumed singularity-induced bifurcations):

by eliminating the algebraic variables that gy is not singular (i.e., absence of

AS = f x − f y gy1gx

(7.16)

There have been an extensive research on singularity-induced bifurcations [22, 113, 256]. It is now recognized that the singularity of gy at an equilibrium point is a folding of the manifold of algebraic variables. This is not actually a stability issue, but rather a modelling one. If gy is singular at a given equilibrium, then the dynamic of some of the algebraic variables yh cannot be considered infinitely fast (e.g., its time constant cannot be considered zero). In other words, recalling the discussion given in Section 1.4 of Chapter 1, the sets of variables ξi and ξf have to be revised and some of the ξf have to be passed to the set of state variables ξi. The best candidates to be switched to state variables are the subset of ξf that most participate to the zero eigenvalue of gy .

The matrix D = f y gy 1gx can be considered a degradation matrix since it degrades the stability of the matrix f x. In fact, the eigenvalues of f x are typically all negative, as in f x, each device and associated controls are basically decoupled from the others. The matrix D couples each device through the network and, hence, through variables y, which can be considered aggregation variables (see also Section 8.2 of Chapter 8). Since AC may show poorly damped or even positive real part eigenvalues, an e ective technique for improving or obtaining stability is to reduce, by means of adequate controllers, the e ect of D and, in turn, to decouple dynamic devices.

Script 7.1 Small-Signal Stability Analysis

The Python implementation of the standard small-signal stability analysis is rather simple. Provided that the Jacobian matrices of the DAE system are available, a possible implementation is as follows.

import system

from numpy.linalg import eigvals from cvxopt.umfpack import linsolve

def state matrix():

Gyx = matrix(system.DAE.Gx) linsolve(system.DAE.Gy, Gyx)

return system.DAE.Fx - system.DAE.Fy*Gyx

7.2 Small Signal Stability Analysis

161

def eigs():

As = state matrix()

return eigvals(As)

Clearly, the e ciency of the implementation strongly depends on the algorithm used for computing all eigenvalues.

Example 7.1 Eigenvalues of the IEEE 14-Bus System in the S-Domain

Figure 7.3 shows the eigenvalue analysis for the IEEE 14-bus system whose dynamic data are given in Appendix D. For the sake of illustration, only the eigenvalues with h} > −10 are shown in Figure 7.3. The figure also shows two dotted lines indicating the locus with 5% damping. Given a complex eigenvalue α ± jβ, the damping ζ is defined as:

α

(7.17)

ζ = α2 + β2

with ζ [1, 1]. The slope s of the line with a given damping ζ is given by:

 

±

ζ2

 

s =

 

1 − ζ2

 

(7.18)

 

 

The damping is an important measure of the quality of the transient response of the system. A poorly damped system oscillates for a relatively long time after a contingency, which has to be avoided. Figure 7.3 shows that a pair of complex eigenvalues is poorly damped, thus some corrective actions are advisable for improving the system response. Further discussion on oscillation damping is given in Section 16.3 of Chapter 16.

7.2.1Bifurcation Points

In most stability applications, it is of interest determining whether the system equilibrium is a bifurcation point or not, i.e., whether some eigenvalues of AS have zero real part.

At practical e ects, there are only two cases that have to be taken into account:3

1.One eigenvalue is λk = 0. This condition generally implies the occurrence of a saddle-node bifurcation [6, 35, 37, 76].

3Eigenvalue conditions for saddle-node and Hopf bifurcations are necessary but not su cient. Proper transversality conditions that impose the dependence of the critical eigenvalues on system parameters complete the definitions of these bifurcation points. Transversality conditions are omitted in the chapter for the sake of simplicity. The interested reader can find rigorous definitions in [276].

162

7 Eigenvalue Analysis

 

 

 

 

 

 

Fig. 7.3 Relevant eigenvalues in the S-domain for the IEEE 14-bus system

2.A pair of complex eigenvalues as zero real part, i.e., λh,k = ±jβ. This condition generally implies the occurrence of a Hopf bifurcation [44, 45, 77, 207, 361].

For saddle-node bifurcations, the determinant det(AS ) = 0, which directly derives from the matrix property:

nx

 

det(AS ) = λh

(7.19)

h=1

For Hopf bifurcations, the determinant of AS is not informative. However, if α ± jβ is a pair of complex eigenvalues of AS with associated eigenvectors νr ± jνi, then the following expression holds [45]:

(AS − αIn)νr + βνi = 0

(7.20)

(AS − αIn)νi − βνr = 0

 

Then the modified state matrix:

AS x

 

AM S = −βInx

(7.21)

AS

+βIn

 

is singular at the bifurcation point. It is interesting to note that AM S is singular for both saddle-node (β = 0) and Hopf bifurcations (β = 0).

7.2 Small Signal Stability Analysis

163

Since the computation of the determinant is computationally ine cient, various alternative methods can be used, for example (i) computing the eigenvalue with smallest magnitude (see also Subsection 7.3), (ii) computing the minimum singular value [39], and (iii) computing the LU factorization of AS or AM S (see also the discussion given in Section 5.4 of Chapter 5).

It has also been observed that using the complete Jacobian matrix AC can be more e cient than AS [45]. In fact, AC does not requires the computation of the inverse of gy and is generally sparser than AS . Thus sparse matrix algorithms work generally faster for AC than for AS even though the size of AC is greater than that of AS . At this regard, the following remarks are relevant:

1. For saddle-node bifurcations, from the Leibniz’s formula, one has:

det(AC ) = det

gx gy

 

 

 

 

 

 

(7.22)

 

f x f y

 

 

 

 

 

 

 

 

 

 

f

 

f g1g

 

0

I

 

f

 

 

= det

 

gy1gx

x

Iny

 

0 gy

 

x

 

y

y

 

det

nx

 

y

 

=det(gy )det(f x − f y gy 1gx)

=det(gy )det(AS )

where det(gy ) = 0, since by hypothesis gy is invertible. Hence det(AC ) = 0 i det(AS ) = 0.

2. Generalizing equation (7.20) for the complete matrix AC leads to:

gx gy

νy,r ± jνy,i

 

±

 

0

 

f x f y

νx,r ± jνx,i

= (α

 

)

νx,r ± jνx,i

 

Thus, the modified complete matrix AM C becomes:

AM C =

gx

gy

0

0

 

f x

f y +βInx

0

 

0 nx

0

gx

g y

 

 

βI

0

x

y

 

 

 

 

 

 

 

(7.23)

(7.24)

Example 7.2 Synchronous Reference Zero Eigenvalue for the IEEE 14-Bus System

In Example 7.1, Figure 7.3 shows one zero eigenvalue indicated as a circle at the intersection of the real and imaginary axes. According to the discussion above, a zero eigenvalue always requires special care.

In most situations, a zero eigenvalue implies a saddle-node bifurcation. However, in this case the bifurcation is due to the model of synchronous generators. Although the details of synchronous machine models are discussed in Chapter 15, the explanation of this issue can be explained using the simple

164

7 Eigenvalue Analysis

classical model used in Section 7.1. In (7.1), the reference angle θ0 = 0 is that of the infinite bus. The machine rotor angle δ is implicitly a relative angle, i.e., δ − θ0. Thus, as discussed in Section 7.1, the state matrix of the system does not show zero eigenvalues. Consider now the same two bus system of Figure 7.1, but assuming that the machines connected at both buses are modelled using a classical generator model. Thus, one has:

 

 

˙

 

 

 

 

 

(7.25)

 

δ1 = Ωb(ω1 − ωs)

 

 

 

ω˙ 1 =

1

(pm − pe(δ1

, δ2))

 

 

 

2H1

 

 

 

˙

 

 

 

 

 

 

 

δ2 = Ωb(ω2 − ωs)

 

 

 

 

ω˙ 2 =

1

(−pm + pe(δ1

, δ2))

 

 

 

2H2

 

where

 

e1e2

 

 

 

 

 

 

pe =

 

sin(δ1 − δ2) = k sin(δ1 − δ2)

(7.26)

 

xeq

The state matrix of the system is:

 

 

0

 

 

Ωb

 

0

 

 

0

 

 

f x =

 

 

−k cos(δ1 − δ2)

0

k cos(δ1 − δ2)

0

 

(7.27)

 

 

0

 

Ωb

 

 

0

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k cos(δ1

δ2)

0

k cos(δ1

δ2)

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

where the first and third columns are linearly dependent and, thus, det(f x) = 0 for any equilibrium point.4 Actually, the issue is not the stability of the system, but the model of the synchronous machines that refer to a fictitious ideal synchronous reference. In other words, the reference angle of the machines is not a physical angle of the network. Hence, one of the angles of the machines is redundant, as in the ODE system (7.25) rotor angles only appear as δ1 −δ2. By defining the angle and speed di erences δ12 = δ1 − δ2 and ω12 = ω1 − ω2, (7.25) becomes:

˙

= Ωb(ω1 − ω2)

(7.28)

δ12

ω˙ 12 =

1

(pm − pe(δ12))

 

 

 

2Heq

 

where Heq = H1H2/(H1 +H2). The transformed ODE system (7.28) does not show the zero eigenvalues of the original system (7.25). The transformation

4In particular, since damping is not considered, the state matrix shows two zero eigenvalues. One can easily check that, by adding a damping coe cient, the state matrix shows an unique zero eigenvalue.

7.2 Small Signal Stability Analysis

165

used in (7.28) cannot be promptly generalized for a multi-machine system, mainly for two reasons:

1.One of the synchronous machines has to be chosen as reference machine. This implies that the model of a machine changes depending if it chosen as reference or not.

2.In order to maintain a consistent model, the reference machine has to be connected through ac branches to all machines of the network. This cannot be ensured in case of network topological changes, (e.g., line outages) or if the system is composed of regions connected only through HVDC systems.

In conclusion, in multi-machine systems, each generator rotor angle and speed is referred to a fictitious ideal synchronous machine which is not physically connected to the system. As a consequence, the state matrix shows a zero eigenvalue that is not a symptom of instability but rather an intrinsic characteristic of the machine model.

7.2.2Participation Factors

Along with eigenvalues λ, it is relevant to compute the participation factors, that are evaluated in the following way [269]. Let N and W be the right and the left eigenvector matrices respectively, such that Λ = W AS N and

W = N 1, then the participation factor pij

of the ith state variable to the

jth eigenvalue can be defined as:

 

pij =

wij νji

 

(7.29)

wjT νj

 

 

In case of complex eigenvalues, the amplitude of each element of the eigenvectors is used:

p

ij

=

|wij ||νji|

(7.30)

)kn=1x |wjk ||νkj |

 

 

 

Script 7.2 Participation Factors

The following Python code implements the function for computing participation factors of a given matrix As. The function gesv accomplishes the operation N 1W and works for both real and complex matrices. The participation factor matrix pf is normalized and small eigenvalues are rounded to zero. The latter operation allows quickly detecting bifurcation points.5 In the code the eigenvalues are called mu because, for an idiosyncrasy of Python, lambda is a language reserved word.

5In fact, it takes a little while to recognize that 1.209803e15 is practically zero, especially if this number appears in a long eigenvalue list.

166

 

7 Eigenvalue Analysis

import system

 

from numpy.linalg

import eig

from cvxopt.lapack

import gesv

from cvxopt.base import matrix, spmatrix

def compute eigs(As):

mu,

N = eig(matrix(As))

N =

matrix(N)

 

n =

len(mu)

 

idx

= range(n)

 

W = matrix(spmatrix(1.0, idx, idx, (n, n), v.typecode)) gesv(N, W)

pf = mul(abs(W.T), abs(V)) b = matrix(1.0, (1, n)) WN = b * pf

pf = pf.T

for item in idx:

mur = mu[item].real mui = mu[item].imag

mu[item] = complex(round(mur, 5), round(mui, 5)) pf[item, :] /= WN[item]

Example 7.3 Eigenvalue Participation Factors for the IEEE 14-Bus System

Table 7.1 shows the full eigenvalue list for the IEEE 14-bus system, as well as the most associated state variables to each eigenvalue, the undamped natural angular frequency ω0, the damping ratio ζ and the damped natural angular frequency ωd.

The damped frequency has the following meaning. Let α ± jβ be a pair of complex conjugate eigenvalues. The frequency ω0 is defined as:

while the damping is:

ω0 =

α2 + β2

(7.31)

 

ζ =

α

 

(7.32)

 

ω0

where ζ [1, 1]. The damping is positive if the mode is stable (i.e. α < 0). Thus, one has:

α =

−ζω0

(7.33)

β =

 

1 − ζ2

ω0

 

The frequency ω0 is also called the frequency of resonance, or undamped frequency. However, the frequency that can be observed during the transient, namely the damped frequency, depends on the damping ζ, as follows:

ωd = 1 − ζ2 ω0 = β (7.34)

The frequency of resonance coincides with the damped frequency only if α = 0.

7.2 Small Signal Stability Analysis

167

Table 7.1 Eigenvalues and most associated state variables for the IEEE 14-bus system

Eigen.

Mostly associated

h }

h }

Damped Freq.

Freq.

Damping

λh

 

state variable

 

 

ωd

ω0

ζ [%]

 

 

 

 

 

 

 

 

1

 

vm AVR 1

1000

0

0

0

100

2

 

vm AVR 2

1000

0

0

0

100

3

 

vm AVR 3

1000

0

0

0

100

4

 

vm AVR 5

1000

0

0

0

100

5

 

vm AVR 4

1000

0

0

0

100

6

vr1 AVR 1, ψd Syn 1

45.22 9.375

1.492

7.351

97.92

7

vr1 AVR 1, ψd Syn 1

45.22 9.375

1.492

7.351

97.92

8

 

vr1 AVR 2

50

0

0

0

100

9

 

vr1 AVR 3

49.99

0

0

0

100

10

 

vr1 AVR 5

49.9

0

0

0

100

11

 

vr1 AVR 4

49.93

0

0

0

100

12

 

ψq Syn 1

37.37

0

0

0

100

13

 

ψd Syn 2

33.8

0

0

0

100

14

 

ψd Syn 3

31.23

0

0

0

100

15

 

ψd Syn 4

29.59

0

0

0

100

16

 

ψd Syn 5

25.79

0

0

0

100

17

 

ψq Syn 2

20.93

0

0

0

100

18

 

ψq Syn 3

18.16

0

0

0

100

19

ω Syn 4, δ Syn 4

5.592 11.05

1.758

1.97

45.17

20

ω Syn 4, δ Syn 4

5.592 11.05

1.758

1.97

45.17

21

eq

Syn 1, vf

AVR 1

0.2317 9.32

1.483

1.484

2.485

22

eq

Syn 1, vf

AVR 1

0.2317 9.32

1.483

1.484

2.485

23

ω Syn 2, δ Syn 2

3.949 10.93

1.74

1.85

33.97

24

ω Syn 2, δ Syn 2

3.949 10.93

1.74

1.85

33.97

25

ω Syn 3, δ Syn 3

3.954 10.19

1.622

1.74

36.17

26

ω Syn 3, δ Syn 3

3.954 10.19

1.622

1.74

36.17

27

ω Syn 3, δ Syn 3

2.194

8.95

1.424

1.467

23.81

28

ω Syn 3, δ Syn 3

2.194 8.95

1.424

1.467

23.81

29

 

ψq Syn 4

11.44

0

0

0

100

30

 

ψq Syn 5

9.864

0

0

0

100

31

 

ed Syn 2

4.968

0

0

0

100

32

 

ed Syn 3

3.381

0

0

0

100

33

vf

AVR 5, eq Syn 5

1.008 1.398

0.2225

0.2743

58.5

34

vf

AVR 5, eq Syn 5

1.008 1.398

0.2225

0.2743

58.5

35

vf

AVR 4, eq Syn 4

1.156 0.9523

0.1516

0.2384

77.19

36

vf

AVR 4, eq Syn 4

1.156 0.9523

0.1516

0.2384

77.19

37

eq

δ Syn 1

0

0

0

0

100

38

Syn 3, vf

AVR 3

0.6064 0.7361

0.1172

0.1518

63.58

39

eq

Syn 3, vf

AVR 3

0.6064 0.7361

0.1172

0.1518

63.58

40

eq

ω Syn 1

0.1862

0

0

0

100

41

Syn 2, vf

AVR 2

0.584 0.3424

0.05449

0.1077

86.27

42

eq

Syn 2, vf

AVR 2

0.584 0.3424

0.05449

0.1077

86.27

43

 

ed Syn 4

0.7128

0

0

0

100

44

 

ed Syn 5

0.7463

0

0

0

100

45

 

vr2 AVR 1

1.017

0

0

0

100

46

 

vr2 AVR 2

1.009

0

0

0

100

47

 

vr2 AVR 3

1.004

0

0

0

100

48

 

vr2 AVR 4

1.003

0

0

0

100

49

 

vr2 AVR 5

1.004

0

0

0

100