EE454_Power Flow Programming

13

Click here to load reader

Transcript of EE454_Power Flow Programming

Page 1: EE454_Power Flow Programming

Ki Hei, Chan

EE454

Final Project

12/9/2015

Power Flow Programming

Page 2: EE454_Power Flow Programming

1. What is the program about?

This program is about using matlab software to calculate the appropriate nodal

voltage magnitudes and angles in all the load buses. The program logic is getting

a Y-bus from all the resistance and reactance, calculate power flow for getting

mismatch matrix, and Jacobian Matrix. Finally, using Newton Raphson algorithm

method, which is taking some iteration steps in order to getting reasonable

voltage magnitudes and angles in all the bus. Thus, you are able to know all the

load flow and the direction in the transmission lines.

2. Why is that important?

Load flow studies are one of the most important aspects of power system

planning and operation. Through the load flow studies we can obtain the voltage

magnitudes and angles at each bus in the steady state. This is rather important as

the magnitudes of the bus voltages are required to be held within a specified

limit. Once the bus voltage magnitudes and their angles are computed using the

load flow, the real and reactive power flow through each line can be computed.

Also based on the difference between power flow in the sending and receiving

ends, the losses in a particular line can also be computed. Furthermore, from the

line flow we can also determine the over and under load conditions.

However, the steps for calculating the voltage and angles are annoyed because

there are many buses in a whole bus network system. Thus, there are gigantic

amount of equations have to be deal with at the same time, for example, two

equation in each PQ bus, and one equation in each PV bus. Furthermore, you

have to repeat and repeat some matrix calculation by Newton Raphson method

in order to get more accurate result. Therefore, it is very useful to build a code to

solve with this calculation problem. In addition, using Newton Raphson method

spend more steps, but the time cost is much less than normal NxN equation

solver.

3. Description of the test system

In this code, first of all, you have to consult all the resistance and impedance in all

the connected transmission lines, shunt susceptance of lines in π model, shunt

resistance in the bus, reactance of generators, power and reactive power of the

generator, and power and reactive power of the load. Afterward, you have to

identify whether the buses are Slack, PQ, PV. Slack bus means the bus sets the

angular reference for all the other buses. Since it is the angle difference between

two voltage sources that dictates the real and reactive power flow between

them, the particular angle of the slack bus is not important. However it sets the

reference against which angles of all the other bus voltages are measured. For

this reason the angle of this bus is usually chosen as 0°. Furthermore, the voltage

Page 3: EE454_Power Flow Programming

is known and I assume it usually is bus 1. PQ usually be the load bus, which

apparent power S is known, yet voltage and angle are unknown. I set PQ voltage

= 1 and angle = 0 at the beginning for first Newton Raphson algorithm iteration.

PV usually be the generator load, which active power and voltage is known, yet

reactive power of the generator and angle are unknown. Same reason, I set the

reactive power of the generator = 0 and angle = 0.

Once I figure out these information and type these information as a matrix form

named table, Ptable, and gTable, I can run the code. In my code, first of all, it scan

all the resistance and reactance to build a Y matrix. Next, matlab using the data in

Y-matrix and scan the voltage magnitude and angles to calculate active power

flow and reactive power flow and compare with injected active power (injected

active power = generator active power – load active power) and injected reactive

power (injected reactive power = generative reactive power – load reactive

power) in order to build mismatch matrix. Furthermore, these information is

enough for me to get the Jacobian matrix. Afterward, the cross product of the

inverse of Jacobian matrix cross and mismatch match produce the difference of V

and angles. Finally, update the new voltage and angles and repeat all the steps

from calculate power flow. For the default, I set the maximum iteration is three.

4. Answer the “question for the report”

a. Report the Jacobian of the 2ndand 3rditerations for both systems

Test A:

2nd Jacobian =

3rd Jacobian =

Page 4: EE454_Power Flow Programming

Test B:

2nd Jacobian =

3rd Jacobian =

Page 5: EE454_Power Flow Programming

b. Compute the Jacobian for the first iteration, and continue all the iterations

without updating it.

Does update Jacobian in test A:

1st: tolerance = 2.2129

2nd: tolerance = 0.0490

3rd: tolerance = 6.1540e-05

4th: tolerance = 1.0261e-10

5th: tolerance = 7.5651e-15

Without update Jacobian in Test A:

1st : tolerence = 2.2129

2nd : tolerance = 0.0490

3rd : tolerence = 0.0023

4th: tolerance = 1.1975e-04

5th: tolerance = 7.2651e-06

I changed to stop updating Jacobian matrix and just updating voltage, angle,

and mismatch matrix. Consequently, the voltage and angle does converge but

become slowler. As we still using our initial gussing in Jacobian matrix, it has

to take more iteration in order to get appropiate value.

c. Plot of the voltage magnitudes and angles as a function of the bus number for

the first and last iterations of both systems

Test A:

1st

Page 6: EE454_Power Flow Programming

3rd

Test B:

1st

1 1.5 2 2.5 3 3.5 4

bus nmber

-0.2

0

0.2

0.4

0.6

0.8

1

1.2

voltage(pu)

angle(rad)

1 1.5 2 2.5 3 3.5 4

bus number

-0.2

0

0.2

0.4

0.6

0.8

1

1.2

voltage

angle

Page 7: EE454_Power Flow Programming

5th

d. The power flowing from bus 3 to 4 in test system A, and explain the reasons

of such active and reactive flows

I assume 30 iteration is high enough to get an accurate answer. I get V3 =

0.9824pu, V4 = 1.02pu

S34 = V3*(V4-V3)*Y34 = -0.0637 + 0.3187i pu

From the result, the negative active power indicate the power flow is flowing

from bus 4 to bus 3. The map shows there has a generator in bus 4, and bus 3

is just a load bus. The positive reactive power indicate bus 3 is capacitance.

0 2 4 6 8 10 12

bus number

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

1.2

voltage

angle

0 2 4 6 8 10 12

bus number

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

1.2

voltage

angle

Page 8: EE454_Power Flow Programming

According to the map, there has a capacitor connected to bus 3.

e. Same as before but for buses 8 and 11 for test system B

V8 = 1.01, V11 = 0.9826

S8,11 = V8*(V11-V8)*Y8,11 = 0.1201 - 0.0604ipu

The positive active power indicate the power flow is flowing from bus 8 to

bus 11. Negative reactive power indicate bus 8 is inductive. In the map, a

generator is connected in bus 8, and there are no capacitor to reduce

inductive power.

f. Which is the bus with the lowest voltage magnitude in system A and B?

System A: the lowest is bus3

System B: the lowest is bus7

g. What could you do to increase the voltage at that bus? Show the effect of

your proposed solution numerically

In system A, adding lines between bus1 to bus3 and bus3 to bus4. I divide the

reactance and impedance of the line by 2, the 3rd voltage of bus 3 from

0.9989pu to 1.0035pu eventually. Also, it indicates that if the resistance or

reactance value of the transmission line decrease, voltage will increase. Thus,

the other way to boost the bus3 voltage are build lines with higher nominal

voltage, build plants closer to the load center, and add sources of reactive

power closer to load.

In addition, increase the prime mover of the generator is still work, yet the

bus3 in system A and bus11 in system 7 are load bus that I can’t do it.

Page 9: EE454_Power Flow Programming

5. Appendix with the MATLAB code

Page 10: EE454_Power Flow Programming
Page 11: EE454_Power Flow Programming
Page 12: EE454_Power Flow Programming
Page 13: EE454_Power Flow Programming