Chapter 02 : Magnetic Circuits and Induction

Example 2.1, Page No 148

In [1]:
import math
#initialisation of variables
U_o=4*math.pi*10**-7
U_r=6000
l_g=0.0006
l_c=.40
A_c=.04*.04
B_c=1.2
N=600

#Calculataions
i=(1/(U_o*N))*(((B_c*l_c)/U_r)+(B_c*l_g))
phi=B_c*A_c
lmda=N*phi
A_g=(.04+l_g)**2
B_g=phi/A_g

#Results
print("Neglecting fringing,current(A)=%.2f ohm" %i)
print("Flux(Wb)=%.4f " %phi)
print("Flux linkages(Wb-turns)=%.2f " %lmda)
print("Fringing taken into account,current(A)=%.2f " %B_g)
Neglecting fringing,current(A)=1.06 ohm
Flux(Wb)=0.0019 
Flux linkages(Wb-turns)=1.15 
Fringing taken into account,current(A)=1.16 

Example 2.2, Page No 149

In [4]:
import math
#initialisation of variables
#Calculation of current reqd to produce flux in the given magnetic circuit.

U_o=4*math.pi*10**-7
U_r=4000
N=600
l_c=.30
l_g=0
dia=.02
phi=.5*10**-3        #flux

#Calculations
A=(math.pi/4)*dia**2
i=0;
R=((l_c/U_r)+l_g)/(U_o*A)
i=(phi*R)/N

print("no air gap current(A) =%.4f " %i)
#l_g=0.001
R=((l_c/U_r)+l_g)/(U_o*A)
i=(phi*R)/N
print("no air gap current(A) =%.4f " %i)

B_g=phi/A
print("B(T) =%.4f " %B_g)
H_g=B_g/U_o

AT_g=H_g*0.001

print("AT_g =%.4f " %AT_g)

H_c=3000
AT_c=H_c*0.30
print("AT_c =%.4f " %AT_c)

i=(AT_g+AT_c)/N

#Results
print("from magnetisation data, current(A) =%.4f " %i)
no air gap current(A) =0.1583 
no air gap current(A) =0.1583 
B(T) =1.5915 
AT_g =1266.5148 
AT_c =900.0000 
from magnetisation data, current(A) =3.6109 

Example 2.3, Page No 149

In [7]:
import math
#initialisation of variables
#Determination of mmf of the exciting coil

U_o=4*math.pi*10**-7
A1=.0001
A2=.0002
l1=.025*10**-2
l2=.02*10**-2
phi=.75*10**-3

#Calculations
def reluctance(l,U_r,A):
	Re=l/(U_o*U_r*A)
	return Re

def mmf(R1,R2,R3):
	Ni=phi*(R3+((R1*R2)/(R1+R2)))
	return Ni

R_g1=reluctance(l1,1,A1)
R_g2=reluctance(l2,1,A1)
R_g3=reluctance(l2,1,A2)
print("when U_r=1,mmf(AT) =%.4f " %mmf(R_g1,R_g2,R_g3))
L1=l1*2*10**3
L2=l2*10**3
R_c1=reluctance(L1,5000,A1)
R_c2=reluctance(L1,5000,A1)
R_c3=reluctance(L2,5000,A2)

#Results
print("when U_r=5000,mmf(AT) =%.4f " %mmf(R_c1+R_g1,R_c2+R_g2,R_c3+R_g3))
when U_r=1,mmf(AT) =1259.9766 
when U_r=5000,mmf(AT) =1680.3089 

Example 2.4 Page No 150

In [2]:
import math
#initialisation of variablesimport math
# Exciting current calculation needed to setup reqd flux

U_o=4*math.pi*10**-7
A1=800*10**-6
A2=600*10**-6
l1=1*10**-3            #air gap length
l2=160*10**-3          #length of central limb
l3=400*10**-3          #length of side limb
phi=.8*10**-3
N=500

#Calculations
def fd(A):
	B=phi/A
	return B

def mmf(l,B):
	F=l/B
	return F

#air gap
B_g=fd(A1)
F_g=mmf(l1,B_g)/U_o
print("F_g(AT) =%.4f " %F_g)
#central limb
B_c=B_g
F_c=mmf(l2,B_c)/10**-3
print("F_c(AT)=%.4f " %F_c)
#outer limb                flux is divided into half
B_o=fd(A2)/2
F_o=mmf(l3,B_o)/(4*10**-3)
print("F_o(AT)=%.4f " %F_o)
i=(F_g+F_c+F_o)/N            #    total mmf/no of turns

#Results
print("exciting current(A)=%.4f " %i)
F_g(AT) =795.7747 
F_c(AT)=160.0000 
F_o(AT)=150.0000 
exciting current(A)=2.2115 

Example 2.5, Page No 151

In [4]:
import math
#initialisation of variables
# determination of excitation coil mmf
U_o=4*math.pi*10**-7 
A1=25*10**-4 
A2=12.5*10**-4 
A3=25*10**-4 
l1=.5             #length of side limb(ab+cd)
l2=.2           #length of central limb(ad)
l3=.5             #length of side limb(dea)
l4=.25*10**-3           #length of air gap
phi=.75*10**-3 
N=500 

#Calculations
def fd(A):
	B=phi/A
	return B
	
def flux(B,l):
	F=B*l/(U_o)
	return F
	
def fl(H,l):
	f=H*l
	return f

B_abcd=fd(A1) 
F_bc=flux(B_abcd,l4) 
print("B_abcd(T) =%.4f " %B_abcd)
H_ab=200                         #for cast iron for B=0.3
F_abcd=fl(H_ab,l1) 
F_ad=F_abcd+F_bc 
H_ad=F_ad/l2 
print("H_ad(AT/m) =%.4f " %H_ad)
B_ad=1.04                        #for cast iron for H=800
phi_ad=B_ad*A2 
phi_dea=phi+phi_ad 
B_dea=phi_dea/A3 
H_dea=500                         #for cast iron for B=.82
F_dea=H_dea*l3 
F=F_dea+F_ad 

#Results
print("reqd mmf(AT) =%.4f " %F)
B_abcd(T) =0.3000 
H_ad(AT/m) =798.4155 
reqd mmf(AT) =409.6831 

Example 2.7, Page No 152

In [6]:
import math
#initialisation of variables
#determination of self and mutual inductance b/w 2 coils

U_o=4*math.pi*10**-7 
U_r=1600 
A1=4*10**-4 
A2=4*10**-4 
A0=2*10**-4 
N1=500 
N2=1000 

#Calculations
l1=.01*((6+0.5+1)*2+(4+2)) 
l2=.01*((3+0.5+1)*2+(4+2)) 
l0=.01*(4+2) 

def reluc(l,A):
	R=l/(U_o*U_r*A)
	return R
	
R1=reluc(l1,A1) 
R2=reluc(l2,A2) 
R0=reluc(l0,A0) 

def re(r0,r1,r2):
	re=r0+((r1*r2)/(r1+r2)) 
	return re

print('coil 1 excited with 1A') 
R_1=re(R1,R0,R2) 
phi1=N1/R_1 
phi2=phi1*R0/(R0+R2) 
L11=N1*phi1 
print("self inductance(H) =%.4f " %L11)
M21=N2*phi2 
print("mutual inductance(H) =%.4f " %M21)
print('coil 2 excited with 1A') 
R_2=re(R2,R0,R1) 
phi2=N2/R_2 
L22=N2*phi2 
print("self inductance(H) =%.4f " %L22)
M12=M21 

#Results
print("mutual inductance(H) =%.4f " %M12)
coil 1 excited with 1A
self inductance(H) =0.7267 
mutual inductance(H) =0.6460 
coil 2 excited with 1A
self inductance(H) =3.5529 
mutual inductance(H) =0.6460 

Example 2.8 Page No 163

In [7]:
import math
#initialisation of variables
#determination of R_c,R_g,L,W_f

U_o=4*math.pi*10**-7 
U_r=6000 
l_g=0.0006 
l_c=.40 
A_c=.04*.04 
B_c=1.2 
N=600 

#Calculations
def current(B_g):
	i=(1/(U_o*N))*(((B_c*l_c)/U_r)+(B_g*l_g))
	return i

print("neglecting fringing,current(A)= %.4f " %current(B_c))

phi=B_c*A_c 
print("flux(Wb)=%.4f " %phi)

def flux_linkage(phi):
	lmda=N*phi
	return lmda

print("flux linkages(Wb-turns)= %.4f " %flux_linkage(phi))

def reluc(l,U,A):
	R=l/(U_o*U*A)
	return R
R_c=reluc(l_c,U_r,A_c) 
print("R_c=%.4f " %R_c)
R_g=reluc(l_g,1,A_c) 
print("R_g=%.4f " %R_g)

L=N**2/(R_c+R_g) 
print("coil inductance(H)=%.4f " %L)
W_f=(N*phi)**2/(2*L) 

#Results
print("energy stored in the magnetic field(J)=%.4f " %W_f)
neglecting fringing,current(A)= 1.0610 
flux(Wb)=0.0019 
flux linkages(Wb-turns)= 1.1520 
R_c=33157.2798 
R_g=298415.5183 
coil inductance(H)=1.0857 
energy stored in the magnetic field(J)=0.6112