{ "metadata": { "name": "", "signature": "sha256:0d2067363679e9ceade333ea9bc4385c2fb9b29e28a336c6f2561c38a5e262ab" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Chapter 8: Applications of Plane Stress Pressure Vessels Beams and Combined Loadings" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.1, page no. 546" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "\n", "import math \n", "\n", "#initialisation\n", "d = 18 # inner idameter of the hemisphere in inch\n", "t = 1.0/4.0 # thickness of the hemisphere in inch\n", "\n", "\n", "#calculation\n", "# Part (a)\n", "sa = 14000 # Allowable tensile stress in Psi\n", "Pa = (2*t*sa)/(d/2.0) # Maximum permissible air pressure in Psi\n", "print \"Maximum permissible air pressure in the tank (Part(a)) is\", round(Pa,1), \"psi\"\n", "\n", "# Part (b)\n", "sb = 6000 # Allowable shear stress in Psi\n", "Pb = (4*t*sb)/(d/2.0) # Maximum permissible air pressure in Psi\n", "print \"Maximum permissible air pressure in the tank (Part(b)) is\", round(Pb,1), \"psi\"\n", "\n", "# Part (c)\n", "e = 0.0003 # Allowable Strain in Outer sufrface of the hemisphere\n", "E = 29e06 # Modulus of epasticity of the steel in Psi\n", "v = 0.28 # Poissions's ratio of the steel\n", "Pc = (2*t*E*e)/((d/2.0)*(1-v)) # Maximum permissible air pressure in Psi\n", "print \"Maximum permissible air pressure in the tank (Part(c)) is\", round(Pc,1), \"psi\"\n", "\n", "# Part (d)\n", "Tf = 8100 # failure tensile load in lb/in \n", "n = 2.5 # Required factor of safetty against failure of the weld\n", "Ta = Tf / n # Allowable load in ld/in \n", "sd = (Ta*(1))/(t*(1)) # Allowable tensile stress in Psi\n", "Pd = (2*t*sd)/(d/2.0) # Maximum permissible air pressure in Psi\n", "print \"Maximum permissible air pressure in the tank (Part(d)) is\", round(Pd,1), \"psi\"\n", "\n", "# Part (e)\n", "Pallow = Pb \n", "print \"Maximum permissible air pressure in the tank (Part(e)) is\", round(Pb,1) ,\"psi\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Maximum permissible air pressure in the tank (Part(a)) is 777.8 psi\n", "Maximum permissible air pressure in the tank (Part(b)) is 666.7 psi\n", "Maximum permissible air pressure in the tank (Part(c)) is 671.3 psi\n", "Maximum permissible air pressure in the tank (Part(d)) is 720.0 psi\n", "Maximum permissible air pressure in the tank (Part(e)) is 666.7 psi\n" ] } ], "prompt_number": 2 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.2, page no. 552" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "\n", "import math \n", "\n", "#initialisation\n", "a = 55 # Angle made by helix with longitudinal axis in degree\n", "r = 1.8 # Inner radius of vessel in m\n", "t = 0.02 # thickness of vessel in m\n", "E = 200e09 # Modulus of ealsticity of steel in Pa\n", "v = 0.3 # Poission's ratio of steel \n", "P = 800e03 # Pressure inside the tank in Pa\n", "\n", "\n", "#calculation\n", "# Part (a)\n", "s1 = (P*r)/t # Circumferential stress in Pa\n", "s2 = (P*r)/(2*t) # Longitudinal stress in Pa\n", "\n", "print \"Circumferential stress is \", s1, \"Pa\"\n", "print \"Longitudinal stress is \", s2, \"Pa\"\n", "\n", "# Part (b)\n", "t_max_z = (s1-s2)/2.0 # Maximum inplane shear stress in Pa\n", "t_max = s1/2.0 # Maximum out of plane shear stress in Pa\n", "\n", "print \"Maximum inplane shear stress is \", t_max_z, \"Pa\"\n", "print \"Maximum inplane shear stress is \", t_max, \"Pa\"\n", "\n", "# Part (c)\n", "e1 = (s1/(2*E))*(2-v) # Strain in circumferential direction \n", "e2 = (s2/E)*(1-(2*v)) # Strain in longitudinal direction\n", "\n", "print \"Strain in circumferential direction is %e\"%(e1)\n", "print \"Strain in longitudinal direction is \", e2\n", "\n", "# Part (d)\n", "# x1 is the direction along the helix\n", "theta = 90 - a \n", "sx1 = ((P*r)/(4*t))*(3-math.cos(math.radians(2*theta))) # Stress along x1 direction\n", "tx1y1 = ((P*r)/(4*t))*(math.sin(math.radians(2*theta))) # Shear stress in x1y1 plane\n", "sy1 = s1+s2-sx1 # Stress along y1 direction\n", "\n", "print \"Stress along y1 direction is \", sy1\n", "\n", "# Mohr Circle Method\n", "savg = (s1+s2)/2.0 # Average stress in Pa\n", "R = (s1 - s2 )/2.0 # Radius of Mohr's Circle in Pa\n", "sx1_ = savg - R*math.cos(math.radians(2*theta)) # Stress along x1 direction\n", "tx1y1_ = R*math.sin(math.radians(2*theta)) # Shear stress in x1y1 plane\n", "print \"Stress along x1 direction is \", sx1_, \"Pa\"\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Circumferential stress is 72000000.0 Pa\n", "Longitudinal stress is 36000000.0 Pa\n", "Maximum inplane shear stress is 18000000.0 Pa\n", "Maximum inplane shear stress is 36000000.0 Pa\n", "Strain in circumferential direction is 3.060000e-04\n", "Strain in longitudinal direction is 7.2e-05\n", "Stress along y1 direction is 60156362.5799\n", "Stress along x1 direction is 47843637.4201 Pa\n" ] } ], "prompt_number": 13 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.3, page no. 562" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "\n", "%matplotlib inline\n", "from matplotlib import *\n", "from pylab import *\n", "import numpy\n", "\n", "#initialisation\n", "L = 6.0 # Span of the beam in ft\n", "P = 10800 # Pressure acting in lb\n", "c = 2.0 # in ft\n", "b = 2.0 # Width of cross section of the beam in inch\n", "h = 6.0 # Height of the cross section of the beam in inch\n", "x = 9.0 # in inch\n", "\n", "#calculation\n", "Ra = P/3.0 # Reaction at point at A\n", "V = Ra # Shear force at section mn \n", "M = Ra*x # Bending moment at the section mn\n", "I = (b*h**3)/12.0 # Moment of inertia in in4\n", "y = linspace(-3, 3, 61)\n", "sx = -(M/I)*y # Normal stress on crossection mn\n", "Q = (b*(h/2-y))*(y+((((h/2.0)-y)/2.0))) # First moment of recmath.tangular cross section\n", "txy = (V*Q)/(I*b) # Shear stress acting on x face of the stress element\n", "s1 = (sx/2.0)+numpy.sqrt((sx/2.0)**2+(txy)**2) # Principal Tesile stress on the cross section\n", "s2 = (sx/2.0)-numpy.sqrt((sx/2.0)**2+(txy)**2) # Principal Compressive stress on the cross section\n", "tmax = numpy.sqrt((sx/2)**2+(txy)**2) # Maximum shear stress on the cross section\n", "plot(sx,y,'o',color='c')\n", "plot(txy,y,'+',color='m')\n", "plot(s1,y,'--',color='y')\n", "plot(s2,y,'<',color='k')\n", "plot(tmax,y,label=\"Maximum shear stress on cross section\")\n", "legend()\n", "show()\n", "#print \"Principal Tesile stress on the cross section\", s1, \"psi\"\n", "#print \"Principal Compressive stress on the cross section\", s2, \"psi\"\n", "\n", "# Conclusions \n", "s1_max = 14400.0 # Maximum tensile stress in Psi\n", "txy_max = 900.0 # Maximum shear stress in Psi\n", "t_max = 14400.0/2.0 # Largest shear stress at 45 degree plane" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nL6d169b4+fnRsWNHdu/ezZQpUzh69CijRo3Cz8+PZcuWkZmZiZubm/6xmZmZDBs2DD8/PyIiIkhI\nuNoHKT4+njvuuIOpU6fStGlT2rVrxw8//FDt82hTysbq4RA1Ki8vV12HD1d06qTw9laA9l+3bqrn\n5Mnqppkz1cCZM1XX4cPVjXFxVR7vCOdQnaioKPXtt9+qDh06qLS0NFVaWqoiIiJUVlaW0mg0Kisr\nSyml1HfffacOHjyolFIqLS1NhYeHq/Xr1+v3M2nSJDVt2jR19uxZFR4erjZt2qS/T6PRqPT0dKWU\nUlOnTlXBwcHqwIEDqqioSA0bNkxFRkaq999/Xyml1MKFC1Xfvn2NPlYppaZNm6YWLFiglFJq69at\nysPDQy1dulQppdS7776rgoKC1N13360KCgrUb7/9pho1aqQOHTpk9NybNWumtm/frpRS6tKlS2rf\nvn0V9vvMM8+o8vJy9eWXXyovLy91/vx5pZRSf//739XYsWPVxYsXVX5+vho9erSaPXu2Ukqp8+fP\nqy+++EKVlpaq/Px8NXnyZBVn8DMxaNAg1aZNG5Wenq7Ky8tVaWlphTHt379ftWzZUp08eVIppdTx\n48dVRkaGUkqp+Ph4NWXKlArbV97fmTNnVGhoqFq7dq1SSqnffvtNBQUFqd27dxs95/379yullHr8\n8cfVQw89pEpLS1V5ebn68ccfjT5nJ0+eVH5+fmrDhg1KKaU+/vhj5e/vr3JycvTjadeuncrKylIF\nBQUqNjZWPf7440b3lZycrAIDA9X333+vlFLq1KlT+p+xyud17Nixao+bm5ur/Pz89K/z2bNnVVpa\nmlJKqbFjx+p/PkpKStSuXbuMjuWVV15Ro0aNUgUFBUoppVJTU9XFixeVUkoNGzZMPfLII6qoqEid\nP39e9e7dWy1fvlwppdSqVatUZGSkOnDggFJKqczMTHX06FGllPZ3a8uWLfpjZGRkKI1Go8rKypRS\nSl133XXq8ccfV6WlpeqPP/5QYWFh6vPPP1dKKbVo0SLl4+Ojvv32W6WUUvPmzVM9e/Y0Ovbq5hdr\nzTsNYpJXSqkvtmxRbaZPV8TH6yd7z2uuUaG33VbhNp+wMPWFwQurVM3nANb5Vxe6Sf7ZZ59V8+bN\nU5s3b1Y33XSTKi0trTDJVzZnzhz10EMP6b/Py8tTrVq1UjExMerBBx+ssK3hRD1t2jR1//336+97\n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\nAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 1 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.4, page no. 570" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "import math \n", "\n", "#initialisation\n", "d = 0.05 # Diameter of shaft in m\n", "T = 2400 # Torque transmitted by the shaft in N-m\n", "P = 125000 # Tensile force\n", "\n", "#calculation\n", "s0 = (4*P)/(math.pi*d**2) # Tensile stress in\n", "t0 = (16*T)/(math.pi*d**3) # Shear force \n", "# Stresses along x and y direction\n", "sx = 0 \n", "sy = s0 \n", "txy = -t0 \n", "s1 = (sx+sy)/2.0 + math.sqrt(((sx-sy)/2.0)**2 + (txy)**2) # Maximum tensile stress \n", "s2 = (sx+sy)/2.0 - math.sqrt(((sx-sy)/2.0)**2 + (txy)**2) # Maximum compressive stress \n", "tmax = math.sqrt(((sx-sy)/2)**2 + (txy)**2) # Maximum in plane shear stress \n", "print \"Maximum tensile stress %e\" %s1, \"Pa\"\n", "print \"Maximum compressive stress %e\" %s2, \"Pa\"\n", "print \"Maximum in plane shear stress %e \" %tmax, \"Pa\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Maximum tensile stress 1.346662e+08 Pa\n", "Maximum compressive stress -7.100421e+07 Pa\n", "Maximum in plane shear stress 1.028352e+08 Pa\n" ] } ], "prompt_number": 5 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.5, page no. 573" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "\n", "import math \n", "\n", "\n", "#initialisation\n", "P = 12 # Axial load in K\n", "r = 2.1 # Inner radius of the cylinder in inch\n", "t = 0.15 # Thickness of the cylinder in inch\n", "ta = 6500 # Allowable shear stress in Psi\n", "\n", "#calculation\n", "p1 = (ta - 3032)/3.5 # allowable internal pressure\n", "p2 = (ta + 3032)/3.5 # allowable internal pressure\n", "p3 = 6500/7.0 # allowable internal pressure\n", "\n", "prs_allowable = min(p1,p2,p3) # Minimum pressure would govern the design\n", "print \"Maximum allowable internal pressure \", round(prs_allowable), \"psi\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Maximum allowable internal pressure 929.0 psi\n" ] } ], "prompt_number": 3 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.6, page no. 574" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "\n", "import math \n", "\n", "#initialisation\n", "d1 = 0.18 # Inner diameter of circular pole in m\n", "d2 = 0.22 # Outer diameter of circular pole in m\n", "P = 2000 # Pressure of wind in Pa\n", "b = 1.5 # Distance between centre line of pole and board in m\n", "h = 6.6 # Distance between centre line of board and bottom of the ploe in m\n", "\n", "#calculation\n", "W = P*(2*1.2) # Force at the midpoint of sign \n", "V = W # Load\n", "T = W*b # Torque acting on the pole\n", "M = W*h # Moment at the bottom of the pole\n", "I = (math.pi/64.0)*(d2**4-d1**4) # Momet of inertia of cross section of the pole\n", "sa = (M*d2)/(2*I) # Tensile stress at A \n", "Ip = (math.pi/32.0)*(d2**4-d1**4) # Polar momet of inertia of cross section of the pole\n", "t1 = (T*d2)/(2*Ip) # Shear stress at A and B\n", "r1 = d1/2.0 # Inner radius of circular pole in m\n", "r2 = d2/2.0 # Outer radius of circular pole in m\n", "A = math.pi*(r2**2-r1**2) # Area of the cross section\n", "t2 = ((4*V)/(3*A))*((r2**2 + r1*r2 +r1**2)/(r2**2+r1**2)) # Shear stress at point B \n", "\n", "# Principle stresses \n", "sxa = 0\n", "sya = sa\n", "txya = t1\n", "sxb = 0\n", "syb = 0\n", "txyb = t1+t2 \n", "\n", "# Stresses at A\n", "s1a = (sxa+sya)/2.0 + math.sqrt(((sxa-sya)/2)**2 + (txya)**2) # Maximum tensile stress \n", "s2a = (sxa+sya)/2.0 - math.sqrt(((sxa-sya)/2)**2 + (txya)**2) # Maximum compressive stress \n", "tmaxa = math.sqrt(((sxa-sya)/2)**2 + (txya)**2) # Maximum in plane shear stress\n", "\n", "print \"Maximum tensile stress at point A is\", s1a, \"Pa\"\n", "print \"Maximum compressive stress at point A is\", s2a, \"Pa\"\n", "print \"Maximum in plane shear stress at point A is\", tmaxa, \"Pa\"\n", "\n", "# Stress at B \n", "s1b = (sxb+syb)/2.0 + math.sqrt(((sxb-syb)/2)**2 + (txyb)**2) # Maximum tensile stress \n", "s2b = (sxb+syb)/2.0 - math.sqrt(((sxb-syb)/2)**2 + (txyb)**2) # Maximum compressive stress \n", "tmaxb = math.sqrt(((sxb-syb)/2.0)**2 + (txyb)**2) # Maximum in plane shear stress \n", "print \"Maximum tensile stress at point B is\", s1b, \"Pa\"\n", "print \"Maximum compressive stress at point B is\", s2b, \"Pa\"\n", "print \"Maximum in plane shear stress at point B is\", tmaxb, \"Pa\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Maximum tensile stress at point A is 55613361.197 Pa\n", "Maximum compressive stress at point A is -700178.455718 Pa\n", "Maximum in plane shear stress at point A is 28156769.8263 Pa\n", "Maximum tensile stress at point B is 6999035.59641 Pa\n", "Maximum compressive stress at point B is -6999035.59641 Pa\n", "Maximum in plane shear stress at point B is 6999035.59641 Pa\n" ] } ], "prompt_number": 8 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.7, page no. 578" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "\n", "import math \n", "\n", "#initialisation\n", "b = 6 # Outer dimension of the pole in inch\n", "t = 0.5 # thickness of the pole\n", "P1 = 20*(6.75*24) # Load acting at the midpoint of the platform\n", "d = 9 # Distance between longitudinal axis of the post and midpoint of platform\n", "P2 = 800 # Load in lb\n", "h = 52 # Distance between base and point of action of P2\n", "\n", "#calculation\n", "M1 = P1*d # Moment due to P1\n", "M2 = P2*h # Moment due to P2\n", "A = b**2 - (b-2*t)**2 # Area of the cross section\n", "sp1 = P1/A # Comoressive stress due to P1 at A and B\n", "I = (1.0/12.0)*(b**4 - (b-2*t)**4) # Moment of inertia of the cross section\n", "sm1 = (M1*b)/(2*I) # Comoressive stress due to M1 at A and B\n", "Aweb = (2*t)*(b-(2*t)) # Area of the web\n", "tp2 = P2/Aweb # Shear stress at point B by lpad P2\n", "sm2 = (M2*b)/(2*I) # Comoressive stress due to M2 at A \n", "sa = sp1+sm1+sm2 # Total Compressive stress at point A\n", "sb = sp1+sm1 # Total compressive at point B \n", "tb = tp2 # Shear stress at point B\n", "\n", "# Principle stresses \n", "sxa = 0\n", "sya = -sa\n", "txya = 0\n", "sxb = 0\n", "syb = -sb\n", "txyb = tp2 \n", "\n", "# Stresses at A\n", "s1a = (sxa+sya)/2 + math.sqrt(((sxa-sya)/2)**2 + (txya)**2) # Maximum tensile stress \n", "s2a = (sxa+sya)/2 - math.sqrt(((sxa-sya)/2)**2 + (txya)**2) # Maximum compressive stress \n", "tmaxa = math.sqrt(((sxa-sya)/2)**2 + (txya)**2) # Maximum in plane shear stress\n", "print \"Maximum tensile stress at point A is\", s1a,\"Psi\"\n", "print \"Maximum compressive stress at point A is\", round(s2a,2), \"Psi\"\n", "print \"Maximum in plane shear stress at point A is\", round(tmaxa,2), \"Psi\"\n", "\n", "# Stress at B \n", "s1b = (sxb+syb)/2 + math.sqrt(((sxb-syb)/2)**2 + (txyb)**2) # Maximum tensile stress \n", "s2b = (sxb+syb)/2 - math.sqrt(((sxb-syb)/2)**2 + (txyb)**2) # Maximum compressive stress \n", "tmaxb = math.sqrt(((sxb-syb)/2)**2 + (txyb)**2) # Maximum in plane shear stress\n", "print \"Maximum tensile stress at point B is\", round(s1b,2), \"Psi\"\n", "print \"Maximum compressive stress at point B is\", round(s2b,2), \"Psi\"\n", "print \"Maximum in plane shear stress at point B is\", round(tmaxb,2), \"Psi\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Maximum tensile stress at point A is 0.0 Psi\n", "Maximum compressive stress at point A is -4090.91 Psi\n", "Maximum in plane shear stress at point A is 2045.45 Psi\n", "Maximum tensile stress at point B is 13.67 Psi\n", "Maximum compressive stress at point B is -1872.69 Psi\n", "Maximum in plane shear stress at point B is 943.18 Psi\n" ] } ], "prompt_number": 5 } ], "metadata": {} } ] }