{
 "metadata": {
  "name": "",
  "signature": "sha256:fd4f0aff1595774b5355a497060422fe514233295a9b38d4661e82d6b26d39aa"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": [
      "Chapter11-The Thick-Wall Cylinder"
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Ex1-pg397"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "## initialization of variables\n",
      "#calculate the radial pressure and circumferential stress \n",
      "E=200. ##GPa\n",
      "v=0.29\n",
      "Di=20. ##mm\n",
      "Do=100. ##mm\n",
      "a=10. ##mm\n",
      "b=50. ##mm\n",
      "p1=300. ##MPa\n",
      "##calculations\n",
      "## S_rr=p1*(a**2*(r**2-b**2))/(r**2*(b**2-a**2))\n",
      "## S_th=p1*(a**2*(r**2+b**2))/(r**2*(b**2-a**2))\n",
      "r=10.\n",
      "S_rr=p1*(a**2.*(r**2.-b**2.))/(r**2.*(b**2.-a**2.))\n",
      "S_th=p1*(a**2.*(r**2.+b**2.))/(r**2.*(b**2.-a**2.))\n",
      "print'%s %.2f %s'%('r = ',r,' mm')\n",
      "print'%s %.2f %s'%('\\n Radial stress = ',S_rr,' MPa')\n",
      "print'%s %.2f %s'%('\\n circumferential stress = ',S_th,' MPa')\n",
      "r=25.\n",
      "S_rr=p1*(a**2.*(r**2.-b**2.))/(r**2.*(b**2.-a**2.))\n",
      "S_th=p1*(a**2.*(r**2.+b**2.))/(r**2.*(b**2.-a**2.))\n",
      "print'%s %.2f %s'%('r = ',r,' mm')\n",
      "print'%s %.2f %s'%('\\n Radial stress = ',S_rr,' MPa')\n",
      "print'%s %.2f %s'%('\\n circumferential stress = ',S_th,' MPa')\n",
      "\n",
      "r=50.\n",
      "S_rr=p1*(a**2.*(r**2.-b**2.))/(r**2.*(b**2.-a**2.))\n",
      "S_th=p1*(a**2.*(r**2.+b**2.))/(r**2.*(b**2.-a**2.))\n",
      "print'%s %.2f %s'%('r = ',r,' mm')\n",
      "print'%s %.1f %s'%('\\n Radial stress = ',S_rr,' MPa')\n",
      "print'%s %.2f %s'%('\\n circumferential stress = ',S_th,' MPa')\n",
      "\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "r =  10.00  mm\n",
        "\n",
        " Radial stress =  -300.00  MPa\n",
        "\n",
        " circumferential stress =  325.00  MPa\n",
        "r =  25.00  mm\n",
        "\n",
        " Radial stress =  -37.50  MPa\n",
        "\n",
        " circumferential stress =  62.50  MPa\n",
        "r =  50.00  mm\n",
        "\n",
        " Radial stress =  0.0  MPa\n",
        "\n",
        " circumferential stress =  25.00  MPa\n"
       ]
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Ex2-pg397"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "## initialization of variables\n",
      "#calculate the normal stress and radial stress and circumferentail stress\n",
      "E=72. ##GPa\n",
      "v=0.33\n",
      "Di=200. ##mm\n",
      "Do=800. ##mm\n",
      "a=100. ##mm\n",
      "r=a\n",
      "b=Do/2. ##mm\n",
      "p1=150. ##MPa\n",
      "E=E*10**3.\n",
      "S_rr=p1*(a**2.*(r**2.-b**2.))/(r**2.*(b**2.-a**2.))\n",
      "S_th=p1*(a**2.*(r**2.+b**2.))/(r**2.*(b**2.-a**2.))\n",
      "S_zz=p1*a**2./(b**2.-a**2.)\n",
      "tau_max=(S_th-S_rr)/2.\n",
      "u_a=p1*a/(E*(b**2-a**2))*((1-2*v)*a**2+(1+v)*b**2)\n",
      "print'%s %.1f %s'%('\\n Radial stress = ',S_rr,' MPa')\n",
      "print'%s %.2f %s'%('\\n circumferential stress = ',S_th,' MPa')\n",
      "\n",
      "\n",
      "print'%s %.2f %s'%('\\n Normal stress = ',S_zz,' MPa')\n",
      "print'%s %.2f %s'%('\\n Maximum shear stress = ',tau_max,' MPa')\n",
      "print'%s %.2f %s'%('\\n u|r=a = ',u_a,' mm')\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        " Radial stress =  -150.0  MPa\n",
        "\n",
        " circumferential stress =  170.00  MPa\n",
        "\n",
        " Normal stress =  10.00  MPa\n",
        "\n",
        " Maximum shear stress =  160.00  MPa\n",
        "\n",
        " u|r=a =  0.30  mm\n"
       ]
      }
     ],
     "prompt_number": 2
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Ex3-pg398"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "## initialization of variables\n",
      "#calculate the  how muhc temperature changes\n",
      "E=200. ##GPa\n",
      "a=10. ##mm\n",
      "v=0.29\n",
      "ci=25.072 ##mm\n",
      "co=25. ##mm\n",
      "b=50. ##mm\n",
      "rr=0.072 ##mm\n",
      "re=0.025 ##mm\n",
      "alpha=0.0000117 ## per celcius\n",
      "##calculations\n",
      "E=E*10**3.\n",
      "p1=300. ##MPa\n",
      "term1=co/(E*(b**2.-co**2.))*((1.-v)*co**2.+(1.+v)*b**2.)\n",
      "term2=-ci/(E*(ci**2.-a**2.))*((-(1.-v)*ci**2.)-(1.+v)*a**2.)\n",
      "ps=rr/(term1+term2)\n",
      "\n",
      "## Inner cylinder p1=0 p2=ps a=10 b=25 \n",
      "## outer cylinder p1=ps p2=0 a=25 b=50 \n",
      "## S_rr=(p1*a**2-p2*b**2)/(b**2-a**2)-(a**2*b**2)/(r**2*(b**2-a**2))*(p1-p2)\n",
      "## S_th=(p1*a**2-p2*b**2)/(b**2-a**2)+(a**2*b**2)/(r**2*(b**2-a**2))*(p1-p2)\n",
      "## results\n",
      "## residual stresses for inner cylinder\n",
      "p1=0.\n",
      "p2=ps\n",
      "r=10.\n",
      "a=10.\n",
      "b=25.\n",
      "S_rri1=(p1*a**2.-p2*b**2.)/(b**2.-a**2.)-(a**2.*b**2.)/(r**2.*(b**2.-a**2.))*(p1-p2)\n",
      "S_thi1=(p1*a**2.-p2*b**2.)/(b**2.-a**2.)+(a**2.*b**2.)/(r**2.*(b**2.-a**2.))*(p1-p2)\n",
      "print('\\n Inner cylinder')\n",
      "print'%s %.2f %s'%('\\n r = ',r,' mm')\n",
      "print'%s %.2f %s %.2f %s '%('\\n S_rr|R = ',S_rri1,' MPa'and 'S_th|R = ',S_thi1,' MPa')\n",
      "r=25.\n",
      "S_rri2=(p1*a**2.-p2*b**2.)/(b**2.-a**2.)-(a**2.*b**2.)/(r**2.*(b**2.-a**2.))*(p1-p2)\n",
      "S_thi2=(p1*a**2.-p2*b**2.)/(b**2.-a**2.)+(a**2.*b**2.)/(r**2.*(b**2.-a**2.))*(p1-p2)\n",
      "\n",
      "print'%s %.2f %s'%('\\n r = ',r,' mm')\n",
      "print'%s %.2f %s %.2f %s '%('\\n S_rr|R = ',S_rri2,' MPa'and 'S_th|R = ',S_thi2,' MPa')\n",
      "\n",
      "## residual stresses for outer cylinder\n",
      "p1=ps\n",
      "p2=0.\n",
      "a=25. \n",
      "b=50.\n",
      "r=25.\n",
      "S_rro1=(p1*a**2.-p2*b**2.)/(b**2.-a**2.)-(a**2.*b**2.)/(r**2.*(b**2.-a**2.))*(p1-p2)\n",
      "S_tho1=(p1*a**2.-p2*b**2.)/(b**2.-a**2.)+(a**2.*b**2.)/(r**2.*(b**2.-a**2.))*(p1-p2)\n",
      "print('\\n Outer cylinder')\n",
      "print'%s %.2f %s'%('\\n r =',r,' mm')\n",
      "print'%s %.2f %s %.2f %s '%('\\n S_rr|R = ',S_rro1,' MPa'and '   S_th|R =',S_tho1,' MPa')\n",
      "r=50.\n",
      "S_rro2=(p1*a**2.-p2*b**2.)/(b**2.-a**2.)-(a**2.*b**2.)/(r**2.*(b**2.-a**2.))*(p1-p2)\n",
      "S_tho2=(p1*a**2.-p2*b**2.)/(b**2.-a**2.)+(a**2.*b**2.)/(r**2.*(b**2.-a**2.))*(p1-p2)\n",
      "print'%s %.2f %s'%('\\n r =',r,' mm')\n",
      "print'%s %.2f %s %.2f %s '%('\\n S_rr|R = ',S_rro2,' MPa'and '   S_th|R =',S_tho2,' MPa')\n",
      "\n",
      "## AN internal pressure of 300 MPa\n",
      "a=10. ##mm\n",
      "b=50. ##mm\n",
      "p1=300. ##MPa\n",
      "r=10.\n",
      "S_rr=p1*(a**2.*(r**2.-b**2.))/(r**2.*(b**2.-a**2))\n",
      "S_th=p1*(a**2.*(r**2.+b**2.))/(r**2.*(b**2.-a**2))\n",
      "S_rr1=S_rr+S_rri1\n",
      "S_th1=S_th+S_thi1\n",
      "\n",
      "print('\\n Inner cylinder')\n",
      "print'%s %.2f %s'%('\\n r =',r,' mm')\n",
      "print'%s %.2f %s %.2f %s '%('\\n S_rr|R = ',S_rr1,' MPa'and '   S_th|R =',S_th1,' MPa')\n",
      "\n",
      "r=25.\n",
      "S_rr=p1*(a**2.*(r**2.-b**2.))/(r**2.*(b**2.-a**2.))\n",
      "S_th=p1*(a**2.*(r**2.+b**2.))/(r**2.*(b**2.-a**2.))\n",
      "S_rr2=S_rr+S_rri2\n",
      "S_th2=S_th+S_thi2\n",
      "print'%s %.2f %s'%('\\n r =',r,' mm')\n",
      "print'%s %.2f %s %.2f %s '%('\\n S_rr|R = ',S_rr2,' MPa'and '   S_th|R =',S_th2,' MPa')\n",
      "\n",
      "\n",
      "## Outer Cyllinder\n",
      "S_rr1=S_rr+S_rro1\n",
      "S_th1=S_th+S_tho1\n",
      "\n",
      "print('\\n Outer cylinder')\n",
      "print'%s %.2f %s'%('\\n r = ',r,' mm')\n",
      "print'%s %.2f %s %.2f %s '%('\\n S_rr|R = ',S_rr1,' MPa'and '   S_th|R =',S_th1,' MPa')\n",
      "\n",
      "r=50.\n",
      "S_rr=p1*(a**2.*(r**2.-b**2.))/(r**2.*(b**2.-a**2.))\n",
      "S_th=p1*(a**2.*(r**2.+b**2.))/(r**2.*(b**2.-a**2.))\n",
      "S_rr2=S_rr+S_rro2\n",
      "S_th2=S_th+S_tho2\n",
      "print'%s %.2f %s'%('\\n r =',r,' mm')\n",
      "print'%s %.2f %s %.2f %s '%('\\n S_rr|R = ',S_rr2,' MPa'and '   S_th|R =',S_th2,' MPa')\n",
      "#delT=u/(r*alpha)\n",
      "u=rr+re\n",
      "r=25.\n",
      "delT=u/(r*alpha)\n",
      "print'%s %.2f %s'%('\\n delT = ',delT,' degree Celcius')\n",
      "\n",
      "\n",
      "\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        " Inner cylinder\n",
        "\n",
        " r =  10.00  mm\n",
        "\n",
        " S_rr|R =  -0.00 S_th|R =  -449.92  MPa \n",
        "\n",
        " r =  25.00  mm\n",
        "\n",
        " S_rr|R =  -188.97 S_th|R =  -260.95  MPa \n",
        "\n",
        " Outer cylinder\n",
        "\n",
        " r = 25.00  mm\n",
        "\n",
        " S_rr|R =  -188.97    S_th|R = 314.94  MPa \n",
        "\n",
        " r = 50.00  mm\n",
        "\n",
        " S_rr|R =  0.00    S_th|R = 125.98  MPa \n",
        "\n",
        " Inner cylinder\n",
        "\n",
        " r = 10.00  mm\n",
        "\n",
        " S_rr|R =  -300.00    S_th|R = -124.92  MPa \n",
        "\n",
        " r = 25.00  mm\n",
        "\n",
        " S_rr|R =  -226.47    S_th|R = -198.45  MPa \n",
        "\n",
        " Outer cylinder\n",
        "\n",
        " r =  25.00  mm\n",
        "\n",
        " S_rr|R =  -226.47    S_th|R = 377.44  MPa \n",
        "\n",
        " r = 50.00  mm\n",
        "\n",
        " S_rr|R =  0.00    S_th|R = 150.98  MPa \n",
        "\n",
        " delT =  331.62  degree Celcius\n"
       ]
      }
     ],
     "prompt_number": 3
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Ex4-pg403"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "## initialization of variables\n",
      "#calculate the minimum yeild stress for the steel for a factory of safety \n",
      "SF=1.75\n",
      "p1=300. ##MPa\n",
      "S_rr=-SF*p1\n",
      "S_th=SF*325.\n",
      "Y=1./math.sqrt(2.)*math.sqrt((S_th-S_rr)**2.+S_rr**2.+S_th**2.)\n",
      "print'%s %.2f %s'%(' Y = ',Y,'MPa')\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        " Y =  947.47 MPa\n"
       ]
      }
     ],
     "prompt_number": 4
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Ex5-pg404"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "## initialization of variables\n",
      "#calculate the  minimum yeild stress for the steel \n",
      "p1=300. ##MPa\n",
      "SF=1.75\n",
      "S_rr=SF*p1\n",
      "S_th=SF*325.-550.2 ##Values are obtained from running Ex11_3.sce\n",
      "Y1=1./math.sqrt(2)*math.sqrt((S_th-S_rr)**2+S_rr**2+S_th**2)\n",
      "S_rr1=37.5\n",
      "S_rre=-189.1\n",
      "S_th1=62.5\n",
      "S_the=315.1\n",
      "## ABove values are obtained from running the codes Ex11_1 and Ex11_3.sce\n",
      "S_rr=-SF*S_rr1+S_rre\n",
      "S_th=SF*S_th1+S_the\n",
      "Y2=1./math.sqrt(2)*math.sqrt((S_th-S_rr)**2+S_rr**2+S_th**2)\n",
      "if(Y2>Y1):\n",
      "    Y=Y2\n",
      "\n",
      "print'%s %.2f %s'%(' Y = ',Y,' MPa')\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        " Y =  594.30  MPa\n"
       ]
      }
     ],
     "prompt_number": 5
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Ex6-pg407"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "import numpy\n",
      "## initialization of variables\n",
      "#calculate the  fully plastic internal pressure and maximum circurmfential and axial radial stress\n",
      "SF=1.8\n",
      "a=20. ##mm\n",
      "b=40. ##mm\n",
      "Y=450. ##MPa\n",
      "##part (a)\n",
      "tau_Y=Y/math.sqrt(3)\n",
      "Pp=2.*tau_Y*math.log(b/a)\n",
      "S_th=2.*tau_Y*(1-math.log(b/a))\n",
      "S_rr=-Pp\n",
      "S_zz=(S_th+S_rr)/2.\n",
      "print('part (a)')\n",
      "print'%s %.2f %s'%('\\n S_th = ',S_th,' MPa')\n",
      "print'%s %.2f %s'%('\\n S_zz = ',S_zz,' MPa')\n",
      "## part (b)\n",
      "S_thR=S_th-Pp*(b**2.+a**2.)/(b**2.-a**2.)\n",
      "S_zzR=S_zz-Pp*(a**2.)/(b**2.-a**2.)\n",
      "S_thR=S_thR/2.\n",
      "S_zzR=S_zzR/2.\n",
      "print('\\n part (b)')\n",
      "print'%s %.2f %s'%('\\n S_th|R = ',S_thR,' MPa')\n",
      "print'%s %.2f %s'%('\\n S_zz|R = ',S_zzR,' MPa')\n",
      "## par (c)\n",
      "## We need to find out p1. To do that let it be unity\n",
      "p1=1.\n",
      "S_thR=-S_thR\n",
      "S_zzR=-S_zzR\n",
      "S_rr=-SF*p1\n",
      "S_th=SF*p1*(b**2.+a**2.)/(b**2.-a**2.)\n",
      "S_zz=SF*p1*a**2./(b**2.-a**2.)\n",
      "## 2Y**2=(s_th-S_rr)**2+(S_rr-S_zz)**2+(S_zz-S_th)**2\n",
      "## S_th=S_th*p1-S_thR\n",
      "## S_zz=S_zz*p1-S_zzR\n",
      "## a*p1**2+b*p+c=0\n",
      "a=(S_th+SF)**2.+(-SF-S_zz)**2.+(S_zz-S_th)**2.\n",
      "c=S_thR**2+S_zzR**2.+(S_thR-S_zzR)**2.\n",
      "b=-2.*(S_th+SF)*S_thR+2.*S_zzR*(-SF-S_zz)+2.*(S_zz-S_th)*(S_thR-S_zzR)\n",
      "c=c-2.*Y**2.\n",
      "p11=numpy.roots([a, b ,c])\n",
      "p12=numpy.roots([a ,0 ,-2*Y**2])\n",
      "p11=p11[0]\n",
      "p12=p12[0]\n",
      "print'%s %.2f %s'%('\\n Internal working pressure is ',p11,' MPa,')\n",
      "print'%s %.2f %s'%('\\n Without residual stresses ',p12,' MPa')\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "part (a)\n",
        "\n",
        " S_th =  159.45  MPa\n",
        "\n",
        " S_zz =  -100.36  MPa\n",
        "\n",
        " part (b)\n",
        "\n",
        " S_th|R =  -220.42  MPa\n",
        "\n",
        " S_zz|R =  -110.21  MPa\n",
        "\n",
        " Internal working pressure is  154.17  MPa,\n",
        "\n",
        " Without residual stresses  108.25  MPa\n"
       ]
      }
     ],
     "prompt_number": 6
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Ex8-pg415"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "## initialization of variables\n",
      "#calculate the  angular velocity\n",
      "a=100. ##mm\n",
      "b=300. ##mm\n",
      "Y=620. ##MPa\n",
      "E=200. ##GPa\n",
      "S_zz=0.\n",
      "v=0.29\n",
      "rho=7.85e+03 ##kg/m**3\n",
      "## part (a)\n",
      "S_thmax=Y\n",
      "Wy=math.sqrt(4.*Y/(rho*((3.+v)*b**2.+(1.-v)*a**2.)))\n",
      "print('part (a)')\n",
      "print'%s %.2f %s'%('\\n Omega_y =',Wy*10**6,' rad/s')\n",
      "## part (b)\n",
      "Wp=math.sqrt(3.*Y/(rho*(b**2.+a*b+a**2.)))\n",
      "ratio=Wp/Wy\n",
      "print'%s %.2f %s'%('\\n Omega_p = ',Wp*10**6,' rad/s')\n",
      "print'%s %.2f %s'%('\\n ratio =',ratio,'')\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "part (a)\n",
        "\n",
        " Omega_y = 1020.77  rad/s\n",
        "\n",
        " Omega_p =  1350.05  rad/s\n",
        "\n",
        " ratio = 1.32 \n"
       ]
      }
     ],
     "prompt_number": 7
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Ex9-pg417"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "## initialization of variables\n",
      "#calculate the residual stress \n",
      "a=100. ##mm\n",
      "b=300. ##mm\n",
      "v=0.29\n",
      "a=a*10**-3\n",
      "b=b*10**-3\n",
      "print('r     S_rr|R/Y     S_th|R/Y     (S_th/R-S_rr/R)/Y')\n",
      "for i in range(1,21):\n",
      "    r=0.09+0.01*i\n",
      "S_rrR=((r-a)/r - 3./(b**2.+a*b+a**2)*((r**3.-a**3.)/(3.*r) + (3.+v)/8.*(a**2.+b**2.-r**2-a**2.*b**2./r**2.)))\n",
      "S_thR=(1.- 3./(8.*(b**2.+a*b+a**2.)) * ((3.+v)*(a**2+b**2+a**2*b**2./r**2.) - (1.+3.*v)*r**2.)) \n",
      "\n",
      "\n",
      "print'%s %.2f %s %.2f %s %.2f %s  %.2f %s '%('',r,''and '',S_rrR,''and '',S_thR,''and '',S_rrR-S_thR,'')"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "r     S_rr|R/Y     S_th|R/Y     (S_th/R-S_rr/R)/Y\n",
        " 0.29  -0.01  0.40   -0.42  \n"
       ]
      }
     ],
     "prompt_number": 8
    }
   ],
   "metadata": {}
  }
 ]
}