Fundamentals Notes Grady June 2007 Print
Fundamentals Notes Grady June 2007 Print
June 2007
Table of Contents
1. Fundamentals p. 2
2. Three Phase Circuits p. 40
3. Transformers p. 56
4. Per Unit System and Sequence Networks p. 86
5. Transmission Lines p. 115
6. Symmetrical Components p. 165
7. More Sequence Networks p. 171
8. System Matrices p. 175
9. Programming Considerations p. 213
10. Short Circuits and Voltage Sags p. 228
11. Loadflow p. 270
12. Stability p. 314
13. Lightning, Grounding, and Shock Energy p. 338
14. Harmonic Filters p. 386
Grady 2007, p. 1
Mag = 10 12 8
Ang = 0 -90 45
-360 10 3.68E-15 5.656854 15.65685
-358 9.993908 0.418794 5.455987 15.86869 30
-356 9.975641 0.837078 5.248472 16.06119
-354 9.945219 1.254342 5.034563 16.23412
-352 9.902681 1.670077 4.81452 16.38728 20
-350 9.848078 2.083778 4.588611 16.52047
-348 9.781476 2.49494 4.357112 16.63353
-346 9.702957 2.903063 4.120305 16.72632 10
-344 9.612617 3.307648 3.878477 16.79874
-342 9.510565 3.708204 3.631924 16.85069
-340 9.396926 4.104242 3.380946 16.88211 0
-338 9.271839 4.495279 3.125849 16.89297 -360 -270 -180 -90 0 90 180 270 360
-336 9.135455 4.88084 2.866944 16.88324
-334 8.98794 5.260454 2.604545 16.85294 -10
-332 8.829476 5.633659 2.338974 16.80211
-330 8.660254 6 2.070552 16.73081
-328 8.480481 6.359031 1.799608 16.63912 -20
-326 8.290376 6.710315 1.526472 16.52716
-324 8.09017 7.053423 1.251476 16.39507
-322 7.880108 7.387938 0.974955 16.243 -30
-320 7.660444 7.713451 0.697246 16.07114
-318 7.431448 8.029567 0.418688 15.8797
-316 7.193398 8.3359 0.139619 15.66892
30
-314 6.946584 8.632078 -0.13962 15.43904
-312 6.691306 8.917738 -0.41869 15.19036
-310 6.427876 9.192533 -0.69725 14.92316
20
-308 6.156615 9.456129 -0.97495 14.63779
-306 5.877853 9.708204 -1.25148 14.33458
-304 5.591929 9.948451 -1.52647 14.01391
10
-302 5.299193 10.17658 -1.79961 13.67616
-300 5 10.3923 -2.07055 13.32175
-298 4.694716 10.59537 -2.33897 12.95111
0
-296 4.383711 10.78553 -2.60455 12.56469
-294 4.067366 10.96255 -2.86694 12.16297 -360 -270 -180 -90 0 90 180 270 360
-292 3.746066 11.12621 -3.12585 11.74642
-10
-290 3.420201 11.27631 -3.38095 11.31557
-288 3.09017 11.41268 -3.63192 10.87092
-286 2.756374 11.53514 -3.87848 10.41304
-20
-284 2.419219 11.64355 -4.1203 9.942463
-282 2.079117 11.73777 -4.35711 9.459776
-280 1.736482 11.81769 -4.58861 8.965563
-30
-278 1.391731 11.88322 -4.81452 8.460428
-276 1.045285 11.93426 -5.03456 7.944984
-274 0.697565 11.97077 -5.24847 7.419861
Grady 2007, p. 2
Grady 2007, p. 3
Grady 2007, p. 4
Grady 2007, p. 5
Grady 2007, p. 6
Grady 2007, p. 7
Grady 2007, p. 8
Grady 2007, p. 9
Grady 2007, p. 10
Grady 2007, p. 11
Grady, Definitions, June 2007, Page 1
Definitions
Definitions related to power. RMS values, active and reactive power, power factor, power flow
in transmission lines. Review of per unit system and the advantages that it offers.
1. Single-Phase Definitions
to T
1 2
V RMS
T ³v (t )dt , where T is the period of v(t).
to
1 cos(2 A)
If v(t ) V sin(Zt G ) , where V is the peak value, then using sin 2 ( A) , V RMS
2
becomes
V
V RMS .
2
Instantaneous power flowing to a load, using the sign convention shown in Figure 1, is defined
as
p(t ) v(t ) x i (t ) .
i(t) --->
+
p(t) --->
v(t) p(t) = v(t) i(t)
to T
1
P
T ³ p(t )dt , where T is the period of p(t ) .
to
VI
p(t ) v(t ) x i (t ) >cos(G T ) cos(2Zt G T )@ .
2
Grady 2007, p. 12
Grady, Definitions, June 2007, Page 2
Note that p(t ) has double-frequency and time-invariant components. The average value of p(t )
is the time-invariant component, or
VI
P cos(G T ) .
2
V I
Since V RMS and I RMS , then
2 2
P2 Q2 2
V RMS 2
x I RMS .
S P jQ ,
so that
P Re al^S ` , Q Imag^S ` .
The magnitude of S is
|S| P2 Q2 ,
which is identical to
| S | V RMS x I RMS .
~ ~ ~~
Using voltage and current phasors V | V RMS | G and I | I RMS | T , the product V I * is
Therefore,
Grady 2007, p. 13
Grady, Definitions, June 2007, Page 3
~~
S P jQ V I * .
~ ~ ~ ~
When I lags V , Q is positive, and the power factor is lagging. When I leads V , Q is
negative, and the power factor is leading. Thus, an inductive load has a lagging power factor and
absorbs Q, while a capacitive load has a leading power factor and produces Q.
P
DPF .
S
For sinusoidal systems, total power factor is identical to displacement power factor defined
previously as the cosine of the relative phase angle between voltage and current.
2 § 1 ·
P 2
Q 2 2
S P 2
P P2¨ 1¸ , or
2 ¨ 2 ¸
DPF © DPF ¹
1
Q P 1 .
2
DPF
The relationships among P, Q, S, and pf are shown in the power factor triangle given in Figure 2.
S P
Q pf = ------
S
The impact of power factor on the Q/P ratio is given below in the Table 1.
Grady 2007, p. 14
Grady, Definitions, June 2007, Page 4
DPF Q/P
1.0 0.00
0.9 0.48
0.8 0.75
0.707 1.00
0.6 1.33
Now, consider the power flow through a purely inductive circuit element, such as a lossless
transmission line or transformer shown in Figure 3.
jX
P + j Q -->
+ +
Vs Gs Vr Gr
- -
The active and reactive power flows, measured at the sending end S, can be shown to be
VS V R VS
P sin(T S T R ) , Q >VS VR cos(T S T R )@ .
X X
V
P D (T S T R ) , Q D S >VS V R @ .
X
Grady 2007, p. 15
Grady 2007, p. 16
Grady 2007, p. 17
Grady 2007, p. 18
Grady 2007, p. 19
Grady 2007, p. 20
Grady 2007, p. 21
A load consists of a 47ȍ resistor and 10mH inductor in series. The load is energized by a 120V,
60Hz voltage source. The phase angle of the voltage source is zero.
a. Determine the phasor current
b. Determine the load P, pf, Q, and S.
c. Find an expression for instantaneous p(t)
Grady 2007, p. 22
Grady 2007, p. 23
Calculate the P and Q flows (in per unit) for the loadflow situation shown below.
0.05 + j0.15
P + jQ pu ohms
V = 1.020 /0° V = 1.010 /-10°
j0.20 pu j0.20 pu
mhos mhos
Grady 2007, p. 24
Grady 2007, p. 25
Notes on Nodal Analysis
Definitions
Node: A point or set of points at the same potential that have at least two branches
connected to them.
Super Node: Two major nodes with an ideal voltage source between them.
Reference Node: The node to which all other node potentials are referenced. The relative
voltage of the reference node is zero.
Solution Procedure
1. Draw a neat circuit diagram and try to eliminate as many branch crossings as possible.
2. Choose a reference node. All other node voltages will be referenced to it. Ideally, it
should be the node with the most branches connected to it, so that the number of terms in
the admittance matrix is minimal.
4. Assign a number to every major node (except the reference node) that is not part of a
super node (N1 of these).
5. Assign a number to either end (but not both ends) of every super node that does not touch
the reference node (N2 of these)
7. Apply KCL to every numbered super node from Step 5 (N2 equations)
8. The dimension of the problem is now N1 + N2. Solve the set of linear equations for the
node voltages. At this point, the circuit has been “solved.”
9. Using your results, check KCL for at least one node to make sure that your currents sum
to zero.
9. Use Ohm’s Law, KCL, and the voltage divider principle to find other node voltages,
branch currents, and powers as needed.
Grady 2007, p. 26
Notes on Mesh Analysis
Definitions
Planar Network: A network whose circuit diagram can be drawn on a plane in such a
manner that no branches pass over or under other branches
Mesh: A loop that is the only loop passing through at least one branch
Solution Procedure
1. Draw a neat circuit diagram and make sure that the circuit is planar (if not
planar, then the circuit is not a candidate for mesh analysis)
3. Draw clockwise mesh currents, where each one passes through at least one
new branch. M meshes.
4. Apply KVL for every mesh that is not part of a super mesh (M – 2SM
equations)
5. For meshes that form super meshes, apply KVL to the portion of the loop
formed by the two meshes that does not pass through the current source (SM
equations)
6. For each super mesh, write an equation that relates the corresponding mesh
currents to the current source (SM equations)
7. The dimension of the problem is now M. Solve the set of M linear equations
for the mesh currents. At this point, the network has been “solved.”
8. Using your results, check KVL around at least one mesh to make sure that the
net voltage drop is zero.
9. Use Ohm’s law, loop currents, KVL, KCL and the voltage divider principle to
find node voltages, branch currents, and powers as needed.
Grady 2007, p. 27
Notes on Thevenin Equivalents Fictitious Source (Applies to all Cases)
x Attach a fictitious source Vab across terminals a-b. Find a
The three cases to consider are
linear equation with the following form: Vab A BI ab .
x Case 1. All sources are independent
x Case 2. The circuit has dependent sources and independent x By definition the linear equation must match Thevenin
sources equation Vab Vth Rth I ab , term by term. Thus,
x Case 3. The circuit has only dependent sources matching the terms yields Vth A, Rth B.
Depending on the case, one or more of the following methods can be
Case Direct Rth. Voc , Isc Fictitious
used to find the Thevenin equivalent:
Source
Case 1 OK OK OK
Direct Rth. (Applies only to Case 1).
Case 2 OK OK
x Turn off all independent sources (i.e., set V = 0 for voltage Case 3 OK
sources, and I = 0 for current sources). Note - this is the
same thing as replacing voltage sources with short circuits,
and current sources with open circuits.
x Connect a fictitious ohmmeter across terminals a-b, and Iab
“measure” Rth directly.
x Find Isc (or, alternatively, find Voc = Vth ). +
x Compute Vth = Voc = Isc • Rth (or, alternatively, Isc = Voc / Rth
Vth Vab Vth Rth I ab
Rth ).
x If time permits, find Vth (or, alternatively, Isc ) directly from
–
the circuit, and then double-check with the above.
Grady 2007, p. 28
Grady 2007, p. 29
Grady 2007, p. 30
Grady 2007, p. 31
Grady 2007, p. 32
Grady 2007, p. 33
Grady 2007, p. 34
Grady 2007, p. 35
Grady 2007, p. 36
Grady 2007, p. 37
Grady 2007, p. 38
Grady 2007, p. 39
Three Properties of Balanced Three-Phase Systems
1. Because they form a balanced set, the a-b-c currents sum to zero. Thus, there is no
return current through the neutral or ground, which reduces wiring losses.
I
i N (t ) >cos(Zt ) cos(T ) sin(Zt ) sin(T )
2
cos(Zt ) cos(T 120q) sin(Zt ) sin(T 120q)
cos(Zt ) cos(T 120q) sin(Zt ) sin(T 120q)@ ,
I
i N (t ) >cos(Zt ) cos(T ) sin(Zt ) sin(T )
2
cos(Zt )>cos(T ) cos(120q) sin(T ) sin(120q)@ sin(Zt )>sin(T ) cos(120q) cos(T ) sin(120q)@
cos(Zt )>cos(T ) cos(120q) sin(T ) sin(120q)@ sin(Zt )>sin(T ) cos(120q) cos(T ) sin(120q)@@ ,
I
i N (t ) cos(Zt )^cos(T )>1 cos(120q) cos(120q)@ sin(T )>sin(120q) sin(120q)@`
2
I
sin(Zt )^sin(T )>1 cos(120q) cos(120q)@ cos(T )>sin(120q) sin(120q)@`,
2
I ° ª 1 1º ª 3 3 º ½°
i N (t ) cos(Zt )®cos(T ) «1 » sin(T ) « »¾
2 °̄ ¬ 2 2¼ ¬ 2 2 ¼ °¿
I ° ª 1 1º ª 3 3 º ½°
sin(Zt )®sin(T ) «1 » cos(T ) « »¾ .
2 °̄ ¬ 2 2¼ ¬ 2 2 ¼ °¿
Thus i N (t ) 0.
a
b Three-phase,
c four wire system
n
ptot (t ) p a (t ) pb (t ) pc (t ) , Reference
v a , ref (t )ia (t ) vb, ref (t )ib (t ) vc, ref (t )ic (t ) v n, ref (t )in (t ) ,
in (t ) ia (t ) ib (t ) ic (t ) ,
v n, ref (t ) ia (t ) ib (t ) ic (t ) ,
ptot (t ) va, ref (t ) vn, ref (t )ia (t ) vb, ref (t ) vn, ref (t )ib (t ) vc, ref (t ) vn, ref (t )ic (t ) .
Thus, for three-phase, four-wire, three wattmeters are needed to compute
ic (t ) ia (t ) ib (t ) ,
1
cos( A) cos( B) >cos( A B) cos( A B)@
2
1
sin( A) sin( B) >cos( A B) cos( A B)@
2
ptot (t ) p a (t ) pb (t ) pc (t ) ,
VI
>cos(G T ) cos(2Zt G T ) cos(G T ) cos(2Zt G T 240q)
2
3VI VI
cos(G T ) >cos(2Zt G T ) cos(2Zt G T 120q) cos(2Zt G T 120q)@.
2 2
The terms in side the bracket form a balanced set, and thus equal zero. Thus, ptot (t ) is a
constant and equals its average value, which is
3VI
ptot (t ) p a (t ) pb (t ) pc (t ) cos(G T ) 3Vrms I rms cos(G T ) .
2
30°
Real
Van
120°
Vbn
Vbc =
Vbn – Vcn
Grady 2007, p. 43
Imaginary 2b_Balanced_Three_Phase_Phasors.doc
Ic
Ica
30°
Iab
Real
Ia Van
Line currents Ia, Ib, and Ic
Ib Ibc Delta currents Iab, Ibc, and Ica
Ic c
Vbn
Ica
Ia + Ib + I c = 0
Iab
Ib b
Van + Vbn + Vcn = 0 a
Vbc =
Vbn – Vcn – Vab +
Vab + Vbc + Vca = 0
Ia
1
Conservation of power requires that the magnitudes of delta currents Iab, Ica, and Ibc are
3
times the magnitude of line currents Ia, Ib, Ic.
Page 2 of 6
Grady 2007, p. 44
2b_Balanced_Three_Phase_Phasors.doc
c
c
Ic
Ic
Z
3Z 3Z
n
Z Z
a b a
b
Ib Ib – Vab +
3Z
– Vab +
Ia Ia
Page 3 of 6
Grady 2007, p. 45
2b_Balanced_Three_Phase_Phasors.doc
c
c
Ic
Ic
–
n Van
+
a b a
b
Ib Ib – Vab +
– Vab +
Ia Ia
Page 4 of 6
Grady 2007, p. 46
2b_Balanced_Three_Phase_Phasors.doc
c
KCL: In = Ia + Ib + Ic
Ic
But for a balanced set,
Z Ia + Ib + Ic = 0, so In = 0
In
n
Z Z
b a
Ib – Vab +
Ia
Ground (i.e., V = 0)
The Experiment: Opening and closing the switch has no effect because In is already zero for a three-phase
balanced set. Since no current flows, even if there is a resistance in the grounding path, we must conclude that
Vn = 0 at the neutral point (or equivalent neutral point) of any balanced three phase load or source in a balanced
system. This allows us to draw a “one-line” diagram (typically for phase a) and solve a single-phase problem.
Solutions for phases b and c follow from the phase shifts that must exist.
Page 5 of 6
Grady 2007, p. 47
2b_Balanced_Three_Phase_Phasors.doc
Zline
c c
Ic
3Zload 3Zload
b a b a
Zline
Ia 3Zload
– Vab +
Zline
Ib
Page 6 of 6
Grady 2007, p. 48
Grady 2007, p. 49
Grady 2007, p. 50
Grady 2007, p. 51
~
A three-phase, 460V motor draws 5kW with a power factor of 0.80 lagging. Assuming that Van
has phase angle zero,
~ ~ ~
a. Find phasor currents I a and I ab (note – I ab is inside the motor delta windings)
b. Find the three phase motor Q and S
c. How much capacitive kVAr (three-phase) should be connected in parallel with the motor to
improve the net power factor to 0.95?
~
d. Assuming no change in supply voltage, what will be the new I a after the kVArs are added?
Grady 2007, p. 52
Grady 2007, p. 53
The 60Hz system shown below is balanced. The line-to-line voltage of the source is 460V.
Resistors R are each 5ȍ.
Z Z
Part a. If each Z is (90 + j45)ȍ, determine the three-phase complex power delivered by the
source, and the three-phase complex power absorbed by the delta-connected Z loads.
~ ~
Part b. If Van at the source has phase angle zero, find Va ' b' at the load.
Grady 2007, p. 54
Grady 2007, p. 55
Grady 2007, p. 56
Grady 2007, p. 57
Grady 2007, p. 58
Grady 2007, p. 59
Grady 2007, p. 60
Grady 2007, p. 61
Grady 2007, p. 62
Grady 2007, p. 63
Grady 2007, p. 64
Grady 2007, p. 65
Grady 2007, p. 66
Grady 2007, p. 67
Grady 2007, p. 68
Notes_on_ANSI_Transformer_Connections.doc
a a’
N1
N2
N1
c
n
N2 N2
N1
b c' b’
LV HV
a a’
N2
N1
N2 b’
n
N1 N1
N2
c b c’
LV HV
Grady 2007,
Pagep. 691
1 of
Grady 2007, p. 70
The following data were taken for a 25kVA, 7200/240V transformer:
x Short Circuit Test: 240V side short-circuited, 7200V side energized at reduced voltage.
The measurements (on the 7200V side) are Irms = 3.47A (i.e., rated current), Vrms =
216V, P = 335W, Q = 669VAr.
x Open Circuit Test: 7200V side open-circuited, 240V side energized. The measurements
(on the 240V side) are Vrms = 240V (i.e., rated voltage), Irms = 2.08A, P = 171W, Q =
469VAr.
Draw the transformer equivalent circuit with all four circuit parameters (i.e., R, Ll, Lm, Rm)
shown on the 7200V side.
Grady 2007, p. 71
3.47
Grady 2007, p. 72
Grady 2007, p. 73
EE369/394J, Test #4, Sept. 24, 2004. Name _______________________________________
One sheet of notes permitted. Show all steps.
The following data were taken for a 75kVA, 7200/480V transformer:
x Short Circuit Test: 480V side short-circuited, 7200V side energized at reduced voltage. The
measurements (on the 7200V side) are Irms = 10.0A, Vrms = 144V, P = 750W.
x Open Circuit Test: 7200V side open-circuited, 480V side energized. The measurements (on the
480V side) are Vrms = 480V, Irms = 1.50A, P = 500W.
Draw the transformer equivalent circuit with all four circuit parameters (i.e., R, Ll, Lm, Rm) shown on
the 7200V side. Hint – remember that S Vrms I rms , S 2 P2 Q2 .
Grady 2007, p. 74
Grady 2007, p. 75
Open circuit and short circuit tests are performed on a single-phase, 7200/240V, 25kVA, 60Hz
distribution transformer. The results are:
x Short circuit test (short circuit the low-voltage side, energize the high-voltage side so that
rated current flows, and measure Psc and Qsc). Measured Psc = 400W, Qsc = 200VAr.
x Open circuit test (open circuit the high-voltage side, apply rated voltage to the low-voltage
side, and measure Poc and Qoc). Measured Poc = 100W, Qoc = 250VAr.
Determine the four impedance values (in ohms) for the transformer model shown.
Rs jXs
Ideal
Rm jXm Transformer
7200/240V
7200V 240V
Grady 2007, p. 76
Grady 2007, p. 77
Grady, Transformers, June 2007, Page 1
Transformers
Transformers. Transformer phase shift. Wye-delta connections and impact on zero sequence.
Inductance and capacitance calculations for transmission lines. GMR, GMD, L, and C matrices,
effect of ground conductivity. Underground cables.
Equivalent Circuits
The standard transformer equivalent circuit used in power system simulation is shown below,
where the R and X terms represent the series resistance and leakage reactance, and N1 and N2
represent the transformer turns. Note that the shunt terms are usually ignored in the model..
R jX
N1 N2
Three-phase transformers can consist of either three separate single-phase transformers, or three
windings on a three-legged, four-legged, or five-legged core. The high-voltage and low-voltage
sides can be connected independently in either wye or delta.
High-Voltage Side
A B C
Low-Voltage Side
Grady 2007, p. 78
Grady, Transformers, June 2007, Page 2
High-Voltage Side
A B C
Low-Voltage Side
The transformer impedances consist of winding resistances and leakage reactances. There are no
mutual resistances, and the mutual leakage reactances between the separate phase a-b-c coils are
negligible. Hence, in symmetrical components, S = R + jX, and M = 0, so that S + 2M = S - M
= R + jX, so therefore the positive and negative sequence impedances of a transformer are
Z1 Z2 R jX .
One must remember that no zero sequence currents can flow into a three-wire connection.
Therefore, the zero sequence impedance of a transformer depends on the winding connections.
In the case where one side of a transformer is connected grounded-wye, and the other side is
delta, circulating zero sequence currents can be induced in the delta winding. In that case, the
zero sequence impedance "looking into" the transformer is different on the two sides.
The zero sequence equivalent circuits for three-phase transformers is given in Figure 4.
Grady 2007, p. 79
Grady, Transformers, June 2007, Page 3
Delta - Delta R + jX
Transformer tap magnitudes can be adjusted to control voltage, and transformer phase shifts can
be adjusted to control active power flow. The effect of these "off-nominal" adjustments can be
incorporated into a pi-equivalent circuit model for a transformer.
Grady 2007, p. 80
Grady, Transformers, June 2007, Page 4
Assume that the transformer in Figure 5 has complex "off-nominal" tap t T t and series
admittance y. The relationship between the voltage on opposite sides of the transformer tap is
~
~ Vi
Vk ' , and since the power on both sides of the ideal transformer must be the same, then
tT t
~~ ~ ~ ~ ~
Vi I i* Vk ' I k*' , implying that I k ' I i t T t . Now, suppose that the transformer can be
modeled by the following pi-equivalent circuit of Figure 6:
yii ykk
Admittances yii, yik, and ykk can be found so that the above circuit is equivalent to Figure 5. This
can be accomplished by forcing the terminal behavior to be the same. For the above circuit, the
appropriate equations are
~
Ii V~i V~k yik V~i yii , and I~k V~k V~i yik V~k ykk ,
or in matrix form
~ ~
ª Ii º ª yii yik yik º ª Vi º
« ~ » « y «~ » .
¬ I k ¼ ¬ ik y kk yik »¼ ¬Vk ¼
and since
Grady 2007, p. 81
Grady, Transformers, June 2007, Page 5
~
~ Ik
Ii ,
t T t
then
~ ~
~ § Vi Vk ·
¨ ¸y .
Ii ¨ tT x t T t T ¸
© t t t ¹
In matrix form,
ª y y º
~ ~
ª Ii º « tT x t T
t t t T t » ª Vi º
« ~ » « »« ~ » .
y
¬ I k ¼ « y » ¬Vk ¼
«¬ tT t »¼
Comparing the two sets of terminal equations shows that equality can be reached if the shunt
branch in the equivalent circuit, yik, can have two values:
y y
yik from the perspective of Kirchhoff's current law at bus i, yik
t T t tT t
from the perspective of Kirchhoff's current law at bus k.
y
Note that if the tap does not include an off-nominal phase shift, then yik from either
t
direction.
y y y § 1 ·
yii ¨¨ 1¸¸ ,
tT t x t T t t T t t T t © tT t ¹
y § 1 ·
y kk y y¨¨1 ¸¸ .
tT t © tT t ¹
Grady 2007, p. 82
Grady, Transformers, June 2007, Page 6
Z Z Z
Za1 = Za2 = Z
Zao = Z + 3Zg
+
Zg Vao = 3 Iao Zg
-
Grady 2007, p. 83
3l_ANSI_Transformer_Wye_Delta_Labeling.doc
a a’
N1
N2
N1
c
n
N2 N2
N1
b c' b’
LV HV
a a’
N2
N1
N2 b’
n
N1 N1
N2
c b c’
LV HV
Grady 2007,
Pagep. 841
1 of
Grady 2007, p. 85
Grady, Per Unit, June 2007, Page 1
2. Equipment impedances can be easily estimated since their per unit impedances lie within a
relatively narrow range.
V volts I amps
V pu , I pu ,
Vbase volts I base amps
S voltamps Z ohms
S pu , Z pu .
S base voltamps Z base ohms
Vbase
S base Vbase x I base , and Z base .
I base
Once two base variables are specified, the other two base variables may be calculated.
2
V Vbase
S base Vbase x I base Vbase x base .
Z base Z base
Consider a transformer with an N1 : N 2 turns ratio and series impedance, reflected on side 1,
equal Z L1 . Z L1 can be reflected to side 2 using
2
ª N2 º
Z L2 « » Z L1 .
¬ N1 ¼
Let side 1 and side 2 have base values designated by subscripts S1 and S2. Then
2 2
Vbase1 Vbase 2
Z base1 , Z base 2 ,
S base1 S base2
Grady 2007, p. 86
Grady, Per Unit, June 2007, Page 2
2 2
ª N 2 º ª Vbase1 º
Z L 2 PU « » « » Z L1PU .
¬ N1 ¼ ¬Vbase 2 ¼
2 2
ª N 2 º ª Vbase1 º
Z L 2 PU « » « » Z L1PU .
¬ N1 ¼ ¬Vbase 2 ¼
V N2
Therefore, if base 2 , then Z L 2 PU Z L1PU .
Vbase1 N1
Hence, if a common voltampere base is chosen on both sides of the transformer, and if the
voltage bases are chosen so that they vary according to the transformer turns ratio, then the per
unit series impedance of the transformer is the same value on both sides.
When analyzing a circuit with many transformers, a common voltampere base should be chosen
throughout the circuit, and a voltage base should be chosen at one location. The voltage base
must vary across the circuit according to the transformer turns ratios.
When analyzing a circuit in per unit, if the bases are chosen according to the above rules,
transformers can be replaced by their equivalent per unit series impedances, and their turns can
be ignored.
Z
Given Z PU , old , on bases Vbase, old and S base, old , Z PU , new on new bases
Z base, old
Vbase, new and S base, new is
Grady 2007, p. 87
Grady, Per Unit, June 2007, Page 3
The same advantages apply to a three-phase system if the following rules are obeyed:
S base,3) 3S base,1) .
2. Once selected at a point in the network, the three-phase voltage base must vary according to
the line-to-line transformer turns ratios.
S base,3I 3S base,1I ,
Z base
2
Vbase , line neutral
>Vbase, line line / 3 @
2
2
Vbase , line line
.
S base,1I S base,3I / 3 S base,3I
Grady 2007, p. 88
Grady 2007, p. 89
Grady 2007, p. 90
Grady 2007, p. 91
4 of 5
Grady 2007, p. 92
5 of 5
Grady 2007, p. 93
Find the magnitude of the line-to-line voltages on the 12.47kV side of the transformer.
Grady 2007, p. 94
Grady 2007, p. 95
Information for a small power system is shown below. Per unit values are given on the equipment bases.
Using a 138kV, 100MVA base in the transmission lines, draw the per unit diagram. Assume that no
current is flowing in the network, so that all generator and motor voltages are 1.0pu in your final diagram.
Grady 2007, p. 96
Grady 2007, p. 97
4g_Grainger_Stevenson_Problems.doc
Should be 50 MVA
Bus3
Grady 2007, p. 98
4g_Grainger_Stevenson_Problems.doc
Bus4 Bus5
Bus1 Bus2
Bus6 Bus7
Bus8 Bus9
Bus3
Grady 2007, p. 99
4g_Grainger_Stevenson_Problems.doc
In both Problems 1 and 2, make sure that you add in the transformer phase shifts,
assuming that pre-fault Van in the transmission line has reference phase angle 0.
Transmission Lines
Inductance and capacitance calculations for transmission lines. GMR, GMD, L, and C matrices,
effect of ground conductivity. Underground cables.
The power system model for transmission lines is developed from the conventional distributed
parameter model, shown in Figure 1.
R/2 L/2
i ---> i + di --->
+ +
G C
v v + dv
R/2 L/2
- -
<--- i <--- i + di
< dz >
R, L, G, C per unit length
Once the values for distributed parameters resistance R, inductance L, conductance G, and
capacitance are known (units given in per unit length), then either "long line" or "short line"
models can be used, depending on the electrical length of the line.
Assuming for the moment that R, L, G, and C are known, the relationship between voltage and
current on the line may be determined by writing Kirchhoff's voltage law (KVL) around the
outer loop in Figure 1, and by writing Kirchhoff's current law (KCL) at the right-hand node.
KVL yields
wv wi
Ri L ,
wz wt
w v dv
i i di Gdz v dv Cdz 0 .
wt
wv wi wv
di Gdz v Cdz , or Gv C , which in phasor form is
wt wz wt
~
wI ~
G jZC V .
wz
Taking the partial derivative of the voltage phasor equation with respect to z yields
~ ~
w 2V wI
R jZ L .
wz 2 wz
~ Ae Jz Be Jz
I ( z) ,
Zo
Zo
R jZ L .
G jZC
Constants A and B must be found from the boundary conditions of the problem. This is usually
accomplished by considering the terminal conditions of a transmission line segment that is d
meters long, as shown in Figure 2.
In order to solve for constants A and B, the voltage and current on the receiving end is assumed
to be known so that a relation between the voltages and currents on both sending and receiving
ends may be developed.
Substituting z = 0 into the equations for the voltage and current (at the receiving end) yields
~ ~ A B
VR A B, I R .
Zo
~
~ VR ~
IS sinh Jd I R cosh Jd .
Zo
A pi equivalent model for the transmission line segment can now be found, in a similar manner
as it was for the off-nominal transformer. The results are given in Figure 3.
z = -d z=0
< d >
§ Jd ·
tanh¨ ¸
YS YR © 2¹ ,Y 1
, Zo
R jZ L ,J R jZL G jZC
SR
Zo Z o sinh Jd G jZC
R, L, G, C per unit length
For electrically "short" overhead transmission lines, the hyperbolic pi equivalent model
simplifies to a familiar form. Electrically short implies that d < 0.05 O , where wavelength
O
3 108 m / s
= 5000 km @ 60 Hz, or 6000 km @ 50 Hz. Therefore, electrically short
f H r Hz
overhead lines have d < 250 km @ 60 Hz, and d < 300 km @ 50 Hz. For underground cables,
the corresponding distances are less since cables have somewhat higher relative permittivities
(i.e. H r | 2.5 ).
Substituting small values of Jd into the hyperbolic equations, and assuming that the line losses
are negligible so that G = R = 0, yields
jZCd 1
YS YR , and YSR .
2 jZLd
Then, including the series resistance yields the conventional "short" line model shown in Figure
4, where half of the capacitance of the line is lumped on each end.
Rd Ld
Cd Cd
2 2
< d >
R, L, C per unit length
Overhead transmission lines consist of wires that are parallel to the surface of the earth. To
determine the capacitance of a transmission line, first consider the capacitance of a single wire
over the earth. Wires over the earth are typically modeled as line charges U l Coulombs per
meter of length, and the relationship between the applied voltage and the line charge is the
capacitance.
ql
E aˆ r Volts per meter .
2SH o r
This electric field causes a voltage drop between two points at distances r = a and r = b away
from the line charge. The voltage is found by integrating electric field, or
r b
ql §b·
Vab ³ E x raˆ r ln¨ ¸ V.
2SH o © a ¹
r a
If the wire is above the earth, it is customary to treat the earth's surface as a perfect conducting
plane, which can be modeled as an equivalent image line charge ql lying at an equal distance
below the surface, as shown in Figure 5.
b
B
a h
A
Surface of Earth
bi ai
h
Figure 5. Line Charge ql at Center of Conductor Located h Meters Above the Earth
r b r bi
ql ª §b· § bi ·º ql § b x ai ·
Vab ³ E U x aˆ r ³ E Ui x aˆ r « ln¨ ¸ ln¨ ¸»
2SH o ¬ © a ¹ © ai ¹¼
ln¨
2SH o © a x bi ¹
¸ .
r a r ai
If point B lies on the earth's surface, then from symmetry, b = bi, and the voltage of point A with
respect to ground becomes
ql § ai ·
Vag ln¨ ¸ .
2SH o © a ¹
The voltage at the surface of the wire determines the wire's capacitance. This voltage is found
by moving point A to the wire's surface, corresponding to setting a = r, so that
ql § 2h ·
Vrg | ln¨ ¸ for h >> r.
2SH o © r ¹
The exact expression, which accounts for the fact that the equivalent line charge drops slightly
below the center of the wire, but still remains within the wire, is
ql § h h2 r 2 ·
Vrg ln¨ ¸.
2SH o ¨ r ¸
© ¹
Ul
The capacitance of the wire is defined as C which, using the approximate voltage
Vrg
formula above, becomes
2SH o
C Farads per meter of length.
§ 2h ·
ln¨ ¸
© r ¹
When several conductors are present, then the capacitance of the configuration must be given in
matrix form. Consider phase a-b-c wires above the earth, as shown in Figure 6.
ci
Dabi
ai
Images
bi
Superposing the contributions from all three line charges and their images, the voltage at the
surface of conductor a is given by
1 ª Daai D D º
Vag «q a ln qb ln abi qc ln aci » .
2SH o ¬ ra Dab Dac ¼
The voltages for all three conductors can be written in generalized matrix form as
ªVag º ª p aa p ab p ac º ªq a º
« » 1 1
«Vbg »
«p
ba pbb pbc »» «« qb »» , or Vabc Pabc Qabc ,
2SH o « 2SH o
«Vcg » «¬ pca pcb pcc »¼ «¬ qc »¼
¬ ¼
where
Daai Dabi
p aa ln , p ab ln , etc., and
ra Dab
Daai is the distance from conductor a to its own image (i.e. twice the height of
conductor a above ground),
Dabi Dbai is the distance between conductor a and the image of conductor b (which
is the same as the distance between conductor b and the image of
conductor a), etc.
From the definition of capacitance, Q CV , then the capacitance matrix can be obtained via
inversion, or
1
C abc 2SH o Pabc .
If ground wires are present, the dimension of the problem increases proportionally. For example,
in a three-phase system with two ground wires, the dimension of the P matrix is 5 x 5. However,
given the fact that the line-to-ground voltage of the ground wires is zero, equivalent 3 x 3 P and
C matrices can be found by using matrix partitioning and a process known as Kron reduction.
First, write the V = PQ equation as follows:
ª Vag º ª qa º
« V » «q »
« bg » ª Pabc (3x3) | Pabc, vw (3x 2) º « b »
« Vcg » 1 « » « qc »
« » »« » ,
« » 2SH o «
« Vvg 0 »
« Pvw, abc (2x3)
¬ | Pvw (2x 2) »¼ « »
« qv »
« » « »
«¬Vwg 0»¼ «¬q w »¼
or
where subscripts v and w refer to ground wires w and v, and where the individual P matrices are
formed as before. Since the ground wires have zero potential, then
ª0º 1
«0» 2SH o
>Pvw, abc Qabc PvwQvw @,
¬ ¼
so that
Qvw 1
Pvw >
Pvw, abc Qabc . @
Substituting into the Vabc equation above, and combining terms, yields
Vabc
1
2SH o
>Pabc Qabc
1
Pabc, vw Pvw Pvw, abc Qabc @ 2SH o
1
>P
abc
1
Pabc, vw Pvw @
Pvw, abc Qabc ,
or
Vabc
1
2SH o
>P @Q
'
abc abc , so that
Qabc '
C abc '
Vabc , where C abc > @
'
2SH o Pabc
1
.
Therefore, the effect of the ground wires can be included into a 3 x 3 equivalent capacitance
matrix.
'
An alternative way to find the equivalent 3 x 3 capacitance matrix C abc is to
'
Once the 3 x 3 C abc matrix is found by either of the above two methods, 012 capacitances can
'
be determined by averaging the diagonal terms, and averaging the off-diagonal terms of, C abc to
produce
ª CS CM CM º
avg
C abc «C
« M CS C S »» .
«¬C M CM C S »¼
avg
C abc has the special symmetric form for diagonalization into 012 components, which yields
ªC S 2C M 0 0 º
avg
C 012 « 0 CS CM 0 » .
« »
«¬ 0 0 C S C M »¼
Asymmetries in transmission lines prevent the P and C matrices from having the special form
that allows their diagonalization into decoupled positive, negative, and zero sequence
impedances. Transposition of conductors can be used to nearly achieve the special symmetric
form and, hence, improve the level of decoupling. Conductors are transposed so that each one
occupies each phase position for one-third of the lines total distance. An example is given below
in Figure 7, where the radii of all three phases are assumed to be identical.
a b c a c b b a c
then then then
b c a c a b c b a
then then
For this mode of construction, the average P matrix (or Kron reduced P matrix if ground wires
are present) has the following form:
ª p aa p ab p ac º ª p aa p ac p ab º ª pbb p ab pbc º
1« 1« 1«
avg
Pabc x pbb »
pbc » « x pcc »
pbc » « x p aa p ac »»
6« 6 6
«¬ x x p cc »¼ «¬ x x pbb »¼ «¬ x x pcc »¼
where the individual p terms are described previously. Note that these individual P matrices are
symmetric, since Dab Dba , p ab pba , etc. Since the sum of natural logarithms is the same
as the logarithm of the product, P becomes
ª pS pM pM º
avg
Pabc «p pS p M »» ,
« M
«¬ p M pM p S »¼
where
and
avg
Since Pabc has the special property for diagonalization in symmetrical components, then
transforming it yields
ª p0 0 0º ª pS 2 pM 0 0 º
avg
P012 «0 p1 0 »» « 0 pS pM 0 » ,
« « »
«¬ 0 0 p 2 »¼ «¬ 0 0 p S p M »¼
where
3D D D 3D D D 3D D D 3D D D
aai bbi cci abi aci bci aai bbi cci ab ac bc
ps pM ln ln ln .
3r r r 3D D D 3r r r 3D D D
a b c ab ac bc a b c abi aci bci
avg
Inverting P012 and multiplying by 2SH o yields the corresponding 012 capacitance matrix
ª 1 º ª 1 º
«p 0 0 » « 0 0 »
ªC 0 0
0º « 0 » « pS 2 pM »
«0 1 1
avg
C 012 « C1 0 »» 2SH o « 0 0 » 2SH o « 0 0 » .
« p1 » « pS pM »
«¬ 0 0 C 2 »¼ « 1 » « »
« 1 »
« 0 0 » 0 0
¬« p 2 ¼» «¬ p S p M »¼
When the a-b-c conductors are closer to each other than they are to the ground, then
where GMD1,2 and GMR1,2 are the geometric mean distance (between conductors) and
geometric mean radius, respectively, for both positive and negative sequences. Therefore, the
positive and negative sequence capacitances become
2SH o 2SH o
C1 C2 Farads per meter.
pS pM GMD1,2
ln
GMR1,2
3D D D 3D D D
aai bbi cci abi aci bci
p0 ps 2 pM ln 2 ln
3r r r 3D D D
a b c ab ac bc
GMD0
p0 3 ln ,
GMR0
where
GMD0 9 D D D D D D D D D ,
aai bbi cci abi aci bci bai cai cbi
GMR0 9 r r r D D D D D D .
a b c ab ac bc ba ca cb
2SH o 1 2SH o
C0 Farads per meter,
pS 2 pM 3 GMD0
ln
GMRo
which is one-third that of the entire a-b-c bundle by because it represents the average
contribution of only one phase.
1
req >NrA @
N 1 N
,
where r is the radius of the individual conductors, and A is the bundle radius of the symmetric set
of conductors. Three common examples are shown below in Figure 8.
req 2rA
3
req 3rA 2
4
req 4rA3
Figure 8. Equivalent Radius for Three Common Types of Bundled Phase Conductors
3. Inductance
The magnetic field intensity produced by a long, straight current carrying conductor is given by
Ampere's Circuital Law to be
I
HI Amperes per meter,
2Sr
) ³ B x ds Webers,
< >
D
The amount of flux linking the circuit (i.e. passes between the two wires) is found to be
Dr Dr
Po I Po I Po I D r
) ³ 2Sx
dx ³ 2Sx
dx
S
ln
r
Henrys per meter length.
r r
N)
L ,
I
where in this case N = 1, and where N >> r, the inductance of the two-wire pair becomes
Po D
L ln Henrys per meter length.
S r
A round wire also has an internal inductance, which is separate from the external inductance
shown above. The internal inductance is shown in electromagnetics texts to be
P int
Lint Henrys per meter length.
8S
For most current-carrying conductors, P int P o so that Lint = 0.05µH/m. Therefore, the total
inductance of the two-wire circuit is the external inductance plus twice the internal inductance of
each wire (i.e. current travels down and back), so that
ª § 1 ·º
Po D P Po ª D 1º Po « D ¨ ¸ Po D
Ltot ln 2 o «ln r 4 » ln ln¨ e 4 ¸» ln .
S r 8S S ¬ ¼ S « r ¨ ¸» S
1
«¬ © ¹»¼ re 4
1
reff re 4 0.7788r ,
Po D
Ltot ln Henrys per meter length.
S reff
For a single wire of radius r, located at height h above the earth, the effect of the earth can be
described by an image conductor, as it was for capacitance calculations. For a perfectly
conducting earth, the image conductor is located h meters below the surface, as shown in Figure
10.
Surface of Earth
The total flux linking the circuit is that which passes between the conductor and the surface of
the earth. Summing the contribution of the conductor and its image yields
h 2h r
P o I ª dx dx º P o I ª h2h r º P o I ª 2h r º
) «³ ³ » ln ln .
2S « x x» 2S «¬ rh »¼ 2S «¬ r »¼
¬r h ¼
P o I 2h
) ln Webers per meter length,
2S r
so that the external inductance per meter length of the circuit becomes
P o 2h
Lext ln Henrys per meter length.
2S r
The total inductance is then the external inductance plus the internal inductance of one wire, or
P o 2h P o Po ª 2h 1 º Po 2h
Ltot ln «¬ln r 4 »¼ ln ,
2S r 8S 2S 2S 1
re 4
P o 2h
Ltot ln Henrys per meter length.
2S reff
Bundled Conductors
The bundled conductor equivalent radii presented earlier apply for inductance as well as for
capacitance. The question now is “what is the internal inductance of a bundle?” For N bundled
1
conductors, the net internal inductance of a phase per meter must decrease as because the
N
internal inductances are in parallel. Considering a bundle over the Earth, then
§ ·
ª § 1 ·º ¨ ¸
P o 2h P o P o ª 2h 1 º P o « 2h 1 ¨ 4 ¸ » P o ¨ 2h ¸ .
Ltot ln «ln » ln ln e ln
2S req 8SN 2S «¬ req 4 N »¼ 2S « req N ¨¨ ¸¸» 2S ¨
1 ¸
«¬ © ¹»¼ ¨¨ 4 N ¸¸
© req e ¹
Factoring in the expression for the equivalent bundle radius req yields
1
1 1 1 ª 1 ºN 1
req
e N4 >
NrA N 1 N
@
xe N4
«
« Nre 4 A N 1 »
»
>Nreff A @
N 1 N
¬ ¼
1
Thus, reff remains re 4 , no matter how many conductors are in the bundle.
For situations with multiples wires above the Earth, a matrix approach is needed. Consider the
capacitance example given in Figure 6, except this time compute the external inductances, rather
than capacitances. As far as the voltage (with respect to ground) of one of the a-b-c phases is
concerned, the important flux is that which passes between the conductor and the Earth's surface.
For example, the flux "linking" phase a will be produced by six currents: phase a current and its
image, phase b current and its image, and phase c current and its image, and so on. Figure 11 is
useful in visualizing the contribution of flux “linking” phase a that is caused by the current in
phase b (and its image).
b
Dab
a
Dbg
Dbg Dabi
ai
bi
Figure 11. Flux Linking Phase a Due to Current in Phase b and Phase b Image
Considering all phases, and applying superposition, yields the total flux
Note that Daai corresponds to 2h in Figure 10. Performing the same analysis for all three
phases, and recognizing that N) LI , where N = 1 in this problem, then the inductance matrix
is developed using
ª Daai Dabi D º
«ln ln ln aci »
ª) a º « ra Dab Dac » ª I º
a
«) » P o « Dbai D Dbci » « »
« b» ln ln bbi ln I b , or ) abc Labc I abc .
2S « Dba rb Dbc » « »
«¬ ) c »¼ « »« »
« ln Dcai D Dcci » ¬ I c ¼
ln cbi ln
«¬ Dca Dcb rc »¼
A comparison to the capacitance matrix derivation shows that the same matrix of natural
logarithms is used in both cases, and that
Po Po 1 1
Labc Pabc x 2SH o x C abc P o HC abc .
2S 2S
This implies that the product of the L and C matrices is a diagonal matrix with P o H on the
diagonal, providing that the earth is assumed to be a perfect conductor and that the internal
inductances of the wires are ignored.
If the circuit has ground wires, then the dimension of L increases accordingly. Recognizing that
the flux linking the ground wires is zero (because their voltages are zero), then L can be Kron
reduced to yield an equivalent 3 x 3 matrix L'abc .
To include the internal inductance of the wires, replace actual conductor radius r with reff .
Once the 3 x 3 L'abc matrix is found, 012 inductances can be determined by averaging the
diagonal terms, and averaging the off-diagonal terms, of L'abc to produce
ª LS LM LM º
Lavg «L LS LS »» ,
abc « M
«¬ LM LM LS »¼
so that
ª LS 2 LM 0 0 º
Lavg « 0 LS LM 0 » .
012 « »
«¬ 0 0 LS LM »¼
Because of the similarity to the capacitance problem, the same rules for eliminating ground
wires, for transposition, and for bundling conductors apply. Likewise, approximate formulas for
the positive, negative, and zero sequence inductances can be developed, and these formulas are
P o GMD1,2
L1 L2 ln ,
2S GMR1,2
and
P GMD0
L0 3 o ln .
2S GMR0
It is important to note that the GMD and GMR terms for inductance differ from those of
capacitance in two ways:
1
1. GMR calculations for inductance calculations should be made with reff re 4 .
2. GMD distances for inductance calculations should include the equivalent complex depth for
modeling finite conductivity earth (explained in the next section). This effect is ignored in
capacitance calculations because the surface of the Earth is nominally at zero potential.
The effect of the Earth's non-infinite conductivity should be included when computing
inductances, especially zero sequence inductances. Because the Earth is not a perfect conductor,
the image current does not actually flow on the surface of the Earth, but rather through a cross-
section. The higher the conductivity, the narrower the cross-section.
The simplest method to account for finite conductivity is via a complex depth dc , where the
equivalent earth surface is assumed to be an additional d c meters below the actual earth surface.
Using complex depth, if a conductor is d meters above earth, its image is 2d d c meters
below the conductor.
d
Earth’s Surface
dc
G G G G
dc = 45 o = j ,
1 j 2 2 2
where
1
G .
SfPV
1
At f = 60 Hz and V 0.01 (typical for limestone), the skin depth is 650 meters, so that
:m
650 650
dc j = 325 – j325 m.
2 2
Skin depth in typical soils for 50 - 60 Hz varies from 500 to 2000 meters. The effect on
positive/negative sequence inductances is not great, but the effect on zero sequence inductances
is quite significant.
Since d c is a frequency-dependent complex number, the self- and image-distance terms are
complex, their natural logarithms are complex, and the L matrix contains complex numbers. The
questions now are “how to take the natural log of a complex number and how to interpret the
results?”
S
Thus, for example, ln(325 j 325) ln325 j = 5.78 – j0.785.
4
To be consistent with the perfect Earth case (i.e., V o f, G o 0 ), the real part of the natural
logarithm must produce the inductive term. Then, the imaginary term yields the resistance of the
Earth’s current path, which must be added to the series resistances of the overhead conductors.
In matrix form, the calculations are made accoding to
ª § Daai · §D · § D ·º
«complex ln¨¨ ¸¸ complex ln¨¨ abi ¸¸ complex ln¨¨ aci ¸¸»
« © ra ¹ © Dab ¹ © Dac ¹»
P « §D · § D ·»
Rabc (Z ) jZLabc (Z ) jZ o « x complex ln¨¨ bbi ¸¸ complex ln¨¨ bci ¸¸ » ,
2S « © rb ¹ © Dbc ¹ »
« § D ·»
« x x complex ln¨¨ cci ¸¸ »
¬« © rc ¹ ¼»
where complex depth d c is included in the D terms. Because of the jZ multiplier, the real
terms become positive, frequency-dependent resistances that account for the losses in the Earth.
Off-diagonal resistances account for the fact that currents in neighboring phases contribute to the
total voltage drop along the Earth, per meter, as seen by any given phase. The imaginary terms
are inductive reactances.
Ignoring all other charges, the electric field at a conductor’s surface can be approximated by
q
Er ,
2SH o r
where r is the radius. For overhead conductors, this is a reasonable approximation because the
neighboring line charges are relatively far away. It is always important to keep the peak electric
field at a conductor’s surface below 30kV/cm to avoid excessive corono losses.
Going beyond the above approximation, the Markt-Mengele method provides a detailed
procedure for calculating the maximum peak subconductor surface electric field intensity for
three-phase lines with identical phase bundles. Each bundle has N symmetric subconductors of
radius r. The bundle radius is A. The procedure is
req >NrA @
N 1 1 / N
.
2. Find the C(N x N) matrix, including ground wires, using average conductor heights above
ground. Kron reduce C(N x N) to C(3 x 3). Select the phase bundle that will have the
greatest peak line charge value ( qlpeak ) during a 60Hz cycle by successively placing
maximum line-to-ground voltage Vmax on one phase, and – Vmax/2 on each of the other
two phases. Usually, the phase with the largest diagonal term in C(3 by 3) will have the
greatest qlpeak .
3. Assuming equal charge division on the phase bundle identified in Step 2, ignore
equivalent line charge displacement, and calculate the average peak subconductor surface
electric field intensity using
qlpeak 1
E avg , peak x
N 2SH o r
4. Take into account equivalent line charge displacement, and calculate the maximum peak
subconductor surface electric field intensity using
ª rº
E max, peak E avg , peak «1 ( N 1) » .
¬ A¼
The resistance of conductors is frequency dependent because of the resistive skin effect.
Usually, however, this phenomenon is small for 50 - 60 Hz. Conductor resistances are readily
obtained from tables, in the proper units of Ohms per meter length, and these values, added to
the equivalent-earth resistances from the previous section, to yield the R used in the transmission
line model.
Conductance G is very small for overhead transmission lines and can be ignored.
6. Underground Cables
Underground cables are transmission lines, and the model previously presented applies.
Capacitance C tends to be much larger than for overhead lines, and conductance G should not be
ignored.
For single-phase and three-phase cables, the capacitances and inductances per phase per meter
length are
2SH o H r
C Farads per meter length,
b
ln
a
and
Po b
L ln Henrys per meter length,
2S a
b
where b and a are the outer and inner radii of the coaxial cylinders. In power cables, is
a
typically e (i.e., 2.7183) so that the voltage rating is maximized for a given diameter.
For most dielectrics, relative permittivity H r 2.0 2.5 . For three-phase situations, it is
common to assume that the positive, negative, and zero sequence inductances and capacitances
equal the above expressions. If the conductivity of the dielectric is known, conductance G can
be calculated using
V
G C Mhos per meter length.
H
Assumptions
Balanced, far from ground, ground wires ignored. Valid for identical single conductors per
phase, or for identical symmetric phase bundles with N conductors per phase and bundle radius
A.
2SH o
C / farads per meter,
GMD /
ln
GMRC /
where
x distances between phase conductors if the line has one conductor per phase, or
x distances between phase bundle centers if the line has symmetric phase bundles,
and where
x GMRC / is the actual conductor radius r (in meters) if the line has one conductor per
phase, or
N
x GMRC / N x r x A N 1 if the line has symmetric phase bundles.
P o GMD /
L / ln henrys per meter,
2S GMRL /
x for the single conductor case, GMRL / is the conductor rgmr (in meters), which takes
into account both stranding and the e 1 / 4 adjustment for internal inductance. If rgmr is
x for bundled conductors, GMRL / N N x rgmr x A N 1 if the line has symmetric phase
bundles.
R is the 60Hz resistance of one conductor if the line has one conductor per phase. If the line has
symmetric phase bundles, then divide the one-conductor resistance by N.
A A A
Assumptions
Ground wires are ignored. The a-b-c phases are treated as one bundle. If individual phase
conductors are bundled, they are treated as single conductors using the bundle radius method.
For capacitance, the Earth is treated as a perfect conductor. For inductance and resistance, the
Earth is assumed to have uniform resistivity U . Conductor sag is taken into consideration, and a
good assumption for doing this is to use an average conductor height equal to (1/3 the conductor
height above ground at the tower, plus 2/3 the conductor height above ground at the maximum
sag point).
The zero sequence excitation mode is shown below, along with an illustration of the relationship
between bundle C and L and zero sequence C and L. Since the bundle current is actually 3Io, the
zero sequence resistance and inductance are three times that of the bundle, and the zero sequence
capacitance is one-third that of the bundle.
Io ĺ Io ĺ
3Io ĺ Io ĺ 3Io ĺ Io ĺ
+ Io ĺ + Io ĺ
Vo Vo 3Io Ļ
– Cbundle – Lbundle
Io ĺ Io ĺ
Lo
3Io ĺ Io ĺ 3Io ĺ Io ĺ
+ Lo
Io ĺ + Io ĺ
Vo Vo 3Io Ļ
Co Co Co Lo
– –
1 2SH o
C0 x farads per meter,
3 GMDC 0
ln
GMRC 0
where GMDC 0 is the average height (with sag factored in) of the a-b-c bundle above perfect
Earth. GMDC 0 is computed using
GMDC 0 9 D i x D i x D i x D 2 i x D 2 i x D 2 i meters,
aa bb cc ab ac bc
where D i is the distance from a to a-image, D i is the distance from a to b-image, and so
aa ab
forth. The Earth is assumed to be a perfect conductor, so that the images are the same distance
below the Earth as are the conductors above the Earth. Also,
P De
L0 3 x o ln Henrys per meter,
2S GMRL 0
U
where De 658.4 meters (see Bergen), U is the resistivity of the Earth (a good assumption
f
is 100ȍ-m), and f is the frequency (Hz). De takes into account the fact that the Earth is
resistive and that zero sequence currents flow deep in the Earth. In most cases, De is so large
that the actual height of the conductors makes no difference in the calculations. For example, for
60Hz and U = 100ȍ-m, De = 850m.
There are two components of zero sequence line resistance. First, the equivalent conductor
resistance is the 60Hz resistance of one conductor if the line has one conductor per phase. If the
line has symmetric phase bundles with N conductors per bundle, then divide the one-conductor
resistance by N.
Second, the effect of resistive Earth is included by adding the following term to the conductor
resistance:
where the multiplier of three is needed to take into account the fact that all three zero sequence
currents flow through the Earth.
Ignoring all other charges, the electric field at a conductor’s surface can be approximated by
q
Er ,
2SH o r
where r is the radius. For overhead conductors, this is a reasonable approximation because the
neighboring line charges are relatively far away. It is always important to keep the peak electric
field at a conductor’s surface below 30kV/cm to avoid excessive corono losses.
Going beyond the above approximation, the Markt-Mengele method provides a detailed
procedure for calculating the maximum peak subconductor surface electric field intensity for
three-phase lines with identical phase bundles. Each bundle has N symmetric subconductors of
radius r. The bundle radius is A. The procedure is
Page 4 of 6 Grady 2007, p. 151
Procedure for Computing Positive/Negative/Zero Sequence Line Constants for
Transmission Lines in Air
req >NrA @ N 1 1 / N
.
2. Find the C(N x N) matrix, including ground wires, using average conductor heights above
ground. Kron reduce C(N x N) to C(3 x 3). Select the phase bundle that will have the
greatest peak line charge value ( qlpeak ) during a 60Hz cycle by successively placing
maximum line-to-ground voltage Vmax on one phase, and – Vmax/2 on each of the other
two phases. Usually, the phase with the largest diagonal term in C(3 by 3) will have the
greatest qlpeak .
3. Assuming equal charge division on the phase bundle identified in Step 2, ignore
equivalent line charge displacement, and calculate the average peak subconductor surface
electric field intensity using
qlpeak 1
E avg , peak x
N 2SH o r
4. Take into account equivalent line charge displacement, and calculate the maximum peak
subconductor surface electric field intensity using
ª rº
E max, peak E avg , peak «1 ( N 1) » .
¬ A¼
a
3m
b
3m
c
12m
ȡ = 100ȍ-m
6m 6m
20m
The receiving-end voltage and load are 345kV, 500MW, pf = 0.90 lagging. Use the ABCD
matrix to determine the sending end
cos Ex jZ o sin E x º ~
ªVS º ª«
x voltage, ~
« ~ » « sin Ex
j » ª«VR º»
x current, cos Ex » I~
IS ¼
x P, ¬ ¬ Zo ¼¬ R ¼
x and Q.
Symmetrical Components
Transformation matrices and the decoupling that occurs in balanced three-phase systems.
Physical significance of zero sequence.
1. Transformation Matrix
Fortescue's Theorem: An unbalanced set of N related phasors can be resolved into N systems of
phasors called the symmetrical components of the original phasors. For a three-phase system
(i.e. N = 3), the three sets are:
1. Positive Sequence - three phasors, equal in magnitude, 120o apart, with the same sequence
(a-b-c) as the original phasors.
o
2. Negative Sequence - three phasors, equal in magnitude, 120 apart, with the opposite
sequence (a-c-b) of the original phasors.
3. Zero Sequence - three identical phasors (i.e. equal in magnitude, with no relative phase
displacement).
The original set of phasors is written in terms of the symmetrical components as follows:
~ ~ ~ ~
Va Va 0 Va1 Va 2 ,
~ ~ ~ ~
Vb Vb0 Vb1 Vb 2 ,
~ ~ ~ ~
Vc Vc 0 Vc1 Vc 2 ,
where 0 indicates zero sequence, 1 indicates positive sequence, and 2 indicates negative
sequence.
~ ~ ~ ~
Vc1 Va1 x 1 120 o Vc 2 Va 2 x 1 120 o
The symmetrical components of all a-b-c voltages are usually written in terms of the
symmetrical components of phase a by defining
~ ~ ~
Substituting into the previous equations for Va , Vb , Vc yields
~ ~ ~ ~
Va Va 0 Va1 Va 2 ,
~ ~ ~ ~
Vb Va 0 a 2Va1 aVa 2 ,
~ ~ ~ ~
Vc Va 0 aVa1 a 2Va 2 .
or in matrix form
~ ~ ~ ~
Vabc T x V012 , and V012 T 1 x Vabc ,
ª1 1 1º ª1 1 1º
1«
T «1 a 2
« a »» , and T 1 1 a a 2 »» .
3«
«¬1 a a 2 »¼ «¬1 a 2 a »¼
~ ~ ~ ~ ~ ~ ~
If Vabc represents a balanced set (i.e. Vb Va x 1 120 o a 2Va , Vc Va x 1 120o aVa ),
~ ~
then substituting into V012 T 1 x Vabc yields
~ ~
ªVa 0 º ª1 1 1 º ª Va º ª0º
«~ » 1« « ~ » «V~ » .
«Va1 » 1 a a 2 »» «a 2Va » « a»
«V~a 2 » 3« ~
¬ ¼ «¬1 a 2 a »¼ «¬ aVa »¼ «¬ 0 »¼
Hence, balanced voltages or currents have only positive sequence components, and the positive
sequence components equal the corresponding phase a voltages or currents.
~ ~ ~ ~ ~ ~
If Vabc is an identical set (i.e. Va Vb Vc ), substituting into V012 T 1 x Vabc yields
~ ~ ~
ªVa 0 º ª1 1 1 º ªVa º ªVa º
«~ » 1« «~ » « »
«Va1 » 1 a a 2 »» «Va » «0» ,
«V~a 2 » 3« ~
¬ ¼ «¬1 a 2 a »¼ «¬Va »¼ «0»
¬ ¼
which means that Va , Vb , Vc have only zero sequence components, and that these components
are identical and equal to Va .
~ ~
Notice from the top row of V012 T 1 x Vabc that V0 is one-third of the sum of the three phase
voltages or currents. Therefore, since the sum of three line-to-line voltages is identically zero
due to Kirchhoff's voltage law, line-to-line voltages can have no zero sequence components.
Consider the relationship between zero sequence current and neutral current The zero sequence
current is
~ 1 ~ ~ ~
I a0
3
I a Ib Ic ,
and, from Kirchhoff's current law, the neutral current is
~ ~ ~ ~
In
I a Ib Ic .
Because the positive and negative sequence components of the a-b-c currents sum to zero, while
~ ~
the zero sequence components are additive, then I n 3I a 0 . Therefore, in a four-wire, three-
phase system, the neutral current is three-times the zero sequence current. In a three-wire, three-
phase system, there is no zero sequence current.
Ia
a
Ib 3 Phase,
b
Ic 4 Wire
c
In = 3Io System In = 3Io = Ia + Ib + Ic
n
In a three-phase system with balanced impedances, the relationship among voltage, current, and
impedance has the form
~ ~
ªVa º ªS M M ºªI a º
«~ » «~ » ~ ~
«Vb »
«M
« S M »» « I b » , or Vabc Z abc x I abc ,
«V~c » «¬ M M
~
S »¼ «¬ I c »¼
¬ ¼
where S represents the self impedances of the phases, and M represents the mutual impedances.
~ ~
This equation can be expressed in terms of sequence components by substituting Vabc T x V012
~ ~
and I abc T x I 012 , yielding
~ ~
T x V012 Z abc x T x I 012 .
Premultiplying by T 1 yields
~ ~ ~
V012 T 1Z abc x T x I 012 Z 012 x I 012 ,
where Z 012 T 1Z abc x T . The symmetric form of Z abc given above yields
ª S 2M 0 0 º
Z 012 « 0 S M 0 »» ,
«
«¬ 0 0 S M »¼
which means that when working in sequence components, a circuit with symmetric impedances
is decoupled into three separate impedance networks with Z 0 S 2 M , and Z1 Z 2 S M
. Furthermore, if the voltages and currents are balanced, then only the positive sequence circuit
must be studied.
In summary, symmetrical components are useful when studying either of the following two
situations:
1. Symmetric networks with balanced voltages and currents. In that case, only the positive
sequence network must be studied, and that network is the "one-line" network.
2. Symmetric networks with unbalanced voltages and currents. In that case, decoupling
applies, and three separate networks must be studied (i.e. positive, negative, and zero
sequences). The sequence components of the voltages and currents can be transformed back
to a-b-c by using the T transformation matrix.
4. Power
~ ~ ~ ~
Substituting in Vabc T x V012 and I abc T x I 012 yields
~T ~*
Pabc V012 x T T x T * x I 012 .
ª1 1 1º ª1 1 1º
Since T «1 a 2 a »» , then T T T . Also, T * «1 a a 2 »» . Therefore,
« «
«¬1 a a 2 »¼ «¬1 a 2 a »¼
ª3 0 0 º ª3 0 0º
«0 3 0» , so that P ~T ~*
T T
xT *
« » abc V012 x ««0 3 0»» x I 012 , or
«¬0 0 3»¼ «¬0 0 3»¼
Pabc
~ ~ ~ ~ ~ ~
3 Va 0 I a*0 Va1 I a*1 Va 2 I a*2 .
Note the factor of three. If desired, the following power invariant transformation can be used to
avoid the factor of three:
ª1 1 1º ª1 1 1º
1 « 1 «
T « 1 a2 a »» , T 1 1 a a 2 »» ,
3 3«
«¬1 a a 2 »¼ «¬1 a 2 a »¼
~ ~ ~ ~ ~ ~
so that Pabc Va 0 I a*0 Va1 I a*1 Va 2 I a*2 .
Transformer Transformer
(Delta-GY) (GY-GY)
X = 0.05pu Transmission line X = 0.05pu
60MVA X1 = X2 = 10 5MVA
Generator 18kV/69kV X0 = 30 69kV/4.16kV Motor
50MVA, 20kV 4MVA, 4.16kV
Subtransient reactances Subtransient reactances
X1 = X2 = 0.15pu X1 = X2 = 0.10pu
X0 = 0.12pu X0 = 0.08pu
Generator is connected delta connection
GY through a j0.3
grounding reactor
Nodal equations using Kirchhoff's current law. Admittance matrix and building algorithm.
Gaussian elimination. Kron reduction. LU decomposition. Formation of impedance matrix by
inversion, Gaussian elimination, and direct building algorithm.
1. Admittance Matrix
Most power system networks are analyzed by first forming the admittance matrix. The
admittance matrix is based upon Kirchhoff's current law (KCL), and it is easily formed and very
sparse.
Consider the three-bus network shown in Figure that has five branch impedances and one current
source.
ZA ZC
1 2 3
ZE ZB ZD
I3
Applying KCL at the three independent nodes yields the following equations for the bus voltages
(with respect to ground):
V1 V1 V2
At bus 1, 0,
ZE ZA
V2 V2 V1 V2 V3
At bus 2, 0 ,
ZB ZA ZC
V3 V3 V2
At bus 3, I3 .
ZD ZC
ª 1 1 1 º
« 0 »
«ZE ZA ZA » ªV1 º ª0º
« 1 1 1 1 1 »« » «0» ,
V2
« ZA Z A Z B ZC ZC »« » « »
« « » «¬ I 3 »¼
« 1 1 1 »» ¬V3 ¼
0
«¬ ZC Z C Z D »¼
or in matrix form,
YV I ,
where Y is the admittance matrix, V is a vector of bus voltages (with respect to ground), and I is a
vector of current injections.
Voltage sources, if present, can be converted to current sources using the usual network rules. If
a bus has a zero-impedance voltage source attached to it, then the bus voltage is already known,
and the dimension of the problem is reduced by one.
A simple observation of the structure of the above admittance matrix leads to the following rule
for building Y:
1. The diagonal terms of Y contain the sum of all branch admittances connected directly to the
corresponding bus.
2. The off-diagonal elements of Y contain the negative sum of all branch admittances connected
directly between the corresponding busses.
These rules make Y very simple to build using a computer program. For example, assume that
the impedance data for the above network has the following form, one data input line per branch:
The following FORTRAN instructions would automatically build Y, without the need of
manually writing the KCL equations beforehand:
COMPLEX Y(3,3),ZB,YB
DATA Y/9 * 0.0/
1 READ(1,*,END=2) NF,NT,ZB
YB = 1.0 / ZB
C MODIFY THE DIAGONAL TERMS
IF(NF .NE. 0) Y(NF,NF) = Y(NF,NF) + YB
IF(NT .NE. 0) Y(NT,NT) = Y(NT,NT) + YB
IF(NF .NE. 0 .AND. NT .NE. 0) THEN
C MODIFY THE OFF-DIAGONAL TERMS
Y(NF,NT) = Y(NF,NT) - YB
Y(NT,NF) = Y(NT,NF) - YB
ENDIF
GO TO 1
2 STOP
END
Of course, error checking is needed in an actual computer program to detect data errors and
dimension overruns. Also, if bus numbers are not compressed (i.e. bus 1 through bus N), then
additional logic is needed to internally compress the busses, maintaining separate internal and
external (i.e. user) bus numbers.
Note that the Y matrix is symmetric unless there are branches whose admittance is direction-
dependent. In AC power system applications, only phase-shifting transformers have this
o
asymmetric property. The normal 30 phase shift in wye-delta transformers creates asymmetry.
Gaussian elimination is the most common method for solving bus voltages in a circuit for which
KCL equations have been written in the form
I YV .
V Y 1 I ,
but direct inversion for large matrices is computationally prohibitive or, at best, inefficient.
into
For illustrative purposes, consider the two equations represented by Rows 1 and 2, which are
y2,1
Subtracting ( x Row 1) from Row 2 yields
y1,1
The coefficient of V1 in Row 2 is forced to zero, leaving Row 2 with the desired "reduced" form
of
Continuing, Row 1 is then used to "zero" the V 1 coefficients in Rows 3 through N, one row at a
time. Next, Row 2 is used to zero the V 2 coefficients in Rows 3 through N, and so forth.
After the Gaussian elimination is completed, and the Y matrix is reduced to (URT+D) form, the
bus voltages are solved by backward substitution as follows:
For Row N,
'
IN '
yN , N V N , so V N '
yN
1
I N' .
,N
'
IN 1
'
yN '
1, N 1V N 1 y N 1, N V N , so V N 1 '
yN
1
I N' 1 y N' 1, N VN .
1, N 1
Vj
1
y 'j , j
I 'j y 'j, j 1V j 1 y 'j, N VN ,
which, in general form, is described by
1 §¨ ' N ·
Vj I j ¦ y 'j , k Vk ¸ .
y 'j , j ¨© k j 1
¸
¹
3 CONTINUE
V(J) = V(J) / Y(J,J)
2 CONTINUE
STOP
END
One disadvantage of Gaussian elimination is that if I changes, even though Y is fixed, the entire
problem must be re-solved since the elimination of Y determines the row operations that must be
repeated on I. Inversion and LU decomposition to not have this disadvantage.
3. Kron Reduction
Gaussian elimination can be made more computationally efficient by simply not performing
operations whose results are already known. For example, instead of arithmetically forcing
elements below the diagonal to zero, simply set them to zero at the appropriate times. Similarly,
instead of dividing all elements below and to the right of a diagonal element by the diagonal
element, divide only the elements in the diagonal row by the diagonal element, make the
diagonal element unity, and the same effect will be achieved. This technique, which is actually a
form of Gaussian elimination, is known as Kron reduction.
'
Kron reduction "pivots" on each diagonal element y m ,m , beginning with y1,1 , and continuing
through y N 1, N 1 . Starting with Row m = 1, and continuing through Row m = N - 1, the
algorithm for Kron reducing I YV is
1. Divide the elements in Row m, that are to the right of the diagonal, by the diagonal
'
element y m ,m . (Note - the elements to the left of the diagonal are already zero).
' I'
2. Replace element I m with m .
'
ym ,m
'
3. Replace diagonal element y m ,m with unity.
4. Modify the Y ' elements in rows greater than m and columns greater than m (i.e. below
and to the right of the diagonal element) using
6. Zero the elements in Column m of Y ' that are below the diagonal element.
4. LU Decomposition
An efficient method for solving V in matrix equation YV = I is to decompose Y into the product
of a lower-left-triangle-plus-diagonal (LLT+D) matrix L, and an (URT+D) matrix U, so that YV
= I can be written as
LUV = I .
The benefits of decomposing Y will become obvious after observing the systematic procedure for
finding V.
It is customary to set the diagonal terms of U equal to unity, so that there are a total of N 2
unknown terms in L and U. LU = Y in expanded form is then
Individual l and u terms are easily found by calculating them in the following order:
1. Starting from the top, work down Column 1 of L, finding l1,1 , then l 2,1 , then l3,1 , } ,
lN,1 . For the special case of Column 1, these elements are l j ,1 y j ,1 , j = 1,2,3, },N.
2. Starting from the left, work across Row 1 of U, finding u1,2 , then u1,3 , then u1,4 , } ,
y1,k
u1, N . For the special case of Row 1, these elements are u1,k , k = 2,3,4, },N.
l1,1
3. Work down Column (k = 2) of L, finding l 2,2 , then l3,2 , then l 4,2 , } , l N ,2 , using
k 1
l j ,k y j ,k ¦ l j , m u m, k , j k , k 1, k 2, , N , Column k ,2 d k d N .
m 1
4. Work across Row (k = 2) of U, finding u 2,3 , then u 2,4 , then u 2,5 , } , u 2, N , using
k 1
yk , j ¦ l k , m u m, j
m 1
uk, j , j = k + 1, k + 2, , N , Row k ,2 d k d ( N 1) .
l k ,k
5. Repeat Steps 3 and 4, first for Column k of L, then for Row k of U. Continue for all k =
3,4,5, },(Ní1) for L and U, then for k = N for L.
The procedure given above in Steps 1 - 5 is often referred to as Crout's method. Note that
elements of L and U never look "backward" for previously used elements of Y. Therefore, in
order to conserve computer memory, L and U elements can be stored as they are calculated in the
same locations at the corresponding Y elements. Thus, Crout's method is a memory-efficient "in
situ" procedure.
D = UV,
so that
ª l1,1 0 0 0 º ª d1 º ª I1 º
«l
« 2,1 l 2,2 0 0 »» « d 2 » «I »
« » « 2»
« l3,1 l3,2 l3,3 0 »« d3 » « I3 » ,
« »« » « »
« »« » « »
«l N ,1 l N ,2
¬ l N ,3 l N , N »¼ «¬d N »¼ «¬ I N »¼
1
From Row 1, l1,1d1 I1 , d1 I1 ,
l1,1
1
From Row 2, l 2,1d1 l 2,2 d 2 I2 , d2
l 2,2
I 2 l2,1d1 ,
1 §¨ k 1 ·
From Row k, l k ,1d1 l k ,2 d 2 l k , k d k Ik , dk I k ¦ lk , j d j ¸ .
lk , k ¨ j 1
¸
© ¹
A special form of L is helpful when Y is symmetric. In that case, let both L and U have unity
diagonal terms, and define a diagonal matrix D so that
Y = LDU ,
or
ª 1 0 0 0º ªd1,1 0 0
0 º ª1 u1,2 u1,3 u1, N º
«l 0»» «« 0 0 »» «0 1
« 2,1 1 0 d 2,2 0
« u 2,3 u 2, N »»
Y « l3,1 l3,2 1 0» « 0 0 d 3,3 0 » «0 0 1 u 3, N » .
« »« »« »
« 0» « »« »
«l N ,1 l N ,2 l N ,3 1»¼ «¬ 0 0 0 d N , N »¼ «¬0 0 0 1 »¼
¬
ª 1 0 0
0º ªd1,1 d1,1l 2,1 d1,1l3,1 d1,1l N ,1 º
«l
« 2,1 1 0 0»» «« 0
d 2,2 d 2,2 l3,2 d 2,2 l N ,2 »»
Y « l3,1 l3,2 1 0» « 0
0 d 3,3 d 3,3l N ,3 » ,
« »« »
« 0» «
»
«l N ,1 l N ,2
¬ l N ,3 1»¼ «¬ 0 0 0 d N , N »¼
which can be solved by working from top-to-bottom, beginning with Column 1 of Y, as follows:
y1,1 d1,1 ,
y j ,1 l j ,1d1,1 , so l j ,1 y j ,1 / d1,1 .
k 1 k 1
yk , k ¦ lk , m d m, m lk , m d k , k , so d k , k yk , k ¦ l k , m d m, m l k , m ,
m 1 m 1
k 1 § k 1 ·
y j, k ¦ l j, m d m, mlk , m , so l j, k ¨ y j , k ¦ l j , m d m, m l k , m ¸ / d k , k , k j d N .
¨ ¸
m 1 © m 1 ¹
5. Bifactorization
Bifactorization recognizes the simple pattern that occurs when doing "in situ" LU
decomposition. Consider the first four rows and columns of a matrix that has been LU
decomposed according to Crout's method:
ª l1,1 y1,1 u1,2 y1,2 / l1,1 u1,3 y1,3 / l1,1 u1,4 y1,4 / l1,1 º
«l y 2,1 l 2,2 y 2,2 l 2,1u1,2 u 2 ,3 y 2,3 l 2,1u1,3 / l 2,2 u 2, 4
y 2,4 l 2,1u1,4 / l 2,2 »
« 2,1 » .
« l 3,1 y 3,1 l 3,2 y 3,2 l 3,1u1,2 l 3,3 y 3,3 l 3,1u1,3 l 3,2 u 2,3 u 3,4
y 3, 4 l 3,1u1,4 l 3,2 u 2,4 / l 3,3 »
« »
«¬l 4,1 y 4,1 l 4,2 y 4,2 l 4,1u1,2 l 4 ,3 y 4,3 l 4,1u1,3 l 4, 2 u 2,3 l 4, 4 y 4,4 l 4,1u1,4 l 4,2 u 2,4 l 4,3 u 3,4 »¼
The pattern developed is very similar to Kron reduction, and it can be expressed in the following
steps:
1. Beginning with Row 1, divide the elements to the right of the pivot element, and in the
pivot row, by l1,1 , so that
y1,k
y1' ,k , for k = 2,3,4, } , N.
y1,1
2. Operate on the elements below and to the right of the pivot element using
'
' ym ,k
ym ,k ,k m 1, m 2, , N ,
'
ym ,m
followed by
When completed, matrix Y' has been replaced by matrices L and U as follows:
and where the diagonal u elements are unity (i.e. u1,1 u 2, 2 u3,3 u N , N 1 ).
6. Shipley-Coleman Inversion
For relatively small matrices, it is possible to obtain the inverse directly. The Shipley-Coleman
inversion method for inversion is popular because it is easily programmed. The algorithm is
1. For each pivot (i.e. diagonal term) m, m = 1,2,3, … ,N, perform the following Steps 2 - 4.
2. Kron reduce all elements in Y, above and below, except those in Column m and Row m
using
y 'j , m y m
'
,k
y 'j , k '
y j, k ,j 1,2,3, , N , j z m; k 1,2,3, , N , k z m .
y m, m
' 1
3. Replace pivot element y m ,m with its negative inverse, i.e. .
'
ym ,m
'
4. Multiply all elements in Row m and Column m, except the pivot, by y m ,m .
The result of this procedure is actually the negative inverse, so that when completed, all terms
must be negated. A FORTRAN code for Shipley-Coleman is shown below.
COMPLEX Y(N,N),YPIV
C DO FOR EACH PIVOT M = 1,2,3, ... ,N
DO 1 M = 1,N
YPIV = 1.0 / Y(M,M)
C KRON REDUCE ALL ROWS AND COLUMNS, EXCEPT THE PIVOT ROW
C AND PIVOT COLUMN
DO 2 J = 1,N
IF(J .EQ. M) GO TO 2
DO 2 K = 1,N
IF(K. NE. M) Y(J,K) = Y(J,K) - Y(J,M) * Y(M,K) * YPIV
2 CONTINUE
C INVERT THE PIVOT ELEMENT AND NEGATE IT
YPIV = -YPIV
Y(M,M) = YPIV
C WORK ACROSS THE PIVOT ROW AND DOWN THE PIVOT COLUMN,
C MULTIPLYING BY THE NEW PIVOT VALUE
DO 3 K = 1,N
IF(K .EQ. M) GO TO 3
Y(M,K) = Y(M,K) * YPIV
Y(K,M) = Y(K,M) * YPIV
3 CONTINUE
1 CONTINUE
C NEGATE THE RESULTS
DO 4 J = 1,N
DO 4 K = 1,N
Y(J,K) = -Y(J,K)
4 CONTINUE
STOP
END
7. Impedance Matrix
Z Y 1 ,
so that
V ZI .
The reference bus both Y and Z is ground. Although the impedance matrix can be found via
inversion, complete inversion is not common for matrices with more than a few hundred rows
and columns because of the matrix storage requirements. In those instances, Z elements are
usually found via Gaussian elimination, Kron reduction, or, less commonly, by a direct building
algorithm. If only a few of the Z elements are needed, then Gaussian elimination or Kron
reduction are best. Both methods are described in following sections.
The physical significance of the admittance and impedance matrices can be seen by examining
the basic matrix equations I YV and V Y 1 I ZI . Expanding the jth row of I YV yields
N
Ij ¦ y j ,k Vk . Therefore,
k 1
Ij
y j, k ,
Vk
V m 0, m 1, 2,, N , m z k
where, as shown in Figure 2, all busses except k are grounded, V k is a voltage source attached to
bus k, and I j is the resulting current injection at (i.e. flowing into) bus j. Since all busses that
neighbor bus k are grounded, the currents induced by V k will not get past these neighbors, and
the only non-zero injection currents I j will occur at the neighboring busses. In a large power
system, most busses do not neighbor any arbitrary bus k. Therefore, Y consists mainly of zeros
(i.e. is sparse) in most power systems.
Induced Current at
Applied Voltage Bus j
at Bus k
Power System
+ A Ij
Vk
- All Other Busses
Grounded
N
1
Concerning Z, the kth row of V Y I ZI yields Vk ¦ zk , j I j . Hence,
j 1
Vj
z j, k ,
Ik
I m 0, m 1, 2,, N , m z k
where, as shown in Figure 3, Ik is a current source attached to bus k, Vj is the resulting voltage at
bus j, and all busses except k are open-circuited. Unless the network is disjoint, then current
injection at one bus, when all other busses open-circuited, will raise the potential everywhere in
the network. For that reason, Z tends to be full.
Induced Voltage
Applied Current at at Bus j
Bus k
Power System +
V Vj
Ik -
All Other Busses
Open Circuited
Gaussian Elimination
An efficient method of fully or partially inverting a matrix is to formulate the problem using
Gaussian elimination. For example, given
YZ I ,
where Y is a matrix of numbers, Z is a matrix of unknowns, and I is the identity matrix, the
objective is to Gaussian eliminate Y, while performing the same row operations on I, to obtain
the form
Y cZ Ic ,
where Y' is in (URT+D) form. Then, individual columns of Z can then be solved using backward
substitution, one at a time. This procedure is also known as the augmentation method, and it is
illustrated as follows:
Y is first Gaussian eliminated, as shown in a previous section, while at the same time performing
identical row operations on I. Afterward, the form of Y cZ I c is
ª 1 0 0 0 º
«I' I 2' ,2 0 0 »»
« 2,1
« I 3' ,1 I 3' ,2 I 3' ,3 0 »
« »
« »
«I ' ' ' ' »
¬ N ,1 IN ,2 IN ,3 I N , N ¼
where Rows 1 of Y' and I' are the same as in Y and I. The above equation can be written in
abbreviated column form as
where the individual column vectors Zi and Ii have dimension N x 1. The above equation can be
solved as N separate subproblems, where each subproblem computes a column of Z. For
example, the kth column of Z can be computed by applying backward substitution to
Kron Reduction
If Kron reduction, the problem is essentially the same, except that Row 1 of the above equation
is divided by y1' ,1 , yielding
Because backward substitution can stop when the last desired z element is computed, the process
is most efficient if the busses are ordered so that the highest bus numbers (i.e. N, N-1, N-2, etc.)
correspond to the desired z elements. Busses can be ordered accordingly when forming Y to take
advantage of this efficiency.
LU Decomposition
Concerning LU decomposition, once the Y matrix has been decomposed into L and U, then we
have
YZ LUZ I,
where I is the identity matrix. Expanding the above equation as L>UZ @ I yields
ª1 0 0 0º
«0
« 1 0 0»»
«0 0 1 0»
« »
« »
«¬0 0 0 1»¼
The special structure of the above equation shows that, in general, UZ must be (LLT+D) in form.
UZ can be found by using forward substitution on the above equation, and then Z can be found,
one column at a time, by using backward substitution on UZ >U @>Z @ , which in expanded form
is
ª uz1,1 0 0 0 º
« uz 0 »»
« 2,1 uz 2,2 0
« uz 3,1 uz 3,2 uz 3,3 0 » .
« »
« »
«uz N ,1 uz N ,2 uz N ,3 uz N , N »¼
¬
The impedance matrix can be built directly without need of the admittance matrix, if the physical
properties of Z are exploited. Furthermore, once Z has been built, no matter which method was
used, it can be easily modified when network changes occur. This after-the-fact modification
capability is the most important feature of the direct impedance matrix building and modification
algorithm.
Case 1. Add a branch impedance between a new bus and the reference bus.
Case 2. Add a branch impedance between a new bus and an existing non-reference bus.
Case 3. Add a branch impedance between an existing bus and the reference bus.
Direct formation of an impedance matrix, plus all network modifications, can be achieved
through these four cases. Each of the four is now considered separately.
Case 1, Add a Branch Impedance Between a New Bus and the Reference Bus
Case 1 is applicable in two situations. First, it is the starting point when building a new
impedance matrix. Second, it provides (as does Case 2) a method for adding new busses to an
existing impedance matrix.
Both situations applicable to Case 1 are shown in Figure 4. The starting-point situation is on the
left, and the new-bus situation is on the right.
Situation 1 Situation 2
Reference Reference
Bus Bus
Figure 4. Case 1, Add a Branch Impedance Between a New Bus and the Reference Bus
ª ª 0º º
« « 0» »
Situation 2: Z N 1, N 1
« Z
«
> @
N , N NxN
« »
«»
»
» .
« « » »
« ¬0¼ Nx1 »
«¬>0 0 0@1xN >Zadd @1x1 »¼
The effect of situation 2 is simply to augment the existing Z N , N by a column of zeros, a row of
zeros, and a new diagonal element Zadd. New bus (N+1) is isolated from the rest of the system.
Case 2, Add a Branch Impedance Between a New Bus and an Existing Non-Reference Bus
Consider Case 2, shown in Figure 5, where a branch impedance Zadd is added from existing
non-reference bus j to new bus (N+1). Before the addition, the power system has N busses, plus
a reference bus (which is normally ground), and an impedance matrix Z N , N .
Injected Current at
Induced Voltage Bus j New Bus (N+1)
at Bus k Zadd
Power System
+ A I(N+1)
Vk
-
Figure 5. Case 2, Add a Branch Impedance Between New Bus (N+1) and Existing Non-
Reference Bus j
Since all of the current I N 1 injected at new bus (N+1) flows through Zadd and into Bus j, the
original N power system busses cannot distinguish between current injections I j and I N 1 .
Therefore,
wVk wVk
, k z ( N 1) ,
wI N 1 wI j
meaning that impedance matrix elements z k , j and zk , N 1 are identical for busses k z ( N 1) ,
and that the effect on the impedance matrix is to augment it with an additional Row (N+1) that is
identical to Row j.
Likewise, since bus (N+1) is an open-circuited radial bus stemming from bus j, a current injected
at another bus k creates identical voltage changes on busses j and (N+1). This means that
wV N 1 wV j
, k z ( N 1) ,
wI k wI k
so that the effect on the impedance matrix is to augment it with an additional Column (N+1) that
is identical to Column j.
Next, due to the fact that all of injection current I N 1, N 1 passes through new branch impedance
Zadd, the relationship between V j and VN 1 is
wV N 1 wV j
Zadd ,
wI N 1 wI N 1
z N 1, N 1 z j , j Zadd ,
Summarizing, the total effect of Case 2 is to increase the dimension of the impedance matrix by
one row and column according to
ª >
Z N , N NxN @ >Column j of Z N , N @Nx1 º
Z N 1, N 1
>
« Row j of Z
«¬ N , N 1xN @ >z j, j Zadd @1x1 » .
»¼
Case 3, Add a Branch Impedance Between an Existing Bus and the Reference Bus
Now, consider Case 3, where a new impedance-to-reference tie Zadd is added to existing Bus j.
The case is handled as a two-step extension of Case 2, as shown in Figure 4.6. First, extend
Zadd from Bus j to fictitious Bus (N+1), as was done in Case 2. Then, tie fictitious Bus (N+1)
to the reference bus, and reduce the size of the augmented impedance matrix back to (N x N).
Step 1 Step 2
New Bus (N+1)
Bus j Bus j
Zadd
Power System Power System
Zadd
Figure 6. Case 3. Two-Step Procedure for Adding Branch Impedance Zadd from Existing Bus j
to the Reference Bus
Step 1 creates the augmented Z N 1, N 1 matrix shown in Case 2. The form of equation
V N 1 Z N 1, N 1 I N is
where V REF , z j , j Zadd , and I REF are scalars. Defining the row and column vectors as R j
and C j , respectively, yields
ª V Nx1 º >
ª Z N , N NxN @ >C j @Nx1
º ª I Nx1 º
«V
¬ REF 0¼
» « R
«¬ > @
j 1xN >
z j , j Zadd »«
»
1x1 ¼ ¬ I@REF
» .
¼
At this point, scalar I REF can be eliminated by expanding the bottom row to obtain
1 § 1 ·
V Nx1 Z NxN I Nx1
z j , j Zadd
C j R j I Nx1 ¨ Z NxN
¨ z Zadd
C jRj ¸¸I Nx1 ,
© j , j ¹
or
'
V Nx1 Z NxN I Nx1 .
Expanding C j R j gives
« »
>
« z3, j » z j ,1 z j,2 z j ,3 z j , N @ « z3, j z j ,1
«
z 3, j z j ,2 z 3, j z j ,3 z 3, j z j , N » ,
»
« » « »
«z N , j »
¬ ¼
« z N , j z j ,1
¬ z N , j z j ,2 z N , j z j ,3 z N , j z j , N »¼
'
so that the individual elements of the modified impedance matrix Z Nx1 can be written as
zi, j z j , k
z i' , k zi, k , i 1,2,3,, N ; k 1,2,3,, N .
z j , j Zadd
Note that the above equation corresponds to Kron reducing the augmented impedance matrix,
using element z N 1, N 1 as the pivot.
The final case to be considered is that of adding a branch between existing busses j and k in an
N-bus power system that has impedance matrix Z N , N . The system and branch are shown in
Figure 4.7.
Zadd Ib
Ib
Bus j Bus k
Power System
with N Busses
Ij Ij - Ib Ik + Ib Ik
Reference Bus
Figure 7. Case 4, Add Branch Impedance Zadd between Existing Busses j and k
As seen in the figure, the actual current injected into the system via Bus j is I j I b , and the
actual injection via Bus k is I k I b , where
V j Vk
Ib , or V j Vk Zadd I b .
Zadd
The effect of the branch addition on the voltage at arbitrary bus m can be found by substituting
the true injection currents at busses j and k into V Z N , N I , yielding
Vm z m,1 I1 z m, 2 I 2 z m ,3 I 3
z m, j I j I b
z m, k I k I b z m, N I N ,
or
z m, N I N zm, j zm,k Ib .
Vj z j ,1 I 1 z j ,2 I 2 z j ,3 I 3
z j, j I j I b
Vk z k ,1 I 1 z k ,2 I 2 z k ,3 I 3
zk, j I j Ib
z j ,k I k I b z j, N I N
.
z k , k I k I b z k,N I N
Then, V j Vk gives
As was done in Case 3, the effect of the augmented row and column of the above equation can be
incorporated into a modified impedance matrix by using Kron reduction, where element z N 1, N 1
is the pivot, yielding
zi, j zi, k z j, m z k , m
zi' , m zi, m .
z j , j z k , k z j , k z k , j Zadd
Application Notes
Once an impedance matrix is built, no matter which method is used, the modification algorithm
can very easily adjust Z for network changes. For example, a branch outage can be effectively
achieved by placing an impedance, of the same but negative value, in parallel with the actual
impedance, so that the impedance of the parallel combination is infinite.
11. Example Code YZBUILD for Building Admittance Matrix and Impedance Matrix
c
c program yzbuild. 10/10/04.
c
implicit none
complex ybus,yline,ycap,ctap,yii,ykk,yik,yki
complex lmat,umat,unity,czero,ytest,ysave,diff,uz,
1 uzelem,zbus,elem,alpha
integer nb,nbus,nfrom,nto,j,k,ipiv,jdum,kdum,jm1,kp1,l
integer nlu,ipiv1,nm1,ny,nbext,nbint,iout,mxext,mxint
integer jp1,ipp1,ngy,ngu
real eps4,eps6,eps9,pi,dr,qshunt,r,x,charge,fill,ymag,umag
dimension ybus(150,150),nbext(150),nbint(9999)
dimension lmat(150,150),umat(150,150),ysave(150,150),
1 uz(150,150),zbus(150,150),unity(150,150)
data mxint/150/,mxext/9999/,nbus/0/, nbint/9999 * 0/, iout/6/,
1 nbext/150 * 0/,czero /(0.0,0.0)/,eps4/1.0e-04/,
2 eps6/1.0e-06/,eps9/1.0e-09/
data ybus /22500 * (0.0,0.0)/
data zbus /22500 * (0.0,0.0)/
data uz /22500 * (0.0,0.0)/
data unity /22500 * (0.0,0.0)/
c
pi = 4.0 * atan(1.0)
dr = 180.0 / pi
open(unit=1,file='uz.txt')
write(1,*) 'errors'
close(unit=1,status='keep')
open(unit=1,file='zbus_from_lu.txt')
write(1,*) 'errors'
close(unit=1,status='keep')
open(unit=1,file='ybus_gaussian_eliminated.txt')
write(1,*) 'errors'
close(unit=1,status='keep')
open(unit=1,file='unity_mat.txt')
write(1,*) 'errors'
close(unit=1,status='keep')
open(unit=1,file='zbus_from_gaussian_elim.txt')
write(1,*) 'errors'
close(unit=1,status='keep')
open(unit=6,file='yzbuild_screen_output.txt')
open(unit=2,file='ybus.txt')
open(unit=1,file='bdat.csv')
write(6,*) 'program yzbuild, 150 bus version, 10/10/04'
write(2,*) 'program yzbuild, 150 bus version, 10/10/04'
write(6,*) 'read bus data from file bdat.csv'
write(6,*) 'number b'
write(2,*) 'read bus data from file bdat.csv'
write(2,*) 'number b'
c
c read the bdat.csv file
c
1 read(1,*,end=5,err=30) nb,qshunt
if(nb .eq. 0) go to 5
write(6,1002) nb,qshunt
write(2,1002) nb,qshunt
1002 format(i7,5x,f10.4)
if(nb .le. 0 .or. nb .gt. mxext) then
write(6,*) 'illegal bus number - stop'
write(2,*) 'illegal bus number - stop'
write(*,*) 'illegal bus number - stop'
stop
endif
nbus = nbus + 1
if(nbus .gt. mxint) then
write(6,*) 'too many busses - stop'
write(2,*) 'too many busses - stop'
write(*,*) 'too many busses - stop'
stop
endif
nbext(nbus) = nb
nbint(nb) = nbus
ycap = cmplx(0.0,qshunt)
ybus(nbus,nbus) = ybus(nbus,nbus) + ycap
go to 1
5 close(unit=1,status='keep')
c
open(unit=1,file='ldat.csv')
write(6,*)
write(6,*) 'read line/transformer data from file ldat.csv'
write(6,*) ' from to r x',
1 ' b'
write(2,*) 'read line/transformer data from file ldat.csv'
write(2,*) ' from to r x',
1 ' b'
c
c read the ldat.csv file
c
10 read(1,*,end=15,err=31) nfrom,nto,r,x,charge
if(nfrom .eq. 0 .and. nto .eq. 0) go to 15
write(6,1004) nfrom,nto,r,x,charge
write(2,1004) nfrom,nto,r,x,charge
1004 format(1x,i5,2x,i5,3(2x,f10.4))
if(nfrom .lt. 0 .or. nfrom .gt. mxext .or. nto .lt. 0
1 .or. nto .gt. mxext) then
write(6,*) 'illegal bus number - stop'
write(2,*) 'illegal bus number - stop'
write(*,*) 'illegal bus number - stop'
stop
endif
if(nfrom .eq. nto) then
write(6,*) 'same bus number given on both ends - stop'
write(2,*) 'same bus number given on both ends - stop'
write(*,*) 'same bus number given on both ends - stop'
stop
endif
if(r .lt. -eps6) then
write(6,*) 'illegal resistance - stop'
write(2,*) 'illegal resistance - stop'
write(*,*) 'illegal resistance - stop'
stop
endif
if(charge .lt. -eps6) then
write(6,*) 'line charging should be positive'
write(2,*) 'line charging should be positive'
write(*,*) 'line charging should be positive'
stop
endif
if(nfrom .ne. 0) then
nfrom = nbint(nfrom)
if(nfrom .eq. 0) then
write(6,*) 'bus not included in file bdat.csv - stop'
write(2,*) 'bus not included in file bdat.csv - stop'
write(*,*) 'bus not included in file bdat.csv - stop'
stop
endif
endif
if(nto .ne. 0) then
nto = nbint(nto)
c
c the line charging terms
c
if(nfrom .ne. 0) ybus(nfrom,nfrom) = ybus(nfrom,nfrom) + ycap
if(nto .ne. 0) ybus(nto ,nto ) = ybus(nto ,nto ) + ycap
c
c shunt elements
c
if(nfrom .ne. 0 .and. nto .eq. 0) ybus(nfrom,nfrom) =
1 ybus(nfrom,nfrom) + yline
if(nfrom .eq. 0 .and. nto .ne. 0) ybus(nto ,nto ) =
1 ybus(nto ,nto ) + yline
c
c transmission lines
c
if(nfrom .ne. 0 .and. nto .ne. 0) then
ybus(nfrom,nto ) = ybus(nfrom,nto ) - yline
ybus(nto ,nfrom) = ybus(nto ,nfrom) - yline
ybus(nfrom,nfrom) = ybus(nfrom,nfrom) + yline
ybus(nto ,nto ) = ybus(nto ,nto ) + yline
endif
go to 10
c
c write the nonzero ybus elements to file ybus
c
15 close(unit=1,status='keep')
write(6,*)
write(6,*) 'nonzero elements of ybus (in rectangular form)'
write(2,*) 'nonzero elements of ybus (in rectangular form)'
write(6,*) '-internal- -external-'
write(2,*) '-internal- -external-'
ny = 0
do j = 1,nbus
do k = 1,nbus
ysave(j,k) = ybus(j,k)
if(cabs(ybus(j,k)) .ge. eps9) then
ny = ny + 1
write(6,1005) j,k,nbext(j),nbext(k),ybus(j,k)
write(2,1005) j,k,nbext(j),nbext(k),ybus(j,k)
1005 format(2i5,3x,2i5,2e20.8)
endif
end do
end do
close(unit=2,status='keep')
fill = ny / float(nbus * nbus)
write(iout,525) ny,fill
do ipiv = 1,nm1
write(iout,530) ipiv
530 format(1x,'lu pivot element = ',i5)
ipiv1 = ipiv + 1
alpha = 1.0 / ybus(ipiv,ipiv)
do k = ipiv1,nbus
ybus(ipiv,k) = alpha * ybus(ipiv,k)
end do
do j = ipiv1,nbus
alpha = ybus(j,ipiv)
do k = ipiv1,nbus
ybus(j,k) = ybus(j,k) - alpha * ybus(ipiv,k)
end do
end do
end do
write(iout,530) nbus
write(iout,532)
532 format(/1x,'nonzero lu follows'/)
open(unit=4,file='lu.txt')
nlu = 0
do j = 1,nbus
do k = 1,nbus
ymag = cabs(ybus(j,k))
if(ymag .gt. eps9) then
nlu = nlu + 1
write(iout,1005) j,k,nbext(j),nbext(k),ybus(j,k)
write(4,1005) j,k,nbext(j),nbext(k),ybus(j,k)
endif
end do
end do
do j = 1,nbus
do k = 1,nbus
lmat(j,k) = czero
umat(j,k) = czero
if(j .ge. k) lmat(j,k) = ybus(j,k)
if(j .lt. k) umat(j,k) = ybus(j,k)
end do
umat(j,j) = 1.0
end do
do j = 1,nbus
do k = 1,nbus
ytest = czero
do l = 1,k
ytest = ytest + lmat(j,l) * umat(l,k)
end do
diff = ysave(j,k) - ytest
if(cabs(diff) .gt. eps4) write(iout,1005) j,k,nbext(j),
1 nbext(k),diff
end do
end do
c
c form uz (urt + diag)
c
write(iout,536) nbus
536 format(1x,'uz pivot = ',i5)
uz(nbus,nbus) = 1.0 / ybus(nbus,nbus)
nm1 = nbus - 1
do kdum = 1,nm1
k = nbus - kdum
write(iout,536) k
uz(k,k) = 1.0 / ybus(k,k)
kp1 = k + 1
do j = kp1,nbus
uzelem = czero
jm1 = j - 1
alpha = 1.0 / ybus(j,j)
do l = k,jm1
uzelem = uzelem - ybus(j,l) * uz(l,k)
end do
uz(j,k) = uzelem * alpha
end do
end do
write(iout,537)
537 format(/1x,'nonzero uz follows'/)
open(unit=8,file='uz.txt')
nlu = 0
do j = 1,nbus
do k = 1,nbus
ymag = cabs(uz(j,k))
if(ymag .gt. eps9) then
nlu = nlu + 1
write(iout,1005) j,k,nbext(j),nbext(k),uz(j,k)
write(8,1005) j,k,nbext(j),nbext(k),uz(j,k)
endif
end do
end do
open(unit=10,file='zbus_from_lu.txt')
do kdum = 1,nbus
k = nbus - kdum + 1
write(iout,550) k
550 format(1x,'zbus column = ',i5)
do jdum = 1,nbus
j = nbus - jdum + 1
zbus(j,k) = czero
if(j .ge. k) zbus(j,k) = uz(j,k)
if(j .ne. nbus) then
jp1 = j + 1
do l = jp1,nbus
zbus(j,k) = zbus(j,k) - ybus(j,l) * zbus(l,k)
end do
end if
end do
end do
write(iout,565)
565 format(/1x,'writing zbus_from_lu.txt file')
do j = 1,nbus
do k = 1,nbus
write(10,1005) j,k,nbext(j),nbext(k),zbus(j,k)
write( 6,1005) j,k,nbext(j),nbext(k),zbus(j,k)
end do
end do
close(unit=10,status='keep')
c
c check ybus * zbus
c
write(iout,5010)
5010 format(/1x,'nonzero ybus * zbus follows')
do j = 1,nbus
do k = 1,nbus
elem = czero
do l = 1,nbus
elem = elem + ysave(j,l) * zbus(l,k)
end do
ymag = cabs(elem)
if(ymag .gt. eps4) write(iout,1005) j,k,nbext(j),nbext(k),elem
end do
end do
c
c copy ysave back into ybus, and zero zbus
c
do j = 1,nbus
unity(j,j) = 1.0
do k = 1,nbus
ybus(j,k) = ysave(j,k)
zbus(j,k) = czero
end do
end do
c
c gaussian eliminate ybus, while performing the same operations
c on the unity matrix
c
nm1 = nbus - 1
do ipiv = 1,nm1
write(iout,561) ipiv
561 format(1x,'gaussian elimination ybus pivot = ',i5)
alpha = 1.0 / ybus(ipiv,ipiv)
ipp1 = ipiv + 1
c
c pivot row operations for ybus and unity
c
do k = 1,nbus
if(k .gt. ipiv) then
ybus(ipiv,k) = ybus(ipiv,k) * alpha
else
unity(ipiv,k) = unity(ipiv,k) * alpha
endif
end do
c
c pivot element
c
ybus(ipiv,ipiv) = 1.0
c
c kron reduction of ybus and unity below the pivot row and to
c the right of the pivot column
c
do j = ipp1,nbus
alpha = ybus(j,ipiv)
do k = 1,nbus
if(k .gt. ipiv)
1 ybus(j,k) = ybus(j,k) - alpha * ybus(ipiv,k)
if(k .lt. ipiv)
1 unity(j,k) = unity(j,k) - alpha * unity(ipiv,k)
end do
end do
c
c elements directly below the pivot element
c
do j = ipp1,nbus
alpha = ybus(j,ipiv)
ybus(j,ipiv) = ybus(j,ipiv) - alpha * ybus(ipiv,ipiv)
unity(j,ipiv) = unity(j,ipiv) - alpha * unity(ipiv,ipiv)
end do
end do
c
c last row
c
write(iout,561) nbus
alpha = 1.0 / ybus(nbus,nbus)
do k = 1,nbus
unity(nbus,k) = unity(nbus,k) * alpha
end do
ybus(nbus,nbus) = 1.0
ngy = 0
ngu = 0
write(iout,562)
562 format(/1x,'writing gaussian eliminated ybus and unity to files')
open(unit=12,file='ybus_gaussian_eliminated.txt')
open(unit=13,file='unity_mat.txt')
do j = 1,nbus
do k = 1,nbus
ymag = cabs(ybus(j,k))
if(ymag .ge. eps9) then
write(12,1005) j,k,nbext(j),nbext(k),ybus(j,k)
ngy = ngy + 1
endif
umag = cabs(unity(j,k))
if(umag .ge. eps9) then
write(13,1005) j,k,nbext(j),nbext(k),unity(j,k)
ngu = ngu + 1
endif
end do
end do
close(unit=12,status='keep')
close(unit=13,status='keep')
fill = ngy / float(nbus * nbus)
write(iout,555) ngy,fill
555 format(/1x,'number of nonzero elements in gaussian eliminated',
1' ybus = ',i5/1x,
1'percent fill = ',2pf8.2/)
fill = ngu / float(nbus * nbus)
write(iout,556) ngu,fill
556 format(/1x,'number of nonzero elements in gaussian eliminated',
1' unity matrix = ',i5/1x,
1'percent fill = ',2pf8.2/)
c
c back substitute to find z
c
do k = 1,nbus
zbus(nbus,k) = unity(nbus,k)
end do
do jdum = 2,nbus
j = nbus - jdum + 1
write(iout,550) j
do kdum = 1,nbus
k = nbus - kdum + 1
zbus(j,k) = unity(j,k)
jp1 = j + 1
do l = jp1,nbus
zbus(j,k) = zbus(j,k) - ybus(j,l) * zbus(l,k)
end do
end do
end do
write(iout,566)
566 format(/1x,'writing zbus_from_gaussian_elim.txt file')
open(unit=11,file='zbus_from_gaussian_elim.txt')
do j = 1,nbus
do k = 1,nbus
write(11,1005) j,k,nbext(j),nbext(k),zbus(j,k)
write( 6,1005) j,k,nbext(j),nbext(k),zbus(j,k)
end do
end do
close(unit=11,status='keep')
c
c check ybus * zbus
c
write(iout,5010)
do j = 1,nbus
do k = 1,nbus
elem = czero
do l = 1,nbus
elem = elem + ysave(j,l) * zbus(l,k)
end do
ymag = cabs(elem)
if(ymag .gt. eps4) write(iout,1005) j,k,nbext(j),nbext(k),elem
end do
end do
stop
30 write(iout,*) 'error in reading bdat.csv file - stop'
write(*,*) 'error in reading bdat.csv file - stop'
stop
31 write(iout,*) 'error in reading ldat.csv file - stop'
write(*,*) 'error in reading ldat.csv file - stop'
stop
end
Comma-separated file bdat.csv contains the bus data, using the format:
bus number , shunt q (in pu, where capacitance positive, and inductance
is negative)
Comma-separated file ldat.csv contains the branch data, using the format:
from bus number , to bus number , r(pu) , x(pu) , line charging (in pu,
for the total length of line)
Two sample systems are included. One has three busses, and the other has
eighty-three busses. To try out yzbuild, simply copy and rename the data
files for either system as bdat.csv and ldat.csv, and then click on yzbuild.exe.
Build the Y matrix. Show the complex terms individually. Do not perform any complex
arithmetic such as inversions, and do not combine the terms.
1 j2 2 3 j4 4
j6
j8 j5 j4
Programming Considerations
1. Sparsity Programming
Many power system matrices tend to be very large and very sparse. A typical example is the
admittance matrix Y. Each diagonal element of Y is non-zero, and each branch connected
between busses occurs twice in Y, so that a branch between busses j and k appears in y j , k and
yk , j . Additional parallel branches and shunt elements do not create additional y elements.
Consider a power system with 250 busses and 750 branches. Assume that none of the branches
are parallel branches. The dimension of Y is 250 x 250, or 62,500 elements. However, the
number of non-zero terms in Y equals 250 + 2(750), or 1750. Therefore, only 2.8% of the Y
elements are non-zero. The savings are even more impressive for larger systems, since Y grows
by N 2 , but the number of non-zero terms grows by N. For example, a 2500 bus, 7500 branch Y
has only 0.28% non-zero terms.
In most cases, the coding of large computer programs involves trade-offs between execution
time and memory requirements. Sparsity storage techniques, however, reduce both execution
time and memory requirements. The only drawback of sparsity programming is that it is more
difficult to code than full-matrix programming.
There are several techniques for sparsity programming. The method presented here is known as
the sequential trace method, and although the example is given for Y, it applies equally well to
the loadflow Jacobian matrix.
Four vectors are used for storing and accessing the sparse Y:
2. Vector NFIRST, of length N, points to the stack location in Y of the first non-zero element
of a row (in column order). For example, the stack position of the first non-zero element
in Row k is found in NFIRST(k).
3. Vector NCOL, of length M, gives the Y column number of the associated Y stack position.
4. Vector NEXT, of length M, gives the stack location in Y of the next non-zero element in
the corresponding row. A zero value indicates the end of the row.
The term "sequential trace" is derived from the fact that all elements of a Y row can be found, in
a column-order sequence, by starting with the lowest occupied column number of the row, and
continuing through the highest occupied column number of the row.
As an example, let Row 23 of Y have three elements: y235 , in stack location 987, y23,23 in stack
location 560, and y23138
, in stack location 1230. These elements can be found as follows:
1. The stack location of the first non-zero element (in column order) of Row 23 is found by
looking in NFIRST(23). In this example, NFIRST(23) equals 987.
2. The corresponding column number is found in NCOL(987), which equals 5. Thus, the
equivalent Y(23,5) element is found in stack position Y(987).
3. The stack position of the next non-zero Y element in Row 23 is found by looking at
NEXT(987). The value of NEXT(987) is 560.
4. The corresponding column number is found in NCOL(560), which equals 23. Thus, the
equivalent Y(23,23) element is found in stack position Y(560).
5. The stack position of the next non-zero Y element in Row 23 is found by looking at
NEXT(560). The value of NEXT(560) is 1230.
6. The corresponding column number is found in NCOL(1230), which equals 138. Thus,
the equivalent Y(23,138) element is found in stack position Y(1230).
7. A zero in NEXT(1230) indicates that the end Row 23 has been reached.
Table 1: Example of Sequential Trace Method for Sparsity Storage, where the First Non-Zero
Column for Row 23 is found in NFIRST(23) = 987
When Y is first built, the elements for each row are contiguous. However, as Y is Gaussian
eliminated or LU decomposed, "fill-ins" are created, and they are normally added to the end of
the Y stack. The four vectors must be modified appropriately, and the elements of a row are no
longer contiguous.
1, and then saved. Next, Row 3 is formed, eliminated by Row 1, then by Row 2, and then saved,
etc.
Gaussian elimination and LU decomposition reduce matrices through a series of row operations.
Once the decision has been made to use sparsity programming, then it is very important in power
system applications to order the busses efficiently so that the advantages of sparsity
programming are not nullified by the creation of too many "fill-ins" (i.e. zero elements that
become non-zeros).
2 1 4
ªx x x x xº
«x x »
« »
«x x x » ,
« »
«x x x »
«¬ x x »¼
and the final form of the Gaussian eliminated Y is a full (URT+D) matrix, or
ªx x x x xº
« x
»»
«
« x x
» ,
« »
« x
»
«¬ x »¼
However, if the bus numbers for busses 1 and 5 are interchanged, then the initial Y has the form
ªx xº
« x x »»
«
« x x x» ,
« »
« x x x»
«¬ x x x x x »¼
ªx xº
« x x »»
«
« x x x» ,
« »
« x x»
«¬ x »¼
While this is a simple example, the importance of bus ordering cannot be overstated. Of course,
an efficient computer code does not require the user to order the busses ahead of time. Rather,
the user simply inputs his/her desired bus numbers, in no particular order, and the program
develops an "internal" (to the program) bus order. The following three methods are often used:
Method 1: Before Gaussian elimination begins, order the busses according to the number of
connected branches, ignoring parallel branches and shunt elements, so that the busses
with the fewest branches are first, and the busses with the most branches are last.
Method 2: Order the busses so that after each step of Gaussian elimination, the next bus in the
order is the one that has the fewest branches, including intermediate fill-in branches.
Method 3: Order the busses so that after each step of Gaussian elimination, the next bus in the
order is the one that creates the fewest fill-ins. This requires a simulated row-
reduction for all candidate busses.
Method 1 is the simplest and provides the highest incremental benefit. Method 2 usually
provides the best overall speed and memory benefits. Method 3 is more time-consuming to
compute, and the time and storage savings gained by Method 3 usually do not offset its
additional ordering computation time.
The impact of optimal ordering on the Gaussian elimination of Y for six sample systems is
shown in Table 2.
The impact of optimal bus ordering on the Jacobian matrix, before and after Gaussian
elimination, is shown in Figures 2a, 2b, and 2c, which correspond to optimal ordering methods 1,
2, and 3, respectively.
0 °°
°°°°°
°°°°
°°°° °°°°
°° °°
°°
°°
°°
°°°° °°°° °°
°°
°°
°°°° °°°°
°°°° °°°° °°
°°°°
°° °° °°
°°
°°°° °°°°
°°° °°
°°
°° °° °°
°°°° °° °°
°°°° °° °°
°°°° °° °°
°°°°
°°°° °°°°
°°
°°°°
°°°°°°°° °°°
°°°°
°°°°°°°° °°°
°° °°
°°°°
°°°°°° °°
°°°°°°
50 °°°°°°°°
°°°°
°°°°°°
°°°°°°
°°°°°
°°°°°°°°°
°°°°
°°°°
°°
°°°°
°°°°°°
°
°°°°
°°°° °°
°°°°°°°° °°°° °°
°°
°°°°°°°°°°
°°°°
°°°
°° °°°°°°
°°°°°
°° °°°°°°° °°
°°
°°°°°°°°°
°°°°
°°°
°°°°°°
°°°°°
°°°°°°
°°°°°
°°° °°°
°
°°°°
°°°° °°°°
°°°°°°
°°°°°°
°°
°° °°°°°
°°°°° °°°°°
°°°
°° °°°° ° °
°° °°°°°° °° °°
°° °°°°°
°°°°° °°
°° °°°° °°°°° °°°°
°° °°°°°° °
100 °°
°°
°°
°°
°°°
°°°°
°°°°
°°°°
°°°°
°°°°°°
°°°°°°
°°°°
°°°°°°
°°
°°°°
°°
°°°°°°
°°
°°
°°
°°
°°°°
°°°°
°°°° °°
° °°°°°° °°°°
°°°°
°°°° °°
°°
°°
°° °°°°°
°°°
°°°
°° °°°
°°°°°°°
°°°
°°°°° °°°
°°°°
°°°° °°°° ° °
°°°°°°°° °°°° °°
°°
°°°°°°°
°°°°°
°°°
°°°°°° °°°°
°°°° °°°°°
°°°
°° °°°° °°°°
°° °°°°
°°°° °°
°° °°°°°° °°°
°°°°°° °° °°°°° ° °° °°°°
°°
°° °° °°°°
150 °° °°
°° °°°°
°°°° °°°°
°°°°°°°
°°°°
°°°°
°°°°°°
°°°°°°
°°°°
°°°°°°°°
°°
°°°°
°°°° °
°°
°°° °°
°
°°°° °°
°° °°°°
°° °°°°°°°
° °°°°
°° °°°° °° °°°°°°°°
°°°° °°°°
°°°° °° °°
°°°°
°°°°°°°° °°°° °°
°°
°° °°°° °°°°°°°°
°° °°
°° °°°°
°°
°°°
° °°°°
°°°°
° ° °°°° °°°°
°°°°°°° °°°° °°
°°° °°°° °°°°° °°
°° ° °°
°°°°° °°
°°
°°°°
°°°°°° °°°° °°°°
°°
°° °° °°°° °°°
°° °° °°°° ° °°°°
°° °° °°°°°°° °°°°
°°°°° °°
°° °° °°°°° °°°° °°
°°
°° °°°°°°
°°
°°° °°
200 °°
°°
°°
°°
°°
°°
°°
°°
°° °°°
°° °°°°
°°°
°°°°°
°°°
°°°°
°°°°
°°°°
°°°°° °°
°°°°°
°°°° °°°°
°°°°
°°°°
°°°°°°
250 °°
0 °°°
°°°
°°°
°°° °°°°
°° °°
°°
°°
°°
°°° °°°° °°
°°
°°° °°°° °°
°°° °° °°
°°°°
°° °° °°
°°° °°°°
°°° °°
°°
°°° °° °°
°°° °° °°
°°° °° °°
°°° °° °°
°°°°
°°° °°°°
°°
°°° °° °°
°°
°°°°°°°° °°°°
°°°°° °°° °°
°°°
°°°° °°
°°
°°° °°
50 °°°°°°°
°°°
°°°°
°°°
°°°°
°°°°°
°°°
°°°
°°°°
°°°°°°
°°°°°°
°°°°
°°°°°
°°°
°°
°°°° °°°°
°°°°°°°
°°°°°° °°°° °°
°°°° °°°°
°°°
°°° ° °
°°°°°°
°° °°°° °°
°°° °°
°°
°°°°
°°° °°
°°
°°°
°
°°°° °°
°°°° °°°° °°°°°°
°°°
°°°° °°°°°°
°°°
°°°° °°°°
°° °°°°°
°°°°
°°° °°°°
°°°°
°°° °°
°°
°°°°
° °°
°°° °°°°° °°°°
°°°°° °
100 °°°°
°°°°
°°°
°°°°
°°°
°°°°°
°°°°° °°°°°° °°
°°
°°
°°
°°
°°
°°
°°
°°°°
°°
°°°
°°° °°°°°°
°°°°°°
° ° °°°
°°
°°° °°
°°
°°° °°
°°
°°°° °°°
°°°°°°°
°°° °°°
°°°°°
°°°
°°° °°°°°° °°°°
°°°°°°°°
°° °° °°°°
°°°
°°° °°°° °°°°°°
°°° °°°°°
°°°
°°°°°°° °°°°
°°°
°°° °°°°
°°° ° °
°°°°
°° °°°° °°°°
°°
°°°°°°
°°°°
°°° °°°° °° °°°°
150 °°°°
°°°
°°°°°°
°°°°
°°°°°°°
°°°°
°°°
°°°°°°° °° ° °°°° °°°°
°°
°° °°°°
°°°° °°°° °°
°° °° °°
°°°°
°°°°°°
°°°°
°°°°
°°°°
°°°
°°°
°°° ° ° °°°°°°
°°°° °° °° °°°°°°
°°°°
°°° °° °°°°
°°° °° °°
°°°
°°°°°°°
°° °° °°°°
°°°° °°°°°° °°°°°° °°°° °°°°°°
°°°
°°° °°°° °°°° ° °° °°°° °°°°
° °°°°
°°°°°°°°° °°°° °°°°°°
°° ° °°
°°°°°
°°°° °° °° °°
°°° °°° °°°°°° °°°°°° °°°°°° °°°° °° °°°° °°°° °°°°
°°°°°°°° °° °° ° °°°° °°°°
°°° °°°°°°°°
°°°°° °° °°°°°° ° °° °°°° °°°° °°°°°°
°°°°
°°°°°°°°°°° °°°°
°°° °°° °°°°°° °° °°°°°° °°°°
°°°°°°°
°°°°°°°°°°°°
°°°°°°°°° °°°° °°°°°° °°°°°°°°°
°°°°°
°°° °°° °°°°°° °°° °°°°°°
200 °°°°°°
°°°°°
°°°°
°°° °°°°°
°°°
°°° °°° °°°°°° °°° °°°°°°
°°°°°°°
°°°
°°° ° °° ° °°°°
°°° °°° °°°°°° °°° °°°°°°
°°° °°°° °°°°
°°°
°°°
°°° °°°°°°
°°°
°°°
°°
°°°° °°°°°° °°°°°°°°
°°° °°°°°° °°°°°° °°°
°°° °°°°°°°°
°°°°°°°
°°°°°°
°°°°°°°°°°°
°°°°°
°°°°°°°°°
°°°°°
°°°°°°°°°°°
°°°°°°
°°
°°
°° ° °°°°°° °°°°°°°°°°°°°°
°°°°°°° °°°° °°°°°° °°°°°°
°°°°°
°°°°° °° °°°°° °°°°°° °°°° °°°°°°°°° °°°°°°
°°°°°° °°°°
°°°°
°°° °°°
°°°°°°°
°°°°°°°°°° °°°° °° °°°°°°°
°°°°°°°°°°°
°°°°°°°°°°°°°°°°°°°°°
°°°°°°°°°°
°°°°°°°°°° °°°° °°°° °°°°°°°°° °°°°°°°° °°
°°°°°°
°°°°° °°°° °°°°°° °°°°°°° °°°°°°
°°°°°°°°°°°°
°°°°
°°° °°°°°°°°°°°°
°°°°°°°
°°°°°°°°°°°°°°°°
°°°°°°°°°°°
°°°°°°°
°°° °°°°°°°° °°°°°°
°°°°°°°°°°°°°°°°
°°°°°°
°°°°°°°°°°°°
°°
°°°°°°
°°°°° °°°°°°°°°°
°°°°
°°° °°°°°°°°°
°°°°°°°°°°°°°°°°
°°°°°° °°°°
°°°°°°°°°
°°°°°°°°°°
°°°°°°°
°°°°°°°°°°°°°°°°
°°°°°°
°°°°°°°°°°°°
°°°°°°°
°°°°°° °°°°°°
°°°°°°°° °°°°°°
°°°°°
°°°° °°°°°°°
°°°°°° °°
°°°
°°°°°°°°°°°°°°°°°
°°°°°°°°°°°°
°°°°°°
°°°°° °°°°
°°°°
°°° °°
°°°° °°°°
250 °
Figure 2a. Jacobian Matrix for 125 Bus System, Before and After Gaussian Elimination, Using
Optimal Ordering Method 1
0 °°
°°°°°
°°°°°°
°°°°
°°°°°
°°°°
°°
°°
°°
°°°°°°°°
°°°°°
°°° °°
°°°°°°
°°°°
°°°°
°°°°°°°° °°°°
°°
°°°°°°°°°
°°°°
°°°°
°°°°°°
°°°° °°
°°°°°°°°°°° °°
°°°°
°°°°°°
°°°°°°°°
°°°°°°
°°°
°°°°
°°°
°° °°°°°°°°°°
°°
°°°°°°°
°° °°°°°°
°°°°°°
°°°°°°°°°°°
°°°°
°°
°°°°°°°°
°°°°
°°°°°°°°°° °°
°°°°°°°° °°
50 °°°°°°°
°° °°°
°°°°
°°°°°°°°
°°°
°°°°°°°°°
°°°°
°°°°°°
°°°°
°°
°°
°°°°°°
°°°° °°
°°°°°°°°
°°°° °°
°°°°°°
°°°°°°
°°°°°°
°°°°°°
°°°°°° ° °°
°°°°°°°
°°°°
°°°°°°
°°
°°°°°°°
°°°°
°°°°°°°
°°
°°°°
°°°°°
°°°°
°°°°°°°° °°°°
°°
°°°°°°°
°°°°
°°°°
°°°°°°°° °°
°°
°°°°
°°°°°°°° °°
°°°°
°°°°°°
°°°°°°
100 °°
°°°°
°°°°°°
°°°°
°°°°
°°°°
°°°°°°°°
°°
°°°°°°°°
°°°°
°°°
°°°°
°°°°°°
°°
°°
°° °°
°°
°° °°°° °°°
°° °°
°°
°°°°°°°°°°° °°°° ° °°
°°°°°°°°
°°°°
°°°°°°
°°°° °
°°°°°°°°
°° °°
°°°°°°
°°°°
°°°° °°°°
°°°°°°
°°°°°°
°°°° °°°°°° °°°°
°°°°
°°°°°° °°°°
°°°° °° °°°°
° °°°° °°°° °°
°° °°°°
°°°° ° °°°°
°° °°°°°° °
°°° °°°°° °°°°°°
°°°°
°°°° °°
150 °° °°
°°°°
°°°°°°°°
°° °°°° °°°°
°°°°°°°
°°°°
°°°°°°°°
°°°°
°°°°°°
°
°°°
°° °°°°
°
°° °
°° °°°° °°°° °
°°°°°
°°°° °°°° °°°°°°°°
°°°° °°°° °°°° °°°
°°°° °°°° °°°° °°°° °
°°°° °° °°°° °°°°
°°°°°°
°° °°°°° °°°° °° °°
°° °°° ° ° °°°° °°
°° °° °°°° °° °°
°° °°°° °° °° °°°°°° °°°°
°°
°°°° ° °
°° °° °°°°
°°°° °° °°°°
°°
°° °°° °°°°°° °°°°°°
°° °° °°°°° °°° °°
°°°° ° ° °°°°°°
°°°° °°°° °°°°°° °°°°°° °°
°°°° °°°° °° °°°° °°°°
200 °°°°
°°
°°°
°
°°
°°
°°
°°°° °°°°
°°°°°°°°
°°° °°°°°
°°°
°° °°°°°
°°°
°°°°° °°°°
°°°
°°
°°°°
°°°°°°°°°
°
°°°° °°°°
°° °°°° °°°° °°°° °° °°°° °°°° °°°° °° °°°°
°° °°°°°
°°° °°°° °°°° °°°°°° °°°°
°°°°°°°°
°° °°°° °°°
°
°°°°
°°°° °° °°°°°°
°°
°° °°° °°°°°°
° ° °
°° °° °°°° °° °°°°
°° °° °°°° °° °°°°
°° °° °°°° °° °°°°
°° °°°° °°°° °°°° °°°° °°°° ° ° °°°
°°
°° °°°°°° °°°°°° °°°°°°
°°
°°
°° °° °°°°°°
°°
°° °°
°°°°
°
°°°°
°°°°
°° °°°°° °°°° °°°°°°
°°°°°° °
°° °°°°°°°°°° ° °° °°°°
°°°°°° °°°° °°°°
250 °
0 °°°
°°°
°°°°°
°°°
°°°
°°°°
°°
°°
°°
°°°°°°°
°°
°°°°
°°°
°°° °°°°
°°°°°°
°°°°°
°°
°°°°
°°°
°°° °°
°°°°°°° °°
°°°
°°°°
°°°
°°°°°°°
°°°°°
°°°°
°°°
°°°°
°°°
°°°°°°
°°°°°°
°
°°°°
°°°
°°° °°
°°
50 °°°°°°°
°
°°°
°°°
°°°
°°°°°
°°°°
°°°
°°°°
°°°°
°°
°°
°°°
°°°°°° °°
°°°° °°
°°°°
°°°
°°°°
°°°
°°°°
° °°
°°°°°°°
°°°
°°°
°°°°°°
°°°
°°°°
°°°
°°° °°°°
°°°°°°
°°°°°°°
°°° °°
°°
°°°°
°°°
°°°°°°° °°
°°°
°°°°
°°°
100 °°°°
°°°°°
°°°
°°°
°°°°°°
°°°°°
°°
°°°
°°°°
°°°°
°°°°°°
°°
°° °°
°°
°°°°
°°° °°°° °°
°°°°°°°
° °°°° °° °°
°°° °°
°°
°°°°
°°° °°
°°
°°°°°° ° °°°°
°°°
°°°° °°°
°°°
°°° °° °°°°
°°°°°° °°°
°°°° °°°° °°°°
°°° °°°° °°°°
°°° °° °°°°
°°°°°°° °°°° °°°° °°
°°°
°°°
°°° °° °°°°°°
°°°°° °°°°° °°°°
°°° °°
150 °°°
°°°°°°°
° °
°°°°° °°°°
°°° °°°°
°°°°
°°°
°
°°°°
°
°°
°°°°
°° °°°°°°
°°°°
°°° °°°° °
°°°°°
°°° °°°°
°° °° °°°° °°°°°°
°°°°
°° °° °
°°° °° °°
°°° °°°°°° °°°°°° °°°°
°°°° °° ° ° ° ° ° °°° °°°°
°°° °° °°
°°° °°°°°° °° °°°° °°°°
°°°° °° °° °°°°
°°° °°°°°° °°°° °°°°
°°
°°° ° °° °°°°
°°° °°° °°°°°
° °°°°°°
°°° °°°°°° °°
°°° °°°° °°°° °°°° °°°°°°
°°° °°°° °°°°° °°°° °° °°°°
°°° ° ° ° ° °
200 °°°
°°° °°°°° °°° °°
°°°°°°°
°°°
°°°
°°° °°°°°°
°°°°
°°
°°
°° °°° °° °°
°°°° °°°
°°°°
°°°°°
°° °°° °°°°
°°
°°° °°°°°°°° °°°° °°°°°°°
°°° °° °° ° °°°
°°° °°°° °°°° °°°°°° °°° °°°
° ° °°°
°°° °° °°°°°°°° °°°°°°°°°°° °°°°°
°°° °°°°°°°°°° °°°°°° °°°°°° °°°°
°°° °°°° °°°°°°° °°°°°°°°
°° °°
°°°°
° °°°°°°°°° ° °° °°°°
°°°°°°°°°
°°°°°° °°°°°°°°°°°°
°°°°°°° °°°° °°°°°°°° °° °°°°
°°°°°°° °
°°°°°°°°° °° °°°°°°°
°°°°°° °°
°°°°°°°°°°
°°°°°°°
°°°°°°°°°°°°°°°°
°°°°°°°° °°°°°°°°°°°°
°°°°°° °°°°°°
°°°°°°°° °°°°
°°°°°
°°°° °°°°°°°°
°°°°°° °°°°
°°° °°°°°°
°°°°°°°°°°°°
°°°°°°°°°°
°°°°°°
°°°°° °°°°
°°°°
°°° °°
°°°°°°°°
250 °
Figure 2b. Jacobian Matrix for 125 Bus System, Before and After Gaussian Elimination, Using
Optimal Ordering Method 2
0 °°
°°°°°
°°°°°°
°°°°
°°°°°
°°°°
°°
°°
°°
°°°°°°°°
°°°°°
°°° °°
°°°°°°
°°°°
°°°°
°°°°°°°° °°°°
°°
°°°°°°°°°
°°°°
°°°°
°°°°°°
°°°° °°
°°°°°°°°°°° °°
°°°°
°°°°°°
°°°°°°°°
°°°°°°
°°°
°°°°
°°°
°° °°°°°°°°°°
°°
°°°°°°°
°° °°°°°°
°°°°°°
°°°°°°°°°°°
°°°°
°°
°°°°°°°°
°°°°
°°°°°°°°°° °°
°°°°°°°° °°
50 °°°°°°°
°° °°°
°°°°
°°°°°°°°
°°°
°°°°°°°°°
°°°°
°°°°°°
°°°°
°°
°°
°°°°°°
°°°° °°
°°°°°°°°
°°°° °°
°°°°°°
°°°°°°
°°°°°°
°°°°°°
°°°°°° ° °°
°°°°°°°
°°°°
°°°°°°
°°
°°°°°°°
°°°°
°°°°°°°
°°
°°°°
°°°°°
°°°°
°°°°°°°° °°°°
°°
°°°°°°°
°°°°
°°°°
°°°°°°°° °°
°°
°°°°
°°°°°°°° °°
°°°°
°°°°°°
°°°°°°
100 °°
°°°°
°°°°°°
°°°°
°°°°
°°°°
°°°°°°°°
°°°°°°°°
°° °°°
°°°°°
°°°°
°°°°°°
°°
°°°°
°°
°° °°
°°
°° °°°°°
°° °° °°°°° °° °°°° °°
°° °°°°
°°°°°°°°
°°°°
°°°°°°
°°°° ° °
°°°°°°°°
°° °°°°
°°°°°°
°°°°
°°°° °°
°°°°°° °° °°°°°°
°°°°°°
°°°° °
°°°°
°°°°°° °°°°
°°°° °°°° °°°°
° °°°° °° °°
°° °°°°
°°°° °° °°°°
°° °°°°°° °°
°°° °°°°°° °°°° °°
°°°°
°°°° °°°°
150 °° °°
°°°°
°°°°°°°°
°° °°°° °°°°
°°°°°°°
°°°°
°°°°°°°°
°°°°
°°°°°°
°
°°°
°°
°
°°°
°°°°
°° °°°° °°°° ° °°°°° °°
°°°°° °°°°° °°°
°°° °°°°°°° °°°°°° °°
°°°° °°°°
°°°°
°°°°
°°°° ° ° °°
°°°°° °°°°
°°° °°°°°° °°°°
°°°° °°°° ° ° °° °°°° °°
°°°° °° °°°° °°°° °°°°
°° °°°° °°°° °° °° °° °
°°
°° ° °
°°°°°°°°°°°°
°°°°°°
°° °
°°
°° °°°°° °°°°°
°°°
°° °°°° °°° °°°°
°°°° °° °° °° ° °°°°
°°°° °°°° °°°° °° °° °°°°°° °°
°°
°° °°°° °° °°°
200 °°
°°
°°
°°
°°°°
°°°°°
°°°°°°° °°°°
°°
°° °°
°°
°°°° °° °°°°°
°°°° °
° ° °°°°
°°°°
°°
°°°
°°°°
°°
°°°°°°
°°°°°
°
°°°°
°°°° °° °°
°° °°°° °°°° °°°° °° °°°° °°°° °°°° °°°° °°°°°°
°° °°°° °°°°°° °°°°
°°°° °°°° °°°°
°° °°°° °°°° °°°° °°°°
°°
°° °°°° °° °° °°°°
°°°° °° °° °° °°°° °°°°°°
°° ° °
°° °°°°
°° °°°° °°°°°°
°° °°°° °°°° °°°° °° °°°°°
° ° ° °°°
°°
°° °° °°°° °°°° °°°°
°° °°°° °°°° °°°°
°° °°
°° °°°°°
° °°°°°°°° °°°°°°
°° °°°°°° °°°° °° ° °°°°°°
°° °°°°° °° ° ° °°°°°
°° °°°°°°
250 °°
0 °°°
°°°
°°°°°
°°°
°°°
°°°°
°°
°°
°°
°°°°°°°
°°
°°°°
°°°
°°° °°°°
°°°°°°
°°°°°
°°
°°°°
°°°
°°° °°
°°°°°°° °°
°°°
°°°°
°°°
°°°°°°°
°°°°°
°°°°
°°°
°°°°
°°°
°°°°°°
°°°°°°
°
°°°°
°°°
°°° °°
°°
50 °°°°°°°
°
°°°
°°°
°°°
°°°°°
°°°°
°°°
°°°°
°°°°
°°
°°
°°°
°°°°°° °°
°°°° °°
°°°°
°°°
°°°°
°°°
°°°°
° °°
°°°°°°°
°°°
°°°
°°°°°°
°°°
°°°°
°°°
°°° °°°°
°°°°°°
°°°°°°°
°°° °°
°°
°°°°
°°°
°°°°°°° °°
°°°
°°°°
°°°
100 °°°°
°°°°°
°°°
°°°
°°°°°°
°°°°°
°°
°°°
°°°°
°°°°
°°°°°°
°°
°° °°
°°
°°°°
°°° °°°° °°
°°
°°°°°°
°°°°°°°
° °°
°°
°°°
°°°° °°
°°
°°°
°°°°°° °° °°
°°° °°°°°° °°°°
°°°°
°°° °°
°°° °°°°° °°°°°°
°°°°°°
°°°° ° °°
°°° °°° °°°°
°°° °°°°°° °°°°
°°°°°°° °°
°°°
°°° °°°°
°°° °°°° °°°°
°°°°° °°°°°° °°°° °°°°
°°° °°°°°°
150 °°°
°°°°°°°
° °
°°°°° °°°°
°°° °°°°
°°°°
°°°
°°°°
°
°
°°°°
°°
°°°°
°°°°°°
°°° ° °°°° °°°°°
°°
°°°° °°°°°
°°° °°°°
°° °°°°
°°° °°
°°° °°°°°
°°° °°°° °°°°
° °°
°°°° °°° °°°°°° °° °° °°°°°°
°
°°° °° °°°°°°
°°° °°°°°° °°°°
°°°°° °°
°°°° °°°° °°°
°° °°
°°° ° ° °°°° °°
°°° °°°°°
°°° °° °°°°°
°°°
°°° ° ° °°°°
°°°°
°°° °°°° °°° °°°°
°°° °° °° °° ° °°°°
°°° °°°° °°°° °° °° °°°°°° °°
°°° °° °° °°°
200 °°°
°°°
°°°°°°
°
°°°
°°°
°
°°° °°°° °°°°
°°
°°°
°°°
°
°°°°
°°°°°
°°°
°°°° °°
°°°° °°
°°°°°°
°°°°°°
°°°°
°°°°°
°°°
°°° °° °°°°°°° °°°°°
° °°°° °°
°°°°° °° °°°°° °°°°
°°°
°°°°°° °°°°°°° °°°°°
°°° °°°°°
° °°°°
°°°
°°°°° °°°°°°
°°° °°°°°°° °°°°
°°° °°°°°
°°° °°° °°°°°°°° ° °°°°°° °°°°°°°
°°°°°°°°
°°°°°°°°° °°°°°°°°°°° °°°°°°°°°° °°
°°°°°°°°°° °°°°°°°°°
°°°°° °°°°°° °°°°°°°°
°°°°°°° °°°°°°
°°°°°°°°
°°°°°°°°°°°°°°° °°°°°°°°°°°
°°°°°°°
°°°°°°°°°°°°
°°°°°°° °°°°°°°° °°°°
°°°°°°°
°°°°°° °°°°°°
°°°°°°°° °°°°
°°°°°
°°°° °°°°°°
°°°°°°°°°°
°°°°°°°
°°°
°°°°°°°°°°°
°°°°°°°°°°°°
°°°°°°
°°°°° °°°°
°°°°
°°° °°
°°°°°°°°
250 °
Figure 2c. Jacobian Matrix for 125 Bus System, Before and After Gaussian Elimination, Using
Optimal Ordering Method 3
c
c Program BORDER optimally orders busses according to methods
c 1, 2, and 3. Reads formatted BDAT.BOR and LDAT.BOR files in
c PCFLO fixed column format. Results placed in files border.1,
c border.2, and border.3.
c
c Mack Grady. See date below in variable versio.
c
character*6 versio/'981025'/
logical ybus,taken,ltrue,lfalse,ysave
dimension ybus(100,100),nbext(100),nbint(9999),nbran(100),
1 taken(100),ysave(100,100),jbus(100)
data mxint/100/,mxext/9999/,nbus/0/, nbint/9999 * 0/,
1 nbext/100 * 0/,eps6/1.0e-06/
data ybus /10000 * .false./,ltrue/.true./,lfalse/.false./
data iout/15/
pi = 4.0 * atan(1.0)
dr = 180.0 / pi
open(unit=1,file='bdat.bor')
open(unit=iout,file='exlog.bor')
write(6,*) 'Program BORDER, Version ',versio
write(6,*) 'Read bus data from PCFLO fixed column format ',
1 'file BDAT.BOR'
write(6,*) 'number q shunt'
write(iout,*) 'Program BORDER, Version ',versio
write(iout,*) 'Read bus data from PCFLO fixed column format ',
1 'file BDAT.BOR'
write(iout,*) 'number q shunt'
c
c read the bdat file
c
1 read(1,1001,end=5) nb,qshunt
1001 format(i4,t58,f8.0)
if(nb .eq. 0) go to 5
write(6,1002) nb,qshunt
write(iout,1002) nb,qshunt
1002 format(i7,5x,f10.2)
if(nb .le. 0 .or. nb .gt. mxext) then
write(6,*) 'Illegal bus number - stop'
write(iout,*) 'Illegal bus number - stop'
stop
endif
nbus = nbus + 1
if(nbus .gt. mxint) then
write(6,*) 'Too many busses - stop'
write(iout,*) 'Too many busses - stop'
stop
endif
nbext(nbus) = nb
nbint(nb) = nbus
ybus(nbus,nbus) = ltrue
go to 1
5 close(unit=1,status='keep')
c
open(unit=1,file='ldat.bor')
write(6,*) 'Read line/transformer data from PCFLO fixed column ',
1 'format file LDAT.BOR'
ybus(k,l) = ltrue
ntfill = ntfill + 1
endif
98 continue
ybus(k,j) = lfalse
ntfill = ntfill - 1
97 continue
96 continue
write(6,1113) ntfill
write(iout,1113) ntfill
1113 format(1x,'Total reduced YBUS terms for BDAT.BOR bus order = ',
1 i5/)
c
do 99 j = 1,nbus
taken(j) = lfalse
do 99 k = 1,nbus
ybus(j,k) = ysave(j,k)
99 continue
c
c method 1
c
open(unit=1,file='border.1')
norder = 1
nfound = 0
nties = 2
write(6,1111) nterms
write(iout,1111) nterms
1111 format(/1x,'YBUS terms before reduction = ',i8/)
1105 format(1x,'Method = ',i5,', nties = ',i5,
1 ', found = ',i5)
30 do 25 j = 1,nbus
if(taken(j) .or. nbran(j) .ne. nties) go to 25
taken(j) = ltrue
nfound = nfound + 1
jbus(nfound) = j
write(1,1100) norder,nfound,nbext(j)
write(6,1100) norder,nfound,nbext(j)
write(iout,1100) norder,nfound,nbext(j)
1100 format(1x,'Method = ',i5,', int. bus = ',i5,', ext. bus = ',i5)
25 continue
write(6,1105) norder,nties,nfound
write(iout,1105) norder,nties,nfound
nties = nties + 1
if(nfound .ne. nbus) go to 30
close(unit=1,status='keep')
c
c simulate the gaussian elimination for method 1 order
c
do 35 j = 1,nbus
taken(j) = lfalse
35 continue
ntfill = nterms
do 36 jj = 1,nbus
j = jbus(jj)
taken(j) = ltrue
do 37 k = 1,nbus
if(taken(k) .or. .not.ybus(k,j)) go to 37
do 38 l = 1,nbus
if(ybus(j,l) .and. .not.ybus(k,l)) then
ybus(k,l) = ltrue
ntfill = ntfill + 1
endif
38 continue
ybus(k,j) = lfalse
ntfill = ntfill - 1
37 continue
36 continue
write(6,1122) norder,ntfill
write(iout,1122) norder,ntfill
1122 format(/1x,'Total reduced YBUS terms for method = ',i5,
1' equals ',i5/)
c
c method 2
c
open(unit=1,file='border.2')
norder = 2
do 40 j = 1,nbus
nbran(j) = 0
taken(j) = lfalse
do 40 k = 1,nbus
ybus(j,k) = ysave(j,k)
if(ybus(j,k)) nbran(j) = nbran(j) + 1
40 continue
nfound = 0
ntfill = nterms
nties = 2
write(6,1111) nterms
write(iout,1111) nterms
1108 format(1x,'Method = ',i5,', nties = ',i5,
1 ', found = ',i5,', tot. terms = ',i5)
50 do 45 j = 1,nbus
if(taken(j) .or. nbran(j) .ne. nties) go to 45
taken(j) = ltrue
nfound = nfound + 1
write(1,1100) norder,nfound,nbext(j)
write(6,1100) norder,nfound,nbext(j)
write(iout,1100) norder,nfound,nbext(j)
c
c gaussian eliminate all the remaining rows with row j
c
do 60 k = 1,nbus
if(k .eq. j .or. taken(k)) go to 60
if(ybus(k,j)) then
do 65 l = 1,nbus
if(l .eq. j) go to 65
if(ybus(j,l) .and. .not.ybus(k,l)) then
ybus(k,l) = ltrue
nbran(k) = nbran(k) + 1
ntfill = ntfill + 1
endif
65 continue
c
c for the term under the pivot
c
ybus(k,j) = lfalse
nbran(k) = nbran(k) - 1
ntfill = ntfill - 1
endif
60 continue
write(6,1108) norder,nties,nfound,ntfill
write(iout,1108) norder,nties,nfound,ntfill
if(nfound .eq. nbus) go to 59
nties = 2
if(nfound .eq. (nbus - 1)) nties = 1
go to 50
45 continue
nties = nties + 1
go to 50
59 close(unit=1,status='keep')
write(6,1122) norder,ntfill
write(iout,1122) norder,ntfill
c
c method 3
c
open(unit=1,file='border.3')
norder = 3
do 160 j = 1,nbus
taken(j) = lfalse
do 160 k = 1,nbus
ybus(j,k) = ysave(j,k)
160 continue
nfound = 0
nfills = 0
ntfill = nterms
write(6,1111) nterms
write(iout,1111) nterms
170 write(6,1107) norder,nfills,nfound,ntfill
write(iout,1107) norder,nfills,nfound,ntfill
1107 format(1x,'Method = ',i5,', nfills = ',i5,
1 ', found = ',i5,', tot. terms = ',i5)
c
c simulated gaussian elimination using the remaining pivot candidates
c
mfirst = 0
nxtbus = 0
do 165 m = 1,nbus
if(taken(m)) go to 165
lstbus = m
nfills = 0
do 180 k = 1,nbus
if(k .eq. m .or. taken(k)) go to 180
if(ybus(k,m)) then
do 185 l = 1,nbus
if(l .eq. m) go to 185
if(ybus(m,l) .and. .not.ybus(k,l)) nfills = nfills + 1
185 continue
c
c for the term under the pivot
c
nfills = nfills - 1
endif
180 continue
if(mfirst .eq. 0) then
mfirst = 1
nxtbus = m
minfil = nfills
endif
if(nfills .lt. minfil) then
nxtbus = m
minfil = nfills
endif
165 continue
if(nxtbus .eq. 0) then
if(nfound .ne. (nbus - 1)) then
write(6,1120)
write(iout,1120)
1120 format(/1x,'Error in method 3 ordering - stop')
stop
endif
nxtbus = lstbus
minfil = 0
endif
j = nxtbus
nfills = minfil
taken(j) = ltrue
nfound = nfound + 1
write(1,1100) norder,nfound,nbext(j)
write(6,1100) norder,nfound,nbext(j)
write(iout,1100) norder,nfound,nbext(j)
if(nfound .eq. nbus) then
write(6,1107) norder,nfills,nfound,ntfill
write(iout,1107) norder,nfills,nfound,ntfill
go to 175
endif
c
c gaussian eliminate all the remaining rows with row j
c
do 290 k = 1,nbus
if(k .eq. j .or. taken(k)) go to 290
if(ybus(k,j)) then
do 295 l = 1,nbus
if(l .eq. j) go to 295
if(ybus(j,l) .and. .not.ybus(k,l)) then
ybus(k,l) = ltrue
nbran(k) = nbran(k) + 1
ntfill = ntfill + 1
endif
295 continue
c
c for the term under the pivot
c
ybus(k,j) = lfalse
nbran(k) = nbran(k) - 1
ntfill = ntfill - 1
endif
290 continue
go to 170
175 close(unit=1,status='keep')
write(6,1122) norder,ntfill
write(iout,1122) norder,ntfill
stop
end
Motor Starting
During start-up, motors behave like fixed impedances that, at rated voltage, draw approximately
five-times their full-load running current, and at a very low power factor. If the motor terminal
voltage drops to less than 80% during start-up, most motors will not start.
The equivalent circuit for calculating motor starting voltages is shown in Figure 1.
Zth
+ +
Vth Zm Vm
- -
This Thevenin equivalent circuit has open-circuit voltage VTH = 1.0 pu, and Thevenin
impedance ZTH , which is the "short circuit," positive-sequence impedance of the system as
"seen" at the motor terminals. ZTH is the motor-bus diagonal element of the positive-sequence
impedance matrix, which is computed with all other large machines represented by their
respective subtransient impedances.
Given the circuit parameters, the motor start-up voltage is then computed from the voltage
divider equation, or
ZM
VM VTH .
ZTH Z M
V M should not be less than 0.80 pu. if the motor is start properly.
This problem can be worked "in reverse," where the objective is to determine how large a motor
will start at a bus. A FORTRAN code for this purpose is shown below.
c
c program motors.f reads zbus1 and vsoln files, and then computes
c the kw motor that can be started at each bus without dragging the
c voltage below vmin (in percent). the results are written to file
c mstart.
c
complex zzz,zmotor
character*12 anames,an
dimension anames(9999),hpmin(9999)
data anames /9999 * ' '/, hpmin /9999 * -1.0/
c
c abase = base current,
c vbase = base voltage - volts (three-phase),
c pbase = base power - va (three-phase),
c arun = running amps per kw,
c spf = motor power factor when starting,
c rpf = motor power factor when running,
c start = multiplier of run current when starting,
c vmin = minimum acceptable starting voltage - pu.
c
data pbase/100000.0/,vbase/450.0/,spf/0.2/,start/5.0/
data vmin/0.8/,rpf/0.85/eps/1.0e-03/
c
abase = pbase / 3.0 / vbase * sqrt(3.0)
arun = 1000.0 / 3.0 / rpf / vbase * sqrt(3.0)
write(6,5007) abase,arun
5007 format(1x,'base current = ',f10.2/1x,'running current ',
1'for 1 kw = ',f10.2)
c
c zmotor = motor starting impedance for a 1 kw motor
c
zmotor = abase / arun / start *
1 cmplx(spf,sqrt(1.0 - spf * spf))
write(6,5006) zmotor
5006 format(1x,'z start for a 1 kw motor = ',2e15.6)
rm = real(zmotor)
xm = aimag(zmotor)
open(unit=1,file='vsoln')
open(unit=2,file='zbus1')
open(unit=3,file='mstart')
1 read(1,5000,end=2) kbus,an
5000 format(1x,i4,2x,a12)
if(kbus .le. 0 .or. kbus .gt. 9999) go to 500
anames(kbus) = an
go to 1
2 read(2,5002,end=3) jbus,kbus,zzz
5002 format(1x,2i5,2e15.6)
if(jbus .ne. kbus) go to 2
rs = real(zzz)
xs = aimag(zzz)
a = (vmin * vmin - 1) * (rm * rm + xm * xm)
b = 2.0 * vmin * vmin * (rs * rm + xs * xm)
c = vmin * vmin * (rs * rs + xs * xs)
rad = sqrt(b * b - 4.0 * a * c)
h1 = 1.0 / ((-b + rad) / 2.0 / a)
h2 = 1.0 / ((-b - rad) / 2.0 / a)
h = -1.0
if(h1 .lt. 0.0 .and. h2 .gt. 0.0) h = h2
if(h2 .lt. 0.0 .and. h1 .gt. 0.0) h = h1
if(h1 .gt. 0.0 .and. h2 .gt. 0.0) h = amin1(h1,h2)
if(h .le. 0.0) go to 501
Short Circuits
1. Introduction
Voltage sags are due mostly to faults on either transmission systems or distribution feeders.
Transmission faults affect customers over a wide area, possibly dozens of miles, but distribution
faults usually affect only the customers on the faulted feeder or on adjacent feeders served by the
same substation transformer.
Single-phase faults (i.e., line-to-ground) are the most common type of faults, followed by line-to-
line, and three-phase. Since single-phase and line-to-line faults are unbalanced, their resulting
sag voltages are computed using symmetrical components. Transformer connections affect the
propagation of positive, negative, and zero sequence components differently. Thus, the
characteristics of a voltage sag changes as it propagates through a network.
Typically, a transmission voltage sag passes through two levels of transformers before reaching a
480V load (e.g., 138kV:12.47kV at the entrance to the facility, and 12.47kV:480V at the load).
120V loads likely have a third transformer (e.g., 480V:120V). It is not intuitively obvious how
the sag changes, but the changes can be computed using symmetrical components and are
illustrated in this report.
2. Symmetrical Components
An unbalanced set of N related phasors can be resolved into N systems of phasors called the
symmetrical components of the original phasors. For a three-phase system (i.e. N = 3), the three
sets are:
1. Positive Sequence - three phasors, equal in magnitude, 120o apart, with the same sequence
(a-b-c) as the original phasors.
2. Negative Sequence - three phasors, equal in magnitude, 120o apart, with the opposite
sequence (a-c-b) of the original phasors.
3. Zero Sequence - three identical phasors (i.e. equal in magnitude, with no relative phase
displacement).
The original set of phasors is written in terms of the symmetrical components as follows:
~ ~ ~ ~
Va Va 0 Va1 Va 2 ,
~ ~ ~ ~
Vb Vb 0 Vb1 Vb 2 ,
~ ~ ~ ~
Vc Vc 0 Vc1 Vc 2 ,
where 0 indicates zero sequence, 1 indicates positive sequence, and 2 indicates negative
sequence.
The symmetrical components of all a-b-c voltages are usually written in terms of the symmetrical
components of phase a by defining
~ ~ ~ ~
Va Va 0 Va1 Va 2 ,
~ ~ ~ ~
Vb Va 0 a 2Va1 aVa 2 ,
~ ~ ~ ~
Vc Va 0 aVa1 a 2Va 2 .
~ ~ ~ ~
ªVa º ª1 1 1 º ªVa 0 º ªVa 0 º ª1 1 1 º ªVa º
«~ » «1 a 2 «~ » «~ » 1« «~ »
«Vb » « a »» «Va1 » , «Va1 » 1 a a 2 »» «Vb » (1)
«V~c » ~ ~ 3« ~
¬ ¼ «¬1 a a 2 »¼ «¬Va 2 »¼ «¬Va 2 »¼ «¬1 a 2 a »¼ «¬Vc »¼
or in matrix form
~ ~ ~ ~
Vabc T x V012 , and V012 T 1 x Vabc , (2)
ª1 1 1º ª1 1 1º
« » 1« »
T «1 a
2
a » , and T 1 1 a a2 » . (3)
3«
«¬1 a a 2 »¼ «¬1 a 2 a »¼
~ ~ ~ ~
If Vabc represents a balanced set (i.e. Vb Va x 1 120 o a 2Va ,
~ ~ ~ ~ ~
Vc Va x 1 120 o aVa ), then substituting into V012 T 1 x Vabc yields
~ ~
ªVa 0 º ª1 1 1 º ª Va º ª0º
«~ » 1« »« ~ » «~ »
«Va1 » 1 a a 2 » «a 2Va » «Va » .
3«
«V~a 2 » «¬1 a 2 ~
a »¼ «¬ aVa »¼ «¬ 0 »¼
¬ ¼
Hence, balanced voltages or currents have only positive sequence components, and the positive
sequence components equal the corresponding phase a voltages or currents.
However, balanced voltages are rare during voltage sags. Most often, one phase is affected
significantly, and the other two less significantly. Thus, all three sequence voltages
~ ~ ~
Va 0 , Va1 , Va 2 exist during most sags, and these sequence voltages are shifted differently by
transformers when propagating through a system. When recombined to yield phase voltages
~ ~ ~
Va , Vb , Vc , it is clear that the form of phase voltages must also change as transformers are
encountered.
For grounded-wye:grounded-wye and delta:delta transformers, ș is +0˚, and thus positive- and
negative-sequence voltages and currents pass through unaltered (in per unit). However, for wye-
delta and delta-wye transformers, ș is sequence-dependent and is defined as follows:
x For positive sequence, ș is +30˚ if bus i is the high-voltage side, or –30˚ if bus i is the
low-voltage side
and oppositely
x For negative sequence, ș is –30˚ if bus i is the high-voltage side, or +30˚ if bus i is the
low-voltage side
In other words, positive sequence voltages and currents on the high-voltage side lead those on
the low-voltage side by 30˚. Negative sequence voltages and currents on the high-voltage side
lag those on the low-voltage side by 30˚.
For zero-sequence voltages and currents, transformers do not introduce a phase shift, but they
may block zero-sequence propagation as shown in Figure 2.
Delta - Delta R + jX
It can be seen in the above figure that only the grounded-wye:grounded-wye transformer
connection permits the flow of zero-sequence from one side of a transformer to the other.
Thus, due to phase shift and the possible blocking of zero-sequence, transformers obviously play
an important role in unbalanced voltage sag propagation.
Fault currents and voltage sags computations require elements of the impedance matrix Z for the
study system. While each of the three sequences has its own impedance matrix, positive- and
negative-sequence matrices are usually identical. Impedance elements are usually found by
x building the system admittance matrix Y, and then inverting it to obtain the entire Z,
or by
x The diagonal terms of Y contain the sum of all branch admittances connected directly to
the corresponding bus.
x The off-diagonal elements of Y contain the negative sum of all branch admittances
connected directly between the corresponding busses.
ZA ZC
1 2 3
ZE ZB ZD
I3
Applying KCL at the three independent nodes yields the following equations for the bus voltages
(with respect to ground):
V1 V1 V2
At bus 1, 0,
ZE ZA
V2 V2 V1 V2 V3
At bus 2, 0 ,
ZB ZA ZC
V3 V3 V2
At bus 3, I3 .
ZD ZC
ª 1 1 1 º
« 0 »
«ZE ZA ZA » ªV1 º ª0º
« 1 1 1 1 1 »« » «0» ,
V2
« ZA Z A Z B ZC ZC »« » « »
« « » «¬ I 3 »¼
« 1 1 1 »» ¬V3 ¼
0
«¬ ZC Z C Z D »¼
or in matrix form,
YV I ,
Besides being the key for fault calculations, the impedance matrix, Z Y 1 , is also physically
significant. Consider Figure 4.
Induced Voltage
Applied Current at at Bus j
Bus k
Power System +
V Vj
Ik -
All Other Busses
Open Circuited
Vj
z j, k , (4)
Ik
I m 0, m 1, 2,, N , m z k
where I k is a current source attached to bus k, V j is the resulting voltage at bus j, and all busses
except k are open-circuited. The depth of a voltage sag at bus k is determined directly by
multiplying the phase sequence components of the fault current at bus k by the matrix elements
z j , k for the corresponding phase sequences.
Short circuit calculations require positive, negative, and zero sequence impedance information,
depending on whether or the fault is balanced or not. For example, the commonly-studied, but
relatively rare, three-phase fault is balanced. Therefore, only positive sequence impedances are
required for its study.
Consider the three-phase fault represented by the one-line diagram in Figure 5, where VTH and
Z TH are the Thevenin equivalent circuit parameters for bus k.
Zth
Bus k
+
Vth IF ZF
-
VTH ª ZF º
I kF , and VkF VTH Z TH I kF VTH « » .
Z TH Z F ¬ Z TH Z F ¼
In a large power system, the Thevenin equivalent impedance for a bus is the corresponding
diagonal impedance matrix element, and the Thevenin equivalent voltage is usually assumed to
be 1.0 /0 pu.
The type of machine models used when building impedance matrices affects the Thevenin
equivalent impedances and fault calculations. Rotating machines actually have time-varying
impedances when subjected to disturbances. However, for simplification purposes, their
impedances are usually divided into three zones - subtransient (first few cycles), transient (5
cycles - 60 cycles), and steady-state (longer than 60 cycles). When performing fault studies, the
time period of interest is usually a few cycles, so that machines are represented by their
subtransient impedances when forming the impedance matrices.
Developing the equations for fault studies requires adept use of both a-b-c and 0-1-2 forms of the
circuit equations. The use of sequence components implies that the system impedances (but not
the system voltages and currents) are symmetric. In general, there are six equations and six
unknowns to be solved, regardless of the type of fault studied.
It is common in fault studies to assume that the power system is initially unloaded and that all
voltages are 1.0 per unit. When there are multiple sources, this assumption requires that there
are no shunt elements connected, such as loads, capacitors, etc., except for rotating machines
(whose Thevenin equivalent voltages are 1.0 pu.).
Since wye-delta transformers shift positive, negative, and zero sequence components differently,
it is important to model transformers according to the rules given earlier. This means that the
pre-fault voltages all have magnitude 1.0 pu., but that the pre-fault voltage angles can be
0 o ,30 o , or 30 o , depending upon the net transformer phase shift between them and the chosen
reference bus.
Bus k
a
ZF ZF ZF
IF IF IF
kc kb ka
The Thevenin equivalent circuit equation, assuming no other current injections in the system, is
ªV F º ªV Pr e º ª z z ka, kb
F
z ka, kc º ª I ka º
« kaF
» « kaPr e
» « ka, ka » F»
«
«Vkb » «Vkb » « z kb, ka z kb, kb z kb, kc » « I kb » ,
« F» « Pr e » « « »
«¬Vkc »¼ «¬Vkc »¼ ¬ z kc, ka z kc, kb z kc, kc »¼ « I F »
¬ ¼kc
or in sequence form,
ªV F º ªV Pr e º ª z 0 0
F
ºªI k 0 º
« kF0 » « kPr0 e » « k 0, k 0 » F»
«
«Vk1 » «Vk1 » « 0 z k1, k1 0 » « I k1 » .
« F» « Pr e » « « »
«¬Vk 2 »¼ «¬Vk 2 »¼ ¬ 0 0 z k 2, k 2 »¼ « I F »
¬ k 2 ¼
F Pr e F
Vkabc Vkabc Z k k , abc I kabc , and VkF012 e
VkPr012 Z k k ,012 I kF012 , (5)
where VkF consists of the voltages at bus k during the fault, VkPr e consists of the pre-fault
voltages, I kF gives the fault currents, and Z k k contains the individual impedance elements
extracted from the impedance matrix.
The above matrix equations represents three equations (repeated in abc and 012 form), but there
are six unknowns represented by VkF and I kF , so that three additional equations are required.
The additional equations are found by observing that
F F
Vkabc Z F I kabc , or VkF012 Z F I kF012 .
Substituting into the Thevenin equation, and recognizing that all zero- and negative-sequence
voltages and currents are zero for a balanced fault yields
ª 0 º ª 0 º ª z k 0, k 0 0 0 ºª 0 º
«Z I F » «V Pr e » « 0 z k1, k1 0
»« F »
« F k1 » « k1 » « » « I k1 » ,
«¬ 0 »¼ «¬ 0 »¼ «¬ 0 0 z k 2, k 2 »¼ «¬ 0 ¼»
e
VkPr
I kF1 1
, I kF0 0, I kF2 0. (6)
z k1, k1 Z F
VkF012 e
VkPr012 Z k k ,012 I kF012 (7)
yields the fault voltage at Bus k. Similarly, because the impedance matrix relates the voltages at
network busses to current injections at network busses, the voltage at any other bus j is found
using
V jF012 V jPr e F
012 Z j k ,012 I k 012 . (8)
Note that the minus sign is needed because the fault current has been drawn as positive outward.
Once the fault voltages are known at neighboring busses, the contribution currents through the
connected branches can be easily found.
Bus k
a
c IF = 0
kb
F =0
I
kc ZF
F
I
ka
As before, the Thevenin equivalent circuit equations, assuming no other current injections in the
system, is
VkF012 e
VkPr012 Z k k ,012 I kF012 .
F ªI F º
ª1 1 1 º ª I ka º
ka
1« « » 1« F »
I kF012 T 1 I kabc
F
1 a a 2 »» « I kb
F
0» «I » . (9)
3« « » 3 « ka F »
«¬1 a 2 a »¼ « I F 0» «¬ I ka »¼
¬ kc ¼
ªV F º ª V Pr e 0 º ª z F
0 0 º ª I ka / 3º
« kF0 » « Prke0 Pr e
» « k 0, k 0 » F »
«
«Vk1 » «Vk1 Vka » « 0 z k1, k1 0 » « I ka / 3»
« F» « » « »
«¬Vk 2 »¼
Pr e
«¬ Vk 2 0 » «¬ 0 0 z k 2, k 2 »¼ « I / 3»
F
ka
¼ ¬ ¼
Pr e 1 F
VkF0 VkF1 VkF2 F
Vka Vka
I ka z k 0, k 0 z k1, k1 z k 2, k 2 .
3
From the circuit it is obvious that
F F
Vka I ka ZF ,
so that
Pr e 1 F
F
I ka ZF Vka
3
I ka z k 0, k 0 z k1, k1 z k 2, k 2 .
F
Solving for I ka yields
Pr e
F 3Vka
I ka . (10)
z k 0, k 0 z k1, k1 z k 2, k 2 3Z F
Now, using
F
I ka
I kF0 I kF1 I kF2 ,
3
V jF012 V jPr e F
012 Z j k ,012 I k 012 .
Note that if z k 0, k 0 z k1, k 2 , a single-phase fault will have a higher value than does a three-
phase fault.
Line-to-Line Fault
Bus k
a
F =0
b I
ka
IF
IF kb
kc
ZF
F
ª1 1 1 º ª I ka 0 º ª 0 º
« »
I kF012 T 1 I kabc
F 1«
3«
1 a a 2 »» « F
I kb »
1« F
«I
3 « kb
»
a a2 » . (11)
«¬1 a 2 «
a »¼ « I F I F »
¬ kc kb
»
¼
F
¬ I kb
a 2 a »¼
ªV F º ª 0 º ª z k 0, k 0 0 0 ºª 0 º
« kF0 »
«Vk1 » «V Pr e » « 0
« ka » « z k1, k1 0
»« F
« I
» kb a a 2
/ 3
»
» .
« F»
V
¬« k 2 ¼»
«¬ 0 »¼ «¬ 0 0
¬ kb
F
z k 2, k 2 »¼ I a a / 3»
« 2
¼
Subtracting the last two rows of the Thevenin equation yields
VkF1 VkF2 Pr e
Vka z k1, k1
F
I kb
a a2 z F 2
I kb
a a ,
k 2, k 2
3 3
or
I kb
ª
F « z k 2, k 2 a 2 a zk1, k1 a a 2 º» VkF1 VkF2 Vka
Pr e
.
« 3 3 »
¬ ¼
F F
F Vkb Vkc
I kb .
ZF
F
Vkb F
Vkc
VkF1 a 2 a VkF2 a a 2 ,
so that
F
I kb
VkF1 a 2 a VkF2 a a 2 F
, or I kb
VkF1 VkF2 a 2 a .
ZF ZF
ª 2
F « z k 2, k 2 a a
I kb
z k1, k1 a a 2 º» F
I kb ZF Pr e
Vka .
«
¬
3 3 »
¼ a 2
a
Collecting terms yields
I kb
ª
F « z k 2, k 2 a 2 a z k1, k1 a a 2 ZF º
» Pr e
Vka ,
«
¬
3 3 2
a a »¼
or
I kb
ª
F « ZF
a a2
z k1, k1 z k 2, k 2 »
º
Pr e
Vka .
¬
« a2 a 3 »
¼
Simplifying yields
F F F
and where I kc I kb , I ka 0 . All network voltages can now be found from
Pr e
F j 3Vka
I kb , (12)
z k1, k1 z k 2, k 2 Z F
V jF012 V jPr e F
012 Z j k ,012 I k 012 .
1. Introduction
Short circuit equations provide the theoretical framework for determining the voltage sag at a bus
due to a fault anywhere in the system. However, the short circuit equations by themselves
provide little insight. We now proceed with examples to provide this insight by showing how a
sag propagates for various transformer situations.
Consider the typical situation shown in Figure 1. A fault occurs at bus k of the transmission
system, causing a voltage sag that affects a substation (bus j) and the customers connected to its
feeders. There can be as many as three transformers between the customer’s load and the
transmission fault point, and each of these transformers can have a 30o phase shift. Typically,
all three of the transformers shown (i.e., T1, T2, and T3) are delta connected on the high side,
and grounded-wye connected on the low side.
Transmission Substation
Feeders
System T1: 138kV
-----
12.47kV
12.47kV
Fault T2: 12.47kV connection
-----
480V
Substation
Customer Level 1.
Faulted bus k transmission 480V loads
bus j T3: 480V
-----
120/208V
Customer Level 2.
120/208V loads
Figure 1. Example System for Analyzing the Propagation of Transmission Voltage Sags into
Customer Low-Voltage Busses
x the circuit is initially unloaded, or at least that the voltages are all close to 1.0 per unit.
Using this assumption, and further assuming that there are no significant contributors of fault
current on the feeders, then the actual location of the customer is not important because all
points on the three 12.47kV feeders shown (including the substation 12.47kV bus) will
experience the same sag. Furthermore, the sag experienced on the substation 12.47kV bus will
be the same as on substation 138kV bus j, except for possible zero-sequence component blocking
and positive/negative-phase shifts.
for transmission faults, one monitor at either the substation 138kV bus or at the substation
12.47kV bus is adequate to predict voltage sag levels anywhere on the substation’s feeders,
provided there are no significant contributors of fault current on the feeders.
If the transmission fault is electrically far away, then the sag experienced at the substation and at
the customer site will be small. Alternatively, if the fault is immediately at substation 138kV bus
j, then the sag will be the most severe possible. Thus, it is reasonable to assume that an electrical
“proximity” factor exists, where a proximity factor of zero (i.e., 0%) indicates that the fault is at
substation 138kV bus j, and a proximity factor of unity (i.e., 100%) indicates that the
transmission fault bus k is very far away. From knowledge of the physical significance of the
impedance matrix, and from examining Thevenin equations
VkF012 e
VkPr012 Z k k ,012 I kF012 ,
V jF012 V jPr e F
012 Z j k ,012 I k 012 ,
z j1, k1
P 1 . (1)
z k1, k1
By coding the short circuit equations into a Visual Basic program, and employing (1), voltage
sag propagation for the situation described in Figure 1 can now be illustrated. Assuming that the
transmission fault is relatively close to the substation (i.e., proximity factor = 25%), and that T1,
T2, and T3 are all delta:grounded-wye transformers, the line-to-neutral voltages for single-phase,
phase-to-phase, and three-phase transmission faults are shown in Figures 2 – 4, respectively.
Both phasor plots and magnitude bar charts are given.
Figure 2. Propagation of Close-In Single Phase Fault on the Transmission System (all three
transformers have delta:grounded-wye connections)
Note the voltage swell on phases b and c at the substation 138kV bus. Note also that two phases
are affected after the first transformation, then one phase is affected after two transformations,
and again two phases are affected after three transformations.
Figure 3. Propagation of Close-In Phase-to-Phase Fault on the Transmission System (all three
transformers have delta:grounded-wye connections)
Figure 4. Propagation of Close-In Three-Phase Fault on the Transmission System (all three
transformers have delta:grounded-wye connections)
Figure 5. Situation in Figure 2 Repeated, but with all Three Transformers Having Grounded-
Wye:Grounded-Wye Connections
Now, consider the situation in Figure 6 where a fault occurs on an adjacent feeder, and a monitor
records the voltage waveform at the substation 12.47kV bus.
Figure 6. Substation Monitor Records Voltages when a Sag Occurs on an Adjacent Feeder.
As in Section 2, unless the customer’s feeder has significant contributors to the fault current, the
voltage sag at the substation 12.47kV bus will appear everywhere along the customer’s 12.47kV
feeder. However, to predict the voltage sag at Customer Levels 1 and 2, the a-b-c line-to-neutral
voltages at the substation 12.47kV bus must be
Ideally, the monitor should report phasor voltage magnitudes and angles during the sag
condition, rather than time-sampled data points for which phase angles must be estimated.
The conversion/shifting/re-conversion procedure has been coded into a Visual Basic program
and is illustrated in Figure 7 to illustrate the propagation of a sag due to a single-phase fault
through two levels of delta:grounded-wye transformers inside a customer’s facility. The
substation 12.47kV voltage entered is approximately the same as predicted in Figure 2.
Each vertical column in Figure 7 indicates the following voltages: 1. on the feeder, 2. after one
level of delta:grounded-wye transformer, and 3. after a second level of delta:grounded-wye
transformer. The four vertical columns correspond to various locations down the feeder,
provided that sequence impedances of the feeder are entered. For Figure 7, all four columns are
identical since no feeder currents and feeder impedances were entered.
To analyze voltage sags on a faulted feeder, feeder currents must be known. Consider the
situation in Figure 8. The Thevenin-equivalent impedance at Customer 1 is Z1, followed by
incremental impedances dZ between the other customers that are distributed down the feeder.
Substation
T1: 138kV
138kV ----- Z dZ dZ dZ Fault
12.47kV I
T2: 12.47kV T2: 12.47kV T2: 12.47kV T2: 12.47kV
----- ----- ----- -----
Voltage 480V 480V 480V 480V
measurement
If the fault is to the right of the last customer (as shown), and if the customer load currents are
small in relation to the measured fault I at the substation transformer, then the voltage drops
along the feeder can be easily calculated using current times impedance, as illustrated in Figure
9. More study is needed, supplemented with field tests, to determine when and with what
certainty the latter assumption can be made.
1. File EASTSH_1.TXT. The observations for a transmission fault are recorded on the
MV side of a delta-wye substation transformer.
x Determine prefault phasors Van, Vbn, Vcn, Ia, Ib, Ic.
x Compute three-phase P, Q, and power factor.
x Determine phasors Van, Vbn, and Vcn during the steady-state portion of the fault.
x Use program SAG1.EXE to help determine the faulted phase (i.e., a, or b, or c),
and possibly make other conclusions about the transmission fault.
2
j0.3
j0.05 j0.1
+ 3
+
1/0 1/0
– –
wV j Vj
a. Use the definition z jk to fill in column 1 of the Z matrix.
wI k Ik
I m 0, m z k
Now, a solidly-grounded three-phase fault occurs at bus 1.
A single-phase to ground fault, with zero impedance, suddenly appears on phase a of the 69kV
transformer terminal. Find the resulting a-b-c generator currents (magnitude in amperes and phase).
Regarding reference angle, assume that the pre-fault phase a voltage on the transformer’s 69kV bus has
angle = 0.
Gen
30MVA, 12kV
Subtransient reactances Single phase to
X1 = X2 = 0.18pu Transformer ground fault
X0 = 0.12pu occurs on phase a
(Delta-GY)
Generator is connected X = 0.05pu
GY through a j0.5 ohm 30MVA
grounding reactor 12kV/69kV
All values in pu
on equipment
base
Using a base of 100MVA, 345kV in the transmission line, draw one line diagrams in per unit for
positive, negative, and zero-sequences.
a. Compute the phase a fault current (in pu) for a three-phase bolted fault at bus 2.
b. Compute the phase a fault current (in pu) for a line-to-ground fault at bus 2, phase a.
-----------------------------------------------------------------------------
three phase fault at bus = 4, name = bus#4
(per unit impedances in rectangular form)
(per unit voltages and currents in polar form)
-----------------------------------------------------------------------------
line-to-line fault at bus = 4, name = bus#4
(per unit impedances in rectangular form)
(per unit voltages and currents in polar form)
-----------------------------------------------------------------------------
line-to-ground fault at bus = 4, name = bus#4
(per unit impedances in rectangular form)
(per unit voltages and currents in polar form)
Loadflow
The loadflow problem is one of the classic power system engineering problems. During the
early days of digital computers, many advances in techniques for solving large sets of equations
were brought about specifically to help solve the loadflow problem.
In most electrical circuit analyses, the network consists of known impedances, voltage sources,
and current sources. However, in the loadflow problem, active and reactive powers, rather than
shunt impedances, are specified at most network busses, because most loads behave, on average,
as constant power loads (active and reactive power), as long as their applied voltage remains
within reasonable ranges. Consider, for example, the air conditioning load of a building. A
certain amount of energy is required to maintain 'T between inside and outside temperatures.
Even though the air conditioner cycles on-and-off, and the voltage may change slightly, the air
conditioning load appears, on the average, as a fixed power load, rather than as a fixed
impedance load.
Power system loads are closely monitored at substations, at large customers, and for total electric
utility companies. Loads tend to have predictable daily, weekly, and seasonal patterns. Annual
peak demands and energies for electric utilities are forecasted for generation and planning
purposes.
The purpose of the loadflow program is to compute bus voltages and line/transformer/cable
power flows once network topology, impedances, loads, and generators have been specified.
Ideally, the computed bus voltages for the study system should remain within acceptable ranges,
and line/transformer/cable power flows should be below their rated values, for a reasonable set
of outage contingencies.
From a loadflow perspective, there are four parameters at every bus - voltage magnitude V,
voltage angle G , active power P, and reactive power Q. Two may be specified, and the other
two calculated. For most busses, P and Q are specified, and V and G are calculated. Obviously,
P and Q cannot be specified at all busses because that would imply that system losses are known
a priori. Therefore, the loadflow problem must include one "swing bus" at which the P can
assume any value so that it "makes up" system losses. The swing bus is usually a centrally-
located large generator whose voltage magnitude and phase angle (usually G = zero) are
specified.
Although any two of the four parameters can be specified, the usual way in which power system
busses are classified is given in Table 1.
PQ (Load Bus) P, Q V, G
PV (Generator Bus) P, V Q, G
V G (Swing Bus) V, G P, Q
The loadflow program solves for the set of unknowns that produces power balance at all busses,
or as illustrated for bus i in Figure 1,
where
Picalc jQicalc Vi I i* .
In other words, the power specified at each bus must equal the power flowing into the system.
Note in Figure 1 that specified power is drawn as positive generation, to be consistent with KCL
equation YV=I.
Since there are two unknowns at every bus, the size of the loadflow problem is 2N, where N is
the number of busses. Obviously, to solve the problem, there must be two equations for every
bus. These come from KCL, which for any bus i have the form
*
ªN º
spec
Pi jQispec Picalc jQicalc Vi I i* Vi ¦ yi, jV j » .
«
«j 1 »
¬ ¼
Separating into real and imaginary components yields two equations for bus i,
N
Pispec ¦ Vi
yi, j V j cos G i G j T i, j ,
j 1
N
Qispec ¦ Vi
yi, j V j sin G i G j T i, j ,
j 1
The problem now is now to find the set of bus voltages that satisfies the above 2N equations.
2. Gauss-Seidel Method
Gauss-Seidel is an early formulation of the loadflow problem that requires little memory and it is
easily programmed. However, it is usually slower than other methods. It is based upon the idea
of expanding the complex form of the power balance equation as follows:
* *
ªN º ª N º
spec
Pi jQispec Vi I i* Vi « ¦ yi, jV j » Vi « yi, iVi ¦ yi, jV j » ,
«j 1 » « j 1, j z i »
¬ ¼ ¬ ¼
or
N
Pispec jQispec Vi* yi, iVi Vi* ¦ yi , jV j ,
j 1, j z i
so that
1 ª P spec jQ spec N º
Vi « i i
¦ yi , jV j » .
yi , i «
¬ Vi* j 1, j z i »
¼
1. Initialize the bus voltages. For load busses, use V = 1 + j0. For generator busses
(including the swing bus), use V Vspec j 0 .
For PV busses, update the voltage angle, while holding the voltage magnitude constant at
the specified value. Do not update the swing bus.
3. Check the mismatch P and Q at each bus. If all are within tolerance (typical tolerance is
0.00001 pu), a solution has been found. Otherwise, return to Step 2.
Convergence is usually faster if an acceleration factor is used. For example, assume that the
voltage at bus i at iteration m is Vim , and that the updating equation in Step 2 computes V jnew .
Instead of using V jnew directly, accelerate the update with
Vim 1
Vim D Vinew Vim ,
where acceleration factor D is in the range of 1.2 to 1.6.
3 Newton-Raphson Method
The Newton-Raphson method is a very powerful loadflow solution technique that incorporates
first-derivative information when computing voltage updates. Normally, only 3 to 5 iterations
are required to solve the loadflow problem, regardless of system size. Newton-Raphson is the
most commonly used loadflow solution technique.
An easy way to illustrate the Newton-Raphson technique is to solve a simple equation whose
answers are already known. For example, consider
x 1x 99 0,
x 2 100 x 99 0.
f ( x) x 2 100 x 99 0.
Of course, in this case, the two solutions are known a priori as x = 1, and x = 99.
The Newton-Raphson procedure is based on Taylor's expansion, truncated past the first
derivative, which gives
wf ( x)
f ( x 'x) | f ( x) 'x .
wx x
The objective is to find 'x so that f ( x 'x) is the desired value (which in this example is
zero). Solving for 'x yields
f ( x 'x) f ( x)
'x ,
wf ( x)
wx x
0 f ( x) f ( x)
'x .
wf ( x) wf ( x)
wx x wx x
f ( x ( m) )
x ( m 1) x ( m) 'x x ( m) ,
wf ( x)
wx x ( m)
wf ( x)
2 x 100 .
wx
wf ( x)
Iteration - m x f(x)
wx
0 2 -97 -96
1 0.9896 1.0193 -98.02
2 0.9999 0.0098 -98.00
Additional iterations can be performed if tighter solution tolerance is needed. Note that if a
starting point of x = 50 had been chosen, the partial derivative would have been zero, and the
method would have failed.
wf ( x)
Iteration - m x f(x)
wx
0 80 -1501 60
1 105.02 626.2 110.04
2 99.33 32.45 98.66
3 99.00 0 98.00
Therefore, the starting point greatly affects the ability of a Newton-Raphson method to converge,
and the answer to which it converges. Fortunately, in the loadflow problem, most voltages are
near 1.0 pu in magnitude and 0.0 degrees, so that we are able to accurately estimate starting
values.
For the loadflow problem, the Newton-Raphson method is expanded in matrix form. For
example, consider a set of N nonlinear equations and N unknowns,
f1 x1 , x2 ,, x N y1
f 2 x1 , x 2 , , x N y2
.
f N x1 , x 2 ,, x N yN
The task is to find the set of unknown x1 , x 2 , , x N , given the known set y1 , y 2 , , y N , and
given a starting point x1(0) , x 2(0) , , x N
( 0)
.
Applying Taylor's theorem as before, truncated after the first derivative, yields for Row i
yi | f i x1(0) 'x1 , x 2(0) 'x 2 ,, x N
( 0)
'x N
f i x1(0) , x 2(0) , , x N
( 0)
wf wf wf
+ 'x1 i 'x2 i 'x N i ,
wx1 x (0) wx2 x(0) wx N x (0)
or
ª y
« 1
f1 x1(0) , x2(0) , , x N
( 0)
º» ª« 'x 1º
« y2
«
f 2 x1(0) , x2(0) , , x N
( 0)
»» | >J @ « 'x 2»
,
»
« »
« »
«yN
¬ ( 0) ( 0)
f N x1 , x 2 , , x N ( 0)
»¼ «¬'x »
N¼
ª y1 º
« 1 1
ª f x ( m) , x ( m) , , x ( m)
2 N º»
Yspec
«y »
« 2 » , Y ( m)
«
« f 2 x1( m) , x 2( m) , , x N
( m)
»» .
« »
« »
« »
¬yN ¼ ¬
« f N x , x m) , , x ( m)
(
1
m ) (
2 N »¼
In the loadflow problem, the matrix update equation is symbolically written in mixed
rectangular-polar form as
ª P ( m)
P1calc º ª G m 1 G m º
« 1spec » « 1 m 1 1
»
m) »
« P2 spec P2(calc « G 2 G 2 m »
« » « »
« »
« PNspec P ( m) » ª wP wP º «
« G m 1 G m »»
« Ncalc » « J1 wG
J2
wV » N N
« »« »
« »
«Q ( m) » «J wQ
J4
wQ » «
« m 1 m »»
Q1calc « 3 wG wV » V1 V 1
« 1spec » ¬ ¼« m 1 m »
« Q2 spec Q ( m) » « V2 V2 »
2calc
« » « »
« »
«Q (m) »
« m 1 V m »
Q «¬ V N N »¼
¬ Nspec Ncalc ¼
ª 'P º ª J1 J 2 º ª 'G º
«J « » .
«'Q »
¬ ¼ ¬ 3 J 4 »¼ ¬' V ¼
In highly inductive power systems, P is closely related to voltage angles, and Q is closely related
to voltage magnitudes. Therefore, in the above mixed rectangular-polar formulation, the terms
in J 1 and J 4 tend to have larger magnitudes than those in J 2 and J 3 . This feature makes the
Jacobian matrix more diagonally dominant, which improves robustness when Gaussian
eliminating or LU decomposing J.
The above formulation of the Jacobian matrix is often modified to take advantage of symmetry
in the partial derivatives. This modification is
ª1 wP wP º
ª 'P º «V wG wV » ª V 'G º
«'Q » « »« » .
¬ ¼ «1 wQ wQ »¬ 'V ¼
«V wG wV »
¬ ¼
N
Picalc ¦ Vi
yi, j V j cos G i G j T i , j ,
j 1
N
Qicalc ¦ Vi
yi, j V j sin G i G j T i, j ,
j 1
For J1 ,
wPi N
wG i
¦ Vi
yi, j V j sin G i G j T i, j
j 1, j z i
wPi
wG k
Vi yi, k Vk sin G i G k T i, k , k z i .
For J 2 ,
wPi N
w Vi
¦ yi, j V j cosG i G j T i, j 2 Vi
yi, i cos T i, i
j 1, j z i
wPi
w Vk
Vi yi, k cos G i G k T i, k , k z i .
For J 3 ,
wQi N
wG i
¦ Vi
yi, j V j cos G i G j T i, j
j 1, j z i
wQi
wG k
Vi yi, k Vk cos G i G k T i, k , k z i .
For J 4 ,
wQi N
w Vi
¦ yi, j V j sin G i G j T i, j 2 Vi
yi, i sin T i, i
j 1, j z i
wQi
w Vk
Vi yi, k sin G i G k T i, k , k z i .
Note the symmetry in the J terms. If V G is used as an updating parameter rather than G , then
the expressions for J 1 are
wPi N
Vi wG i
¦ yi, j V j sin G i G j T i, j
j 1, j z i
wPi
Vk wG k
Vi yi, k sin G i G k T i, k , k z i .
and for J 3 ,
wQi N
Vi wG i
¦ yi, j V j cosG i G j T i, j
j 1, j z i
wQi
Vi wG k
yi, k Vk cos G i G k T i, k , k z i .
The diagonal dominance of J1 and J 4 can be observed by the examining the partial derivatives
as follows: the differences between voltage angles at adjacent busses is usually small, so that the
G i G j terms are small. The angles found in the admittance matrix are usually large (i.e. near
90 o ) because most power systems are reactive. Therefore, the sine terms in the matrix update
equation tend to be near unity, while the cosine terms tend to be near zero. Decoupled loadflow
programs use only J1 and J 4 , treating the P and Q problems separately.
So that the benefits of optimal bus ordering can be fully exploited, non-decoupled loadflow
Jacobian matrices are usually formulated in the following alternating-row form, rather than that
described symbolically above:
ª 'P1 º ª V1 'G1 º
« 'Q » « »
« 1» « ' V1 »
« 'P2 » « V2 'G 2 »
« »
« 'Q2 » >J @ «« ' V2 »» .
« » « »
« » « »
« 'PN » « V N 'G N »
«'Q » « 'V »
¬ N¼ ¬ N ¼
1. Initialize the bus voltages. For load busses, use V = 1 + j0. For generator busses
(including the swing bus), use V Vspec j 0 .
2. Form the Jacobian matrix, and update all bus voltage magnitudes and phase angles,
except for those at the swing bus, and except for the voltage magnitudes at PV busses.
3. Check the mismatch P and Q at each bus. If all are within tolerance (typical tolerance is
0.00001 pu), a solution has been found. Otherwise, return to Step 2.
4 Stott's Algorithm
Stott's algorithm takes advantage of the strong decoupling of P and Q that occurs in most high-
voltage power systems. His formulation is based upon the assumption that P is primarily related
to G , and that Q is primarily related to V .
*
ªN º
Picalc jQicalc Vi « ¦ yi, jV j » .
«j 1 »
¬ ¼
He then defines
yi , j Gi, j jBi, j .
ªN º
Picalc jQicalc
« ¦ Vi T i Vi T j Gi, j jBi, j » ,
«j 1 »
¬ ¼
N
Picalc ¦ Vi V j Gi, j cos G i, j Bi, j sin G i, j
j 1
N
Qicalc ¦ Vi V j Gi, j sin G i, j Bi, j cos G i, j ,
j 1
where G i, j Gi G j .
From the above equations, the necessary loadflow partial derivatives are
wPi
wG j
Vi V j Gi, j sin G i, j Bi, j cos G i, j ,
j zi
and
wPi N
wG i
¦
Vi V j Gi , j sin G i, j Bi, j cos G i, j ,
j 1, j z i
wPi
wG i
ªQi Vi
«¬
2
Gi,i sin G i,i Bi, j cos G i,i º»¼ = Qi Vi 2 Bi,i .
Similarly, for Q,
wQi 1 wPi
Vi Gi, j sin G i, j Bi, j cos G i, j ,
w Vj V j wG j j z i
j zi
and
wQi N
w Vi
¦ V j Gi, j sin G i, j Bi, j cos G i, j 2 Vi Gi,i sin G i,i Bi,i cos G i,i .
j 1, j z i
wQi Qi
Vi Bi, i .
w Vi Vi
ª 'P º ªH 0 º ª 'G º
«'Q » «0 «1 » ,
¬ ¼ ¬ L »¼ « 'V »
¬V ¼
where
H i, j Li, j
Vi V j Gi, j sin G i, j Bi, j cos G i, j , i z j ,
2
H i, i Qi Vi Bi, i ,
2
Li, i Qi Vi Bi, i .
Now, since the angular differences are small, then cos G i, j !! sin G i, j . In reactive power
systems, Bi, j ! Gi, j , so that Bi, j cos G i, j !! Gi, j sin G i, j . Also, in most cases,
Bi, i !! Qi , so that Vi2 Bi, i !! Qi . Substituting these approximations into the above
expressions for H and L yields
H i, j Li, j | Vi V j Bi, j ,
2
H i, i | Li, i | Vi Bi, i .
VB 'V >'G @ ,
ª 'V1 º
« »
ªV1 0 0 º ª B1,1 B1,2 B1, N º ªV1 0
0 º « V1 »
« 0 V 0 »« B B 2, 2 B2, N »» « 0 V2
0 »» « 'V2 »
2 »« 2,1
>'Q@ «
«
« « V »
« » »« »« 2 »
« »« »« »
¬ 0 0 V N ¼ «¬ B N ,1 B N ,2 B N , N »¼ ¬ 0 0 V N ¼ « 'V N »
« »
¬« V N ¼»
ª 'V º
VB ''V « .
¬ V »¼
1. Omit from B' those network elements which primarily affect MVAr flows (i.e. shunt
reactances, off-nominal transformer taps, etc.)
2. Omit from B'' the angle-shifting effects of phase-shifting transformers, which primarily
affect MW flows.
ª 'P º
« » >B V @>'G @ | >B @>'G @ (first one-half iteration),
' '
¬« V ¼»
and
ª 'Q º
« »
«¬ V »¼
>B V @ª«« 'VV º»» | >B @>'V @ (second one-half iteration).
'' ''
¬ ¼
At this point, B' and B'' remain constant throughout the solution. Therefore, B' and B'' should be
LU decomposed once, and re-used for each half iteration. The solutions steps are
ª 'P º
2. Calculate « » .
«¬ V »¼
3.
ª 'P º
Update G using « »
«¬ V »¼
>B @>'G @ .
'
ª 'Q º
5. Calculate « » .
¬« V ¼»
6.
ª 'Q º
Update ' V using « » >B @>'V @
''
¬« V ¼»
5. Other Considerations
Once the bus voltages throughout the system have been calculated, then the loadflow program
must calculate power flows through lines/transformers/cables. The standard pi-equivalent
models are used for this purpose as follows:
R jX
Vj/ G j Vk/G k
Ijk Ikj
Q(pu) Icapj Icapk Q(pu)
2 2
,
V j G j Vk G k
so from side j, I jk
R jX
Q
2
V j G j 90 0 ,
Vk G k V j G j
and from side k, I kj
R jX
Q
2
Vk G k 90 0 .
Note that the current on the two opposite ends of the line are not exactly the same due to the fact
that the capacitor currents are not, in general, equal to each other.
The corresponding power flows for the two ends of the line are S jk V jk I *jk , S kj *
Vkj I kj .
§ ·
so for side k, I kj ¨ V G V j G j ¸y ,
¨ k k
tT ¸
© ¹
I kj
and for side j, I jk .
tT
The corresponding power flows for the two ends of the transformer are
S jk V jk I *jk , S kj *
Vkj I kj .
Area Interchange
Large-scale power systems usually consist of several, or perhaps many, individual electric utility
companies. In these cases, each area may have a desired net input or output power to satisfy
sales and purchase agreements.
The area interchange feature in a loadflow program sums the tie-line flows into each area for a
net area power input. If these nets are not the desired values, to within a few megawatts, then an
area-control generator within the area is adjusted by the error amount. The sum of all input
powers for all areas must, of course, be zero.
Convergence Criteria
Most loadflow data cases are developed using a 100 MVA base, so that a 1% load corresponds to
1 MW. A typical convergence criteria is that the highest individual bus P and Q mismatches are
within 0.001 - 0.01%, or 0.00001 - 0.0001 pu.
Input (note – any lines in input files that begin with a colon in column 1 are treated as comments and are skipped)
x ADAT.CSV: Loadflow area input data. (PCFLO also creates temporary file ADAT.TMP)
x BDAT.CSV: Bus data.
x LDAT.CSV: Line and transformer data.
x OPTIONS.CSV: Solution options.
x SPECTRA.CSV: User-specified harmonic current injection spectra. (PCFLO also creates temporary file SPECTRA.TMP)
Output
Page 1 of 24
x BDAT.TMP: Unformatted bus data file built by PCFLO and read by FAULTS.
x FFREP1.TXT, FFREP2.TXT, FFREP3.TXT. Temporarly files used during short circuit studies (produced by program
FAULTS)
x LDAT.TMP: Unformatted line and transformer data file built by PCFLO and read by FAULTS.
x SPECTRA.TMP: Temporary file built by PCFLO during harmonic studies.
Page 2 of 24
Loadflow
x 5 Bus Stevenson* Loadflow Example, pp. 200-205. File Extension _S5.
x 4860 Bus Loadflow Case. File Extension _SCREWBEAN. Used for power grid studies.
Short Circuit
x 6 Bus Grainger-Stevenson** Short Circuit Example (Prob. 3.12, p. 139, and continued with Prob. 11.17, p. 469). File
Extension _S6
x 9 Bus Grainger-Stevenson** Short Circuit Example (Prob. 3.13, pp. 139-140, and continued with Prob. 11.18, p. 469). File
Extension _S9.
Harmonics
x 5 Bus Tutorial. File Extensions _FIVE and _FIVE_FILTER.
x 33 Bus ASD Example. File Extension _DFW.
x 18 Bus Oil Pipeline ASD Example. File Extension _PIPELINE.
x 111 Bus 3rd Harmonic Resonance Example. File Extension _TV.
x 17 Bus Small Ski Area Example. File Extensions _SKIA, _SKIB, _SKIC.
x 454 Bus Large Ski Area Example. File Extensions _OLYMPICS_A (unfiltered), _OLYMPICS_D (filtered).
x 87 Bus Distribution Example with 3rd Harmonic Problem Due to Single-Phase Loads. File Extension _PC.
* William D. Stevenson, Jr., Elements of Power System Analysis, Fourth Edition, McGraw-Hill, New York, 1982.
** John J. Grainger, William D. Stevenson, Jr., Power System Analysis, McGraw-Hill, New York, 1994.
Page 3 of 24
BUS DATA
(File = BDAT.CSV, one record per bus. CSV format)
Variable Comments
Number Integer
Name Up to 12 characters
Page 4 of 24
Remote-Controlled Bus Number Used for controlling voltage at a remote bus. For these
cases, the desired voltage specified above applies to the
remote bus.
Grounding Impedance R, X for Sub- Series impedance from wye point to ground, in per unit.
Transient Impedances (do not multiply by 3).
Nonlinear Device P Generation P Generation that comes from the nonlinear device,
in percent.
Nonlinear Device Displacement Power Factor Per Unit (positive for lagging is positive, negative for
leading).
Page 5 of 24
Nonlinear Device Phase Shift Degrees for positive sequence, on system side with
respect to device side. This is the additional phase shift
by which the current injection phase angles will be
advanced for positive sequence, and delayed for
negative sequence.
Connection Type for Harmonics Model 0 or 1 = Grounded Wye. Otherwise, ungrounded wye
of Linear Load or delta (i.e. no zero sequence path)
Page 6 of 24
CSV Header and Structure for Input File BDAT.CSV (using sample file BDAT_HEADER.csv)
:Bus Data
:
: Linear Linear Linear Linear Shunt Maximum
: P Q P Q Desired Reactive Q
:Bus Bus Bus Generation Generation Load Load Voltage Q Load Generation
:Number Name Type (%) (%) (%) (%) (pu) (%) (%)
:(I) (A) (I) (F) (F) (F) (F) (F) (F) (F)
continuing across,
continuing across,
Grounding Grounding
Impedance Impedance Nonlinear Nonlinear Nonlinear
Connection R for X for Device Device Device Nonlinear Linear
Type for Subtransient Subtransient P P Displacement Nonlinear Device Load
Subtransient Impedances Impedances Gen Load Power Factor Device Phase Shift Connection
R and X (pu) (pu) (%) (%) (pu) Type (Degrees) Type
(I) (F) (F) (F) (F) (F) (I) (F) (I)
Page 7 of 24
Variable Comments
Rating Percent
Minimum Tap, or Minimum Phase Shift Angle Per unit tap, or degrees, FROM BUS side
wrt. TO BUS side
Maximum Tap, or Maximum Phase Shift Angle Per unit tap, or degrees, on FROM BUS side
wrt. TO BUS side
Tap Step Size, or Phase Shift Step Size Per unit, or degrees
Voltage-Controlled Bus Number Used for controlling voltage at a remote bus. For these
cases, the desired voltage specified applies to the
remote bus.
Page 8 of 24
Voltage-Controlled Bus Side When controlling the voltage at a remote bus, enter 1
when the remote bus is on the FROM BUS side of the
transformer. Enter 2 when the remote bus is on the
TO BUS side of the transformer.
Desired Voltage for Voltage-Controlled Bus, Per unit Voltage, or Percent Active Power (FROM BUS
or Desired Active Power Flow for Phase toward TO BUS)
Shifting Transformer
Grounding Impedance R, X Series impedance from wye point to ground, in per unit
Applies to wye-connected transformers and shunt
Page 9 of 24
Resistive Skin Effect Factor for Harmonic h (h > 2, fractional values OK) at which
Positive/Negative Sequence the conductor resistance is double the fundamental
frequency resistance.
Resistive Skin Effect Factor for Harmonic h (h > 2, fractional values OK) at which
Zero Sequence the conductor resistance is double the fundamental
frequency resistance. This value applies to the
combined conductor and grounding resistance.
Page 10 of 24
Header and Structure for Input File LDAT.CSV (using sample file LDAT_HEADER.csv)
:Line and Transformer Data
:
:
:
: Positive Positive Pos/Neg
: Sequence Sequence Sequence Minimum Maximum Tap Fixed
:From To Circuit R X Charging Rating Tap Tap Step Size Tap
:Bus Bus Number (pu) (pu) (%) (%) (pu) (pu) (pu) (pu)
:(I) (I) (I) (F) (F) (F) (F) (F) (F) (F) (F)
continuing across,
Desired Voltage
at Voltage
Cont. Bus
(pu) Connect.
Voltage- Voltage- or Desired P Zero Zero Zero Type Series Series
Phase Cont. Cont. for Sequence Sequence Sequence for Trans. Grounding Grounding
Shift Bus Bus Phase Shifter R X Charging and Shunt R X
(Degrees) Number Side (%) (pu) (pu) (%) Elements (pu) (pu)
(F) (I) (I) (F) (F) (F) (F) (I) (F) (F)
Page 11 of 24
Variable Comments
Number Integer
Tie-Line Loss Assignment If non-zero, then power losses on tie lines are assigned
equally between the two areas. If zero, the TO BUS
area for each tie line is assigned the loss (i.e., meter at
the FROM BUS).
Name Up to 20 characters
Page 12 of 24
Header and Structure for Input File ADAT.CSV (using sample file ADAT_HEADER.csv)
:Area Interchange Data
: Tie Line
: Loss
: Assignm.
: (1 for
: Splitting, Desired Solution
: 0 for To Control Export Tolerance
:Area Bus Bus Power for Export Area
:Number Ownership Number (%) (%) Name
:(I) (I) (I) (F) (F) (A)
Page 13 of 24
Variable Comments
Type of Series Must be sin for a sine series, cos for a cosine series.
All entries in this file must be either sin, or cos, and
cannot be mixed.
Current Harmonic Magnitude Per unit. If the fundamental is given, its magnitude
must be 1.0, and the other harmonic magnitudes for
the same nonlinear load type are assumed to be relative
to 1.0. The actual injection currents will be scaled
according to bus load/generation.
Current Harmonic Phase Angle Degrees, using load current convention. If the
fundamental angle is given, it must be 0.0. The actual
phase angles will be adjusted internally according to
bus power factor and fundamental voltage angle.
Page 14 of 24
Header and Structure for Input File SPECTRA.CSV (using sample file SPECTRA_HEADER.csv)
:Harmonic Current Spectral Data
: Current
:Type of Current Harmonic
:Series Nonlinear Harmonic Harmonic Phase
:(SIN or Load Order Mag. Angle
:COS) Type (Integer) (pu) (Degrees)
:(A) (I) (I) (F) (F)
Page 15 of 24
SOLUTION OPTIONS
continuing across,
Limit
Output and and and and
to This This This This This
Control Control Control Control Control
Area? Area? Area? Area? Area?
(Integer) (Integer) (Integer) (Integer) (Integer)
(I) (I) (I) (I) (I)
0 0 0 0 0
Page 16 of 24
Page 17 of 24
continuing across,
Page 18 of 24
(Note - for loadflow studies, the formats of ISOLN and VSOLN are different from below but are self-explanatory when viewing the
files. For short circuit studies, the ZBUS files are similar to below, but written in rectangular form)
Commas separate the fields shown below to facilitate their use with Microsoft Excel.
Data Field
(starting from
the left) Description
1 Harmonic number
2 From bus number
3 To bus number
4 Circuit number
5 Current magnitude - per unit
6 Current phase angle (sine reference) - degrees
7 From bus name (at the first opportunity only)
8 To bus name (at the first opportunity only)
9 Loading level - percent of line rating (for
fundamental frequency only)
Data Field
(starting from
the left) Description
1 Harmonic number
2 Bus number
3 Voltage magnitude - per unit
Page 19 of 24
Data Field
(starting from
the left) Description
1 Harmonic number
2 From bus number
3 To bus number
4 Impedance magnitude - per unit
5 Impedance phase angle - degrees
6 From bus name (at the first opportunity only)
7 To bus name (at the first opportunity only)
Contains a list of bus numbers with their corresponding names and voltage distortions.
Page 20 of 24
Page 21 of 24
Page 22 of 24
Page 23 of 24
Page 24 of 24
The Screwbean 138kV substation is located in west Texas, halfway between Midland/Odessa
and El Paso, near Guadalupe Mountains National Park. It is about 400 miles from Austin. This
is prime wind country, and several wind farms are already located in the area.
Your job is to examine the feasibility of transporting 50MW of power from a new wind farm
near Screwbean to the U.T. Austin campus. In particular, you are to determine the impact of this
transaction on the losses in individual control areas, and also determine if any high or low
voltages, or line overloads, are created by your transaction.
To perform the analysis, you will use a 5000 bus version of PCFLO, together with a summer
peak loadflow case (in which most bus names have been disguised). You should prepare a ½ to
1 page summary report of your study, as if you were going to submit it to your client. Tables
should be attached as an appendix.
Explain to your client how many MW must be generated at Screwbean to deliver 50MW to U.T.
Austin. Quantify the MW needed by each negatively-impacted control area to pay back for their
increased losses.
1. Go to www.ece.utexas.edu/~grady, and click the PCFLO_V6 link. Follow the download and
unzip instructions on the PCFLO page.
3. Print out asoln_SCREWBEAN.csv, using the landscape option. To verify your loadflow
result, check your power loss in asoln_SCREWBEAN.csv. It should be about 1215 MW.
4. Find the Screwbean 138kV substation (SCRWBEAN 138, bus 1095) and the U.T. Austin
Harris 69kV substation (HARRIS 69, bus 9204) in the out5_SCREWBEAN.csv file. Note
their voltage magnitudes and phase angles, and the P and Q flows in lines/transformers
attached to these busses.
6. Add new PV bus SB WIND as bus 2 to bdat_mod.csv, using 20 for its control area. Put
50MW (i.e., 50% on 100MVA base) of generation on this new bus, with a Max Q Gen of
25MVAr, and a Min Q Gen of negative 12.5MVAr. For the desired voltage, put a value that
is 0.005pu higher than the base case voltage at SCRWBEAN 138.
7. Add new PQ bus UT CAMPUS as bus 3 to bdat_mod.csv, using 21 for its control area. Put
50MW, 25MVAr of load on this new bus.
8. Connect new bus SB WIND to SCRWBEAN 138 through a line with impedance R =
0.001pu, X = 0.01pu, B = 0%.
9. Connect new bus UT CAMPUS to HARRIS 69 through a line with impedance R = 0.001pu,
X = 0.01pu, B = 0%.
10. Add control area SB as area 20 to adat_mod.csv, with a desired export of 50MW (i.e., 50%).
The area control bus number will be that of SB WIND. Use an export solution tolerance of
0.1%.
11. Add control area UT as area 21 to adat_mod.csv, with a desired import of 50MW (i.e.,
negative 50MW export). The area control bus number will be that of UT CAMPUS. Use an
export solution tolerance of 0.1%.
12. Re-run PCFLO_V6_Interface.exe, using _mod as the input case. Print out the new asoln.csv
file (using the landscape option), and using the new asoln file, tabulate area by area the
increase/decrease in each control area’s losses compared to the base case. The areas with
increased losses may reasonably expect MW payment from the wind power company. This
can be accomplished by putting in generator larger than 50MW, and exporting some power
to the control areas that are negatively impacted.
13. Use the loss increases from Step 12 to estimate how much actual generation would be needed
at SB WIND to deliver 50MW to UT CAMPUS and payback the extra losses to the
negatively-impacted control areas.
14. Check for any line overloads and high/low voltages created in the vicinity of SCRWBEAN
138 and HARRIS 69. (In an actual study, there would have to be described and remedies
proposed. However, do not investigate remedies in your study.)
15. Repeat the above process, but this time reverse the transaction by putting a wind generator at
UT CAMPUS, and a 50MW load at SB WIND.
Va and Ia are the terminal voltage and current. Xs is the synchronous reactance. Resistance r is
the stator resistance. Ea is the Thevenin equivalent voltage behind synchronous reactance.
jXs r Ea q-axis
+ Ia + į
Ea Va reference
– – Va jXsIa
Ia rIa
d-axis
Ea q-axis
a’
Iaq jXqIaq
į jXqIa
reference
Va
Iad
Ia rIa jXdIad
d-axis
This model is like the round rotor synchronous model, except that the transient reactance is used
instead of the synchronous reactance.
jXd’ r E’ q-axis
+ Ia + į
E’ Va reference
– – Va j Xd’Ia
Ia rIa
d-axis
a’ Ea q-axis
Ea’
Iaq jXqIaq
į jXqIa
reference
Va
Iad
Ia rIa jXdIad
jXd’ Iad
d-axis
Steps when Va and Ia are known: Begin with same steps used in the salient pole synchronous
machine model. Then, use Xd’ and Iad to find Ea’.
d E a' 1
The magnitude of Ea’ varies according to
dt '
E fd E a , where Tdo’ is the direct-
Tdo
axis transient open circuit time constant, and Efd is the field voltage (as seen from the stator). As
a first approximation, Efd is treated as a constant whose initial value is the same as the initial
value of Ea .
Bergen Problem 6.4. Given a generator with Va = 1.0 ⁄0º, Ia = 1.0 ⁄60º, Xd = 1.0, Xq = 0.6, and r
= 0.1, find SG, Iad, Iaq, and Ea.
The electrical diagram and internal voltage (for the transient condition) that exists when the
generator is producing (25MW + j12.4MVAr) is shown below. Suddenly, at t = 0, a three-phase
fault with zero impedance occurs at the Harris 12kV bus. Assuming that E’, Vth, and Pmech are
constant, determine the critical clearing time (in cycles). Use the attached graph to show
important P and į points and lines on the power curve, and show clearly which areas are equal.
Remember that during the fault, the electrical power output is zero, and thus the rotor accelerates
Z s Pmech
according to G (t ) t 2 G o , where G o G (t 0) . Also, note that Z s =
4H
377rad/sec, G is in radians, and Pmech is in pu. The formula for critical clearing angle is
G crit cos 1 >(S 2G o ) sin(G o ) cos(G o )@.
3.5
2.5
1.5
0.5
0
0 30 60 90 120 150 180