summaryrefslogtreecommitdiff
path: root/Engineering_Mechanics_by_A._K._Tayal/Chapter10.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Engineering_Mechanics_by_A._K._Tayal/Chapter10.ipynb')
-rw-r--r--Engineering_Mechanics_by_A._K._Tayal/Chapter10.ipynb333
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
+}