{ "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": [ "# 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": [ "# 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": [ "# 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": [ "# 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": [ "# 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": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.1" }, "widgets": { "state": {}, "version": "1.1.2" } }, "nbformat": 4, "nbformat_minor": 0 }