# Chapter 08 : Synchronous Machines¶

## Example 8.2, Page No 148¶

In [2]:
import math
#initialisation of variables
#to determine voltage regulation by mmf method

pf=0.85
P=150*10**6
V=13*1000.0

#Calculations
Iarated=P/(math.sqrt(3)*pf*V)
If=750
Ifocc=810
B=math.degrees(math.acos(pf))
Ef=16.3*1000
vr=Ef/V-1

#Results
print(vr*100,'voltage regulation(%)')
(25.384615384615383, 'voltage regulation(%)')

## Example 8.6, Page No 149¶

In [3]:
import math
#initialisation of variables
#to calculate the excitation emf

Vt=3300.0
Xs=18/3.0
pf=.707
P=800*1000

#Calculations
Ia=P/(math.sqrt(3)*Vt*pf)
a=Ia*Xs/math.sqrt(2)
b=Vt/math.sqrt(3.0)
Ef=math.sqrt((a+b)**2+a**2)*math.sqrt(3.0)

#Results
print(Ef,'excitation emf(V)(line)')
(4972.3367904266, 'excitation emf(V)(line)')

## Example 8.7, Page No 149¶

In [6]:
import math
#initialisation of variables

#to compute the max power and torque,terminal voltage

V=3300.0
Vt=V/math.sqrt(3)
P=1000*10**3
pf=1
Ia=P/(V*math.sqrt(3)*pf)
Xsm=3.24
j=math.sqrt(1.0)
Efm=Vt-j*Ia*Xsm
Efg=abs(Efm)
P_emax=3*Vt*Efg/Xsm
print(P_emax,'max power(W)')
p=24
f=50

#Calculations
w_sm=(120*f*2*math.pi)/(p*60)
Tmax=P_emax/w_sm
print(Tmax,'torque(Nm)')

Xsg=4.55
Efm=Vt-j*Ia*Xsg
Efmm=abs(Efm)
X=Xsm+Xsg
P_emax=3*Efg*Efmm/X
print(P_emax,'max power(W)')
Tmax=P_emax/w_sm
print(Tmax,'torque(Nm)')

d=90
Ia=(Efg-Efm)/(j*X)
v=j*Ia*Xsm
Vt=Efm+j*Ia*Xsm

#Results
print(abs(Vt)*math.sqrt(3),'line voltage(V)')
(2361111.1111111115, 'max power(W)')
(90187.80108540738, 'torque(Nm)')
(571722.5941289428, 'max power(W)')
(21838.194463906242, 'torque(Nm)')
(2153.0750379274127, 'line voltage(V)')

## Example 8.8 Page No 150¶

In [7]:
import math
#initialisation of variables
#max power supplied, power angle d, corresponding field current

j=math.sqrt(1)
r=100*10**6.0     #va
V=11000.0
P=100*10**6
Ef=1     #pu
Vth=1     #pu
Xs=1.3     #pu
Xth=.24     #pu

#Calculations
P_emax=Ef*Vth/(Xs+Xth)
print(P_emax,'max power delivered(pu)')

Pe=1
Vt=1
d=math.degrees(math.asin(Pe*Xth/(Vt*Vth)))
print(d,'power angle')
Vt=math.exp(j*d)
Ia=(Vt-Vth)/(j*Xth)
Ef=Vth+j*(Xs+Xth)*Ia
Voc=11000
If=256
Ff=19150
Iff=If*Ff/Voc

#Results
print(Iff,'If(A)')
(0.6493506493506493, 'max power delivered(pu)')
(13.88654036262899, 'power angle')
(445, 'If(A)')

## Example 8.9, Page No 152¶

In [10]:
import math
#initialisation of variables
#to calculate the generator current and its pf

j=math.sqrt(1)
X=.24
r=400.0     #rating in MVA
rr=600.0     #rating in MVA
Pe=r/rr
Vt=1
Vth=1
dl=math.degrees(math.asin(Pe*X/(Vt*Vth)))
V=24000

#Calculations
IaB=(rr/3.0)*10**6/(V/math.sqrt(3.0))
Iaa=Ia*IaB
print(Iaa,'generating current(A)')
phi=dl/2.0
print(pf,'power factor')

Pe=1
dl1=math.degrees(math.asin(Pe*X/(Vt*Vth)))
Iaa=Ia*IaB
print(Iaa,'generating current(A)')
phi=dl1/2.0
print(pf,'power factor')
Eff=abs(Ef)*V
dl2=math.degrees(math.atan(Ef.imag/Ef.real))

Xth=.24

#Results
print(Pe,'Pe(pu)')
(9653.646665937797, 'generating current(A)')
(0.9967740502090344, 'power factor')
(14540.391150848647, 'generating current(A)')
(0.9926663306370695, 'power factor')
(0.560889816748067, 'Pe(pu)')

## Example 8.10 Page No 163¶

In [11]:
import math
#initialisation of variables

r=60*10**3.0
Psc=3950.0
Isc=108.0

#Calculations
Raeff=Psc/(3*Isc**2)
print(Raeff,'effective armature resistance(ohm)')
V=400.0
Ifoc=2.85
Ifsc=1.21
I_SC=Isc*Ifoc/Ifsc
Zs=(V/math.sqrt(3))/I_SC
Xs=math.sqrt(Zs**2-Raeff**2)
print(Xs,'sync reactance(ohm)')

t1=25
t2=75
Rdc=0.075
Iarated=r/(math.sqrt(3.0)*V)
Pscc=Psc*(Iarated/Isc)**2
print(P,'armature loss(W)')
loss=Pscc-P
print(loss,'loss(W)')

print(a,'Rac/Rdc')

Pwf=900.0
print(Pwf,'windage and friction loss(W)')
tloss=2440
closs=tloss-Pwf
print(closs,'core loss(W)')
If=3.1
Rf=110
Pcu=If**2*Rf
print(Pcu,'field cu loss(W)')
b=loss+Pcu+closs+Pwf+P
print(b,'total loss(W)')

pf=0.8
op=r*pf
ip=op+b
eff=op/ip

#Results
print(eff,'efficiency')
(0.11288294467306813, 'effective armature resistance(ohm)')
(0.9008089329407498, 'sync reactance(ohm)')
(1687.5, 'armature loss(W)')
(852.3662551440325, 'loss(W)')
(1.5051059289742417, 'Rac/Rdc')
(900.0, 'windage and friction loss(W)')
(1540.0, 'core loss(W)')
(1057.1000000000001, 'field cu loss(W)')
(6036.966255144032, 'total loss(W)')
(0.8882808071304457, 'efficiency')

## Example 8.11, Page No 164¶

In [12]:
import math
#initialisation of variables
#to calculate net power op,eff,line current and pf

j=math.sqrt(1)
Zs=(1.0/3)*(.3+j*6)
phi=math.degrees(math.atan(Zs.imag/Zs.real))
Vt=400.0/math.sqrt(3.0)
Ef=600.0/math.sqrt(3.0)
Ia=a/abs(Zs)

#Calculations
print(Ia,'line current(A)')
B=math.degrees(math.acos((Vt**2+a**2-Ef**2)/(2*Vt*a)))
phi=90-(90-math.degrees(math.atan(Zs.imag/Zs.real)))-B
Ra=.1
b=Ia**2*Ra
loss=2400
Pmout=Pein-loss/3.0-b

#Results
print(Pmout,'net power op(W)')
eff=Pmout/Pein
print(eff*100,'efficiency(%)')
(54.98573992282153, 'line current(A)')
(-0.9999999999999998, 'pf')
(-13800.755857898721, 'net power op(W)')
(108.68095238095239, 'efficiency(%)')

## Example 8.12 Page No 165¶

In [15]:
import math
#initialisation of variables
#to find pf

j=math.sqrt(1)
Zs=.8+j*5
Vt=3300.0/math.sqrt(3)
Pein=800*10**3.0/3     #per ph
pf=.8

#Calculations
a=((abs(Zs)/Vt)*(Pein-Zs.real*(Vt/abs(Zs))**2))
b=((abs(Zs)/Vt)*(-Qe+(Zs.imag)*(Vt/abs(Zs))**2))

Ef=math.sqrt(a**2+b**2)

Pein=(1200.0/3)*1000
a=math.degrees(math.asin((abs(Zs)/(Vt*Ef))*(Pein-pf*(Vt/abs(Zs))**2)))

#Results
print(pf,'pf') d
(0.8329179992811746, 'pf')

## Example 8.13 Page No 165¶

In [3]:
import math
#to determine excitation emf, torque angle,stator current, pf, max power, kVAR delivered

j=math.sqrt(1)
P=10000.0
V=400.0
Ia=P/(math.sqrt(3)*V)
pf=.8
phi=math.degrees(math.acos(pf))
Vt=V/math.sqrt(3.0)
X=16
Ef=Vt+j*X*Iaa
print(abs(Ef),'excitation emf(V)')
dl=math.degrees(math.atan(Ef.imag/Ef.real))
print(dl,'torque angle')

#Calculations
Pe=P*pf
Eff=abs(Ef)*1.2
dl=(Pe/3)*X/(Eff*Vt)
ta=math.degrees(math.asin(dl))
print(ta,'torque angle')
print(abs(Ia),'stator current(A)')

Ef=413
Pemax=Ef*Vt/X
print(abs(Ia),'stator current(A)')

Qe=((Ia.imag)/(Ia.real))*Pe

#Results
print(Qe,'kVar delivered')
(438.17804600413285, 'excitation emf(V)')
(-18.434948822922003, 'torque angle')
(20.570777448577868, 'torque angle')
(20.003478706674613, 'stator current(A)')
(0.8165675681224028, 'pf')
(29.57394950937959, 'stator current(A)')
(0.48805644728523245, 'pf')
(-14306.739670518926, 'kVar delivered')

## Example 8.14 Page No 172¶

In [6]:
import math
#initialisation of variables
#to calculate armature current, pf ,power angle, power , shaft torques,kVar

j=math.sqrt(1)
P=8000.0
Prot=500.0
Pmg=P+Prot
Pein=Pmg
Ef=750.0/math.sqrt(3)
Vt=231
Xs=16.0
dl=math.degrees(math.asin(Xs*(Pein/3)/(Ef*Vt)))
Ia=(Vt-Eff)/(j*Xs)

#Calculations
print(abs(Ia),'armature current(A)')
f=50
p=4
n_s=120*f/p
w_s=2*math.pi*n_s/60
T=Pein/w_s
print(T,'torque developed(Nm)')
T_s=P/w_s
print(T_s,'shaft torques(Nm)')

Ef=600/math.sqrt(3)
Ia=(Vt-Ef)/(j*Xs)
rr=3*Vt*Ia/1000
print(rr,'kVar rating')
c=(abs(Ia)/Vt)/(2*math.pi*f)
print(-c,'capicator rating(F)')

Ef=300/math.sqrt(3)
Ia=(Vt-Ef)/(j*Xs)
rr=3*Vt*Ia/1000
print(-rr,'kVar rating')
L=(Vt/abs(rr))/(2*math.pi*f)
print(L,'inductor rating(H)')

Ia=j*2000/Vt
Ef=Vt-j*Ia*Xs

#Results
print(abs(Ef)*math.sqrt(3),'excitation(V)')
(15.629324184839682, 'armature current(A)')
(0.6197800073964136, 'pf')
(54.11268065124441, 'torque developed(Nm)')
(50.929581789406505, 'shaft torques(Nm)')
(-4.998702620565402, 'kVar rating')
(-9.939446800839497e-05, 'capicator rating(F)')
(-2.503242439717299, 'kVar rating')
(0.2937373645549075, 'inductor rating(H)')
(160.16596233973502, 'excitation(V)')

## Example 8.15, Page No 176¶

In [9]:
import math
#initialisation of variables
#find the excitation emf,mech power developed,pf

j=math.sqrt(1)
V=6600.0
Vt=V/math.sqrt(3)
r=4*10.0**6
Ia=r/(math.sqrt(3)*V)
Xs=4.8
#Vt**2+Ef**2-2*Vt*Efcosd(dl)=(Ia*Xs)**2
#after solving
#Ef**2-7.16*Ef+11.69=0
d=math.sqrt(b**2-4*a*c)
x1=(-b+d)/(2*a)
x2=(-b-d)/(2*a)
return x1,x2

Ef=[0,0]

#Calculations
dl=20.0
print(Ef[0],'excitation(kV)')
print(Pm,'power developed(MW)')
pf1=Pm*10**6/(math.sqrt(3)*V*Ia)
print(pf1,'pf1')

print(Ef[1],'excitation(kV)')
print(Pm,'power developed(MW)')
pf2=Pm*10**6/(math.sqrt(3)*V*Ia)

#Results
print(pf2,'pf2')
(4.641319932913728, 'excitation(kV)')
(3.780055563783382, 'power developed(MW)')
(0.9450138909458456, 'pf1')
(2.518680067086272, 'excitation(kV)')
(2.0513023748834374, 'power developed(MW)')
(0.5128255937208593, 'pf2')

## Example 8.16, Page No 186¶

In [10]:
import math
#initialisation of variables
#to find power angle,field current
j=math.sqrt(1.0)
V=400
Vt=V/math.sqrt(3.0)
pf=1.0
Ia=50.0
Xs=1.3

#Calculations
Ef=Vt-j*Ia*Xs
print(-math.degrees(math.atan(Ef.imag/Ef.real)),'power angle')

Pm=Vt*Ia*pf
pff=.8
Ia=Pm/(Vt*pff)
ang=math.degrees(math.acos(pff))
If=.9
Iff=If*Eff/abs(Ef)

#Results
print(Iff,'field current(A)')
(-0.0, 'power angle')
(1.7565442792743275, 'field current(A)')

## Example 8.17, Page No 187¶

In [1]:
import math
#initialisation of variables
#to calculate motor eff,excitation emf and power angle, max power op,corresponding net op

j=math.sqrt(1.0)
Sop=40*1000.0
Vt=600.0
Ra=0.8
Xs=8

Pst=2000.0
Pmnet=30*1000.0
Pm_dev=Pst+Pmnet
Ia=Sop/(math.sqrt(3)*Vt)
Poh=3*Ia**2*Ra
Pin=Pm_dev+Poh
eff=(1-(Poh+Pst)/Pin)*100
print(eff,'motor eff(%)')

#Calculations
cos_phi=Pin/(math.sqrt(3.0)*Vt*Ia)
phi=math.degrees(math.acos(cos_phi))
Vt=Vt/math.sqrt(3.0)
Za=Ra+Xs*j
Ef=Vt-Ia*Za
Ef_line=Ef*math.sqrt(3.0)
print(Ef_line,'excitation emf(V)')
delta=math.degrees(math.atan((Ef.imag)/(Ef.real)))
print(delta,'power angle(deg)')
IaRa=abs(Ia)*Ra
IaXs=abs(Ia)*Xs

Pm_out_gross=-((abs(Ef_mag))**2*Ra/(abs(Za))**2)+(Vt*abs(Ef_mag)/abs(Za))

#Results
print(Pm_out_gross,'max power op(W)')
power_angle=math.degrees(math.atan((Za.imag)/(Za.real)))
print(power_angle,'power angle(deg)')
(84.375, 'motor eff(%)')
(-190.24688522544741, 'excitation emf(V)')
(-0.0, 'power angle(deg)')
(24191.612053989564, 'max power op(W)')
(0.0, 'power angle(deg)')

## Example 8.18, Page No 197¶

In [2]:
import math
#initialisation of variables
#find the change in the poweer angle

Pe=4000.0
V=400
pf=.8

#Calculations
dl=math.degrees(math.acos(pf))
Ia=Pe/(math.sqrt(3.0)*V*pf)
Vt=V/math.sqrt(3.0)
Xs=25
a=math.degrees(math.atan((Ef.imag)/(Ef.real)))

dl=math.degrees(math.asin((Pe/3)*Xs/(Vt*abs(Ef))))
ang=dl+a

#Results
print(ang,'change in power angle(deg)')
(5.596898962201344, 'change in power angle(deg)')

## Example 8.19, Page No 198¶

In [3]:
import math
#initialisation of variables
#to find no of poles,MVA rating, prime mover rating and op torque

f=50.0
n_s=100.0
P=120*f/n_s
print(P,'no of poles')
r=110     #MVA rating
pf=.8

#Calculations
rr=r/pf
print(rr,'MVA rating')
eff=.971
rt=r/eff
print(rt,'prime mover rating(MW)')
T_PM=rt*1000*60/(2*math.pi*n_s)

#Results
print(T_PM,'op torque(Nm)')
(60.0, 'no of poles')
(137.5, 'MVA rating')
(113.28527291452112, 'prime mover rating(MW)')
(10817.946698316264, 'op torque(Nm)')

## Example 8.20, 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)')

#Calculations
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)')

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)
print(V_LY,'sec line voltage(V)')
r=math.sqrt(3)*V_LY*I_LY

#Results
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 8.23, Page No 231¶

In [11]:
import math
#initialisation of variables
#to calculate pu adjusted sync reactance, feild reactance, reactive power op, rotor power angle

j=math.sqrt(1.0)
r=10*10**6
V_SC=13.8*10**3
Ia=r/(math.sqrt(3.0)*V_SC)
If=226.0

#Calculations
Iff=842.0
I_SC=Ia*Iff/If

va_b=10*10**6
v_b=13800
print(Xspu,'Xs(pu)')
Ra=.75
a=90-math.degrees(math.atan((Zs.imag)/(Zs.real)))

pf=.9
phi=math.degrees(math.acos(pf))
Pe=8.75*10**6
Vt=V_SC/math.sqrt(3)
Ia=(Pe/3.0)/(Vt*pf)
Ef=abs(Ef)*math.sqrt(3)
If=Iff*Ef/V_SC
print(If,'field current(A)')
loss=3*abs(Ia)**2*Ra
Pmin=Pe+loss
print(Pmin,'reactive power op(W)')

If=842
Voc=7968
Pmin=Pmin/3
dl=math.degrees(math.asin((Pmin-(Zs.real)*(Voc/abs(Zs))**2)/((Voc**2/abs(Zs)))))+a

#Results
print(dl,'power angle')
print(Q,'reactive power op(VAR)')
(0.2684085510688836, 'Xs(pu)')
(1074.3932057155528, 'field current(A)')
(9122249.546858348, 'reactive power op(W)')
(44.00614893481687, 'power angle')
(-7524957.4047774, 'reactive power op(VAR)')

## Example 8.25, Page No 231¶

In [1]:
import math
#initialisation of variables
#to calculate the excitation emf,power angle

Vt=1.0
Ia=1.0
pf=.8
phi=math.degrees(math.acos(pf))
Xq=.5

#Calculations
j=math.sqrt(1)
Ef=Vt+j*Iaa*Xq

dl=17.1
w=phi+dl
Xd=.8
CD=Id*(Xd-Xq)
Eff=abs(Ef)+CD
Ef=Vt+j*Iaa*Xd

#Results
print(abs(Ef),'excitation emf(V)')
print(math.degrees(math.atan((Ef.imag)/(Ef.real))),'power angle')
(1.7088007490635064, 'excitation emf(V)')
(-16.313852426260553, 'power angle')

## Example 8.26, Page No 231¶

In [3]:
import math
#initialisation of variables
#calculate excitation emf

V=3300.0
Vt=V/math.sqrt(3.0)
pf=1
phi=math.degrees(math.acos(pf))
P=1500.0*1000

#Calculations
Ia=P/(math.sqrt(3.0)*V*pf)
Xq=2.88
Xd=4.01
w=math.degrees(math.atan((Vt*0-Ia*Xq)/Vt))
dl=phi-w

#Results
print(Ef*math.sqrt(3.0),'excitation emf(line)(V)')
(3739.5700468573696, 'excitation emf(line)(V)')

## Example 8.27, Page No 231¶

In [9]:
import math
#initialisation of variables
#to calculate generator terminal voltage,excitation emf,power angle

Xd=1.48
Xq=1.24
Xe=.1
Xdt=Xd+Xe
Xqt=Xq+Xe

MVA=1
Vb=1
pf=.9

#Calculations
phi=math.degrees(math.acos(pf))
#after solving
#Vt**2-.0870*Vt-.99=0
d=math.sqrt(b**2-4*a*c)
x1=(-b+d)/(2*a)
x2=(-b-d)/(2*a)
if x1 < Vb :
x=x2
else :
x=x1
return x
print(Vt,'terminal voltage(V)')
#after solving
phi=20

j=math.sqrt(1)
Ia=1
Ef=Vb+j*Iaa*Xqt
Eff=abs(Ef)
dl=math.degrees(math.atan((Ef.imag)/(Ef.real)))
print(dl,'power angle')
w=dl+phi
Ef=Ef+Id*(Xdt-Xqt)

#Results
print(abs(Ef),'excitation emf(V)')
(1.0394378745684894, 'terminal voltage(V)')
(-11.46760596259884, 'power angle')
(2.34011465088481, 'excitation emf(V)')

## Example 8.28, Page No 231¶

In [11]:
import math
#initialisation of variables
#to find max pu power, pu armature current, pu reactive power

Vt=1
Xd=1.02
Xq=.68
Pmmax=Vt**2*(Xd-Xq)/(2*Xd*Xq)
print(Pmmax,'max pu power')
dl=.5*math.degrees(math.asin(Pmmax/(Vt**2*(Xd-Xq)/(2*Xd*Xq))))

#Calculations
Ia=math.sqrt(Id**2+Iq**2)
print(Ia,'armature current(pu)')

print(Qe,'reactive power(pu)')

#Results
print(pf,'pf')
(0.2450980392156862, 'max pu power')
(1.249759684704114, 'armature current(pu)')
(1.2254901960784315, 'reactive power(pu)')
(0.196116135138184, 'pf')

## Example 8.29, Page No 231¶

In [1]:
import math
#initialisation of variables
#to calculate power angle,excitation emf,field current
j=math.sqrt(1.0)
MVA_b=300.0
kV_b=22.0

Pe=250.0/MVA_b
pf=.85
Vt=1

#Calculations
Ia=Pe/(pf*Vt)
phi=math.degrees(math.acos(pf))
Xq=1.16
Xd=1.93
Ef=Vt+j*Iaa*Xq
dl=math.degrees(math.atan((Ef.imag)/(Ef.real)))
print(dl,'power angle')
w=phi+dl
Ef=abs(Ef)+Id*(Xd-Xq)
print(Ef*kV_b,'excitation emf(V)')

If=338.0
If=If*Ef/1

#Results
print(If,'field current(A)')
(-16.941789546757967, 'power angle')
(49.48501576455793, 'excitation emf(V)')
(760.2697876554809, 'field current(A)')

## Example 8.30, Page No 231¶

In [2]:
import math
#initialisation of variables
#to find max andmin pu field excitation

Xd=.71
Xq=.58
Xe=.08
Xdt=Xd+Xe
Xqt=Xq+Xe

#Calculations
Pe=0
Vt=1
dl=0
phi=90
Ia=1
Iq=0
Id=Ia

Ef=Vt+Id*Xdt
Ifmax=Ef
print(Ifmax,'max field excitation(A)')

Ef=Vt-Id*Xdt
Ifmin=Ef

#Results
print(Ifmin,'min field excitation(A)')
(1.79, 'max field excitation(A)')
(0.21000000000000008, 'min field excitation(A)')

## Example 8.31, Page No 231¶

In [4]:
import math
#initialisation of variables
#to calculate synchronising power and torque coeff/deg mech shift

V=11000.0
Vt=V/math.sqrt(3)
P=6*10**6.0

#Calculations
Ia=P/(math.sqrt(3)*V)
ohm_b=Vt/Ia
Xs=.5
Xss=Xs*ohm_b

f=50.0
P=8.0
n_s=(120*f/P)*(2*math.pi/60)

Ef=Vt
dl=0
print(Psyn,'synchronising power(W)')
Tsyn=Psyn/n_s
print(Tsyn,'torque coeff(Nm)')

pf=.8
phi=math.degrees(math.acos(pf))
dl=math.degrees(math.atan((Ef.imag)/(Ef.real)))

#Results
print(Psyn,'synchronising power(W)')
Tsyn=Psyn/n_s
print(Tsyn,'torque coeff(Nm)')
(837758.0409572781, 'synchronising power(W)')
(10666.666666666666, 'torque coeff(Nm)')
(1172861.257340189, 'synchronising power(W)')
(14933.333333333328, 'torque coeff(Nm)')

## Example 8.32, Page No 231¶

In [6]:
import math
#to calculate syncronising power/elec deg,pu sync torque/mech deg

j=math.sqrt(1.0)
Xd=.8
Xq=.5
Vt=1
pf=.8
phi=math.degrees(math.acos(pf))

Ef=Vt-j*Ia*Xq
Eff=abs(Ef)

#Calculations
dl=math.degrees(math.atan((Ef.imag)/(Ef.real)))
w=-dl+phi
Ef=Eff+Id*(Xd-Xq)

print(Psyn*(math.pi/180),'syncronising power(pu)/elec deg')
f=50
P=12
n_s=(120*f/P)*(2*math.pi/60)
Tsyn=Psyn/n_s

#Results
print(Tsyn,'pu sync torque/mech deg')
(0.02617993877991495, 'syncronising power(pu)/elec deg')
(0.028647889756541166, 'pu sync torque/mech deg')

## Example 8.33, Page No 231¶

In [7]:
import math
#to calculate sync current, power and torque

j=math.sqrt(1.0)
P=12000.0
V=400.0
pf=.8
Ia=P/(math.sqrt(3)*V*pf)
phi=math.degrees(math.acos(pf))
Vt=V/math.sqrt(3)
Xs=2.5

#Calculations
tandl=4
Is=Es/Xs
print(Is,'sync current(A)')
dl=math.degrees(math.atan((Ef.imag)/(Ef.real)))
Ps=3*Vt*Is*math.cos(dl+tandl/2)
print(Ps,'power(W)')
n_s=25*math.pi
T_s=Ps/n_s

#Results
print(T_s,'torque(Nm)')
(152.2500120412367, 'sync current(A)')
(3657.484067729796, 'power(W)')
(46.568533492723965, 'torque(Nm)')

## Example 8.34, Page No 231¶

In [8]:
import math
#initialisation of variables
#to calculate value of syncpower

V=6600.0
E=V/math.sqrt(3.0)

P=12.0
dl=1.0*P/2

#Calculations
r=20000.0*10**3
I=r/(math.sqrt(3.0)*V)
Xs=1.65

Psy=dl*(math.pi/180.0)*E**2/Xs

#Results
print(Psy,'sync power(W)')
(921533.8450530063, 'sync power(W)')

## Example 8.35, Page No 231¶

In [9]:
import math
#initialisation of variables
#to determine op current and pf

P1=400.0*10**3
P2=400.0*10**3
P3=300.0*10**3
P4=800.0*10**3
pf1=1
pf2=.85
pf3=.8
pf4=.7

#Calculations
phi1=math.degrees(math.acos(pf1))
phi2=math.degrees(math.acos(pf2))
phi3=math.degrees(math.acos(pf3))
phi4=math.degrees(math.acos(pf4))
P=P1+P2+P3+P4
Q=Q1+Q2+Q3+Q4

I=100
pf=.9
V=6600.0
P_A=math.sqrt(3)*V*I*pf
P_B=P-P_A
Q_B=Q-Q_A
phi=math.degrees(math.acos(Q_B/P_B))
print(pf,'pf')
I_B=P_B/(math.sqrt(3.0)*pf*V)

#Results
print(I_B,'op current(A)')
(0.9077210377902825, 'pf')
(83.9540921749662, 'op current(A)')

## Example 8.36, Page No 231¶

In [10]:
import math
#initialisation of variables
#to find the pf and current supplied by the m/c

P=50000.0
pf=.8
phi=math.degrees(math.acos(pf))
P1=P/2
pf1=.9

#Calculations
phi1=math.degrees(math.acos(pf1))
P2=P/2
Q2=Q-Q1
phi2=math.degrees(math.atan(Q2/P2))
print(pf,'pf')
V_L=400.0
I2=P2/(math.sqrt(3)*V_L*pf)

#Results
print(I2,'current supplied by m/c(A)')
(0.8192319205190405, 'pf')
(44.04661356638744, 'current supplied by m/c(A)')

## Example 8.37, Page No 231¶

In [12]:
#to find initial current,current at the end of 2 cycles and at the end of 10s

Ef=1.0
Xd2=.2
I2=Ef/Xd2
r=100*10**6
V=22000.0

#Calculations
I_b=r/(math.sqrt(3)*V)
I2=I2*I_b
print(I2,'initial current(A)')

Xd1=.3
I1=Ef/Xd1
Xd=1
I=Ef/Xd

tau_dw=0.03
tau_f=1

def I_sc(t):
a=(I2-I1)*math.exp(-t/tau_dw)+(I1-I)*math.exp(-t/tau_f)+1
return a
#2 cycles=0.04s

#Results
print(I_sc(.2867)*I_b,'current at the end of 2 cycles(A)')
print(I_sc(10)*I_b,'current at the end of 10s(A)')
(13121.597027036949, 'initial current(A)')
(9656.315026038814, 'current at the end of 2 cycles(A)')
(2624.5974078796426, 'current at the end of 10s(A)')

## Example 8.39, Page No 231¶

In [13]:
import math
#initialisation of variables
#to calculate sync reactance,voltage regulation,torque angle, ele power developed, voltage and kva rating

r=1000.0*10**3
V=6600.0
Ia=r/(math.sqrt(3.0)*V)
pf=.75

#Calculations
phi=-math.degrees(math.acos(pf))
Vt=V/math.sqrt(3.0)
Ef=11400.0/math.sqrt(3)
#Ef*complex(cosd(dl),sind(dl))=Vt+j*Xs*Ia*complex(cosd(phi),sind(phi))
#after solving
#6.58*cosd(dl)=3.81+.058*Xs
#6.58*sind(dl)=.0656*Xs
#so after solving
#cosd(dl-phi)=.434
dl=math.degrees(math.acos(0.434))+phi

#Results
print(Xs,'sync reactance(ohm)')
vr=Ef*math.sqrt(3.0)/V-1
print(vr,'voltage regulation(%)')
print(dl,'torque angle(deg)')
print(P,'ele power developed(W)')

volr=V/math.sqrt(3)
print(volr,'voltage rating(V)')
ir=Ia*math.sqrt(3)
print(ir,'current rating(A)')
r=math.sqrt(3)*volr*ir
print(r,'VA rating')
(38.99116776362744, 'sync reactance(ohm)')
(0.7272727272727273, 'voltage regulation(%)')
(22.86869850821798, 'torque angle(deg)')
(749636.3636363635, 'ele power developed(W)')
(3810.5117766515305, 'voltage rating(V)')
(151.5151515151515, 'current rating(A)')
(999999.9999999999, 'VA rating')

## Example 8.40, Page No 231¶

In [15]:
import math
#initialisation of variables
#to determine m/c and pf

j=math.sqrt(1.0)
P=230.0*10**6
V=22000.0
pf=1.0

#Calculations
Ia=P/(math.sqrt(3)*V*pf)
Vt=V/math.sqrt(3)
Xs=1.2
Ef=Vt+j*Xs*Ia
#if Ef is inc by 30%
Ef=1.3*abs(Ef)

dl=math.degrees(math.asin((P/3.0)*Xs/(Ef*Vt)))
print(abs(Ia),'m/c current(A)')
P=275*10**6
dl=math.degrees(math.asin((P/3.0)*Xs/(Ef*Vt)))

#Results
print(abs(Ia),'m/c current(A)')
(11819.373430797657, 'm/c current(A)')
(0.8597700086643913, 'pf')
(12155.509739365927, 'm/c current(A)')
(0.8046772266804496, 'pf')

## Example 8.41, Page No 231¶

In [18]:
#to calculate excitation emf,torque angle, eff, shaft op
import math
#initialisation of variables

j=math.sqrt(1.0)
Va=.8
Xa=5.5
Xs=Va+j*Xa
V=3300.0
Ia=160.0
pf=.8
loss=30000.0

#Calculations
phi=math.degrees(math.acos(pf))
print(abs(Ef),'excitation emf(V)')
dl=math.degrees(math.atan((Ef.imag)/(Ef.real)))
print(dl,'torque angle(deg)')
op_sft=P_mech-loss
print(op_sft,'shaft op(W)')
Pip=math.sqrt(3.0)*V*Ia*pf
eff=op_sft/Pip

#Results
print(eff*100,'efficiency(%)')
(1254.2995269504831, 'excitation emf(V)')
(28.82797497778111, 'torque angle(deg)')
(217778.26111709396, 'shaft op(W)')
(29.76665191278476, 'efficiency(%)')

## Example 8.42, Page No 231¶

In [4]:
#to caculate generator current,pf, real power,ecitation emf
import math
#initialisation of variables

r=500.0*10**6
V=22000
Ia=r/(math.sqrt(3.0)*V)
print(Ia,'generator current(A)')
Vt=V/math.sqrt(3.0)
Zb=Vt/Ia
MVA_b=500.0
MW_b=500.0
Xsg=1.57
Xb=.4
Xb=Xb/Zb
rr=250.0
rr=rr/MVA_b
Vb=1
Vt=1
Ia=.5

#Calculations
phi=math.degrees(math.asin(Xb*Ia/2))
print(pf,'pf')
Pe=rr*pf
print(Pe,'real power(pu)')
Egg=abs(Eg)*V
print(Egg,'excitation emf(V)')

rr=500.0
rr=rr/MVA_b
Vb=1
Vt=1
Ia=1
phi=math.degrees(math.asin(Xb*Ia/2))
print(pf,'pf')
Pe=rr*pf
print(Pe,'real power(pu)')
Egg=abs(Eg)*V

#Results
print(Egg,'excitation emf(V)')
(13121.597027036949, 'generator current(A)')
(0.9946496442265089, 'pf')
(0.49732482211325446, 'real power(pu)')
(27016.768055398476, 'excitation emf(V)')
(0.9784230470709913, 'pf')
(0.9784230470709913, 'real power(pu)')
(40951.33209066587, 'excitation emf(V)')

## Example 8.43, Page No 231¶

In [6]:
#to  ulate pf angle, torque angle,equivalent capicitor and inductor value
import math
#initialisation of variables

of1=250.0
scr=0.52     #short ckt ratio
of2=of1/scr
r=25.0*10**6
V=13000.0

#Calculations
Ia=r/(math.sqrt(3.0)*V)
Isc=Ia*of1/of2
Xs=V/(math.sqrt(3.0)*Isc)
Xb=V/(math.sqrt(3.0)*Ia)

f=50.0
If=200.0
Ef=V*If/of1
Vt=V/math.sqrt(3.0)
Ia=(Vt-Ef/math.sqrt(3.0))/Xs
dl=0
print(dl,'torque angle(deg)')
pf=90.0
print(pf,'pf angle(deg)')
L=(V/(math.sqrt(3.0)*Ia))/(2*math.pi*f)
print(L,'inductor value(H)')

If=300.0
Eff=V*If/of1
Vt=Ef/math.sqrt(3.0)
Ia=(Eff/math.sqrt(3)-Vt)/Xs
dl=0
print(dl,'torque angle(deg)')
pf=90.0
print(pf,'pf angle(deg)')
c=1.0/((V/(Ia))*(2.0*math.pi*f))

#Results
print(c,'capacitor value(F)')
(0, 'torque angle(deg)')
(90.0, 'pf angle(deg)')
(0.2069014260194639, 'inductor value(H)')
(0, 'torque angle(deg)')
(90.0, 'pf angle(deg)')
(5.654655337659404e-05, 'capacitor value(F)')

## Example 8.44, Page No 231¶

In [8]:
#to determine Xs(saturated),scr,Xs(unsat)and If,generator current
import math
#initialisation of variables

MVA_b=400.0
kV_b=22.0

#Calculations
Ib=MVA_b/(math.sqrt(3.0)*kV_b)
ohm_b=kV_b/(math.sqrt(3.0)*Ib)

If=1120.0
Voc=kV_b/math.sqrt(3)
Isc=13.2
Xssat=Voc/Isc
print(Xssat,'Xs(saturated)(ohm)')
Xss=Xssat/ohm_b
print(Xss,'Xs(saturated)(pu)')
scr=1/Xss
print(scr,'SCR')
Isc=Ib
Voc=24.4/math.sqrt(3)
Xsunsat=Voc/Isc

#Results
print(Xsunsat,'Xs(unsaturated)(ohm)')
Xsuns=Xsunsat/ohm_b
print(Xsuns,'Xs(unsaturated)(pu)')
Iff=If*scr
print(Iff,'generator current(A)')
(0.9622504486493764, 'Xs(saturated)(ohm)')
(0.795248304668906, 'Xs(saturated)(pu)')
(1.257468886295005, 'SCR')
(1.342, 'Xs(unsaturated)(ohm)')
(1.109090909090909, 'Xs(unsaturated)(pu)')
(1408.3651526504057, 'generator current(A)')

## Example 8.45, Page No 231¶

In [4]:
import math
#initialisation of variables
#find motor pf

j=math.sqrt(1.0)
V=6600.0
Vt=V/math.sqrt(3.0)
pf=.8

#Calculations
phi=math.degrees(math.acos(pf))
P=800000.0
Ia=P/(math.sqrt(3)*V*pf)
Zs=complex(2,20)
Pip=1200*10**3.0
theta=math.degrees(math.atan((Zs.imag)/(Zs.real)))

phi=math.degrees(math.atan((Ia.imag)/(Ia.real)))

#Results
(0.9238712092836282, 'pf')

## Example 8.46, Page No 231¶

In [2]:
import math
#initialisation of variables
#to find exciting emf neglecting saliency and accounting saliency

j=math.sqrt(1.0)
Xd=.12/3
Xq=.075/3.0

print('neglecting saliency')
Xs=Xd
V=440.0
pf=.8

#Calculations
phi=math.degrees(math.acos(pf))
Vt=V/math.sqrt(3.0)
Ia=1000.0
print(abs(Ef)*math.sqrt(3),'excitation emf(line)(V)')
print('accounting saliency')
dl=w-phi

#Results
print(abs(Ef)*math.sqrt(3),'excitation emf(line)(V)')
neglecting saliency
(497.16652214438125, 'excitation emf(line)(V)')
accounting saliency
(443.9254541572264, 'excitation emf(line)(V)')

## Example 8.47, Page No 231¶

In [6]:
import math
#initialisation of variables
#calculate excitation emf,max load motor supplies, torque angle

Xd=23.2
Xq=14.5
V=6600.0
pf=.8
phi=math.degrees(math.acos(pf))
Vt=V/math.sqrt(3.0)
r=1500*1000.0

#Calculations
Ia=r/(math.sqrt(3.0)*V)
dl=-phi-w
print(dl,'torque angle')
print(Ef,'excitation emf(V)')

Pe=V**2*((Xd-Xq)/(2*Xd*Xq))

#Results
(-29.696320419057813, 'torque angle')
(3690.199749168095, 'excitation emf(V)')

## Example 8.49, Page No 231¶

In [1]:
import math
#initialisation of variables
#find no load freq setting,sys freq,at no load freq of swing generator, system trip freq

r=125.0
pf=.84

#Calculations
genfl=r*pf
n=3     #no of generators
m=-5/genfl
f=50
ff=f-m*sld
print(ff,'set freq(Hz)')
c=f-m*ls
print(c,'set freq(Hz) supplied from swing generator')
nld=sld+50/4
c=ff+m*nld
print(c,'new system freq(Hz)')
rld=310-n*sld
c=f-m*rld
print(c,'set freq(Hz) of swing generator')
nld=310.0/n
c=ff+m*nld

#Results
print(c,'system trip freq(Hz)')
(53.57142857142857, 'set freq(Hz)')
(51.666666666666664, 'set freq(Hz) supplied from swing generator')
(49.42857142857143, 'new system freq(Hz)')
(54.04761904761905, 'set freq(Hz) of swing generator')
(48.65079365079365, 'system trip freq(Hz)')