{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Chapter 10 Uniform Flexible Suspension Cables"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Example 10.1 Cable subjected to concentrated loads"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(i) The horizontal reaction at B (Xb) is 1600.000000 N\n",
"(i) The vertical reaction at B (Yb) is 1100.000000 N\n",
"(ii) The sag at point E (y_e) is 1.375000 m\n",
"(iii) The tension in portion CA (T_CA) is 1627.882060 N\n",
"(iv) The max tension in the cable (T_max) is 1941.648784 N\n",
"(iv) The max slope (theta_1) in the cable is 34.508523 degree\n"
]
}
],
"source": [
"import math,numpy\n",
"# Initilization of variables\n",
"W1=400 # N # vertical load at pt C\n",
"W2=600 # N # vertical load at pt D\n",
"W3=400 # N # vertical load at pt E\n",
"l=2 # m # l= Lac=Lcd=Lde=Leb\n",
"h=2.25 # m # distance of the cable from top\n",
"L=2 # m # dist of A from top\n",
"# Calculations\n",
"# Solving eqn's 1&2 using MATRIX for Xb & Yb\n",
"A=numpy.matrix([[-L,4*l],[-h,2*l]])\n",
"B=numpy.matrix([[((W1*l)+(W2*2*l)+(W1*3*l))],[(W1*l)]])\n",
"C=numpy.linalg.inv(A)*B\n",
"# Now consider the F.B.D of BE, Take moment at E\n",
"y_e=(C[1]*l)/C[0] # m / here y_e is the distance between E and the top\n",
"theta_1=math.degrees(math.atan(y_e/l)) # degree # where theta_1 is the angle between BE and the horizontal\n",
"T_BE=C[0]/math.cos(theta_1*math.pi/180) # N (T_BE=T_max)\n",
"# Now consider the F.B.D of portion BEDC\n",
"# Take moment at C\n",
"y_c=((C[1]*6)-(W3*4)-(W2*2))/(C[0]) # m\n",
"theta_4=math.degrees(math.atan(((y_c)-(l))/(l))) # degree\n",
"T_CA=C[0]/math.cos(theta_4*math.pi/180) # N # Tension in CA\n",
"# Results\n",
"print('(i) The horizontal reaction at B (Xb) is %f N'%C[0])\n",
"print('(i) The vertical reaction at B (Yb) is %f N'%C[1])\n",
"print('(ii) The sag at point E (y_e) is %f m'%y_e)\n",
"print('(iii) The tension in portion CA (T_CA) is %f N'%T_CA)\n",
"print('(iv) The max tension in the cable (T_max) is %f N'%T_BE)\n",
"print('(iv) The max slope (theta_1) in the cable is %f degree'%theta_1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Example 10.2 Cables subjected to concentrated loads"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(i) The component of support reaction at A (Ya) is 300.000000 N\n",
"(i) The component of support reaction at B (Yb) is 150.000000 N\n",
"(ii) The tension in portion AC (T_AC) of the cable is 360.555128 N\n",
"(ii) The tension in portion CD (T_CD) of the cable is 282.842712 N\n",
"(iii) The max tension in the cable is 360.555128 N\n"
]
}
],
"source": [
"from __future__ import division\n",
"import math\n",
"# Initiization of variables\n",
"W1=100 # N # Pt load at C\n",
"W2=150 # N # Pt load at D\n",
"W3=200 # N # Pt load at E\n",
"l=1 # m # l=Lac=Lcd=Lde=Leb\n",
"h=2 # m # dist between Rb & top\n",
"Xa=200 # N\n",
"Xb=200 # N\n",
"# Calculations\n",
"# consider the F.B.D of entire cable\n",
"# Take moment at A\n",
"Yb=((W1*l)+(W2*2*l)+(W3*3*l)-(Xb*h))/(4*l) # N\n",
"Ya=W1+W2+W3-Yb # N # sum Fy=0\n",
"# Now consider the F.B.D of AC\n",
"# Take moment at C,\n",
"y_c=(Ya*l)/Xa # m\n",
"theta_1=math.degrees(math.atan(y_c/l)) # degree\n",
"T_AC=Xa/math.cos(theta_1*math.pi/180) # N # T_AC*cosd(theta_1)=horizontal component of tension in the cable\n",
"# here, T_AC=T_max\n",
"T_max=T_AC # N\n",
"# Now consider the F.B.D of portion ACD\n",
"y_d=((Ya*2*l)-(W1*l))/(Xa) # m # taking moment at D\n",
"theta_2=math.degrees(math.atan(((y_d)-(y_c))/(l))) # degree\n",
"T_CD=Xa/(math.cos(theta_2*math.pi/180)) # N \n",
"# Results\n",
"print('(i) The component of support reaction at A (Ya) is %f N'%Ya)\n",
"print('(i) The component of support reaction at B (Yb) is %f N'%Yb)\n",
"print('(ii) The tension in portion AC (T_AC) of the cable is %f N'%T_AC)\n",
"print('(ii) The tension in portion CD (T_CD) of the cable is %f N'%T_CD)\n",
"print('(iii) The max tension in the cable is %f N'%T_max)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Example 10.3 Cables uniformly loaded per unit horizontal distance"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The lowest point C which is situated at a distance (x_b) from support B is 8.000000 m\n",
"The maximum tension (T_max) in the cable is 14.715000 kN\n",
"The minimum tension (T_0) in the cable is 11.772000 kN\n"
]
}
],
"source": [
"from __future__ import division\n",
"import math\n",
"# Initilization of variables\n",
"w=75 # kg/m # mass per unit length of thw pipe\n",
"l=20 # m # dist between A & B\n",
"g=9.81 # m/s**2 # acc due to gravity\n",
"y=2 # m # position of C below B\n",
"# Calculations\n",
"# Let x_b be the distance of point C from B \n",
"# In eq'n x_b**2+32*x_b-320=0\n",
"a=1\n",
"b=32\n",
"c=-320\n",
"x_b=(-b+math.sqrt(b**2-(4*a*c)))/(2*a) # m # we get x_b by equating eqn's 1&2\n",
"# Now tension T_0\n",
"T_0=((w*g*x_b**2)/(2*y))*(10**-3) #kN # from eq'n 1\n",
"# Now the max tension occurs at point A,hence x is given as,\n",
"x=20-x_b # m\n",
"w_x=w*g*x*10**(-3) # kN \n",
"T_max=math.sqrt((T_0)**2+(w_x)**2) # kN # Maximum Tension\n",
"# Results\n",
"print('The lowest point C which is situated at a distance (x_b) from support B is %f m'%x_b)\n",
"print('The maximum tension (T_max) in the cable is %f kN'%T_max)\n",
"print('The minimum tension (T_0) in the cable is %f kN'%T_0)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Example 10.4 Cables uniformly loaded per unit horizontal distance"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(i) The magnitude of load W is 1106.074781 N\n",
"(ii) The angle of the cable with the horizontal at B is 3.814075 degree\n",
"(iii) The total length of the cable AB is 30.022222 m\n"
]
}
],
"source": [
"from __future__ import division\n",
"import math\n",
"# Initilization of variables\n",
"m=0.5 # kg/m # mass of the cable per unit length\n",
"g=9.81 # m/s**2\n",
"x=30 # m # length AB\n",
"y=0.5 # m # dist between C & the horizontal\n",
"x_b=15 # m # dist of horizontal from C to B\n",
"# Calculations\n",
"w=m*g # N/m # weight of the cable per unit length\n",
"T_0=(w*x_b**2)/(2*y) # N # From eq'n 1\n",
"T_B=math.sqrt((T_0)**2+(w*x/2)**2) # N # Tension in the cable at point B\n",
"W=T_B # N # As pulley is frictionless the tension in the pulley on each side is same,so W=T_B\n",
"# Slope of the cable at B,\n",
"theta=math.degrees(math.acos(T_0/T_B)) # degree\n",
"# Now length of the cable between C & B is,\n",
"S_cb=x_b*(1+((2/3)*(y/x_b)**2)) # m\n",
"# Now total length of the cable AB is,\n",
"S_ab=2*S_cb # m \n",
"# Results\n",
"print('(i) The magnitude of load W is %f N'%W)\n",
"print('(ii) The angle of the cable with the horizontal at B is %f degree'%theta)\n",
"print('(iii) The total length of the cable AB is %f m'%S_ab)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Example 10.5 Cables uniformly loaded per unit horizontal distance"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The smallest value of the sag in the cable is 0.849141 m\n"
]
}
],
"source": [
"from __future__ import division\n",
"import math\n",
"# Initilization of variables\n",
"x=30 # m # distance between two electric poles\n",
"Tmax=400 # N # Max Pull or tension\n",
"w=3 # N/m # weight per unit length of the cable\n",
"# Calculations\n",
"# The cable is assumed to be parabolic in shape, its eq'n is y=w*x^2/2*T_0.....(eq'n 1).\n",
"#Substuting the co-ordinates of point B (l/2,h), where h is the sag in the cable.\n",
"#This gives, T_0=(w*(l/2)^2)/(2*h)=wl^2/8*h\n",
"# Now the maximum pull or tension occurs at B,\n",
"T_B=Tmax # N \n",
"# Hence T_B=Tmax=sqrt(T_0^2+(w*l/2)^2). On simplyfyingthis eq'n we get, \n",
"h=math.sqrt(x**2/(16*(((Tmax*2)/(w*x))**2-(1)))) # m \n",
"# Results \n",
"print('The smallest value of the sag in the cable is %f m'%h)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Example 10.6 Catenary Cables"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The horizontal distance between the supports and the max Tension (L) is 164.791843 m\n"
]
}
],
"source": [
"from __future__ import division\n",
"import math\n",
"# Initilization of variables\n",
"l=200 # m # length of the cable\n",
"m=1000 # kg # mass of the cable\n",
"S=50 # m # sag in the cable\n",
"s=l/2 # m\n",
"g=9.81 # m/s^2\n",
"# Calculations\n",
"w=(m*g)/l # N/m # mass per unit length of the cable\n",
"# Substuting the values s=l/2 & y=c+S in eq'n 1 to get the value of c,\n",
"c=7500/100 # m \n",
"Tmax=math.sqrt((w*c)**2+(w*s)**2) # N # Maximum Tension\n",
"# To determine the span (2*x) let us use the eq'n of catenary, y=c*cosh(x/c), where y=c+50. On simplyfying we get y/c=cosh(x/c), here let y/c=A\n",
"y=c+50\n",
"A=y/c \n",
"x=c*(math.acosh(A)) # m \n",
"L=2*x # m # where L= span\n",
"# Results\n",
"print('The horizontal distance between the supports and the max Tension (L) is %f m'%L)"
]
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python [Root]",
"language": "python",
"name": "Python [Root]"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.12"
},
"widgets": {
"state": {},
"version": "1.1.2"
}
},
"nbformat": 4,
"nbformat_minor": 0
}