import math
#initialisation of variables
T=0.1*10**-3
f=1.0/T
k=15*10**-6 #k=th/w
#Calculations
th=2*math.pi*f*k
X_l=10.0
R=2.0
X_c=R*math.tan(th)+X_l
C=1/(2*math.pi*f*X_c)
#Results
print("value of C=%.3f uF" %(C*10**6))
import math
#initialisation of variables
V_s=230.0
#Calculations
V_01=2*V_s/(math.sqrt(2)*math.pi)
R=2.0
I_01=V_01/R
P_d=I_01**2*R
V=V_s/2
I_s=math.sqrt(2)*I_01/math.pi
P_s=V*I_s
#Results
print("power delivered to load=%.1f W" %P_d)
print("power delivered by both sources=%.1f W" %(2*P_s))
import math
#initialisation of variables
V_s=230.0
V_01=4*V_s/(math.pi*math.sqrt(2))
R=1.0
X_L=6.0
X_c=7.0
#Calculations
I_01=V_01/math.sqrt(R**2+(X_L-X_c)**2)
P=I_01**2*R
I_s=math.sqrt(2)*I_01*(2*math.cos(math.radians(45)))/math.pi
P_s=V_s*I_s
#Results
print("power delivered to the source=%.3f kW" %(P/1000))
print("\npower from the source=%.3f kW" %(P_s/1000))
import math
#initialisation of variables
V_01=230.0
R=2.0
I_01=V_01/R
I_m=I_01*math.sqrt(2)
I_T1=I_m/2
I_D1=0
X_L=8.0
X_C=6.0
#Calculations
I_01=V_01/math.sqrt(R**2+(X_L-X_C)**2)
phi1=math.degrees(math.atan((X_L-X_C)/R))
I_T1=I_T1*math.sqrt(2)*0.47675
I_D1=.1507025*I_m/math.sqrt(2)
#Results
print("when load R=2 ohm")
print("rms value of thyristor current=%.2f A" %I_T1)
print("rms value of diode current=%.0f A" %I_D1)
print("when load R=2ohm % X_L=8ohm and X_C=6ohm")
print("rms value of thyristor current=%.3f A" %I_T1)
print("rms value of diode current=%.3f A" %I_D1)
import math
#initialisation of variables
V_s=230.0
R=4.0
f=50.0
w=2*math.pi*f
L=0.035
#Calculations
C=155*10**-6
X_L=w*L
X_C=1/(w*C)
Z1=math.sqrt(R**2+(X_L-X_C)**2)
phi1=-math.degrees(math.atan((X_L-X_C)/R))
Z3=math.sqrt(R**2+(X_L*3-X_C/3)**2)
phi3=math.degrees(math.atan((X_L*3-X_C/3)/R))
Z5=math.sqrt(R**2+(X_L*5-X_C/5)**2)
phi5=math.degrees(math.atan((X_L*5-X_C/5)/R))
I_m1=4*V_s/(Z1*math.pi)
I_01=I_m1/math.sqrt(2)
I_m3=4*V_s/(3*Z3*math.pi)
I_m5=4*V_s/(5*Z5*math.pi)
I_m=math.sqrt(I_m1**2+I_m3**2+I_m5**2)
I_0=I_m/math.sqrt(2)
P_0=(I_0)**2*R
P_01=(I_01)**2*R
t1=(180-phi1)*math.pi/(180*w)
t1=(phi1)*math.pi/(180*w)
#Results
print("rms value of fundamental load current=%.2f A" %I_01)
print("load power=%.1f W" %P_0)
print("fundamental load power=%.1f W" %P_01)
print("rms value of thyristor current=%.3f A" %(I_m/2))
print("conduction time for thyristor=%.3f ms" %(t1*1000))
print("Conduction time for diodes=%.3f ms" %(t1*1000))
import math
#initialisation of variables
V_s=230.0
V_01=2*V_s/(math.sqrt(2)*math.pi)
R=10.0
#Calculations
I_01=V_01/R
P=I_01**2*R
V_or=math.sqrt((V_s/2)**2)
P=V_or**2/R
I_TP=V_s/(2*R)
I_or=I_TP
pf=I_01**2*R/(V_or*I_or)
DF=V_01/V_or
V_oh=math.sqrt(V_or**2-V_01**2)
THD=V_oh/V_01
V_03=V_01/3
HF=V_03/V_01
#Results
print("fundamental rms o/p voltage=%.3f V" %V_01)
print("fundamental power to load=%.1f W" %P)
print("total o/p power to load=%.1f W" %P)
print("avg SCR current=%.2f A" %(I_TP*180/360))
print("i/p pf=%.3f" %pf)
print("distortion factor=%.1f" %DF)
print("THD=%.3f" %THD)
print("harmonic factor=%.4f" %HF)
import math
#initialisation of variables
V_s=60
R=3.0
#Calculations
V_or=math.sqrt(V_s**2*math.pi/math.pi)
V_01=4*V_s/(math.sqrt(2)*math.pi)
P_o=V_or**2/R
P_01=V_01**2/R
I_s=V_s/R
I_avg=I_s*math.pi/(2*math.pi)
V_03=V_01/3
HF=V_03/V_01
V_oh=math.sqrt(V_or**2-V_01**2)
THD=V_oh/V_01
#Results
print("rms value of o/p voltage=%.0f V" %V_or)
print("o/p power=%.0f W" %P_o)
print("fundamental component of rms voltage=%.2f V" %V_01)
print("fundamental freq o/p power=%.2f W" %P_01)
print("peak current=%.0f A" %I_s)
print("avg current of each transistor=%.0f A" %I_avg)
print("peak reverse blocking voltage=%.0f V" %V_s)
print("harmonic factor=%.4f" %HF)
print("THD=%.4f" %THD)
import math
#initialisation of variables
V_s=220.0
R=6.0
f=50.0
w=2*math.pi*f
L=0.03
C=180*10**-6
X_L=w*L
X_C=1/(w*C)
#Calculations
V_or=math.sqrt(V_s**2*math.pi/math.pi)
V_01=4*V_s/(math.sqrt(2)*math.pi)
V_oh=math.sqrt(V_or**2-V_01**2)
THD=V_oh/V_01
print("THD of voltage=%.4f" %THD)
DF=V_01/V_or
Z1=math.sqrt(R**2+(X_L-X_C)**2)
phi1=-math.degrees(math.atan((X_L-X_C)/R))
Z3=math.sqrt(R**2+(X_L*3-X_C/3)**2)
phi3=math.degrees(math.atan((X_L*3-X_C/3)/R))
Z5=math.sqrt(R**2+(X_L*5-X_C/5)**2)
phi5=math.degrees(math.atan((X_L*5-X_C/5)/R))
Z7=math.sqrt(R**2+(X_L*7-X_C/7)**2)
phi7=math.degrees(math.atan((X_L*7-X_C/7)/R))
I_01=19.403
I_m1=4*V_s/(Z1*math.pi)
I_m3=4*V_s/(3*Z3*math.pi)
I_m5=4*V_s/(5*Z5*math.pi)
I_m7=4*V_s/(7*Z7*math.pi)
I_m=math.sqrt(I_m1**2+I_m3**2+I_m5**2+I_m7**2)
I_or=I_m/math.sqrt(2)
I_oh=math.sqrt((I_m**2-I_m1**2)/2)
THD=I_oh/I_01
DF=I_01/I_or
P_o=I_or**2*R
I_avg=P_o/V_s
t1=(180-phi1)*math.pi/(180*w)
t1=1/(2*f)-t1
I_p=I_m1
I_t1=.46135*I_p
#Results
print("\nDF=%.1f" %DF)
print("THD of current=%.4f" %THD)
print("DF=%.3f" %DF)
print("load power=%.1f W" %P_o)
print("avg value of load current=%.2f A" %I_avg)
print("conduction time for thyristor=%.0f ms" %(t1*1000))
print("conduction time for diodes=%.0f ms" %(t1*1000))
print("peak transistor current=%.2f A" %I_p)
print("rms transistor current=%.2f A" %I_t1)
import math
#initialisation of variables
V_s=450.0
R=10.0
#Calculations
I_or=math.sqrt((V_s/(3*R))**2*2/3+(2*V_s/(3*R))**2*1/3)
I_T1=math.sqrt((1/(2*math.pi))*((V_s/(3*R))**2*2*math.pi/3+(2*V_s/(3*R))**2*math.pi/3))
P=3*I_or**2*R
I_or=math.sqrt((1/(math.pi))*((V_s/(2*R))**2*2*math.pi/3))
I_T1=math.sqrt((1/(2*math.pi))*((V_s/(2*R))**2*2*math.pi/3))
P=3*I_or**2*R
#Results
print("for 180deg mode")
print("rms value of load current=%.3f A" %I_or)
print("power delivered to load=%.1f kW" %(P/1000))
print("rms value of load current=%.0f A" %I_T1)
print("for 120deg mode")
print("rms value of load current=%.3f A" %I_or)
print("rms value of load current=%.2f A" %I_T1)
print("power delivered to load=%.3f kW" %(P/1000))
import math
#initialisation of variables
V_s=230.0
R=10.0
f=50.0
w=2*math.pi*f
L=0.03
#Calculations
X_L=w*L
V_or=math.sqrt(V_s**2*math.pi/math.pi)
V_01=4*V_s/(math.sqrt(2)*math.pi)
Z1=math.sqrt(R**2+(X_L)**2)
phi1=-math.degrees(math.atan((X_L)/R))
Z3=math.sqrt(R**2+(X_L*3)**2)
phi3=math.degrees(math.atan((X_L*3)/R))
Z5=math.sqrt(R**2+(X_L*5)**2)
phi5=math.degrees(math.atan((X_L*5)/R))
Z7=math.sqrt(R**2+(X_L*7)**2)
phi7=math.degrees(math.atan((X_L*7)/R))
I_m1=4*V_s/(math.sqrt(2)*Z1*math.pi)
I_m3=4*V_s/(math.sqrt(2)*3*Z3*math.pi)
I_m5=4*V_s/(math.sqrt(2)*5*Z5*math.pi)
I_m7=4*V_s/(math.sqrt(2)*7*Z7*math.pi)
I_m=math.sqrt(I_m1**2+I_m3**2+I_m5**2+I_m7**2)
P=I_m**2*R
I_01=I_m1*math.sin(math.radians(45))
I_03=I_m3*math.sin(math.radians(3*45))
I_05=I_m5*math.sin(math.radians(5*45))
I_07=I_m7*math.sin(math.radians(7*45))
I_0=(I_01**2+I_03**2+I_05**2+I_07**2)
P=I_0*R
g=(180-90)/3+45/2
I_01=2*I_m1*math.sin(math.radians(g))*math.sin(math.radians(45/2))
I_03=2*I_m3*math.sin(math.radians(g*3))*math.sin(math.radians(3*45/2))
I_05=2*I_m5*math.sin(math.radians(g*5))*math.sin(math.radians(5*45/2))
I_07=2*I_m7*math.sin(math.radians(g*7))*math.sin(math.radians(7*45/2))
I_0=(I_01**2+I_03**2+I_05**2+I_07**2)
P=I_0*R
#Results
print("using square wave o/p")
print("power delivered=%.2f W" %P)
print("using quasi-square wave o/p")
print("power delivered=%.2f W" %P)
print("using two symmitrical spaced pulses")
print("power delivered=%.2f W" %P)
import math
#initialisation of variables
f=50.0
T=1/f
I=0.5
#Calculations
di=I/T #di=di/dt
V_s=220.0
L=V_s/di
t=20*10**-6
fos=2 #factor of safety
t_c=t*fos
R=10
C=t_c/(R*math.log(2))
#Results
print("source inductance=%.1f H" %L)
print("commutating capacitor=%.2f uF" %(C*10**6))
import math
#initialisation of variables
R=10.0
L=.01
C=10*10**-6
#Calculations
if (R**2)<(4*L/C) :
print("ckt will commutate on its own")
else:
print("ckt will not commutate on its own")
xie=R/(2*L)
w_o=1/math.sqrt(L*C)
w_r=math.sqrt(w_o**2-xie**2)
phi=math.degrees(math.atan(xie/w_r))
t=math.pi/w_r
V_s=1
v_L=V_s*(w_o/w_r)*math.exp(-xie*t)*math.cos(math.radians(180+phi))
v_c=V_s*(1-(w_o/w_r)*math.exp(-xie*t)*math.cos(math.radians(180-phi)))
di=V_s/L
#Results
print("voltage across inductor(*V_s)=%.5f V" %v_L)
print("voltage across capacitor(*V_s)=%.5f V" %v_c)
print("di/dt*V_s (for t=0)=%.0f A/s" %di)
import math
#initialisation of variables
L=0.006
C=1.2*10**-6
R=100.0
#Calculations
T=math.pi/math.sqrt(1/(L*C)-(R/(2*L))**2)
T_off=0.2*10**-3
f=1/(2*(T+T_off))
R=40
T=math.pi/math.sqrt(1/(L*C)-(R/(2*L))**2)
T_off=.2*10**-3
f=1/(2*(T+T_off))
R=140
T=math.pi/math.sqrt(1/(L*C)-(R/(2*L))**2)
T_off=.2*10**-3
f=1/(2*(T+T_off))
#Results
print("o/p freq=%.2f Hz" %f)
print("for R=40ohm")
print("upper limit o/p freq=%.1f Hz" %f)
print("for R=140ohm")
print("lower limit o/p freq=%.1f Hz" %f)
import math
#initialisation of variables
f=5000.0
w=2*math.pi*f
R=3.0
#Calculations
L=60*10**-6
xie=R/(2*L)
C=7.5*10**-6
w_o=1/math.sqrt(L*C)
w_r=math.sqrt(w_o**2-xie**2)
t_c=math.pi*(1/w-1/w_r)
fos=1.5
t_q=10*10**-6
f_max=1/(2*math.pi*(t_q*fos/math.pi+1/w_r))
#Results
print("ckt turn off time=%.2f us" %(t_c*10**6))
print("max possible operating freq=%.1f Hz" %f_max)
#Answers have small variations from that in the book due to difference in the rounding off of digits.
import math
#initialisation of variables
a=30.0
R=10.0
P=5000.0
#Calculations
V_s=math.sqrt(P*R*2*math.pi/(2*3)/(math.pi/3+math.sqrt(3)*math.cos(math.radians(2*a))/2))
V_ph=V_s/math.sqrt(3)
I_or=math.sqrt(P*R)
V_s=I_or*math.pi/(math.sqrt(2)*3*math.cos(math.radians(a)))
V_ph=V_s/math.sqrt(3)
#Results
print("per phase voltage V_ph=%.3f V" %V_ph)
print("for constant load current")
print("V_ph=%.2f V" %V_ph)
import math
#initialisation of variables
t=20.0
fos=2.0 #factor of safety
#Calculations
t_c=t*fos
n=1.0/3
R=20.0
C=n**2*t_c/(4*R*math.log(2))
#Results
print("value of capacitor=%.2f uF" %C)
#printing mistake in the answer in book.
import math
#initialisation of variables
V_s=220.0
V_p=math.sqrt(2)*V_s/3
V_L=math.sqrt(3)*V_p
V_p1=math.sqrt(2)*V_s/math.pi
V_L1=math.sqrt(3)*V_p1
V_oh=math.sqrt(V_L**2-V_L1**2)
#Calculations
THD=V_oh/V_L1
V_a1=2*V_s/math.pi
V_a5=2*V_s/(5*math.pi)
V_a7=2*V_s/(7*math.pi)
V_a11=2*V_s/(11*math.pi)
R=4.0
L=0.02
f=50
w=2*math.pi*f
Z1=math.sqrt(R**2+(w*L)**2)
Z5=math.sqrt(R**2+(5*w*L)**2)
Z7=math.sqrt(R**2+(7*w*L)**2)
Z11=math.sqrt(R**2+(11*w*L)**2)
I_a1=V_a1/Z1
I_a5=V_a5/Z5
I_a7=V_a7/Z7
I_a11=V_a11/Z11
I_or=math.sqrt((I_a1**2+I_a5**2+I_a7**2+I_a11**2)/2)
P=3*I_or**2*R
I_s=P/V_s
I_TA=I_s/3
#Results
print("rms value of phasor voltages=%.2f V" %V_p)
print("rms value of line voltages=%.2f V" %V_L)
print("fundamental component of phase voltage=%.3f V" %V_p1)
print("fundamental component of line voltages=%.3f V" %V_L1)
print("THD=%.7f" %THD)
print("load power=%.1f W" %P)
print("avg value of source current=%.3f A" %I_s)
print("avg value of thyristor current=%.3f A" %I_TA)