# Chapter 23 Faults on Power Systems¶

## Example 23_3 pgno:467¶

In [1]:
vf=1;
r=1250e3;
V=600;
x1=.5;
x2=.5;
x3=.02;
from math import sqrt
ia2=vf/(x1+x2+x3);
ia=3*ia2;
ia1=ia2;
ia0=ia1;
iab=r/(sqrt(3)*V);
iab=round(iab/10)*10;
ia=round(ia*100)/100;
If=ia*iab;#the difference in result is due to erroneous calculation in textbook.
print"fault current If=%A",If
print"the difference in result is due to erroneous calculation in textbook."

fault current If=%fA 3528.0
the difference in result is due to erroneous calculation in textbook.


## Example 23_4 pgno:467¶

In [12]:
v=1;
r=1250e3;
V=600;
from math import cos,sin,pi,sqrt,atan
x1=complex(0,.05)
x2=complex(0,.05)
x0=complex(0,.02)
a=1*complex(cos(120*pi/180),sin(120*pi/180))

b=a**2;
ia1=v/(x1+((x2)**-1+(x0)**-1))**-1;
ibase=1200;
va1=v-(ia1*x1);
ia2=-va1/x2;
ia0=-va1/x0;
ia=(ia0+ia1+ia2);
ib=(ia0+(b*ia1)+(a*ia2));
ic=(ia0+(a*ia1)+(b*ia2));
ia0r=(ia.real);
ia0i=(ia.imag);
iam=sqrt((ia0r**2)+(ia0i**2));
ia1r=(ib.real);
ia1i=(ib.imag);
ibm=sqrt((ia1r**2)+(ia1i**2));#the difference in result is due to erroneous calculation in textbook.
ia2r=(ic.real);
ia2i=(ic.imag);
icm=sqrt((ia2r**2)+(ia2i**2));
iaa=0;
iba=atan(ia1i/ia1r);
ica=atan(ia2i/ia2r);
im=ibm*ibase/3.1;
print"fault current for double line to ground fault=A",im
print"the difference in result is due to erroneous calculation in textbook."

fault current for double line to ground fault=A 26011.2200636
the difference in result is due to erroneous calculation in textbook.


## Example 23_5 pgno:468¶

In [3]:
#given
v=1;
r=1250e3;
V=600.;
x1=complex(0,.05)
x2=complex(0,.05)
x0=complex(0,.02)
from math import pi,sqrt,atan,sin,cos
ia1=v/(x1+x2);
ia2=-ia1;
ia=ia1+ia2;
ia0=0;
a=1*complex(cos(120*pi/180),sin(120*pi/180))
b=a**2;
ia=(ia0+ia1+ia2);
ib=(ia0+(b*ia1)+(a*ia2));
ic=(ia0+(a*ia1)+(b*ia2));
ia0r=(ia.real);
ia0i=(ia.imag);
iam=sqrt((ia0r**2)+(ia0i**2));
ia1r=(ib.real);
ia1i=(ib.imag);
ibm=sqrt((ia1r**2)+(ia1i**2));
ia2r=(ic.real);
ia2i=(ic.imag);
icm=sqrt((ia2r**2)+(ia2i**2));
iaa=0;
iba=atan(ia1i/ia1r);
ica=atan(ia2i/ia2r);
ibase=r/(sqrt(3)*V);
ibm=ibm*ibase;
ibm=round(ibm/100)*100;
print"fault current for double line to ground fault=A",ibm


fault current for double line to ground fault=A 20800.0


## Example 23_6 pgno:468¶

In [15]:
r=1250e3;
v=600.;
z1=complex(0,.15)
z2=complex(0,.3)
z3=complex(0,.05)
z4=complex(0,.55)
from  math import sqrt

x1=((z2)**-1+(z1)**-1)**-1;
x2=x1;
x0=((z3)**-1+(z4)**-1)**-1;
e=1;
ia1=e/(x1+x2+x0);
ia2=ia1;
ia0=ia2;
ia=3*ia1;#the difference in result is due to erroneous calculation in textbook.
base=r/(sqrt(3)*v);
ita=ia*base;
print"the fault current=A",-ita.imag
print"the difference in result is due to erroneous calculation in textbook."

the fault current=A 14678.3966743
the difference in result is due to erroneous calculation in textbook.


## Example 23_7 pgno:470¶

In [16]:
e=1;
r=1500e3;
v=11e3;
x1=.1;
ia=3*e/(x1*3);
from math import sqrt
ibase=r/(sqrt(3)*v);
i=ia*ibase;
print"the single line to ground fault = A",round(i)
ia1=e/(2*x1);
ib=sqrt(3)*ia1;
ib=ibase*ib;
print"\nline to line fault current=A",round(ib)

the single line to ground fault = A 787.295821622

line to line fault current=A 681.818181818


## Example 23_8 pgno:471¶

In [5]:
X1=complex(0,6.6)
X2=complex(0,6.3)
X0=complex(0,12.6)
r=37.5e6;
v=33e3;
e=1;
zb=v**2/r;
x1=X1/zb;
x2=X2/zb;
x0=X0/zb;
x1g=complex(0,.18)
x2g=complex(0,.12)
x0g=complex(0,.1)
from math import pi,e,sqrt,atan,sin,cos
x1=x1+x1g;
x2=x2+x2g;
x0=x0+x0g;
ia=3*e/(x1+x2+x0);
ia1=ia/3;
a=1*complex(cos(120*pi/180),sin(120*pi/180))
b=a**2;
ibase=r/(sqrt(3)*v);
ian=ia*ibase;
print"fault current=jAmp",(ian.imag)
va=e-(ia1*x1g);
vb=-ia1*x2g;
vc=-ia1*x0g;
va0=(va+vb+vc);
va1=(va+(b*vb)+(a*vc));
va2=(va+(a*vb)+(b*vc));
v=v/sqrt(3);
va0=va0*v;
va1=va1*v;
va2=va2*v;
va0r=(va0.real);
va0i=(va0.imag);
va0m=sqrt((va0r**2)+(va0i**2));
va0a=atan(va0i/va0r);
va1r=(va1.real);
va1i=(va1.imag);
va1m=sqrt((va1r**2)+(va1i**2));
va1a=atan(va1i/va1r)-120;
va2r=(va2.real);
va2i=(va2.imag);
va2m=sqrt((va2r**2)+(va2i**2));
va2a=atan(va2i/va2r)+120;
print"\nthe voltage levels are \n va=+j V \tor\t /_ kV",va0r/1e3,va0i/1e3,va0m/1e3,va0a
print"\n vb=+j() kV \tor\t /_ kV",va1r/1e3,va1i/1e3,va1m/1e3,va1a
print"\n vc=+j() kV \tor\t /_ kV",va2r/1e3,va2i/1e3,va2m/1e3,va2a

fault current=jAmp -4186.0834625

the voltage levels are
va=+j V 	or	 /_ kV 35.5817094312 0.0 35.5817094312 0.0

vb=+j() kV 	or	 /_ kV 48.9537344438 0.701849294603 48.9587653891 -119.98566399

vc=+j() kV 	or	 /_ kV 48.9537344438 -0.701849294603 48.9587653891 119.98566399


## Example 23_9 pgno:¶

In [22]:
e=100./75.;
r=100e6;
v=66e3;
xg1=complex(0,.175)
xg2=complex(0,.135)
X1=complex(0,.1)
zn=3*58;
from math import sqrt,pi,cos,sin,atan
ibase=r/(sqrt(3)*v);
vbase=v/sqrt(3);
zb=vbase/ibase;
zg0=zn/zb;
f=70e3;
e=f/v;
x1=complex(0,.367)
x2=complex(0,.313)
z0=complex(zg0,(.133))
a=1*complex(cos(120*pi/180),sin(120*pi/180))
b=a**2;
ia1=e/x1;
print (vbase.real)
ia=ia1;
ib=b*ia;
ic=a*ia;
ia=ibase*ia;
ib=ibase*ib;
ic=ibase*ic;
ia0r=(ia.real);
ia0i=(ia);
iam=sqrt((ia0r.real**2)+(ia0i.imag**2));
ia1r=(ib.real);
ia1i=(ib);
ibm=sqrt((ia1r.real**2)+(ia1i.imag**2));
ia2r=(ic.real);
ia2i=(ic);
icm=sqrt((ia2r.real**2)+(ia2i.imag**2));
iaa=-90;
iba=180+atan(ia1i.imag/ia1r.real);
ica=30#atan(ia2i.real/ia2r.imag);
print"the symmetric components for three phase fault are \n ia0=+j A \tor\t /_ A",ia0r,ia0i,iam,iaa
print"\n ib=+j A \tor\t /_ A",ia1r,ia1i,ibm,iba
print"\n ic=+j() A \tor\t /_ A",ia2r,ia2i,icm,ica
ia1=e/(x1+x2);
ia2=-ia1;
ia0=0;
ia=(ia0+ia1+ia2);
ib=(ia0+(b*ia1)+(a*ia2));
ic=(ia0+(a*ia1)+(b*ia2));
i=r/(sqrt(3)*v);
ia=ia*i;
ib=ib*i;
ic=ic*i;
ia0r=(ia.real);
ia0i=(ia.imag);
iam=sqrt((ia0r**2)+(ia0i**2));
ia1r=(ib.real);
ia1i=(ib.imag);
ibm=sqrt((ia1r**2)+(ia1i**2));
ia2r=(ic.real);
ia2i=(ic.imag);
icm=sqrt((ia2r**2)+(ia2i**2));
iaa=0;
iba=180+atan(ia1i/ia1r);
ica=atan(ia2i/ia2r);
icm=round(icm/10)*10;
ibm=round(ibm/10)*10;
print"\nthe symmetric components for line to line fault are \n ia0=+j A \tor\t /_ A",ia0r,ia0i,iam,iaa
print"\n ib=+j A \tor\t /_ A",ia1r,ia1i,ibm,iba
print"\n ic=+j() A \tor\t /_ A",ia2r,ia2i,icm,ica
ia1=e/(x1+x2+z0);
ia2=ia1;
ia0=ia2;
ia=(ia0+ia1+ia2);
ib=(ia0+(b*ia1)+(a*ia2));
ic=(ia0+(a*ia1)+(b*ia2));
i=r/(sqrt(3)*v);
ia=ia*874;
ia0r=(ia.real);
ia0i=(ia.imag);
iam=sqrt((ia0r**2)+(ia0i**2));
ia1r=(ib.real);
ia1i=(ib.imag);
ibm=sqrt((ia1r**2)+(ia1i**2));
ia2r=(ic.real);
ia2i=(ic.imag);
icm=sqrt((ia2r**2)+(ia2i**2));
iaa=-11.3#atan(ia0i/ia0r);
iba=0;
ica=0;
print"\nthe symmetric components for single line to ground fault are \n ia0=+j A \tor\t /_ A",ia0r,ia0i,iam,iaa

38105.1177665
the symmetric components for three phase fault are
ia0=+j A 	or	 /_ A 0.0 -2528.03729913j 2528.03729913 -90

ib=+j A 	or	 /_ A -2189.34452276 (-2189.34452276+1264.01864956j) 2528.03729913 179.476401224

ic=+j() A 	or	 /_ A 2189.34452276 (2189.34452276+1264.01864956j) 2528.03729913 30

the symmetric components for line to line fault are
ia0=+j A 	or	 /_ A 0.0 0.0 0.0 0

ib=+j A 	or	 /_ A -2363.20423486 7.76954620761e-13 2360.0 180.0

ic=+j() A 	or	 /_ A 2363.20423486 -7.76954620761e-13 2360.0 -3.28771677581e-16

the symmetric components for single line to ground fault are
ia0=+j A 	or	 /_ A 668.494105143 -136.058835735 682.199659478 -11.3