diff options
author | kinitrupti | 2017-05-12 18:53:46 +0530 |
---|---|---|
committer | kinitrupti | 2017-05-12 18:53:46 +0530 |
commit | 6279fa19ac6e2a4087df2e6fe985430ecc2c2d5d (patch) | |
tree | 22789c9dbe468dae6697dcd12d8e97de4bcf94a2 /Mechanics_of_Materials_by_R._C._Hibbeler/chapter11.ipynb | |
parent | d36fc3b8f88cc3108ffff6151e376b619b9abb01 (diff) | |
download | Python-Textbook-Companions-6279fa19ac6e2a4087df2e6fe985430ecc2c2d5d.tar.gz Python-Textbook-Companions-6279fa19ac6e2a4087df2e6fe985430ecc2c2d5d.tar.bz2 Python-Textbook-Companions-6279fa19ac6e2a4087df2e6fe985430ecc2c2d5d.zip |
Removed duplicates
Diffstat (limited to 'Mechanics_of_Materials_by_R._C._Hibbeler/chapter11.ipynb')
-rwxr-xr-x | Mechanics_of_Materials_by_R._C._Hibbeler/chapter11.ipynb | 501 |
1 files changed, 501 insertions, 0 deletions
diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/chapter11.ipynb b/Mechanics_of_Materials_by_R._C._Hibbeler/chapter11.ipynb new file mode 100755 index 00000000..6c1963de --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/chapter11.ipynb @@ -0,0 +1,501 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:84b48278b7f3c96235822dbaf287a816273c08b171a3ad371f818f325de3125f" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 11: Columns" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.1, page no. 763" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#initialisation\n", + "E = 29000 # Modulus of elasticity in ksi\n", + "spl = 42 # Proportional limit in ksi\n", + "L = 25 # Total length of coloum in ft\n", + "n = 2.5 # factor of safety\n", + "I1 = 98 # Moment of inertia on horizontal axis\n", + "I2 = 21.7 # Moment of inertia on vertical axis\n", + "A = 8.25 # Area of the cross section\n", + "\n", + "#calculation\n", + "Pcr2 = (4*math.pi**2*E*I2)/((L*12)**2) # Criticle load if column buckles in the plane of paper\n", + "Pcr1 = (math.pi**2*E*I1)/((L*12)**2) # Criticle load if column buckles in the plane of paper\n", + "Pcr = min(Pcr1,Pcr2) # Minimum pressure would govern the design\n", + "scr = Pcr/A # Criticle stress\n", + "Pa = Pcr/n # Allowable load in k\n", + "print \"The allowable load is \", round(Pa), \"k\"\n", + " " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The allowable load is 110.0 k\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.2, page no. 774" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#initialisation\n", + "L = 3.25 # Length of alluminium pipe in m\n", + "d = 0.1 # Outer diameter of alluminium pipe\n", + "P = 100000 # Allowable compressive load in N\n", + "n =3 # Safety factor for eular buckling\n", + "E = 72e09 # Modulus of elasticity in Pa\n", + "l = 480e06 # Proportional limit\n", + "\n", + "#calculation\n", + "Pcr = n*P # Critice load\n", + "t = (0.1-(55.6e-06)**(1.0/4.0) )/2.0 # Required thickness\n", + "\n", + "tmin = t \n", + "print \"The minimum required thickness of the coloumn is\", round(tmin*1000,2), \"mm\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The minimum required thickness of the coloumn is 6.82 mm\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.3, page no. 780" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "from sympy import *\n", + "\n", + "#initialisation\n", + "P = 1500 # Load in lb\n", + "e = 0.45 # ecentricity in inch\n", + "h = 1.2 # Height of cross section in inch\n", + "b = 0.6 # Width of cross section in inch\n", + "E = 16e06 # Modulus of elasticity \n", + "my_del = 0.12 # Allowable deflection in inch\n", + "\n", + "#calculation\n", + "L = mpmath.asec(1.2667)/0.06588 # Maximum allowable length possible\n", + "\n", + "#Result\n", + "print \"The longest permissible length of the bar is\", round(L), \"inch\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The longest permissible length of the bar is 10.0 inch\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.4, page no. 785" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "from sympy import *\n", + "import math\n", + "\n", + "#initialisation\n", + "L = 25 # Length of coloum in ft\n", + "P1 = 320 # Load in K\n", + "P2 = 40 # Load in K\n", + "E = 30000 # Modulus of elasticity of steel in Ksi\n", + "P = 360 # Euivalent load\n", + "e = 1.5 # Ecentricity of compressive load\n", + "A = 24.1 # Area of the Cross section\n", + "r = 6.05 # in inch\n", + "c = 7.155 # in inch\n", + "sy = 42 # Yeild stress of steel in Ksi\n", + "\n", + "#calculation\n", + "\n", + "smax = (P/A)*(1+(((e*c)/r**2)*mpmath.sec((L/(2*r))*math.sqrt(P/(E*A))))) # Maximum compressive stress\n", + "print \"The Maximum compressive stress in the column \", round(smax,2), \"ksi\"\n", + "# Bisection method method to solve for yeilding\n", + "def stress(a,b,f):\n", + " N = 100\n", + " eps = 1e-5\n", + " if((f(a)*f(b))>0):\n", + " print 'no root possible f(a)*f(b)>0'\n", + " sys.exit()\n", + " if(abs(f(a))<eps):\n", + " print 'solution at a'\n", + " sys.exit()\n", + " if(abs(f(b))<eps):\n", + " print 'solution at b'\n", + " while(N>0):\n", + " c = (a+b)/2.0\n", + " if(abs(f(c))<eps):\n", + " x = c \n", + " return x\n", + " if((f(a)*f(c))<0 ):\n", + " b = c \n", + " else:\n", + " a = c \n", + " N = N-1\n", + " print 'no convergence'\n", + " sys.exit()\n", + "\n", + "def p(x): \n", + "\t return x + (0.2939*x*sec(0.02916*sqrt(x))) - 1012 \n", + "x = stress(710,750,p)\n", + "Py = x # Yeilding load in K\n", + "n = Py/P # Factor of safety against yeilding\n", + "print \"The factor of safety against yeilding is\", round(n)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Maximum compressive stress in the column 19.32 ksi\n", + "The factor of safety against yeilding is 2.0\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.5, page no. 804" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "import numpy\n", + "\n", + "#initialisation\n", + "E = 29000 # Modulus of elasticity in ksi\n", + "sy = 36 # Yeilding stress in ksi\n", + "L = 20 # Length of coloumn in ft\n", + "r = 2.57 # radius of gyration of coloumn\n", + "K = 1 # Effetive Length factor\n", + "\n", + "#calculation\n", + "s = math.sqrt((2*math.pi**2*E)/sy) # Criticle slenderness ratio (K*L)/r\n", + "s_ = (L*12)/r # Slenderness ratio\n", + "\n", + "# Part(a)\n", + "n1 = (5.0/3.0)+((3.0/8.0)*(s_/s))-((1.0/8.0)*((s_**3)/(s**3))) # Factor of safety \n", + "sallow = (sy/n1)*(1-((1.0/2.0)*((s_**2)/(s**2)))) # Allowable axial load\n", + "A = 17.6 # Cross sectional area from table E1\n", + "Pallow = sallow*A # Allowable axial load\n", + "print \"Allowable axial load is\", round(Pallow,2), \"k\"\n", + "\n", + "# Part (b)\n", + "Pe = 200 # Permissible load in K\n", + "L_ = 25 # Assumed length in ft\n", + "s__ = (L_*12)/r # Slenderness ratio\n", + "n1_ = (5.0/3.0)+((3.0/8.0)*(s__/s))-((1.0/8.0)*((s__**3)/(s**3))) # Factor of safety \n", + "sallow_ = (sy/n1_)*(1-((1.0/2.0)*((s__**2)/(s**2)))) # Allowable axial load\n", + "A = 17.6 # Area of the cross section in**2\n", + "Pallow = sallow_*A # Allowable load\n", + "L1 = [24, 24.4, 25]\n", + "P1 = [201, 194, 190]\n", + "L_max = numpy.interp(200.0, P1, L1)\n", + "print \"The maximum permissible length is\", L_max, \"ft\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Allowable axial load is 242.84 k\n", + "The maximum permissible length is 25.0 ft\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.6, page no. 806" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "import numpy\n", + "\n", + "#initialisation\n", + "L = 3.6 # Length of steel pipe coloumn\n", + "d = 0.16 # Outer diameter in m\n", + "P = 240e03 # Load in N\n", + "E = 200e09 # Modulus of elasticity in Pa\n", + "sy = 259e06 # yeilding stress in Pa\n", + "K = 2.0\n", + "Le = K*L # As it in fixed-free condition\n", + "\n", + "#calculation\n", + "sc = math.sqrt((2*math.pi**2*E)/sy) # Critical slenderness ratio\n", + "\n", + "# First trial\n", + "t = 0.007 # Assumed thick ness in m\n", + "I = (math.pi/64)*(d**4-(d-2*t)**4) # Moment of inertia\n", + "A = (math.pi/4)*(d**2-(d-2*t)**2) # Area of cross section\n", + "r = math.sqrt(I/A) # Radius of gyration\n", + "sc_ = round((K*L)/r) # Slender ness ratio\n", + "n2 = 1.92 # From equation 11.80\n", + "sa = (sy/(2*n2))*(sc**2/sc_**2) # Allowable stress\n", + "Pa = round((sa*A)/1000) # Allowable axial load in N\n", + "\n", + "# Interpolation\n", + "t = [7, 8, 9]\n", + "Pa = [196, 220, 243]\n", + "t_min = numpy.interp(240.0, Pa, t)\n", + "print \"The minimum required thickness of the steel pipe is\", round(t_min,1), \"mm\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The minimum required thickness of the steel pipe is 8.9 mm\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.7, page no. 808" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "import math \n", + "\n", + "#initialisation\n", + "\n", + "L = 16 # Effective length in inch\n", + "P = 5 # axial load in K\n", + "\n", + "#calculation\n", + "# Bisection method for solvong the quaderatic\n", + "def stress(a,b,f):\n", + " N = 100\n", + " eps = 1e-5\n", + " if((f(a)*f(b))>0):\n", + " print 'no root possible f(a)*f(b)>0'\n", + " sys.exit()\n", + " if(abs(f(a))<eps):\n", + " print 'solution at a'\n", + " sys.exit()\n", + " if(abs(f(b))<eps):\n", + " print 'solution at b'\n", + " while(N>0):\n", + " c = (a+b)/2.0\n", + " if(abs(f(c))<eps):\n", + " x = c \n", + " return x\n", + " if((f(a)*f(c))<0 ):\n", + " b = c \n", + " else:\n", + " a = c \n", + " N = N-1\n", + " print 'no convergence'\n", + " sys.exit()\n", + "def p(x): \n", + "\t return 30.7*x**2 - 11.49*x -17.69 \n", + "x = stress(0.9,1.1,p)\n", + "d = x # Diameter in inch\n", + "sl = 49.97/d # Slenderness ration L/r\n", + "dmin = d # Minimum diameter\n", + "print \"The minimum required outer diameter of the tube is\", round(dmin,2), \"inch\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The minimum required outer diameter of the tube is 0.97 inch\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.8, page no. 810" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#initialisation\n", + "Fc = 11e06 # Compressive demath.sing stress in Pa\n", + "E = 13e09 # Modulus of elasticity in Pa\n", + "\n", + "#calculation\n", + "# Part (a)\n", + "Kce = 0.3 \n", + "c = 0.8 \n", + "A = 0.12*0.16 # Area of cross section\n", + "Sl = 1.8/0.12 # Slenderness ratio\n", + "fi = (Kce*E)/(Fc*Sl**2) # ratio of stresses\n", + "Cp = ((1+fi)/(2*c)) - math.sqrt(((1+fi)/(2*c))**2-(fi/c)) # Coloumn stability factor \n", + "Pa = Fc*Cp*A\n", + "print \"The allowable axial load is\", Pa, \"N\"\n", + "\n", + "# Part (b)\n", + "P = 100000 # Allowable Axial load\n", + "Cp_ = P/(Fc*A) # Coloumn stability factor\n", + "\n", + "# Bisection method method to solve for fi\n", + "def stress(a,b,f):\n", + " N = 100\n", + " eps = 1e-5\n", + " if((f(a)*f(b))>0):\n", + " print 'no root possible f(a)*f(b)>0'\n", + " sys.exit()\n", + " if(abs(f(a))<eps):\n", + " print 'solution at a'\n", + " sys.exit()\n", + " if(abs(f(b))<eps):\n", + " print 'solution at b'\n", + " while(N>0):\n", + " c = (a+b)/2.0\n", + " if(abs(f(c))<eps):\n", + " x = c \n", + " return x\n", + " if((f(a)*f(c))<0 ):\n", + " b = c \n", + " else:\n", + " a = c \n", + " N = N-1\n", + " print 'no convergence'\n", + " sys.exit()\n", + "def p(x): \n", + " return ((1+x)/(2.0*c)) - math.sqrt(((1+x)/(2.0*c))**2-(x/c)) - Cp_ \n", + "x = stress(0.1,1.0,p) \n", + "fi_ = x\n", + "d_ = 0.12 # Diameter in m\n", + "L_max = d_*math.sqrt((Kce*E)/(fi_*Fc)) # Maximum length in m\n", + "print \"The minimum allowable length is\", round(L_max,2), \"m\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The allowable axial load is 173444.30361 N\n", + "The minimum allowable length is 3.02 m\n" + ] + } + ], + "prompt_number": 12 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file |