{
 "metadata": {
  "name": "",
  "signature": "sha256:8fbfdaa034f011c9304b20c16adbf915d0a8f58f4b89051b6e8db7227dd1440f"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": [
      "Chapter 7 : Flow Under Varying Head"
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.1 Page No : 139"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math \n",
      "from scipy.integrate import quad\n",
      "\n",
      "#initialisation of variables\n",
      "g= 32.2 \t#ft/sec**2\n",
      "d= 6.    \t#ft\n",
      "di= 2. \t    #in\n",
      "h= 9. \t    #ft\n",
      "Cd= 0.6\n",
      "\n",
      "#CALCULATIONS\n",
      "def fun(H):\n",
      "    return H**-0.5*(d/2)**2*math.pi/(Cd*math.pi*math.sqrt(2*g)/144)\n",
      "\n",
      "\n",
      "vec2=quad(fun,0,h)\n",
      "T= vec2[0]\n",
      "\n",
      "#RESULTS\n",
      "print  'Time to emptify = %.f sec'%(T)\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Time to emptify = 1615 sec\n"
       ]
      }
     ],
     "prompt_number": 2
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.2 Page No : 140"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math \n",
      "from scipy.integrate import quad\n",
      "\n",
      "#initialisation of variables\n",
      "d1= 4.  \t#ft\n",
      "d2= 2. \t    #in\n",
      "l= 300. \t#ft\n",
      "P= 5. \t    #lb/in**2\n",
      "h1= 3. \t    #ft\n",
      "h2= 6. \t    #ft\n",
      "f= 0.01\n",
      "\n",
      "#CALCULATIONS\n",
      "X= P*2.31*10*(d2/12)**5/(f*l)\n",
      "A= math.pi*d1**2/4\n",
      "\n",
      "def fun(h):\n",
      "    return A*math.sqrt((P*2.31*10*(d2/12)**5/(f*l))-(10*(d2/12)**5*h/(f*l)))/(10*(d2/12)**5/(f*l))/7\n",
      "\n",
      "vec2=quad(fun,h1,h2)\n",
      "T= vec2[0]\n",
      "\n",
      "#RESULTS\n",
      "print  'time for the channel to fall = %.2f sec'%(T)\n",
      "\n",
      "# rounding error"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "time for the channel to fall = 689.35 sec\n"
       ]
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.3 Page No : 141"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "from scipy.integrate import quad\n",
      "import math \n",
      "\n",
      "#initialisation of variables\n",
      "d= 10. \t#in\n",
      "l= 15. \t#ft\n",
      "di= 3. \t#in\n",
      "Cd= 0.62 \n",
      "g=32.2\n",
      "\n",
      "#CALCULATIONS\n",
      "def fun(H):\n",
      "    return -l*2*math.sqrt((d/2)**2-((d/2)-H)**2)/(Cd*(math.pi*(di/12)**2/4)*H**0.5*math.sqrt(2*g))\n",
      "\n",
      "vec2=quad(fun,0,d/2)\n",
      "T= vec2[0]\n",
      "secs = -T%60\n",
      "mins = -T/60\n",
      "#RESULTS\n",
      "print  'time for the channel to fall = %d mins and %d seconds'%(mins,secs)\n",
      "\n",
      "# rounding error"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "time for the channel to fall = 27 mins and 54 seconds\n"
       ]
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.4 Page No : 142"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math \n",
      "from scipy.integrate import quad\n",
      "\n",
      "#initialisation of variables\n",
      "h= 4. \t#ft\n",
      "w= 6. \t#ft\n",
      "l= 100. \t#yd\n",
      "a= 60. \t#degrees\n",
      "h1= 3. \t#ft\n",
      "h2= 2. \t#ft\n",
      "Cd= 0.6\n",
      "g=32.2   \t#ft/s**2\n",
      "\n",
      "#CALCULATIONS\n",
      "A= l*3*w\n",
      "def fun(H):\n",
      "    return -A*H**-2.5/(Cd*(8./15)*(math.tan(math.radians(a/2)))*math.sqrt(2*g))\n",
      "\n",
      "vec2=quad(fun,h1,(h1-h2))\n",
      "T= vec2[0]\n",
      "\n",
      "#RESULTS\n",
      "print  'time for the channel to fall = %.f sec'%(T)\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "time for the channel to fall = 654 sec\n"
       ]
      }
     ],
     "prompt_number": 14
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.5 Page No : 143"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math \n",
      "\n",
      "#initialisation of variables\n",
      "A= 1./16 \t#mile**2\n",
      "d= 2. \t#ft\n",
      "h= 18. \t#ft\n",
      "h1= 5. \t#ft\n",
      "f= 0.006\n",
      "l= 200. \t#ft\n",
      "h2= 10. \t#ft\n",
      "g= 32.2 \t#ft/sec**2\n",
      "\n",
      "#CALCULATIONS\n",
      "X= math.sqrt(1./((1.5+(4*f*l/d))/(2*g)))\n",
      "def fun(H):\n",
      "    return A*5280**2*H**-0.5/(math.pi*d**2*X/4)\n",
      "\n",
      "vec2=quad(fun,h-h1,h)\n",
      "T= vec2[0]\n",
      "hours = T/3600\n",
      "mins = T%3600/60\n",
      "\n",
      "#RESULTS\n",
      "print  'time for the channel to fall = %d hours and %d mins sec'%(hours,round(mins,-1))\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "time for the channel to fall = 48 hours and 20 mins sec\n"
       ]
      }
     ],
     "prompt_number": 2
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.6 Page No : 144"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math \n",
      "\n",
      "#initialisation of variables\n",
      "l= 8. \t#ft\n",
      "b= 6. \t#ft\n",
      "h= 10. \t#ft\n",
      "r= 3.\n",
      "Cd= 0.6\n",
      "A1= 36. \t#ft**2\n",
      "A2= 12. \t#ft**2\n",
      "l1= 6. \t#ft\n",
      "h1= 1. \t#ft\n",
      "d= 2. \t#in\n",
      "g=32.2 \t#ft/s**2\n",
      "\n",
      "#CALCULATIONS\n",
      "def fun(H):\n",
      "    return H**-0.5/(Cd*(math.pi*(d/12)**2/4)*math.sqrt(2*g)*((1/A1)+(1/A2)))\n",
      "\n",
      "vec2=quad(fun,0,(b-h1))\n",
      "T= vec2[0]\n",
      "\n",
      "#RESULTS\n",
      "print  'time for the levels to become equal = %.f sec'%(T)\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "time for the levels to become equal = 383 sec\n"
       ]
      }
     ],
     "prompt_number": 17
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.7 Page No : 145"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math \n",
      "\n",
      "#initialisation of variables\n",
      "h1= 3. \t#ft\n",
      "h2= 4. \t#ft diameter\n",
      "r= 0.95 \t#m**-1\n",
      "k= 27.65 \t#sec\n",
      "Cd= 0.95\n",
      "\n",
      "#CALCULATIONS\n",
      "T= k*(math.log(r*math.sqrt(h2)-1)+(r*math.sqrt(h2)-1))-k*(math.log(r*math.sqrt(h1)-1)+(r*math.sqrt(h1)-1))\n",
      "h= ((h2-h1)/Cd)**2\n",
      "\n",
      "#RESULTS\n",
      "print  'Time = %.2f sec'%(T)\n",
      "print  ' Increase in water level = %.2f ft'%(h)\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Time = 16.23 sec\n",
        " Increase in water level = 1.11 ft\n"
       ]
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.8 Page No : 146"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math \n",
      "\n",
      "#initialisation of variables\n",
      "t= 75. \t#sec\n",
      "h= 10.5 \t#in constant\n",
      "h1= 13.5 \t#in\n",
      "\n",
      "#CALCULATIONS\n",
      "r= t*math.pi*math.sqrt(2*h**2)/math.log((math.sqrt(2*h1**2)+h1)/(math.sqrt(2*h**2)-h))\n",
      "t= -r*((1/h1)-(1/h))\n",
      "\n",
      "#RESULTS\n",
      "print  'A/K = %.f '%(r)\n",
      "print  ' Time taken = %.1f sec'%(t)\n",
      "\n",
      "# rounding off error"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "A/K = 1737 \n",
        " Time taken = 36.8 sec\n"
       ]
      }
     ],
     "prompt_number": 2
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.9 Page No : 148"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math \n",
      "\n",
      "#initialisation of variables\n",
      "g= 9.8 \t#m/sec**2\n",
      "h1= 10. \t#in\n",
      "h2= 12. \t#in\n",
      "r1= 1.32\n",
      "r2= 1.56\n",
      "r3= 1.97\n",
      "r4= 4.10\n",
      "r5= 2.64\n",
      "\n",
      "#CALCULATIONS\n",
      "Q= math.sqrt(32.2)*(h2/18)**1.5\n",
      "T= 10**5*(r1+2*r3+r4+4*(r3+r5))/(6*h2*60*60)\n",
      "\n",
      "#RESULTS\n",
      "print  'Actual discharge = %.2f CBH**1.5 cuses'%(Q)\n",
      "print  ' Time = %.1f  hr'%(T)\n",
      "\n",
      "#The answer is a bit different due to rounding off error in textbook\n",
      "\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Actual discharge = 3.09 BH**1.5 cuses\n",
        " Time = 10.7  hr\n"
       ]
      }
     ],
     "prompt_number": 20
    }
   ],
   "metadata": {}
  }
 ]
}