In [8]:

```
#Variable Declaration:
#given a 2-wire d.c. distributor cable AB
r = 0.01*2 #Resistance per 1000m of distributor
Va = 300 #p.d at point A(V)
AC = 500 #m
CD = 500 #m
DE = 600 #m
EB = 400 #m
#Calculation:
Rac = r*AC/1000 #Resistance of section AC
Rcd = r*CD/1000 #Resistance of section CD
Rde = r*DE/1000 #Resistance of section DE
Reb = r*EB/1000 #Resistance of section EB
Ieb = 50 #current in branch EB(A)
Ide = Ieb+200 #current in branch DE(A)
Icd = Ide+150 #current in branch CD(A)
Iac = Icd+100 #current in branch AC(A)
Vc = Va - Iac*Rac #P.D. at load point C(V)
Vd = Vc - Icd*Rcd #P.D. at load point D(V)
Ve = Vd - Ide*Rde #P.D. at load point E(V)
Vb = Ve - Ieb*Reb #P.D. at load point B(V)
#Result:
print "P.D. at load point C is",Vc,"V"
print "P.D. at load point D is",Vd,"V"
print "P.D. at load point E is",Ve,"V"
print "P.D. at load point B is",Vb,"V"
```

In [9]:

```
from sympy import *
#Variable declaration:
AB = 300 #m
AC = 40 #m
CD = 60 #m
DE = 50 #m
EF = 100 #m
FB = 50 #m
Vm = 10 #max. permissible volatge(V)
rho = 1.78*10**-8 #resistivity of cable(ohm)
#Calculation:
Iac = 220 #A
Icd = 190 #A
Ide = 150 #A
Ief = 50 #A
#Suppose that resistance of 100m length of the distributor is r ohms.
l = 100 #m
r = symbols('r')
Rac = AC*r/100 #ohm
Rcd = CD*r/100 #ohm
Rde = DE*r/100 #ohm
Ref = EF*r/100 #ohm
Vt = Iac*Rac+Icd*Rcd+Ide*Rde+Ief*Ref
r1 = solve(Vt-Vm,r)[0]
a = float(rho*l/(r1/2)) #cm**2
#Result:
print "X-sectional area of conductor is",round(a*10**4,3),"cm**2"
```

In [10]:

```
#Variable Declaration:
r1 = 0.25 #resistance of trolley wire(ohm/km)
r2 = 0.03 #resistance of of track(ohm/km)
V = 600 #sub-station voltage(V)
SA = 2 #km
AB = 4 #km
#Calculation:
R = r1+r2 #ohm/km
Isa = 40+20 #A
Iab = 20 #A
Vsa = Isa*R*SA #V
Vab = Iab*R*AB #V
Va = V-Vsa #Voltage across tram A
Vb = Va-Vab #Voltage across tram A
#Result:
print "Voltage across tram A is",Va,"V"
print "Voltage across tram B is",Vb,"V"
```

In [11]:

```
from __future__ import division
#Variable Declaration:
a = 0.27 #cross-sectional area of each conductor(cm**2)
V = 250 #supply voltage at point A(V)
rho = 1.78*10**-6 #Resistivity of the wire(ohm-cm)
AB = 75 #m
BC = 100 #m
CD = 50 #m
#Calculation:
Icd = 20 #curent in CD(A)
Ibc = 20+15 #current in BC(A)
Iab = 20+15+12 #current in AB(A)
R = round(rho*BC*100/a,3) #Single-core resistance of the section of 100 m length(ohm)
Rab = R*AB/100*2 #ohm
Rbc = R*BC/100*2 #ohm
Rcd = R*CD/100*2 #ohm
Vb = V-Iab*Rab #Voltage at tapping point B(V)
Vc = Vb-Ibc*Rbc #Voltage at tapping point C(V)
Vd = Vc-Icd*Rcd #Voltage at tapping point D(V)
#Result:
print "(i)The current in various sections of the conductor are:"
print "\tIcd =",Icd,"A \tIbc =",Ibc,"A\tIab =",Iab,"A"
print "\n(ii)The resistances of the various sections are :"
print "\tRab =",Rab,"ohm\tRbc =",Rbc,"ohm\t",Rcd,"ohm"
print "\n(iii)Voltage at tapping point B is",round(Vb,2),"V"
print " Voltage at tapping point C is",round(Vc,2),"V"
print " Voltage at tapping point D is",round(Vd,2),"V"
```

In [12]:

```
from __future__ import division
#Variable declaration:
i = 2 #A/m
l = 200 #length of distributor(m)
r1 = 0.3 #Resistance of single wire is 0·3 ohm/km.
x = 150 #m
#Calculation:
r = 2*r1/1000 #Resistance of distributor per metre run(ohm)
V = i*r*(l*x-x**2/2) #volt
I = i*l #Total current entering the distributor(A)
R = r*l #Total resistance of the distributor(ohm)
V1 = 1/2*I*R #Total drop over the distributor(V)
#Result:
print "(i)The voltage drop upto a distance of 150m from "
print "\tthe feeding point is",V,"V"
print "(ii)The maximum voltage drop is",V1,"V"
```

In [13]:

```
#Variable declaration:
i = 0.4 #A/m
l = 500 #length of distributor(m)
Vm = 10 #maximum permissible voltage drop(V)
rho = 1.7*10**-6 #ohm-cm
#Calculation:
I = i*l #Current entering the distributor(A)
#Let r ohm be the resistance per metre length of the distributor (both wires).
r = 2*Vm/(I*l) #resistance per metre length(ohm)
a = rho*100/(r/2) #Area of cross-section of the distributor conductor(ohm)
#Result:
print "The cross-sectional area of the distributor conductor is",a,"cm**2"
```

In [14]:

```
#Variable declaration:
i = 1.6 #A/m
l = 250 #length of distributor(m)
r1 = 0.0002 #Resistance of single wire is 0·3 ohm/m.
x = 150 #m
#Calculation:
I = i*l #Current entering the distributor(A)
r = 2*r1 #Resistance of the distributor per metre run
R = r*l #Total resistance of distributor(ohm)
V1 = 1/2*I*R #Voltage drop over the entire distributor(ohm)
#the voltage necessary at feed point to maintain 250 V at the far end
V2 = V1+250 #Voltage at feeding point(V)
#Voltage drop upto a distance of 150 metres from feeding point
V3 = i*r*(l*125-125**2/2) #Volt
##Voltage necessary to maintain 250V at the mid-point of the distributor.
V4 = 250+V3
#Result:
print "(i) Voltage drop over the entire distributor is",V2,"V"
print "(ii)The necessary voltage is",V4,"V"
```

In [15]:

```
#Variable declaration:
i = 0.75 #current loading(A/m)
l = 300 #distributor length(m)
x = 200 #m
r = 0.00018 #resistance of distributor(go and return)(ohm/m)
V = 250 #voltage fed at 1 end(V)
#Calculation:
V1 = i*r*(l*x-x**2/2) #Voltage drop(V)
#Voltage at a distance of 200 m from supply end
V2 = V-V1 #V
P = i**2*r*l**3/3 #Power loss in the distributor(W)
#Result:
print "Volatage at a distance of 200m is",V2,"V"
print "Power loss in the distributor is",P,"W"
```

In [16]:

```
from sympy import *
#Variable declaration:
AB = 600 #m
Va = 220 #end voltage(V)
a = 1 #cross-section of conductor(cm**2)
rho = 1.7*10**-6 #resistvity of conductor(ohm-cm)
#Calculation:
#Let Ia amperes be the current supplied from the feeding
#end A.
r = 2*rho*100/a #ohm
Rac = r*100 #ohm
Rcd = r*150 #ohm
Rde = r*150 #ohm
Ref = r*100 #ohm
Rfb = r*100 #ohm
#Voltage at B = Voltage at A − Drop over length AB
Ia = symbols('Ia')
Ia1 = solve(Va-(Ia*Rac+(Ia-20)*Rcd+(Ia-60)*Rde+(Ia-110)*Ref+(Ia-140)*Rfb)-Va,Ia)[0]
#We can see that currents are coming to load point E from
#both sides i.e. from point D and point F.
#So, E will be the point of minimum potential.
Ve = Va-(61.7*Rac+41.7*Rcd+1.7*Rde) #Minimum consumer voltage(V)
#Result:
print "Minimum consumer voltage is",round(Ve,2),"V"
```

In [17]:

```
from __future__ import division
from sympy import *
#Variable declaration:
AB = 200 #m
Va = 230 #1 end voltage(V)
Vb = 235 #2 end voltage(V)
r1 = 0.3 #The resistance per km of one conductor(ohm)
#Calculation:
#Let Ia amperes be the current supplied from the feeding
#end A.
r = 2*r1 #Resistance of 1000m length of distributor(both wires)
Rac = r*50/1000 #ohm
Rcd = r*25/1000 #ohm
Rde = r*25/1000 #ohm
Ref = r*50/1000 #ohm
Rfb = r*50/1000 #ohm
Ia = symbols('Ia')
Ia1 = round(solve(Va-(Ia*Rac+(Ia-25)*Rcd+(Ia-75)*Rde+(Ia-105)*Ref+(Ia-145)*Rfb)-Vb,Ia)[0],2)
Iac = Ia1 #Current in section AC(A)
Icd = Ia1-25 #Current in section CD(A)
Ide = Ia1-75 #Current in section DE(A)
Ief = Ia1-105 #Current in section EF(A)
Ifb = Ia1 -145 #Current in section FB(A)
#The currents are coming to load point D from both sides of
#the distributor. Therefore, load point D is the point of minimum potential.
Vd = Va-(Iac*Rac+Icd*Rcd) #volt
#Result:
print "(i) Currents in various sections of the distributor are:"
print "\tCurrent in section AC is",Iac,"A"
print "\tCurrent in section AC is",Icd,"A"
print "\tCurrent in section AC is",Ide,"A"
print "\tCurrent in section AC is",Ief,"A"
print "\tCurrent in section AC is",Ifb,"A"
print "\n(ii)Voltage at D is",round(Vd,3),"V"
```

In [18]:

```
from __future__ import division
from sympy import *
#Variable declaration:
AB = 600 #m
Va = 440 #1 end voltage(V)
Vb = 430 #2 end voltage(V)
r1 = 0.01 #The resistance per 100m of one conductor(ohm)
#Calculation:
#Let Ia amperes be the current supplied from the feeding
#end A.
r = 2*r1 #Resistance of 1000m length of distributor(both wires)
Rac = r*150/100 #ohm
Rcd = r*150/100 #ohm
Rde = r*50/100 #ohm
Ref = r*100/100 #ohm
Rfb = r*150/100 #ohm
Ia = symbols('Ia')
Ia1 = round(solve(Va-(Ia*Rac+(Ia-100)*Rcd+(Ia-300)*Rde+(Ia-550)*Ref+(Ia-850)*Rfb)-Vb,Ia)[0],2)
Iac = Ia1 #Current in section AC(A)
Icd = Ia1-100 #Current in section CD(A)
Ide = Ia1-300 #Current in section DE(A)
Ief = Ia1-550 #Current in section EF(A)
Ifb = Ia1-850 #Current in section FB(A)
Pl = Iac**2*Rac+Icd**2*Rcd+Ide**2*Rde+Ief**2*Ref+Ifb**2*Rfb #power loss(W)
#Result:
print "(i) The currents supplied from A to B are:\n\tIa =",Ia1,"A\tIb =",abs(Ifb),"A"
print "(ii) The power dissipated in the distributor is",round(Pl/1000,3),"kW"
```

In [19]:

```
from __future__ import division
from sympy import *
#Variable declaration:
Va = 600 #V
Vb = 590 #V
r = 0.04 #track resistance of go and return path(ohm/km)
AB = 6 #distance b/w the sub-stations(km)
#Calculation:
#Let min. potential occurs at point M at a distance x km from the substation A.
Ia,x = symbols('Ia x') #Ia is current supplied by the sub-station A
Ram = r*x #Track resistance for section AM(ohm)
Rmb = r*(AB-x) #Track resistance for section MB(ohm)
Vm = Va-Ia*Ram #Potential at M(V) ...(i)
Vm1 = Vb-(300-Ia)*Rmb #also,Potential at M(V) ...(ii)
#from (i) & (ii):
Ia = 341.7-50*x
Vm = Va-(341.7 - 50*x)*0.04*x
Vm2 = diff(Vm,x)
x1 = round(solve(Vm2,x)[0],2)
Ia1 = 341.7-50*x1 #A
Ib = 300-Ia1 #A
#Result:
print "(i) The point along the track where minimum potential occurs is",x1,"km"
print "(ii)Current supplied by sub-ation A is",Ia1,"A"
print " Current supplied by sub-station B is",Ib,"A"
```

In [20]:

```
from __future__ import division
#Variable declaration:
i = 0.5 #current loading(A/m)
l = 1000 #cable length(m)
V = 220 #end voltages(V)
r1 = 0.05 #Resistance of each of 2 conductors(ohm/km)
#Calculation:
r = 2*r1/1000 #ohm/m
I = i*l #A
R = r*l #ohm
Vm = I*R/8 #Max. voltage drop(V)
#Minimum voltage will occur at the mid-point of the distributor & its value is
Vmin = V-Vm #V
#Result:
print "The maximum voltage drop is",Vm,"V"
print "The minimum voltage is",Vmin,"V at the midpoint of the distributor."
```

In [21]:

```
from __future__ import division
#Variable declaration:
Va = 255 #Voltage at feeding point A(V)
Vb = 250 #Voltage at feeding point B(V)
l = 500 #Length of distributor(m)
i = 1 #Current loading(A/m)
r1 = 0.1 #resistance of each conductor(ohm/km)
#Calculation:
r = 2*r1/1000
#(i) Let the minimum potential occur at a point C distant x
# metres from the feeding point A.
x = (Va-Vb)/(i*r*l)+l/2 #m
Vc = Va-i*r*x**2/2 #minimum voltage(V)
#(ii)
ia = i*x #Current supplied from A(A)
ib = i*(l-x) #Current supplied from B(A)
#Result:
print "(i) The minimum voltage is",Vc,"V at",x,"m from point A"
print "(ii)Current supplied from A is",ia,"A"
print " Current supplied from B is",ib,"A"
```

In [22]:

```
from __future__ import division
#Variable declaration:
l = 800 #Length of distributor(m)
i = 1.25 #Current loading(A/m)
r1 = 0.05 #resistance of each conductor(ohm/km)
Vc = 220 #minimum voltage(V)
x = 450 #Distance of point C from A(m)
#Calculation:
r = 2*r1/1000
Vac = i*r*x**2/2 #Voltage drop in section AC(V)
Va = Vac+Vc #Voltage at feeding point A(V)
Vbc = i*r*(l-x)**2/2 #Voltage drop in section BC(V)
Vb = Vc+Vbc #Voltage at feeding point B(V)
#Result:
print "Voltage at feeding point A is",round(Va,2),"V"
print "Voltage at feeding point B is",round(Vb,2),"V"
```

In [23]:

```
from __future__ import division
#Variable declaration:
i = 1.25 #current loading (A/m)
l = 1000 #length of distributor(m)
r1 = 0.05 #resistance of each conductor(ohm/km)
#Calculation:
I = i*l #Total current fed to the distributor(A)
R = r*l #Total resistance of the distributor(ohm)
V = I*R/8 #Max. voltage drop(V)
#Result:
print "Maximum voltage drop in the distributor is",round(V,2),"V"
```

In [24]:

```
from __future__ import division
#Variable declaration:
l = 900 #distributor length(m)
Va = 400 #voltage fed at a A(V)
i = 0.5 #current loading(A/m)
r = 0.0001 #resistance of distributor per m (go and return)(ohm)
x = 500 #length AD(m)
#Calculation:
#Drops due to concentrated loads.
Iac = 300 #A
Icd = 250 #A
Ide = 150 #A
Vac = Iac*200*r #Drop in section AC(V)
Vcd = Icd*300*r #Drop in section CD(V)
Vde = Ide*300*r #Drop in section DE(V)
Vab1 = Vac+Vcd+Vde #Total drop over AB(V)
#Drops due to uniform loading:
Vab2 = i*r*l**2/2 #V
Vad = i*r*(l*x-x**2/2) #V
Vb = Va-(Vab1+Vab2) #V
Vd = Va-(Vac+Vcd+Vad) #V
#Result:
print "(i) Voltage at point B is",Vb,"V"
print "(ii)Voltage at point D is",Vd,"V"
```

In [25]:

```
from __future__ import division
from sympy import *
#Variable declaration:
r = 0.1*10**-3 #Distributor resistance per metre length
i = 0.5 #uniform current loading(A/m)
Va = 240 #end voltage at A(V)
Vb = 240 #end voltage at B(V)
l = 1000 #length of distributor(m)
#Calculation:
#(i) Point of minimum potential:
#We know that, the point of minimum potential is not affected
#by the uniform loading of the distributor.
#Considering the concentrated loads first as shown below:
I = symbols('I')
Iac = I
Icd = I-120
Ide = I-180
Ief = I-280
Ifb = I-320
I1 = solve((Iac*200+Icd*200+Ide*300+Ief*200+Ifb*100)*10**-4-Va+Vb,I)[0]
#Showing the current distributions, we can see that D is
#the point of minimum potential.
#(ii) The feeding point A will supply I1 A due to concentrated
# loading plus 0·5 × 400 = 200 A due to uniform loading.
Ia = I1+200 #Current supplied by A(A)
#The feeding point B will supply a current of 154 A due to
#concentrated loading plus 0·5 × 600 = 300 A due to uniform loading.
Ib = 320-I1+300 #Current supplied byB(A)
#(iii) We got that D is the point of minimum potential.
Iac = I1; Icd = I1-120 #ampere
Vad1 = Iac*200*10**-4+Icd*200*10**-4 #Drop in AD due to conc. loading(V)
AD = 400 #for uniform loading(V)
Vad2 = i*r*AD**2/2 #Drop in AD due to uniform. loading(V)
Vd = 240-Vad1-Vad2 #Minimum potential(V)
#Result:
print "(i) The point of minimum potential is D"
print "(ii) Current supplied by A is",round(Ia),"A"
print " Current supplied by B is",round(Ib),"A"
print "(iii)The value of minimum potential is",round(Vd,2),"V"
```

In [26]:

```
from __future__ import division
from sympy import *
#Variable declaration:
l = 500 #distributor length(m)
Va = 240 #voltage at end A(V)
Vb = 240 #voltage at end B(V)
R = 0.001 #resistance of the distributor(ohm/m)
i = 1 #current loading(A/m)
#Calculation:
#Let D be the point of minimum potential
x = symbols('x') #x is current flowing in section CD(A)
#(i) If r is the resistance of the distributor (go and return)
#per metre,
r = symbols('r')
Vad = (100+x)*100*r+x*150*r #Voltage drop in length AD
Vbd = 1*r*200**2/2+(60-x)*250*r #Voltage drop in length BD
x1 = solve(Vad-Vbd,x)[0] #A
#(ii)
I = 60+1*200 #Total current(A)
Ia = 100+x1 #Current supplied by A(A)
Ib = 360-150 #Current supplied by B(V)
Vd = Va - Ia*100*0.001-50*150*0.001 #Minimum potential(V)
#Result:
print "(i) The point of minimum voltage is D."
print "(ii)The value of minimum voltage is",round(Vd,1),"V"
```

In [27]:

```
from __future__ import division
from sympy import *
#Variable declaration:
l = 300 #distributor length(m)
r1 = 0.03/100 #resistance of single conductor(ohm/m)
Va = 240 #volt
#Calculation:
r = 2*r1 #resistance of both wires(ohm/m)
Rab = r*150 #ohm
Rbc = r*50 #ohm
Rca = r*100 #ohm
#suppose a current IA flows in section AB of the distributor.
#currents in sections BC and CA will be (Ia − 120) & (Ia − 200)
Ia = symbols('Ia')
Ia1 = solve(0.09*Ia+0.03*(Ia-120)+0.06*(Ia-200),Ia)[0]
#The actual distribution of currents ca be drawn easily
#from where it is seen that B is the point of min. potential.
Iab = Ia1 #Current in section AB(A)
Ibc = Ia1-120 #Current in section BC(A)
Ica = Ia1-200 #current in section CA(A)
Vb = Va-Iab*Rab #Voltage at point B(V)
Vc = Vb-Ibc*Rbc #Voltage at point C(V)
#Result:
print "(i) Current in section AB is",round(Iab,2),"A from A to B"
print " Current in section BC is",round(abs(Ibc),2),"A from C to B"
print " Current in section ca is",round(abs(Ica),2),"A from A to C"
print "(ii)Voltage at point B is",round(Vb,1),"V"
print " Voltage at point C is",round(Vc,1),"V"
```

In [28]:

```
from __future__ import division
from sympy import *
#Variable declaration:
Va = 220 #voltage at point A(V)
Rab = 0.1 #ohm
Rbc = 0.05 #ohm
Rcd = 0.01 #ohm
Rde = 0.025 #ohm
Rea = 0.075 #ohm
#Calculation:
#(i)
I1 = solve(0.1*I+0.05*(I-10)+0.01*(I-30)+0.025*(I-60)+0.075*(I-70),I)[0]
#(ii)
Iab = I1 #A
Ibc = I1-10 #A
Icd = I1-30 #A
Ide = I1-60 #A
Iea = I1-70 #A
#Result:
print "(i) C is the point of minimum potential."
print "(ii)Current in section AB is",round(Iab,2),"A from A to B"
print " Current in section BC is",round(Ibc,2),"A from B to C"
print " Current in section CD is",round(abs(Icd),2),"A from D to C"
print " Current in section DE is",round(abs(Ide),2),"A from E to D"
print " Current in section EA is",round(abs(Iea),2),"A from A to E"
```

In [29]:

```
from __future__ import division
from sympy import *
#Variable declaration:
Rab = 0.02 #ohm
Rbc = 0.018 #ohm
Rcd = 0.025 #ohm
Rda = 0.02 #ohm
Va = 250 #voltage ate point A(V)
#Calculation:
I = symbols('I')
I1 = solve(0.02*I+0.018*(I-150)+0.025*(I-450)+0.02*(I-700),I)[0]
Vab = 336.75*0.02 #V
Vbc = 186.75*0.018 #V
Vcd = 113.25*0.025 #V
Vda = 363.25*0.02 #V
Vb = Va-Vab #V
Vc = Vb-Vbc #V
Vd = Vc+Vcd #V
#With interconnector
Eo = Va-Vc #Voltage between points A and C(V)
Ro = (Rab+Rbc)*(Rcd+Rda)/((Rab+Rbc)+(Rcd+Rda)) #Resistance viewed from points A & C(ohm)
Rac = 0.02 #Resistance of interconnector(ohm)
Iac = Eo/(Ro+Rac) #Current in interconnector AC(A)
#Let ABCD be the ring distribution system.
#Let the current in section AB is I1. Then,
#current in section BC will be I1 − 150.
#As the voltage drop round the closed mesh ABCA is zero.
I11 = symbols('I11')
I2 = solve(0.02*I11+0.018*(I11-150)-0.02*252.4,I11)[0]
Vab1 = I2*0.02 #V
Vbc1 = 53.15*0.018 #V
Vad1 = 244.45*0.02 #V
Vb1 = Va-Vab1 #V
Vc1 = Vb1-Vbc1 #V
Vd1 = Va-Vad1 #V
#Result:
print "Before adding interconnector,"
print "\tVoltage at point B is",Vb,"V"
print "\tVoltage at point C is",round(Vc,3),"V"
print "\tVoltage at point D is",round(Vd,3),"V"
print "After adding interconnector,"
print "\tPotential of B is",round(Vb1,2),"V"
print "\tPotential of C is",round(Vc1,2),"V"
print "\tPotential of D is",round(Vd1,2),"V"
```

In [30]:

```
from __future__ import division
from sympy import *
#Variable Declaration:
Rbd = 0.05 #resistance of interconnector(ohm)
Rab = 0.075 #resistance of branch AB(ohm)
Rbc = 0.025 #resistance of branch BC(ohm)
Rcd = 0.01 #resistance of branch CD(ohm)
Rde = 0.05 #resistance of branch DE(ohm)
Rea = 0.1 #resistance of branch EA(ohm)
#Calculation:
#Let ABCDE be the ring distribution system.
#When interconnector BD is removed, let the current in branch
#AB be I.
# Current in BC = I-10;
# Current in CD = I-40;
# Current in DE = I-60;
# Current in EA = I-70;
#As the total drop round the ring ABCDEA is zero.
I = symbols('I')
I1 = solve(Rab*I+Rbc*(I-10)+Rcd*(I-40)+Rde*(I-60)+Rea*(I-70),I)[0]
#The actual distribution of currents will be as shown in Fig.(ii) above.
Vbcd = 30.96*0.025+0.96*0.01 #V
Eo = 0.7836 #V
Ro = (0.075+0.1+0.05)*(0.025+0.01)/((0.075+0.1+0.05)+(0.025+0.01))
#(i)
Ibd = Eo/(Ro+Rbd) #A
Vbd = Ibd*0.05 #V
#Result:
print "(i) Current in interconnector BD is",round(Ibd,1),"A"
print "(ii)Voltage drop along interconnector BD is",round(Vbd,2),"A"
```

In [31]:

```
from __future__ import division
#Variable declaration:
I1 = 50 #current on +ve side(A)
I2 = 40 #current on -ve side(A)
Rae = 0.1 #resistance of outer wire(ohm)
Rbg = 0.1
Vab = 500 #V
Van = 250 #V
Vbn = 250 #V
#Calculation:
I3 = I1-I2 #current in the neutral wire(A)
Rnl = 2*Rae #resistance of neutral wire(ohm)
Vel = Van-I1*Rae-(I1-I2)*Rnl #V
Vlg = Vbn+(I1-I2)*Rnl-I2*Rbg #V
#Result:
print "Voltage at the load end on the positive side is",Vel,"V"
print "Voltage at the load end on the negative side is",Vlg,"V"
```

In [32]:

```
from __future__ import division
#Vairable declaration:
r = 0.1 #resistance of each conductor(ohm)
Rel = 5 #ohm
Rcl = 6 #ohm
Vel = 240 #line to neutral voltage(V)
Vlc = 240 #line to neutral voltage(V)
#Calculation:
I1 = Vel/5 #Current on +ve outer(A)
I2 = Vlc/6 #Current on −ve outer(A)
In = I1-I2 #current in neutral(A)
V1 = Vel+I1*r+(I1-I2)*r #V
V2 = Vlc-(I1-I2)*r+I2*r #V
#Result:
print "Voltage between +ve outer and neutral at feeding end is",V1,"V"
print "Voltage between -ve outer and neutral at feeding end is",V2,"V"
```

In [33]:

```
from __future__ import division
#Variable declaration:
V = 250 #voltage on the two sides of the middle wire(V)
P1 = 35 #power of load 1(kW)
P2 = 20 #power of load 2(kW)
#Calculation:
R1 = V**2/(P1*1000) #resistance of load 1(ohm)
R2 = V**2/(P2*1000) #resistance of load 2(ohm)
#After breaking of neutral wire,
I = 2*V/(R1+R2) #Circuit current(A)
V1 = I*R1 #V
V2 = I*R2 #V
#Result:
print "Voltage across +ve outer and middle wire is",round(V1,1),"V"
print "Voltage across -ve outer and middle wire is",round(V2,1),"V"
```

In [43]:

```
from __future__ import division
#Calculation:
Vck = 250-0.75-0.28+0.2 #V
Vdm = Vck-0.3-0.18+0.084 #V
Vjg = 250-0.2-1.2 #V
Vlh = Vjg+0.28-0.084-0.864 #V
#Result:
print "Voltage across load CK is",Vck,"V"
print "Voltage across load DM is",Vdm,"V"
print "Voltage across load JG is",Vjg,"V"
print "Voltage across load LH is",Vlh,"V"
```

In [42]:

```
#Variable declaration:
Vab = 500 #volts
Van = 250 #volts
Vnb = 250 #volts
#Calculation:
#Voltage across CK = 250 − Drop in AC − Drop in KJ − Drop in JN
Vck = Van-4-0.5-0.1 #volts
#Voltage across DM = 245·4 − Drop in CD − Drop in ML + Drop in KL
Vdm = Vck-1.28-0.5+0.42 #volts
#Voltage across JG = 250 + Drop in JN − Drop in GB
Vjg = Van+0.1-1.9 #volts
#Voltage across LH = 248·2 + Drop in KJ − Drop in KL − Drop in HG
Vlh = Vjg+0.5-0.42-2.4 #volts
#Voltage across PF = 245·88 + Drop in ML − Drop in MP − Drop in FH
Vpf = Vlh+0.5-0.72-1.02 #volts
#Result:
print "Voltage across CK is",Vck,"V"
print "Voltage across DM is",Vdm,"V"
print "Voltage across JG is",Vjg,"V"
print "Voltage across LH is",Vlh,"V"
print "Voltage across PF is",Vpf,"V"
```

In [36]:

```
from __future__ import division
#Variable declaration:
Vel = 240 #volt
Vlc = 240 #volt
Rel = 4 #ohm
Rlc = 6 #ohm
r = 0.15 #resistance of each conductor(ohm)
#Calculation:
I1 = Vel/Rel #Current in the positive outer(A)
I2 = Vlc/Rlc #current in the negative outer(A)
In = I1-I2 #current in the neutral wire(ohm)
V1 = Vel+I1*r+In*r #Voltage between +ve outer and neutral at feeding point(V)
V2 = Vlc-In*r+I2*r #Voltage between -ve outer and neutral at feeding point(V)
#(i)When neutral breaks,
#When there is a break in the neutral, the system
#is equivalent to 2- wire d.c. system.Now,
R1 = Rel+Rlc+2*r #ohm
Vt1 = V1+V2 #voltage at the feeding end(V)
I11 = Vt1/R1 #Load current(A)
Vl1 = I11*Rel #Voltage across 4 ohm resistance(V)
Vl2 = I11*Rlc #voltage across 6 ohm resistance(V)
#(ii) When +ve outer breaks,
#When there is a break in the +ve outer, there will be
#no current in 4 ohm load.
R2 = Rlc+2*r #Total circuit resistance(ohm)
Vt2 = V2 #volt
I22 = Vt2/R2 #load current(A)
VR2 = I22*Rlc #volt
#(iii)When −ve outer breaks,
#When there is a break in the negative outer, there will be no
#current in 6 Ω load.
R3 = 4+2*r #Total circuit resistance(ohm)
Vt3 = V1 #volt
I33 = Vt3/R3 #load current(A)
VR3 = I33*Rel #volt
#Result:
print "When there is a break in the:"
print "(i) neutral wire, current is",round(I11,2),"A"
print " & voltage is",round(Vl1,2),"V and",round(Vl2,2),"V"
print " across 6 ohm & 4 ohm loads respectively."
print "(ii) positive outer, current is",round(I22,2),"A"
print " and voltage is",round(VR2,2),"V"
print "(iii)negative outer, current is",round(I33,2),"A"
print " and voltage is",round(VR3,2),"V"
```

In [37]:

```
from __future__ import division
#Variable Declaration:
V = 500 #voltage b/w the outer supplies(V)
P1 = 1500 #load(kW)
P2 = 2000 #load(kW)
Vn = 250 #outer to neutral voltage(V)
#Calculation:
I1 = P1*1000/Vn #Load current on +ve outer(A)
I2 = P2*1000/Vn #Load current on -ve outer(A)
In = I2-I1 #A
Pl = P1+P2 #kW
Ig = Pl*1000/V #Current supplied by main generator(A)
Ia = Ig-I1 #A
Ib = I2-Ig #A
#Result:
print "(i) Current in the neutral is",In,"A"
print "(ii) total current supplied by main generator is",Ig,"A"
print "(iii)Current in machine A is",Ia,"A"
print " Current in machine B",Ib,"A"
```

In [38]:

```
from __future__ import division
#Variable declaration:
V = 500 #volt
Vn = 250 #volt
P1 = 150 #load(kW)
P2 = 100 #load(kW)
Pl = 3 #loss in each balancer machine(kW)
#Calculation:
Pt = P1+P2+2*Pl #Total load on the main generator(kW)
Ig = Pt*1000/V #Current supplied by the main generator(A)
I1 = P1*1000/Vn #Load current on +ve side(A)
I2 = P2*1000/Vn #Load current on -ve side(A)
In = I1-I2 #Current in neutral wire(A)
Ia = I1-Ig #Current through machine A(A)
Ib = Ig-I2 #Current through machine B(A)
Pa = Ia*Vn/1000 #Load on machine A(kW)
Pb = Ib*Vn/1000 #Load on machine B(kW)
#Result:
print "(i) Total load on the main generator is",Pt,"kW"
print "(ii)Load on machine A is",Pa,"kW"
print " Load on machine B is",Pb,"kW"
```

In [39]:

```
from __future__ import division
#Variable declaration:
I1 = 1200 #current on +ve side(A)
I2 = 1000 #current on -ve side(A)
Pm = 200 #motor load acoss outer(kW)
Pl = 5 #loss in balancer machine(kW)
V = 500 #voltage across the outers(V)
Vn = 250 #voltage across the outer and the neutral(V)
#Calculation:
#Since the positive side is more heavily loaded,
#so, machine A acts as a generator and machine B as a motor.
P1 = Vn*I1/1000 #Load on +ve side(kW)
P2 = Vn*I2/1000 #Load on -ve side(kW)
P3 = 200 #load on outers(kW)
Pt = P1+P2+P3+2*Pl #total load(kW)
Ig = Pt*1000/500 #Current of main generator(A)
In = I1-I2 #Current in neutral(A)
Ia = 1600-Ig #Current through machine A(A)
Ib = Ig-1400 #Current through machine B(A)
Pa = Vn*Ia/1000 #Load on machine A(kW)
Pb = Vn*Ib/1000 #Load on machine B(kW)
#Result:
print "(i) Current of the main generator is",Ig,"A"
print "(ii)Load on balancer machines: Pa =",Pa,"kW & Pb =",Pb,"kW"
```

In [40]:

```
from __future__ import division
from sympy import *
#Variable declaration:
Ipos = 800 #current on on the positive side(A)
Ineg = 550 #current on the negative side(A)
I = 1500 #curent across the outers(A)
Ra = 0.2 #resistance of each arotary balancer's armature(ohm)
Io = 5 #no load current(A)
Vn = 500 #supply voltage
#Calculation:
I1 = Ipos+I #Total current on +ve side(A)
I2 = Ineg+I #Total current on −ve side(A)
In = Ipos-Ineg #Current in neutral wire(A)
#Let the current through machines A and B be Ia and Ib
Ib = symbols('Ib')
Ia = In-Ib
#Each machine has same value of back e.m.f. E as their field
#currents & speeds are the same.
E = Vn/2-Ra*Io #Back e.m.f(V)
Va = E-Ia*Ra #Terminal p.d. across A(V)
Vb = E+Ib*Ra #Terminal p.d. across B(V)
Ib1 = round(solve(Va*Ia+Vn*Io+Ia**2*Ra+Ib**2*Ra-Vb*Ib,Ib)[0])
Ia1 = In-Ib1
Va1 = E-Ia1*Ra
Vb1 = E+Ib1*Ra
Ig = 2300-Ia1 #Load on main generator(A)
#Result:
print "(i)Current loading of each balancer machine: Ia =",Ia1,"A & Ib =",Ib1,"A"
print "(ii)Voltage across machine A is",Va1,"V"
print " Voltage across machine B is",Vb1,"V"
print "(iii)Load on main generator is",Ig,"A"
```

In [41]:

```
from __future__ import division
#Variable declaration:
V = 500 #voltage at supply end(v)
l = 3 #line length(km)
Ifl = 120 #full loag current(A)
r = 0.5 #resistance of cable(ohm/km)
#Calculation:
R = r*l #total resistance of the line(ohm)
Vl = R*Ifl #F.L. voltage drop in the line(V)
Vb = Vl #Terminal voltage of booster(V)
Po = Vb*Ifl/1000 #Output of booster(kW)
#Result:
print "Booster Voltage is",Vl,"V"
print "Output of booster is",Po,"kW"
```