EE454_Power Flow Programming
Click here to load reader
-
Upload
ki-hei-chan -
Category
Documents
-
view
226 -
download
0
Transcript of EE454_Power Flow Programming
![Page 1: EE454_Power Flow Programming](https://reader038.fdocuments.net/reader038/viewer/2022100801/588429b21a28ab485c8b70a3/html5/thumbnails/1.jpg)
Ki Hei, Chan
EE454
Final Project
12/9/2015
Power Flow Programming
![Page 2: EE454_Power Flow Programming](https://reader038.fdocuments.net/reader038/viewer/2022100801/588429b21a28ab485c8b70a3/html5/thumbnails/2.jpg)
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](https://reader038.fdocuments.net/reader038/viewer/2022100801/588429b21a28ab485c8b70a3/html5/thumbnails/3.jpg)
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](https://reader038.fdocuments.net/reader038/viewer/2022100801/588429b21a28ab485c8b70a3/html5/thumbnails/4.jpg)
Test B:
2nd Jacobian =
3rd Jacobian =
![Page 5: EE454_Power Flow Programming](https://reader038.fdocuments.net/reader038/viewer/2022100801/588429b21a28ab485c8b70a3/html5/thumbnails/5.jpg)
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](https://reader038.fdocuments.net/reader038/viewer/2022100801/588429b21a28ab485c8b70a3/html5/thumbnails/6.jpg)
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](https://reader038.fdocuments.net/reader038/viewer/2022100801/588429b21a28ab485c8b70a3/html5/thumbnails/7.jpg)
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](https://reader038.fdocuments.net/reader038/viewer/2022100801/588429b21a28ab485c8b70a3/html5/thumbnails/8.jpg)
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](https://reader038.fdocuments.net/reader038/viewer/2022100801/588429b21a28ab485c8b70a3/html5/thumbnails/9.jpg)
5. Appendix with the MATLAB code
![Page 10: EE454_Power Flow Programming](https://reader038.fdocuments.net/reader038/viewer/2022100801/588429b21a28ab485c8b70a3/html5/thumbnails/10.jpg)
![Page 11: EE454_Power Flow Programming](https://reader038.fdocuments.net/reader038/viewer/2022100801/588429b21a28ab485c8b70a3/html5/thumbnails/11.jpg)
![Page 12: EE454_Power Flow Programming](https://reader038.fdocuments.net/reader038/viewer/2022100801/588429b21a28ab485c8b70a3/html5/thumbnails/12.jpg)
![Page 13: EE454_Power Flow Programming](https://reader038.fdocuments.net/reader038/viewer/2022100801/588429b21a28ab485c8b70a3/html5/thumbnails/13.jpg)