summaryrefslogtreecommitdiff
path: root/Mechanics_of_Materials_by_James_M._Gere/chapter8.ipynb
diff options
context:
space:
mode:
authorkinitrupti2017-05-12 18:53:46 +0530
committerkinitrupti2017-05-12 18:53:46 +0530
commit6279fa19ac6e2a4087df2e6fe985430ecc2c2d5d (patch)
tree22789c9dbe468dae6697dcd12d8e97de4bcf94a2 /Mechanics_of_Materials_by_James_M._Gere/chapter8.ipynb
parentd36fc3b8f88cc3108ffff6151e376b619b9abb01 (diff)
downloadPython-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_James_M._Gere/chapter8.ipynb')
-rwxr-xr-xMechanics_of_Materials_by_James_M._Gere/chapter8.ipynb502
1 files changed, 502 insertions, 0 deletions
diff --git a/Mechanics_of_Materials_by_James_M._Gere/chapter8.ipynb b/Mechanics_of_Materials_by_James_M._Gere/chapter8.ipynb
new file mode 100755
index 00000000..1f7c0ed9
--- /dev/null
+++ b/Mechanics_of_Materials_by_James_M._Gere/chapter8.ipynb
@@ -0,0 +1,502 @@
+{
+ "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": [
+ "<matplotlib.figure.Figure at 0x263ff90>"
+ ]
+ }
+ ],
+ "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": {}
+ }
+ ]
+} \ No newline at end of file