From 206d0358703aa05d5d7315900fe1d054c2817ddc Mon Sep 17 00:00:00 2001 From: Jovina Dsouza Date: Wed, 18 Jun 2014 12:43:07 +0530 Subject: adding book --- .../Chapter_1_1.ipynb | 322 ++++++++++++++ .../Chapter_2_1.ipynb | 175 ++++++++ .../Chapter_3_1.ipynb | 280 ++++++++++++ .../Chapter_4_1.ipynb | 49 +++ .../Chapter_5_1.ipynb | 469 +++++++++++++++++++++ .../Chapter_6_1.ipynb | 196 +++++++++ .../Chapter_7_1.ipynb | 235 +++++++++++ .../Chapter_8_1.ipynb | 301 +++++++++++++ .../Chapter_9_1.ipynb | 184 ++++++++ .../README.txt | 10 + .../screenshots/depth-flowrate.png | Bin 0 -> 20093 bytes .../screenshots/depthvsflow.png | Bin 0 -> 16606 bytes .../screenshots/flowrate.png | Bin 0 -> 22119 bytes .../screenshots/rateofflowandvlo.png | Bin 0 -> 14911 bytes .../screenshots/system&pump.png | Bin 0 -> 30741 bytes .../screenshots/system&pump_1.png | Bin 0 -> 19178 bytes 16 files changed, 2221 insertions(+) create mode 100644 Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_1_1.ipynb create mode 100644 Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_2_1.ipynb create mode 100644 Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_3_1.ipynb create mode 100644 Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_4_1.ipynb create mode 100644 Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_5_1.ipynb create mode 100644 Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_6_1.ipynb create mode 100644 Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_7_1.ipynb create mode 100644 Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_8_1.ipynb create mode 100644 Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_9_1.ipynb create mode 100644 Fluid_Mechanics_-_Worked_Examples_For_Engineers/README.txt create mode 100644 Fluid_Mechanics_-_Worked_Examples_For_Engineers/screenshots/depth-flowrate.png create mode 100644 Fluid_Mechanics_-_Worked_Examples_For_Engineers/screenshots/depthvsflow.png create mode 100644 Fluid_Mechanics_-_Worked_Examples_For_Engineers/screenshots/flowrate.png create mode 100644 Fluid_Mechanics_-_Worked_Examples_For_Engineers/screenshots/rateofflowandvlo.png create mode 100644 Fluid_Mechanics_-_Worked_Examples_For_Engineers/screenshots/system&pump.png create mode 100644 Fluid_Mechanics_-_Worked_Examples_For_Engineers/screenshots/system&pump_1.png (limited to 'Fluid_Mechanics_-_Worked_Examples_For_Engineers') diff --git a/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_1_1.ipynb b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_1_1.ipynb new file mode 100644 index 00000000..43fa32ce --- /dev/null +++ b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_1_1.ipynb @@ -0,0 +1,322 @@ +{ + "metadata": { + "name": "Chapter 1" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": "Chapter1: Fluid Statics" + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 1.1,Page 3" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding Force\n\n# Variable Decleration\nrho=924; #density\ng=9.81; #grivity\nH=2; #height\nd=2; # depth \n\n#Calculation\np=rho*g*H;\na=d*H;\nF=p*a/2;\n\n#result\nprint\" Total force exerted over the wall in(N) =\",round(F,3)", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": " Total force exerted over the wall in(N) = 36257.76\n" + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 1.2,Page 5" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding Force and Pressure\nimport math\n\n#Variable declaration\np_v =50*1000; #pressure\nr =1; #m\np_atm =101.3*1000; #atmospheric pressure\nrho =1000; #density\nH =2.5; #m\ng =9.81; #m/s^2\n\n\n#Calculation\nF= p_v*math.pi*r*r;\np= p_atm + p_v + rho *g*H;\nFd =( p_v+ rho *g*H)*math.pi*r*r+rho*g*2*math.pi*r*r/3;\n\n#result\nprint \" Total vertical force tending to lift the dome (N)\", round(F,3)\nprint \" Absolute pressure at the bottom o f the vessel (Pa)\",round(p,3)\nprint \"Downward force imposed by the gas and liquid (N)\", round(Fd,3)", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": " Total vertical force tending to lift the dome (N) 157079.633\n Absolute pressure at the bottom o f the vessel (Pa) 175825.0\nDownward force imposed by the gas and liquid (N) 254673.208\n" + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 1.3,Page 7" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding Force\n\n#Variable Decleration\na1 =0.3; #m^2\nm =1000; # kg\na2 =0.003; #m^2\nrho_oil =750; #kg /m^3\nH =2; #m\ng =9.81; #m/ s ^2\n\n# Calcualtion\nF1=m*g;\nF2=a2 *( F1/a1 - rho_oil *g*H);\n\n#result\nprint \"The force on the plunger(N)\",round(F2,3)", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "The force on the plunger(N) 53.955\n" + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 1.4,Page 8" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding Height\n\n#variable Decleration\nrho_0 =800; # kg /m^3\nrho_aq =1100; # density of aqueous solution\n\n#calculation\nH =0.5* rho_aq /( rho_aq - rho_0 );\n# For a fixed length of chamber o f 3 m, the\n#interface between the two phases is determined\n#from the p r e s s u r e i n the chamber and d i s c h a r g e\n#p o i n t .\n#r h o 0 \u0003g\u0003H1+rho a q \u0003g\u0003H2=rho a q \u0003g \u0003(H\udbc0\udc000.5) ;\n#H=H1+H2\nrho_0 =600; #kg /m^3\nH1 =0.5* rho_aq /( rho_aq - rho_0 );\n\n#result\nprint \"H(m)\",round(H,3)\nprint \"The lowest possible position of the interface in the chamber below the overflow (m)\",round(H1,2)", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "H(m) 1.833\nThe lowest possible position of the interface in the chamber below the overflow (m) 1.1\n" + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 1.5, Page11" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#position of interface between legs\n\n#variable decleration\nrho_o =900; #kg /m^3\nrho_n =1070; #kg /m^3\nH =1; #m\ng =9.81; #m/ s ^2\ndp =10*10**3; #change in pressure\n\n#H=H1+H2\n#calculation\nH1 =(dp - rho_n *g*H)/( rho_o - rho_n )/g;\n\n#result\nprint \"The position of the interface between the legs (m)\", round(H1,2)", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "The position of the interface between the legs (m) 0.3\n" + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 1.6,Page 13" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding Density and Fraction\n\n# Variable defining\ndp =22*10**3; #N/m^2\ng =9.81;#m/ s ^2\nH =1.5;#m\nrho =1495.00;#kg /m^3\nrho_s =1270;#kg /m^3\nrho_c =2698;#kg /m^3\n\n# Calculation\np=dp/g/H;\n#rho=f 1 \u0003 r h o s+f 2 \u0003 r h o c\n#f 1+f 2=1\nf2 =( rho - rho_s )/( rho_c - rho_s );\n\n#result\nprint \" the density of the solution with crystals (kg/m^3)\",round(p,3)\nprint \"The fraction of crystals \", round(f2,3)", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": " the density of the solution with crystals (kg/m^3) 1495.073\nThe fraction of crystals 0.158\n" + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 1.7, Page 15" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding radius\n\n#Variable defining\np_atm =101.3*10**3; #N/m^2\nrho =1000; #kg /m^3\ng =9.81; #m/ s ^2\nH1 =3; #m\na =0.073; #N/m\nr1 =5*10**( -4) ; #m\np1= p_atm + rho *g*H1 +2* a/r1;\n\n#calculation\n# p2=p atm+rho \u0003g\u0003H2+2\u0003a / r2 ;\n# p1 \u00034/3\u0003%pi\u0003 r1 ^3=p2 \u00034/3\u0003%pi\u0003 r2 ^3\n# Solving above two equations we get\nr2 =0.053; #//mm\n\n#result\nprint\"Radius of the bubble(mm)\",round(r2,3)", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "Radius of the bubble(mm) 0.053\n" + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 1.8,Page 17" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding Pressure Difference\n\n#Variable defining\nH =0.2; #m\nrho =1000; #kg /m^3\nrho_Hg =13600; #kg /m^3\ng =9.81; #m/ s ^2\n\n#calculation\ndp =( rho_Hg -rho)*g*H;\n\n#result\nprint \" Differential pressure(Pa)\",round(dp,2)", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": " Differential pressure(Pa) 24721.2\n" + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 1.9,Page 19" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding pressure drop\n\n#variable defining\nrho =1000;\ng =9.81; # m/ s ^2\nH =0.4; #m\n\n#calculation\ndp=rho*g*H;\n\n#result\nprint\" Pressure drop in the pipe(Pa)\",round(dp)", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": " Pressure drop in the pipe(Pa) 3924.0\n" + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 1.10,Page 21" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#finding quantity\nimport math\n\n#variable defining\ndp =20*10**3; #N/m^2\nrho_Hg =13600; # kg /m^3\nrho =700; #kg /m^3\ng =9.81; #m/ s ^2\nd =0.02; #m\n\n\n#calculation\nH=dp*(rho_Hg - rho)**-1/g;\nV= math.pi /4*d*d*H;\n\n#result\nprint\"Quantity of mercury to be removed (m^3)\",round(V,9)", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "Quantity of mercury to be removed (m^3) 4.965e-05\n" + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 1.11,Page 23" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding Pressure\n\n#Variable defining\nimport math\nfrom math import sin\nrho =800; #kg /m^3\ng =9.81; #m/ s ^2\nL =0.12;\n\n\n#calculations\ntheta = math.pi /180*20; #radians\ndp=rho*g*L*(sin(theta));\n\n#result\nprint \"The gauge pressure across the filter(Pa)\",round(dp,2)", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "The gauge pressure across the filter(Pa) 322.100890178\n" + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 1.12,Page 25" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding tension\n\n#Variable defining\nmc =100; #kg\ng =9.81; #m/ s ^2\nrho =1000; #kg /m^3\nrho_c =7930; #kg /m^3\n\n#calculation\nm=mc*rho/ rho_c ;\nF=mc*g-m*g; #tension\n\n#result\nprint(\"The tension in the cable(N)\",round(F,2))\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "('The tension in the cable(N)', 863.28)\n" + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 1.13,Page 27" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding length\n\n#Variale defining\nrho =1000.0;\nx =0.06;\nrho_0 =800.0;\nx_0 =0.04;\nrho_L =900.0;\n\n#calculation\nL=( rho*x- rho_0 *x_0)/( rho - rho_0 );\nx_L =L-rho/ rho_L *(L-x);\n\n#result\nprint \" Length of the stem above the liquid of SG 0.9 is (m)\",round(x_L,3)", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": " Length of the stem above the liquid of SG 0.9 is (m) 0.05\n" + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 1.14,Page 29\n" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding Time and Quantity\n\n#variable defining\nm_s =5*10**6; #kg\nT2 =4.5; #m\nT1 =3; #m\nrho_hc =950; #kg /m^3\nQ =125; #m^3/h\n\n#calculation\nm_hc =m_s *( T2/T1 -1);\nt= m_hc / rho_hc /Q;\n\n#result\nprint\"Quantity delivered(kg)\",round(m_hc,2)\nprint \"Time taken(hours)\",round(t,3)", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "Quantity delivered(kg) 2500000.0\nTime taken(hours) 21.053\n" + } + ], + "prompt_number": 1 + }, + { + "cell_type": "code", + "collapsed": false, + "input": "", + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +} \ No newline at end of file diff --git a/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_2_1.ipynb b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_2_1.ipynb new file mode 100644 index 00000000..a567da1d --- /dev/null +++ b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_2_1.ipynb @@ -0,0 +1,175 @@ +{ + "metadata": { + "name": "Chapter 2" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": "Chapter 2,Continuity Momentum and Energy" + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 2.1,Page 36" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding Velocity and Flow rate\nfrom math import pi\n\n\n#variable decleration\nQ1 =0.02; #m^3/ s\nd1 =0.15; #m\nd2 =0.05; #m\nd3 =0.1; #m\nv2 =3; #m/ s\n\n\n#calculation\nQ2=pi*d2 **2/4* v2;\nv3 =(4* Q1/pi -d2 **2* v2)/d3 **2;\nQ3=pi*d3 **2/4* v3;\nv1 =4*( Q2+Q3)/pi/d1 **2;\n\n\n#result\nprint\" Flow rate at pipe 3(m^3/s) =\",round(Q3,4)\nprint\" Flow rate at pipe 2(m^3/s)= \",round(Q2,4)\nprint\" Flow rate at pipe 1(m^3/s)= \",round(Q1,4)\nprint\" Velocity at pipe 1(m/s) =\",round(v1,3)\nprint\" Velocity at pipe 2(m/s) =\",round(v2,3)\nprint\" Velocity at pipe 3(m/s) =\",round(v3,3)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": " Flow rate at pipe 3(m^3/s) = 0.0141\n Flow rate at pipe 2(m^3/s)= 0.0059\n Flow rate at pipe 1(m^3/s)= 0.02\n Velocity at pipe 1(m/s) = 1.132\n Velocity at pipe 2(m/s) = 3.0\n Velocity at pipe 3(m/s) = 1.796\n" + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 2.2,Page 38" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding Force exerted\n#variable decleration\nimport math\nfrom math import pi\nd1 =0.2; #m\nd2=d1;\np1 =1*10**5; #N/m^2\np2 =80*10**3; #N/m^2\nQ =150.0; #m^3/h\nrho =900; #kg /m^3\ntheta1 =0; # r a d i a n s\ntheta2 =pi; # r a d i a n s\n\n#calculation\na1=pi*d1 **2/4;\na2=pi*d2 **2/4;\nF1=p1*a1; # Upstream f o r c e\nF2=p2*a2; # Downstream f o r c e\nv1 =4*Q /3600/ pi/d1 **2;\nv2=v1;\nflux =rho*Q /3600* v2; #Momentum f l u x\nFx=F1* math.cos ( theta1 )-F2* math.cos ( theta2 )+ flux *( math.cos ( theta2 ) -\nmath.cos ( theta1 ));\nFy=F1* math.sin ( theta1 )-F2* math.sin ( theta2 )-flux *( math.sin ( theta2 )-\nmath.sin ( theta1 ));\nF= math.sqrt (Fx **2+ Fy **2);\n\n#result\nprint\" Force exerted by liquid (kN) =\",round(F,2)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": " Force exerted by liquid (kN) = 5552.47608322\n" + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 2.3,Page 40" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding pressure\nfrom math import pi\n\n#variable decleration\nrho =1000; # kg /m^3\nd =0.05; #m\nL =500; #m\nv =1.7; #m/ s\n\n#calculation\na= pi *d **2/4;\nF= rho *a*L*v;\nP=F/a /10**3;\n \n#result \nprint\"Average pressure(kN/m^2) =\",round(P)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "Average pressure(kN/m^2) = 850.0\n" + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 2.4,Page 42" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding pressure and velocity\n\n#variable decleration\nimport math\ng =9.8; #m/ s ^2\ndz =0.2; #m ; dz1=z1-z2=z1-z2\nrho =1000; # kg /m^3\ndz1 =2; #m ; dz1=z1-z A\ndz2 =0; #m ; dz2=z1-z B\ndz3 = -1.5; #m ; dz3=z1-z C\n\n#calculation\nv2= math.sqrt (2* g*dz);\nv_A =v2;\nv_B =v2;\nv_C =v2;\np_A = rho *g*( dz1 - v_A **2/2/ g);\np_B = rho *g*( dz2 - v_B **2/2/ g);\np_C = rho *g*( dz3 - v_C **2/2/ g);\n\n#result\nprint\" Velocity at pt . A(m/s) =\",round(v_A,2);\nprint\" Velocity at pt . B(m/s) =\",round(v_B,2);\nprint\" Velocity at pt . C(m/s) =\",round(v_C,2);\nprint\" Pressure at pt . A(kN/m^2) =\",round(p_A)\nprint\" Pressure at pt . B (kN/m^2)=\",round(p_B)\nprint\" Pressure at pt . C (kN/m^2)=\",round(p_C)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": " Velocity at pt . A(m/s) = 1.98\n Velocity at pt . B(m/s) = 1.98\n Velocity at pt . C(m/s) = 1.98\n Pressure at pt . A(kN/m^2) = 17640.0\n Pressure at pt . B (kN/m^2)= -1960.0\n Pressure at pt . C (kN/m^2)= -16660.0\n" + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 2.5,Page 44" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding pressure drop\nfrom math import pi\n\n#variable decleration\nQ =10.0; # m^3/ hr\nd1 =0.05; #m\nd2 =0.1; #m\nrho =1000.0; #kg /m^3\ng=9.81;\n\n\n#calculation\na1=pi*d1 **2/4;\na2=pi*d2 **2/4;\nv1=Q /3600/ a1;\nv2 =( d1/d2) **2* v1;\nPD=rho*0.057*g;\n\n#results\nprint\" Presure drop (N/m^2)=\",round(PD,3)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": " Presure drop (N/m^2)= 375.26364312\n" + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 2.7,Page 48" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding force required\n\n#variable decleration\nQ =100; #m^3/ hr\nd1 =0.2; #m\nd2 =0.15; #m\np1 =80*10**3; #N/m^2\nrho =1000; # kg /m^3\ng =9.8; #m/ s ^2\npi=3.14;\n\n#calculation\na1=pi*d1 **2/4;\na2=pi*d2 **2/4;\nv1=Q /3600/ a1;\nv2=Q /3600/ a2;\nH_L =0.2* v2 **2/2/ g;\np2=p1+ rho /2*( v1 **2- v2 **2) -rho*g* H_L ;\nF_u =p1*a1; # Upstream f o r c e\nF_d =p2*a2; # Downstream f o r c e\nF_x = rho *Q /3600*( v2 -v1)-F_u +F_d;\n\n#results\nprint\" Force required (N) =\",round(F_x)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": " Force required (N) = -1099.0\n" + } + ], + "prompt_number": 17 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 2.9,Page 53" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding depression\n\n#variable decleration\nN =60; #rpm\nr2 =0.25; #m\ng =9.8; #m/ s ^2\npi=3.14;\n\nw =2* pi*N /60;\ndz_12 =(w*r2) **2/2/ g; # dz 1 2=z2-z1\nc=w*r2 **2;\ndz_23 =c **2/2/ g/r2 **2; # dz 2 3=z3-z2\ndz_13 = dz_23 + dz_12 ;\n\n#results\nprint\" Total depression(m) =\",round(dz_13,3)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": " Total depression(m) = 0.252\n" + } + ], + "prompt_number": 3 + }, + { + "cell_type": "code", + "collapsed": false, + "input": "", + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +} \ No newline at end of file diff --git a/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_3_1.ipynb b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_3_1.ipynb new file mode 100644 index 00000000..538dce80 --- /dev/null +++ b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_3_1.ipynb @@ -0,0 +1,280 @@ +{ + "metadata": { + "name": "Chapter 3" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": "Chapter 3,Laminar Flow and Lubrication" + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 3.2,Page 63" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding fartherest distance\n\n#variable decleration\nRe =2000.0;\nd =0.008; #m\n\n#calculation\nL1 =0.058* Re*d;\n\n#result\nprint\"The furtherest distance the fluid can flow into the 8 mm inside diameter pipe (m)=\",round(L1,3);\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "The furtherest distance the fluid can flow into the 8 mm inside diameter pipe (m)= 0.928\n" + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 3.4,Page 67" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding flow rate\nfrom math import pi\n\n#variable decleration\ndel_p =90*10**3; # N/m^2\nd =0.126; # m\nR =0.126/2; # m\nu =1.2;\nL =60; # m\nRho =1260;\n\n\n#calculation\nQ= pi * del_p * R**4 / (8*u*L);\nRe =4* Rho *Q/(u*pi*d);\n\n#result\nprint \"The glycerol delivery rate is (m^3/s) \",round(Q,4);\nprint\"The Reynolds number is \",round(Re,3);\nprint\"As Re is below 2000 , so, laminar flow\"", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "The glycerol delivery rate is (m^3/s) 0.0077\nThe Reynolds number is 82.047\nAs Re is below 2000 , so, laminar flow\n" + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 3.5,Page 69" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding diameter\nfrom math import pi\n\n#variable decleration\nu =0.015; #Ns/m^2\nQ =0.004/60; #m^3/ s\ndp =100;\nrho =1100.0; #kg /m^3\n\n\n#calculation\nR =(8* u*Q/( pi *dp)) **(0.25) ;\nRe =(4* rho *Q/( pi*u *(2* R)));\n\n#result\nprint\"Diameter of the pipe(m) =\",round(R,3);\nprint\"Reynolds number =\",round(Re,2)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "Diameter of the pipe(m) = 0.013\nReynolds number = 246.38\n" + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 3.6,Page 71" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding pressure difference\nfrom math import pi\n\n#variable decleration\nmu =0.03; #Ns/m^2\nQ =10.0**( -7) ; #m^3/ s\nu=(7.0);\n\n#calculation\ndp= 8*mu*Q*u/3/pi/0.005**4;\n\n#result\nprint\" pressure difference (N/m^2)=\",round(dp,2)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": " pressure difference (N/m^2)= 28.52\n" + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 3.8,Page 75" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding pressure difference\nfrom math import pi\n\n#variable decleration\nu =0.1; #Ns/m^2\nd =0.1; #m\nR =0.05; # m\nRho =900; #kg /m^3\nv_max =2; # m/ s\nv= v_max /2; # m/ s\n\n#calculation\nTw = 2*u* v_max /R;\ndel_p =4* u* v_max /R **2;\n\n#result\nprint \"At the pipe wa l l ( r =R) , shear stress (N/m^2)= \",Tw;\nprint\" pressure drop per metre lengthh of pipe is (N/m^2)\",del_p;\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "At the pipe wa l l ( r =R) , shear stress (N/m^2)= 8.0\n pressure drop per metre lengthh of pipe is (N/m^2) 320.0\n" + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 3.9,Page 77" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding inside diameter\n\n#variable decleration\nimport math\nu =0.032; #Ns/m^2\nRe =2000.0; #maximum v a l u e\nRho =854.0;\ndel_p =150.0; #N/m^2\n\n#calculation\nd =(32* u **2* Re /( Rho* del_p ))**(0.33) ;\n\nprint \"The maximum inside diameter is found to be (m) \",round(d,3);\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "The maximum inside diameter is found to be (m) 0.082\n" + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 3.10,Page 79" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding pressure drop\n\nfrom math import pi\n#variable decleration\nrho =1000; #kg /m^3\nu =0.1; #Ns/m^2\ng =9.81; #m/ s ^2\nL =10; #m\nH =2; #m\nQ =14.0/3600; #m^3/ s\nd =0.05; #m\n\n#calculation\ndp=rho*g*(L+H) - (128* Q*u*L/pi /d**4) ;\n\n#result\nprint\" Pressure drop across the valve (N/m^2)=\",round(dp,2)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": " Pressure drop across the valve (N/m^2)= 92368.39\n" + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 3.12,Page 83" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding inclination and viscosity\n\n#variable decleration\nfrom math import pi\nimport math\nQ =3*10**( -6) ; #m^3/ s\nu =0.001; #Ns/m^2\nW =1;\nrho =1000; #kg /m^3\ng =9.81; #m/ s ^2\nd =1.016*10**( -4) ; #m\nd1 =1.25*10**( -4) ; # m\n\n\n#calculation\ntheta = math.asin (3*Q*u/W/rho/g/d **3) ;\nu1=W*rho *g* math.sin ( theta )*( d1 **3) /(3* Q);\n\n#result\nprint\"Exact angle of inclination (radians) =\",round(theta,3)\nprint\" Viscosity of the second liquid (Ns/m^2)=\",round(u1,4)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "Exact angle of inclination (radians) = 1.065\n Viscosity of the second liquid (Ns/m^2)= 0.0019\n" + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 3.17,Page 93" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding shear stress\n\n#variable decleration\nu =1.5; #Ns/m^2\nv =0.5; # m/ s\nH =0.02/2; # m\n\n#calculation\nt=-u*3*v/H;\n\n#result\nprint \"The shear stress (N/m^2)=\",t\nprint\"acting on opp. direction of flow\" \n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "The shear stress (N/m^2)= -225.0\nacting on opp. direction of flow\n" + } + ], + "prompt_number": 34 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 3.18,Page 95" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding torque and viscosity\nfrom math import pi\nfrom scipy import integrate\n\n#variable decleration\nN =600.0/60; #r e v o l u t i o n s pe r s e c\nr =0.025; #m\nt =400; # N/m^2\nl =0.002; # m\ntime=2.0/1000; #s\n\n#calculation\nw =2* pi*N;\nu=t*l/w/r;\ndef integrand (R,w,u,time):\n return 2*pi*u*w/time*R**3\n\n#a=lambda r:2*pi*0.509*62.8/2*r**3*1000;\nT=integrate.quad(integrand, 0,0.025,args=(w,u,time));\n\n#result\nprint\" Viscosity,(Ns/m^2)=\",round(u,3)\nprint\"Torque(Nm) =\",round(T[0],4)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": " Viscosity,(Ns/m^2)= 0.509\nTorque(Nm) = 0.0098\n" + } + ], + "prompt_number": 18 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 3.19,Page 97" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding torque and frictional resistance\nfrom math import pi\n\n#variable decleration\nu =0.153; #Ns/m^2\nr =0.05; # m\nN =30; # rps\nt =2.0/10**5; # s\nL =0.2; #m\n\n\n#calculation\ntau =u *(2* pi *N*r/t);\nF= tau *2* pi *r*L;\nT=F*r;\nw =2* pi*N;\nP=T*w;\n\n#result\nprint \"The torque on the bearing is found to be (Nm)= \",round(T,3);\nprint \" and the power required to overcome the resistance is (W)=\",round(P,3);\n\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "The torque on the bearing is found to be (Nm)= 226.507\n and the power required to overcome the resistance is (W)= 42695.643\n" + } + ], + "prompt_number": 19 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 3.20,Page 99" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding viscosity of oil\n\n#variable decleration\nt =0.0005;#s\nP =22; \nr =300.0/60; \nR_1 =0.1; \nR_2 =0.0625; \npi=3.14;\n\n#calculation\nw =2* pi*r;\nu =2* t*P/( pi *w **2*(( R_1 )**4 -( R_2) **4) );\n\n#result\nprint\"The viscosity of the oil is (Ns/m^2)= \",round(u,4);\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "The viscosity of the oil is (Ns/m^2)= 0.0839\n" + } + ], + "prompt_number": 20 + }, + { + "cell_type": "code", + "collapsed": false, + "input": "", + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +} \ No newline at end of file diff --git a/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_4_1.ipynb b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_4_1.ipynb new file mode 100644 index 00000000..9b4bb41f --- /dev/null +++ b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_4_1.ipynb @@ -0,0 +1,49 @@ +{ + "metadata": { + "name": "Chapter 4" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": "Chapter 4, Dimensional Analysis" + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 4.5,Page 108" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding pressure drop\n\n#Variable Declaration\nRho_full =800.0; # kg /m^3\nv_full =1.8; # m/ s\nu_full =9.0/10000 ; # Nm/ s ^2\nRho_model =1000.0; # kg /m^3\nu_model =1.0/1000 ; # Ns/m^2\nd_full = 2.0;\nd_model =1.0;\ndel_p_fmodel =4000.0; # N/m^2\n\n#Calculation\nv_model = (( Rho_full * v_full / u_full )/( Rho_model /u_model ))*( d_full / d_model );\n#del_p_f = del_p_fmodel * Rho_full *( v_full )**2/ Rho_model /(v_model )**2;\n\n#result\nprint \"The velocity in the full scale pipe is expected to be(m/s)\",round(v_model,2);\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "The velocity in the full scale pipe is expected to be(m/s) 3.2\n" + } + ], + "prompt_number": 1 + }, + { + "cell_type": "code", + "collapsed": false, + "input": "", + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +} \ No newline at end of file diff --git a/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_5_1.ipynb b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_5_1.ipynb new file mode 100644 index 00000000..ef67f9f0 --- /dev/null +++ b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_5_1.ipynb @@ -0,0 +1,469 @@ +{ + "metadata": { + "name": "Chapter 5" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 5,Flow Measurement by Differential Head" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.1,Page 115" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Finding Velocity\n", + "\n", + "#Variable Iniialisation\n", + "import math\n", + "rho_m =840; # kg /m^3\n", + "g =9.8; #m/ s ^2\n", + "H =0.03; #m\n", + "rho =1.2; #kg //m^3\n", + "\n", + "#calculation\n", + "dp= rho_m *g*H;\n", + "v1= math.sqrt (2* dp/rho);\n", + "\n", + "#result\n", + "print\" Velocity(m/s) =\",round(v1,2)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Velocity(m/s) = 20.2879274447\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.2,Page 117" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Finding average rate of flow and velocity\n", + "\n", + "%pylab inline\n", + "#variable initialisation\n", + "from math import pi\n", + "import numpy as np\n", + "from pylab import *\n", + "r =[0, 0.05, 0.10, 0.15, 0.20, 0.225, 0.25];\n", + "v =[19, 18.6, 17.7, 16.3, 14.2, 12.9, 0];\n", + "\n", + "# We define a new variable dQ=v \u00032\u0003*pi\u0003*r . Accordingto the given values of r , v , we get dQ as follows\n", + "dQ =[0, 5.8, 11.1, 15.4, 17.8, 18.2, 0];\n", + "\n", + "#calculation\n", + "figure()\n", + "plot (r,dQ,'r')\n", + "xlabel('radius (m)')\n", + "ylabel('2piVxr (m^2/s)')\n", + "show()\n", + "# From the graph area under the cur ve comes out to be 2 . 7 4\n", + "Q =2.74; #m^3/ s\n", + "d =0.5; # m\n", + "v =4* Q/pi /d**2;\n", + "\n", + "#result\n", + "print \" Rate of flow (m^3/s) =\",round(Q,2);\n", + "print \"Average velocity(m/s) =\",round(v,2);\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].\n", + "For more information, type 'help(pylab)'.\n" + ] + }, + { + "output_type": "display_data", + "png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEMCAYAAAArnKpYAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlcVeW+x/EPzh41h6OoqYVTIaJIDqWJUg5p5nTtWpZe\np6zTYK/mrE5ldSrr6umU1TXN0jLHyqFMtExQyXJOy8xSETVwCEHRFIF1/3hiKwky7L3X2sP3/Xrx\nCjZ77fVjtV2//Ty/ZwixLMtCREQEKON0ACIi4juUFERExEVJQUREXJQURETERUlBRERclBRERMTF\na0lh//79XHfddbRs2ZLIyEjeeOMNANLS0ujRowdXXHEFPXv2JD093VshiIhICYV4a55Camoqqamp\ntGnThszMTNq2bcuiRYt4//33qV27No899hivvPIKx44dY8KECd4IQURESshrLYV69erRpk0bAKpW\nrUqLFi04ePAgS5YsYfjw4QAMHz6cRYsWeSsEEREpIa+1FM6XlJRE165d+eGHH7jssss4duwYAJZl\nUatWLdfPIiLirHLePkFmZiaDBg3i9ddfp1q1avl+FxISQkhIyAXHFPSYiIgUzd3P+V4dfXT27FkG\nDRrEsGHDGDBgAAB169YlNTUVgJSUFEJDQws81rIsfVkWzz77rOMx+MqXroWuha7Fxb88wWtJwbIs\nRo8eTUREBA888IDr8X79+jFz5kwAZs6c6UoWIiLiPK91HyUmJjJr1ixat25NdHQ0AC+//DLjxo1j\n8ODBTJ8+nbCwMObPn++tEEREpIS8lhQ6d+5Mbm5ugb/76quvvHXagBMbG+t0CD5D1+IcXYtzdC08\ny5bRRyUVEhLisf4xEZFg4Yl7p5a5EBERFyUFERFxUVIQEREXJQUREXFRUhARERclBRERcVFSEBER\nFyUFERFxUVIQEREXJQUREXFRUhARERclBRERcVFSEBERF69vxykiEjBycuDgQdiz59zX7t2QnAzv\nvAORkU5H6DYlBRGR8504kf+mn3fj37PH3Pxr14YmTc599ekD8+fD2rVKCiIifqegT/vn3/hPncp/\n0w8PhxtvNN+HhUHlyhe+5pEj8OOPtv8p3qCkICKBp6BP++d39fz979C06bkbf95Nv0kTqFsXQkJK\ndr6WLeHzz73zt9hMO6+JiP9KTYVly859ys/778mT527y59/8L/Zp3x0HDkD79pCS4tnXLSFP3DuV\n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\nRU5ErkJggg==\n" + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Rate of flow (m^3/s) = 2.74\n", + "Average velocity(m/s) = 13.95\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.3,Page 117" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Finding throat diameter and overall length\n", + "\n", + "#variable declaration\n", + "from math import pi\n", + "d1 =0.1; #m\n", + "rho_Hg =13600; #kg /m^3\n", + "rho =1000; #kg /m^3\n", + "g =9.81; #m/ s ^2\n", + "H =0.8; #m\n", + "Cd =0.96;\n", + "Q =0.025; #m^3/ s\n", + "\n", + "\n", + "#calculation\n", + "a= pi *d1**2/4;\n", + "dp =( rho_Hg - rho )*g*H;\n", + "B =((2* dp /( rho *((Q/Cd/a)**2))) +1) **(0.25) ;\n", + "d2=d1/B;\n", + "# The shortest possible overall length of venturi is therefore an entrance cone of 7.1 cm length( 20 degrees) , a throat of 2.5 cm(0.25pipe diameter s ) and an e x i t cone o f 1 9 . 7 cm ( 7 . 5\n", + "#degrees) giving an overall length of 29.3 cm.\n", + "L =29.3; #cm\n", + "\n", + "#result\n", + "print\"Throat diameter (m)=\",round(d2,3);\n", + "print\" Overall Length(m) =\",round(L,2)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Throat diameter (m)= 0.048\n", + " Overall Length(m) = 29.3\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.4,Page 119" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Finding flow through orifice and venturimeter\n", + "\n", + "#Variable Decleration\n", + "Cd_o =0.65;\n", + "d =0.05;\n", + "d_o =0.025;\n", + "Cd_v =0.95;\n", + "d_v =0.038;\n", + "\n", + "#calculation\n", + "# (Q o /Cd o ) ^ 2 \u0003 ( ( d/ d o ) ^4 -1)=(Q v/Cd v ) ^ 2 \u0003 ( ( d/ d v)^4 - 1)\n", + "#Q v=4\u0003Q o\n", + "# Q = Q v + Q o\n", + "# Q = 5\u0003Qv\n", + "Q1 =20;\n", + "Q2 =100 - Q1;\n", + "print\"Flow through orifice(%)=\",round(Q1)\n", + "print\"Flow through venturi(%)=\",round(Q2)\n", + "\n", + "print\"Thus 20 % of the flow passes through the orifice meter while 80% of the flow passes through the venturi.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Flow through orifice(%)= 20.0\n", + "Flow through venturi(%)= 80.0\n", + "Thus 20 % of the flow passes through the orifice meter while 80% of the flow passes through the venturi.\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.5,Page 121" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#finding Cd\n", + "\n", + "#Variable declaration\n", + "from math import pi\n", + "import math\n", + "Qa =0.003/60; # m^3/ s\n", + "Ca =20; # g / l\n", + "Co =0.126; # g / l\n", + "dp =3700; #N/m^2\n", + "p =1000; # N/m^2\n", + "d =0.1; # m\n", + "B =10/6;\n", + "\n", + "#calculation\n", + "a= pi *d **2/4;\n", + "Qi=Qa *(( Ca -Co)/Co);\n", + "Q=Qi+Qa;\n", + "c= math.sqrt(2*dp/p/(1.65**4 -1**4))\n", + "Cd=Q/a/ c;\n", + "\n", + "#results\n", + "print\" Coefficient of discharge =\",round(Cd,3)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Coefficient of discharge = 0.967\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.6,Page 126" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Finding differential pressure\n", + "\n", + "#variable declaration\n", + "from math import pi\n", + "rho =850; # kg /m^3\n", + "Q =0.056; # m^3/ s\n", + "Cd =0.98;\n", + "d1 =0.2; # m\n", + "d2 =0.1; # m\n", + "g =9.81; # m/ s ^2\n", + "dz =0.3; # m\n", + "\n", + "\n", + "#calculation\n", + "a= pi *( d1) **2/4;\n", + "dp=rho /2*(( Q/Cd/a) **2*(( d1/d2)**4 - 1) + 2*g*( dz));\n", + "\n", + "#result\n", + "print\"The differential pressure (N/m^2)=\",round(dp,3)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The differential pressure (N/m^2)= 23592.898\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.7,Page 128" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#finding rate of flow\n", + "\n", + "#variable declaration\n", + "from math import pi\n", + "import math\n", + "g =9.81; # m/ s ^2\n", + "H =0.5; #m\n", + "rho_m =1075; #kg /m^3\n", + "rho =860; #kg /m^3\n", + "B =0.225/0.075;\n", + "Cd =0.659;\n", + "\n", + "#calculation\n", + "a1=pi /4*(0.225) **2;\n", + "v_t =math.sqrt(2*g*H*( rho_m - rho )/(rho )/(3**4 -1));\n", + "Q=Cd*a1* v_t ;\n", + "\n", + "#result\n", + "print\"Rate of flow(m^3/s) =\",round(Q,5)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Rate of flow(m^3/s) = 0.00459\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.8,Page 130" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Finding mass flow rate\n", + "\n", + "#variable decleration\n", + "from math import pi\n", + "import math\n", + "m_f =0.03; # kg\n", + "rho_f =5100; # kg /m^3\n", + "d_l =0.3; # m\n", + "d_b =0.22; # m\n", + "H_tube =0.2; # m\n", + "Cd =0.6;\n", + "H =0.1; # m\n", + "g =9.81; # m/ s ^2\n", + "rho =1000; # kg /m^3\n", + "\n", + "\n", + "#calculation\n", + "V_f = m_f / rho_f ;\n", + "theta =2* math.atan (( d_l - d_b )/2/ H_tube );\n", + "m=Cd*H* math.tan ( theta /2)* math.sqrt (8* V_f*g* rho *( rho_f - rho )* pi);\n", + "\n", + "#result\n", + "print\"Mass flow rate(kg/s) =\",round(m/10,4)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Mass flow rate(kg/s) = 0.0925\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.9,Page 130" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Finding flow rate of water and Cd\n", + "\n", + "#variable decleration\n", + "from math import pi\n", + "import math\n", + "d1 =0.05; # m\n", + "d2 =0.025; # m\n", + "Cd =0.97;\n", + "dp =1200; # N/m^2\n", + "rho =1000; #kg /m^3\n", + "H =0.15; # m\n", + "theta =2; # d e g r e e s\n", + "V_f =10**( -4) ;# m^3\n", + "g =9.81; # m/ s ^2\n", + "rho_f =8000; # kg /m^3\n", + "\n", + "#calculation\n", + "B=d1/d2;\n", + "a= pi /4* d1 **2;\n", + "Q=Cd*a* (2* dp/ (rho *(B**4 -1)))**(0.5);\n", + "Cd=Q/(H/ rho * math.tan( theta*pi/180 /2)* math.sqrt (8* V_f*g* rho *( rho_f -rho )*pi))\n", + "\n", + "#result\n", + "print\"Flow rate of water(m^3/s) =\",round(Q,5)\n", + "print\" Coeff. of discharge of the rotameter =\",round(Cd,3)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Flow rate of water(m^3/s) = 0.00076\n", + " Coeff. of discharge of the rotameter = 0.7\n" + ] + } + ], + "prompt_number": 8 + } + ], + "metadata": {} + } + ] +} \ No newline at end of file diff --git a/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_6_1.ipynb b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_6_1.ipynb new file mode 100644 index 00000000..19e4fb13 --- /dev/null +++ b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_6_1.ipynb @@ -0,0 +1,196 @@ +{ + "metadata": { + "name": "Chapter 6" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": "Chapter 6:Tank drainage and variable head flow" + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 6.1,Page 143" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#finding no. of orifice\n\n#variable decleration\nfrom math import pi\nimport math\nQ =5000.0/3600/24; #m^3 per second\nC_d =0.6;\nr =0.01/2; # m\ng =9.8; #m/ s ^2\nH =0.2; # m\n\n\n#calculation\na_o = pi *r**2;\nn=Q/C_d/ a_o / math.sqrt (2*g*H);\n\n#result\nprint\"The number of orifices required are \",round (n)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "The number of orifices required are 621.0\n" + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 6.2,Page 145" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding coeff. of velocity\n\n#variable decleration\nfrom math import pi\nimport math\nx =0.86; # m\ng =9.8; # m/ s\ny =0.96; # m\nH =0.2; # m\n\n#calculation\nv_act =x* math.sqrt (g /2/ y);\nv= math.sqrt (2* g*H);\nCv= v_act /v;\n\n#result\nprint \"The coeff. of velocity for the orifices found to be \",round(Cv,3)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "The coeff. of velocity for the orifices found to be 0.981\n" + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 6.3,Page 147" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding time taken for drainage\n\n#variable declaration\nfrom math import pi\nimport math\nVt =1; # m^3\nd_t =1; # m\nC_d =0.6;\nd_o =0.02; # m\ng =9.8; # m/ s ^2\n\n\n#calculation\na_o = pi *( d_o ) **2/4;\nA= pi *( d_t ) **2/4;\nH1 =4* Vt/ pi /( d_t) **2;\nt=A/C_d/ a_o * math.sqrt (2* H1/g);\n\n#results\nprint\" Total drainage is found to take (s) \",round(t,2)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": " Total drainage is found to take (s) 2124.49586383\n" + } + ], + "prompt_number": 14 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 6.4,Page 149" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding time taken to drain tank\n\n#variable declaration\nfrom math import pi\nimport math\nC_d =0.6;\nd_o =0.05; #m\ng =9.81; # m/ s ^ 2 ;\nR =2; \nH1 =1.5; \n\n#calculation\na_o = pi *d_o **2/4;\nt= pi /C_d/ a_o*(1.333* R*H1 **(1.5) -0.4* H1 **(2.5))/math.sqrt(2*g);\n\n#results\nprint\"The time to drain the tank is found to be (s)\",round(t,3);", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "The time to drain the tank is found to be (s) 2285.001\n" + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 6.6,Page 153" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding time taken to drain tank and rate of flow\n\n#variable declaration\nimport math\nCd =0.62;\na =0.01;# m^2\ng =9.81; # m/ s ^2\nH =0.3; #m\nA1 =4*2; # m^2\nH1 =0.300; # m\nH2 =0.100; # m\nA2 =2*2; # m^2\n\n#calculation\nQ=Cd*a* math.sqrt (2* g*H);\nt =2* A1 *( math.sqrt(H1) -math.sqrt(H2) )/( Cd*a* math.sqrt (2*g) *(1+ A1/A2));\n\n#results\nprint \"The rate of flow(m^3/s) =\",round(Q,3)\nprint \"The time taken to reduce the difference in levels to 10 cm is (s) \", round(t,3)\n\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "The rate of flow(m^3/s) = 0.01504\nThe time taken to reduce the difference in levels to 10 cm is (s) 44.957\n" + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 6.8,Page 157" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding time taken to level tank \n\n#variable declaration\nimport math\nQs =0.4; #m^3/ s\nH1 =1.5; # m\nQ =0.2; #m^3/ s\nH2 =0.5; # m\nl =15; # m\nb =10; #m\ne=2.69;\n\n#calculation\nA=l*b;\nk=Qs*H1 **( -0.5) ;\nt=-2*A/k**2*(Q*math.log((Q-k*math.sqrt( H2))/(Q-k*math.sqrt(H1)),e)+k*(math.sqrt(H2)-math.sqrt(H1)));\n#result\nprint \"The time reqd. for the level in the tank to fall to 1 m is(s) \",round(t,3)\n\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "The time reqd. for the level in the tank to fall to 1 m is(s) 1536.35\n" + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 6.9,Page 159" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding time taken to level tank \n\n#variable declaration\nfrom math import pi\nimport numpy as np\nimport numpy \nimport math\nCd =0.62;\nd =0.05;\na_o = pi *d **2/4;\ng =9.81; #m/ s ^2\n\n#calculation\nk=Cd*a_o* math.sqrt (2*g);\n# We have g o t two s imultaneous equations\n#Q_k \u0003 0 . 6 5 ^ ( 1 / 2 ) =0.1/90\u0003A\n# Q_k \u0003 1 . 2 2 5 ^ ( 1 / 2 ) =0.05/120\u0003A\n\nM=np.array([[1,-0.1/90],[1,-0.05/120]]);\nN=np.array([[k *math.sqrt(0.65)] ,[k *math.sqrt(1.225)]]);\nX=np.linalg.solve(M,N)\nQ=X[0][0];\nA=X[1][0];\nprint \"The Area of the tank(m^2) =\",round(A,3)\nprint \" Flow rate(m^3/s) =\",round(Q,3)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "The Area of the tank(m^2) = 2.334\n Flow rate(m^3/s) = 0.007\n" + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 6.10,Page 161" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding time taken to level tank \n\n#variable declaration\nfrom math import pi\nfrom numpy import matrix\nfrom numpy import linalg\nimport math\nH1 =1.5; # m\nV =0.75; # m^3\nd1 =1.2; # m\nu =0.08; # Ns/m^2\nL =3; # m\nrho =1100; # kg /m^3\ng =9.81; # m/ s ^2\nd =0.025; # m\ne=2.71;\n\n#calculation\na= pi*d **2/4;\nA= pi*d1 **2/4;\nH2=H1 -(V/A);\nround(H2,2);\nt= -32*u*L*A/(a*rho*g*d **2) *math.log(H2/H1,e);\n\n#result\nprint\"Time taken(s) =\",round(t,3);", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "Time taken(s) = 1535.7565254\n" + } + ], + "prompt_number": 17 + }, + { + "cell_type": "code", + "collapsed": false, + "input": "", + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +} \ No newline at end of file diff --git a/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_7_1.ipynb b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_7_1.ipynb new file mode 100644 index 00000000..0942f575 --- /dev/null +++ b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_7_1.ipynb @@ -0,0 +1,235 @@ +{ + "metadata": { + "name": "Chapter 7" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": "Chapter 7,Open channels notches and Weirs" + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 7.2,Page 171" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding Discharge\n\n#variable decleration\nimport math\nl =1; # m\nb =0.3; # m\nn =0.014; # s /m^ ( 1 / 3 )\ni =1.0/1000;\n\n#calculations\nA=l*b;\nP =2* b+l;\nm=A/P;\nQ=A/n*m **(0.67) * math.sqrt (i);\n\n#results\nprint\"The delivery of water through the channel is found to be (m^3/s)= \",round(Q,3)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "The delivery of water through the channel is found to be (m^3/s)= 0.221\n" + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 7.3 Page 173" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding Depth and Chezy's Coeff.\n\n%pylab inline\n#variable decleration\nimport math\nimport numpy as np\nfrom pylab import *\nn =0.015; #m^(-1/3) s\ni =1;\nH =[4.0, 4.1, 4.2, 4.13];\n\n#calculation\nA =12* H[0];\nP =12+2* H[0];\nm=A/P;\nC=m **(0.167) /n;\nQ=C*A* math.sqrt (m*i);\n#An analytical soln for depth H is not possible.It is so necessary to use a graphical soution\n#The corresponding values of A, P, MHD (m) , Q are given below as taken from values of H\n\nA =[48, 49.2, 50.4, 49.56];\nP =[20, 20.2, 20.4, 20.26];\nm =[2.4, 2.44, 2.47, 2.45];\nQ =[57.36, 59.38, 61.39, 59.98];\nfigure()\nplot (H,Q,'g')\nr =[4.13, 4.13];\ns =[57, 60];\nplot (r,s, ' r ' )\nt =[4, 4.13];\nu =[60, 60];\nplot (t,u, ' y ' )\nxlabel('Depth (H)')\nylabel('Flow Rate')\ntitle('Depth vs Flow Rate')\nshow()\n# So, the depth is found to be approx. 4.13\ndepth =4.13; #m\nC1 =(2.45) **(0.167) /n;\n\n#results\nprint\"Depth(m) = \",round(depth,3)\nprint\"Chezy Coeff. =\",round(C1,3)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "\nWelcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].\nFor more information, type 'help(pylab)'.\n" + }, + { + "output_type": "display_data", + "png": "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\nAAAAAElFTkSuQmCC\n" + }, + { + "output_type": "stream", + "stream": "stdout", + "text": "Depth(m) = 4.13\nChezy Coeff. = 77.428\n" + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 7.4,Page 175" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding flow area\n\n#variable decleration\nimport math\nQ =300.0/60; # m^3/ s\ni =1.0/1600;\n\n#calculation\nH=(Q /140* math.sqrt (2/ i)) **(0.67) ;\nA =2* H**2;\n\n#result\nprint \"The minimum flow area is found to be(m^2)= \",round(A,3)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "The minimum flow area is found to be(m^2)= 5.132\n" + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 7.5,Page 177" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding Depth and Chezy's Coeff.\n\n%pylab inline\n#variable decleration\nfrom math import pi\nimport math\nimport numpy as np\nfrom pylab import *\nd =0.9144; # m\nC =100; # m^ ( 1 / 2 ) s ^(-1)\nR=d/2;\nH =[0.1, 0.15, 0.2, 0.25, 0.201];\n\n\n#calculations\ntheta = math.acos ((R-H[0])/R);\nA=R **2*( theta -math.sin (2* theta )/2);\nP =2* R* theta ;\nm=A/P;\n#An analytical soln for depth H is not possible.It is so necessary to use a graphical soution\n#The corresponding values of A, P, MHD (m) , Q are given below as taken from values of H\n\n\ntheta =[0.674, 0.834, 0.973, 1.101, 0.975];\nA =[0.039, 0.070, 0.106, 0.146, 0.107];\nP =[0.616, 0.763, 0.890, 1.006, 0.891];\nm =[0.063, 0.092, 0.119,0.145,0.120];\nQ =[248.7, 543.2, 932.2 ,1412.9, 940.0];\nfigure()\nplot (H,Q,)\nxlabel('Depth H')\nylabel('Flow Rate')\ntitle('Depth Vs Flow Rate');\ni =[0.201, 0.201];\nj =[0 ,940];\nplot (i,j)\nk =[0, 0.201];\nl =[940, 940];\nplot (k,l)\nshow()\n# So, the depth is found to be approx. 0.201\nDepth =0.201; # m\n\n#result\nprint\"The depth in the channel(m) =\",round(Depth,3)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "\nWelcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].\nFor more information, type 'help(pylab)'.\n" + }, + { + "output_type": "display_data", + "png": "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\nBQWsWbOmxjbmzJnDzz//zBdffMGHH37IXXfdBTj69n/88cd67b82F154IXfeeScTJ07EarVyxRVX\nOF9LS0vj+++/p7Kykg4dOuDv7+9snbgiJCSEq6++mscee4zjx4+TkZHB4sWLuffeewG44IILGDRo\nEAsXLuS6664D4Oqrr+bVV191/lwfcXFxHDlyhOXLl1NRUUFFRQVdunShTZs2fPTRRzWOb1BQEAcO\nHKgR2r/97W95/PHH2b17NwD79u1j1apVLr9vad4UIOI1o0aNIiAggB49ehAfH8/DDz/MkiVLnK/P\nnz+f0NBQhg4dSseOHYmKiiIrK8v5evW5jO7duzN+/Hhee+01evfuDcDkyZPJzMys9ZwD1G9cSFxc\nHLt372bChAk15u/Zs4e77rqLjh07YrPZsNvtjB8/vsHH4NT9v/POO+Tm5tK9e3fGjBnDk08+yQ03\n3OB8/brrruPEiRNERkY6fz506FCt5z/Otg9/f39mzpzpvELtpZdeIiYmhs6dO/POO+/UuGItPDyc\n2NhYLrvsMjp37syePXuYOXMm0dHRjBgxgoCAAK666io2bdrU4PctLYNJD5SS5igtLY3x48eTl5fn\n7VJEWi23t0AmTZpEUFAQERERNea//PLL9OnTh379+vHoo48658fHxxMWFkZ4eHiN5vPXX39NREQE\nYWFhzJw5091liohII7k9QCZOnEhqamqNeZ999hmrVq0iIyODbdu28cgjjwCQmZlJcnIymZmZpKam\nMn36dGe/9LRp01i0aBHZ2dlkZ2efsU2R+pwoF5Gm4/YAGT58+BmXFP7973/nsccew9/fH4CuXbsC\nkJKSQmxsLP7+/litVkJDQ0lPT6eoqIjy8nJnX++ECRNYuXKlu0uVZsxutztP5IqId3jkJHp2djaf\nf/45Q4cOxW63s2XLFsBx7Xv1ZYoAFouFgoKCM+abzWbn9fAiIuIb/DyxkxMnTnDw4EE2btzI5s2b\niYmJqfMSy/pSN4aIiGsaew2VR1ogFovFeSnl4MGDadOmDfv378dsNte4iiY/Px+LxYLZbK5xy+n8\n/HzMZnOt26++bUVr/zNnzhyv1+Arf3QsdCx0LM79xx08EiCjR4/m008/BSArK8s5eCk6Opply5ZR\nUVFBTk4O2dnZREZGEhwcTEBAAOnp6RiGwdKlSxk9erQnShURkXpyexdWbGws69at48CBA4SEhPDk\n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\nzqSgoACz2cyIESNYuHChJ2qrP51EF5FaZGTA6NFw113w7LPg97QJfWO4R50BkpWVxdtvv11j3vr1\n67nmmmuarCgREXd4912YPh1eegliY71dTctT5zmQGTNm1GueiIivqKqCP/0JHnkEUlMVHk2l1hbI\nV199xYYNG9i3bx/PP/+883rh8vJyqqqqPFagiEhD/PQT3Huv4+/Nm+GXOydJE6i1BVJRUUF5eTmV\nlZWUl5dz6NAhDh06REBAACtWrPBkjSIi9ZKVBUOHQkgIrF2r8GhqdY5Ez83NxWq1eqichtNIdBEB\n+OgjiIuDp5+GqVNrX840z4QxR98Z7vjurPMk+gUXXMAjjzxCZmYmR48ede74008/bdSORUTcwTDg\nuefgb3+D996DYcO8XVHrUedJ9HvuuYfw8HB+/PFH5s6di9Vq5corr/REbSIi53TkCNx9t+Nqq/R0\nhYen1RkgBw4cYMqUKbRr147rrruOJUuWqPUhIl63e7cjMPz84IsvHOc9xLPqDJB27doBEBwczAcf\nfMA333zDwYMHm7wwEZHafP45DBkC99wDb70F7dt7u6LWqc5zIE888QSlpaUsWLCA3//+95SVlfHC\nCy94ojYRkRoMA159FebOhaVLYcQIb1fUutUZIKNGjQKgU6dOzgeyb9q0qUmLEhE5XUUFzJgB69c7\n/oSGersiqTVAqqqqeP/999m5cyf9+vVj5MiRbNmyhccff5y9e/fy7bfferJOEWnF9uyBsWOha1fY\nuPHkLdnFu2odBzJlyhRycnKIjIxk3bp1XHLJJfz3v//lmWee4fbbb3c+etbbNA5EpGXbsgXGjIGJ\nE2HOHGhTr4dQ1E7jQByadBzIxo0bycjIoE2bNhw7dozg4GB27tzJxXp8l4h4yNKl8NBD8NprjhAR\n31Jrlvv7+9Pml6g///zz6dmzZ6PDIz4+nr59+xIREcHdd9/N8ePHKSkpISoqit69ezNixAhKS0tr\nLB8WFkZ4eDhr1qxp1L5FpPk4cQIefthxsvzTTxUevqrWLqz27dsTespZqp07d9KrVy/HSiYTGRkZ\nDdpRbm4uN9xwAzt27OC8887jN7/5DSNHjmT79u106dKFP/7xj8yfP5+DBw+SkJBAZmYmd999N5s3\nb6agoICbbrqJrKwsZ6g534C6sERalJISGDfOccVVcjJ07uze7asLy6FJu7B27NjRqA2fLiAgAH9/\n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\nDQAAAABJRU5ErkJggg==\n" + }, + { + "output_type": "stream", + "stream": "stdout", + "text": "The depth in the channel(m) = 0.201\n" + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 7.7,Page 180" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding flow area\n\n#variable decleration\nimport math\nCd =0.56;\nB =1.2; # m\ng =9.8; # m/ s ^2\nH =0.018; # m\n\n\n#calcualtion\nQ =2.0/3* Cd*B* math.sqrt (2*g)*H **(1.5) ;\n\n#results\nprint \"The rate of flow of liquid over the weir is (m^3/s)=\",round(Q,4)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "The rate of flow of liquid over the weir is (m^3/s)= 0.0048\n" + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 7.8,Page 182" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding height of weir\n\n#variable decleration\nfrom math import pi\nimport math\nH2 =5.5;\nQ1 =217.0;\nQ2 =34.0;\nH1 =8.5;\n\n#calculation\nH0 =( H2 *( Q1/Q2) **(0.67) -H1)/(( Q1/Q2) **(0.67) -1);\n\n#result\nprint\"The height of the weir crest above the surface of the river is found to be(m)\",round(H0,2)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "The height of the weir crest above the surface of the river is found to be(m) 4.28\n" + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 7.9,Page 184" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding time taken\n\n#variable decleration\nfrom math import pi\nfrom scipy import integrate\nimport math\nH =0.07; # a v e r a g e head\nrate = -0.02/600; # (dH/ dt )\nH1 =0.08; # m\nH2 =0.01; # m\n\n\n#calculation\nk=- rate /H **(1.5) ;\ndef integrand(H,k):\n return -1/k*H**(-1.5);\n\nt=integrate.quad(integrand,H1,H2,args=(k))\n\n#result\nprint \"Time taken (s) =\",round(t[0],2);\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "Time taken (s) = 7183415.25\n" + } + ], + "prompt_number": 18 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 7.10,Page 186" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding flow area\n\n#variable decleration\nimport math\nCd =0.62;\ng =9.81; # m/ s ^2\nH =0.03; # m\n\n#calculations\nQ =8.0/15* Cd* math.sqrt (2*g)*H **(2.5) ;\n\n#results\nprint\"Rate of flow (m^3/s) =\",round(Q,6)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "Rate of flow (m^3/s) = 0.000228\n" + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 7.11,Page 188" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding time taken\nfrom scipy import integrate\n#variable decleration\nimport math\nl =4; # m\nb =2; # m\nH1 =0.15; # m\nH2 =0.05; # m\nA=8;\n\n#calculation\nk=3*1.5/A;\ndef integrand (H,A):\n return -A/1.5*H**(-2.5)\n \nt=integrate.quad(integrand,H1,H2,args=(A))\n\n#results\nprint \"Time taken to reduce the head in the the tank (s)=\",round(t[0])\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "Time taken to reduce the head in the the tank (s)= 257.0\n" + } + ], + "prompt_number": 17 + }, + { + "cell_type": "code", + "collapsed": false, + "input": "", + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +} \ No newline at end of file diff --git a/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_8_1.ipynb b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_8_1.ipynb new file mode 100644 index 00000000..4c96cf24 --- /dev/null +++ b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_8_1.ipynb @@ -0,0 +1,301 @@ +{ + "metadata": { + "name": "Chapter 8" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": "Chapter 8,Pipe Friction and Turbulent Flow" + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 8.4,Page 199" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding Internal diameter and reynold's number\n\n#variable declaration\nfrom math import pi\nimport math\nrho =867.0; #kg /m^3\nQ =12.0/3600; #m^3/ s\nu =7.5*10**( -4) ; # Ns/m^2\nL =200.0; # m\nH =10.0; # m\ng =9.81; # m/ s ^2\ne=2.718;\n\n#calculation\nd=(H*2*g /(4*0.079*(4* rho *Q/pi/u)**( -0.25) *L *(4* Q/pi)**2) )**( -0.2105);\nd=round(d,4);\nRe =4* rho *Q/ pi /d/u;\n\n#result\nprint\" Internal diameter of the pipe line (m)=\",round(d,5)\nprint\"Re =\",round(Re,2)\nprint(\"The value o f Reynolds number l i e s between 4000 and 10^5 , confirming the validity of using the Blasius equationfor smooth walled pipes\")", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": " Internal diameter of the pipe line (m)= 0.0505\nRe = 97152.8\nThe value o f Reynolds number l i e s between 4000 and 10^5 , confirming the validity of using the Blasius equationfor smooth walled pipes\n" + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 8.5,Page 202" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding minimum allowable height\n\n#variable declaration\nfrom math import pi\nimport math\nm =40.0/60; # kg / s\nrho =873; #kg /m^3\nd =0.025; #m\nu =8.8*10** -4; # Ns/m^2\ndp =55.0*10**3; #N/m^2\nL =18; #m\ng =9.81; # m/ s ^2\n\n#calculation\nv2 =4*m/ rho / pi /d **2;\nRe=rho*v2*d/u;\n#using MOODY's Chart\nf =0.0055;\nH=dp/rho/g + v2 **2/2/ g + v2 **2/2/ g *(4* f*L/d +1.5) ;\n\n#result\nprint \"The minimum allowable height (m) =\",round(H,3)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "The minimum allowable height (m) = 8.684\n" + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 8.6,Page 204" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding minimum allowable height\n\n#variable declaration\nfrom math import pi\nimport math\nQ =15.0/3600; # m^3/ s\nd =0.05; #m\nRho =780.0;\nu =1.7*10**( -3) ; #Ns/m^2\nf =0.0065;\nL =100; #m\ng =9.8; #m^2/ s\n\n#calculation\nv =4* Q/ pi /d **2;\ndel_pf =2*f* Rho *v**2*L/d;\nH_f =4* f*L*v **2/( d*2*g);\nH_exit =v **2/2/ g;\nH_entrance =v **2/4/ g;\nH= H_f+ H_exit + H_entrance ;\n\n#result\nprint \"The pressure drop due to friction is (kN/m^2)\",round(del_pf,2)\nprint \" and the difference in levels is (m)\",round(H,3)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "The pressure drop due to friction is (kN/m^2) 91324.16\n and the difference in levels is (m) 12.292\n" + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 8.7,Page 206" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding rate of flow\n\n#variable declaration\nimport math\nf =0.005;\nL =10; # m\nd =0.025; # m\ng =9.81; # m/ s ^2\n\n#Calculations\n# H L=4\u0003 f \u0003L/d\u0003v ^2/2/ g+0.5\u0003 v ^2/2/ g\n# H L=8.5\u0003 v ^2/2/ g\n# By Be r n o u l l i e q u a t i o n we g e t\n#H=2.62+9.5\u0003 v2 ^2/2/ g\n# Applying the Be r n o u l l i e q u a t i o n between the liquid surface and discharge point\n# H L=33.5\u0003 v2 ^2/2/ g\n#Solving above two we g e t\nH =2.62+9.5* v2 **2/2/ g;\nv2 =1.9; # m/ s\nQ= pi*d **2/4* v2;\n\n#result\nprint\"Rate of flow (m^3/s)=\",round(Q,5)\nprint\"The minimum allowable height(m) =\",round(H,3)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "Rate of flow (m^3/s)= 0.0009321875\nThe minimum allowable height(m) = 4.36796126402\n" + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 8.8,Page 208" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding rate of flow\n\n#variable declaration\nimport math\nd_A =0.025; # m\nv_A =1.21; # m/ s\nd_B =0.05; # m\nv_B =1.71; # m/ s\n\n#calculation\nQ_A = pi *d_A **2* v_A /4;\nQ_B = pi *d_B **2* v_B /4;\n\n#result\nprint \"The rate of flow through parallel pipes A is \",round(Q_A,5)\nprint\"The rate of flow through parallel pipes B is (m^3/s)=\",round(Q_B,5);\n\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "The rate of flow through parallel pipes A is 0.00059\nThe rate of flow through parallel pipes B is (m^3/s)= 0.00336\n" + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 8.9,Page 210" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding rate of flow\n\n#variable declaration\nfrom math import pi\nimport math\nd2 =0.06; # m\nd1 =0.12; # m\nk =0.44;\nf =0.05;\nL1 =500; # m\ng =9.81; # m/ s ^2\n\n#Calcualtion\n# v1=d2 ^2/ d1 ^2\u0003 v2\n# H f=4\u0003 f \u0003L1 /16/ d\u0003 v2 ^2/2/ g\n# H c=k\u0003 v2 ^2/2/ g\n# H f=4\u0003 f \u0003L2/d\u0003 v2 ^2/2/ g\n# H_exit=v2 ^2/2/ g\nv2= math.sqrt (30*2* g /173.4);\nQ= pi*d2 **2/4* v2;\n\n#result\nprint\"The rate of flow (m^3/s) =\",round(Q,5)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "The rate of flow (m^3/s) = 0.00521\n" + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 8.10,Page 212" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding rate of flow\n\n#variable declaration\nimport math\nm =12.0*10**3/3600; #kg / s\nRho =815; #kg /m^3\nd =0.05; #m\ne =0.02;\nd1 =50; # m\nd2 =0.038; # m\ng =9.8; #m\n\n#calculation\nv =4* m/ Rho / pi /d**2;\nf1 =1/(2* math.log (d1/e,10) +2.28) **2;\nL_eq =d1 +2* d1*d;\nH_50mm =4* f1* L_eq *v **2/( d *2* g);\nv =4* m/( Rho * pi *d2 **2) ;\nf2 =1/(2* math.log (38/ e,10) +2.28) **2;\nL_eq =d1 +2* d1*d2;\nH_38mm =4* f2* L_eq *v **2/( d2 *2* g);\nHr =0.2* v **2/(2* g);\nH_L = H_50mm + H_38mm +Hr;\ndel_p_f =Rho*g* H_L ;\n\n#result\nprint \"The total pressure drop due to friction through the pipe system is (N/m^2) =\",round(del_p_f,3)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "The total pressure drop due to friction through the pipe system is (N/m^2) = 479792.576\n" + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 8.11,Page 214" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding rate of flow\n\n#variable declaration\nimport math\n#H L=1.2\u0003 v ^2/2/ g\n# H L=4\u0003 f \u0003 L eq /d\u0003V^2/2/ g\n# L eq=60\u0003d\n# H L=240\u0003 f \u0003v ^2/2/ g\n# Combining the two e q u a t i o n s f o r head l o s s\n# 1.2\u0003v^2/2/ g=240\u0003 f_\u0003v^2/2/ g\n\nf =1.2/240;\nprint \" Friction factor =\",round(f,3)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": " Friction factor = 0.005\n" + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 8.12,Page 216" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding rate of flow\n\n#variable declaration\nimport math\n# dp AB+dp BC=dp AD+dp DC\n# dp AD=2\u0003 f \u0003 rho \u0003v ^2\u0003L/d\n# dp AD=16600\u0003(3_Q) ^2\n# Li k ewi s e\n# dp AB=16600\u0003Q^2\n# dp BC=16600\u0003(Q+0.5) ^2\n# dp DC=16600\u0003(2.1_Q) ^2\n#By s o l v i n g above 5 e qu a t i o ns , we g e t\nQ =1.175; # litres per second\n\n#Calculation\ndp_AD =16600*(3 - Q) **2;\ndp_AB =16600* Q**2;\ndp_BC =16600*( Q +0.5) **2;\ndp_DC =16600*(2.1 - Q) **2;\n\nprint\"The rate of flow from B to C (l/s)=\",round(Q+0.5,3)\nprint \"dp_AD(kN/m^2 =\",round(dp_AD/1000,3);\nprint\"dp AB (kN/m^2)=\",round(dp_AB/1000,3);\nprint\"dp BC(kN/m^2) =\",round(dp_BC/1000,3);\nprint\"dp DC (kN/m^2)=\",round(dp_DC/1000,3);\nprint\"The lowest pressure is in the pipe coneecting C and D\"", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "The rate of flow from B to C (l/s)= 1.675\ndp_AD(kN/m^2 = 55.288\ndp AB (kN/m^2)= 22.918\ndp BC(kN/m^2) = 46.573\ndp DC (kN/m^2)= 14.203\nThe lowest pressure is in the pipe coneecting C and D\n" + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 8.13,Page 221" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding time taken\n\n#variable declaration\nfrom math import pi\nimport math\nfrom scipy import integrate\nH2 =0.5; #m\nH1 =2.0; #m\nA =4.0; #m^2\nf =0.005;\nL =20.0; #m\nd =0.025; #m\ng =9.81; # m/ s ^2\n\n#calculation\na= pi *d **2/4;\nc=A*math.sqrt( 4*f*L/d +2.5)/a/math.sqrt(2*g); # constant term of integration\ndef integrand(H,c):\n return -c*(H)**(-0.5)\n#integrate function '-A\u0003*sqrt ( ( 4*f \u0003L/d ) +2.5) / a /( sqrt(2\u0003*g ) )* \u0003(H) ^(-1/2)\n#f=lambda H:-4*1978.18*H**(-0.5);\n\n\nt=integrate.quad(integrand,H1,H2,args=(c))\n \n#result\nprint \"Time taken (s)=\",round(t[0],2)", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "Time taken (s)= 11190.29\n" + } + ], + "prompt_number": 39 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 8.14,Page 223" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding pressure drop\n\n#variable decleration\nfrom math import pi\nd0 =0.15; # m\nd1 =0.1; #m\nQ =50.0/3600; # m^3/ s\nf =0.0052;\nRho =972;\n\n\n#calculation\na= pi /4*(( d0)**2 -( d1) **2) ;\nP= pi *(( d0)+( d1));\nd_eq =4*a/P;\nv=Q/a;\ndel_p_f =2*f* Rho *v**2/ d_eq ;\n\n#result\nprint\" the pressure drop due to friction per metre lenfth of tube is found to be(Nm^2/m)\",round(del_p_f,3)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": " the pressure drop due to friction per metre lenfth of tube is found to be(Nm^2/m) 404.636\n" + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 8.15,Page 225" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding Head Loss\n\n#variable decleration\nfrom math import pi\nfrom scipy import integrate\nf =0.005;\nQ =0.07; #m^3/ s\ng =9.81; #m/ s ^2\nL=3;\n\n#calculation\nu=0.3-0.0666*L;\ndef integrand(l,f,Q,g,u):\n return 32*f*Q**2/pi**2/g*(0.3-0.0666*l)**-5 \n\nH_f=integrate.quad(integrand,0,3,args=(f,Q,g,u));\nH_f=round(H_f[0],1)\n\n#result\nprint\" Fractional head loss(m) =\",H_f\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": " Fractional head loss(m) = 0.3\n" + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 8.16,Page 228" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#variable decleration\nfrom math import pi\nimport math\ng =9.81; # m/ s ^2\nH =4; # m\nf =0.006;\nL =50; # m\nd =0.1; # m\ne=2.718;\n\n\n#calculation\nv1= math.sqrt (2* g*H /(4* f*L/d + 13) );\nv2=0.99*v1;\nt=2/v1*math.log((v1+v2)/(v1-v2),e)\n\n#result\nprint\"Time taken (s)=\",round(t,2)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "Time taken (s)= 5.98\n" + } + ], + "prompt_number": 14 + }, + { + "cell_type": "code", + "collapsed": false, + "input": "", + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +} \ No newline at end of file diff --git a/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_9_1.ipynb b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_9_1.ipynb new file mode 100644 index 00000000..3b69a21d --- /dev/null +++ b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/Chapter_9_1.ipynb @@ -0,0 +1,184 @@ +{ + "metadata": { + "name": "Chapter 9" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": "Chapter 9,Pumps" + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 9.2 (part1 and part2), Page 239" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding head loss \nimport math\n\n#Variable Declaration\nd =0.1; # m\nv_r =2; # m/ s\nf =0.005;\ng =9.81; #m/ s ^2\npi=3.14;\nL_s =2; #m\nL_r =10; # m\nQ1 =1.1*10**( -2) ; #m^3/ s\nz_t =12; #m\nz_s=5 #m\nL1 =20; #m\n\n#Calculation\nQ= math.pi*d**2/4*v_r ;\nH =12-70*Q-4300*Q*Q ;\nk =2*g*H/ v_r/v_r-(4*f*( L_s +L_r)/d)-1;\n\n#result\nprint\"The head loss across the restriction orifice (in terms of velocity head)\",round(k,3) \n\n#Part2\n#Finding System Head and Delivered Head\n# For the case of the valve being fully open\n\n#calculation\nv_t =4*Q1/math.pi/d**2;\nv_r =((2*g*( z_t-z_s )+(4*f*L1/d+1)*v_t**2) /(4*f*L_r/d+k+1))**(0.5) ;\nH1 =4*f* L_r /d*v_r**2/2/ g + 4*f* L_s /d*( v_r**2+ v_t**2) /2/g+k* v_r**2/2/ g + v_r**2/2/ g;\nQ= math.pi*d**2/4*( v_t+ v_r );\nH2 =12 -70*Q -4300* Q**2;\n\n#result\nprint\" System head(m)=\",round(H1,3)\nprint\" Delivered head(m)=\",round(H2,3)\nprint\"The delivered head therefore closely matches the system head at the flow rate of 1.1*\u000310^( -2) m^3/ s\"\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "The head loss across the restriction orifice (in terms of velocity head) 44.863\n System head(m)= 7.603\n Delivered head(m)= 7.628\nThe delivered head therefore closely matches the system head at the flow rate of 1.1*\u000310^( -2) m^3/ s\n" + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 9.6, Page 247" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding time and volume of liquid\n\nfrom math import pi\n#Variable Declaration\nNPSH =5; # m\np_v =18*10**3; # N/m^2\np_l =0.94*101.3*10**3; # N/m^2\nrho =970;#kg /m^3\ng =9.81; # m/ s ^2\nz_s =3; # m\nH_L =0.5; # m\nd =3; # m\nh =2.5; # m\nQ =5; #m^3/h\n\n#calculation\nz1= NPSH +( p_v -p_l)/ rho /g + z_s + H_L ;\nV= pi /4*d**2*(h-z1);\nt=V/Q;\n\n#result\nprint\"Quantity of liquid delivered (m^3)=\",round(V,2)\nprint\"Time taken (h)=\",round(t,2) \n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "Quantity of liquid delivered (m^3)= 14.95\nTime taken (h)= 2.99\n" + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 9.8,Page 251" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#finding minimum level of alarm\n\n#variable Declaration\nN_s =0.14; #m^ ( 3 / 4 ) s ^(-3/2)\nH =30; #m\np_v =7.38*10**3; #N/m^2\np_l =50*10**3; #N/m^2\nrho =992; #kg /m^3\ng =9.81; #m/ s ^2\nH_L =0.2; #m\n\n#calculation\nNPSH =2.8* N_s **(1.33) *H;\nz1= NPSH +( p_v -p_l)/ rho /g+H_L;\n\n#result\nprint\"The minimum level of the alarm (m)=\",round(z1,3)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "The minimum level of the alarm (m)= 1.967\n" + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 9.10,Page 255" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Final Speed\n\n%pylab inline\n#Vabiable Declaration\nimport numpy as np\nfrom pylab import *\ndz =10; #z2-z1\ng =9.81; #m/ s ^2\nd =0.05; #m\nf =0.005;\nL =100; #m\nN1 =1200; #rpm\n\n# H=z2-z1+16\u0003Q^2/2/ g /%pi ^2/d ^4\u0003(4\u0003 f \u0003L/d+1)\n# H=10+5.42\u000310^5\u0003Q^2\n\n#Calculation\nQ =[0.000, 0.002, 0.004, 0.006, 0.008, 0.010];\nH_p =[40.0, 39.5, 38.0, 35.0, 30.0, 20.0];\nH_s =[10.0, 12.2, 18.7, 29.5, 44.7, 64.2];\nfigure()\nplot (Q,H_p , 'b')\nplot (Q,H_s , 'r')\nxlabel('FLOW (m^3/s)')\nylabel('HEAD (m)')\ntitle('system and pump')\n#xtitle (\" \" , \"Flow\" , \"Head\")\n#legend (\"pump\" , \" system\")\na =[0.0066, 0.0066];\nb =[0, 33.8];\n\nplot (a,b)\ne =[0, 0.0066];\nf =[33.8, 33.8];\nplot (e,f)\ni =[0.0049, 0.0049];\nh =[0, 23];\n\nplot (i,h)\nl =[0, 0.00495];\nm =[23, 23];\nplot (l,m)\nshow()\n\n#From graph\nH1 =34.0; #m\nH2 =23.0; # m\nQ1 =0.0066; #m^3/ s\nQ2 =0.00495; #m^3/ s\nN2=N1 *( H2/H1)**(0.5) ;\n\n#result\nprint \"Duty point(m^3/s) =\",round(Q1,4)\nprint \"The speed of the pump to reduce the flow by 25% =\",round(N2,3)\n\n\n\n\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "\nWelcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].\nFor more information, type 'help(pylab)'.\n" + }, + { + "output_type": "display_data", + "png": "iVBORw0KGgoAAAANSUhEUgAAAYkAAAEXCAYAAABYsbiOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlcVNX/P/DX4K6ggsKgoJILoZCIO4o5iWj2DSQzUz8q\nqdlifcv8/Nz6pGGWYpaW7ZkLbZb1ScU1l8TdUCE1FVcURcB0QAURBM7vj/NllGUQhrkzzNzX8/GY\nR8zMnTvvc8P75p5zz/tohBACREREZXCwdgBERFR9MUkQEZFRTBJERGQUkwQRERnFJEFEREYxSRAR\nkVFMEkQW4uXlhe3bt1s7DKJKYZIgm+Lg4IDz589bOwyTaDQaaDQaa4dBVClMEmRzOP+TyHKYJEhR\n8+fPh6enJxo2bAgfHx/s2LEDaWlpaNCgAfR6vWG7+Ph4uLm5oaCgAGfPnkXfvn3RuHFjuLq6YsSI\nEQCARx99FADg7+8PJycn/PLLLwCA9evXo1OnTnB2dkbv3r1x7Ngxw369vLzwwQcfoGPHjnBycsL4\n8eORnp6OQYMGoVGjRggJCUFmZmaZsWdmZuLJJ5+Em5sbXFxcEBoaipSUFMP7Op0Os2bNQlBQEBo2\nbIiBAwfi+vXrhve/++47tGrVCk2bNsXcuXPLPU7PPfccXnrpJQwYMAANGzaETqdDcnIyAODChQtw\ncHBAYWFhse9eunQpAGDFihXo3bs3Jk+eDGdnZ7Rt2xb79u3D8uXL0bJlS2i1Wnz77bcV+i6iUgSR\nQhITE0WLFi1EamqqEEKIixcvinPnzgkhhHjiiSfEF198Ydh20qRJ4rXXXhNCCDF8+HAxd+5cIYQQ\nubm5Yu/evYbtNBqNYR9CCBEfHy/c3NxEXFycKCwsFNHR0cLLy0vk5eUJIYTw8vISgYGB4urVqyIl\nJUW4ubmJgIAA8ddff4k7d+6Ifv36idmzZ5cZ//Xr18Vvv/0mcnJyxK1bt8QzzzwjwsPDDe/37dtX\ntG3bVpw5c0bk5OQInU4npk+fLoQQ4vjx48LR0VHs3r1b5ObmismTJ4uaNWuK7du3l/ldERERwsnJ\nybD966+/LoKCgoQQQiQlJQmNRiMKCgoM2+t0OrF06VIhhBDLly8XNWvWFCtWrBCFhYXirbfeEh4e\nHuLVV18VeXl5YsuWLcLJyUlkZ2c/8LuISmKSIMWcOXNGuLm5iW3bthlO2kV++ukn0bt3byGEEPn5\n+cLd3V0cPHhQCCHEmDFjxAsvvCAuX75cap8lk8RLL70kZs6cWWybhx9+WOzatUsIIZPEjz/+aHjv\n6aefFhMnTjQ8/+STT4qd+MuTkJAgnJ2dDc91Op147733DM8///xz8fjjjwshhJg9e7YYMWKE4b3s\n7GxRu3btcpPE/dtnZWWJGjVqiMuXL1coSbRr187w3tGjR4VGoxFXr141vNakSRNx5MiRB34XUUns\nbiLFtG3bFh999BEiIyOh1WoxYsQIpKamAgAGDx6MEydO4MKFC9i6dSsaNWqErl27AgDef/99CCHQ\nvXt3+Pn5Yfny5Ua/4+LFi/jwww/h7OxseFy+fBlXrlwxbKPVag0/16tXr9jzunXrIisrq8x93759\nGy+++CK8vLzQqFEj9O3bFzdu3Cg2JuLu7l5s30X7unLlCjw9PQ3v1a9fH02aNDHaDo1GU2z7Bg0a\nwMXFpVg7ylOyjQDg6upaZmxV/S5SFyYJUtSIESOwe/duXLx4ERqNBtOmTQMgT87PPPMMvv/+e3z/\n/fcYM2aM4TNarRZff/01UlJS8NVXX2HixIlG72hq2bIl/vOf/yAjI8PwyMrKwrPPPms0JlHBge8P\nP/wQp0+fRlxcHG7cuIGdO3dCyKvvB362efPmuHTpkuH57du3i41XlBXT/dtnZWVBr9ejefPmaNCg\ngWEfRdLS0irUhsp+F1FJTBKkmNOnT+OPP/5Abm4u6tSpg7p166JGjRqG98eMGYPly5cjJiYGo0eP\nNrz+yy+/4PLlywCAxo0bQ6PRwMFB/qpqtVqcO3fOsO2ECRPw5ZdfIi4uDkIIZGdnY8OGDUavDioj\nKysL9erVQ6NGjaDX6zF79uxS2xhLGE8//TTWr1+PvXv3Ii8vD7NmzSo28FyWjRs3GrafOXMmAgMD\n4eHhAVdXV3h4eOC7775DQUEBli1bVuwYmMLYdxGVxCRBisnNzcWMGTPg6uqKZs2a4dq1a5g3b57h\n/d69e8PBwQFdunRBixYtDK8fOnQIPXv2hJOTEwYPHozFixfDy8sLABAZGYmIiAg4Ozvj119/RZcu\nXbBkyRK8+uqrcHFxQbt27fDtt9+WOx/h/vfKm7swadIk5OTkoGnTpujVqxcGDRpUaltj+/L19cVn\nn32GkSNHonnz5nBxcSnWxrJiGjlyJGbPno0mTZogISEB33//veH9JUuWYMGCBWjatClOnDiB3r17\nl9uGB7W/vO8iup9GVPTam0gB/fv3x8iRIzFu3Dhrh2JVY8eOhaenJ+bMmWNX30W2T9EriVOnTiEg\nIMDwaNSoERYvXgy9Xo+QkBB4e3tjwIABRu9TJ/t28OBBxMfHlzt+oBaW/FuNfxdSZSiaJB5++GEk\nJCQgISEBhw8fRv369fHUU08hKioKISEhOH36NIKDgxEVFaVkGFQNRUREICQkBB999JFhYFbNLFmy\ng+VBqDIs1t20ZcsWzJkzB7t374aPjw927twJrVaLtLQ06HQ6JCYmWiIMIiKqBIsNXP/000+G8grp\n6emG+7q1Wi3S09MtFQYREVWCRa4k8vLy4OHhgRMnTsDV1RXOzs7IyMgwvO/i4lKsjg9Q/t0ZRERk\nnDlP6xa5kti0aRO6dOlimAFa1M0EAKmpqXBzcyvzc0UTl9T+ePvtt60eQ3V58FjwWPBYlP8wN4sk\niZUrVxq6mgAgLCwM0dHRAIDo6GiEh4dbIgwiIqokxZNEdnY2tm3bhiFDhhhemz59OrZu3Qpvb2/8\n8ccfmD59utJhEBGRCWoq/QUNGjTAtWvXir3m4uKCbdu2Kf3VdkOn01k7hGqDx+IeHot7eCyUU21n\nXGs0GkX614iI7Jm5z52s3UREREYxSRARkVFMEkREZBSTBBERGcUkQURERjFJEBGRUUwSRERkFJME\nEREZxSRBRERGMUkQEZFRTBJERGSU4gX+iIjIAoQAvv/e7LtlkiAisnUFBcBLLwFHjph91+xuIiKy\nZbm5wIgRQFISsH272XfPJEFEZKuysoDQUCA/H9iwAXByMvtXMEkQEdkivR4ICQE8PYFVq4A6dRT5\nGiYJIiJbk5oK9O0L9O4NLF0K1FRueJlJgojIlpw7BwQFyXGIBQsAjUbRr2OSICKyFceOAY8+Cvy/\n/we8+abiCQLgLbBERLZh/34gPBz4+GNg+HCLfS2TBBFRdbdlCzBqFBAdDQwaZNGvZncTEVF19ssv\nMkGsXm3xBAFYIElkZmZi6NChaN++PTp06IA///wTer0eISEh8Pb2xoABA5CZmal0GEREtmfJEuD1\n14GtW+WdTFageJJ4/fXX8cQTT+DkyZM4evQofHx8EBUVhZCQEJw+fRrBwcGIiopSOgwiItsyfz4w\nbx6waxfg72+1MDRCCKHUzm/cuIGAgACcP3++2Os+Pj7YuXMntFot0tLSoNPpkJiYWDwwjQYKhkZE\nVD0JAUyfDqxfL8ciPDwq9XFznzsVHbhOSkqCq6srxo4diyNHjqBLly746KOPkJ6eDq1WCwDQarVI\nT08v8/ORkZGGn3U6HXQ6nZLhEhFZV1GhvqNH5RVEkyYP/EhsbCxiY2MVC0nRK4lDhw4hMDAQ+/bt\nQ7du3TBp0iQ4OTnh008/RUZGhmE7FxcX6PX64oHxSoKI1CQ3Fxg9WpbbWL3a5DpM5j53Kjom4enp\nCU9PT3Tr1g0AMHToUMTHx8Pd3R1paWkAgNTUVLi5uSkZBhFR9WaBQn2mUjRJuLu7o0WLFjh9+jQA\nYNu2bfD19UVoaCiio6MBANHR0QgPD1cyDCKi6stChfpMpWh3EwAcOXIEzz//PPLy8tCmTRssX74c\nBQUFGDZsGJKTk+Hl5YVVq1ahcePGxQNjdxMR2bvUVGDAAGDgQLPVYTL3uVPxJGEqJgkismvnzskE\n8fzz8m4mM9VhsqkxCSIiKkNRob4pU4AZMyxSqM9UrN1ERGRJVirUZyomCSIiS7FioT5TsbuJiMgS\nrFyoz1RMEkRESqsGhfpMxe4mIiIlzZ8PfPWVLLPRtq21o6k0JgkiIiXcX6hv9+5KF+qrLpgkiIjM\nzYRCfdUVkwQRkTndX6hv27ZqVYfJFBy4JiIyl6JCfQUF1a5Qn6mYJIiIzOH+Qn0//1ztCvWZikmC\niKiqUlOBvn3l7a1LlwI17acnn0mCiKgqzp0DgoKAkSPNVsm1OmGSICIylQ0V6jOV/VwTERFZko0V\n6jMVkwQRUWXZYKE+U7G7iYioMn75Rc6DsLFCfaZikiAiqqglS4BJk+SVhI0V6jMVu5uIiCqiqFDf\nzp02WajPVEwSRETlsZNCfaZikiAiMsaOCvWZikmCiKgsdlaoz1QcuCYiKskOC/WZSvEk4eXlhY4d\nOyIgIADdu3cHAOj1eoSEhMDb2xsDBgxAZmam0mEQEVVMUaG+Fi3sqlCfqRRPEhqNBrGxsUhISEBc\nXBwAICoqCiEhITh9+jSCg4MRFRWldBhERA92f6G+b76xq0J9prJId5MQotjzmJgYREREAAAiIiKw\nZs0aS4RBRGScnRfqM5XiaVKj0aB///6oUaMGXnzxRUyYMAHp6enQarUAAK1Wi/T09DI/GxkZafhZ\np9NBp9MpHS4RqdGxY3L29FtvybuZbEhsbCxiY2MV279GlPwz38xSU1PRrFkz/PPPPwgJCcEnn3yC\nsLAwZGRkGLZxcXGBXq8vHphGU+oKhIjI7IoK9S1eDDz7rLWjqTJznzsV725q1qwZAMDV1RVPPfUU\n4uLioNVqkZaWBkAmETc3N6XDICIqbcsWYPBgYMUKu0gQSlA0Sdy+fRu3bt0CAGRnZ2PLli145JFH\nEBYWhujoaABAdHQ0wsPDlQyDiKg0lRXqM5Wi3U1JSUl46qmnAAD5+fn417/+hRkzZkCv12PYsGFI\nTk6Gl5cXVq1ahcaNGxcPjN1NRKSUJUuAyEhg40bA39/a0ZiVuc+dio9JmIpJgogUUVSob8sWuyzU\nZ+5zJ28CJiJ1UHmhPlMxSRCR/WOhPpMxSRCRfcvNlUuNZmQA27cDjo7WjsimsMAfEdmvokJ9hYWy\nUB8TRKUxSRCRfWKhPrNgkiAi+8NCfWbDJEFE9oWF+syK6ZWI7IcNF+qrrpgkiMg+2FmhvuqCSYKI\nbN+WLfI212+/BR5/3NrR2BWOSRCRbVu16l6hPiYIs+OVBBHZptxcYMYMWc11yxa7K9RXXfBKgohs\nz6lTQGAgkJQE/PUXE4SCmCSIyHYIASxbJm9xfeEF4LffWIdJYexuIiLbkJkJvPgicOIEEBsL+Ppa\nOyJV4JUEEVV/+/YBAQGAqysQF8cEYUG8kiCi6qugAJg7F/jsM+Drr4GwMGtHpDpMEkRUPV26JG9t\ndXAADh/mIkFWwu4mIqp+Vq8GunYFBg4Etm5lgrCiCl9J3LlzBxqNBnVYbpeIlHL7NjB5spz3sHYt\n0LOntSNSPaNXEoWFhfjtt9/wzDPPwMPDAw899BBatWoFDw8PDB06FKtXrzbrYttEpHLHjgHdugE3\nbwIJCUwQ1YRGGDnTP/roo+jTpw/CwsLQqVMnwxVEbm4uEhISEBMTgz179mDXrl3KBKbRMAkRqYEQ\ncmB69mzggw+AMWNY3rsKzH3uNJokcnNzH9i1VJFtTA6MSYLI/l27BowbB1y5AqxcCbRrZ+2IbJ65\nz51Gu5vuP/lnZGTgyJEjiI+PNzxKbmNMQUEBAgICEBoaCgDQ6/UICQmBt7c3BgwYgMzMzKq2gYhs\n0R9/AJ06AT4+ch4EE0S1ZPRKosjMmTOxYsUKtG7dGg4O93LKjh07KvQFCxcuxOHDh3Hr1i3ExMRg\n6tSpaNq0KaZOnYr58+cjIyMDUVFRpQPjlQSRfbp7F5g1S5b1Xr4cGDDA2hHZFYt1NxXx9vbG33//\njdq1a1d655cvX8Zzzz2H//znP1i4cCHWrVsHHx8f7Ny5E1qtFmlpadDpdEhMTCwdmEaDgwcFatdG\nuQ8uXUtkQ86fB0aMAJo2lQnCzc3aEdkdcyeJB55ifX19kZGRAa1WW+mdv/HGG1iwYAFu3rxpeC09\nPd2wL61Wi/T0dKOfDwuLREGBnHRZq5YONWrokJcHwyM3V273oERS9KhTxzrbMZkRAfjhB2DSJLm0\n6GuvcXDaTGJjYxEbG6vY/h946nrzzTcREBAAPz8/wxiERqNBTExMuZ9bv3493NzcEBAQYLQBGo0G\nmnJ+Ua5ciXxQeCgoQLHEUdYjN/fB25TcLiuravu7f5vcXPnvwdTE06gR4OIii126uJT+2cVFfo6o\nWrp1C3j1VeDPP+X8h4AAa0dkV3Q6HXQ6neH57Nmzzbr/ByaJMWPGYPr06fDz8zOMSZR3Yi+yb98+\nxMTEYOPGjbhz5w5u3ryJ0aNHG7qZ3N3dkZqaCrcqXm7WqAHUqycf1ZmxZPaghHPnjrxt/Pp1IDUV\nOH4c0Ovlc73+3qN27bITSMlkwuRCFnXokOxe0ulkaY0GDawdEVXSA8ckunXrhoMHD1bpS3bu3IkP\nPvgA69atw9SpU9GkSRNMmzYNUVFRyMzM5MB1FQkhr3zKSh73Py/5HpMLKaawEPjwQ2DBAjkH4pln\nrB2Ralh8TKJPnz6YMWMGwsLCit3y2rlz50p9UdHVx/Tp0zFs2DAsXboUXl5eWLVqVSVDppI0GsDJ\nST5atar45x6UXIquXJhcqFJSU4GICCA7Gzh4sHK/lFTtPPBKQqfTldm9VNFbYE3FK4nqi1cuZNSG\nDcDzz8tV42bO5B0bVmDxW2CthUnC/lQ1uTRpIv8obdcOaNtW/rddO6BNG8DR0dqtU7ncXGDaNFm9\n9fvvgT59rB2RalksSaxYsQKjRo1CTSN/CeTl5eGHH37A2LFjzRZMscCYJOj/FCWXa9fkuvdnzwJn\nztz777lzgLPzvcTBBGJhJ0/Kwek2bYAlS+SlH1mNxcYksrKy0K1bN/j4+KBr165o1qwZhBBIS0vD\noUOHkJiYiAkTJpgtECJj7h9zeeghoF+/4u8XFgIpKcUTxw8/lJ9A2raVDyaQKhAC+OYb4M03gffe\nAyZM4NwHO1Rud5MQAnv37sWePXuQnJwMAGjVqhWCgoLQq1evCt0Ka3JgvJIgMygrgTzoCoQJpAIy\nMuS4w6lTwE8/AR06WDsi+j8ckyAykwclkMaN73VbMYHcZ88e4F//AgYPBt5/H6hb19oR0X2YJIgs\ngAmkDPn5slvpiy9kN9OTT1o7IioDkwSRlakygSQny6uHOnVk9dbmza0dERnBJEFUjRUlkKKkYSyB\n3H8HVrVPIL/+CkycCPz738CUKYCD0WVoqBqwaJJITEzE119/bSjl3aFDB0yYMAEPP/yw2QIwGhiT\nBNkZm0sg2dnAG28A27fLVeO6d7dCEFRZFksS+/fvx5AhQ/DCCy+gc+fOKCwsREJCApYsWYLffvsN\ngYGBZguizMCYJEhFTEkgPXoALVooFNCRI8Dw4UDXrrL2UsOGCn0RmZvFksTjjz+O6dOnFytBC8hi\nfVFRUdi0aZPZgigzMCYJIgClE8jZs0BiIrB/vyyq2qfPvYePTxWnKggBfPIJMGcOsGgRMGqU2dpB\nlmGxJOHt7Y3Tp0+X+aGHH34Yp06dMlsQZQbGJEFULiHkNIXdu+89srKAoKB7SSMgoBLlk/75Bxg7\nFrh6FfjxR3nZQjbH3OdOoyNQjuV0gtavX99sARCRaTQaeeUwYYK84SgpCUhIAIYNk1cb48bJChkh\nIcA77wA7dgC3bxvZ2datQKdOgJ+fnAfBBEH/x+iVhKurK0aMGFFmRvr5559x9epVZQPjlQRRlen1\nwN698ry/ezdw9CjwyCP3rjR6d8uDy6KZsihfdDTQv7+1Q6YqsmiBv5JlN4o21Wg0iIiIMFsQZQam\n0QCRin4FEZWQPE4oNxhOFmH1eRI5OTlYt24dhg0bZrYgysIrCSIFffcdMHkyCt6ahYRer2L3Hg0m\nTwaaNlVgMJwsyipJoqCgAJs3b8bKlSuxdetWBAUF4b///a/ZgigzMCYJIvO7eVNOjDt8WBbm8/c3\nvKXRyDupzDoYThZnsSQhhMDOnTuxcuVKbNy4ET169MDu3buRlJRkkYFrJgkiM/vzT2DkSDnusGgR\nUOLfsUYj75gq6fLl4knj4kU5R6MoafToUWpXZEUWSxKenp7o0KEDxo0bh9DQUDRo0AAPPfQQkpKS\nzPbl5QbGJEFkHoWFslrrwoWyON/TT5e5mbEkUVLRYHhR0ig5GB4UxHWHrMliiw4NHToUMTEx+Pnn\nnwEAoaGhZvtSIrKQK1eA0aOBu3eBQ4eAli2rvEsXFyA0VD4AeVvtn3/KO6g+/VTOv2vZsvi4BgfD\nbVe5YxKFhYWIjY3FypUrsWnTJmRmZmLp0qX4n//5n3LnUZglMF5JEFXNunVyEsXEiXL1uAcMJFT0\nSuJB8vOBv/4q3kXFwXDLsdrdTXl5efj999+xcuVK/P7777h+/brZgigzMCYJItPcuSOrta5bJ+c/\nBAVV6GPmShIlmX1mOJXLYknixo0baNSoUZkfOnnyJNq3b2+2IMoMjEmCqPJOnJCF+Xx8gK++kuuz\nVpBSSaIs5Q2GBwUBPXtyMNxUFksSAQEBSEhIAAAEBwdj+/bthvc6d+6M+Pj4cnd8584d9O3bF7m5\nucjLy8PgwYMxb9486PV6PPvss7h48SK8vLywatUqNG7cuHRgTBJEFScE8PXXwH/+A0RFAePHV7o/\nx5JJoiQOhpuPVZLE/T+X9dyY27dvo379+sjPz0dQUBA++OADxMTEoGnTppg6dSrmz5+PjIwMREVF\nlQ6MSYKoYvR6OfZw/rxc98HHx6TdWDNJlHT/YPju3cCBAxwMryiLFfgzh6L5FHl5eSgoKICzszNi\nYmIMJT0iIiKwZs0aJUMgsm87d8rCfC1byjOpiQmiuqlfH3jsMWDmTGDLFpkHV6wAvL3lQnmdOwNe\nXvLGrW++kXMESRlGh4r++ecfLFy4EEKIYj8XvVcRhYWF6Ny5M86dO4eXX34Zvr6+SE9Ph1arBQBo\ntVqkp6cb/XxkZKThZ51OV2ptCyLVys+XpV2XLAGWLgWeeMLaESmqZk25/lHXrnKxvPsHwzdvBqZP\nlzdxvfaaLC2iJrGxsYiNjVVs/0a7myIjIw0F/oQQpX5+++23K/wlN27cwMCBAzFv3jwMGTIEGRkZ\nhvdcXFyg1+tLB8buJqKy7doFTJ0qV4uLjgaaNTPLbqtTd1NlnT0r5wv++ivw3HNyOW4PD2tHZR1W\nL/Bnqjlz5qBevXr45ptvEBsbC3d3d6SmpuKxxx4zrKFdLDAmCaLiDhyQ/S/nzgGzZgFjxgAO5usx\ntuUkUSQlRU4sX75cTiyfNk19S2NYLEn87//+r9Ev1Wg0WLx4cbk7vnbtGmrWrInGjRsjJycHAwcO\nxNtvv43ff/8dTZo0wbRp0xAVFYXMzEwOXBOVJyFBJoW//gLeekuuHle7ttm/xh6SRJFr1+QqrJ9/\nLktVzZgBdOxo7agsw2JlObp06WL4srfffhvvvPNOsfUkHiQ1NRUREREoLCxEYWEhRo8ejeDgYAQE\nBGDYsGFYunSp4RZYIirD8ePA228D+/bJTvdffgHq1rV2VDahaVNg9mzZ7fTVV8DAgXI84803gcBA\na0dnWyrU3VTRW17NiVcSpFpnzgCRkXJJ0SlTgFdescjMMnu6kijpzh3ZBfX++/KuqDfflFcY9lga\nxKZugSWiSrhwQU6CCwyUt7KePSuTBKceV1ndusDLLwOnT8u1v19/HejeHVi9WhbJJeOYJIisLSVF\n3r/ZpYu8U+nMGTlA3bChtSOzO7VqybkVf/8tJ6fPnQv4+cmF+u7etXZ01ZPR7iZHR0fD2ENOTg7q\n1at370MaDW4qPHuF3U1k99LTZQmN6Gh5BTF1KuDqarVw7Lm7yRghgO3bZbI4f17+Lxg7FrjvdGdz\nbPYW2MpikiC7pdcDCxbIEdVRo+StN2aa61AVakwS99u/H5g3Dzh4UE7Ye+kl27yY45gEka26cUMO\nSHt7y0Tx11/A4sXVIkGQHAqKiQF+/13+r2nTRt55fO2atSOzLiYJIqVlZclupbZtgaQkWbnuq6/M\nskocmV/HjsCPP8ori7Q0mdMnT5ZDR2rEJEGklJwcYNEimRyKlmqLjpZ/olK117atrL5+7Jjsinvk\nEVls9+xZa0dmWUwSROaWlyen+rZtK6u0btkC/PST3VRoVRsPD+DDD+Xts82by26pESPkmhdqwCRB\nZC75+cCyZbJ/Yt06YM0a+VBLPQg7VzSL+9w5Wap84EAgNFR2S9kz3t1EVFUFBfJKITJSroQzZw7Q\nu7e1o6o0td/dVFnVdRY3b4Elqi4KC4HffpP1lRo3lsmhXz9rR2UyJgnT3L0L/PyzvH22fn2ZLAYP\nNmuB3kphkiCyNiGADRvkrGgHB+Ddd4HHH7f+n5BVxCRRNYWF8hba994DsrPl9Jfhw+Usb0tikiCy\nFiGAbdtkcsjOllcOgwfbfHIowiRhHtaexc0kQWQNu3bJ5JCeLscehg2zXn+CQpgkzM8as7g545rI\nkv78ExgwQK6JOW6crAw3fLjdJQhShj3M4uZvOlFZEhLk/Y1Dh8rHqVNARARQ0+g6XURG2fIs7mrd\n3YQdO6wdBlExQqezdgiKYXeT5Si5FjfHJIiUcOaMnCm1ZUvZq8Gp4AyqgiZWO0qsxc0xCSJzKrka\n3LlzXA2OLKZoFvf589V3FjeTBKlTSoq8WujSRRbkOXMGeOstwMnJ2pGRCjk5yb9NkpKAJ54ARo4E\nHntMLnNu7as7JglSl6tX5Yhhx45AgwZyQHrOHMDZ2dqRERVbi3v8eGDSJOuvxc0kQeqg18sO3/bt\nZSG+v/9rGsHVAAASVklEQVSWRXeaNrV2ZESl1KolFy08dsz6a3EzSZB9u3FDdvpyNTiyQQ4OQHg4\nEBcnf22XLwfatZMD3Tk5FopByZ1funQJjz32GHx9feHn54fFixcDAPR6PUJCQuDt7Y0BAwYgMzNT\nyTBIjbKz5Wpw7drJUcGi1eBatLB2ZESVptHIu5/++ANYuRLYvBlo3VpeDN+8qex3K5okatWqhUWL\nFuH48eM4cOAAPvvsM5w8eRJRUVEICQnB6dOnERwcjKioKCXDIDUpuRrcrl1cDY7siqVncSuaJNzd\n3dGpUycAgKOjI9q3b4+UlBTExMQgIiICABAREYE1a9YoGQapQV4e8MUX8sph1y75L4irwZEdu38W\nd3r6vVnc5maxGgMXLlxAQkICevTogfT0dGi1WgCAVqtFenp6mZ+JjIw0/KzT6aCz49muZKL8fODb\nb+UdSu3by5Xguna1dlREFnP5ciyaNYvF2LHA4cPm379FZlxnZWWhb9++mDlzJsLDw+Hs7IyMjAzD\n+y4uLtDr9cUD44xrKk/RanCzZ99bDa5XL+W+TwXTkVXQRFUw97lT8SuJu3fv4umnn8bo0aMRHh4O\nQF49pKWlwd3dHampqXBzc1M6DLIXhYXypvFZs+RqcF9+adOrwRFVd4qOSQghMH78eHTo0AGTJk0y\nvB4WFobo6GgAQHR0tCF5EBmVkyOXCu3SRRbo/+ADYM8eJggihSna3bRnzx48+uij6Nixo6zqCmDe\nvHno3r07hg0bhuTkZHh5eWHVqlVo3Lhx8cDY3UTXr8tlQteulSvCdeokV26xxmpwKuiLUUETVYFV\nYMm+JSXJpLBmjVzToV8/mRSefNK6s6NVcAZVQRNVgUmC7IsQQHy8TApr18oVWUJD5TTT/v0ttzDw\ng6jgDKqCJqoCkwTZvrw8IDZWJoWYGJkIwsPlFUPPnkCNGtaOsDQVnEFV0ERVsLm7m4gAyBpKmzbJ\nxLB5s5zkNniwXOTHx8fyYwxEVCG8kiDlXL4srxTWrAEOHAD69JGJITTU9grsqeDPbBU0URXY3UTV\nlxCyBHfR+ELRCirh4XLJLUdHa0doOhWcQVXQRFVgkqDqJT9fzldYu1Y+CgvvjS8EBcnC+PZABWdQ\nFTRRFTgmQdaXnS0L6K1dK+cxtGolk8Lq1bLqGMcXiOwGrySoYtLTgXXrZFfSrl1Ajx4yMYSFAS1b\nWjs65angz2wVNFEV2N1ElpOYeK8b6cQJOa4QHg4MGiTrJqmJCs6gKmiiKjBJkHIKC+VdSEWJ4dYt\nebUweDCg0wF16lg7QutRwRlUBU1UBSYJMq+cHGD79nsT29zc7iWGLl3kIrukijOoCpqoCkwSVHVF\nhfPWrJEJolOne4mBy3yWTQVnUBU0URWYJMg058/f60aKjweCg6tH4TxboYIzqAqaqApMElQxQsi1\nDIsSQ3UtnGcrVHAGVUETVYFJgoy7v3De2rVA/frVv3CerVDBGVQFTVQFTqaj4ooK561ZIye4FRXO\n27qVhfOIqMp4JWGLLl2SdyKtXWv7hfNshQr+zFZBE1WB3U1qJARw7Ni9biR7KpxnK1RwBlVBE1WB\nScJeCSG7jq5cAVJS7j2Sk2XXkb0WzrMVKjiDqqCJqsAkYYvu3gVSU4uf/Esmg5QUOXHNwwNo3lz+\nt+jx6KMsnGdtKjiDqqCJqsAkUZ0IAWRklH/iT0kB9HpAqy198i+ZEBo2tHaLyBgVnEFV0ERVYJKw\nlNxcedI3duIveq9WrdIn/pInf62Wt5/aOhWcQVXQRFVgkqgqIWRZirJO+vc/v3EDcHc3fuIves5B\nY3VQwRlUBU1UBZtKEuPGjcOGDRvg5uaGY8eOAQD0ej2effZZXLx4EV5eXli1ahUal1F22qSG5uQU\nP9mXdRWQmionmZV38vfwAFxdWdyO7lHBGVQFTVQFm0oSu3fvhqOjI8aMGWNIElOnTkXTpk0xdepU\nzJ8/HxkZGYiKiiod2P0NLSwE/vnH+Im/6LWsrHsnfGP9/82byyRBVBkqOIOqoImqYFNJAgAuXLiA\n0NBQQ5Lw8fHBzp07odVqkZaWBp1Oh8TExNKBaTQQgYHy5J+WJgd1yzv5e3jIQnW8A4iUoIIzqAqa\nqAo2X5YjPT0dWq0WAKDVapGenm5020gfH6B7d8DJCbrgYOh0OgtFSURkG2JjYxEbG6vY/i1+JeHs\n7IyMjAzD+y4uLtDr9aUDs/bdTUT3U8Gf2SpooiqY+9xp8ZHZom4mAEhNTYWbm5ulQyAiogqyeJII\nCwtDdHQ0ACA6Ohrh4eGWDoGIiCpI0e6mESNGYOfOnbh27Rq0Wi3eeecdDB48GMOGDUNycrL5b4El\nUooK+mJU0ERVsLm7m0zFJEHVigrOoCpooirY/JgEERHZDiYJIiIyikmCiIiMYpIgIiKjmCSIiMgo\nJgkiIjKKSYKIiIxikiAiIqOYJIiIyCgmCSIiMopJgoiIjGKSICIio5gkiIjIKCYJIiIyikmCiIiM\nYpIgIiKjmCSIiMgoJgkiIjKKSYKIiIxikiAiIqOYJIiIyCgmCSIiMspqSWLz5s3w8fFBu3btMH/+\nfGuFYRNiY2OtHUK1wWNxD4/FPTwWyrFKkigoKMCrr76KzZs348SJE1i5ciVOnjxpjVBsAv8B3MNj\ncQ+PxT08FsqxSpKIi4tD27Zt4eXlhVq1amH48OFYu3atNUIhIqJyWCVJpKSkoEWLFobnnp6eSElJ\nsUYoRERUjprW+FKNRmPW7dRg9uzZ1g6h2rDasaiGv4/mPhbVsIkVxn8jyrBKkvDw8MClS5cMzy9d\nugRPT89i2wghLB0WERGVYJXupq5du+LMmTO4cOEC8vLy8PPPPyMsLMwaoRARUTmsciVRs2ZNfPrp\npxg4cCAKCgowfvx4tG/f3hqhEBFROSxyJVHWnIhBgwbh1KlTOHv2LGbMmIHXXnsN7dq1g7+/PxIS\nEsr9LADo9XqEhITA29sbAwYMQGZmpiWaUmUVmR9S2WMxZcoUtG/fHv7+/hgyZAhu3LiheDvMQYlj\nUeTDDz+Eg4MD9Hq9YvGbk1LH4pNPPkH79u3h5+eHadOmKdoGc1HiWMTFxaF79+4ICAhAt27dcPDg\nQcXbYQ5VORbjxo2DVqvFI488Umz7Sp87hcLy8/NFmzZtRFJSksjLyxP+/v7ixIkTxbbZsGGDGDRo\nkBBCiAMHDogePXo88LNTpkwR8+fPF0IIERUVJaZNm6Z0U6pMqWOxZcsWUVBQIIQQYtq0aao+FkII\nkZycLAYOHCi8vLzE9evXLdcoEyl1LP744w/Rv39/kZeXJ4QQ4urVqxZslWmUOhZ9+/YVmzdvFkII\nsXHjRqHT6SzYKtNU5VgIIcSuXbtEfHy88PPzK/aZyp47Fb+SqMiciJiYGERERAAAevTogczMTKSl\npZX72fs/ExERgTVr1ijdlCpT6liEhITAwcHB8JnLly9btmEmUOpYAMDkyZPx/vvvW7Q9VaHUsfji\niy8wY8YM1KpVCwDg6upq2YaZQKlj0axZM8MVdmZmJjw8PCzbMBNU5VgAQJ8+feDs7Fxqv5U9dyqe\nJCoyJ8LYNleuXDH62fT0dGi1WgCAVqtFenq6ks0wC6WOxf2WLVuGJ554QoHozUupY7F27Vp4enqi\nY8eOCrfAfJQ6FmfOnMGuXbvQs2dP6HQ6HDp0SOGWVJ1SxyIqKgr//ve/0bJlS0yZMgXz5s1TuCVV\nV5VjUZ7KnjsVTxIVnesgKnDLqxCizP1pNBqbmFNhzmNRlvfeew+1a9fGyJEjTfq8JSlxLHJycjB3\n7txi98ubeiwtSanfi/z8fGRkZODAgQNYsGABhg0bZkp4FqXUsRg/fjwWL16M5ORkLFq0COPGjTMl\nPIsy9VhU5lxYkXOn4nc3VWRORMltLl++DE9PT9y9e7fU60WXiVqtFmlpaXB3d0dqairc3NwUbknV\nmfNYlPzsihUrsHHjRmzfvl3BFpiPEsfi3LlzuHDhAvz9/Q3bd+nSBXFxcdX690Op3wtPT08MGTIE\nANCtWzc4ODjg+vXraNKkiZLNqRKljkVcXBy2bdsGABg6dCief/55JZthFqYeiwd1pVX63FmVgZWK\nuHv3rmjdurVISkoSubm5Dxx82b9/v2HwpbzPTpkyRURFRQkhhJg3b55NDNYqdSw2bdokOnToIP75\n5x/LNqgKlDoW97OVgWuljsWXX34pZs2aJYQQ4tSpU6JFixYWbJVplDoWAQEBIjY2VgghxLZt20TX\nrl0t2CrTVOVYFElKSipz4Loy507Fk4QQ8m4Cb29v0aZNGzF37lwhhPwF/vLLLw3bvPLKK6JNmzai\nY8eO4vDhw+V+Vgghrl+/LoKDg0W7du1ESEiIyMjIsERTqkyJY9G2bVvRsmVL0alTJ9GpUyfx8ssv\nW65BVaDEsbjfQw89ZBNJQghljkVeXp4YNWqU8PPzE507dxY7duywWHuqQoljcfDgQdG9e3fh7+8v\nevbsKeLj4y3XoCqoyrEYPny4aNasmahdu7bw9PQUy5YtE0JU/typEcIGOm2JiMgquDIdEREZxSRB\nRERGMUkQEZFRTBJERGQUkwTZhBo1aiAgIMDwuHjxImJjYxEaGlpq2+PHj6Nfv37w8fGBt7c33n33\nXQBy0pGrq6uhPENqaiocHBywd+9ew2ddXV2RkZFRap/r169HZGSkSbG/+OKLcHR0xI4dO4q9/uWX\nX6Jjx44ICAhAYGAgjhw5Uuz9QYMG4cqVK2Xuc/Hixfjuu+9MioeoUsx9yxaREhwdHUu9tmPHDvHk\nk08We+327duiTZs2YuvWrYbngwYNEp999pkQQognn3xSbNy4UQghxK+//io6d+4s3n//fSGEEImJ\nicLHx6fM79fpdCItLa3Scc+ZM0cMHz5c/P3336J9+/bi6NGjhvdu3rxp+DkmJkYEBwcXa0f37t2N\n7vfmzZuiW7dulY6HqLJ4JUF25ccff0RQUBD69+8PAKhXrx4+/fRTREVFAQB69eqFffv2AQD279+P\nN954A/v37wcA7Nu3D0FBQaX2eenSJeTl5Rnq3Tz33HOYOHEiAgMD0aZNG8TGxiIiIgIdOnTA2LFj\nDZ+Ljo7GyZMn8eOPP8LX1xcxMTGYMGGCobaOk5OTYdusrCw0bdrU8Dw2NhaPPfYYAGD69Onw9fWF\nv78/pkyZYvhskyZNcPz4cfMcOCIjrLLoEFFl5eTkICAgAADQunVr/Pe//y1zuxMnTqBLly7FXmvd\nujWysrKQlZWF3r17G2o7xcXFYfbs2fj4448ByCTRq1evUvvcu3cvOnfubHiu0WiQmZmJ/fv3IyYm\nBmFhYdi/fz86dOiAbt264ciRI/D390dERISh2iYAtG3bFgcOHCi2788//xwLFy5Edna2IXkBwKZN\nmzBkyBBcv34da9asQWJiIgAUWyuke/fu2LVrF3x9fR98AIlMxCsJsgn16tVDQkICEhISjCaIIqKc\n+aFdu3ZFQkICbt++jbt376JBgwZo3bo1zp07h/3796N3796lPpOcnIxmzZoVe61oLMTPzw/u7u7w\n9fWFRqOBr68vLly4UOF2TZw4EWfPnsXChQuLFZ0ruqpp1KgR6tati/Hjx2P16tWoX7++YZvmzZtX\n6ruITMEkQXalQ4cOOHz4cLHXzp8/D0dHRzg6OqJ+/fpo164dli1bZrji6NmzJzZs2ICrV6/C29u7\nzP2WTDy1a9cGADg4OKBOnTqG1x0cHJCfn1/puJ999lnEx8cb4m3RogVq1qyJmjVrIi4uDkOHDsX6\n9evx+OOPF4vJFqofk21jkiC7MnLkSOzZs8dQDTcnJwevvfZasaU7e/XqhY8++giBgYEAgMDAQHz8\n8ceG5yW1atXKsJCLOZ09e9bw84YNGwxrYGzatAmDBg0CAGRnZyMzMxODBg3CwoULi90BlZqaCi8v\nL7PHRXQ/JgmyCcbWEdm+fTtatGhheBw9ehRr167Fu+++Cx8fH3Ts2BE9evTAK6+8Yvhc7969kZSU\nZEgKAQEBSElJKXM8omj7or/yy4qnZGwV/ev+008/hZ+fHwICAvDJJ59g+fLlAIDff//dcMVw69Yt\nhIaGwt/fH3369MGiRYsMn4+Li0OfPn0q9F1EpmKBP6IK6NevH3744YdSYxPmlpubiz59+iAuLq7c\n7W7evIng4GAcPHhQ0XiImCSIKmDjxo34888/i616Z02LFy+Gi4sLRo0aZe1QyM4xSRARkVEckyAi\nIqOYJIiIyCgmCSIiMopJgoiIjGKSICIio5gkiIjIqP8PGWNRyvJ14HwAAAAASUVORK5CYII=\n" + }, + { + "output_type": "stream", + "stream": "stdout", + "text": "Duty point(m^3/s) = 0.0066\nThe speed of the pump to reduce the flow by 25% = 986.974\n" + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 9.11,Page 257" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding head, rotational frequency, power\n\n#Varable Declaration\nQ =0.05; # m^3/ s\nv =2; # m/ s\nf =0.005;\nL_s =5; # m\nd =0.178; #m\ng =9.81; # m/ s ^2\nL_d =20; # m\np2 =1.5*10**5; # N/m^2\np1 =0.5*10**5; # N/m^2\nrho =1000; # kg /m^3\nz2 =15; # m\nz1 =5; # m\nN1 =1500.0/60; # rps\npi=3.14;\nQ =[0, 5, 10, 15, 20, 25];\nH =[9.25, 8.81, 7.85, 6.48, 4.81, 2.96];\nP=[- 0.96, 1.03, 1.19, 1.26, 1.45];\nn1 =[0, 45, 75, 800, 75, 50];\nH =27.96; #m\nH1 =6.48; #m\nQ1 =0.015; #m^3/ s\nQ =0.05; #m^3/ s\nD1 =0.15; #m\nn =0.80;\n\n#calculation\nd =(4* Q/ pi /v)**(0.5) ;\nH_f_s =4* f* L_s /d*v **2/2/ g;\nH_f_d =4* f* L_d /d*v **2/2/ g;\nH =1/(1 -0.25) *(( p2 -p1)/ rho /g + v **2/2/ g + z2 - z1 +H_f_s + H_f_d );\n# n=rho \u0003g\u0003Q\u0003H/P\nN=N1 *(H/H1) **(0.75) *( Q1/Q) **(0.5) ;\nD=D1 *(Q*N1/Q1/N)**(0.2) ;\nP= rho *g*Q*H/n;\n\n#result\nprint \" Differential Head (m) =\",round(H,3);\nprint \"impeller diameter (m)=\",round(D,3)\nprint \"The rotational speed at maximum efficiency (rps)=\",round(N,3)\nprint \"Power input to the pump (W)=\",round(P,3)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": " Differential Head (m) = 27.958\nimpeller diameter (m)= 0.173\nThe rotational speed at maximum efficiency (rps)= 40.992\nPower input to the pump (W)= 17141.964\n" + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 9.12,Page 259" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#finding suction speed\n\n#Variable Declaration\nN =2000.0/60; #rps\nQ =50.0/3600; #m^3/ s\ng =9.81; #m/ s ^2\nH =5.0; #m\n\n#Calculation\nS_n =N*Q **(0.5) /(g)**(0.75)/(H) **(0.75) ;\n\n#result\nprint \" Suction specific speed =\",round(S_n,3)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": " Suction specific speed = 0.212\n" + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 9.14,Page 264" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Finding Coeff. of Discharge and Power required\n\n# Variable Declaration\nA =0.01; #m^2\nL =0.3; # m\nN =60/60; # rps\nV_act =10.6/3600; # m^3/ s\nrho =1000; # kg /m^3\ng =9.81; # m/ s ^2\nQ =10.6/3600; # m^3/ s\nH =15; # m\n\n#calculation\nV=A*L*N;\nCd= V_act /V;\nP= rho *g*Q*H;\n\n#result\nprint \" Coeff. of Discharge =\",round(Cd,2)\nprint \"The power required (W)=\",round(P,3)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": " Coeff. of Discharge = 0.98\nThe power required (W)= 433.275\n" + } + ], + "prompt_number": 9 + }, + { + "cell_type": "code", + "collapsed": false, + "input": "", + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +} \ No newline at end of file diff --git a/Fluid_Mechanics_-_Worked_Examples_For_Engineers/README.txt b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/README.txt new file mode 100644 index 00000000..b57e0716 --- /dev/null +++ b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/README.txt @@ -0,0 +1,10 @@ +Contributed By: Avik Das +Course: btech +College/Institute/Organization: Indian Institute of Engineering Bombay +Department/Designation: Civil engineering +Book Title: Fluid Mechanics - Worked Examples For Engineers +Author: C. Schaschke +Publisher: Warwickshire, U. K. +Year of publication: 2000 +Isbn: 0852954050 +Edition: 1st \ No newline at end of file diff --git a/Fluid_Mechanics_-_Worked_Examples_For_Engineers/screenshots/depth-flowrate.png b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/screenshots/depth-flowrate.png new file mode 100644 index 00000000..e85b8097 Binary files /dev/null and b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/screenshots/depth-flowrate.png differ diff --git a/Fluid_Mechanics_-_Worked_Examples_For_Engineers/screenshots/depthvsflow.png b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/screenshots/depthvsflow.png new file mode 100644 index 00000000..1d38c57b Binary files /dev/null and b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/screenshots/depthvsflow.png differ diff --git a/Fluid_Mechanics_-_Worked_Examples_For_Engineers/screenshots/flowrate.png b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/screenshots/flowrate.png new file mode 100644 index 00000000..d575416e Binary files /dev/null and b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/screenshots/flowrate.png differ diff --git a/Fluid_Mechanics_-_Worked_Examples_For_Engineers/screenshots/rateofflowandvlo.png b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/screenshots/rateofflowandvlo.png new file mode 100644 index 00000000..61d23fcb Binary files /dev/null and b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/screenshots/rateofflowandvlo.png differ diff --git a/Fluid_Mechanics_-_Worked_Examples_For_Engineers/screenshots/system&pump.png b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/screenshots/system&pump.png new file mode 100644 index 00000000..cd02ffae Binary files /dev/null and b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/screenshots/system&pump.png differ diff --git a/Fluid_Mechanics_-_Worked_Examples_For_Engineers/screenshots/system&pump_1.png b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/screenshots/system&pump_1.png new file mode 100644 index 00000000..8c8fb178 Binary files /dev/null and b/Fluid_Mechanics_-_Worked_Examples_For_Engineers/screenshots/system&pump_1.png differ -- cgit