Chapter 03 : Transformers¶

Example 3.1, Page No 148¶

In [1]:
import math
#initialisation of variables
# To determine no load power factor,core loss current and magnetising current
#  and no load ckt parameters of transformer

Pi=50.0
V1=230.0
Io=2

#Calculations
pf=Pi/(V1*Io)
print("No load power factor %.2f v " %pf)
print("Magnetising current(A) %.2f v " %Im)
Ii=Io*pf
print("core loss current(A) %.2f v " %Ii)
Gi=Pi/V1**2
print("Gi(mho) %.2f v " %Gi)
Bm=Im/V1

#Results
print("Bm(mho) %.2f v " %Bm)

No load power factor 0.00 v
Magnetising current(A) 2.00 v
core loss current(A) 0.00 v
Gi(mho) 0.00 v
Bm(mho) 0.01 v


Example 3.2, Page No 149¶

In [4]:
import math
#initialisation of variables
# To calculate no load current and its pf and no load power drawn from mains

E=200
f=50
N1=150         # no of turns
b1=.1
b2=.05
phi_max=E/(4.44*f*N1)
print("flux(Wb)%.2f v " %phi_max)
B_max=phi_max/(b1*b2)
print("B_max(T) = %.2f v " %B_max)

H_max=250         #According to B_max, H_max is 250AT/m
l_c=.2*(3.0+3.5)     #length of core
AT_max=H_max*l_c
print("AT_max = %.2f v " %AT_max)
T_max=N1
I_mmax=AT_max/T_max
I_mrms=I_mmax/2**.5
print("I_mrms(A) = %.2f v " %I_mrms)
v=2*(20*10*5)+2*(45*10*5)
d=.0079             #density of core material
w=v*d
cl=3                 #core loss/kg
closs=w*cl
print("core loss(W) = %.2f v " %closs)
I_i=closs/E
print("I_i(A) = %.2f v " %I_i)
def rect2polar(x,y):
r=math.sqrt(x**2+y**2)
return r

def rect2polar2(x,y):
return pff

I_o=rect2polar(I_i,-I_mmax)
pf=rect2polar(I_i,-I_mmax)
print("no load current(A) = %.2f v " %I_o)
print("no load power factor = %.2f v " %pf)

flux(Wb)0.01 v
B_max(T) = 1.20 v
AT_max = 325.00 v
I_mrms(A) = 1.53 v
core loss(W) = 154.05 v
I_i(A) = 0.77 v
no load current(A) = 2.30 v
no load power factor = 2.30 v


Example 3.3, Page No 149¶

In [7]:
import math
#initialisation of variables
# To calculate primary and scondary side impedences,current and their pf and real power
# and calculate terminal voltage
N_1=150.0
N_2=75.0

a=N_1/N_2

Z_2=[5,30]                 #polar(magnitude,phase diff)
I_2=[0,0]
I_1=[0,0]
print(Z_2,'secondary impedence(ohm)')
Z_1=[a**2*Z_2[0],Z_2[1]]
print(Z_1,'primary impedence(ohm)')

V_1=[200,0]                 #polar(magnitde,phase diff)
V_2=[V_1[0]/a,V_1[1]]
print(V_2,'secondary terminal voltage(V)')

I_2[0]=V_2[0]/Z_2[0]
I_2[1]=V_2[1]-Z_2[1]
print(I_2,'I_2=')
print(pf,'pf lagging=')

I_1[0]=I_2[0]/a
I_1[1]=I_2[1]
print(I_1,'I_1(A)')
print(pf,'pf lagging=')

print(P_2,'secondary power output(W)=')
#P_1=primary power output
P_1=P_2                            #as the transormer is lossless
print(P_1,'primary power output(W)=')

([5, 30], 'secondary impedence(ohm)')
([20, 30], 'primary impedence(ohm)')
([100, 0], 'secondary terminal voltage(V)')
([20, -30], 'I_2=')
(0.8660254037844387, 'pf lagging=')
([10, -30], 'I_1(A)')
(0.8660254037844387, 'pf lagging=')
(1732.0508075688774, 'secondary power output(W)=')
(1732.0508075688774, 'primary power output(W)=')


Example 3.4 Page No 150¶

In [9]:
# To calculate primary current and its pf

def polar2rect(r,theta):
return x

def polar2rect2(r,theta):
return y

def rect2polar(x,y):
r=math.sqrt(x**2+y**2)
return r

def rect2polar2(x,y):
theta=math.degrees(math.atan(y/x))
return theta

#Calculations
I_2=[10,-30]
I_2r=[0,0]
I_2r[0]=polar2rect(I_2[0],I_2[1])
I_2r[1]=polar2rect2(I_2[0],I_2[1])

I_0=[1.62,-71.5]
I_0r=[0,0]
I_0r[0]=polar2rect(I_0[0],I_0[1])
I_0r[1]=polar2rect2(I_0[0],I_0[1])

I_1r=I_0r+I_2r
I_1[0]=rect2polar(I_1r[0],I_1r[1])
I_1[1]=rect2polar2(I_1r[0],I_1r[1])
print(I_1[0],'primary current(A)=')
print(pf,'power factor=')

(1.62, 'primary current(A)=')
(0.3173046564050921, 'power factor=')


Example 3.5, Page No 152¶

In [12]:
import math
# Equivalent circuit referred to(i)HV side (ii)LV side

N_1=2000
N_2=200

a=N_1/N_2

#Calculations
Z_2=p=complex(0.004,0.005)  #low voltage impedence
Z_2hv=a**2*Z_2
print(Z_2hv,'Z_2 referred to hv side(ohm)')                         #when referred to hv side

Y_0hv=Y_0/a**2
print(Y_0hv,'Y_0 referred to hv side(mho)')

Z_1=complex(0.42,-0.52)                    #low voltage impedence
Z_1lv=Z_1/a**2
print(Z_1lv,'Z_1 referred to lv side(ohm)')

((0.4+0.5j), 'Z_2 referred to hv side(ohm)')
((2e-05-0.00015j), 'Y_0 referred to hv side(mho)')
((0.0042-0.0052j), 'Z_1 referred to lv side(ohm)')


Example 3.6 Page No 163¶

In [15]:
import math
# To find the voltage at the load end of the transformer when load is drawing transformer current

Z1=[.25,1.4]                     #impedence of feeder    (REAL,IMAGINERY)
Z2=[.82,1.02]                    #impedence of transformer    (REAL,IMAGINERY)

Z=Z1+Z2
print(Z,'Z(ohm)')

pf=.8
phi=math.degrees(math.acos(pf))
#from phasor diagram

#Calculations
R=Z[0]
X=Z[0]
AE=AF-FE
OA=2000
OE=math.sqrt(OA**2-AE**2)

BE=BD+DE
V1=OE
print(V1,'V1(V)')
V2=V1-BE
print(V2,'V2(V)')


([0.25, 1.4, 0.82, 1.02], 'Z(ohm)')
(1999.999937499999, 'V1(V)')
(1996.499937499999, 'V2(V)')


Example 3.7, Page No 164¶

In [20]:
import math
#initialisation of variables
# Approx equivalent ckt referred to hv and lv sides resp,

#open ckt test data with HV side open
ocv=200.0
oci=4.0
ocp=120.0
#short ckt test data with LV side open
scv=60.0
sci=10.0
scp=300.0
#OC test(LV side)

#Calculations
Y_o=oci/ocv
print("Y_o %.4f v " %Y_o)
G_i=ocp/ocv**2
print("G_i %.4f v " %G_i)
B_m=math.sqrt(Y_o**2-G_i**2)
print("B_m %.4f v " %B_m)
#SC test(HV side)
Z=scv/sci
print("Z(ohm) %.4f v " %Z)
R=scp/sci**2
print("R(ohm) %.4f v " %R)
X=math.sqrt(Z**2-R**2)
print("X(ohm) %.4f v " %X)

N_H=2000
N_L=200
a=N_H/N_L                             #transformation ratio

#Equivalent ckt referred to HV side
G_iHV=G_i/a**2
print("G_i(HV)mho %.4f v " %G_iHV)
B_mHV=B_m/a**2
print("B_m(HV)mho %.4f v " %B_mHV)

#Equivalent ckt referred to LV side
RLV=R/a**2
print("R(LV)ohm %.4f v " %RLV)
XLV=X/a**2
print("X(LV)ohm %.4f v " %XLV)

Y_o 0.0200 v
G_i 0.0030 v
B_m 0.0198 v
Z(ohm) 6.0000 v
R(ohm) 3.0000 v
X(ohm) 5.1962 v
G_i(HV)mho 0.0000 v
B_m(HV)mho 0.0002 v
R(LV)ohm 0.0300 v
X(LV)ohm 0.0520 v


Example 3.8 Page No 165¶

In [24]:
import math
#initialisation of variables
# to calculate (a)open ckt current,power and pf when LV excited at rated voltage
# (b) voltage at which HV side is excited, ip power and its pf

r=150000                                     #rating(VA)
V1=2400.0
V2=240.0
a=V1/V2

R_1=.2
X_1=.45
R_i=10000
R_2=2*10**-3
X_2=4.5*10**-3
X_m=1600
#Referring the shunt parameters to LV side

#Calculations
R_iLV=R_i/a**2
X_mLV=X_m/a**2
I_oLV=[V2/100.0,V2/16.0]
I_o=math.sqrt(I_oLV[0]**2+I_oLV[1]**2)
print(I_o,'I_o(A)')
print("pf = %.2f v " %pf)

(15.190786681406594, 'I_o(A)')
pf = 0.16 v


Example 3.10 Page No 165¶

In [29]:
import math
#initialisation of variables
#To find exciting current and expess impedence in pu in both HV and LV sides

V_BHV=2000.0
I_BHV=10.0
Z_BHV=V_BHV/I_BHV

V_BLV=200.0
I_BLV=100.0
Z_BLV=V_BLV/I_BLV

I_o=3.0
a=V_BHV/V_BLV

#Calculations
I_oLV=I_o/100
print(I_oLV,'I_o(LV)pu=')
I_oHV=I_o/(a*10)
print(I_oHV,'I_o(HV)pu=')

Z=complex(8.2,10.2)
ZHV=Z/Z_BHV
print(ZHV,'Z(HV)pu=')
z=Z/a**2
ZLV=z/Z_BLV
print(ZLV,'Z(LV)pu=')

(0.03, 'I_o(LV)pu=')
(0.03, 'I_o(HV)pu=')
((0.040999999999999995+0.051j), 'Z(HV)pu=')
((0.040999999999999995+0.051j), 'Z(LV)pu=')


Example 3.11 Page No 172¶

In [4]:
import math
#initialisation of variables

V_2=200
I_2=100
pf=.8
P_o=V_2*I_2*pf             #power output

P_i=120.0
P_c=300.0
k=1

#Calculations
P_L=P_i+k**2*P_c             #total losses

n=1-(P_L/(P_o+P_L))
print("n percent = %.2f v " %(n*100))

K=math.sqrt(P_i/P_c)             #max efficiency

n_max=1-(2*P_i/(P_o*K+2*P_i))         #pf=.8

#Results
print("n_max percent = %.2f v " %(n_max*100))

n percent = 97.44 v
n_max percent = 97.68 v


Example 3.13, Page No 176¶

In [1]:
import math
#initialisation of variables
# Comparing all-day efficiencies for diff given load cycles

r=15.0              # kva rating
n_max=.98
pf=1.0
P_o=20.0
P_i=r*(1-n_max)/2
k=r*pf/P_o
P_c=P_i/(k**2)

def power(P_o,h):
k=P_o/20
P_c=P_i*P_o/r
W_o=P_o*h
W_in=(P_o+P_i+(k**2)*P_c)*h
return W_o,W_in

#(a)full load of 20kva 12hrs/day and no load rest of the day

#Calculations
a=[20,12]
W_oa=[0,0]
W_ina=[0,0]
[W_oa[0],W_ina[0]]=power(a[0],a[1])
aa=[0,12]
[W_oa[1],W_ina[1]]=power(aa[0],aa[1])
print(W_oa,'W_o(kWh) for a')
print(W_ina,'W_in(kWh) for a')

#(b)full load of 20kva 4hrs/day and .4 of full load rest of the day
b=[20,4]
W_ob=[0,0]
W_inb=[0,0]
[W_ob[0],W_inb[0]]=power(b[0],b[1])
bb=[8,20]
[W_ob[1],W_inb[1]]=power(bb[0],bb[1])
print(W_ob,'W_o(kWh) for b')
print(W_inb,'W_in(kWh) for b')

#Results

([240, 0], 'W_o(kWh) for a')
([244.2, 1.8000000000000016], 'W_in(kWh) for a')
(97.5609756097561, 'n_allday(a) in %age')
([80, 160], 'W_o(kWh) for b')
([81.39999999999999, 163.0], 'W_in(kWh) for b')
(98.19967266775778, 'n_allday(b) in %age')


Example 3.14, Page No 186¶

In [3]:
import math
#initialisation of variables

# To calculate volatage regulation, volatage at load terminals and operating efficiency

S=20*1000
V1=200
V2=2000
I1=S/V1
I2=S/V2
Rh=3
Xh=5.2
pf=0.8

#Calculations
phi=math.degrees(math.acos(pf))
Vrega=(Vha-V2)*100/V2
print(Vrega,'vol-reg lagging(%)')
Vregb=(Vhb-V2)*100/V2
v1=V11/I2
print(v1,'V_L(V)')
ploss=120+10*10*3
eff=(1-(ploss/(ploss+pop)))*100.0

#Results
print(eff,'eff(%)')

(2.759999999999991, 'vol-reg lagging(%)')
(194.48, 'V_L(V)')
(97.37145145947028, 'eff(%)')


Example 3.15, Page No 187¶

In [10]:
import math
#initialisation of variables
# To determine voltage regulation and efficiency
r=150*1000.0                     #rating in va
v1=2400.0
v2=240.0
a=v2/v1
R_hv=.2+.002/a**2
X_hv=.45+.0045/a**2
I_2fl=r/v2
pf=0.8        #lagging

#Calculations
phi=math.degrees(math.acos(pf))
I_2=I_2fl*a
V2=v1
vr=(vd/V2)*100
print(vr,'vol reg(%)')
V1=v1+vd
P_out=r*pf
P_c=(I_2**2)*R_hv         #copper loss
P_i=(V1**2)/10000
P_L=P_c+P_i
n=P_out/(P_out+P_L)
print(n*100,'eff(%)')
I_o=[0,0]
I2=[0,0]
I_o[0]=V1/(10*1000)
I_o[1]=-V1/(1.6*1000)        #inductive effect
I_1=I_o+I2
b=math.sqrt(I_1[0]**2+I_1[1]**2)
print(b,'I_1(A)')

#Results
print(pff,'pf')

(2.239583333333333, 'vol reg(%)')
(98.22813719947018, 'eff(%)')
(1.5530997008125598, 'I_1(A)')
(0.15799050110667276, 'pf')


Example 3.16, Page No 197¶

In [16]:
import math
#initialisation of variables
# to calculate voltage ratings,kva ratings and efficieny of autotransformer

AB=200.0
BC=2000.0
V_1=BC
print(V_1,'V_1(V)')
V_2=AB+BC
print(V_2,'V_2(V)')
r=20000             #rating of transformer
I_2=r/AB
I_1=I_2+10

#Calculations
rr=V_2*I_2/1000         #kva rating of autotransformer
print(rr,'kva rating')
ri=V_1*(I_1-I_2)/1000     #kva inductive
rc=rr-ri
print(ri,'kva transferred inductively')
print(rc,'kva transferred conductively')
W_c=120             #core loss
W_cu=300             #cu loss
W_t=W_c+W_cu         #total loss
pf=0.8
n=1-(W_t/W)

#Results
print(n*100,'eff(%)')

(2000.0, 'V_1(V)')
(2200.0, 'V_2(V)')
(220.0, 'kva rating')
(20.0, 'kva transferred inductively')
(200.0, 'kva transferred conductively')
(99.76136363636363, 'eff(%)')


Example 3.17, Page No 198¶

In [17]:
import math
#initialisation of variables
# To determine the rating and full load efficiency of autotransformer

#when used as transformer
v1=240.0
v2=120.0
r=12000.0
I1=r/v1
I2=r/v2

#Calculations
#when connected as autotransformer
V1=240.0
V2=v1+v2
rr=I2*V2
print(rr,'rating of autotransformer(va)')

pf=1
P_o=r*pf             #output power
n=.962            #efficiency at upf
P_L=P_o*(1-n)/n

pff=.85            #if pf=.85
Po=rr*pff
nn=1/(1+P_L/Po)

#Results
print(nn*100,'efficiency(%) at .85 pf is')

(36000.0, 'rating of autotransformer(va)')
(98.4745694673036, 'efficiency(%) at .85 pf is')


Example 3.18, Page No 198¶

In [19]:
import math
#initialisation of variables
# To calculate sec. line voltage, line current and output va

print('(a)Y/D conn')
V_LY=6600
V_PY=V_LY/math.sqrt(3)
a=12
V_PD=V_PY/a
V_LD=V_PD
print(V_LD,'sec line voltage(V)')

I_PY=10
I_PD=I_PY*a
I_LD=I_PD*math.sqrt(3)
print(I_LD,'sec. line current(A)')
r=math.sqrt(3)*V_LD*I_LD
print(r,'output rating(va)')

#Calculations
print('(b)D/Y conn')
I_LD=10
I_PD=I_LD/math.sqrt(3)
I_LY=I_PD*a
print(I_LY,'sec. line current(A)')
V_PD=6600
V_PY=V_PD/a
V_LY=V_PY*math.sqrt(3.0)

#Results
print(V_LY,'sec line voltage(V)')
r=math.sqrt(3)*V_LY*I_LY
print(r,'output rating(va)')

(a)Y/D conn
(317.5426480542942, 'sec line voltage(V)')
(207.84609690826525, 'sec. line current(A)')
(114315.3532995459, 'output rating(va)')
(b)D/Y conn
(69.2820323027551, 'sec. line current(A)')
(952.6279441628825, 'sec line voltage(V)')
(114315.3532995459, 'output rating(va)')


Example 3.19, Page No 223¶

In [4]:
import math
#initialisation of variables

# To compute all the currents and voltages in all windings of Y/D transformer

S=complex(500,100)         #load is 500MW and 100MVar
s=abs(S)
r=s/3         #MVA rating of each single ph transformer

V1=22         #D side
V2=345         #Y side
a=V2/(math.sqrt(3)*V1)         #voltage rating of each single phase
print('Y side')

#Calculations
V_AB=V_A-V_B
print(V_AB,'V_AB(V)')
V_BC=V_B-V_C
print(V_BC,'V_BC(V)')
V_CA=V_C-V_A
print(V_CA,'V_CA(V)')

IA=S/(3*V_A)
print(IA,'IA(A)')
IB=S/(3*V_B)
print(IB,'IB(A)')
IC=S/(3*V_C)
print(IC,'IC(A)')
print('D side')
V_ab=V_A/a
print(V_ab,'V_ab(V)')
V_bc=V_B/a
print(V_bc,'V_bc(V)')
V_ca=V_C/a
print(V_ca,'V_ca(V)')

I_ab=a*IA
I_bc=a*IB
I_ca=a*IC
Ia=I_ab-I_bc
print(Ia,'Ia(A)')
Ib=I_bc-I_ca

#Results
print(Ib,'Ib(A)')
Ic=I_ca-I_ab
print(Ic,'Ic(A)')

Y side
((298.77876430563134+172.50000000000003j), 'V_AB(V)')
((1.2789769243681803e-13-345j), 'V_BC(V)')
((-298.77876430563146+172.49999999999997j), 'V_CA(V)')
((0.8367395205646748+0.16734790411293496j), 'IA(A)')
((-0.5632972965142212+0.6409637291029529j), 'IB(A)')
((-0.2734422240504539-0.8083116332158876j), 'IC(A)')
D side
((22.000000000000004+0j), 'V_ab(V)')
((-10.999999999999996-19.052558883257653j), 'V_bc(V)')
((-11.00000000000001+19.052558883257646j), 'V_ca(V)')
((12.675796066340055-4.288071240791203j), 'Ia(A)')
((-2.624319405407383+13.121597027036948j), 'Ib(A)')
((-10.051476660932671-8.833525786245746j), 'Ic(A)')


Example 3.20, Page No 223¶

In [2]:
import math
#initialisation of variables
# to find the load voltage when it draws rated current from transformer

# here pu method is used
r=20         #kva rating of three 1-ph transformer
MVA_B=r*3/1000.0
v2=2*math.sqrt(3.0)         #in kv voltage base on hv side
v1=.2         #in kv voltage base on lv side

#Calculations
z1=complex(.0004,.0015)         #feeder impedence
Z1=z1*MVA_B/v1**2         # lv line(pu)
Z2=z2*MVA_B/v2**2         # hv line(pu)
z_T=complex(.82,1.02)
ZTY=z_T*MVA_B/v2**2         # star side(pu)

Ztot=Z1+Z2+ZTY
V1=1         #sending end voltage [pu]
I1=1         #rated current(pu)
pf=.8
V2v=V2*v1

#Results

(0.197692, 'load voltage(kv)')


Example 3.21, Page No 231¶

In [3]:
import math
#initialisation of variables
# to calculate fault currentin feeder lines,primary and secondary lines of receiving end transformers

r=60.0         #kva rating of 3-ph common base
s=200.0         #kva rating of 3ph transformer
#sending end
X_Tse=.06*r/s     #.06= reactance of transformer based on its own rating
#in 2 kv feeder
V_B=2000.0/math.sqrt(3)     #line to neutral
I_B=r*1000.0/(math.sqrt(3)*2000)
Z_B=V_B/I_B
X_feeder=0.7/Z_B         #feeder reactance=0.7

#Calculations
#receiving end
X_Tre=0.0051
X_tot=X_Tse+X_feeder+X_Tre
V_se=20/20
I_fc=V_se/X_tot     #feeder current

I_f=I_fc*I_B

#Results
print(I_f,'current in 2kv feeder(A)')
I_t1=I_f/math.sqrt(3)
print(I_t1,'current in 2kv winding of transformer(A)')
I_t2=I_t1*10
print(I_t2,'current in 200kv winding of transformer(A)')
I_l=I_t2*math.sqrt(3)

(515.4913117764517, 'current in 2kv feeder(A)')
(297.6190476190477, 'current in 2kv winding of transformer(A)')
(2976.190476190477, 'current in 200kv winding of transformer(A)')


Example 3.22, Page No 231¶

In [4]:
# To calculate voltage and kva rating of 1-ph transformer

V_p=33.0     #primary side voltage(V)
V_s=11.0     #secondary side voltage(V)

#Calculations
V_p1=V_p/math.sqrt(3)     #per ph primary side voltage(V)
V_p2=V_s/math.sqrt(3)     #per ph secondary side voltage(V)

r=6000.0     #kva rating 3-ph
s=r/3.0     #per phase

#Results
print('Y/Y conn')
print(V_p1,'primary side ph voltage(V)')
print(V_p2,'secondary side ph voltage(V)')
print(s,'kva rating of transformer')

print('Y/D conn')
print(V_p1,'primary side ph voltage(V)')
print(V_s,'secondary side ph voltage(V)')
print(s,'kva rating of transformer')

print('D/Y conn')
print(V_p,'primary side ph voltage(V)')
print(V_p2,'secondary side ph voltage(V)')
print(s,'kva rating of transformer')

print('D/D conn')
print(V_p,'primary side ph voltage(V)')
print(V_s,'secondary side ph voltage(V)')
print(s,'kva rating of transformer')

Y/Y conn
(19.05255888325765, 'primary side ph voltage(V)')
(6.3508529610858835, 'secondary side ph voltage(V)')
(2000.0, 'kva rating of transformer')
Y/D conn
(19.05255888325765, 'primary side ph voltage(V)')
(11.0, 'secondary side ph voltage(V)')
(2000.0, 'kva rating of transformer')
D/Y conn
(33.0, 'primary side ph voltage(V)')
(6.3508529610858835, 'secondary side ph voltage(V)')
(2000.0, 'kva rating of transformer')
D/D conn
(33.0, 'primary side ph voltage(V)')
(11.0, 'secondary side ph voltage(V)')
(2000.0, 'kva rating of transformer')


Example 3.23, Page No 231¶

In [6]:
import math
#initialisation of variables
# to calculate (a)reactance in ohms(b)line voltage,kva rating,series reactance for Y/Y   and Y/D conn

Xpu=0.12     # of 1-ph transformer

def Xohm(kv,MVA):
X=(Xpu*kv**2)/MVA
return X

print('(a)')
MVAa=75*10**-3
Vhv=6.6
Vlv=.4

#Calculations
Xhv=Xohm(Vhv,MVAa)
print(Xhv,'X(ohm)of hv side')
Xlv=Xohm(Vlv,MVAa)
print(Xlv,'X(ohm)of lv side')

print('(b)')
print('Y/Y')
MVAb=MVAa*3
Vhv=6.6*math.sqrt(3)
print(Vhv,'V_hv(kV)')
Vlv=.4*math.sqrt(3)
print(Vlv,'V_lv(kV)')
Xhv=Xohm(Vhv,MVAb)
print(Xhv,'X(ohm)of hv side')
Xlv=Xohm(Vlv,MVAb)
print(Xlv,'X(ohm)of lv side')

print('Y/D')
MVAb=MVAa*3
Vhv=6.6*math.sqrt(3)
print(Vhv,'V_hv(kV)')
Vlv=.4
print(Vlv,'V_lv(kV)')
Xhv=Xohm(Vhv,MVAb)

#Results
print(Xhv,'X(ohm)of hv side')
Xlv=Xohm(Vlv,MVAb)
print(Xlv,'X(ohm)of lv side')

(a)
(69.69599999999998, 'X(ohm)of hv side')
(0.25600000000000006, 'X(ohm)of lv side')
(b)
Y/Y
(11.431535329954588, 'V_hv(kV)')
(0.6928203230275509, 'V_lv(kV)')
(69.69599999999998, 'X(ohm)of hv side')
(0.256, 'X(ohm)of lv side')
Y/D
(11.431535329954588, 'V_hv(kV)')
(0.4, 'V_lv(kV)')
(69.69599999999998, 'X(ohm)of hv side')
(0.08533333333333334, 'X(ohm)of lv side')


Example 3.24, Page No 231¶

In [9]:
import math
#initialisation of variables
#find how 2 transformers connected in parallel share the load

Z1=complex(.012,.06)
Z2=2*complex(.014,.045)
Z=Z1+Z2
r=800         #kva rating
pf=.8

#Calculations
S_1=S_L*Z2/Z
S_2=S_L*Z1/Z

S_2rated=300
S_Lmax=S_2rated*abs(Z)/abs(Z1)

r1=600         #kva
V=440
Z1actual=Z1*V/(r1*1000/V)
Z2actual=Z2*V/(r1*1000/V)
Zactual=Z1actual+Z2actual
Z_Lact=V**2/(S_L*1000)

V1=445
I1=(V1*Z2actual-10*Z_Lact)/(Z1actual*Z2actual+Z_Lact*Zactual)
I2=(V1*-1*Z1actual-10*Z_Lact)/(Z1actual*Z2actual+Z_Lact*Zactual)
S1=V*I1/1000
print(S1,'kVA of first transformer')
S2=V*I2/1000.0

#Results
print(S2,'kVA of second transformer')
print(Pout,'total output power(kW)')

((372.3153526970954-404.18257261410787j), 'load by first transformer(kVA)')
(761.1352856601269, 'max load by both transformer(kVA)')
((328.8923360471516-318.290570499325j), 'kVA of first transformer')
((-271.1465723386868+316.1011277711098j), 'kVA of second transformer')
(600.0389083858385, 'total output power(kW)')


Example 3.25, Page No 231¶

In [10]:
import math
#initialisation of variables
#find pu value of the equivalent ckt,steady state short ckt current and voltages

r=5.0         #MVA rating
V_Bp=6.35     #for primary
I_Bp=r*1000/V_Bp
V_Bs=1.91     #for secondary
I_Bs=r*1000/V_Bs
#from resp tests
V1=.0787
I1=.5
V2=.1417
I2=.5
V3=.1212
I3=.5

#Calculations
X12=V1/I1
X13=V2/I2
X23=V3/I3
X1=I1*(X12+X13-X23)
X2=I2*(X23+X12-X13)
X3=I3*(X13+X23-X12)
print(X1,'X1(pu)')
print(X2,'X2(pu)')
print(X3,'X3(pu)')

V1=1
I_sc=V1/X13
I_scp=I_sc*I_Bp
print(I_scp,'sc current primary side(A)')
I_sct=I_sc*r*1000.0*1000/(400/math.sqrt(3.0))

#Results
print(I_sct,'sc current tertiary side(A)')
V_A=I_sc*X3
V_Aact=V_A*1.91*math.sqrt(3)
print(V_Aact,'V_A(actual) line to line(kV)')

(0.09919999999999998, 'X1(pu)')
(0.05820000000000003, 'X2(pu)')
(0.18420000000000003, 'X3(pu)')
(2778.410637978651, 'sc current primary side(A)')
(76396.03067964349, 'sc current tertiary side(A)')
(2.1502243444618827, 'V_A(actual) line to line(kV)')


Example 3.26, Page No 231¶

In [3]:
import math
#initialisation of variables
# to calculate line currents of 3 ph side

N1=6600.0
N2=100.0
a=N1/N2
b=(math.sqrt(3)/2)*a
P=400.0     #kW
pfa=.707
pfb=1
V=100

#Calculations
Ia=P*1000/(V*pfa)
Ib=P*2*1000/(V*pfb)
I_A=Ia/b
print(I_A,'I_A(A)')
I_BC=Ib/a
I_B=I_BC-49.5*complex(pfa,pfa)

#Results
print(abs(I_B),'I_B(A)')
I_C=I_BC+49.5*complex(pfa,-1*pfa)
print(abs(I_C),'I_C(A)')

(98.98423028410711, 'I_A(A)')
(93.04777457436566, 'I_B(A)')
(160.08088066112694, 'I_C(A)')


Example 3.27, Page No 231¶

In [15]:
import math
#initialisation of variables
#to calculate magnitude and phase of secondary current

X1=505.0     #uohm
X2=551.0     #uohm
R1=109.0     #uohm
R2=102.0     #uohm
Xm=256.0     #mohm
I1=250.0     #A

#Calculations
I22=complex(0,Xm*1000)*I1/(complex(R1,X2+Xm*1000))
N1=250.0
N2=5.0
I2=I22*(N2/N1)
print(abs(I2),'current magnitude(A)')
print(math.degrees(math.atan((I2.imag)/(I2.real))),'phase(degree)')
print('now Rb is introduced in series')
Rbb=200     #uohm
Rb=(N2/N1)**2*Rbb
I22=complex(0,Xm*1000)*I1/(complex((R1+Rb),X2+Xm*1000))
I2=I22*(N2/N1)

#Results
print(abs(I2),'current magnitude(A)')
print(math.degrees(math.atan((I2.imag)/(I2.real))),'phase(degree)')
print('no chnage as Rb is negligible')

(4.989260944110411, 'current magnitude(A)')
(0.02434307249297878, 'phase(degree)')
now Rb is introduced in series
(4.989260943449164, 'current magnitude(A)')
(0.024360938966050547, 'phase(degree)')
no chnage as Rb is negligible


Example 3.28, Page No 231¶

In [17]:
import math
#initialisation of variables
#to calculate sec voltage magnitude and ph

a=6000.0/100     #turn ratio
R1=780.0
R2=907.0
X1=975.0
X2=1075.0
Xm=443.0*1000
print('sec open')
#Zb=inf
V1=6500.0

#Calculations
V22=complex(0,Xm)*V1/complex(R1,Xm)
V2=V22/a
print(abs(V2),'voltage magnitude(V)')
print(math.degrees(math.atan((V2.imag)/(V2.real))),'phase(deg)')

print('when Zb=Rb')
Rb=1
Rbb=Rb*a**2
Zm=complex(0,Xm/1000)*Rbb/complex(0,Xm/1000)+Rbb
R=complex(R1/1000,X1/1000)+Zm
Vm=Zm*V1/R
V2=Vm/a
print(abs(V2),'voltage magnitude(V)')
print(math.degrees(math.atan((V2.imag)/(V2.real))),'phase(deg)')

print('when Zb=jXb')
Rb=complex(0,1)
Rbb=Rb*a**2
Zm=complex(0,Xm/1000)*Rbb/complex(0,Xm/1000)+Rbb
R=complex(R1/1000,X1/1000)+Zm
Vm=Zm*V1/R
V2=Vm/a

#Results
print(abs(V2),'voltage magnitude(V)')
print(math.degrees(math.atan((V2.imag)/(V2.real))),'phase(deg)')

sec open
(108.33316540930123, 'voltage magnitude(V)')
(0.10088185516424111, 'phase(deg)')
when Zb=Rb
(108.32159750052864, 'voltage magnitude(V)')
(-0.007757962982324285, 'phase(deg)')
when Zb=jXb
(108.31866454530893, 'voltage magnitude(V)')
(0.006206202333075708, 'phase(deg)')


Example 3.29, Page No 231¶

In [18]:
import math
#initialisation of variables
#to calculate L1 and L2 and coupling cofficient

a=10.0
V_p=200.0
I_p=4.0
Xm=V_p/I_p
f=50

#Calculations
L1=Xm/(2*math.pi*f)
print(L1,'L1(H)')
V_s=1950.0
w_max=V_s/(math.sqrt(2)*math.pi*f)
M=w_max/(math.sqrt(2)*I_p)

v_s=2000
i_s=.41
w_max=math.sqrt(2)*i_s*M
E1=math.sqrt(2)*math.pi*f*w_max
L2=v_s/(math.sqrt(2)*math.pi*f*math.sqrt(2)*i_s)

#Results
print(L2,'L2(H)')
k=M/(math.sqrt(L1)*math.sqrt(L2))
print(k,'coupling coeff')

(0.15915494309189535, 'L1(H)')
(15.527311521160522, 'L2(H)')
(0.9871122656516838, 'coupling coeff')


Example 3.30, Page No 231¶

In [19]:
import math
#initialisation of variables
# to calculate leakage inductance, magnetisisng inductance,mutual inductance and self-inductance

V1=2400.0
V2=240.0
a=V1/V2
R1=.2
X1=.45
Rl=10000.0
R2=2*10**-3
X2=4.5*10**-3
Xm=1600.0
f=50.0

#Calculations
l1=X1/(2*math.pi*f)
print(l1,'leakage inductance ie l1(H)')
l2=X2/(2*math.pi*f)
print(l2,'l2(H)')
Lm1=Xm/(2*math.pi*f)
print(Lm1,'magnetising inductance(H)')
L1=Lm1+l1
print(L1,'self-inductance ie L1(H)')
M=Lm1/a
L2=l2+M/a
print(L2,'L2(H)')
k=M/math.sqrt(L1*L2)

#Results
print(k,'coupling factor')

(0.001432394487827058, 'leakage inductance ie l1(H)')
(1.4323944878270581e-05, 'l2(H)')
(5.092958178940651, 'magnetising inductance(H)')
(5.094390573428478, 'self-inductance ie L1(H)')
(0.050943905734284776, 'L2(H)')
(0.9997188290793214, 'coupling factor')


Example 3.31, Page No 231¶

In [22]:
import math
#initialisation of variables
#to calculate %voltage reg and efficiency

P=500000.0
V1=2200.0
V2=1100.0
V0=110.0
I0=10.0
P0=400.0

#Calculations
Y0=I0/V0
Gi=P0/(V0**2)
Bm=math.sqrt(Y0**2-Gi**2)
Vsc=90
Isc=20.5
Psc=808
Z=Vsc/Isc
R=Psc/Isc**2
X=math.sqrt(Z**2-R**2)
TR=V1/V2
Gi_HV=Gi/TR**2
Bm_HV=Bm/TR**2
R_LV=R/TR**2
X_LV=X/TR**2
I2=P/V2
pf=.8
Th=math.acos(pf)
dV=I2*(R_LV*math.cos(Th)+X_LV*math.sin(Th))
VR=(dV/V2)*100
print(VR,'voltage regulation(%)')
Pi=P0
Pc=Psc
n=P*100/(P+Pi+Pc)

#Results
print(n,'eff(%)')

(40.35372116523329, 'voltage regulation(%)')
(99.75898229876618, 'eff(%)')