In [1]:

```
import math
#Variable declaration:
k = 0.11 #ratio of shunt-capatance to self capacitance
V = 33/math.sqrt(3) #Voltage across string(kV)
n = 3 #no. of insulators
#Calculation:
# At Junction A
# I2 = I1 + i1
# or V2*w*C = V1*w*C + V1*K*ω*C
# or V2 = V1*(1 + K) = V1*(1 + 0·11)
# or V2 = 1·11*V1 ...(i)
# At Junction B
# I3 = I2 + i2
# or V3*w*C = V2*w*C + (V1 + V2) K*w*C
# or V3 = V2 + (V1 + V2)*K
# = 1·11*V1 + (V1 + 1·11*V1)*0·11
# V3 = 1·342 V1
# Voltage across whole unit,
# V = V1+V2+V3
# or V = V1+1.11*V1+1.342*V1
V1 = V/3.452 #Voltage across top unit(V)
V2 = 1.11*V1 #Voltage across top unit(V)
V3 = 1.342*V1 #Voltage across top unit(V)
e = V/(n*V3)*100 #string efficiency
#Result:
print "(i)\tVoltage across top unit,V1 is",round(V1,2),"kV"
print " \tVoltage across middle unit, V2 is",round(V2,2),"kV"
print " \tVoltage across bottom unit, V3 is",round(V3,1),"kV"
print "(ii)\tThe string efficiency is ",round(e,1),"%"
```

In [2]:

```
from __future__ import division
import math
#Variable declaration:
V1 = 8 #voltage across top unit(kV)
V2 = 11 #voltage across middle unit(kV)
n = 3 #no. of insulators
#Calculation:
#(i)
# Let K be the ratio of capacitance between pin and the earth
# to self capacitance.
# Let C farad be the self capacitance of each unit,
# then, capacitance between pin and earth = K*C.
# Applying Kirchoff’s current law to Junction A,
# I2 = I1 + i1
# or V2*w*C = V1*w*C + V1*K*w*C
# or V2 = V1 (1 + K)
k = (V2-V1)/V1
#(ii)
# Applying Kirchoff’s current law to Junction B,
# I3 = I2 + i2
# or V3*w*C = V2*w*C + (V1 + V2)*K*w*C
# or V3 = V2 + (V1 + V2)*K = 11 + (8 + 11) * 0·375
V3 = 18.12 #kV
V = V1 + V2+ V3 #kV
Vl = math.sqrt(3)*V #line voltage(kV)
#(iii)
e = V/(n*V3)*100 #stirng efficiency(%)
#Result:
print "(i) Ratio of capacitance b/w pin & earth is",k
print "(ii) The line voltage is",round(Vl,2),"kV"
print "(iii)String efficiency is",round(e,2),"%"
```

In [36]:

```
from __future__ import division
#Variable declaration:
n = 3 #no. of insulators
V3 = 17.5 #voltage across the line unit(V)
# At Junction A
# I2 = I1 + i1
# V2 ω C = V1 ω C + V1 K ω C
# or V2 = V1 (1 + K) = V1 (1 + 0.125)
# ∴ V2 = 1·125 V1
# At Junction B
# I3 = I2 + i2
# or V3 ω C = V2 ω C + (V1 + V2) K ω C
# or V3 = V2 + (V1 + V2) K
# = 1·125 V1 + (V1 + 1·125 V1) × 0.125
# ∴ V3 = 1·39 V1
V1 = V3/1.39 #Voltage across top unit(kV)
V2 = 1.125*V1 #Voltage across middle unit(kV)
V = V1+V2+V3 #voltage across line unit(kV)
e = V/(n*V3)*100 #string efficiency(%)
#Result:
print "Line to neutral voltage is",round(V,2),"kV"
print "String efficiency is",round(e,2),"%"
```

In [6]:

```
from __future__ import division
from pylab import *
from sympy import *
#Variable declaration:
V3 = 13.1 #voltage across the lowest insulator(kV)
V2 = 11 #voltage across the middle insulator(kV)
K = symbols('K')
# Applying Kirchhoff’s current law to Junctions A and B, we can easily
# derive the following equations:
# V2 = V1 (1 + K)
# or V1 = V2/(1 + K) ...(i)
# and V3 = V2 + (V1 + V2)*K ...(ii)
# Putting the value of V1 = V2/(1 + K) in eq. (ii), we get,
#V3 = V2 + (V2/(1+k)+ V2)*K
K1 = solve(V3-(V2 + (V2/(1+K)+ V2)*K),K)[1]
V1 = V2/(1+K1)
V = V1+V2+V3 #kV
#Result:
print "The voltage b/w the bus bars is",round(float(math.sqrt(3)*V)),"kV"
```

In [1]:

```
from __future__ import division
#Variable declaration:
n = 3 #no.of insulators
k = 1/8 #ratio of self-capacitance to shunt capacitance
V3 = 15 #safe working voltage of each insulator(kV)
# Applying Kirchhoff’s current law to junction A, we get,
# V2 = V1*(1 + K)
# or V1 = V2/(1 + K) = V2/(1 + 0·125) = 0·89*V2
# Applying Kirchhoff’s current law to Junction B, we get,
# V3 = V2 + (V1 + V2)*K = V2 + (0.89*V2 + V2) * 0.125
# V3 = 1.236*V2
V2 = V3/1.236 #kV
V1 = 0.89*V2 #kV
V = V1+V2+V3 #voltage across the string(kV)
e = V/(n*V3) *100 #string efficiency(%)
#Result:
print "Voltage across the string is",round(V,3),"kV"
print "The string efficiency is",round(e,2),"%"
```

In [6]:

```
from __future__ import division
#Variable declaration:
n = 4 #no. of unit
#Calculation:
# Suppose Xc = 1 Ω. Given, the ratio of self-capacitance to shunt
# capacitance is 10, so, Xc1 = 10 Ω .
# Suppose that potential V across the string is such that 1 A current
# flows in the top insulator.
#Thus,
V1 = 1*1 #Voltage across top unit(V)
V2 = 1*1.1 #Voltage across 2nd unit(V)
V3 = 1*1.31 #Voltage across 3rd unit(V)
V4 = 1*1.65 #Voltage across 4th unit(V)
V = V1+V2+V3+V4 #Voltage obtained across the string(V)
#The voltage across each unit expressed as a % of V becomes:
f1 = V1/V*100
f2 = V2/V*100
f3 = V3/V*100
f4 = V4/V*100
e = V/(n*V4)*100 #string efficiency(%)
#Result:
print "(i) The voltage distributation from top unit is "
print "\t",round(f1,2),"%\t",round(f2,2),"%\t",round(f3,1),"%\t",round(f4,1),"%"
print "\n(ii)String efficiency is",round(e,1),"%"
```

In [3]:

```
from __future__ import division
import math
#Variable declaration:
n = 5 #no.os insulators
Vl = 100 #line voltage(kV)
#Suppose Xc = 1 Ω.
#Ratio of self capacitance to shunt capacitance is 10, so, Xc1 = 10 Ω.
#Let V be the voltage s.t 1A current flows in top insulator.
#Calculation:
#calculation for fraction of voltage drop:
v1 = 1*1 #Voltage across top unit(V)
v2 = 1*1.1 #Voltage across 2nd unit(V)
v3 = 1*1.31 #Voltage across 3rd unit(V)
v4 = 1*1.65 #Voltage across 4th unit(V)
v5 = 1*2.16 #voltage across 5th unit(V)
v = v1+v2+v3+v4+v5 #total voltage(V)
V = 100/math.sqrt(3) #string voltage(V)
V1 = round(v1/v*V,3) #kV
V2 = v2/v*V #kV
V3 = v3/v*V #kV
V4 = v4/v*V #kV
V5 = v5/v*V #kV
e = V/(n*V5)*100 #string efficiency(%)
#Result:
print "(i)The distribution of voltage on the insulator discs are"
print "V1 = ",round(V1,3),"kV ","\tV2 =",round(V2,2),"kV \n",
print "V3 =",round(V3,1),"kV","\t\tV4 =",round(V4,2),"kV",
print "\nV5 =",round(V5,1),"kV"
print "\n(ii)The string efficiency",round(e,1),"%"
```

In [4]:

```
from __future__ import division
import math
from sympy import *
#Variable declaration:
n = 4 #no.os insulators
V2 = 13.2 #Voltage across 2th unit
V3 = 18 #Voltage across 3th unit
#Suppose K is the ratio of shunt-capacitance to self-capacitance
k = symbols('k')
# Referring to Fig.(ii), we have,
# V2/V1 = ( 1 + K)/1
# V2 = V1 (1 + K)
# V3/V1 = (1 + 3K + K2)/1
# V3 = V1 (1 + 3K + K2)
# putting values of V2 & V3
k1 = solve(13.2*k**2+21.6*k-4.8,k)[1]
V1 = V2/(1+k1)
V4 = V1*(1 + k1**33 + 5*k1**2 + 6*k1)
V = V1+V2+V3+V4 #Voltage between line and earth(kV)
Vl = math.sqrt(3)*V #Voltage between conductors(kV)
#Result:
print "Voltage between conductors is",round(float(Vl)),"kV"
```

In [54]:

```
from __future__ import division
#Variable declaration:
k = 5 #ratio of self-capacitance(C) to pin-earth capacitance(C1)
V = 1+1.2+1.64+2.408 #voltage obtained across the string(V)
#Calculation:
#(i) The voltage across each unit expressed as a % of V
v1 = 1/V*100
v2 = 1.2/V*100
v3 = 1.6/V*100
v4 = 2.408/V*100
#(ii)String efficiency
e = V/(4*2.408)*100
#Result:
print "(i) The voltage across each unit expressed as a % of V are:"
print "\tTop Unit: ",round(v1),"%"
print "\tSecond from top: ",round(v2,1),"%"
print "\tThird from top: ",round(v3),"%"
print "\tFourth from top: ",round(v4,1),"%"
print "(ii)String efficiency is",round(e,2),"%"
```

In [7]:

```
from __future__ import division
from sympy import *
#Variable declaration:
V1,V2,V3,V= symbols('V1 V2 V3 V') #volts (shown in fig(ii))
#Calculation:
#We know that in an actual string of insulators, 3 capacitances
#exist i.e, self-capacitance of each insulator, shunt capacitance
#and capacitance of each unit to line.
#But, capacitance of each unit to line is very small and
#can be neglected.
#At Junction A
# I2 + i1 = I1 + i1
#or V2*w*C + (V2 + V3)*0·1*w*C = V1*ω*C + 0·15*C*V1*w
#or 0·1*V3 = 1·15*V1 − 1·1*V2
# V3 = 11·5*V1 − 11*V2 ...(i)
#At Junction B
# I3 + i′2 = I2 + i2
#or V3*w*C + V3*0·1*C*w = V2*w*C + (V1 + V2)*w*0·15 C
#or 1·1*V3 = 1·15*V2 + 0·15*V1 ...(ii)
#Putting the value of V3 from exp (i). into exp. (ii), we get,
# 1·1*(11·5*V1 − 11*V2) = 1·15*V2 + 0·15*V1
#or 13·25*V2 = 12·5*V1
# V2 = 12.5/13.25*V1
# V3 = 11.5*V1-11*V2
# V = V1+V2+V3
# V = 40.55/13.25*V1
V1 = 13.25/40.55*V
V2 = 12.5/13.25*V1
V3 = 14.8/13.25*V1
#The voltage across each unit expressed as a % of V becomes:
p1 = V1/V*100
p2 = V2/V*100
p3 = V3/V*100
#Results:
print "The voltage across each unit expressed as a % of V becomes:"
print "for top unit, v1 =",round(p1,1),"%",
print "\nfor middle unit, v2 =",round(p2,1),"%"
print "for 3rd unit, v3 =",round(p3,1),"%"
print "String efficiency is",round(V/(3*V3)*100,1),"%"
```

In [55]:

```
from __future__ import division
from sympy import *
#Variable Declaration:
V1,V2,V3,V= symbols('V1 V2 V3 V') #volts (shown in fig(i))
#Calculation:
#At Junction A
# I2 + i′1 = I1 + i1
#or V2*w*C + (V2+V3)*w*0·1*C = V1*w*C+V1*0·2*C*ω
# V3 = 12 V1 − 11 V2 # ...(i)
#At Junction B
# I3 + i′2 = I2 + i2
#or V3 ω C + V3 × 0·3 C × ω =V2 ω C + (V1 + V2) ω × 0·2 C
#or 1·3 V3 = 1·2 V2 + 0·2 V1 ...(ii)
#Substituting the value of V3 from exp. (i) into exp. (ii), we get,
# 1·3*(12*V1 − 11*V2) = 1·2*V2 + 0·2*V1
#or 15·5*V2 = 15·4*V1
V2 = 15.4*V1/15.5 #...(iii)
V2 = 0.993*V1
#Substituting the value of V2 from exp. (iii) into exp. (i), we get,
V3 = 12*V1 - 11*0.993*V1
V3 = 1.077*V1
#Voltage between conductor and earth (i.e. phase voltage)
V = V1+V2+V3
n = V/(3*V3)*100
#Result:
print "String efficiency is",round(n),"%"
```

In [5]:

```
from __future__ import division
from pylab import *
import math
#Variable declaration:
r = 1 #conductor radius(cm)
d = 100 #conductor spacing(cm)
go = 30/math.sqrt(2) #Dielectric strength of air,(rms)(kV/cm)
dl = 0.952 #air density factor
mo = 0.9 #irregularity factor
#Calculation:
Vc = mo*go*dl*r*math.log(d/r) #kV/phase
Vl = Vc*3**0.5 #kV/line
#Result:
print "The disruptive critical voltage for the line is",round(float(Vl),2),"kV"
```

In [16]:

```
from __future__ import division
from pylab import *
#Variable declaration:
r = 0.978 #conductor radius(cm)
go = round(30/2**0.5,1) #Dielectric strength of air,rms(kV/cm)
Vc = 210/3**0.5 #Disruptive voltage/phase(kV)
mo = 1 #irregularity factor(for smooth conductor)
dl = 1 #air density factor(at std pressure and temperature)
#Calculation:
d = r*10**(Vc/(2.3*mo*go*dl*r))
#Result:
print "The spacing between the conductors is",round(d),"cm"
```

In [6]:

```
from __future__ import division
from pylab import *
import math
#Variable declaration:
r = 1.5 #conductor radius(cm)
t = 40 #temperature(deg C)
b = 76 #atmospheric pressure(cm)
mo = 0.85 #irregularity factor
f = 50 #Hz
d = 200 #conductor spacing(cm)
go = 30/2**0.5 #Dielectric strength of air,rms(kV/cm)
Vl = 220 #line voltage(kV)
#Calculation:
dl = round(3.92*b/(273+t),3)
Vc = round(mo*go*dl*r*round(math.log(d/r),2),1) #Critical disruptive voltage per phase(kV)
V = round(Vl/3**0.5) #kV/phase
P = 242.2/dl*(f+25)*(r/d)**0.5*(V-Vc)**2*10**-5 #kW/km/phase
Pl = 3*P #corona loss(kW)
#Result:
print "Total corona loss per km for three phases is",round(Pl,5),"kW"
```

In [2]:

```
from __future__ import division
from sympy import *
#Variable declaration:
P1 = 53 #corona loss(kW)
V1 = 106 #operating voltage(kV)
P2 = 98 #corona loss(kW)
V2 = 110.9 #operating voltage(kV)
V3 = 113 #opeating voltage(kV)
#Calculation:
#As f, δ, r and d are the same for the two cases,
#therfore, P ∝ (V − Vc)**2
k,Vc = symbols('k Vc') #k = proportionality constant
#Vc = critical disuptive voltage(kV)
#for 1st case,
# V1/3**0.5 = k*(64 - Vc)**2
# V2/3**0.5 = k*(61·2 - Vc)**2
# Dividing above equations & solving,
Vc1 = round(solve(((64-Vc)/(61.2-Vc))-math.sqrt(98/53),Vc)[0],2)
Vc1 = 54
#Let W kilowatt be the power loss at 113 kV.
#W = k*(113/3**0.5-Vc1)**2
W = P1*((65.2-Vc1)/(61.2-Vc1))**2
#Result:
print "The disruptive critical voltage at 113 kV is",Vc1,"kV"
print "The corona loss at 113 kV is",round(W),"kW"
```

In [56]:

```
from __future__ import division
#Variable declaration:
w = 680 #weigth of conductor(kg/km)
l = 260 #length ofspan(m)
u = 3100 #ultimate strength(kg)
sf = 2 #safety factor
h = 10 #ground clearance(m)
#Calculation:
T = u/sf #working tension(kg)
s = w*l**2/(8*T*1000) #span(m)
H = h+s
#Result:
print "Conductor should be supported at a height of ",round(H,1),"m"
```

In [7]:

```
from __future__ import division
import math
#Variable declaration:
l = 150 #length ofspan(m)
a = 2 #conductor cross-section(cm**2)
go = 9.9 #specific gravity of conductor(gm/cm**3)
ww = 1.5 #Wind force/m length of conductor(kg)
T = 2000 #working tension(kg)
#Calculation:
w = go*a*1/10 #Wt. of conductor/m length(kg)
wt = round((w**2+ww**2)**0.5,2) #Total wt of 1m length of conductor(kg)
s = wt*l**2/(8*T) #sag(m)
#This is the value of slant sag in a direction making
#an angle theta with the vertical
theta = math.atan(ww/w)
Vs = s*math.cos(theta)
#Result:
print "The sag is",round(s,2),"m"
print "The vertical sag is",round(Vs,2),"m"
```

In [1]:

```
from __future__ import division
import math
#Variable declaration:
l = 200 #span length(m)
w = 1170/1000 #weigth of conductor(kg)
u = 4218 #Ultimate Strength(kg/cm**2)
sf = 5 #safety factor
a = 1.29 #cross-section of conductor(cm**2)
P = 122 #wind pressure(kg/m**2)
#Calculation:
T = u/sf*a #working tension(kg)
d = round((4*a/math.pi)**0.5,2) #diameter of conductor(cm)
ww = P*d*10**-2 #Wind force/m length,
wt = (ww**2+w**2)**0.5 #total wt of conductor per metre length
S = wt*l**2/(8*T)
theta = math.atan(ww/w)
VS = S*math.cos(theta)
#Result:
print "The sag is",round(S,2),"m"
print "The vertical sag is",round(VS,2),"m"
```

In [60]:

```
from __future__ import division
#Variable declaration:
l = 275 #span length(m)
w = 0.865 #weigth of conductor/m(kg)
d = 1.96 #conductor diameter(cm)
t = 1.27 #ice coating thickness(cm)
u = 8060 #Ultimate Strength(kg)
sf = 2 #safety factor
a = 1.29 #cross-section of conductor(cm**2)
wo = 0.91 #Weight of 1 c.c. of ice(gm)
P = 3.9 #wind pressure(gm/cm**2)
#Calculation:
T = u/sf #working tension(kg)
v = 3.14*t*(d+t)*100 #Volume of ice per metre(cm**3)
wi = v*wo/1000 #kg
ww = P*(d+2*t)*100/1000 #kg
wt = ((w+wi)**2+ww**2)**0.5 #total weight(kg)
S = wt*l**2/(8*T) #sag(m)
#Result:
print "Sag is",round(S,1),"m"
```

In [61]:

```
from __future__ import division
from sympy import *
#Variable declaration:
Sv = 2.35 #vertical sag(m)
P = 1.5 #wind pressure(kg/m)
B = 2540 #breaking stress(kg/cm**2)
w = 1.125 #wt of conductor(kg/m)
l = 214 #length of conductor(m)
a = 3.225 #conductor cross-section
#Calculation:
f = symbols('f') #safety factor
wt = (w**2+P**2)**0.5 #Total wt. of one m length of conductor
T = B*a/f #working stress(kg)
cos_theta = w/wt
S = Sv/cos_theta #slant sag
T1 = wt*l**2/(8*S)
f1 = solve(T-T1,f)[0] #safety factor
#Result:
print "Safety factor is",round(f1)
```

In [8]:

```
from __future__ import division
#Variable declaration:
l = 150 #span length(m)
u = 5000 #ultimate strength(kg/cm**2)
go = 8.9 #specific gravity of material(gm/cc)
P = 1.5 #wind pressure(kg/m)
sf = 5 #safety factor
a = 2 #cross-section of conductor(cm**2)
h = 7 #ground clearance(m)
#Calculation:
w = a*go*100/1000 #weight of conductor per m(kg)
T = u*a/sf #working stress per m(kg)
wt = (w**2+P**2)**0.5 #Total wt of 1 m length of conductor(kg)
S = wt*l**2/(8*T) #slant sag(m)
Sv = S*w/wt #conductor vertical sag(m)
H = h+Sv #m
#Result:
print "Conductor should be supported at a height of",round(H,1),"m"
```

In [62]:

```
from __future__ import division
from sympy import *
#Variable declaration:
l = 500 #distance b/w the two towers(m)
T = 1600 #tension in the conductor(kg)
w = 1.5 #weight of the conductor(kg/m)
h1 = 30 #height of 1st tower(m)
h2 = 90 #height of 2nd tower(m)
#Calculation:
h = h2-h1 #difference in levels(m)
x1,x2 = symbols('x1 x2')
x2 = l-x1
S1 = w*x1**2/(2*T) #m
S2 = w*x2**2/(2*T) #m
x11 = solve(S2-S1-h,x1)[0]
S1 = w*x11**2/(2*T) #m
#Let the mid-point P be at a distance x from the lowest point O
x = l/2-x11
Smid = w*x**2/(2*T) #m
#Result:
print "The min. clearance of the conductor and water is ",round(h1-S1),"m"
print "The clearance mid-way b/w the supports is",round(Smid+h1-S1,2),"m"
```

In [63]:

```
from __future__ import division
from sympy import *
#Variable declaration:
l = 600 #distance b/w the two towers(m)
f = 5 #safety factor
U = 8000 #kg/cm**2
a = 2.2 #area of cross-section(cm**2)
w = 1.925 #weight of the conductor(kg/m)
h = 15 #difference in towers levels(m)
wi = 1 #ice weight(kg)
#Calculation:
T = U*a/f #tension in the conductor(kg)
wt = wi+w #total weight of conductor(kg)
x1,x2 = symbols('x1 x2')
x2 = l-x1
S1 = wt*x1**2/(2*T) #m
S2 = wt*x2**2/(2*T) #m
x11 = solve(S2-S1-h,x1)[0]
x22 = l-x11
S22 = wt*x22**2/(2*T) #m
#Result:
print "The sag from the taller of the two supports is",round(S22,2),"m"
```

In [127]:

```
from __future__ import division
from sympy import *
#Variable declaration:
l = 400 #distance b/w the two towers(m)
T = 2000 #tension in the conductor(kg)
w = 1 #weight of the conductor(kg/m)
h1 = 40 #height of 1st tower(m)
h2 = 90 #height of 2nd tower(m)
#Calculation:
h = h2-h1 #difference in levels(m)
x1,x2 = symbols('x1 x2')
x2 = l-x1
S1 = w*x1**2/(2*T) #m
S2 = w*x2**2/(2*T) #m
x11 = solve(S2-S1-h,x1)[0]
S1 = w*x11**2/(2*T) #m
x_mid = 50+400/2 #Horizontal distance of mid-point P from lowest point O
Sp = w*x_mid**2/(2*T) #SAg at P(m)
S2 = w*(l-x11)**2/(2*T) #m
hc = h2-S2+Sp #Clearance of mid-point P above water level(m)
#Result:
print "Clearance of mid-point P above water level is",round(hc),"m"
```

In [9]:

```
from __future__ import division
from pylab import *
from sympy import *
import math
#Variable declaration:
T = 1500 #tension in the conductor(kg)
w = 1 #weight of the conductor(kg/m)
DE = 300 #distance b/w tower's top(m)
H = 22 #height of each tower(m)
#Calculation:
# Suppose, the conductors are supported between towers AD and BE over
# a hillside having gradient of 1 : 20.
# Let the lowest point on the conductor is O and
# sin(theta) = 1/20.
# since, the lowest conductor is fixed 2m below the top of each tower.
theta = math.asin(1/20)
BE = H-2 #Effective height of each tower(m)
EC = DE*1/20
x1,x2 = symbols('x1 x2')
DC = (DE**2-EC**2)**0.5 #Horizontal distance b/w two towers(m)
x2 = DC-x1
S1 = w*x1**2/(2*T) #m
S2 = w*x2**2/(2*T) #m
x11 = solve(S2-S1-EC,x1)[0]
S2 = w*(DC-x11)**2/(2*T) #m
BC = BE+EC
OG = BC-S2-x11*math.tan(theta)
#Result:
print "Clearance of the lowest point O from the ground is",round(OG,2),"m"
```

In [129]:

```
from __future__ import division
from sympy import *
#Variable declaration:
l = 300 #distance b/w tower(m)
S = 10 #span(m)
h = 8 #clearance(m)
#Calculation:
#On level ground:
r = 8*S/l**2 #ratio w/T
#On sloping ground:
#The conductors are supported between towers AD and BE
#over a sloping ground having a gradient 1 in 15 as shown above.
DE = 300
sin_theta = 1/15
h = DE*sin_theta #Vertical distance b/w the two towers(m)
BE = S+h #height of tower(m)
x1,x2,x = symbols('x1 x2 x')
x2 = l-x1
S1 = r*x1**2/2 #m
S2 = r*x2**2/2 #m
x11 = solve(S2-S1-h,x1)[0]
S11 = r*x11**2/(2) #m
x22 = l-x11
S22 = r*x22**2/(2) #m
tan_theta = 1/15
GF = x11*tan_theta
BC = h-S22-GF
#Since O is the origin, the equation of slope of ground is given by :
y = x/15-10.5
#C = Equation of conductor curve − y
C = r*x**2/2-y
C1 = diff(C,x)
xm = solve(C1,x)[0]
#putting values of xm in above equations,
ym = xm/15-10.5
Cm = C = r*xm**2/2-ym
#Result:
print "Required minimum clearance is",round(Cm),"m"
```