#Variable declaration
u = 5758.0 #Ultimate strength(kg)
S = 2.0 #Sag(m)
s = 2.0 #Factor of safety
L = 250.0 #Span length(m)
#Calculation
T = u/s #Allowable max tension(kg)
w = S*8.0*T/L**2 #weight(kg/m)
l = L/2 #Half span length(m)
half_span = l+(w**2*l**3/(6*T**2)) #Half span length(m)
total_length = 2*half_span #Total length(m)
weight = w*total_length #Weight of conductor(kg)
#Result
print('Weight of conductor = %.2f kg' %weight)
import math
#Variable declaration
L = 250.0 #Span length(m)
h = 10.0 #Difference in height(m)
r = 1.0 #Radius of conductor(cm)
w = 2.5 #Weight of conductor(kg/m)
wind = 1.2 #Wind load(kg/m)
s = 3.0 #Factor of safety
tensile = 4300.0 #Maximum tensile strength(kg/sq.cm)
#Calculation
W = (w**2+wind**2)**0.5 #Total pressure on conductor(kg/m)
f = tensile/s #Permissible stress in conductor(kg/sq.cm)
a = math.pi*r**2 #Area of the conductor(sq.cm)
T = f*a #Allowable max tension(kg)
x = (L/2)-(T*h/(L*W)) #Point of maximum sag at the lower support(m)
#Result
print('Point of maximum sag at the lower support, x = %.2f metres' %x)
import math
#Variable declaration
a = 2.5 #Cross-sectional area(sq.cm)
L = 250.0 #Span(m)
w_c = 1.8 #Weight of conductor(kg/m)
u = 8000.0 #Ultimate strength(kg/cm^2)
wind = 40.0 #Wind load(kg/cm^2)
s = 3.0 #Factor of safety
#Calculation
d = (4.0*a/math.pi)**0.5 #Diameter(cm)
T = u*a/s #Allowable max tension(kg)
w_w = wind*d/100.0 #Horizontal wind force(kg)
w_r = (w_c**2+w_w**2)**0.5 #Resultant force(kg/m)
S = w_r*L**2/(8*T) #Slant sag(m)
vertical_sag = S*(w_c/w_r) #Vertical sag(m)
#Result
print('Vertical sag = %.3f metres' %vertical_sag)
#Variable declaration
a = 110.0 #Cross-sectional area(sq.mm)
w_c = 844.0/1000 #Weight of conductor(kg/m)
U = 7950.0 #Ultimate strength(kg)
L = 300.0 #Span(m)
s = 2.0 #Factor of safety
wind = 75.0 #Wind pressure(kg/m^2)
h = 7.0 #Ground clearance(m)
d = 2.79 #Diameter of copper(mm)
n = 7.0 #Number of strands
#Calculation
dia = n*d #Diameter of conductor(mm)
w_w = wind*dia/1000.0 #Horizontal wind force(kg)
w = (w_c**2+w_w**2)**0.5 #Resultant force(kg)
T = U/2.0 #Allowable tension(m)
l = L/2.0 #Half-span(m)
D = w*l**2/(2*T) #Distance(m)
height = h+D #Height above ground at which the conductors should be supported(m)
#Result
print('Height above ground at which the conductors should be supported = %.2f metres' %height)
#Variable declaration
w_w = 1.781 #Wind pressure on conductor(kg/m)
w_i = 1.08 #Weight of ice on conductor(kg/m)
D = 6.0 #Maximum permissible sag(m)
s = 2.0 #Factor of safety
w_c = 0.844 #Weight of conductor(kg/m)
u = 7950.0 #Ultimate strength(kg)
#Calculation
w = ((w_c+w_i)**2+w_w**2)**0.5 #Total force on conductor(kg/m)
T = u/s #Allowable maximum tension(kg)
l = ((D*2*T)/w)**0.5 #Half span(m)
L = 2.0*l #Permissible span between two supports(m)
#Result
print('Permissible span between two supports = %.f metres' %L)
print('\nNOTE: ERROR: Horizontal wind load, w_w = 1.781 kg/m, not 1.78 kg/m as mentioned in problem statement')
import math
#Variable declaration
a = 0.484 #Area of conductor(sq.cm)
d = 0.889 #Overall diameter(cm)
w_c = 428/1000.0 #Weight(kg/m)
u = 1973.0 #Breaking strength(kg)
s = 2.0 #Factor of safety
L = 200.0 #Span(m)
t = 1.0 #Ice thickness(cm)
wind = 39.0 #Wind pressure(kg/m^2)
#Calculation
#Case(i)
l = L/2.0 #Half span(m)
T = u/s #Allowable maximum tension(kg)
D_1 = w_c*l**2/(2*T) #Maximum sag due to weight of conductor(m)
#Case(ii)
w_i = 913.5*math.pi*t*(d+t)*10**-4 #Weight of ice on conductor(kg/m)
w = w_c+w_i #Total weight of conductor & ice(kg/m)
D_2 = w*l**2/(2*T) #Maximum sag due to additional weight of ice(m)
#Case(iii)
D = d+2.0*t #Diameter due to ice(cm)
w_w = wind*D*10**-2 #Wind pressure on conductor(kg/m)
w_3 = ((w_c+w_i)**2+w_w**2)**0.5 #Total force on conductor(kg/m)
D_3 = w_3*l**2/(2*T) #Maximum sag due to (i), (ii) & wind(m)
theta = math.atan(w_w/(w_c+w_i))*180.0/math.pi #θ(°)
vertical_sag = D_3*math.cos(theta*math.pi/180) #Vertical sag(m)
#Result
print('Case(i) : Maximum sag of line due to weight of conductor, D = %.2f metres' %D_1)
print('Case(ii) : Maximum sag of line due to additional weight of ice, D = %.2f metres' %D_2)
print('Case(iii): Maximum sag of line due to (i),(ii) plus wind, D = %.2f metres' %D_3)
print(' Vertical sag = %.2f metres' %vertical_sag)
#Variable declaration
W = 428/1000.0 #Weight(kg/m)
u = 1973.0 #Breaking strength(kg)
s = 2.0 #Factor of safety
l = 200.0 #Span(m)
h = 3.0 #Difference in tower height(m)
#Calculation
T = u/s #Allowable maximum tension(kg)
x_2 = (l/2.0)+(T*h/(W*l)) #Point of minimum sag from tower at higher level(m)
x_1 = l-x_2 #Point of minimum sag from tower at lower level(m)
#Result
print('Point of minimum sag, x_1 = %.1f metres' %x_1)
print('Point of minimum sag, x_2 = %.1f metres' %x_2)
#Variable declaration
h_1 = 50.0 #Height of tower P1(m)
h_2 = 80.0 #Height of tower P2(m)
L = 300.0 #Horizontal distance b/w towers(m)
T = 2000.0 #Tension in conductor(kg)
w = 0.844 #Weight of conductor(kg/m)
#Calculation
h = h_2-h_1 #Difference in height of tower(m)
x_2 = (L/2.0)+(T*h/(w*L)) #Point of minimum sag from tower P2(m)
x_1 = (L/2.0)-(T*h/(w*L)) #Point of minimum sag from tower at lower level(m)
P = (L/2.0)-x_1 #Distance of point P(m)
D = w*P**2/(2*T) #Height of P above O(m)
D_2 = w*x_2**2/(2*T) #Height of P2 above O(m)
mid_point_P2 = D_2-D #Mid-point below P2(m)
clearance = h_2-mid_point_P2 #Clearance b/w conductor & water(m)
D_1 = w*x_1**2/(2*T) #Height of P1 above O(m)
mid_point_P1 = D-D_1 #Mid-point above P1(m)
clearance_alt = h_1+mid_point_P1 #Clearance b/w conductor & water(m)
#Result
print('Clearance b/w conductor & water at a point midway b/w towers = %.2f m above ground' %clearance)
print('\nALTERNATIVE METHOD:')
print('Clearance b/w conductor & water at a point midway b/w towers = %.2f m above ground' %clearance_alt)
import math
#Variable declaration
L = 300.0 #Span(m)
a = 226.0 #Area(mm^2)
d = 19.53/10 #Overall diameter(cm)
w_2 = 0.844 #Weight of conductor(kg/m)
u = 7950.0 #Ultimate strength(kg)
t = 0.95 #Ice thickness(cm)
wind = 39.0 #Wind pressure(kg/m^2)
#Calculation
w_i = 915.0*math.pi*t*(d+t)*10**-4 #Weight of ice on conductor(kg/m)
w_w = wind*(d+2*t)*10**-2 #Wind load of conductor(kg/m)
w_1 = ((w_2+w_i)**2+w_w**2)**0.5 #Total force on conductor(kg/m)
T_2 = 1710.0 #Tension in conductor(kg). Obtianed directly from textbook
l = L/2.0 #Half span(m)
sag = w_2*l**2/(2*T_2) #Sag at erection(m)
#Result
print('Sag at erection = %.2f metres' %sag)
print('Tension of the line, T_2 = %.f kg' %T_2)
import math
#Variable declaration
L = 250.0 #Span(m)
d = 1.42 #Diameter(cm)
w = 1.09 #Dead weight(kg/m)
wind = 37.8 #Wind pressure(kg/m^2)
r = 1.25 #Ice thickness(cm)
f_m = 1050.0 #Maximum working stress(kg/sq.cm)
#Calculation
w_i = 913.5*math.pi*r*(d+r)*10**-4 #Weight of ice on conductor(kg/m)
w_w = wind*(d+2*r)*10**-2 #Wind load of conductor(kg/m)
w_r = ((w+w_i)**2+w_w**2)**0.5 #Resultant pressure(kg/m)
a = math.pi*d**2/4.0 #Area(cm^2)
T_0 = f_m*a #Tension(kg)
S = w_r*L**2/(8*T_0) #Total sag(m)
vertical_sag = S*(w+w_i)/w_r #Vertical component of sag(m)
#Result
print('Case(i) : Sag in inclined direction = %.f m' %S)
print('Case(ii): Sag in vertical direction = %.2f m' %vertical_sag)
import math
#Variable declaration
a = 120.0 #Area(mm^2)
ds = 2.11 #Diameter of each strand(mm)
W = 1118.0/1000 #Weight of conductor(kg/m)
L = 200.0 #Span(m)
stress = 42.2 #Ultimate tensile stress(kg/mm^2)
wind = 60.0 #Wind pressure(kg/m^2)
t = 10.0 #Ice thickness(mm)
#Calculation
n = 3.0 #Number of layers
d = (2*n+1)*ds #Overall diameter of conductor(mm)
u = stress*a #Ultimate strength(kg)
T = u/4.0 #Working stregth(kg)
#Case(a)
S_a = W*L**2/(8*T) #Sag in still air(m)
#Case(b)
area = d*100*10.0*10**-6 #Projected area to wind pressure(m^2)
w_w = wind*area #Wind load/m(kg)
w_r = (W**2+w_w**2)**0.5 #Resultant weight/m(kg)
S_b = w_r*L**2/(8*T) #Total sag with wind pressure(m)
w_i = 0.915*math.pi/4*((d+2*t)**2-(d**2))/1000.0 #Weight of ice on conductor(kg/m)
area_i = (d+2*t)*1000.0*10**-6 #Projected area to wind pressure(m^2)
w_n = wind*area_i #Wind load/m(kg)
w_r_c = ((W+w_i)**2+w_n**2)**0.5 #Resultant weight/m(kg)
S_c = w_r_c*L**2/(8*T) #Total sag with wind pressure and ice coating(m)
S_v = S_c*(W+w_i)/w_r_c #Vertical component of sag(m)
#Result
print('Case(a) : Sag in still air, S = %.2f m' %S_a)
print('Case(b) : Sag with wind pressure, S = %.2f m' %S_b)
print(' Sag with wind pressure and ice coating, S = %.2f m' %S_c)
print(' Vertical sag, S_v = %.2f m' %S_v)
print('\nNOTE: ERROR: calculation mistake in the textbook')