2.8 Basic Newton - Raphson (NR) Techniques

2.8
Basic Newton - Raphson (NR) Techniques
Before discussing the application of NR technique in load flow solution, let us first review the basic
procedure of solving a set of non-linear algebraic equation by means of NR algorithm. Let there be
‘n’ equations in ‘n’ unknown variables x1 , x2 , ⋯⋯ xn as given below,
f1 (x1 , x2 , ⋯⋯ xn )
f2 (x1 , x2 , ⋯⋯ xn )
⋮
⋮
fn (x1 , x2 , ⋯⋯ xn )
⎫
= b1 ⎪
⎪
⎪
⎪
⎪
⎪
= b2 ⎪
⎪
⎪
⎪
⋮ ⋮ ⎬
⎪
⎪
⎪
⋮ ⋮ ⎪
⎪
⎪
⎪
⎪
= bn ⎪
⎪
⎭
(2.33)
In equation (2.33), the quantities b1 , b2 , ⋯⋯ bn as well as the functions f1 , f2 , ⋯⋯ fn are known.
To solve equation (2.33), first we take an initial guess of the solution and let these initial guesses be
(0)
(0)
(0)
denoted as, x1 , x2 , ⋯⋯ xn . Subsequently, first order Taylor’s series expansion (neglecting the
higher order terms) is carried out for these equation around the initial guess of solution. Also let
(0)
(0)
(0) T
the vector of initial guess be denoted as x(0) = [x1 , x2 , ⋯⋯ xn ] . Now, application of Taylor’s
expansion on the equations of set (2.33) yields,
⎫
∂f1
∂f1
∂f1
⎪
∆x1 +
∆x2 + ⋯⋯ +
∆xn = b1 ⎪
⎪
⎪
⎪
∂x1
∂x2
∂xn
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
∂f2
∂f2
∂f2
(0)
(0)
(0)
⎪
f2 (x1 , x2 , ⋯⋯ xn ) +
∆x1 +
∆x2 + ⋯⋯ +
∆xn = b2 ⎪
⎪
⎬
∂x1
∂x2
∂xn
⎪
⋮
⋮ ⋮ ⎪
⎪
⎪
⎪
⎪
⎪
⋮
⋮ ⋮ ⎪
⎪
⎪
⎪
⎪
∂fn
∂fn
∂fn
⎪
(0)
(0)
(0)
⎪
fn (x1 , x2 , ⋯⋯ xn ) +
∆x1 +
∆x2 + ⋯⋯ +
∆xn = bn ⎪
⎪
⎪
∂x1
∂x2
∂xn
⎭
(0)
(0)
f1 (x(0)
1 , x2 , ⋯⋯ xn ) +
(2.34)
Equation (2.34) can be written as,
⎡ ∂f1
⎢
⎡ f1 (x(0) ) ⎤ ⎢⎢ ∂x1
⎢
⎥ ⎢
⎢
⎥ ⎢
∂f
⎢
⎥
(0)
⎢ f2 (x ) ⎥ ⎢⎢ 2
⎢
⎥ + ⎢ ∂x1
⎢
⎥ ⎢
⋮
⎢
⎥ ⎢ ⋮
⎢
⎥
⎢fn (x(0) )⎥ ⎢⎢ ∂f
⎣
⎦ ⎢ n
⎢
⎣ ∂x1
∂f1
∂x2
∂f2
∂x2
⋮
∂fn
∂x2
∂f1 ⎤
⎥
∂xn ⎥⎥ ⎡⎢ ∆x1 ⎤⎥ ⎡⎢ b1 ⎤⎥
⎥⎢
⎥ ⎢ ⎥
∂f2 ⎥⎥ ⎢
⎥ ⎢ ⎥
⋯
⎥ ⎢⎢ ∆x2 ⎥⎥ = ⎢⎢ b2 ⎥⎥
∂xn ⎥⎥ ⎢
⋮ ⎥⎥ ⎢⎢ ⋮ ⎥⎥
⋮ ⎥⎥ ⎢⎢
⎥ ⎢ ⎥
⎢
⎥ ⎢bn ⎥
∆x
⎥
n
∂fn ⎥ ⎣
⎦ ⎣ ⎦
⋯
⎥
∂xn ⎦
⋯
(2.35)
In equation (2.35), the matrix containing the partial derivative terms is known as the Jacobin
39
matrix (J). As can be seen, it is a square matrix. Hence, from equation (2.35),
⎤
⎡
⎤
⎡
⎤
⎡
⎢ ∆m1 ⎥
⎢ b1 − f1 (x(0) ) ⎥
⎢ ∆x1 ⎥
⎥
⎢
⎥
⎢
⎥
⎢
⎥
⎢
⎢
⎢ ∆x ⎥
(0) ) ⎥
−1 ⎢ ∆m2 ⎥
−1 ⎢ b2 − f2 (x
⎥
⎢ 2⎥
⎥
⎥ = [J] ⎢
⎥ = [J] ⎢
⎢
⎢ ⋮ ⎥
⎥
⎢
⎢ ⋮ ⎥
⋮
⎥
⎢
⎥
⎢
⎥
⎢
⎥
⎢
⎥
⎢
⎥
⎢
⎢∆mn ⎥
⎢bn − fn (x(0) )⎥
⎢∆xn ⎥
⎦
⎣
⎦
⎣
⎦
⎣
(2.36)
Equation (2.36) is the basic equation for solving the ‘n’ algebraic equations given in equation
(2.33). The steps of solution are as follow:
Step 1: Assume a vector of initial guess x(0) and set iteration counter k = 0.
Step 2: Compute f1 (x(k) ), f2 (x(k) ), ⋯⋯ fn (x(k) ).
Step 3: Compute ∆m1 , ∆m2 , ⋯⋯ ∆mn .
Step 4: Compute error =max [∣∆m1 ∣ , ∣∆m2 ∣ , ⋯⋯ ∣∆mn ∣]
Step 5: If error ≤ (pre - specified tolerance), then the final solution vector is x(k) and print
the results. Otherwise go to step 6.
Step 6: Form the Jacobin matrix analytically and evaluate it at x = x(k) .
T
Step 7: Calculate the correction vector ∆x = [∆x1 , ∆x2 , ⋯⋯ ∆xn ] by using equation (2.36).
Step 8: Update the solution vector x(k+1) = x(k) +∆x and update k = k+1 and go back to step 2.
With this basic understanding of NR technique, we will now discuss the application of NR
technique for load flow solution. We will first discuss the Newton Raphson load- flow (NRLF) in
polar co-ordinates.
2.9
Newton Raphson load flow (NRLF) in polar co-ordinates
For NRLF techniques, the starting equations are same as those in equations (2.27) and (2.28), which
are reproduced below:
n
Pi = ∑ Vi Vj Yij cos(θi − θj − αij )
(2.37)
j=1
n
Qi = ∑ Vi Vj Yij sin(θi − θj − αij )
(2.38)
j=1
Now, as before let us again assume that in a ‘n’ bus, ‘m’ machine system, the first ‘m’ buses
are the generator buses with bus 1 being the slack bus. Therefore, the unknown quantities are;
θ2 , θ3 , ⋯⋯ θn (total ‘n-1’ quantities) and Vm+1 , Vm+2 , ⋯⋯ Vn (total ‘n-m’ quantities). Thus the total
number of unknown quantities is n − 1 + n − m = 2n − m − 1. Against these unknown quantities, the
sp
sp
specified quantities are; P2sp , P3sp , ⋯⋯ Pnsp (total ‘n-1’ quantities) and Qsp
m+1 , Qm+2 , ⋯⋯ Qn (total
‘n-m’ quantities). Hence, the total number of specified quantities is also (2n − m − 1). Let the
T
T
vectors of unknown quantities be denoted as θ = [θ2 , θ3 , ⋯⋯ θn ] and V = [Vm+1 , Vm+2 , ⋯⋯ Vn ] .
T
Similarly let the vector of the specified quantities be denoted as Psp = [P2sp , P3sp , ⋯⋯ Pnsp ] and
sp
sp
Qsp = [Qsp
m+1 , Qm+2 , ⋯⋯ Qn ]. Also note from equations (2.37) and (2.38) that the real and reactive
power injections at any bus are functions of θ and V. Thus, these injection quantities can be
40
written as Pi = Pi (θ, V) for i = 2, 3, ⋯⋯ n and Qi = Qi (θ, V) for i = (m + 1), (m + 2), ⋯⋯ n.
(0)
For proceeding with NRLF, we assume initial guesses of the bus voltage angles (θ ) and the bus
voltage magnitudes (V(0) ). Subsequently, Taylor’s series expansion of equations (2.37) and (2.38)
yields (following the same procedure as in the basic N-R technique),
⎡ ∂P2
⎢
⎢ ∂θ
⎢
2
⎢
⎢ ⋮
⎢
⎢ ∂Pn
⎢
⎢ ∂θ
⎢
2
⎢
⎢ ∂Qm+1
⎢
⎢ ∂θ
⎢
2
⎢
⎢ ⋮
⎢
⎢ ∂Qn
⎢
⎢ ∂θ
⎣
2
∂P2
∂P2
∂θn
∂Vm+1
⋮
⋮
∂Pn
∂Pn
⋯
∂θn
∂Vm+1
∂Qm+1 ∂Qm+1
⋯
∂θn
∂Vm+1
⋮
⋮
∂Qn
∂Qn
⋯
∂θn
∂Vm+1
⋯
∂P2 ⎤⎥ ⎡
(0)
sp
⎤
⎡
∆θ2 ⎤⎥ ⎢⎢ P2 − P2 (θ , V(0) ) ⎥⎥
⎢
⎥
∂Vn ⎥ ⎢
⎥ ⎢
⎥
⋮
⎥
⎥⎢
⎥
⋮ ⎥⎥ ⎢⎢ ⋮ ⎥⎥ ⎢⎢
⎥
⎥
⋮
∂Pn ⎥⎥ ⎢⎢ ⋮ ⎥⎥ ⎢⎢
⎥
(0)
sp
⎥
⎢
⋯
(0)
⎥
⎢
⎥
(θ
)
P
−
P
,
V
⎥
n
∂Vn ⎥ ⎢ ∆θn ⎥ ⎢⎢ n
⎥
⎥ = ⎢ sp
⎥⎢
⎥
(0)
(0)
∂Qm+1 ⎥⎥ ⎢⎢∆Vm+1 ⎥⎥ ⎢Q
, V )⎥⎥
m+1 − Qm+1 (θ
⎢
⋯
⎥
∂Vn ⎥⎥ ⎢⎢ ⋮ ⎥⎥ ⎢⎢
⋮
⎥
⎥ ⎢
⎥⎢
⎥
⋮ ⎥⎥ ⎢⎢ ⋮ ⎥⎥ ⎢
⎥
⋮
⎥
⎥ ⎢⎢
∂Qn ⎥⎥ ⎢⎢
⎥ ⎢ Qsp − Q (θ (0) , V(0) ) ⎥⎥
∆V
⋯
m+1
⎦ ⎣
n
n
⎦
∂Vn ⎥⎦ ⎣
⋯
(2.39)
(0)
In equation (2.39), the quantity Pi (θ , V(0) ) is nothing but the calculated value of Pi with
(0)
(0)
vectors θ , V(0) . As a result, commonly, the quantity Pi (θ , V(0) ) is denoted as Pical . With
these notations, equation (2.39) can be written as,
Psp − Pcal
J1 J2 ∆θ
∆P
][
] = [ sp
[
]=[
]
cal
J3 J4 ∆V
Q −Q
∆Q
(2.40)
In equation (2.40) the vectors Pcal and Qcal are defined as; Pcal = [P2cal , P3cal , ⋯⋯ Pncal ] and
cal
cal
sp are of dimension (n − 1) × 1
Qcal = [Qcal
m+1 , Qm+2 , ⋯⋯ Qn ]. Also note that the vectors θ and P
each and the vectors V and Qsp are of dimension (n − m) × 1 each. Therefore, from equations (2.39)
and (2.40),
T
⎡ ∂P2 ∂P2
∂P2 ⎤
⎢
⎥
⋯
⎢ ∂θ2 ∂θ3
∂θn ⎥⎥
⎢
⎢
⎥
⎢ ∂P3 ∂P3
⎥
∂P
3
⎢
⎥
∂P ⎢
⋯
⎥
= ⎢ ∂θ2 ∂θ3
J1 =
∂θn ⎥⎥
∂θ ⎢
⎢ ⋮
⋮
⋮ ⎥⎥
⎢
⎢ ∂Pn ∂Pn
∂Pn ⎥⎥
⎢
⋯
⎢
⎥
⎣ ∂θ2 ∂θ3
∂θn ⎦
(2.41)
⎡ ∂P2
∂P2
∂P2 ⎤
⎢
⎥
⋯
⎢ ∂Vm+1 ∂Vm+2
∂Vn ⎥⎥
⎢
⎢
⎥
⎢ ∂P3
⎥
∂P
∂P
3
3
⎢
⎥
∂P ⎢
⋯
⎥
= ⎢ ∂Vm+1 ∂Vm+2
J2 =
∂Vn ⎥⎥
∂V ⎢
⎢ ⋮
⋮
⋮ ⎥⎥
⎢
⎢ ∂Pn
∂Pn
∂Pn ⎥⎥
⎢
⋯
⎢
⎥
⎣ ∂Vm+1 ∂Vm+2
∂Vn ⎦
(2.42)
41
⎡ ∂Qm+1 ∂Qm+1
∂Qm+1 ⎤
⎥
⎢
⋯
⎢ ∂θ2
∂θ3
∂θn ⎥⎥
⎢
⎥
⎢
⎥
⎢ ∂Qm+2 ∂Qm+2
∂Q
m+2
⎥
⎢
∂Q ⎢
⋯
⎥
J3 =
= ⎢ ∂θ2
∂θ3
∂θn ⎥⎥
∂θ ⎢
⎢ ⋮
⋮
⋮ ⎥⎥
⎢
⎢ ∂Qn
∂Qn ⎥⎥
∂Qn
⎢
⋯
⎥
⎢
⎣ ∂θ2
∂θ3
∂θn ⎦
(2.43)
⎡ ∂Qm+1 ∂Qm+1
∂Qm+1 ⎤
⎥
⎢
⋯
⎢ ∂Vm+1 ∂Vm+2
∂Vn ⎥⎥
⎢
⎥
⎢
⎥
⎢ ∂Qm+2 ∂Qm+2
∂Q
m+2
⎥
⎢
∂Q ⎢
⋯
⎥
J4 =
= ⎢ ∂Vm+1 ∂Vm+2
∂Vn ⎥⎥
∂V ⎢
⎢ ⋮
⋮
⋮ ⎥⎥
⎢
⎢ ∂Qn
∂Qn
∂Qn ⎥⎥
⎢
⋯
⎥
⎢
⎣ ∂Vm+1 ∂Vm+2
∂Vn ⎦
(2.44)
In equations (2.41) to (2.44) the sizes of the various matrices are as follows: J1 → (n−1)×(n−1),
J2 → (n − 1) × (n − m), J3 → (n − m) × (n − 1) and J4 → (n − m) × (n − m). Now, equation (2.40)
can be written in compact form as,
[J] [∆X] = [∆M ]
(2.45)
J1 J2
] is known as the Jacobian matrix, the vector ∆X =
J3 J4
∆θ
Psp − Pcal
[
] is known as the correction vector and the vector ∆M = [ sp
] is known as the
∆V
Q − Qcal
mismatch vector. Further, the size of the matrix J is (2n − m − 1) × (2n − m − 1) while the sizes of
both the vectors ∆X and ∆M is (2n − m − 1) × 1.
In equation (2.45), the matrix J = [
Equation (2.45) forms the basis of the NRLF (polar) algorithm, which is described below. Please
note that in the algorithm described below it is assumed that there is no generator which violates
its reactive power generation or absorption limit. The case of violation of reactive power generation
or absorption limit would be dealt with a little later.
Basic NRLF (polar) 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. Let the vectors of the initial voltage magnitudes and angles be denoted as V(0) and θ (0)
respectively.
Step 2: Set iteration counter k = 1.
(k−1)
Step 3: Compute the vectors Pcal and Qcal with the vectors θ
and V(k−1) thereby forming
T
the vector ∆M . Let this vector be represented as ∆M = [∆M1 , ∆M2 , ⋯⋯ ∆M2n−m−1 ] .
Step 4: Compute error = max (∣∆M1 ∣ , ∣∆M2 ∣ , ⋯⋯ ∣∆M2n−m−1 ∣).
(k−1)
Step 5: If error ≤ (pre - specified tolerance), then the final solution vectors are θ
and
42
V(k−1) and print the results. Otherwise go to step 6.
(k−1)
Step 6: Evaluate the Jacobian matrix with the vectors θ
and V(k−1) .
Step 7: Compute the correction vector ∆X by solving equation (2.45).
(k)
Step 8: Update the solution vectors θ
= θ (k−1) + ∆θ and V(k) = V(k−1) + ∆V . Update
k = k + 1 and go back to step 3.
In the above algorithm, the Jacobian matrix needs to be evaluated at each iteration. Therefore,
the element of the Jacobian matrix needs to be found out analytically. This is discussed next.
Formation of Jacobian matrix elements for NRLF (polar) technique
To derive the elements of the Jacobian matrix, let us revisit equations (2.37) and (2.38).
n
n
Pi = ∑ Vi Vj Yij cos(θi − θj − αij ) = V Gii + ∑ Vi Vj Yij cos(θi − θj − αij )
2
i
j=1
j =1
≠i
n
n
j=1
j =1
≠i
Qi = ∑ Vi Vj Yij sin(θi − θj − αij ) = −Vi2 Bii + ∑ Vi Vj Yij sin(θi − θj − αij )
(2.46)
(2.47)
In the above two equations, the relations Gii = Yii cos(αii ) and Bii = Yii sin(αii ) have been used.
From the expressions of the Pi and Qi in equations (2.46) and (2.47) respectively, the elements of
the Jacobian matrix can be calculated as follows.
Matrix J1 (=
∂P
) (in this case, i = 2, 3, ⋯⋯ n,
∂θ
j = 2, 3, ⋯⋯ n)
n
∂Pi
= − ∑ Vi Vk Yik sin(θi − θk − αik );
∂θj
k=1
j=i
(2.48)
≠i
∂Pi
= Vi Vj Yij sin(θi − θj − αij );
∂θj
Matrix J2 (=
∂P
) (in this case, i = 2, 3, ⋯⋯ n,
∂V
j≠i
(2.49)
j = (m + 1), (m + 2), ⋯⋯ n)
n
∂Pi
= 2Vi Gii + ∑ Vk Yik cos(θi − θk − αik );
∂Vj
k=1
j=i
(2.50)
≠i
∂Pi
= Vi Yij cos(θi − θj − αij );
∂Vj
43
j≠i
(2.51)
Matrix J3 (=
∂Q
) (in this case, i = (m + 1), (m + 2), ⋯⋯ n,
∂θ
j = 2, 3, ⋯⋯ n)
n
∂Qi
= ∑ Vi Vk Yik cos(θi − θk − αik );
∂θj k = 1
j=i
(2.52)
≠i
∂Qi
= −Vi Vj Yij cos(θi − θj − αij );
∂θj
Matrix J4 (=
∂Q
) (in this case, i = (m + 1), (m + 2), ⋯⋯ n,
∂V
j≠i
(2.53)
j = (m + 1), (m + 2), ⋯⋯ n).
n
∂Qi
= −2Vi Bii + ∑ Vk Yik sin(θi − θk − αik );
∂Vj
k=1
j=i
(2.54)
≠i
∂Qi
= Vi Yij sin(θi − θj − αij );
∂Vj
j≠i
(2.55)
With these expressions of Jacobian elements given in equations (2.48)-(2.55), the Jacobian matrix
can be evaluated at each iteration as discussed earlier.
Now, in the basic NRLF (polar) algorithm described earlier, the generator Q-limits have not
been considered. To accommodate the generator Q-limits, at the beginning of each iteration, reactive power absorbed or produced by each generator is calculated. If the calculated reactive power
is within the specified limits, the generator is retained as PV bus, otherwise the generator bus is
converted to a PQ bus, with the voltage at this bus no longer held at the specified value. The
detailed algorithm is as follows.
Complete NRLF (polar) 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. Let the vectors of the initial voltage magnitudes and angles be denoted as V(0) and θ (0)
respectively.
Step 2: Set iteration counter k = 1.
Step 3: For i = 2, 3, ⋯⋯ m, carry out the following operations.
a) Calculate,
n
= ∑ Vi(k−1) Vj(k−1) Yij sin (θi(k−1) − θj(k−1) − αij )
Q(k)
i
j=1
(k)
(k)
b) If, Qmin
≤ Qi ≤ Qmax
; then assign ∣V̄i ∣ = Vispec and the ith bus is retained as PV bus
i
i
for k th iteration.
(k)
(k)
sp
max
min
c) If Qi > Qmax
, then assign Qsp
or, if Qi < Qmin
. In
i
i = Qi
i , then assign Qi = Qi
44
both the cases, this bus is converted to PQ bus. Hence, its voltage magnitude becomes an unknown
for the present iteration (thereby introducing an extra unknown quantity) and to solve for this extra
unknown quantity, an extra equation is required, which is obtained by the new value of Qsp
i (as
th
shown above). Therefore, when the i bus is converted to a PQ bus, the dimensions of both ∆V
and ∆Q vectors increases by one.
In general, if l generator buses (l ≤ (m − 1)) violate their corresponding reactive power limits at
step 3, then the dimensions of both ∆V and ∆Q vectors increases from (n − m) to (n − m + l).
However, the dimensions of both ∆P and ∆θ vectors remain the same. Therefore, the size of
matrix J2 becomes (n − 1) × (n − m + l), that of matrix J3 becomes (n − m + l) × (n − 1) and the
matrix J4 becomes of size (n − m + l) × (n − m + l). The size of matrix J1 , however, does not change.
Hence, the size of the matrix J becomes (2n − m − 1 − l) × (2n − m − 1 − l) while the sizes of both
the vectors ∆X and ∆M (in equation (2.45)) becomes (2n − m − 1 − l) × 1. Of course, if there is
no generator reactive power limit violation, then l = 0.
(k−1)
Step 4: Compute the vectors Pcal and Qcal with the vectors θ
and V(k−1) thereby forming
T
the vector ∆M . Let this vector be represented as ∆M = [∆M1 , ∆M2 , ⋯⋯∆M2n−m−1−l ] .
Step 5: Compute error = max (∣∆M1 ∣ , ∣∆M2 ∣ , ⋯⋯ ∣∆M2n−m−1−l ∣).
(k−1)
Step 6: If error ≤ (pre - specified tolerance), then the final rotation vectors are θ
and
(k−1)
V
and print the results. Otherwise go to step 7.
(k−1)
Step 7: Evaluate the Jacobian matrix with the vectors θ
and V(k−1) .
Step 8: Compute the correction vector ∆X by solving equation (2.45).
(k)
Step 9: Update the solution vectors θ
= θ (k−1) + ∆θ and V(k) = V(k−1) + ∆V . Update
k = k + 1 and go back to step 3.
In the next lecture, we will look at an example of NRLF (polar) technique.
45