diff options
Diffstat (limited to 'Engineering_Mechanics_by_A._K._Tayal/Chapter10.ipynb')
-rw-r--r-- | Engineering_Mechanics_by_A._K._Tayal/Chapter10.ipynb | 333 |
1 files changed, 333 insertions, 0 deletions
diff --git a/Engineering_Mechanics_by_A._K._Tayal/Chapter10.ipynb b/Engineering_Mechanics_by_A._K._Tayal/Chapter10.ipynb new file mode 100644 index 00000000..c82cb27d --- /dev/null +++ b/Engineering_Mechanics_by_A._K._Tayal/Chapter10.ipynb @@ -0,0 +1,333 @@ +{ + "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 +} |