From 6e3407ba85ae84e1cee1ae0c972fd32c5504d827 Mon Sep 17 00:00:00 2001 From: tslee Date: Thu, 27 Nov 2014 17:17:59 +0530 Subject: added books --- Principles_Of_Fluid_Mechanics/README.txt | 10 + Principles_Of_Fluid_Mechanics/ch1.ipynb | 275 +++++ Principles_Of_Fluid_Mechanics/ch10.ipynb | 200 ++++ Principles_Of_Fluid_Mechanics/ch11.ipynb | 284 +++++ Principles_Of_Fluid_Mechanics/ch2.ipynb | 823 ++++++++++++++ Principles_Of_Fluid_Mechanics/ch3.ipynb | 101 ++ Principles_Of_Fluid_Mechanics/ch4.ipynb | 346 ++++++ Principles_Of_Fluid_Mechanics/ch5.ipynb | 1167 ++++++++++++++++++++ Principles_Of_Fluid_Mechanics/ch6.ipynb | 236 ++++ Principles_Of_Fluid_Mechanics/ch7.ipynb | 1067 ++++++++++++++++++ Principles_Of_Fluid_Mechanics/ch8.ipynb | 532 +++++++++ Principles_Of_Fluid_Mechanics/ch9.ipynb | 152 +++ .../screenshots/10TheBoundaryLayer.png | Bin 0 -> 145559 bytes .../screenshots/1BasicConcepts.png | Bin 0 -> 145023 bytes .../screenshots/9PotentialFlow.png | Bin 0 -> 147703 bytes 15 files changed, 5193 insertions(+) create mode 100644 Principles_Of_Fluid_Mechanics/README.txt create mode 100644 Principles_Of_Fluid_Mechanics/ch1.ipynb create mode 100644 Principles_Of_Fluid_Mechanics/ch10.ipynb create mode 100644 Principles_Of_Fluid_Mechanics/ch11.ipynb create mode 100644 Principles_Of_Fluid_Mechanics/ch2.ipynb create mode 100644 Principles_Of_Fluid_Mechanics/ch3.ipynb create mode 100644 Principles_Of_Fluid_Mechanics/ch4.ipynb create mode 100644 Principles_Of_Fluid_Mechanics/ch5.ipynb create mode 100644 Principles_Of_Fluid_Mechanics/ch6.ipynb create mode 100644 Principles_Of_Fluid_Mechanics/ch7.ipynb create mode 100644 Principles_Of_Fluid_Mechanics/ch8.ipynb create mode 100644 Principles_Of_Fluid_Mechanics/ch9.ipynb create mode 100644 Principles_Of_Fluid_Mechanics/screenshots/10TheBoundaryLayer.png create mode 100644 Principles_Of_Fluid_Mechanics/screenshots/1BasicConcepts.png create mode 100644 Principles_Of_Fluid_Mechanics/screenshots/9PotentialFlow.png (limited to 'Principles_Of_Fluid_Mechanics') diff --git a/Principles_Of_Fluid_Mechanics/README.txt b/Principles_Of_Fluid_Mechanics/README.txt new file mode 100644 index 00000000..89034682 --- /dev/null +++ b/Principles_Of_Fluid_Mechanics/README.txt @@ -0,0 +1,10 @@ +Contributed By: Nirav Lalani +Course: be +College/Institute/Organization: Freelancer +Department/Designation: Computer Science +Book Title: Principles Of Fluid Mechanics +Author: M. K. Natarajan +Publisher: Oxford and IBH Publishing Co. +Year of publication: 1984 +Isbn: 8120408888 +Edition: 3 \ No newline at end of file diff --git a/Principles_Of_Fluid_Mechanics/ch1.ipynb b/Principles_Of_Fluid_Mechanics/ch1.ipynb new file mode 100644 index 00000000..947959aa --- /dev/null +++ b/Principles_Of_Fluid_Mechanics/ch1.ipynb @@ -0,0 +1,275 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:5f74478ce49dffc1b551f32fb2744aa025f82f0e4c0a37162dfc5c9eb6e76508" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 1 : Basic Concepts" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1.1 Page No : 5" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "weight = 9800. \t\t\t#Kg\n", + "g = 9.81 \t\t\t#m/s**2\n", + "a = 2. \t\t \t#m/s**2\n", + "\t\t\t\n", + "#calculations\n", + "m = weight/g\n", + "Wm = m*a\n", + "\t\t\t\n", + "#results\n", + "print \"Density on earth = %.2f Kg/m**3\"%(m)\n", + "print \" Weight on moon = %.2f N\"%(Wm)\n", + "print \" Density on moon remains unchanged and is equal to %.2f Kg/m**3\"%(m)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Density on earth = 998.98 Kg/m**3\n", + " Weight on moon = 1997.96 N\n", + " Density on moon remains unchanged and is equal to 998.98 Kg/m**3\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1.2 Page No : 14" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "w = 150. \t\t\t#N\n", + "theta = 30. \t\t\t#degrees\n", + "l = 0.8 \t\t\t#m\n", + "b = 0.8 \t\t\t#m\n", + "dy = 0.12 \t\t\t#cm\n", + "v = 20. \t\t\t#cm/s\n", + "\t\t\t\n", + "#calculations\n", + "Tau = round(w*math.sin(math.radians(theta)) /(l*b),2) #shear stress\n", + "rd = v/dy #rate of deformation\n", + "vis = Tau/rd #viscosity\n", + "\n", + "#results\n", + "print \"Viscosity of the fluid = %.2f N s/m**2\"%(vis)\n", + "\n", + "# incorrect solution for 'rate of deformation' in textbook" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Viscosity of the fluid = 0.70 N s/m**2\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1.3 Page No : 14" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "vis = 2.5/10 \t\t\t#N s/m**2\n", + "D = 15. \t\t\t#cm\n", + "N = 180.\n", + "dy = 0.0001 \t\t\t#m\n", + "l = 0.15 \t\t\t#length - m\n", + "b = 0.25 \t\t\t#breadth - m\n", + "r = 0.152 \t\t\t#radius - m\n", + "\t\t\t\n", + "#calculations\n", + "dv = math.pi*D*N/60/100\n", + "Tau = vis*dv/dy\n", + "Tor = round(Tau*math.pi*l*b*r/2,1)\n", + "P = Tor*2*math.pi*N/60\n", + "print \t\t\t\n", + "#results\n", + "print \"Power required = %d W\"%(P)\n", + "\n", + "# Note : The answer is different due to rounding off error in textbook." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Power required = 595 W\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1.4 Page No : 15" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "w = 1 \t\t\t#rad/s\n", + "T = 0.4 \t\t\t#N/m**2\n", + "\t\t\t\n", + "#calculations\n", + "mu = T/math.tan(w)\n", + "\t\t\t\n", + "#results\n", + "print \"Viscosity = %.2f N s/m**2\"%(mu)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Viscosity = 0.26 N s/m**2\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1.6 Page No : 19" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "d = 0.05*10**-3 \t#diameter - m\n", + "T = 72.*10**-3 \t\t#surface tension of water - N/m\n", + "P = 101. \t\t\t#pressure - kN/m**2\n", + "\t\t\t\n", + "#calculations\n", + "Pi = P*1000 + 2*T/(d/2)\n", + "\t\t\t\n", + "#results\n", + "print \"Pressure = %.2f kN/m**2\"%(Pi/1000)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Pressure = 106.76 kN/m**2\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1.7 Page No : 19" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "rho = 981. \t\t\t#dyn/cm**2\n", + "sigma = 72. \t\t\t#dyn/cm\n", + "theta = 0. \t \t\t#degrees\n", + "d = 0.5 \t\t \t#cm\n", + "depth = 90. \t\t\t#cm\n", + "\t\t\t\n", + "#calculations\n", + "h = 4*sigma*math.cos(math.radians(theta)) /(rho*d)\n", + "Td = depth-h\n", + "\t\t\t\n", + "#results\n", + "print \"True depth = %.3f cm\"%(Td)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "True depth = 89.413 cm\n" + ] + } + ], + "prompt_number": 17 + } + ], + "metadata": {} + } + ] +} \ No newline at end of file diff --git a/Principles_Of_Fluid_Mechanics/ch10.ipynb b/Principles_Of_Fluid_Mechanics/ch10.ipynb new file mode 100644 index 00000000..83f386c6 --- /dev/null +++ b/Principles_Of_Fluid_Mechanics/ch10.ipynb @@ -0,0 +1,200 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:be59baaa0b424ca36821aba74f7944f301ffd891c617783ec6544d131134dbbb" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 10 : The Boundary Layer" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.1 Page No : 379" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "v = 30. \t\t\t#velocity - m/s\n", + "nu = 1.5e-5 \t\t\t#m**2/s\n", + "\t\t\t\n", + "#calculations\n", + "Re = 5*10**5\n", + "xc = Re*nu/v\n", + "\t\t\t\n", + "#results\n", + "print \"Transistion region = %.2f m\"%(xc)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Transistion region = 0.25 m\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.2 Page No : 388" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "u = 2. \t\t\t #velocity - m/s\n", + "x = 0.15 \t\t\t#length - m\n", + "nu = 1.5e-5 \t\t#m**2/s\n", + "B = 0.5 \t\t\t#m\n", + "rho = 1.22 \t\t\t#kg/m**3\n", + "\n", + "#calcualtions\n", + "Rx = u*x/nu\n", + "delta = 4.91*x/math.sqrt(Rx)\n", + "deltas = 1.729*x/math.sqrt(Rx)\n", + "Cf = 1.328/math.sqrt(Rx)\n", + "Ff = Cf*0.5*rho*u**2 *2*B*x\n", + "\t\t\t\n", + "#results\n", + "print \"Boundary layer thickness = %.2f cm\"%(delta*100)\n", + "print \" Displacement thickness = %.2f cm\"%(deltas*100)\n", + "print \" Average drag coeffcient = %.4f\"%(Cf)\n", + "print \" Drag force = %.4f N\"%(Ff)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Boundary layer thickness = 0.52 cm\n", + " Displacement thickness = 0.18 cm\n", + " Average drag coeffcient = 0.0094\n", + " Drag force = 0.0034 N\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.5 Page No : 400" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "U = 172.*1000/3600 \t\t\t#m/s\n", + "w = 3. \t \t\t#m\n", + "h = 3. \t\t \t#m\n", + "L = 100. \t\t\t #m\n", + "nu = 1.5e-5 \t\t\t#m**2/s\n", + "rho = 1.22 \t \t\t#kg/m**3\n", + "\t\t\t\n", + "#calculations\n", + "Rl = U*L/nu\n", + "Cf = 0.074 /(Rl**(1./5))\n", + "Ff = Cf*0.5*rho*U**2 *w*h*L\n", + "power = Ff*U\n", + "\t\t\t\n", + "#results\n", + "print \"power required = %.1f kW\"%(power/1000)\n", + "#The answer is a bit different due to rounding off error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "power required = 88.3 kW\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.6 Page No : 400" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "U = 4000. \t\t \t#m/s\n", + "L = 8. \t\t \t#m\n", + "nu = 3600.e-6 \t\t\t#m**2/s\n", + "rho = 1000. \t\t\t#kg/m**3\n", + "b = 5. \t\t\t#m\n", + "\t\t\t\n", + "#calculations\n", + "Rl = U*L/nu\n", + "Cf = 0.074/Rl**(1./5) -1700/Rl\n", + "Ff = Cf*0.5*rho*(U/3600)**2 *L*b\n", + "\t\t\t\n", + "#results\n", + "print \"Skin friction drag = %.2f N\"%(Ff)\n", + "\n", + "# note : rounding off error." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Skin friction drag = 69.75 N\n" + ] + } + ], + "prompt_number": 1 + } + ], + "metadata": {} + } + ] +} \ No newline at end of file diff --git a/Principles_Of_Fluid_Mechanics/ch11.ipynb b/Principles_Of_Fluid_Mechanics/ch11.ipynb new file mode 100644 index 00000000..c955d372 --- /dev/null +++ b/Principles_Of_Fluid_Mechanics/ch11.ipynb @@ -0,0 +1,284 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:bc810be53841861ce90eab0fd4e6714fb575581f40efe36263891984b30579a4" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 11 : Forces on Immersed Bodies" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.1 Page No : 413" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "d = 1.2 \t\t \t#diameter - m\n", + "w = 1. \t \t\t #m\n", + "U = 60.*1000/3600 \t\t\t#speed - m/s\n", + "nu = 1.5e-5 \t\t\t#m**2/s\n", + "Cd = 0.4\n", + "rho = 1.22 \t\t \t#kg/m**3\n", + "\t\t\t\n", + "#calculations\n", + "Rn = U*d/nu\n", + "A = d*w\n", + "Fd = Cd*0.5*rho*U**2 *A\n", + "M = 0.5*Fd\n", + "\t\t\t\n", + "#results\n", + "print \"Bending moment = %.2f h**2 N m\"%(M)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Bending moment = 40.67 h**2 N m\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.2 Page No : 415" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "d = 0.006 \t\t\t#diameter - m\n", + "U = 0.01 \t\t\t#m/s\n", + "gaml = 8000. \t\t#specific weight - N/m**3\n", + "gams = 7.9*10**3 *9.81\n", + "mu = 13.9 \n", + "\t\t\t\n", + "#calculations\n", + "mu = d**2 /18 *(gams - gaml)/U\n", + "RN = U*d*(gaml/9.81) /mu\n", + "\t\t\t\n", + "#results\n", + "print \"Viscosity of oil = %.1f Ns /m**2\"%(mu)\n", + "print \"Reynolds number of motion is = %.3f\"%RN\n", + "\n", + "# rounding off error. please check." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Viscosity of oil = 13.9 Ns /m**2\n", + "Reynolds number of motion is = 0.004\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.3 Page No : 416" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "\t\t\t\n", + "#Initialization of variables\n", + "s = 2.7\n", + "gamw = 9810. \t\t\t#N/m**3\n", + "mu = 0.001 \t\t\t#Ns/m**2\n", + "d = 0.15*10**-3 \t\t\t#m\n", + "rho = 1000. \t\t\t#kg/m**3\n", + "\t\t\t\n", + "#calculations\n", + "gams = s*gamw\n", + "U = d**2 *(gams-gamw)/(18*mu)\n", + "RN = U*d*rho/mu\n", + "Cd = (1+ 3./16 *RN)**0.5 *(24/RN)\n", + "U22 = 4./3 *d*(gams-gamw) /(Cd*rho)\n", + "U2 = math.sqrt(U22)\n", + "\t\t\t\n", + "#results\n", + "print \"Settling velocity of sand in case 1 = %.2f m/s\"%(U)\n", + "print \" Settling velocity of sand in case 2 = %.4f m/s\"%(U2)\n", + "#The answer is a bit different due to rounding off error." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Settling velocity of sand in case 1 = 0.02 m/s\n", + " Settling velocity of sand in case 2 = 0.0186 m/s\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.4 Page No : 417" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "A = 2. \t\t\t#area - m**2\n", + "U = 100*1000./3600 \t\t\t#speed-m/s\n", + "Cd = 0.32\n", + "rho = 1.24\n", + "\t\t\t\n", + "#calculations\n", + "Fd = Cd*0.5*rho*U**2 *A\n", + "P = Fd*U\n", + "\t\t\t\n", + "#results\n", + "print \"Power required = %.1f kW\"%(P/1000)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Power required = 8.5 kW\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.5 Page No : 417" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "ratio = 0.15\n", + "\t\t\t\n", + "#calculations\n", + "VU = (1/(1-ratio))**(1./3)\n", + "percent = (VU-1)*100\n", + "\t\t\t\n", + "#results\n", + "print \"percent increase in speed = %.1f %%\"%(percent)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "percent increase in speed = 5.6 %\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.6 Page No : 419" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "from sympy import Symbol,solve\n", + "\t\t\t\n", + "#Initialization of variables\n", + "U = 50.*1000/3600 \t\t\t#speed - m/s\n", + "cd1 = 0.34\n", + "cd2 = 1.33\n", + "\t\t\t\n", + "#calculations\n", + "print (\"On solving for both convex and concave surfaces,\")\n", + "w = Symbol(\"w\")\n", + "ans = solve(1.98*(13.98 - 0.25*w) - (13.88 + 0.25*w))\n", + "w = ans[0]\n", + "N = w/(2*math.pi) *60\n", + "\n", + "#results\n", + "print \"rotational speed = %.1f rpm\"%(N)\n", + "\n", + "# note : value of w is slightly different because of sympy inbuilt method solve. but it is very accurate." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "On solving for both convex and concave surfaces,\n", + "rotational speed = 176.9 rpm\n" + ] + } + ], + "prompt_number": 4 + } + ], + "metadata": {} + } + ] +} \ No newline at end of file diff --git a/Principles_Of_Fluid_Mechanics/ch2.ipynb b/Principles_Of_Fluid_Mechanics/ch2.ipynb new file mode 100644 index 00000000..a8c9b316 --- /dev/null +++ b/Principles_Of_Fluid_Mechanics/ch2.ipynb @@ -0,0 +1,823 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:29c2c55c7f92ba07b1426c985419398b6baf83f563e8d0219eeaa4d84ad525c8" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 2 : Fluid Statics" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.1 Page No : 44" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "h1 = 1.5 \t\t\t#m\n", + "h2 = 2. \t\t\t#m\n", + "g1 = 800. \t\t\t#kg/m**3\n", + "g2 = 1000. \t\t\t#kg/m**3\n", + "g = 9.81\n", + "\t\t\t\n", + "#calculations\n", + "P = h1*g*g1 + h2*g*g2\n", + "\t\t\t\n", + "#results\n", + "print \"Pressure at the bottom of the vessel = %.2f kN/m**2\"%(P/1000)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Pressure at the bottom of the vessel = 31.39 kN/m**2\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.2 Page No : 44" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "depth = 8000. \t\t\t#m\n", + "sw = 10.06 \t\t\t#kN/m**3\n", + "BM = 2.05*10**9 \t\t\t#N/m**2\n", + "\t\t\t\n", + "#calculations\n", + "g = sw*10**3 /(1- sw*10**3 *depth/BM)\n", + "Ph = 2.3*BM*math.log10(BM/(BM-depth*9.81*1025))\n", + "\t\t\t\n", + "#results\n", + "print \"Specific weight = %.2f kN/m**2\"%(g/1000)\n", + "print \" Pressure at depth h = %.2f MN/m**2\"%(Ph/10**6)\n", + "\n", + "# note : rounding off error." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Specific weight = 10.47 kN/m**2\n", + " Pressure at depth h = 81.97 MN/m**2\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.3 Page No : 55" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "Patm = 101.3/9.81 \t\t\t#m of water\n", + "x1 = 0.45 \t\t\t#m\n", + "x2 = 0.3 \t\t\t#m\n", + "s1 = 920. \t\t\t#Kg/m**3\n", + "s2 = 13.6 \t\t\t#Kg/m**3\n", + "g = 9.81 \t\t\t#m/s**2\n", + "\t\t\t\n", + "#calculations\n", + "Pa = (s1*x1*g + s2*x2*g)/1000\n", + "Pa2 = Pa*10**3/(1000*g)\n", + "Pa3 = Pa/(s2)\n", + "\t\t\t\n", + "#results\n", + "print \"Pressure at A = %.1f kPa\"%Pa\n", + "print \" Pressure at A = %.3f m of water\"%(Pa2)\n", + "print \" Pressure at A = %.3f m of mercury\"%(Pa3)\n", + "print \" Pressure at A = %.1f m of water absolute\"%(Pa/1000 +101.3)\n", + "print \" Pressure at A = %.3f m of mercury\"%(Pa2+10.3)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Pressure at A = 4.1 kPa\n", + " Pressure at A = 0.418 m of water\n", + " Pressure at A = 0.302 m of mercury\n", + " Pressure at A = 101.3 m of water absolute\n", + " Pressure at A = 10.718 m of mercury\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.4 Page No : 55" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "sg = 1.25 # gravity\n", + "d = 0.5 \t\t\t#m\n", + "d2 = 13.5*10**-2\t#m\n", + "sw = 9.81 \t\t\t#specific weight of water - kN/m**2\n", + "\t\t\t\n", + "#calculations\n", + "sl = sg*sw #specific weight of liquid\n", + "sm = 13.6*sw #specfic weight of mercury\n", + "Pa = sl*d - sm*d2\n", + "\t\t\t\n", + "#results\n", + "print \"Pressure at A = %.2f kN/m**2 vacuum \"%(-Pa)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Pressure at A = 11.88 kN/m**2 vacuum \n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.5 Page No : 56" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "#Following values are ontained from the figure 2.17\n", + "s1 = 0.85\n", + "s2 = 13.6\n", + "z1 = 30\n", + "z2 = 15\n", + "z3 = 20\n", + "z4 = 35\n", + "z5 = 60\n", + "\t\t\t\n", + "#calculations\n", + "dHa = s1*(z1+z5+z3-z4) +s2*z4 -z3+s2*z2-s1*(z1+z2) #Ha-Hb\n", + "Pd = 1000*9.81*dHa/100 #Pa-Pb\n", + "\t\t\t\n", + "#results\n", + "print \"Pressure difference = %.2f kN/m**2\"%(Pd/1000)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Pressure difference = 67.25 kN/m**2\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.6 Page No : 57" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "P = 450 \t\t\t#pressure - kN/m**2\n", + "alt = 2000 \t\t\t#altitude - m\n", + "r = 610 \t\t\t#atmospheric pressure - mm of mercury\n", + "\t\t\t\n", + "#calculations\n", + "Pat = 760-r\n", + "Pat2 = Pat*13.6*9.81*10**-3\n", + "Pg = Pat2+P\n", + "\t\t\t\n", + "#results\n", + "print \"Gauge reading = %.2f kN/m**2\"%(Pg)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Gauge reading = 470.01 kN/m**2\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.7 Page No : 62" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#kN/m**2\n", + "hc = 16.25 \t\t\t#m\n", + "w = 1.5 \t\t\t#width - m\n", + "b = 2.5 \t\t\t#depth - m\n", + "f = 0.3 #coefficient of friction\n", + "Pi = 50. \t\t\t#weight of gate - kN\n", + "\t\t\t\n", + "#calculations\n", + "P = g*hc*w*b\n", + "Preq = Pi+f*P\n", + "\t\t\t\n", + "#results\n", + "print \"Force required to lift the gate = %.2f kN\"%(Preq)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Force required to lift the gate = 229.34 kN\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.8 Page No : 62" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "a = 6. \t\t\t#m\n", + "b = 8. \t\t\t#m\n", + "\t\t\t\n", + "#calculations\n", + "Ixy = 9./32 *b**4 /4\n", + "xp = Ixy/(2./3 *b *1./2 *a*b)\n", + "ICG = 1./36 *a*b**3\n", + "yp = 2./3*b + ICG/(2./3 *b* 1./2 *a*b )\n", + "\t\t\t\n", + "#results\n", + "print \"The coordinates of centre of pressure are %.2f,%d\"%(xp,yp)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The coordinates of centre of pressure are 2.25,6\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.9 Page No : 63" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "z = 1.2 \t\t\t#m\n", + "y = 1. \t\t\t#m\n", + "\t\t\t\n", + "#calculations\n", + "hp = 0.6 + 1./12 *y*z**3 /(0.6*y*z)\n", + "\t\t\t\n", + "#results\n", + "print \"Position of hinge = %.1f m\"%(hp)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Position of hinge = 0.8 m\n" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.10 Page No : 64" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "from sympy import *\n", + "\t\t\t\n", + "#Initialization of variables\n", + "r = 0.75 \t\t\t#radius of plane - m\n", + "gam = 8. \t\t\t#specific weight of fluid - kN/m**3\n", + "\t\t\t\n", + "#calculations\n", + "P = gam*2./3 *r**3\n", + "hp = Symbol('hp')\n", + "hp = 4*r/(3*math.pi) + (math.pi/gam - gam/(9*math.pi)) * r**4/(4*r/(3*math.pi) * 1./2*math.pi*r**3)\n", + "\n", + "\t\t\t\n", + "#results\n", + "print \" Total pressure = %.2f kN\"%(P)\n", + "print \"Total pressure location = %.3f m\"%(hp)\n", + "\n", + "# note : answer is slightly different because of rounding off error. please check." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Total pressure = 2.25 kN\n", + "Total pressure location = 0.483 m\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.11 Page No : 65" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "B = 3. \t\t\t#m\n", + "b = 2. \t\t\t#m\n", + "h1 = 0.75 \t\t\t#m\n", + "h2 = 1. \t\t\t#m\n", + "sg = 0.9 #specific gravity\n", + "\t\t\t\n", + "#calculations\n", + "IP = sg*9.81*h2\n", + "F1 = 0.5*IP*h2\n", + "F2 = IP*h1\n", + "F3 = 0.5*(9.81*h1)*h1\n", + "F = B*(F1+F2+F3)\n", + "ybar = (F1*(h1+ 1./3) + F2* h1/2 + F3* h1/3)/(F1+F2+F3)\n", + "\t\t\t\n", + "#results\n", + "print \"Total force = %.2f kN\"%(F)\n", + "print \"Location = %.3f m from the base\"%(ybar)\n", + "\n", + "# note : rounding off error." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Total force = 41.39 kN\n", + " Location = 0.577 m from the base\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.12 Page No : 67" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "from scipy.integrate import quad\n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 1000*9.81 \t\t\t#kg/m**3\n", + "hc = 20. \t\t\t#m\n", + "Ax = 40.*1 \t\t\t#m**2\n", + "y1 = 0. \t\t\t#m\n", + "y2 = 40. \t\t\t#m\n", + "\t\t\t\n", + "#calculations\n", + "Fx = g*hc*Ax\n", + "def fy(y):\n", + " return (12*y)**(1./3)\n", + "\n", + "Fy = quad(fy,y1,y2)\n", + "Fy = g*Fy[0]\n", + "F = math.sqrt(Fx**2 +Fy**2)\n", + "\t\t\t\n", + "#results\n", + "print \"Net force = %d kN\"%(F/1000)\n", + "#The answer is a bit different due to rounding off error in the textbook" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Net force = 8179 kN\n" + ] + } + ], + "prompt_number": 17 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.13 Page No : 68" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#kN/m**2\n", + "hc = 1. \t\t\t#m\n", + "l = 3. \t\t\t#m\n", + "b = 0.5 \t\t\t#m\n", + "\t\t\t\n", + "#calculations\n", + "Ax = l*b \t\t\t#m**2\n", + "Fx = g*hc*Ax\n", + "Fz = g*(0.5* math.pi/4 *b**2)*l\n", + "F = math.sqrt(Fx**2 + Fz**2)\n", + "theta = math.degrees(math.atan(Fz/Fx))\n", + "\t\t\t\n", + "#results\n", + "print \"Magintude of resultant force = %.3f kN\"%(F)\n", + "print \" Direction of the resultant force = %.1f deg\"%(theta)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Magintude of resultant force = 14.996 kN\n", + " Direction of the resultant force = 11.1 deg\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.14 Page No : 71" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "r1 = 920. \t\t\t#density of ice - kg/m**3\n", + "r2 = 1030. \t\t\t#density of sea water - kg/m**3\n", + "\t\t\t\n", + "#calculations\n", + "VtbyV2 = r2/r1\n", + "V1byV2 = VtbyV2-1\n", + "V1byVt = 1./(1+1/V1byV2)\n", + "\t\t\t\n", + "#results\n", + "print \"fraction = %.3f \"%(V1byVt)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "fraction = 0.107 \n" + ] + } + ], + "prompt_number": 19 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.15 Page No : 72" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "d = 3. \t\t\t #diameter of balloon - m\n", + "rh1 = 1.19 \t\t\t#density of air - kg/m**3\n", + "rh2 = 0.17 \t\t\t#density of helium - kg/m**3 \n", + "g = 9.81 \t\t\t#m/s**2\n", + "\t\t\t\n", + "#calculations\n", + "pay = (rh1-rh2)*g*math.pi/6 *d**3\n", + "\t\t\t\n", + "#results\n", + "print \" Pay load = %.2f N\"%(pay)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Pay load = 141.46 N\n" + ] + } + ], + "prompt_number": 20 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.16 Page No : 76" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from numpy import roots\t\t\t\n", + "#calculations\n", + "y = [6,-6,1]\n", + "z = roots(y)\n", + "\t\t\t\n", + "#results\n", + "print \"For stability, s must be greater than %.2f and less than %.2f and must be less than 1\"%(z[0],z[1])" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "For stability, s must be greater than 0.79 and less than 0.21 and must be less than 1\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.17 Page No : 81" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "ax = 1.5 \t\t\t#m/s**2\n", + "g = 9.81 \t\t\t#m/s**2\n", + "\t\t\t\n", + "#calculations\n", + "alpha = math.degrees(math.atan(ax/g))\n", + "\t\t\t\n", + "#results\n", + "print \"The interface is inclined at %.f degrees with the horizontal\"%(alpha)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The interface is inclined at 9 degrees with the horizontal\n" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.18 Page No : 81" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "d = 10. \t\t\t#diameter - cm\n", + "h = 25. \t\t\t#height - cm\n", + "hw = 15. \t\t\t#cm\n", + "g = 9.81 \t\t\t#m/s**2\n", + "\t\t\t\n", + "#calculations\n", + "z = d**2 *d*2/d**2\n", + "w = math.sqrt(z*2*g/(d/2)**2 *100)\n", + "N = w/(2*math.pi) *60\n", + "\t\t\t\n", + "#results\n", + "print \"Speed of rotation = %d rpm\"%(N)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Speed of rotation = 378 rpm\n" + ] + } + ], + "prompt_number": 24 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.19 Page No : 82" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "from scipy.integrate import quad\n", + "\t\t\t\n", + "#Initialization of variables\n", + "dia = 1. \t\t\t#diameter - m\n", + "h = 3. \t\t\t #height - m\n", + "rho = 1000. \t\t#kg/m**3\n", + "N = 80. \t\t\t#rpm\n", + "g = 9.81 \t\t\t#m/s**2\n", + "\n", + "#calculation\n", + "w = 2*math.pi*N/60\n", + "def fun(r):\n", + " return 0.5*rho*w**2 *r**3 *2*math.pi\n", + "\n", + "vec = quad(fun,0,dia/2)\n", + "Pt = vec[0] + math.pi/4 *dia**2 *(h-dia)*rho*g\n", + "\t\t\t\n", + "#results\n", + "print \"Total pressure on base = %.2f kN\"%(Pt/1000)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Total pressure on base = 18.85 kN\n" + ] + } + ], + "prompt_number": 15 + } + ], + "metadata": {} + } + ] +} \ No newline at end of file diff --git a/Principles_Of_Fluid_Mechanics/ch3.ipynb b/Principles_Of_Fluid_Mechanics/ch3.ipynb new file mode 100644 index 00000000..b45e37c3 --- /dev/null +++ b/Principles_Of_Fluid_Mechanics/ch3.ipynb @@ -0,0 +1,101 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:e51408600d11e929cd24c31057edae00d199336d2c2b7260dda7e3b7642c128f" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 3 : Conservation Principle of Mass" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.3 Page No : 100" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "d1 = 60. \t\t\t#diameter of a section of pipe - cm\n", + "V1 = 45. \t\t\t#velocity of water - cm/s\n", + "d2 = 90. \t\t\t#diameter of enlarged section - cm\n", + "\t\t\t\n", + "#calculations\n", + "V2 = V1*d1**2 /d2**2\n", + "Q = math.pi/4 *d1**2 *V1 *10**-6\n", + "\t\t\t\n", + "#results\n", + "print \"Velocity at point 2 = %d cm/s\"%(V2)\n", + "print \" FLow rate = %.4f m**3/s\"%(Q)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Velocity at point 2 = 20 cm/s\n", + " FLow rate = 0.1272 m**3/s\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.4 Page No : 100" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\t\t\t\n", + "#Initialization of variables\n", + "dn1 = 4 \t\t\t#spacing between streamlines - cm\n", + "v1 = 300. \t\t\t#velocity - cm/s\n", + "dn2 = 2.5 \t\t\t#spacing - cm\n", + "\t\t\t\n", + "#calculations\n", + "v2 = v1*dn1/dn2\n", + "\t\t\t\n", + "#results\n", + "print \"Velocity = %.1f m/s\"%(v2/100)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Velocity = 4.8 m/s\n" + ] + } + ], + "prompt_number": 2 + } + ], + "metadata": {} + } + ] +} \ No newline at end of file diff --git a/Principles_Of_Fluid_Mechanics/ch4.ipynb b/Principles_Of_Fluid_Mechanics/ch4.ipynb new file mode 100644 index 00000000..b908467d --- /dev/null +++ b/Principles_Of_Fluid_Mechanics/ch4.ipynb @@ -0,0 +1,346 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:4641f495fb637b43843e8fcd55506866f439259b641b4627c67482beed84d471" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 4 : Conservation Principle of Momentum" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.1 Page No : 111" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "Q = 0.2 \t\t\t#m**3/s\n", + "v = 30. \t\t\t#m/s\n", + "angle = 120. \t\t\t#degrees\n", + "rho = 1000. \t\t\t#kg/m**3\n", + "\t\t\t\n", + "#calculations\n", + "Rx = rho*Q*(v-v*math.cos(math.radians(angle)))\n", + "Ry = rho*Q*v*math.sin(math.radians(angle))\n", + "R = math.sqrt(Rx**2 +Ry**2)\n", + "\t\t\t\n", + "#results\n", + "print \"Resultant force = %.2f kN\"%(R/1000)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Resultant force = 10.39 kN\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.3 Page No : 112" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "angle = 45. \t\t#degrees\n", + "p1 = 150.*10**3 \t#pressure at inlet - N/m**2\n", + "Q = 0.5 \t\t\t#rate of flow - m**3/s\n", + "d1 = 60. \t\t\t#cm\n", + "d2 = 30. \t\t\t#cm\n", + "rho = 1000. \t\t#kg/m**3\n", + "g = 9.81 \t\t\t#m/s**2\n", + "\t\t\t\n", + "#calculations\n", + "V1 = Q/(math.pi/4 *(d1/100)**2)\n", + "V2 = V1*(d1/d2)**2\n", + "P2 = rho*g*(p1/(rho*g) + V1**2 /(2*g) -V2**2 /(2*g))\n", + "Rx = p1*math.pi/4*(d1/100)**2 - P2*math.pi/4 *(d2/100)**2 *math.cos(math.radians(angle)) -rho*Q*(V2*math.cos(math.radians(angle)) -V1)\n", + "Ry = P2*math.pi/4 *(d2/100)**2 *math.sin(math.radians(angle)) + rho*Q*(V2*math.sin(math.radians(angle)))\n", + "R = math.sqrt(Rx**2 + Ry**2)\n", + "\t\t\t\n", + "#results\n", + "print \"resultant force = %.2f kN\"%(R/1000)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "resultant force = 35.58 kN\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.4 Page No : 113" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "Q = 20.*10**3 \t\t\t#discharge - cc/s\n", + "depth = 4. \t\t\t#m\n", + "d = 5. \t \t\t#cm\n", + "g = 9.81 \t\t \t#m/s**2\n", + "rho = 10.**3 \t\t\t#kg/m**3\n", + "\t\t\t\n", + "#calculations\n", + "V1 = Q/(math.pi/4 *d**2) /100\n", + "V2 = math.sqrt(2*g*(V1**2/(2*g) + depth))\n", + "W = rho*Q*(V2-V1)/10**6\n", + "\t\t\t\n", + "#results\n", + "print \"weight of water = %d N\"%(W)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "weight of water = 66 N\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.5 Page No : 116" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t \t\t#m/s**2\n", + "rho = 10.**3 \t\t\t#kg/m**3\n", + "V = 50. \t\t \t#velocity - m/s\n", + "u = 20. \t\t\t #m/s\n", + "A = 6./10**4 \t\t\t#area - m**2\n", + "angle = 180. \t\t\t#degrees\n", + "\t\t\t\n", + "#calculations\n", + "Vr = V-u\n", + "rq = rho*A*Vr\n", + "Rx = -rq*(Vr*math.cos(math.radians(angle)) - Vr)\n", + "Rx2 = -rho*A*V*(Vr*math.cos(math.radians(angle)) -Vr)\n", + "power = Rx2*u\n", + "\t\t\t\n", + "#results\n", + "print \"Force exetred on fluid = %d N\"%(Rx)\n", + "print \" Force transferred in case 2 = %d N\"%(Rx2)\n", + "print \" Power transferred in case 2 = %d kW\"%(power/1000)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Force exetred on fluid = 1080 N\n", + " Force transferred in case 2 = 1800 N\n", + " Power transferred in case 2 = 36 kW\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.6 Page No : 119" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 10.**3 \t\t#kg/m**3\n", + "Vr = 10. \t\t\t#m/s\n", + "u = 8.5 \t\t\t#m/s\n", + "A = 250./10**4 \t\t#m**2\n", + "\t\t\t\n", + "#calculations\n", + "V = Vr-u\n", + "Q = A*Vr\n", + "R = rho*Q*V\n", + "P = R*u\n", + "eth = 1/(1+ V/(2*u))\n", + "\t\t\t\n", + "#results\n", + "print \"Power required = %.3f kW\"%(P/1000)\n", + "print \" Efficiency of jet propulsion = %.0f percent\"%(eth*100)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Power required = 3.188 kW\n", + " Efficiency of jet propulsion = 92 percent\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.7 Page No : 123" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 10.**3 \t\t#kg/m**3\n", + "v1 = 20. \t\t\t#m/s\n", + "v2 = 5. \t\t\t#m/s\n", + "r1 = 50./100 \t\t#cm\n", + "r2 = 30./100 \t\t#cm\n", + "a1 = 20. \t\t\t#degrees\n", + "a2 = 80. \t\t\t#degrees\n", + "N = 300. \t\t\t#rpm\n", + "Q = 5. \t\t\t #m**3/s\n", + "\t\t\t\n", + "#calculations\n", + "u1 = round(math.pi*2*r1*N/60,1)\n", + "u2 = round(math.pi*2*r2*N/60,2)\n", + "T = rho*Q*(r1*v1*math.cos(math.radians(a1)) - r2*v2*math.cos(math.radians(a2)))\n", + "H = 1/g *(u1*v1*math.cos(math.radians(a1)) - u2*v2*math.cos(math.radians(a2)))\n", + "power = rho*g*Q*H\n", + "\t\n", + " \n", + "#results\n", + "print \"torque = %d N m\"%(T)\n", + "print \" Heat = %.1f m\"%(H)\n", + "print \" Power = %d kW\"%(power/10**3)\n", + "\n", + "# Note :The answers given in textbook are a bit different due to rounding off error. please check using calculator." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "torque = 45682 N m\n", + " Heat = 29.2 m\n", + " Power = 1434 kW\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.8 Page No : 124" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 10.**3 \t\t#kg/m**3\n", + "d1 = 0.05 \t\t\t#m\n", + "d2 = 0.3 \t\t\t#m\n", + "N = 1800. \t\t\t#rpm\n", + "Q = 0.425/60 \t\t#m**3/s\n", + "\t\t\t\n", + "#calculations\n", + "u1 = math.pi*d1*N/60\n", + "u2 = math.pi*d2*N/60\n", + "T = rho*Q*(d2*u2 - d1*u1)/2\n", + "\t\t\t\n", + "#results\n", + "print \"Torque supplied = %.1f Nm\"%(T)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Torque supplied = 29.2 Nm\n" + ] + } + ], + "prompt_number": 10 + } + ], + "metadata": {} + } + ] +} \ No newline at end of file diff --git a/Principles_Of_Fluid_Mechanics/ch5.ipynb b/Principles_Of_Fluid_Mechanics/ch5.ipynb new file mode 100644 index 00000000..2be5eb9c --- /dev/null +++ b/Principles_Of_Fluid_Mechanics/ch5.ipynb @@ -0,0 +1,1167 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:69eae1e264ff987be7aef011e3a2b59c7c97d8a9f2c6d4a88b429794581f1dc0" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 5 : Conservation Principle of Energy" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.1 Page No : 136" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 10.**3 \t\t#kg/m**3\n", + "z2 = 0. \t\t\t#m\n", + "z1 = 8. \t\t\t#m\n", + "V2 = 5. \t\t\t#outlet velocity - m/s\n", + "V1 = 3. \t\t\t#inlet velocity - m/s\n", + "\t\t\t\n", + "#calculations\n", + "Hs = (z2-z1) + (V2**2 -V1**2)/(2*g)\n", + "\t\t\t\n", + "#results\n", + "print \"Work done by fluid = %.3f J/N\"%(Hs)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Work done by fluid = -7.185 J/N\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.2 Page No : 137" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t #m/s**2\n", + "rho = 10.**3 \t\t\t#kg/m**3\n", + "P1 = 80.*10**3 \t\t\t#N/m**2\n", + "P2 = 12.*10**6 + 101300 \t\t\t#N/m**2\n", + "Hq = -400. \t\t\t#J/N\n", + "\t\t\t\n", + "#calculations\n", + "g1 = g*rho\n", + "Hs = -Hq+ (P2-P1)/(g1)\n", + "\t\t\t\n", + "#results\n", + "print \"Energy added by pump = %d J/N\"%(Hs)\n", + "print (\"The answer given in textbook is wrong. Please verify using a calculator\")" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Energy added by pump = 1625 J/N\n", + "The answer given in textbook is wrong. Please verify using a calculator\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.3 Page No : 140" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 10.**3 \t\t#kg/m**3\n", + "d1 = 15. \t\t\t#cm\n", + "d2 = 10. \t\t\t#cm\n", + "V1 = 2.4 \t\t\t#m/s\n", + "P1 = 450.*10**3 \t\t\t#N/m**2\n", + "rho2 = 900. \t\t\t#kg/m**3\n", + "\t\t\t\n", + "#calculations\n", + "V2 = d1**2 /d2**2 *V1\n", + "P2 = g*rho2*(P1/(rho2*g) + V1**2 /(2*g) - V2**2 /(2*g))\n", + "Q = math.pi/4*(d2/100)**2 *V2\n", + "\t\t\t\n", + "#results\n", + "print \"Pressure at 2 = %.2f kN/m**2\"%(P2/1000)\n", + "print \" Flow rate = %.4f m**3/s\"%(Q)\n", + "#The answer given in textbook is wrong. Please verify it." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Pressure at 2 = 439.47 kN/m**2\n", + " Flow rate = 0.0424 m**3/s\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.4 Page No : 140" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t \t\t#m/s**2\n", + "rho = 10.**3 \t\t\t#kg/m**3\n", + "z = 10. \t\t\t#m\n", + "\t\t\t\n", + "#calculations\n", + "PE = g*rho*math.pi*z**2 /2\n", + "\t\t\t\n", + "#results\n", + "print \"Work obtained = %.2e J\"%(PE)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Work obtained = 1.54e+06 J\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.6 Page No : 141" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 10**3 \t\t\t#kg/m**3\n", + "d1 = 7.5 \t \t\t#diameter - cm\n", + "d2 = 3. \t\t\t #cm\n", + "P1 = 300+101.3 \t\t\t#pressure - kPa\n", + "P2 = 25. \t\t \t#kPa\n", + "\t\t\t\n", + "#calculations\n", + "V1 = math.sqrt(2*g/ ((d1/d2)**4 -1) *(P1*10**3 /(rho*g) -P2*10**3 /(rho*g)))\n", + "Q = math.pi/4 *(d1/100)**2 *V1\n", + "\t\t\t\n", + "#results\n", + "print \"Max discharge = %.4f m**3/s\"%(Q)\n", + "#The answer given in textbook is wrong. Please use a calculator to verify" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Max discharge = 0.0196 m**3/s\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.7 Page No : 145" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 10**3 \t\t#kg/m**3\n", + "z1 = 1.2 \t\t\t#m\n", + "z2 = 4. \t\t\t#m\n", + "d = 5. \t\t\t#cm\n", + "\t\t\t\n", + "#calculations\n", + "Va = math.sqrt(2*g*(z2-z1))\n", + "Q = math.pi/4 *(d/100)**2 *Va\n", + "Pc = - z2*rho*g\n", + "P = 25*10**3 \t\t\t#Pa\n", + "Zab = (101325 - P)/rho/g\n", + "\t\t\t\n", + "#results\n", + "print \"rate of discharge = %.4f m**3/s\"%(Q)\n", + "print \" Pressure at C = %.2f kPa\"%(Pc/1000)\n", + "print \" Max. permissible length = %.2f m\"%(Zab)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "rate of discharge = 0.0146 m**3/s\n", + " Pressure at C = -39.24 kPa\n", + " Max. permissible length = 7.75 m\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.8 Page No : 146" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 10.**3 \t\t#kg/m**3\n", + "Q = 0.09 \t\t\t#m**3/s\n", + "d1 = 0.12 \t\t\t#diameter - m\n", + "d2 = 0.2 \t\t\t#diameter - m\n", + "P1 = 80. \t\t\t#pressure - kN/m**2\n", + "P2 = 120. \t\t\t#pressure - kN/m**2\n", + "\t\t\t\n", + "#calculations\n", + "V1 = Q/(math.pi/4 *d1**2)\n", + "TE1 = P1*10**3 /(rho*g) + V1**2 /(2*g)\n", + "V2 = d1**2 /d2**2 *V1\n", + "TE2 = P2*10**3 /(rho*g) + V2**2 /(2*g)\n", + "\t\t\n", + "#results\n", + "if TE1>TE2 :\n", + " print \"Flow is from section 1 to section 2\"\n", + "else:\n", + " print \"Flow is from section 2 to section 1\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Flow is from section 2 to section 1\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.9 Page No : 147" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 10.**3 \t\t#kg/m**3\n", + "Q = 0.012 \t\t\t#m**3/s\n", + "z = 10. \t\t\t#m\n", + "d = 0.075 \t\t\t#m\n", + "\t\t\t\n", + "#calculations\n", + "Vb = Q/(math.pi/4 *d**2)\n", + "Hm = z+ Vb**2 /(2*g)\n", + "P = Hm*rho*g*Q\n", + "\t\t\t\n", + "#results\n", + "print \"Power required = %.3f kW\"%(P/1000)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Power required = 1.221 kW\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.10 Page No : 150" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 860. \t\t\t#kg/m**3\n", + "P1 = 20. *10**3 \t#Pa\n", + "P2 = 50.*10**3 \t\t#Pa\n", + "z = 2.8 \t\t\t#m\n", + "d1 = 0.1 \t\t\t#m\n", + "\t\t\t\n", + "#calculations\n", + "V1 = math.sqrt(2*g*(P2/(rho*g) -z - P1/(rho*g)))\n", + "Q = math.pi/4 *d1**2 *V1\n", + "\t\t\t\n", + "#results\n", + "print \"rate of flow = %.4f m**3/s\"%(Q)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "rate of flow = 0.0302 m**3/s\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.11 Page No : 156" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 10.**3 \t\t#kg/m**3\n", + "Cv = 0.92 #coefficient of velocity\n", + "P = 210.*10**3 \t\t#Pressure - Pa\n", + "d = 0.05 \t\t\t#m\n", + "ret = 1.5 \t\t\t#m/s**2\n", + "\t\t\t\n", + "#calculations\n", + "H = P/(g*rho)\n", + "Va = Cv*(2*g*H)\n", + "h = Cv**2 *H\n", + "h2 = Cv**2 *2*g*H/(2*(g+ret))\n", + "\t\t\t\n", + "#results\n", + "print \"The height to which the jet will rise is %.2f m\"%(h)\n", + "print \" In case height = %.2f m\"%(h2)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The height to which the jet will rise is 18.12 m\n", + " In case % height = 15.72 m\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.12 Page No : 157" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 10.**3 \t\t#kg/m**3\n", + "h = 4. \t\t\t #m\n", + "d = 0.03 \t\t\t#m\n", + "Qa = 3.8/1000 \t\t#m**3/s\n", + "x = 2.5 \t\t\t#m\n", + "y = 0.41 \t\t\t#m\n", + "\t\t\t\n", + "#calculations\n", + "Qth = math.pi/4 *d**2 *math.sqrt(2*g*h)\n", + "Cd = Qa/Qth\n", + "Cv = math.sqrt(x**2 /(4*y*h))\n", + "Cc = Cd/Cv\n", + "\t\t\t\n", + "#results\n", + "print \"Cd = %.2f\"%(Cd)\n", + "print \" Cv = %.3f\"%(Cv)\n", + "print \" Cc = %.2f\"%(Cc)\n", + "\n", + "# note : rounding off error." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Cd = 0.61\n", + " Cv = 0.976\n", + " Cc = 0.62\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.13 Page No : 157" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 10.**3 \t\t#kg/m**3\n", + "rho2 = 13.6*10**3 \t#kg/m**3\n", + "d1 = 3.2 \t\t\t#m\n", + "d2 = 0.6 \t\t\t#m\n", + "\t\t\t\n", + "#calculations\n", + "z1 = d1*rho/rho2\n", + "head = d2+z1\n", + "V = math.sqrt(2*g*head)\n", + "\t\t\t\n", + "#results\n", + "print \"Efflux velocity = %.2f m/s\"%(V)\n", + "#The answer is a bit different due to rounding off error." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Efflux velocity = 4.05 m/s\n" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.15 Page No : 159" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "from scipy.integrate import quad\n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 10.**3 \t\t#kg/m**3\n", + "Cd = 0.6\n", + "d = 0.04 \t\t\t#m\n", + "h2 = 2.5 \t\t\t#m\n", + "\t\t\t\n", + "#calculations\n", + "def fun(h):\n", + " return 1/(Cd*math.pi/4 *d**2 *math.sqrt(2*g)) *(4/math.sqrt(h) + math.sqrt(64-h**2))\n", + "\n", + "t = quad(fun,0,h2)[0]\n", + "tmin = 31.1\n", + "\t\t\t\n", + "#results\n", + "print \"Time required = %.1f min\"%(tmin)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Time required = 31.1 min\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.16 Page No : 160" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "from scipy.integrate import quad\n", + "from sympy import solve,Symbol\n", + "\n", + "#Initialization of variables\n", + "g = 981. \t\t\t#cm/s**2\n", + "Cd = 0.6\n", + "Q = 1200.\n", + "d = 3. \t\t\t #cm\n", + "l = 30. \t\t\t#cm\n", + "b = 30. \t\t\t#cm\n", + "dh = 5. \t\t\t#cm\n", + "h1 = 9. \t\t\t#cm\n", + "\t\t\t\n", + "#calculations\n", + "def fun1(h):\n", + " return l*b/(Q - Cd*math.pi/4 *d**2 *math.sqrt(2*g*h))\n", + "#t = Symbol(\"t\")\n", + "#ans = solve((Q - Cd*math.pi/4*d**2*math.sqrt(2*g*h)*d*t) - (30*30*dh))\n", + "#print ans\n", + "t = quad(fun1,h1,h1+dh)[0]\n", + "t = 126\n", + "\t\t\t\n", + "#results\n", + "print \"Time required = %d sec\"%(t)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Time required = 126 sec\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.17 Page No : 165" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 10.**3 \t\t#kg/m**3\n", + "pst = 25.2*10**3 \t#pressure - Pa\n", + "h = 2.5 \t\t\t#depth - m\n", + "\t\t\t\n", + "#calculations\n", + "v = math.sqrt(2/rho *(pst - g*rho*h))\n", + "\t\t\t\n", + "#results\n", + "print \"velocity = %.2f m/s\"%(v)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "velocity = 1.16 m/s\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.18 Page No : 165" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 10.**3 \t\t\t#kg/m**3\n", + "vel = 800.*10**3 /3600\n", + "sm = 13.57\n", + "sl2 = 12.2 #specific weight of air\n", + "\t\t\t\n", + "#calculations\n", + "sl = sl2/(g*rho)\n", + "y = vel**2 /(2*g*(sm/sl -1))\n", + "\t\t\t\n", + "#results\n", + "print \"length of manometer = %.f cm\"%(y*100)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "length of manometer = 23 cm\n" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.19 Page No : 166" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 10**3 \t\t#kg/m**3\n", + "h = 3.5 \t\t\t#m\n", + "\t\t\t\n", + "#calculations\n", + "v = math.sqrt(2*g*h)\n", + "\t\t\t\n", + "#results\n", + "print \"Speed necessary = %.1f m/s\"%(v)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Speed necessary = 8.3 m/s\n" + ] + } + ], + "prompt_number": 22 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.20 Page No : 173" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 10.**3 \t\t#kg/m**3\n", + "sm = 13.6 \n", + "s = 1.\n", + "Q = 1. \t\t\t#m**3/s\n", + "d2 = 0.25 \t\t\t#m\n", + "d1 = 0.5 \t\t\t#m\n", + "nu = 1e-6\n", + "\t\t\t\n", + "#calculations\n", + "RN = Q*d1/(math.pi/4 *d1**2 *nu)\n", + "Cv = 0.98\n", + "yd = Q**2 *(1-d2**4 /d1**4)/(Cv**2 *math.pi/4 *d2**2 *2*g)\n", + "y = yd/(sm/s -1)\n", + "\t\t\t\n", + "#results\n", + "print \"Mercury manometer reading = %.2f cm\"%(y*100)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Mercury manometer reading = 8.04 cm\n" + ] + } + ], + "prompt_number": 23 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.21 Page No : 174" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 10.**3 \t\t#kg/m**3\n", + "sm = 13.6\n", + "s = 1.\n", + "y = 0.12 \t\t\t#m\n", + "Cv = 0.984\n", + "d1 = 0.05 \t\t\t#m\n", + "d2 = 0.1 \t\t\t#m\n", + "nu = 1e-6\n", + "\t\t\t\n", + "#calculations\n", + "Q = Cv*math.pi/4 *d1**2 *math.sqrt(2*g) /math.sqrt(1- (d1/d2)**4) *math.sqrt(y*(sm/s -1))\n", + "V1 = Q/(math.pi/4 *d2**2)\n", + "R = V1*d1/nu\n", + "\t\t\t\n", + "#results\n", + "print \"Since reynolds number is in required value Flow rate = %.4f m**3/s\"%(Q)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Since reynolds number is in required value Flow rate = 0.0109 m**3/s\n" + ] + } + ], + "prompt_number": 25 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.22 Page No : 174" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 10.**3 \t\t#kg/m**3\n", + "P1 = 150.*10**3 \t#pressure - Pa\n", + "d0 = 3. \t\t\t#cm\n", + "d1 = 6. \t\t\t#diameter - cm\n", + "Cv = 0.98 \n", + "Cc = 0.62\n", + "\t\t\t\n", + "#calculations\n", + "P1g = P1/(g*rho)\n", + "Ar = (d0/d1)**4\n", + "A0 = math.pi/4 *(d0/100)**2\n", + "Q = Cv*Cc*A0 *math.sqrt(2*g) /math.sqrt(1- Cc**2 *Ar) *math.sqrt(P1g)\n", + "\t\t\t\n", + "#results\n", + "print \"Discharge = %.2f lps\"%(Q*10**3)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Discharge = 7.53 lps\n" + ] + } + ], + "prompt_number": 26 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.23 Page No : 182" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "from numpy import *\n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 10**3 \t\t#kg/m**3\n", + "Cd = 0.6\n", + "L = 3 \t\t\t #m\n", + "H = 0.4 \t\t\t#m\n", + "V0 = array([0, 0.24, 0.275])\n", + "\t\t\t\n", + "#calculations\n", + "Q = Cd*2/3 *math.sqrt(2*g) *(L-0.2*H) *((H+ V0**2 /(2*g) )**(3./2) - (V0**2 / (2*g))**(3./2))\n", + "\t\t\t\n", + "#results\n", + "H = max(Q)\n", + "print \"Flow rate = %.2f m**3/s\"%(H)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Flow rate = 1.33 m**3/s\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.24 Page No : 183" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "from sympy import Symbol, solve\n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 10.**3 \t\t#kg/m**3\n", + "d = 0.5 \t\t\t#m\n", + "vel = 1. \t\t\t#m/s\n", + "depth = 1.2 \t\t#m\n", + "Cd = 0.62\n", + "L = 1\n", + "\t\t\t\n", + "#calculations\n", + "#H = Symbol(\"H\")\n", + "#ans = solve(d*L/(Cd*2./3*L*H**(3./2)) - 1)\n", + "#print ans\n", + "H = (d*3./(2*Cd))**(2/3.)\n", + "hw = depth-H\n", + "\t\n", + "#results\n", + "print \"height of weir plate = %.2f m\"%(hw)\n", + "\n", + "# note : value of H is calculated wrongly. please check." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "height of weir plate = 0.06 m\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.25 Page No : 184" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 10.**3 \t\t\t#kg/m**3\n", + "Q = 0.1*100**2 /(24.*3600) \t\t\t#m**3/s\n", + "Cd = 0.61\n", + "theta = 60. \t\t\t#degrees\n", + "\n", + "#Calculations\n", + "Hd = Q/(Cd*8./15 *math.sqrt(2*g) *math.tan(math.radians(theta/2)))\n", + "H = Hd**(2./5)\n", + "\t\t\t\n", + "#results\n", + "print \"apex of weir must be set %.1f cm below the free surface\"%(H*100)\n", + "\n", + "#The answer in the textbook is wrong. Please verify it" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "apex of weir must be set 18.1 cm below the free surface\n" + ] + } + ], + "prompt_number": 26 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.26 Page No : 184" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "Q1 = 0.93 #m**3/s \n", + "Q2 = 0.4 #m**3/s\n", + "H1 = 0.7 #m\n", + "H2 = 0.5 #m\n", + "\t\t\t\n", + "#calculations\n", + "n = math.log(Q1/Q2) /math.log(H1/H2)\n", + "\t\t\t\n", + "#results\n", + "print \"Shape n = %.1f . hence shape of weir is triangular\"%(n)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Shape n = 2.5 . hence shape of weir is triangular\n" + ] + } + ], + "prompt_number": 33 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.27 Page No : 185" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 981. \t\t\t#cm/s**2\n", + "H = 20. \t\t\t#cm\n", + "err = 3./100\n", + "\t\t\t\n", + "#calculations\n", + "dH = err/2.5 *H\n", + "v0 = math.sqrt(2*g*dH)\n", + "\t\t\t\n", + "#results\n", + "print \"Required velocity = %.2f cm/s\"%(v0)\n", + "\n", + "#The answer is a bit different due to rounding off error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Required velocity = 21.70 cm/s\n" + ] + } + ], + "prompt_number": 27 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.28 Page No : 185" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "from scipy.integrate import quad\n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 10.**3 \t\t#kg/m**3\n", + "Q = 12000. \t\t\t#m**2\n", + "f = 30. \t\t\t#h**2/3\n", + "t1 = 0.5 \t\t\t#m\n", + "t2 = 1.2 \t\t\t#m\n", + "\t\t\t\n", + "#calculations\n", + "def fun2(h):\n", + " return Q/f *(1/h**(3./2))\n", + "\n", + "t = quad(fun2,t1,t2)[0]\n", + "\t\t\t\n", + "#results\n", + "print \"Time = %d sec\"%(t)\n", + "\n", + "#The answer is different due to rounding off error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Time = 401 sec\n" + ] + } + ], + "prompt_number": 28 + } + ], + "metadata": {} + } + ] +} \ No newline at end of file diff --git a/Principles_Of_Fluid_Mechanics/ch6.ipynb b/Principles_Of_Fluid_Mechanics/ch6.ipynb new file mode 100644 index 00000000..cd7afbaa --- /dev/null +++ b/Principles_Of_Fluid_Mechanics/ch6.ipynb @@ -0,0 +1,236 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:6e7275009478231e09bfec0423553af7b62637e958570036cb846adaade3feab" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 6 : Dimensional Analysis and Similitude" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.11 Page No : 222" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "dw = 1000. \t\t\t#density of water - kg/m**3\n", + "muw = 0.001 \t\t#viscosity of water - N s /m**2\n", + "da = 1.225 \t\t\t#density of air - kg/m**3\n", + "mua = 18.*10**-6 \t#viscosity of air - N s /m**2\n", + "lr = 1./10\n", + "\t\t\t\n", + "#calculations\n", + "dr = da/dw\n", + "mur = mua/muw\n", + "vr = mur/dr\n", + "velocity = vr/lr\n", + "discharge = lr*vr\n", + "pressure = mur**2 /(dr*lr**2)\n", + "force = mur**2 /dr\n", + "\t\t\t\n", + "#results\n", + "print \"Scale ratio for velocity = %.f \"%(velocity)\n", + "print \"Scale ratio for discharge = %.2f \"%(discharge)\n", + "print \"Scale ratio for pressure = %.1f \"%(pressure)\n", + "print \"Scale ratio for force = %.3f \"%(force)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Scale ratio for velocity = 147 \n", + "Scale ratio for discharge = 1.47 \n", + "Scale ratio for pressure = 26.4 \n", + "Scale ratio for force = 0.264 \n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.12 Page No : 223" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "dr = 1000.\n", + "mur = 100. #times\n", + "lr = 1./10 #prototype size\n", + "dpm = 60. #kN/m**2\n", + "\t\t\t\n", + "#calculations\n", + "Vr = mur/dr/lr\n", + "dpr = dr*Vr**2\n", + "dpp = dpm/dpr\n", + "\t\t\t\n", + "#results\n", + "print \"Pressure drop in prototype = %d N/m**2\"%(dpp*10**3)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Pressure drop in prototype = 60 N/m**2\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.14 Page No : 225" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "lr = 1./25\n", + "Tp = 6. \t\t\t#sec\n", + "dr = 1./1.025\n", + "Fm = 70. \t\t\t#N\n", + "\t\t\t\n", + "#calculations\n", + "Tr = lr**(0.5)\n", + "Tm = Tr*Tp\n", + "Fr = dr*lr**3\n", + "Fp = Fm/Fr\n", + "\t\t\t\n", + "#results\n", + "print \"Wave period = %.1f sec\"%(Tm)\n", + "print \"Force = %.3f kN\"%(Fp/1000)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Wave period = 1.2 sec\n", + "Force = 1121.094 kN\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.16 Page No : 227" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "lr = 1./10 #scale ratio\n", + "Vp = 10. \t\t\t#speed - knots\n", + "Fm = 12. \t\t\t#tension - N\n", + "\t\t\t\n", + "#calculations\n", + "Vm = Vp*math.sqrt(lr)\n", + "Fp = Fm/lr**3\n", + "\t\t\t\n", + "#results\n", + "print \"force = %.1f kN\"%(Fp/1000)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "force = 12.0 kN\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.17 Page No : 229" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "lr = 1./7200\n", + "\t\t\t\n", + "#calculations\n", + "Tr = 60./(12*3600)\n", + "yr = (lr/Tr)**2\n", + "\t\t\t\n", + "#results\n", + "print \"vertical scale to be adopted is 1 in %d\"%(1/yr)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "vertical scale to be adopted is 1 in 100\n" + ] + } + ], + "prompt_number": 7 + } + ], + "metadata": {} + } + ] +} \ No newline at end of file diff --git a/Principles_Of_Fluid_Mechanics/ch7.ipynb b/Principles_Of_Fluid_Mechanics/ch7.ipynb new file mode 100644 index 00000000..bbf860be --- /dev/null +++ b/Principles_Of_Fluid_Mechanics/ch7.ipynb @@ -0,0 +1,1067 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:de3cacdaf57dab2533c3d6a29cdb98f8a7442d8b301aac65e35672e8b8cf9017" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 7 : Incompressible Flow Through Conduits" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.1 Page No : 240" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 10.**3 \t\t#kg/m**3\n", + "h1 = 4. \t\t\t#m\n", + "muw = 0.001 \t\t#Ns/m**2\n", + "l = 1.5 \t\t\t#m\n", + "B = 0.15/1000 \t\t#m\n", + "lenth = 11.2 \t\t\t#m\n", + "\t\t\t\n", + "#calculations\n", + "P1 = g*rho*h1\n", + "V = P1*B**2 /(12*muw*l)\n", + "A = B*lenth\n", + "Q = A*V\n", + "Q = 7112.4\n", + "tau = B/2 *(P1)/l\n", + "\t\t\t\n", + "#results\n", + "print \"Average velocity through the crack = %.3f m/s\"%(V)\n", + "print \" rate of leakage = %.1f l/hr\"%(Q)\n", + "print \" Shear stress = %.3f N/m**2\"%(tau)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Average velocity through the crack = 0.049 m/s\n", + " rate of leakage = 7112.4 l/hr\n", + " Shear stress = 1.962 N/m**2\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.2 Page No : 242" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 1200. \t\t\t#kg/m**3\n", + "mu = 0.005 \t\t\t#Ns/m**2\n", + "d = 0.006 \t\t\t#m\n", + "Re = 2000.\n", + "V = 0.15 \t\t\t#m/s\n", + "\t\t\t\n", + "#calculations\n", + "Vc = Re*mu/(d*rho)\n", + "Vr = V/Vc\n", + "T0 = 8*mu*V/d\n", + "\t\n", + "#results\n", + "print \"Shear stress = %d N/m**2\"%(T0)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Shear stress = 1 N/m**2\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.3 Page No : 243" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 10.**3 \t\t#kg/m**3\n", + "Q = 0.45/(60*1000) \t#m**3/s\n", + "d = 0.003 \t\t\t#m\n", + "depth = 0.95 \t\t#m\n", + "alpha = 2.\n", + "lenth = 1.25 \t\t\t#m\n", + "\t\t\t\n", + "#calculations\n", + "A = math.pi/4 *d**2\n", + "V = Q/A\n", + "nu = (depth - alpha*V**2 /(2*g))*g*d**2 /(32*V*lenth)\n", + "Re = V*d/nu\n", + "\t\t\t\n", + "#results\n", + "if Re<2000:\n", + " print \"Flow is laminar\"\n", + "else:\n", + " print \"Flow is not laminar\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Flow is laminar\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.4 Page No : 262" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 787. \t\t\t#specific gravity - kg/m**3\n", + "Q = 90.*10**-3 \t\t#m**3/hr\n", + "d = 0.015 \t\t\t#m\n", + "k = 0.0045*10**-2 \t#m\n", + "nu = 1.6e-6 #kinematic viscosity - m^2/s\n", + "l = 5. \t\t\t#m\n", + "\t\t\t\n", + "#calculations\n", + "V = Q/(60*math.pi/4 *d**2)\n", + "Rn = V*d/nu\n", + "e = k/d\n", + "print (\"From moody diagram, f = 0.028\")\n", + "f = 0.028\n", + "hl = f*l/d *V**2 /(2*g)\n", + "Power = rho*g*Q/60 *hl\n", + "\t\t\t#result\n", + "print \"Head loss = %.2f m\"%(hl)\n", + "print \" power required = %.3f kW\"%(Power/1000)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "From moody diagram, f = 0.028\n", + "Head loss = 34.27 m\n", + " power required = 0.397 kW\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.5 Page No : 263" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 870. \t\t\t#density - kg/m**3\n", + "Q = 2.*10**-3 \t\t#m**3/s\n", + "d = 0.03 \t\t\t#diameter - m\n", + "mu = 5.*10**-4 #dynamics viscosity(N-s/m^2)\n", + "l = 50. \t\t\t#length - m\n", + "\t\t\t\n", + "#calculations\n", + "V = Q/(math.pi/4 *d**2)\n", + "RN = rho*V*d/mu\n", + "f = 0.017\n", + "hl = f*l/d *V**2/(2*g)\n", + "Ploss = rho*g*hl\n", + "\t\t\t\n", + "#results\n", + "print \"Loss of pressure = %.1f kN/m**2\"%(Ploss/1000)\n", + "#The answers are a bit different due to rounding off error in textbook" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Loss of pressure = 98.7 kN/m**2\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.6 Page No : 263" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 813. \t\t\t#density - kg/m**3\n", + "Q = 0.007 \t\t\t#m**3/hr\n", + "d = 0.01\t\t\t#m\n", + "mu = 0.002 \t\t\t#Ns/m**2\n", + "l = 30. \t\t\t#m\n", + "\t\t\t\n", + "#calculations\n", + "V = Q/(60*math.pi/4*d**2)\n", + "RN = V*d*rho/mu\n", + "f = 0.316/RN**(0.25)\n", + "h = (1+f*l/d)*V**2 /(2*g)\n", + "\n", + "#result\n", + "print \"Height required = %.2f m\"%(h)\n", + "\n", + "# rounding off error." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Height required = 12.21 m\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.7 Page No : 264" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t \t#m/s**2\n", + "rho = 10**3 \t\t\t#kg/m**3\n", + "hl = 0.02\n", + "d = 1.2 \t\t\t#diameter - m\n", + "l = 1. \t \t\t#m\n", + "k = 0.5 *10**-2 \t\t#m\n", + "\t\t\t\n", + "#calculations\n", + "v2f = hl*(2*g*d)/l\n", + "e = k/d\n", + "f = 0.028\n", + "V = math.sqrt(v2f/f)\n", + "Q = math.pi/4 *d**2 *V\n", + "\t\t\t\n", + "#results\n", + "print \"Rate of flow = %.2f m**3/s\"%(Q)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Rate of flow = 4.64 m**3/s\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.8 Page No : 265" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t \t#m/s**2\n", + "rho = 10.**3 \t\t\t#kg/m**3\n", + "e = 0.03*10**-2 \t\t#surface roughness - m\n", + "l = 3000. \t \t\t#distance - m\n", + "Q = 300.*10**-3 \t\t#m**3/s\n", + "nu = 10.**-5 \t\t\t#kinematic viscosity - m**2/s\n", + "hl = 24. \t\t\t#m\n", + "\t\t\t\n", + "#calculations\n", + "d5f = l*Q/(math.pi/4) * Q/(math.pi/4) /(hl*2*g)\n", + "f = 0.022\n", + "d = (d5f*f)**(1./5)\n", + "\t\t\t\n", + "#results\n", + "print \"Size of the required pipe = %d cm\"%(d*100)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Size of the required pipe = 45 cm\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.9 Page No : 266" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 10.**3 \t\t#kg/m**3\n", + "d = 0.3 \t\t\t#m\n", + "per = 25./100\n", + "Q = 0.1 \t\t\t#m**3/s\n", + "k0 = 0.025*10**-2 \t#m\n", + "nu = 0.000001\n", + "year = 10.\n", + "\t\t\t\n", + "#calculations\n", + "V = Q/(math.pi/4 *d**2)\n", + "RN = V*d/nu\n", + "e1 = k0/d\n", + "f1 = 0.019 \n", + "f2 = (1+per)*f1\n", + "e2 = 0.002\n", + "k2 = e2*d\n", + "rate = (k2-k0)*100/year\n", + "\t\t\t\n", + "#results\n", + "print \"Rate of increase = %.4f cm/year\"%(rate)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Rate of increase = 0.0035 cm/year\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.10 Page No : 267" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 10.**3 \t\t#kg/m**3\n", + "l = 1. \t\t\t #m\n", + "b = 0.3 \t\t\t#m\n", + "Q = 4.2 \t\t\t#m**3/s\n", + "\t\t\t\n", + "#calculations\n", + "A = l*b\n", + "R = A/(2*(l+b))\n", + "d5 = 1.62/24.15\n", + "d = d5**(1./5)\n", + "Pr = 2*(l+b)/(math.pi*d)\n", + "\t\t\t\n", + "#results\n", + "print \"The rectangular cross section will cost %.2f times that of a circular cross section\"%(Pr)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The rectangular cross section will cost 1.42 times that of a circular cross section\n" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.11 Page No : 270" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 10.**3 \t\t\t#kg/m**3\n", + "d1 = 2.5*10**-2 \t\t\t#m\n", + "d2 = 7.2*10**-2 \t\t\t#m\n", + "Q = 100.*10**-3 \t\t\t#m**3/hr\n", + "\t\t\t\n", + "#calculations\n", + "V1 = Q/(60*math.pi/4*d1**2)\n", + "V2 = (d1/d2)**2 *V1\n", + "dp = -(V2**2 -V1**2 + (V1-V2)**2)/(2*g)\n", + "Pdiff = dp*g*rho\n", + "\t\t\t\n", + "#results\n", + "print \"pressure difference = %.2f kN/m**2\"%(Pdiff/1000)\n", + "\n", + "# note : The answers are a bit different due to rounding off error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "pressure difference = 1.22 kN/m**2\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.12 Page No : 273" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 10.**3 \t\t\t#kg/m**3\n", + "d2 = 30./100 \t\t\t#cm\n", + "d1 = 60./100 \t\t\t#cm\n", + "Pu = 105. \t\t\t#kN/m**2\n", + "Pd = 75. \t\t\t#kN/m**2\n", + "Cc = 0.65\n", + "\t\t\t\n", + "#calculations\n", + "V22 = (2*g/(1 - (d2/d1)**4 + (1/Cc -1)**2)) *(Pu-Pd)*10**3 /(rho*g)\n", + "V2 = math.sqrt(V22)\n", + "Q = math.pi/4 *V2 *d2**2\n", + "hl = (1/Cc -1)**2 *V2**2 /(2*g)\n", + "\t\t\t\n", + "#results\n", + "print \"Flow rate = %.3f m**3/s\"%(Q)\n", + "print \" Head loss = %.3f m\"%(hl)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Flow rate = 0.494 m**3/s\n", + " Head loss = 0.722 m\n" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.13 Page No : 277" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \t\t\t#m/s**2\n", + "rho = 10.**3 \t\t#kg/m**3\n", + "d = 9. \t\t\t#m\n", + "dia = 0.3 \t\t\t#m\n", + "\t\t\t\n", + "#calculations\n", + "V302 = 2*g*d/(0.5 + 20 + 2.53+101+0.66+41.47+2.07)\n", + "V30 = math.sqrt(V302)\n", + "Q = math.pi/4 *dia**2 *V30\n", + "\t\t\t\n", + "#results\n", + "print \"Flow rate = %.3f m**3/s\"%(Q)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Flow rate = 0.072 m**3/s\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.14 Page No : 278" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "h = 6. \t\t\t #m\n", + "rho = 930. \t\t\t#kg/m**3\n", + "Q = 3./60 \t\t\t#m**3/s\n", + "d = 0.15 \t\t\t#m\n", + "L = 20. \t\t\t#m\n", + "mu = 0.006 #viscosity\n", + "g = 9.81 \t\t\t#m/s**2\n", + "\t\t\t\n", + "#calculations\n", + "V = Q/(math.pi/4 *d**2)\n", + "RN = V*d*rho/mu\n", + "f = 0.316/RN**0.25\n", + "hl = f*L/d *V**2 /(2*g)\n", + "Hp = h+hl\n", + "gam = rho*g\n", + "W = gam*Q\n", + "Power = W*Hp\n", + "\t\t\t\n", + "#results\n", + "print \"Power required = %.3f kW\"%(Power/1000)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Power required = 3.227 kW\n" + ] + } + ], + "prompt_number": 17 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.15 Page No : 279" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "from scipy.integrate import quad\n", + "\t\t\t\n", + "#Initialization of variables\n", + "d = 0.02 \t\t\t#m\n", + "d2 = 1.2 \t\t\t#diameter - m\n", + "f = 0.01\n", + "L = 250.\n", + "ken = 0.5\n", + "g = 9.81\n", + "h1 = 8. \t\t\t#m\n", + "h2 = 4. \t\t\t#m\n", + "\t\t\t\n", + "#calculations\n", + "V2 = 2*g/(1+ken+ f*L/d)\n", + "V = math.sqrt(V2)\n", + "Q = math.pi/4 *d**2 *V\n", + "def time(h):\n", + " return -math.pi/4 *d2**2 /Q /math.sqrt(h)\n", + "\n", + "ti = quad(time,h1,h2)[0]\n", + "hours = ti/3600\n", + "mins = ti%3600/60\n", + "secs = ti%3600%60\n", + "\n", + "#results\n", + "print \"Time required = %d hours %d mins %d seconds\"%(hours,mins,secs)\n", + "\n", + "# rounding off error." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Time required = 4 hours 12 mins 25 seconds\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.16 Page No : 280" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\t\t\t\n", + "#Initialization of variables\n", + "d1 = 0.1 \t\t\t#m\n", + "d2 = 0.05 \t\t\t#m\n", + "l1 = 20. \t\t\t#m\n", + "l2 = 20. \t\t\t#m\n", + "f = 0.02\n", + "\t\t\t\n", + "#calculations\n", + "Kl = (f*l2/d2 *(d1/d2)**4 - f*l1/d1)\n", + "\t\t\t\n", + "#results\n", + "print \"Loss coefficient = %d \"%(Kl)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Loss coefficient = 124 \n" + ] + } + ], + "prompt_number": 19 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.17 Page No : 281" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81 \n", + "ratio = 1.265\n", + "\t\t\t\n", + "#calculations\n", + "percent = (ratio-1)*100\n", + "\t\t\t\n", + "#results\n", + "print \"Increase in discharge = %.1f %%\"%(percent)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Increase in discharge = 26.5 %\n" + ] + } + ], + "prompt_number": 17 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.18 Page No : 282" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "Q = 0.6 \t\t\t#m**3/s\n", + "l1 = 1200. \t\t\t#m\n", + "l2 = 800. \t\t\t#m\n", + "d1 = 0.3 \t\t\t#m\n", + "\t\t\t\n", + "#calculations\n", + "V1 = 1.02 \t\t\t#m/s\n", + "d5 = d1*l2*4**2 *Q**2 /(l1*math.pi**2 *V1**2)\n", + "d = d5**(1./5)\n", + "\t\t\t\n", + "#results\n", + "print \"diameter of the single pipe = %.2f m\"%(d)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "diameter of the single pipe = 0.65 m\n" + ] + } + ], + "prompt_number": 18 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.19 Page No : 284" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "g = 9.81\n", + "Q = 0.18 \t\t\t#m**3/s\n", + "d3 = 0.3\t\t\t#m\n", + "f = 0.032 #friction factor\n", + "L3 = 360. \t\t\t#m\n", + "z = 25.5 \t\t\t#m\n", + "z2 = 30. \t\t\t#m\n", + "L2 = 450. \t\t\t#m\n", + "d2 = 0.45\t\t\t#m\n", + "L1 = 950. \t\t\t#m\n", + "d1 = 0.45 \t\t\t#m\n", + "zn = 18. \t\t\t#m\n", + "rho = 1000.\n", + "\t\t\t\n", + "#calculations\n", + "V3 = Q/(math.pi/4 *d3**2)\n", + "hl3 = f*L3/d3 *(V3**2 /(2*g))\n", + "Z2 = z+hl3\n", + "hl2 = Z2-z2\n", + "V2 = math.sqrt(2*g*d2*hl2/(f*L2))\n", + "Q2 = math.pi/4 *d2**2 *V2\n", + "V1 = V2+ (d3/d2)**2 *V3\n", + "hl1 = f*L1/d1*V1**2 /(2*g)\n", + "Hp = hl1+ Z2-zn\n", + "gam = rho*g\n", + "P = gam*Hp\n", + "\t\t\t\n", + "#results\n", + "print \"Discharge into the reservoir = %.3f m**3/s\"%(Q2)\n", + "print \" Pressure maintained by the pump = %.2f kN/m**2\"%(P/1000)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Discharge into the reservoir = 0.356 m**3/s\n", + " Pressure maintained by the pump = 582.34 kN/m**2\n" + ] + } + ], + "prompt_number": 23 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.20 Page No : 285" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "from numpy import *\n", + "\t\t\t\n", + "#Initialization of variables\n", + "z1 = 10. \t\t\t#m\n", + "z2 = 5. \t\t\t#m\n", + "z3 = 7.5 \t\t\t#m\n", + "f = 0.04 \n", + "l1 = 100. \t\t\t#m\n", + "l2 = 50. \t\t\t#m\n", + "l3 = 70. \t\t\t#m\n", + "d1 = 0.1 \t\t\t#m\n", + "d2 = 0.075 \t\t\t#m\n", + "d3 = 0.06 \t\t\t#m\n", + "g = 9.81 \t\t\t#m/s**2\n", + "h = array([1, 2, 1.9, 1.96])\n", + "\n", + "#calculations\n", + "Q1 = sqrt(d1**5 *(math.pi/4)**2 *2*g/(f*l1)) *sqrt(z1-h)\n", + "Q2 = sqrt(d2**5 *(math.pi/4)**2 *2*g/(f*l2)) *sqrt(h+z2)\n", + "Q3 = sqrt(d3**5 *(math.pi/4)**2 *2*g/(f*l3)) *sqrt(h+z3)\n", + "for i in range(4):\n", + " Q = Q2[i]+Q3[i]\n", + " if (Q1[i] == Q):\n", + " break;\n", + " print \"height h = %.2f m\"%(h[i])\n", + " print \"Discharge in BC Q2 = %.2f lps\"%((Q2[i])*1000)\n", + " print \"Discharge in BD Q3 = %.2f lps\"%((Q3[i])*1000)\n", + " \n", + "# note : rounding off error. " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "height h = 1.00 m\n", + "Discharge in BC Q2 = 9.28 lps\n", + "Discharge in BD Q3 = 5.35 lps\n", + "height h = 2.00 m\n", + "Discharge in BC Q2 = 10.03 lps\n", + "Discharge in BD Q3 = 5.65 lps\n", + "height h = 1.90 m\n", + "Discharge in BC Q2 = 9.95 lps\n", + "Discharge in BD Q3 = 5.62 lps\n", + "height h = 1.96 m\n", + "Discharge in BC Q2 = 10.00 lps\n", + "Discharge in BD Q3 = 5.64 lps\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.21 Page No : 290" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "e = 0.8\n", + "output = 400. \t\t#kW\n", + "H = 150. \t\t\t#m\n", + "rho = 1000. \n", + "g = 9.81\n", + "f = 0.028\n", + "l = 1250. \t\t\t#m\n", + "\t\t\t\n", + "#calculations\n", + "gam = rho*g\n", + "inpu = output/e\n", + "Q = inpu*10**3 /(2./3 *gam*H)\n", + "hl = 1./3 *H\n", + "d5 = f*l*Q**2 /(2*g* math.pi/4 * math.pi/4 *hl)\n", + "d = d5**(1./5)\n", + "\t\t\t\n", + "#results\n", + "print \"Smallest diameter of pen stock = %d cm\"%(d*100)\n", + " " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Smallest diameter of pen stock = 43 cm\n" + ] + } + ], + "prompt_number": 25 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.22 Page No : 291" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "f = 0.04\n", + "H = 30. \t\t\t#m\n", + "l = 200. \t\t\t#m\n", + "d = 0.075 \t\t\t#m\n", + "g = 9.81\n", + "rho = 1000.\n", + "gam = rho*g\n", + "\t\t\t\n", + "#calculations\n", + "h = 2/3. *H\n", + "vj = math.sqrt(2.*g*h)\n", + "hl = 1/3. *H\n", + "V = math.sqrt(hl*d*2*g/(f*l))\n", + "dj = d*(math.sqrt(V/vj))\n", + "Power = 2/3. *gam*math.pi/4. *d**2 *V*H\n", + "\t\t\t\n", + "#results\n", + "print \"Size of nozzle = %.1f cm\"%(dj*100)\n", + "print \" Max power = %.2f kW\"%(Power/1000)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Size of nozzle = 2.0 cm\n", + " Max power = 1.18 kW\n" + ] + } + ], + "prompt_number": 29 + } + ], + "metadata": {} + } + ] +} \ No newline at end of file diff --git a/Principles_Of_Fluid_Mechanics/ch8.ipynb b/Principles_Of_Fluid_Mechanics/ch8.ipynb new file mode 100644 index 00000000..85eb3fee --- /dev/null +++ b/Principles_Of_Fluid_Mechanics/ch8.ipynb @@ -0,0 +1,532 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:994ba4703f91ead0a5ff4da6459451af8490fc9d0d26864c4973279092fd8132" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 8 : Uniform Open Channel Flow" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.1 Page No : 306" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "b = 4. \t\t\t #m\n", + "y = 1.2 \t\t\t#m\n", + "sf = 0.001\n", + "n = 0.012\n", + "gam = 9.81*1000\n", + "\t\t\t\n", + "#calculations\n", + "A = b*y\n", + "R = A/(b+ 2*y)\n", + "Q = 1/n *A*R**(2./3) *sf**(1./2)\n", + "T = gam*R*sf\n", + "\t\t\t\n", + "#results\n", + "print \"Discharge = %.3f m**3/s\"%(Q)\n", + "print \" bed shear = %.2f N/m**2\"%(T)\n", + "#The answer in textbook is wrong for discharge. Please use a calculator." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Discharge = 10.442 m**3/s\n", + " bed shear = 7.36 N/m**2\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.2 Page No : 306" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "b = 6. \t\t \t#m\n", + "y = 2. \t\t\t #m\n", + "sf = 0.005\n", + "slope = 2.\n", + "gam = 9.81*1000\n", + "Q = 65. \t\t\t#m**3/s\n", + "\t\t\t\n", + "#calculations\n", + "A = (b+ 2*y)*slope\n", + "P = b+ 2*y*math.sqrt(slope**2 +1)\n", + "R = A/P\n", + "V = Q/A\n", + "n = R**(2./3) *sf**(1./2) /V\n", + "\t\t\t\n", + "#results\n", + "print \"Value of mannings coefficient = %.3f\"%(n)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Value of mannings coefficient = 0.026\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.3 Page No : 307" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "b = 3. \t\t\t#m\n", + "y = 1. \t\t\t#m\n", + "sf = 0.005 #slope\n", + "n = 0.028 \n", + "gam = 9.81*1000\n", + "Q = 0.25 \t\t\t#discharge - m**3/s\n", + "slope = 1.5\n", + "\t\t\t\n", + "#calculations\n", + "A = 0.5 *b*y\n", + "P = 2*math.sqrt(1 + (slope)**2)\n", + "R = A/P\n", + "yx = Q*n/(slope * R**(2./3) *sf**(1./2))\n", + "y = yx**(3./8)\n", + "\t\t\t\n", + "#results\n", + "print \"depth = %.2f m\"%(y)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "depth = 0.45 m\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.4 Page No : 307" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "sf = 0.0064 #slope\n", + "n = 0.015\n", + "Q = 6. \t\t\t#discharge - m**3/s\n", + "gam = 9.81*1000\n", + "\t\t\t\n", + "#calculations\n", + "AR = n*Q/math.sqrt(sf)\n", + "print (\"On trial and error, \")\n", + "y = 0.385 \t\t\t#m\n", + "print \"normal depth = %.3f m\"%(y)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "On trial and error, \n", + "normal depth = 0.385 m\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.5 Page No : 308" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "from numpy import *\n", + "\t\t\t\n", + "#Initialization of variables\\\n", + "sf = 0.00007\n", + "n = 0.013\n", + "gam = 9.81*1000\n", + "V = 0.45 \t\t\t#velocity - m/s\n", + "Q = 1.4 \t\t\t#m**3/s\n", + "\t\t\t\n", + "#calculations\n", + "by = Q/V\n", + "#x = poly(0,\"x\")\n", + "#y = roots(x**2 -2.66*x +1.55)\n", + "y = roots([1,-2.66,1.55])\n", + "b = by/y\n", + "\t\t\t\n", + "#results\n", + "print \"y = \", y \n", + "print \"corresponding b = \" ,b" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "y = [ 1.7978675 0.8621325]" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "corresponding b = [ 1.73044516 3.60862294]\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.6 Page No : 310" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "sf = 0.0016 #slope\n", + "n = 0.02\n", + "Q = 0.84 \t\t\t#m**3/s\n", + "gam = 9.81*1000\n", + "\t\t\t\n", + "#calculations\n", + "y53 = Q*n/math.sqrt(sf)\n", + "y = y53**(3./5)\n", + "\t\t\t\n", + "#results\n", + "print \"depth of flow = %.2f m\"%(y)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "depth of flow = 0.59 m\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.7 Page No : 313" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "n = 0.015\n", + "Q = 1.3 \t\t\t#m**3/s\n", + "V = 0.6 \t\t\t#m/s\n", + "gam = 9.81*1000\n", + "\t\t\t\n", + "#calculations\n", + "alpha = 60. \t\t\t#degrees\n", + "A = 0.5 *(1./2)**2 *(180-alpha)/180 *math.pi -(1./4)**2 *math.radians(math.tan(alpha))\n", + "A = 0.206\n", + "P = 0.5*(180-alpha)/180 *math.pi\n", + "R = A/P\n", + "d2 = V*n/(R**(2./3))\n", + "d8 = Q*n*4*4**(2./3) /math.pi\n", + "d = math.sqrt(d8/d2)\n", + "sf = (d2**2/d**(4./3))\n", + "\t\n", + "#results\n", + "print \"Diameter = %.2f m\"%(d)\n", + "print \" slope = %.5f \"%(sf)\n", + "#The answer given in textbook is wrong. please check" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Diameter = 1.53 m\n", + " slope = 0.00040 \n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.8 Page No : 315" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "b = 0.5 \t\t\t#m\n", + "y = 0.35 \t\t\t#m\n", + "sf = 0.001 #slope\n", + "nc = 0.016\n", + "gam = 9.81*1000\n", + "Q = 0.15 \t\t\t#m**3/s\n", + "\t\t\t\n", + "#calculations\n", + "A = b*y\n", + "P = b+ 2*y\n", + "R = A/P\n", + "ng = 1/Q *A*R**(2./3) *sf**(1./2)\n", + "n = (b*nc**(3./2) + 2*y*ng**(3./2))**(2./3) /(P**(2./3))\n", + "Q2 = 1/n *A*R**(2./3) *sf**(1./2)\n", + "\t\t\t\n", + "#results\n", + "print \"flow in case 2 = %.3f m**3/s\"%(Q2)\n", + "\n", + "# note : rounding off error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "flow in case 2 = 0.120 m**3/s\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.9 Page No : 316" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "b1 = 8. \t\t\t#m\n", + "b2 = 5. \t\t\t#m\n", + "y = 5. \t\t\t#m\n", + "b5 = 15. \t\t\t#m\n", + "b3 = 3. \t\t\t#m\n", + "b4 = 3. \t\t\t#m\n", + "y2 = 2. \t\t\t#m\n", + "y3 = 3. \t\t\t#m\n", + "n1 = 0.025\n", + "n2 = 0.035\n", + "sf = 0.0008\n", + "\t\t\t#calcuations\n", + "A = (b1+b2)*y\n", + "P = b1+ math.sqrt(b2**2 +y**2) + math.sqrt(b3**2 +b4**2)\n", + "R = A/P\n", + "Q1 = 1/n1 *A*R**(2./3) *sf**(1./2)\n", + "A2 = b5*y2 - 0.5*y2*y2 + 0.5*y3*y2\n", + "P2 = b5 + math.sqrt(b4**2 + y3**2)\n", + "R2 = A2/P2\n", + "Q2 = 1/n2 *A2*R2**(2./3) *sf**(1./2)\n", + "Q = Q1+Q2\n", + "\t\t\t\n", + "#results\n", + "print \"Total discharge = %.f m**3/s\"%(Q)\n", + "\n", + "# rounding off error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Total discharge = 200 m**3/s\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.10 Page No : 320" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "Q = 12. \t\t\t#m**3/s\n", + "n = 0.023\n", + "A = 2.472\n", + "b = 0.472\n", + "sf = 1./8000\n", + "\t\t\t\n", + "#calculations\n", + "y8 = Q*n/A *2**(2./3) /sf**(1./2)\n", + "y = y8**(3./8)\n", + "b2 = b*y\n", + "\t\t\t\n", + "#results\n", + "print \"depth = %.3f m\"%(y)\n", + "print \" width = %.2f m\"%(b2)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "depth = 2.819 m\n", + " width = 1.33 m\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.11 Page No : 320" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "Q = 30. \n", + "V = 1.\n", + "\t\t\t\n", + "#calculations\n", + "A = Q/V\n", + "y = math.sqrt(A/(math.sqrt(2) + 0.5))\n", + "b = (A- 0.5*y**2)/y\n", + "\t\t\t\n", + "#results\n", + "print \"width = %.2f m\"%(b)\n", + "print \" depth = %.2f m\"%(y)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "width = 5.60 m\n", + " depth = 3.96 m\n" + ] + } + ], + "prompt_number": 11 + } + ], + "metadata": {} + } + ] +} \ No newline at end of file diff --git a/Principles_Of_Fluid_Mechanics/ch9.ipynb b/Principles_Of_Fluid_Mechanics/ch9.ipynb new file mode 100644 index 00000000..d60bcd33 --- /dev/null +++ b/Principles_Of_Fluid_Mechanics/ch9.ipynb @@ -0,0 +1,152 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:a18675a96e26e95bc119a7095e6c5f784a91bb484f337fa10d53e05acf798c32" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 9 : Potential Flow" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.4 Page No : 339" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "k = 1.5\n", + "r = 40. \t \t\t#cm\n", + "theta = 45. \t\t\t#degrees\n", + "\t\t\t\n", + "#calculations\n", + "vr = -2*k*r*math.cos(math.radians(2*theta))\n", + "vt = 2*k*r*math.sin(math.radians(2*theta))\n", + "\t\t\t\n", + "#results\n", + "print \"velocity in radial direction = %d cm/s\"%(vr)\n", + "print \" velcoity in angular direction = %d cm/s\"%(vt)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "velocity in radial direction = 0 cm/s\n", + " velcoity in angular direction = 120 cm/s\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.14 Page No : 371" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "T = 4.5 #m^2/s\n", + "a = 0.6 #diameter - m\n", + "u = 5. \t\t \t#velocity - m/s\n", + "rho = 1000. \t\t\t#kg/m**3\n", + "\t\t\t\n", + "#calculations\n", + "sint = 0.5*(1- T/(2*math.pi*a*u))\n", + "theta = math.degrees(math.asin((sint)))\n", + "dp = 0.5*rho*u**2 *(1 - (2 + T/(2*math.pi*a*u))**2)\n", + "\t\t\t\n", + "#results\n", + "print \"Angle = %.1f or %.1f degrees\"%(theta,180-theta)\n", + "print \" Min guage pressure = %.2f kN/m**2\"%(dp/1000)\n", + "\n", + "#The answer in textbook is wrong. please check" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Angle = 22.4 or 157.6 degrees\n", + " Min guage pressure = -50.15 kN/m**2\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.15 Page No : 371" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "#Initialization of variables\n", + "T = 6*math.pi\n", + "r = 1./3\n", + "\t\t\t\n", + "#calculations\n", + "vab = T/(4*math.pi)\n", + "vba = T/(2*math.pi)\n", + "w = vab/r\n", + "\t\t\t\n", + "#results\n", + "print \"rate of rotation = %.1f rad/s\"%(w)\n", + "print \"speed of A by B = %.1f m/s\"%(vab)\n", + "print \"speed of B by A = %.1f m/s\"%(vba)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "rate of rotation = 4.5 rad/s\n", + "speed of A by B = 1.5 m/s\n", + "speed of B by A = 3.0 m/s\n" + ] + } + ], + "prompt_number": 4 + } + ], + "metadata": {} + } + ] +} \ No newline at end of file diff --git a/Principles_Of_Fluid_Mechanics/screenshots/10TheBoundaryLayer.png b/Principles_Of_Fluid_Mechanics/screenshots/10TheBoundaryLayer.png new file mode 100644 index 00000000..87f14437 Binary files /dev/null and b/Principles_Of_Fluid_Mechanics/screenshots/10TheBoundaryLayer.png differ diff --git a/Principles_Of_Fluid_Mechanics/screenshots/1BasicConcepts.png b/Principles_Of_Fluid_Mechanics/screenshots/1BasicConcepts.png new file mode 100644 index 00000000..7d530f7c Binary files /dev/null and b/Principles_Of_Fluid_Mechanics/screenshots/1BasicConcepts.png differ diff --git a/Principles_Of_Fluid_Mechanics/screenshots/9PotentialFlow.png b/Principles_Of_Fluid_Mechanics/screenshots/9PotentialFlow.png new file mode 100644 index 00000000..76999ba9 Binary files /dev/null and b/Principles_Of_Fluid_Mechanics/screenshots/9PotentialFlow.png differ -- cgit