summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xElementary_Principles_of_Chemical_Processes/Chapter11.ipynb155
-rwxr-xr-xElementary_Principles_of_Chemical_Processes/Chapter2.ipynb501
-rwxr-xr-xElementary_Principles_of_Chemical_Processes/Chapter3.ipynb835
-rwxr-xr-xElementary_Principles_of_Chemical_Processes/Chapter4.ipynb1771
-rwxr-xr-xElementary_Principles_of_Chemical_Processes/Chapter5.ipynb807
-rwxr-xr-xElementary_Principles_of_Chemical_Processes/Chapter6.ipynb1137
-rwxr-xr-xElementary_Principles_of_Chemical_Processes/Chapter7.ipynb893
-rwxr-xr-xElementary_Principles_of_Chemical_Processes/Chapter8.ipynb1053
-rwxr-xr-xElementary_Principles_of_Chemical_Processes/Chapter9.ipynb822
-rwxr-xr-xElementary_Principles_of_Chemical_Processes/README.txt10
-rwxr-xr-xElementary_Principles_of_Chemical_Processes/screenshots/dev.pngbin0 -> 80892 bytes
-rwxr-xr-xElementary_Principles_of_Chemical_Processes/screenshots/mbtT.pngbin0 -> 19516 bytes
-rwxr-xr-xElementary_Principles_of_Chemical_Processes/screenshots/vbyl.pngbin0 -> 15350 bytes
-rwxr-xr-xElements_Of_Mass_Transfer_Part_1/README.txt10
-rwxr-xr-xElements_Of_Mass_Transfer_Part_1/ch2.ipynb1576
-rwxr-xr-xElements_Of_Mass_Transfer_Part_1/ch3.ipynb596
-rwxr-xr-xElements_Of_Mass_Transfer_Part_1/ch5.ipynb983
-rwxr-xr-xElements_Of_Mass_Transfer_Part_1/ch6.ipynb1212
-rwxr-xr-xElements_Of_Mass_Transfer_Part_1/ch7.ipynb698
-rwxr-xr-xElements_Of_Mass_Transfer_Part_1/screenshots/dry-time.pngbin0 -> 45352 bytes
-rwxr-xr-xElements_Of_Mass_Transfer_Part_1/screenshots/enthalpy.pngbin0 -> 34749 bytes
-rwxr-xr-xElements_Of_Mass_Transfer_Part_1/screenshots/tower.pngbin0 -> 20201 bytes
-rwxr-xr-xEngineering_Physics_Vijaya/README.txt10
-rwxr-xr-xEngineering_Physics_Vijaya/chapter1_2.ipynb1232
-rwxr-xr-xEngineering_Physics_Vijaya/chapter2_2.ipynb813
-rwxr-xr-xEngineering_Physics_Vijaya/chapter4_2.ipynb756
-rwxr-xr-xEngineering_Physics_Vijaya/chapter5_2.ipynb639
-rwxr-xr-xEngineering_Physics_Vijaya/chapter6_2.ipynb238
-rwxr-xr-xEngineering_Physics_Vijaya/chapter7_2.ipynb1514
-rwxr-xr-xEngineering_Physics_Vijaya/chapter8_2.ipynb253
-rwxr-xr-xEngineering_Physics_Vijaya/screenshots/Capture1.pngbin0 -> 18748 bytes
-rwxr-xr-xEngineering_Physics_Vijaya/screenshots/Capture2.pngbin0 -> 32269 bytes
-rwxr-xr-xEngineering_Physics_Vijaya/screenshots/Untitled.pngbin0 -> 25698 bytes
-rwxr-xr-xEngineering_Physics_Vijaya/screenshots/Untitled1.pngbin0 -> 23371 bytes
-rwxr-xr-xEngineering_Physics_Vijaya/screenshots/Untitled3.pngbin0 -> 40962 bytes
-rwxr-xr-xEngineering_Physics_Vijaya/screenshots/Untitled_1.pngbin0 -> 87075 bytes
-rwxr-xr-xEngineering_Physics_Vijaya/screenshots/Untitled_2.pngbin0 -> 87075 bytes
-rwxr-xr-xEngineering_Physics_Vijaya/screenshots/capture.pngbin0 -> 19889 bytes
-rwxr-xr-xEngineering_Physics_Vijaya/screenshots/screenshot1.PNGbin0 -> 33329 bytes
-rwxr-xr-xEngineering_Physics_Vijaya/screenshots/screenshot1.pngbin0 -> 18000054 bytes
-rwxr-xr-xEngineering_Physics_Vijaya/screenshots/screenshot2.PNGbin0 -> 31796 bytes
-rwxr-xr-xEngineering_Physics_Vijaya/screenshots/screenshot2.pngbin0 -> 18000054 bytes
-rwxr-xr-xEngineering_Physics_Vijaya/screenshots/screenshot3.PNGbin0 -> 19782 bytes
-rwxr-xr-xEngineering_Physics_Vijaya/screenshots/screenshot3.pngbin0 -> 18000054 bytes
-rwxr-xr-xEngineering_Physics_Vijaya/screenshots/shot1.PNGbin0 -> 43717 bytes
-rwxr-xr-xEngineering_Physics_Vijaya/screenshots/shot2.PNGbin0 -> 41477 bytes
-rwxr-xr-xEngineering_Physics_Vijaya/screenshots/shot3.PNGbin0 -> 35802 bytes
47 files changed, 18514 insertions, 0 deletions
diff --git a/Elementary_Principles_of_Chemical_Processes/Chapter11.ipynb b/Elementary_Principles_of_Chemical_Processes/Chapter11.ipynb
new file mode 100755
index 00000000..bec15476
--- /dev/null
+++ b/Elementary_Principles_of_Chemical_Processes/Chapter11.ipynb
@@ -0,0 +1,155 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:9a8a7685dfe3ac94231d04568a5fa2ca80f262b83285bc314eef1bc912a7ecc6"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 11: Balances on Transient Processes"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.1-2, page no. 547"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "v0=math.pow(10.,9)\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "def dv(t):\n",
+ " dv=math.pow(10,6)*math.exp(-t/100) -math.pow(10,7)\n",
+ " return dv\n",
+ "\n",
+ "vol, err=scipy.integrate.quad(dv,0,60) #integrate.quad is an inbult function used for definite integration\n",
+ "print '%s %.3E' %(\" \\n Volume at the end of 60 days=\",vol+v0)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ " \n",
+ " Volume at the end of 60 days= 4.451E+08\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 1,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.3-1, page no. 556"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "m1=1.50 #kg\n",
+ "m2=3.0 #kg\n",
+ "Cv1=0.9 #cal/g C\n",
+ "Cv2=0.12 #cal/g C\n",
+ "Qdot=500.0 #W\n",
+ "T1=250.0 #C\n",
+ "T2=25.0 #C\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "MCv=(m1*Cv1 + m2*Cv2)*1000*4.184\n",
+ "print(MCv)\n",
+ "tf=(T1-T2)*MCv/Qdot\n",
+ "print '%s %d %s %.3f' %(\" \\n Time required\",tf+1,\" in sec and in min =\",tf/60)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "7154.64\n",
+ " \n",
+ " Time required 3220 in sec and in min = 53.660\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 2,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Elementary_Principles_of_Chemical_Processes/Chapter2.ipynb b/Elementary_Principles_of_Chemical_Processes/Chapter2.ipynb
new file mode 100755
index 00000000..6f35a4a4
--- /dev/null
+++ b/Elementary_Principles_of_Chemical_Processes/Chapter2.ipynb
@@ -0,0 +1,501 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:1e57dcb73985a42b8c9ee1409e50d4315b6a10f8a73cdae8a91714580c2fe346"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 2: Introduction to Engineering Calculations"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2-1, page no. 10"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "AcclInitial=1.0 #cm/s^2\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "AcclFinal=AcclInitial*math.pow(3600*24*365,2)/math.pow(10,5)\n",
+ "#the calculations involved are the conversion factors\n",
+ "print '%s %.3E' %(\" \\n final acceleration (Km/Yr^2) = \",AcclFinal)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ " \n",
+ " final acceleration (Km/Yr^2) = 9.945E+09\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 2,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.3-1, page no. 11"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "Initial=23.0 #lb.ft/min^2\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "Final=Initial*0.453593*100/(3.281*60*60)\n",
+ "#the calculations involved are conversion factors\n",
+ "print '%s %.4f' %(\"final (kg.cm/s^2) = \",Final)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "final (kg.cm/s^2) = 0.0883\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 4,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.4-1, page no. 13"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "density=62.4 #lbm/ft^3\n",
+ "volume=2.0 #ft^3\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "mass=volume*density\n",
+ "print '%s %.3f' %(\"mass of the water = volume x density(lbm) = \",mass)\n",
+ "print(\" \\n At sealevel, g=32.174 ft/s^2\")\n",
+ "g=32.174\n",
+ "weight=mass*g/32.174\n",
+ "print '%s %.3f' %(\" \\n weight at sealevel (lbf) = \",weight)\n",
+ "print(\" \\n At denver, g=32.139 ft/s^2\")\n",
+ "g=32.139\n",
+ "weight=mass*g/32.174\n",
+ "print '%s %.3f' %(\"\\n weight at denver (lbf) = \",weight)\n",
+ "#the division with 32.174 is to convert lbm.math.pow(ft/s,2) to lbf\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "mass of the water = volume x density(lbm) = 124.800\n",
+ " \n",
+ " At sealevel, g=32.174 ft/s^2\n",
+ " \n",
+ " weight at sealevel (lbf) = 124.800\n",
+ " \n",
+ " At denver, g=32.139 ft/s^2\n",
+ "\n",
+ " weight at denver (lbf) = 124.664\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 7,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.5-2, page no. 19"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ " \n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "#the badbatches per week are taken as elements of a vector y\n",
+ "\n",
+ "y=[17, 27, 18, 18, 23, 19, 18, 21, 20, 19, 21, 18]\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "#Here We used standard library functions mean and st_deviation\n",
+ "ybar=numpy.mean(y)\n",
+ "sy=numpy.std(y)\n",
+ "defaultvalue=ybar+3*sy+1\n",
+ "print '%s %d' %(\"the maximum allowed value of y i.e. bad batches in a week is \", defaultvalue+1)\n",
+ "print(\" \\n in case of 2 standard deviations\")\n",
+ "defaultvalue=ybar+2*sy+1\n",
+ "print '%s %d' %(\"the limiting value of y i.e. bad batches in a week is \",defaultvalue)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "the maximum allowed value of y i.e. bad batches in a week is 29\n",
+ " \n",
+ " in case of 2 standard deviations\n",
+ "the limiting value of y i.e. bad batches in a week is 26\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 3,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.7-1, page no. 24"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "from matplotlib import pyplot\n",
+ "%pylab inline\n",
+ "x=numpy.array([10., 30., 50., 70., 90.])\n",
+ "y=numpy.array([20., 52.1, 84.6, 118.3, 151.0])\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "#this program uses least squares fit to solve for slope and intercept.\n",
+ "#hence the value differs from textbook a bit.\n",
+ "sx=sum(x)\n",
+ "sx2=sum(x*x)\n",
+ "sy=sum(y)\n",
+ "D=numpy.transpose(y)\n",
+ "sxy=sum(x*D)\n",
+ "n=len(x)\n",
+ "A=([[sx,n],[sx2,sx]])\n",
+ "B=([[sy],[sxy]])\n",
+ "p=numpy.dot(linalg.inv(A),B)\n",
+ "m=p[0,0]\n",
+ "b=p[1,0]\n",
+ "yf=m*x+b\n",
+ "pyplot.plot(x,yf)\n",
+ "pyplot.xlim(min(x)-1,max(x)+1)\n",
+ "pyplot.ylim(min(yf)-1,max(yf)+1)\n",
+ "pyplot.xlabel('R')\n",
+ "pyplot.ylabel('V')\n",
+ "pyplot.show()\n",
+ "print(\"in case 2, R=36\")\n",
+ "R=36\n",
+ "V=m*R+b\n",
+ "print '%s %.3f' %(\"then V (L/min) =\",V),\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " Populating the interactive namespace from numpy and matplotlib\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x2da0750>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "in case 2, R=36\n",
+ "then V (L/min) = 62.226\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.7-2, page no. 26"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "from matplotlib import pyplot\n",
+ "%pylab inline\n",
+ "\n",
+ "T=[10., 20., 40., 80.]\n",
+ "M=[14.76, 20.14, 27.73, 38.47]\n",
+ "sqrtT=numpy.sqrt(T)\n",
+ "\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "sx=sum(sqrtT)\n",
+ "sx2=sum(T)\n",
+ "sy=sum(M)\n",
+ "D=numpy.transpose(M)\n",
+ "sxy=sum(sqrtT*D)\n",
+ "n=len(T)\n",
+ "A=([[sx,n],[sx2,sx]]) \n",
+ "B=([[sy],[sxy]])\n",
+ "p=numpy.dot(linalg.inv(A),B)\n",
+ "a=p[0,0]\n",
+ "b=p[1,0]\n",
+ "yf=a*sqrtT+b\n",
+ "x=sqrtT\n",
+ "pyplot.plot(x,yf)\n",
+ "pyplot.xlim(min(x)-1,max(x)+1)\n",
+ "pyplot.ylim(min(yf)-1,max(yf)+1)\n",
+ "pyplot.xlabel('sqrtT')\n",
+ "pyplot.ylabel('M')\n",
+ "pyplot.show()\n",
+ "print '%s %.3f' %(\"slope (g/s*K^.5) =\",a)\n",
+ "print '%s %.3f' %(\"\\n intercept (g/s) =\",b)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Populating the interactive namespace from numpy and matplotlib\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nc801vPfee7ZjFSs7O7to58Xx48dJTEz02espGzduTL169di+fTtgZuG+/i/6rFmzip4x+KrLLruM\ntLQ0cnJycByHFStWcNlll9mOVaLMzEwAfvrpJ+bMmcOAAQMsJzp7VWwH8GUHDhwgLi4Ox3HIzc1l\n8ODB9O7d23asM+JyuWxHKFF6ejr9+vXD5XKRnZ3NwIED6du3r+1YJZo+fTpDhgwpeojoq+MGMP/x\nXLFiBW+++abtKKVq164dMTExREVFUalSJdxuN/fcc4/tWCXq378/R44coWrVqkyZMsWnN2qURMcl\niIgEAY1xRESCgMpeRCQIqOxFRIKAyl5EJAio7EVEgoDKXkQkCKjsRcro66+/ZtmyZQC88847RUcL\nV6tWrej45ieffNJyShFD++xFyqCgoID333+fTZs28fLLL5/ya82aNWPTpk2EhIRYSifyR3qDVoLa\nkSNHGDhwIPv376ewsJC///3vVK9enYcffpiQkBA6dOjArl27WLRoEQkJCezcuZO9e/dy8cUXs3bt\nWnJyclizZg1PPPEEsbGxtv9xREqkspeglpiYSNOmTVm6dCkAR48eJSIigtTUVJo2bcrgwYNPOXri\nu+++IzU1lSpVqvDuu++yadMmn74NSuQ/NLOXoOZ2u/n00095/PHHSUlJ4V//+hcRERE0bdoUgEGD\nBhUdGe1yuejbty9Vqpg1kuM4fnGctAio7CXIXX755WzatInIyEhGjhxJYmLiKb/++zI///zzi37s\ny4fNifyexjgS1H766SdCQkIYMmQIderUYeLEiezYsYM9e/bQpEkTPvzww6JS/33x16hRw6cvyRb5\nLa3sJaht2bKFq666irZt2zJ69GjGjBnD66+/To8ePejQoQNhYWGnjHF+u5qPjo5m06ZNXHnllcyZ\nM6fo81rxiy/S1kuRUiQnJ/Piiy/65QXTIr+llb3IaWilLoFAK3sRkSCglb2ISBBQ2YuIBAGVvYhI\nEFDZi4gEAZW9iEgQUNmLiASB/wN8FSViNpJblAAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x2d9a8d0>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "slope (g/s*K^.5) = 4.100\n",
+ "\n",
+ " intercept (g/s) = 1.798\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.7-3, page no. 29"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initilization of variables\n",
+ "#Units are not mentioned in this example\n",
+ "import math\n",
+ "t1=15.\n",
+ "t2=30.\n",
+ "F1=0.298\n",
+ "F2=0.0527\n",
+ "#Calculations and printing:\n",
+ "print(\"Semi-log plot\")\n",
+ "b1=(math.log(F2/F1))/(t2-t1)\n",
+ "a1=math.exp(math.log(F1) -b1*t1)\n",
+ "print '%s %.3f %s %.4f %s' %(\" \\n F=\",a1,\"exp(\",b1,\"t)\")\n",
+ "print(\"\\n Log plot\")\n",
+ "b2=(math.log(F2/F1))/(math.log(t2/t1))\n",
+ "a2=math.exp(math.log(F1) -b2*math.log(t1))\n",
+ "print '%s %.1f %s %.1f %s' %(\" \\n F=\",a2,\"exp(\",b2,\"t)\")\n",
+ "raw_input(\"Press the Enter key to quit\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Semi-log plot\n",
+ " \n",
+ " F= 1.685 exp( -0.1155 t)\n",
+ "\n",
+ " Log plot\n",
+ " \n",
+ " F= 259.3 exp( -2.5 t)\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Press the Enter key to quit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 15,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Elementary_Principles_of_Chemical_Processes/Chapter3.ipynb b/Elementary_Principles_of_Chemical_Processes/Chapter3.ipynb
new file mode 100755
index 00000000..c4f34658
--- /dev/null
+++ b/Elementary_Principles_of_Chemical_Processes/Chapter3.ipynb
@@ -0,0 +1,835 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:9d66b3fe8b5c5765d2f891791ade4779b402bd1eb1946b5f370c5174c61892cb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 3: Processes and Process Variables"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.1-1, page no. 44"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "mass=215.0 #kg\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "density=13.546*62.43\n",
+ "print '%s %.2f' %(\"density of mercury (lbm/ft^3) = \",density)\n",
+ "#the multiplication factor is to convert density from gm/cc to lbm/ft^3.\n",
+ "volume=mass/(.454*density) #ft^3\n",
+ "#the division by 0.454 is to convert mass in kg to lbm.\n",
+ "print '%s %.2f %s %.2f' %(\" \\n The volume of \",mass,\"kg of mercury is(ft^3) = \",volume)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "density of mercury (lbm/ft^3) = 845.68\n",
+ " \n",
+ " The volume of 215.00 kg of mercury is(ft^3) = 0.56\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 1,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.1-2, page no. 45"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "T1=20.0 # \u02daC\n",
+ "T2=100.0 # \u02daC\n",
+ "Vat20=0.560 #ft^3\n",
+ "D=0.0208333 #ft\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\"we know that V(T)=Vo[1+0.math.pow(18182x10,()-3)xT +0.math.pow(0078x10,()-6)xTxT]\")\n",
+ "Vat0=Vat20/(1+0.18182*math.pow(10,-3)*T1 +0.0078*math.pow(10,-6)*T1*T1)\n",
+ "#the function is defined with the variable as temperature\n",
+ "def volume(T):\n",
+ " volume=Vat0*(1+0.18182* math.pow(10,-3) *T +0.0078* math.pow(10,-6) *T*T)\n",
+ " return volume\n",
+ "\n",
+ "print '%s %.3f' %(\" vat20 (ft^3) = \",volume(T1))\n",
+ "print '%s %.3f' %(\" \\n vat100 (ft^3) =\",volume(T2))\n",
+ "change=((volume(T2))-(volume(T1)))*4/(math.pi*D*D)\n",
+ "print '%s %.3f' %(\" \\n change in the height of mercury level (ft) = \",change)\n",
+ "#the answer is a bit different due to rounding off of volume(T2) in textbook\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "we know that V(T)=Vo[1+0.math.pow(18182x10,()-3)xT +0.math.pow(0078x10,()-6)xTxT]\n",
+ " vat20 (ft^3) = 0.560\n",
+ " \n",
+ " vat100 (ft^3) = 0.568\n",
+ " \n",
+ " change in the height of mercury level (ft) = 23.931\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 2,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3-1, page no. 48"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "mass=100.0 #g of CO2\n",
+ "M=44.01 #molecular weight\n",
+ "\n",
+ "#Calculations and print '%s %.3f' %ing :\n",
+ "\n",
+ "moles=mass/M\n",
+ "print '%s %.3f' %(\"\\n no.of moles=\",moles)\n",
+ "lbmole=moles/453.6\n",
+ "print '%s %.3f' %(\"\\n no.of lb moles=\",lbmole)\n",
+ "Cmoles=moles\n",
+ "print '%s %.3f' %(\"\\n no.of moles of carbon=\",Cmoles)\n",
+ "Omoles=2*moles\n",
+ "print '%s %.3f' %(\"\\n no.of moles of oxygen=\",Omoles)\n",
+ "O2moles=moles\n",
+ "print '%s %.3f' %(\"\\n no.of moles of dioxygen=\",O2moles)\n",
+ "gramsO=Omoles*16\n",
+ "print '%s %.3f' %(\"\\n no.of grams of oxygen=\",gramsO)\n",
+ "gramsO2=O2moles*32\n",
+ "print '%s %.3f' %(\"\\n no.of grams of oxygen=\",gramsO2)\n",
+ "moleculesCO2=moles*6.02*math.pow(10,(23))\n",
+ "print '%s %.3E' %(\"\\n no.of molecules of CO2 =\",moleculesCO2)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " no.of moles= 2.272\n",
+ "\n",
+ " no.of lb moles= 0.005\n",
+ "\n",
+ " no.of moles of carbon= 2.272\n",
+ "\n",
+ " no.of moles of oxygen= 4.544\n",
+ "\n",
+ " no.of moles of dioxygen= 2.272\n",
+ "\n",
+ " no.of grams of oxygen= 72.711\n",
+ "\n",
+ " no.of grams of oxygen= 72.711\n",
+ "\n",
+ " no.of molecules of CO2 = 1.368E+24\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 3,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3-2, page no. 50"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "xA=0.15 #mass fraction\n",
+ "yB=0.20 #mole fraction\n",
+ "mass=175.0 #kg of solution\n",
+ "flowrate1=53.0 #lbm/h\n",
+ "flowrate2=1000.0 #mol/min\n",
+ "massofA=300.0 #lbm\n",
+ "molarB=28.0 #kmolB/s\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "massA=mass*xA\n",
+ "print '%s %d %s %.3f'%(\" \\n Mass of A in\",mass,\" kg of solution (kg A) =\",massA)\n",
+ "flowrateA=flowrate1*xA\n",
+ "print '%s %d %s %.3f'%(\" \\n Mass flow rate of A in a stream flowing at\",flowrate1,\" lbm/h (lbm A/h)=\",flowrateA )\n",
+ "flowrateB=flowrate2*yB\n",
+ "print '%s %d %s %.3f'%(\" \\n Molar flowrate of B in a stream flowing at\",flowrate2,\" mol/min (molB/min)= \",flowrateB)\n",
+ "Totalflowrate=molarB/yB\n",
+ "print '%s %d %s %.3f'%(\" \\n Total flow rate of a solution with\",molarB,\"kmolB/s=\",Totalflowrate)\n",
+ "MassSolution=massofA/xA\n",
+ "print '%s %d %s %.3f'%(\" \\n Mass of solution that contains\",massofA,\" lbm of A =\",MassSolution)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " \n",
+ " Mass of A in 175 kg of solution (kg A) = 26.250\n",
+ " \n",
+ " Mass flow rate of A in a stream flowing at 53 lbm/h (lbm A/h)= 7.950\n",
+ " \n",
+ " Molar flowrate of B in a stream flowing at 1000 mol/min (molB/min)= 200.000\n",
+ " \n",
+ " Total flow rate of a solution with 28 kmolB/s= 140.000\n",
+ " \n",
+ " Mass of solution that contains 300 lbm of A = 2000.000\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 4,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3-3, page no. 50"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "#let the total mass be 100\n",
+ "massO2=16.0\n",
+ "massCO=4.0\n",
+ "massCO2=17.0\n",
+ "massN2=63.0\n",
+ "MO2=32.0\n",
+ "MCO=28.0\n",
+ "MCO2=44.0\n",
+ "MN2=28.0\n",
+ "\n",
+ "#Calculations and print '%s %.3f' %ing :\n",
+ "\n",
+ "molO2=massO2/MO2\n",
+ "molCO=massCO/MCO\n",
+ "molCO2=massCO2/MCO2\n",
+ "molN2=massN2/MN2\n",
+ "TotalMol=molO2+molCO+molCO2+molN2\n",
+ "print '%s %.3f' %(\" \\n molefraction of O2=\",molO2/TotalMol)\n",
+ "print '%s %.3f' %(\" \\n molefraction of CO=\",molCO/TotalMol)\n",
+ "print '%s %.3f' %(\" \\n molefraction of CO2=\",molCO2/TotalMol)\n",
+ "print '%s %.3f' %(\" \\n molefraction of N2=\",molN2/TotalMol)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " \n",
+ " molefraction of O2= 0.152\n",
+ " \n",
+ " molefraction of CO= 0.044\n",
+ " \n",
+ " molefraction of CO2= 0.118\n",
+ " \n",
+ " molefraction of N2= 0.686\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 5,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3-4, page no. 51"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "yN2=0.79\n",
+ "MN2=28.0 #g/mol\n",
+ "MO2=32.0 g/mol\n",
+ "xN2=0.767\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "Mbar=yN2*MN2+(1-yN2)*MO2\n",
+ "print '%s %.3f' %(\" \\n average molecular weight of air from molar composition (g/mol) = \",Mbar)\n",
+ "InvMbar=xN2/28 + (1-xN2)/32\n",
+ "print '%s %.3f' %(\" \\n average molecular weight of air from mass composition (g/mol) = \",1./InvMbar)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " \n",
+ " average molecular weight of air from molar composition (g/mol) = 28.840\n",
+ " \n",
+ " average molecular weight of air from mass composition (g/mol) = 28.840\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 6,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3-5, page no. 52"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "conc=0.5 #molar\n",
+ "rate=1.25 #m^3/min\n",
+ "D=1.03 #no units\n",
+ "M=98.0\n",
+ "\n",
+ "#Calculations and print '%s %.3f' %ing :\n",
+ "\n",
+ "mass_conc=conc*98.\n",
+ "print '%s %.3f' %(\"mass concentration of sulfuric acid (kg/m^3) = \",mass_conc)\n",
+ "mass_flowrate=rate*mass_conc/60.\n",
+ "print '%s %.3f' %(\" \\n Mass flow rate of sulfuric acid (kg/s) = \",mass_flowrate)\n",
+ "massfraction=1/(rate*D*1000/60)\n",
+ "print '%s %.3f' %(\" \\n Mass fraction of sulfuric acid=\",massfraction)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "mass concentration of sulfuric acid (kg/m^3) = 49.000\n",
+ " \n",
+ " Mass flow rate of sulfuric acid (kg/s) = 1.021\n",
+ " \n",
+ " Mass fraction of sulfuric acid= 0.047\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 8,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.4-1, page no. 55"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "Pressure=2.00*100000. #Pa\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "Pressure=Pressure*1000./(13600.*9.807)\n",
+ "print '%s %.3E' %(\"Pressure (mm of Hg) = \",Pressure)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Pressure (mm of Hg) = 1.500E+03\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 9,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.4-2, page no. 55"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "P0=10.4*1.013*100000. /10.33 #m H2O\n",
+ "D=1000.0 #kg/m^3\n",
+ "g=9.807 #m/s^2\n",
+ "h=30.0 #m\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "Ph=P0+D*g*h\n",
+ "print '%s %.3E' %(\"Pressure at the bottom of the lake (N/m^2) = \",Ph)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Pressure at the bottom of the lake (N/m^2) = 3.962E+05\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 12,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.4-3, page no. 59"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initilization of variables\n",
+ "import math\n",
+ "spg=1.05\n",
+ "h1=382. #mm of fluid\n",
+ "h2=374. #mm of fluid\n",
+ "reading= -2 #in of Hg\n",
+ "Patm=30. #in of Hg\n",
+ "#Calculations and printing:\n",
+ "deltaP=(spg-1)*980.7*(h1-h2)/10.\n",
+ "print '%s %.1f' %(\"Pressure drop between points 1 and 2 (dynes/cm^2) = \",deltaP)\n",
+ "P1=Patm+reading\n",
+ "print '%s %.1f' %(\"\\n Absolute Pressure (in Hg) = \",P1)\n",
+ "raw_input(\"Press the Enter key to quit\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Pressure drop between points 1 and 2 (dynes/cm^2) = 39.2\n",
+ "\n",
+ " Absolute Pressure (in Hg) = 28.0\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Press the Enter key to quit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 13,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.5-2, page no. 62"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "T1=20.0 #F\n",
+ "T2=80.0 #F\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "#In this code I used a function to achieve the conversion\n",
+ "def conversion(fahrenheit):\n",
+ " conversion=(fahrenheit-32)/1.8\n",
+ " return conversion;\n",
+ "\n",
+ "difference=conversion(T2)-conversion(T1)\n",
+ "print '%s %.2f %s %.2f' %(\"Equivalent temperature of\",T2-T1,\" temperature in C =\",difference)\n",
+ "deltaTF=T2-T1\n",
+ "deltaTC=deltaTF/1.8\n",
+ "print '%s %.2f' %(\" \\n By second method, result=\",deltaTC)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Equivalent temperature of 60.00 temperature in C = 33.33\n",
+ " \n",
+ " By second method, result= 33.33\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 14,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.5-3, page no. 63"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initilization of variables\n",
+ "import math\n",
+ "a=0.487\n",
+ "b=2.29*math.pow(10, -4)\n",
+ "print '%s %.2f %s %.1E %s' %(\"Given Cp(Btu/lbm.F) = \",a,\"+\",b,\"T (F)\")\n",
+ "print(\"\\n Step 1\")\n",
+ "af1=a+b*32\n",
+ "bf1=b*1.8\n",
+ "print(\"\\n Step 2\")\n",
+ "af2=af1*1.8/(454*9.486*math.pow(10, -4))\n",
+ "bf2=bf1*1.8/(454*9.486*math.pow(10, -4))\n",
+ "print '%s %.2f %s %.1E %s' %(\"Final Cp(J/g.C) = \",af2,\"+\",bf2,\"T (C)\")\n",
+ "raw_input(\"Press the Enter key to quit\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Given Cp(Btu/lbm.F) = 0.49 + 2.3E-04 T (F)\n",
+ "\n",
+ " Step 1\n",
+ "\n",
+ " Step 2\n",
+ "Final Cp(J/g.C) = 2.07 + 1.7E-03 T (C)\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Press the Enter key to quit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 15,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Elementary_Principles_of_Chemical_Processes/Chapter4.ipynb b/Elementary_Principles_of_Chemical_Processes/Chapter4.ipynb
new file mode 100755
index 00000000..0ee3fbef
--- /dev/null
+++ b/Elementary_Principles_of_Chemical_Processes/Chapter4.ipynb
@@ -0,0 +1,1771 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:cf9c0d91c794ab27af5e7da425a28b836daf2f988940f28c4a10f4b42bda95d5"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 4: Fundamentals of Material Balances"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.2-1, page no. 85"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "input=50000 #ppl/yr\n",
+ "generation=22000 #ppl/yr\n",
+ "consumption=19000 #ppl/yr\n",
+ "output=75000 #ppl/yr\n",
+ "print (\"All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "#Calculations and printing:\n",
+ "accumulation = input+generation-output-consumption\n",
+ "print (\" We know that accumulation=input+generation-output-consumption\")\n",
+ "print '%s %d %s' %('Hence, Each year population decreases by', -accumulation, 'people')\n",
+ "raw_input(\"Press the Enter key to quit\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ " We know that accumulation=input+generation-output-consumption\n",
+ "Hence, Each year population decreases by 22000 people\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Press the Enter key to quit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 1,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.2-2, page no. 86"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initilization of variables\n",
+ "inputBenzene=500 #kg/h\n",
+ "inputToluene=500 #kg/h\n",
+ "UpStreamBenzene=450 #kg/h\n",
+ "DownStreamToluene=475 #kg/h\n",
+ "#Calculations and printing:\n",
+ "print(\"All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "print(\"Using benzene balance,\")\n",
+ "m2dot=inputBenzene-UpStreamBenzene\n",
+ "print ' %s %d %s' %(' m2dot= ', m2dot, ' kg B/h')\n",
+ "print(\"Using Toluene balance\")\n",
+ "m1dot=inputToluene-DownStreamToluene\n",
+ "print ' %s %d %s' %(' m1dot= ', m1dot, ' kg T/h')\n",
+ "print(\"To check we can perform Overall mass balance\")\n",
+ "raw_input(\"Press the Enter key to quit\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "Using benzene balance,\n",
+ " m2dot= 50 kg B/h\n",
+ "Using Toluene balance\n",
+ " m1dot= 25 kg T/h\n",
+ "To check we can perform Overall mass balance\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Press the Enter key to quit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 2,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.2-3, page no. 87"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "m1=200 #g\n",
+ "m2=150 #g\n",
+ "x1=0.4 #methanol/g\n",
+ "x2=0.7 #methanol/g\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "m=m1+m2\n",
+ "print '%s %d %s' %(' Total mass after mixing m=',m, 'g',)\n",
+ "x=(m1*x1 + m2*x2)/m\n",
+ "print'%s %.2f %s %.2f' %(' The composition of the methanol in the product is', x ,' and water is', 1-x)\n",
+ "raw_input(\"Press the Enter key to quit\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ " Total mass after mixing m= 350 g\n",
+ " The composition of the methanol in the product is 0.53 and water is 0.47\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Press the Enter key to quit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 3,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.2-4, page no. 88"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initilization of variables\n",
+ "rate=0.1 #kmol/min\n",
+ "x1=0.1 #mole fraction hexane vapour\n",
+ "vol=10 #m^3\n",
+ "d=0.659 #kg/L\n",
+ "M=86.2 #Kg/kmol\n",
+ "#Calculations and printing:\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "ndot=rate/(1-x1)\n",
+ "deltaN= -vol*d*1000 /M\n",
+ "tf=deltaN/(-0.1 * ndot)\n",
+ "print '%s %.2f %s' %(' The time Required for the Total process= ',tf, 'min')\n",
+ "raw_input(\"Press the Enter key to quit\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ " The time Required for the Total process= 6880.51 min\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Press the Enter key to quit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 5,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.3-1, page no. 92"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initilization of variables\n",
+ "Vdot=20 #CC/min\n",
+ "x=0.015\n",
+ "MH2O=18.02 #g\n",
+ "DH2O=1 #g/CC\n",
+ "x1=0.2\n",
+ "#Calculations and printing:\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "n2=Vdot*DH2O/MH2O\n",
+ "print'%s %.2f %s' %('n2=', n2, ' mol/min')\n",
+ "print(\"Using Water Balance,\")\n",
+ "n3=n2/x\n",
+ "print'%s %.2f %s' %('n3=', n3, ' mol/min')\n",
+ "print(\"Using total mole balance,\")\n",
+ "n1=(n3-n2)/(1+x1)\n",
+ "print'%s %.2f %s' %('n1=', n1, ' mol/min')\n",
+ "print(\"Using N2 balance,\")\n",
+ "y=1-x-0.79*n1/n3\n",
+ "print '%s %.2f %s' %('y=',y,' mol O2/mol')\n",
+ "raw_input(\"Press the Enter key to quit\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "n2= 1.11 mol/min\n",
+ "Using Water Balance,\n",
+ "n3= 73.99 mol/min\n",
+ "Using total mole balance,\n",
+ "n1= 60.73 mol/min\n",
+ "Using N2 balance,\n",
+ "y= 0.34 mol O2/mol\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Press the Enter key to quit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 6,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.3-2, page no. 94"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initilization of variables\n",
+ "basis=100 #mol\n",
+ "FinalBasis=1250.0 #lb-moles/h\n",
+ "#Calulations and printing:\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "multiply=FinalBasis/basis\n",
+ "Feed=100*multiply\n",
+ "TopStream=50*multiply\n",
+ "BottomStream1=12.5*multiply\n",
+ "BottomStream2=37.5*multiply\n",
+ "print '%s %.2f %s' %(' Final Basis=',Feed,' lb-moles /h')\n",
+ "print '%s %.2f %s' %(' Final Top Stream Feed=',TopStream, 'lb-moles /h')\n",
+ "print '%s %.2f %s' %(' Final Bottom Stream Feed 1 =', BottomStream1,'lb-moles A/h')\n",
+ "print '%s %.2f %s' %(' Final Bottom Stream Feed 2 =' ,BottomStream2,' lb-moles B/h')\n",
+ "raw_input(\"Press the Enter key to quit\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ " Final Basis= 1250.00 lb-moles /h\n",
+ " Final Top Stream Feed= 625.00 lb-moles /h\n",
+ " Final Bottom Stream Feed 1 = 156.25 lb-moles A/h\n",
+ " Final Bottom Stream Feed 2 = 468.75 lb-moles B/h\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Press the Enter key to quit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 7,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.3-3, page no. 97"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initilization of variables\n",
+ "basis=100 #kg\n",
+ "inputx=0.2\n",
+ "outputx=0.08\n",
+ "D=1 #kg/L\n",
+ "#Calculations and printing:\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "print(\"Using NaOH balance\")\n",
+ "m2=inputx*basis/outputx\n",
+ "print '%s %.2f %s' %('m2=',m2 ,'Kg NaOH')\n",
+ "print(\"Using Total mass balance\")\n",
+ "m1=m2-basis\n",
+ "print '%s %.2f %s' %('m1=',m1, 'Kg Water')\n",
+ "V1=m1/D\n",
+ "print '%s %.2f %s' %(' V1=',V1 ,'Litres')\n",
+ "Ratio1=V1/basis\n",
+ "Ratio2=m2/basis\n",
+ "print '%s %.2f %s' %(' Ratio of lt water/Kg Feed =', Ratio1,' lt water/Kg Feed')\n",
+ "print '%s %.2f %s' %(' Ratio of Kg product/Kg Feed =', Ratio2 ,'Kg product/Kg Feed')\n",
+ "raw_input(\"Press the Enter key to quit\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "Using NaOH balance\n",
+ "m2= 250.00 Kg NaOH\n",
+ "Using Total mass balance\n",
+ "m1= 150.00 Kg Water\n",
+ " V1= 150.00 Litres\n",
+ " Ratio of lt water/Kg Feed = 1.50 lt water/Kg Feed\n",
+ " Ratio of Kg product/Kg Feed = 2.50 Kg product/Kg Feed\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Press the Enter key to quit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 8,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.3-5, page no. 102"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initilization of variables\n",
+ "inputx=0.45\n",
+ "outputx=0.95\n",
+ "basis=2000 #L/h\n",
+ "outputBasis=100 #Kmol\n",
+ "M1=78.11\n",
+ "M2=92.13\n",
+ "D=0.872\n",
+ "z=0.08\n",
+ "#Calculations and printing:\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "mass1=outputBasis*M1*outputx\n",
+ "mass2=outputBasis*M2*(1-outputx)\n",
+ "mass=mass1+mass2\n",
+ "yB2=mass1/mass\n",
+ "m1=basis*D\n",
+ "print '%s %.2f %s' %(' m1=',m1,' Kg/h')\n",
+ "mB3=z*inputx*m1\n",
+ "print '%s %.2f %s' %(' mB3=',mB3,' Kg/h')\n",
+ "print(\"Using Benzene balance,\")\n",
+ "m2=(inputx*m1-mB3)/yB2\n",
+ "print '%s %.2f %s' %(' m2=',m2, 'Kg/h')\n",
+ "print(\"Using Toluene balance,\")\n",
+ "mT3=(1-inputx)*m1-(1-yB2)*m2\n",
+ "print '%s %.2f %s' %(' mT3=',mT3,' Kg/h')\n",
+ "m3=mB3+mT3\n",
+ "print '%s %.2f %s' %(' m3=',m3,' Kg/h')\n",
+ "yB3=mB3/m3\n",
+ "print '%s %.2f %s' %(' yB3=',yB3,' kg B/kg')\n",
+ "yT3=1-yB3\n",
+ "print '%s %.2f %s' %(' yT3=',yT3, 'kg T/kg')\n",
+ "raw_input(\"Press the Enter key to quit\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ " m1= 1744.00 Kg/h\n",
+ " mB3= 62.78 Kg/h\n",
+ "Using Benzene balance,\n",
+ " m2= 766.84 Kg/h\n",
+ "Using Toluene balance,\n",
+ " mT3= 914.38 Kg/h\n",
+ " m3= 977.16 Kg/h\n",
+ " yB3= 0.06 kg B/kg\n",
+ " yT3= 0.94 kg T/kg\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Press the Enter key to quit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 10,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4-1, page no. 105"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initilization of variables\n",
+ "inputMass1=100 #Kg/h\n",
+ "inputMass2=30 #Kg/h\n",
+ "outputMass1=40 #Kg/h\n",
+ "outputMass2=30 #Kg/h\n",
+ "inputx1=0.5\n",
+ "inputx2=0.3\n",
+ "outputx1=0.9\n",
+ "outputx2=0.6\n",
+ "#Calculations and printing\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "print(\"using Overall Mass balance, \")\n",
+ "m3=inputMass1+inputMass2-outputMass1-outputMass2\n",
+ "print '%s %d %s' %('m3=',m3,' Kg/h')\n",
+ "print(\"using Overall balance on A, \")\n",
+ "x3=(inputMass1*inputx1+inputMass2*inputx2-outputMass1*outputx1-outputMass2*outputx2)/m3\n",
+ "print '%s %.2f %s' %('x3=',x3,' Kg A/kg')\n",
+ "print(\"using Mass balance on Unit 1, \")\n",
+ "m1=inputMass1-outputMass1\n",
+ "print '%s %d %s' %('m1=',m1,' Kg/h')\n",
+ "print(\"using A balance on Unit 1, \")\n",
+ "x1=(inputMass1*inputx1-outputMass1*outputx1)/m1\n",
+ "print '%s %.2f %s' %('x1=',x1,' Kg A/kg')\n",
+ "print(\"using Mass balance on mixing point, \")\n",
+ "m2=inputMass2+m1\n",
+ "print '%s %d %s' %('m2=',m2,'Kg/h')\n",
+ "print(\"using A balance on mixing point, \")\n",
+ "x2=(inputMass2*inputx2+m1*x1)/m2\n",
+ "print '%s %.2f %s' %('x2=',x2 ,'Kg A/kg')\n",
+ "raw_input(\"Press the Enter key to quit\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "using Overall Mass balance, \n",
+ "m3= 60 Kg/h\n",
+ "using Overall balance on A, \n",
+ "x3= 0.08 Kg A/kg\n",
+ "using Mass balance on Unit 1, \n",
+ "m1= 60 Kg/h\n",
+ "using A balance on Unit 1, \n",
+ "x1= 0.23 Kg A/kg\n",
+ "using Mass balance on mixing point, \n",
+ "m2= 90 Kg/h\n",
+ "using A balance on mixing point, \n",
+ "x2= 0.26 Kg A/kg\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Press the Enter key to quit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 12,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4-2, page no. 107"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initilization of variables\n",
+ "from numpy import matrix, array, dot\n",
+ "from numpy.linalg import inv\n",
+ "import math\n",
+ "massin=100 #kg\n",
+ "M1=100 #kg\n",
+ "M2=75 #Kg\n",
+ "massout=43.1 #kg\n",
+ "inputx=0.5\n",
+ "outputxA=0.053\n",
+ "outputxM=0.016\n",
+ "m1xA=0.275\n",
+ "m1xM=0.725\n",
+ "m3xW=0.03\n",
+ "m3xA=0.09\n",
+ "m3xM=0.88\n",
+ "#Calculations and printing:\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "print(\"Using Balances around two-extraxtor system,\")\n",
+ "print(\"Balance on total mass,\")\n",
+ "\n",
+ "A=array([[1,1],[m1xA,m3xA]])\n",
+ "b=array([[massin+M1+M2-massout],[massin*inputx - massout*outputxA]])\n",
+ "C=dot(inv(A),b)\n",
+ "m1=C[0,0]\n",
+ "m3=C[1,0]\n",
+ "print '%s %.2f %s' %(' m1=',m1,' Kg')\n",
+ "print '%s %.2f %s' %(' m3=',m3,' Kg')\n",
+ "print(\"Balance on M\")\n",
+ "xM1=(massin+M2-massout*outputxM-m3*m3xM)/m1\n",
+ "print '%s %.2f %s' %(' xM1=',xM1,' kg MIBK/kg')\n",
+ "print(\"Balances around Extract mixing point, \")\n",
+ "print(\"Balance on A\")\n",
+ "mA4=m1*m1xA+m3*m3xA\n",
+ "print '%s %.2f %s' %(' mA4=',mA4 ,'Kg Acetone')\n",
+ "print(\"Balance on M\")\n",
+ "mM4=m1*xM1+m3*m3xM\n",
+ "print '%s %.2f %s' %(' mM4=',mM4,' Kg MIBK')\n",
+ "print(\"Balance on W\")\n",
+ "mW4=m1*(m1xM-xM1) + m3*m3xW\n",
+ "print '%s %.2f %s' %(' mW4=',mW4 ,'Kg Water')\n",
+ "print(\"Balances around the First extractor\")\n",
+ "print(\"Balance on A\")\n",
+ "mA2=massin*inputx-m1*m1xA\n",
+ "print '%s %.2f %s' %(' mA2=',mA2,' Kg Acetone')\n",
+ "print(\"Balance on M\")\n",
+ "mM2=massin-m1*xM1\n",
+ "print '%s %.2f %s' %(' xM1=',xM1, 'Kg MIBK')\n",
+ "print(\"Balance on W\")\n",
+ "mW2=massin*inputx- m1*(m1xM-xM1)\n",
+ "print '%s %.2f %s' %(' mW2=',mW2,'Kg Water')\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "Using Balances around two-extraxtor system,\n",
+ "Balance on total mass,\n",
+ " m1= 145.11 Kg\n",
+ " m3= 86.79 Kg\n",
+ "Balance on M\n",
+ " xM1= 0.67 kg MIBK/kg\n",
+ "Balances around Extract mixing point, \n",
+ "Balance on A\n",
+ " mA4= 47.72 Kg Acetone\n",
+ "Balance on M\n",
+ " mM4= 174.31 Kg MIBK\n",
+ "Balance on W\n",
+ " mW4= 9.87 Kg Water\n",
+ "Balances around the First extractor\n",
+ "Balance on A\n",
+ " mA2= 10.10 Kg Acetone\n",
+ "Balance on M\n",
+ " xM1= 0.67 Kg MIBK\n",
+ "Balance on W\n",
+ " mW2= 42.73 Kg Water\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.5-1, page no. 110"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initilization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "x1=0.960\n",
+ "x2=0.977\n",
+ "x3=0.983\n",
+ "basis=100 #mol\n",
+ "#Calculations and printing:\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "print(\"Overall dry Air balance,\")\n",
+ "n1=x3*basis/x1\n",
+ "print '%s %.2f %s' %('n1=',n1,' mol Fresh feed')\n",
+ "print(\"Overall mole balance,\")\n",
+ "n3=n1-basis\n",
+ "print '%s %.2f %s' %('n3=',n3,' mol Water condensed')\n",
+ "print(\"Mole balance on mixing point,\")\n",
+ "print(\"n1+n5=n2\")\n",
+ "print(\"Water balance on mixing point\")\n",
+ "print ' %.2f %s %.2f %s %.2f %s' %(1-x1,' n1+ ', 1-x3,' n5 =', 1-x2,'n2')\n",
+ "A=([[1 ,-1],[1-x2,-(1-x3)]])\n",
+ "b=([[n1],[(1-x1)*n1]])\n",
+ "C=numpy.dot(linalg.inv(A),b)\n",
+ "n2=C[0,0]\n",
+ "n5=C[1,0]\n",
+ "print '%s %.2f %s' %(' \\n n2=',n2,' mol')\n",
+ "print '%s %.2f %s' %(' \\n n5=',n5,' mol Recycled')\n",
+ "raw_input(\"Press the Enter key to quit\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "Overall dry Air balance,\n",
+ "n1= 102.40 mol Fresh feed\n",
+ "Overall mole balance,\n",
+ "n3= 2.40 mol Water condensed\n",
+ "Mole balance on mixing point,\n",
+ "n1+n5=n2\n",
+ "Water balance on mixing point\n",
+ " 0.04 n1+ 0.02 n5 = 0.02 n2\n",
+ " \n",
+ " n2= 392.52 mol\n",
+ " \n",
+ " n5= 290.12 mol Recycled\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Press the Enter key to quit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 15,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.5-2, page no. 112"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initilization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "feed=4500 #kg/h\n",
+ "feedx=0.333\n",
+ "m3x=0.494\n",
+ "m5x=0.364\n",
+ "x=0.95\n",
+ "#Calculations and printing:\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "m6x=m5x\n",
+ "print '%s %.2f %s' %('Given, m4=',x,' (m4+m5)')\n",
+ "print(\"using Overall K2CrO4 balance, \")\n",
+ "print ' %.2f %s %.2f %s %.2f %s' %(feedx,' *', feed ,'= m4+', m6x,'m5')\n",
+ "A=([[1-x,-x],[1,m6x]])\n",
+ "b=([[0],[feedx*feed]])\n",
+ "C=numpy.dot(linalg.inv(A),b)\n",
+ "m4=C[0,0]\n",
+ "m5=C[1,0]\n",
+ "print '%s %.2f %s' %(' \\n m4=',m4,' K2CrO4 crystals/h')\n",
+ "print '%s %.2f %s' %(' \\n m5=',m5,' entrained solution/h')\n",
+ "print(\"Overall Total mass balance , \")\n",
+ "m2=feed-m4-m5\n",
+ "print '%s %.2f %s' %('m2=',m2,' Kg H2O evaporated/h')\n",
+ "print(\"Mass balance around the crystallizer,\")\n",
+ "print(\"m3=m4+m5+m6\")\n",
+ "print(\"Water balance around the crystallizer, \")\n",
+ "print ' %.2f %s %.2f %s %.2f %s' %(1-m3x, 'm3=', 1-m5x,' m5 + ',1-m6x,' m6')\n",
+ "D=([[1,-1],[1,(-1+m6x)/(1-m3x)]])\n",
+ "e=([[m4+m5],[(1-m5x)*m5/(1-m3x)]])\n",
+ "F=numpy.dot(linalg.inv(D),e)\n",
+ "m3=F[0,0]\n",
+ "m6=F[1,0]\n",
+ "print '%s %.2f %s' %(' \\n m3=',m3,' Kg/h fed to the crystallizer')\n",
+ "print '%s %.2f %s' %(' \\n m6=',m6,' Kg/h')\n",
+ "ratio=m6/feed\n",
+ "print '%s %.2f %s' %(' \\n ratio=',ratio,' Kg recycle/ Kg fresh feed')\n",
+ "print(\"mass balance around Recycle-fresh feed mixing point, \")\n",
+ "m1=feed+m6\n",
+ "print '%s %.2f %s' %('m1=',m1,' kg/h feed to the evaporator')\n",
+ "print(\"With out recycle, \")\n",
+ "print(\"m3=622 Kg/h\")\n",
+ "print(\"m5=2380 Kg/h\")\n",
+ "raw_input(\"Press the Enter key to quit\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "Given, m4= 0.95 (m4+m5)\n",
+ "using Overall K2CrO4 balance, \n",
+ " 0.33 * 4500.00 = m4+ 0.36 m5\n",
+ " \n",
+ " m4= 1470.33 K2CrO4 crystals/h\n",
+ " \n",
+ " m5= 77.39 entrained solution/h\n",
+ "Overall Total mass balance , \n",
+ "m2= 2952.28 Kg H2O evaporated/h\n",
+ "Mass balance around the crystallizer,\n",
+ "m3=m4+m5+m6\n",
+ "Water balance around the crystallizer, \n",
+ " 0.51 m3= 0.64 m5 + 0.64 m6\n",
+ " \n",
+ " m3= 7193.31 Kg/h fed to the crystallizer\n",
+ " \n",
+ " m6= 5645.60 Kg/h\n",
+ " \n",
+ " ratio= 1.25 Kg recycle/ Kg fresh feed\n",
+ "mass balance around Recycle-fresh feed mixing point, \n",
+ "m1= 10145.60 kg/h feed to the evaporator\n",
+ "With out recycle, \n",
+ "m3=622 Kg/h\n",
+ "m5=2380 Kg/h\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Press the Enter key to quit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 16,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.6-1, page no. 120"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initilization of variables\n",
+ "basis=100 #mol\n",
+ "xP=0.1\n",
+ "xN=0.12\n",
+ "xA=0.78\n",
+ "x=0.3\n",
+ "#Calculations and printing:\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "nP=basis*xP\n",
+ "nN=basis*xN\n",
+ "nO2=basis*xA*0.21\n",
+ "nN2=basis-nP-nN-nO2\n",
+ "if nN/nP>1:\n",
+ " print(\"NH3 is in excess\")\n",
+ "else:\n",
+ " print(\"Propene is in excess\")\n",
+ "\n",
+ "if nO2/nP>1:\n",
+ " print(\"O2 is in excess\")\n",
+ "else:\n",
+ " print(\"propene is in excess\")\n",
+ "\n",
+ "nO2reacted=nP*1.5\n",
+ "nNreacted=nP*1\n",
+ "ExcessAmmonia=(nN-nNreacted)*100/nNreacted\n",
+ "ExcessO2=(nO2-nO2reacted)*100/nO2reacted\n",
+ "print '%s %.2f' %(' \\n percentage excess Ammonia=',ExcessAmmonia)\n",
+ "print '%s %.2f' %(' \\n percentage excess Oxygen=',ExcessO2)\n",
+ "nPout=(1-x)*nP\n",
+ "print '%s %.2f %s' %(' \\n no.of moles of Propylene left=', nPout,' mol')\n",
+ "E=nP-nPout\n",
+ "nNout=nN-E\n",
+ "nO2out=nO2-1.5*E\n",
+ "nAc=E\n",
+ "nW=3*E\n",
+ "print'%s %.2f %s' %(' \\n no.of moles of Ammonia left=', nNout,' mol')\n",
+ "print'%s %.2f %s' %(' \\n no.of moles of oxygen left=' ,nO2out,' mol')\n",
+ "print'%s %.2f %s' %(' \\n no.of moles of ACN formed= ',nAc ,'mol')\n",
+ "print'%s %.2f %s' %(' \\n no.of moles of water formed=', nW ,'mol')\n",
+ "print'%s %.2f %s' %(' \\n no.of moles of Nirtogen present= ',nN2 ,'mol')\n",
+ "raw_input(\"Press the Enter key to quit\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "NH3 is in excess\n",
+ "O2 is in excess\n",
+ " \n",
+ " percentage excess Ammonia= 20.00\n",
+ " \n",
+ " percentage excess Oxygen= 9.20\n",
+ " \n",
+ " no.of moles of Propylene left= 7.00 mol\n",
+ " \n",
+ " no.of moles of Ammonia left= 9.00 mol\n",
+ " \n",
+ " no.of moles of oxygen left= 11.88 mol\n",
+ " \n",
+ " no.of moles of ACN formed= 3.00 mol\n",
+ " \n",
+ " no.of moles of water formed= 9.00 mol\n",
+ " \n",
+ " no.of moles of Nirtogen present= 61.62 mol\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Press the Enter key to quit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 17,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.6-2, page no. 122"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "print(\"Given, Reaction is CO(g)+ H2O(g) --> CO2(g)+ H2(g)\")\n",
+ "nCO=1.\n",
+ "nH2O=2.\n",
+ "#Calculations and printing:\n",
+ "nt=nCO+nH2O\n",
+ "print(\"\\n It is found that Ee=0.667\")\n",
+ "Ee=0.667\n",
+ "yCO=(nCO-Ee)/nt\n",
+ "yH2O=(nH2O-Ee)/nt\n",
+ "yCO2=Ee/nt\n",
+ "yH2=Ee/nt\n",
+ "print(\"\\n Ee is obtained by solving the quadratic yCO2*yH2/(yCO*yH2O)=1\")\n",
+ "print(\"\\n Limiting reactant is CO\")\n",
+ "print '%s %.3f' %(\"\\n yCO = \",yCO)\n",
+ "print '%s %.3f' %(\"\\n yCO2 = \",yCO2)\n",
+ "print '%s %.3f' %(\"\\n yH2O = \",yH2O)\n",
+ "print '%s %.3f' %(\"\\n yH2 = \",yH2)\n",
+ "nCOF=yCO*nt\n",
+ "fCO=(nCO-nCOF)/nCO\n",
+ "print '%s %.3f' %(\"\\n Fractional conversion of CO at equilibrium is \", fCO)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Given, Reaction is CO(g)+ H2O(g) --> CO2(g)+ H2(g)\n",
+ "\n",
+ " It is found that Ee=0.667\n",
+ "\n",
+ " Ee is obtained by solving the quadratic yCO2*yH2/(yCO*yH2O)=1\n",
+ "\n",
+ " Limiting reactant is CO\n",
+ "\n",
+ " yCO = 0.111\n",
+ "\n",
+ " yCO2 = 0.222\n",
+ "\n",
+ " yH2O = 0.444\n",
+ "\n",
+ " yH2 = 0.222\n",
+ "\n",
+ " Fractional conversion of CO at equilibrium is 0.667\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 18,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.6-3, page no. 124"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initilization of variables\n",
+ "basis=100 #mol\n",
+ "x=0.850\n",
+ "conv1=0.501\n",
+ "conv2=0.471\n",
+ "#Calculations and printing:\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "n1=(1-conv1)*basis*x\n",
+ "n2=conv2*basis*x\n",
+ "E1=n2\n",
+ "E2=basis*x - E1-n1\n",
+ "n3=E1-E2\n",
+ "n4=2*E2\n",
+ "n5=basis*(1-x)\n",
+ "nt=n1+n2+n3+n4+n5\n",
+ "selectivity=n2/n4\n",
+ "print '%s %.2f %s ' %('selectivity=',selectivity,' mol Ethene/mol methane')\n",
+ "raw_input(\"Press the Enter key to quit\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "selectivity= 7.85 mol Ethene/mol methane \n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Press the Enter key to quit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 19,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.7-2, page no. 135"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initilization of variables\n",
+ "basis=100 #mol\n",
+ "x=0.850\n",
+ "conv1=0.501\n",
+ "conv2=0.471\n",
+ "#Calculations and printing:\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "n1=(1-conv1)*basis*x\n",
+ "n2=conv2*basis*x\n",
+ "E1=n2\n",
+ "E2=basis*x - E1-n1\n",
+ "n3=E1-E2\n",
+ "n4=2*E2\n",
+ "n5=basis*(1-x)\n",
+ "nt=n1+n2+n3+n4+n5\n",
+ "selectivity=n2/n4\n",
+ "print '%s %.2f %s ' %('selectivity=',selectivity,' mol Ethene/mol methane')\n",
+ "raw_input(\"Press the Enter key to quit\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "selectivity= 7.85 mol Ethene/mol methane \n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Press the Enter key to quit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 20,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.7-3, page no. 139"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initilization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "x0=0.996\n",
+ "basis=100 #mol combined feed to the reactor\n",
+ "inputxH2=0.7\n",
+ "single_pass=0.6\n",
+ "inputxCO2=0.28\n",
+ "molI=2\n",
+ "Ix=0.004\n",
+ "final=155 #kmol/h\n",
+ "#Calculations and printing:\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "print(\"Reactor analysis, \")\n",
+ "n2=(1-single_pass)*basis*inputxH2\n",
+ "print '%s %.2f %s' %('n2=',n2,' mol H2')\n",
+ "print(\"H2 balance\")\n",
+ "consH2=basis*inputxH2-n2\n",
+ "print '%s %.2f %s' %('H2 moles consumed=',consH2,' mol H2')\n",
+ "print(\"CO2 balance\")\n",
+ "n1=basis*inputxCO2-consH2/3\n",
+ "print '%s %.2f %s' %('n1=',n1,'mol CO2')\n",
+ "print(\"Methanol balance\")\n",
+ "n3=consH2/3\n",
+ "print '%s %.2f %s' %('n3=',n3,'mol Methanol')\n",
+ "print(\"H2O balance\")\n",
+ "n4=consH2/3\n",
+ "print '%s %.2f %s' %('n4=',n4,' mol H2O')\n",
+ "print(\"condenser analysis\")\n",
+ "print(\"Total mole balance\")\n",
+ "n5=n1+n2+molI\n",
+ "print '%s %.2f %s' %('n5=',n5 ,'mol')\n",
+ "print(\"CO2 balance\")\n",
+ "x5C=n1/n5\n",
+ "print '%s %.2f %s' %('x5C=',x5C,' mol CO2/mol')\n",
+ "print(\"H2 balance\")\n",
+ "x5H=n2/n5\n",
+ "print '%s %.2f %s' %('x5H=', x5H,'mol CO2/mol')\n",
+ "x1=1-x5C-x5H\n",
+ "print '%s %.2f %s' %('x1=',x1,' mol I/mol')\n",
+ "print(\"Fresh Feed-Recycle mixing point analysis\")\n",
+ "print(\"Total mole balance\")\n",
+ "print '%s %.2f' %('n0+nr=',basis)\n",
+ "print(\"I balance\")\n",
+ "print '%s %.2f %s %.2f %s %.2f' %('n0', Ix,' + nr ',x1,' = ',molI)\n",
+ "A=([[1, 1],[Ix, x1]])\n",
+ "b=([[basis],[molI]])\n",
+ "C=numpy.dot(linalg.inv(A),b) #Here We solve two linear equations simultaneously\n",
+ "n0=C[0,0]\n",
+ "nr=C[1,0]\n",
+ "print '%s %.2f %s' %(' \\n n0=',n0,' mol fresh feed')\n",
+ "print '%s %.2f %s' %(' \\n nr=', nr ,'mol recycle')\n",
+ "x0C=(basis*inputxCO2-nr*x5C)/n0\n",
+ "print '%s %.2f %s' %(' \\n x0C=',x0C,' mol CO2/mol')\n",
+ "x0H=1-x0C-Ix\n",
+ "print '%s %.2f %s' %(' \\n x0H=',x0H ,'mol H2/mol')\n",
+ "print(\"Recycle-Purge splitting Analysis\")\n",
+ "print(\"Total mole balance\")\n",
+ "np=n5-nr\n",
+ "print '%s %.2f %s' %('np=',np,' mol purge')\n",
+ "print(\"Flow chart scaling\")\n",
+ "Factor=final/n3\n",
+ "print '%s %.2f %s' %('Factor for scaling=',Factor,' Kmol/h/mol')\n",
+ "raw_input(\"Press the Enter key to quit\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "Reactor analysis, \n",
+ "n2= 28.00 mol H2\n",
+ "H2 balance\n",
+ "H2 moles consumed= 42.00 mol H2\n",
+ "CO2 balance\n",
+ "n1= 14.00 mol CO2\n",
+ "Methanol balance\n",
+ "n3= 14.00 mol Methanol\n",
+ "H2O balance\n",
+ "n4= 14.00 mol H2O\n",
+ "condenser analysis\n",
+ "Total mole balance\n",
+ "n5= 44.00 mol\n",
+ "CO2 balance\n",
+ "x5C= 0.32 mol CO2/mol\n",
+ "H2 balance\n",
+ "x5H= 0.64 mol CO2/mol\n",
+ "x1= 0.05 mol I/mol\n",
+ "Fresh Feed-Recycle mixing point analysis\n",
+ "Total mole balance\n",
+ "n0+nr= 100.00\n",
+ "I balance\n",
+ "n0 0.00 + nr 0.05 = 2.00\n",
+ " \n",
+ " n0= 61.40 mol fresh feed\n",
+ " \n",
+ " nr= 38.60 mol recycle\n",
+ " \n",
+ " x0C= 0.26 mol CO2/mol\n",
+ " \n",
+ " x0H= 0.74 mol H2/mol\n",
+ "Recycle-Purge splitting Analysis\n",
+ "Total mole balance\n",
+ "np= 5.40 mol purge\n",
+ "Flow chart scaling\n",
+ "Factor for scaling= 11.07 Kmol/h/mol\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Press the Enter key to quit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 21,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.8-1, page no. 143"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initilization of variables\n",
+ "xN2wet=0.6\n",
+ "xCO2wet=0.15\n",
+ "xO2wet=0.1\n",
+ "xH2O=0.15\n",
+ "basis=100 #mol Wet gas \n",
+ "#Calculations and printing:\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "print(\"part 1\")\n",
+ "wet=xN2wet+xCO2wet+xO2wet\n",
+ "xN2dry=xN2wet/wet\n",
+ "xCO2dry=xCO2wet/wet\n",
+ "xO2dry=xO2wet/wet\n",
+ "print '%s %f %s' %(' \\n xN2 dry =', xN2dry,' mol N2/mol dry gas')\n",
+ "print '%s %f %s' %(' \\n xO2 dry =',xO2dry,' mol O2/mol dry gas')\n",
+ "print '%s %f %s' %(' \\n xCO2 dry =', xCO2dry ,'mol CO2/mol dry gas')\n",
+ "raw_input(\"Press the Enter key to quit\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "part 1\n",
+ " \n",
+ " xN2 dry = 0.705882 mol N2/mol dry gas\n",
+ " \n",
+ " xO2 dry = 0.117647 mol O2/mol dry gas\n",
+ " \n",
+ " xCO2 dry = 0.176471 mol CO2/mol dry gas\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Press the Enter key to quit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 22,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.8-2, page no. 145"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initilization of variables\n",
+ "basisButane=100. #mol/h butane\n",
+ "basisAir=5000. #mol/h\n",
+ "#calculations and printing:\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "nO2Theoretical=basisButane*6.5\n",
+ "nAirTheoretical=nO2Theoretical*4.76\n",
+ "percent=(basisAir-nAirTheoretical)*100/nAirTheoretical\n",
+ "print '%s %.2f' %(' \\n percent excess air=',percent)\n",
+ "raw_input(\"Press the Enter key to quit\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ " \n",
+ " percent excess air= 61.60\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Press the Enter key to quit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 23,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.8-3, page no. 147"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initilization of variables\n",
+ "basis=100. #mol ethane feed\n",
+ "E1=0.9\n",
+ "E2=0.25\n",
+ "excess=0.5\n",
+ "#Calculations and printing:\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "print(\" 50percent excess air\")\n",
+ "nO2theoretical=basis*3.5\n",
+ "n0=nO2theoretical*(1+excess)/0.21\n",
+ "print '%s %.4f %s' %(' n0=',n0,' mol air fed')\n",
+ "print(\"90% ethane conversion\")\n",
+ "n1=(1-E1)*basis\n",
+ "print '%s %.4f' %('No. of moles of ethane unreacted=',n1)\n",
+ "print(\"25% conversion to CO\")\n",
+ "n4=E2*(basis-n1)*2\n",
+ "print '%s %.4f %s' %('n4=', n4 ,'mol CO')\n",
+ "print(\"nitrogen balance\")\n",
+ "n3=0.79*n0\n",
+ "print '%s %.4f %s' %('n3=', n3,' mol N2')\n",
+ "print(\"Atomic carbon balance\")\n",
+ "n5=2*basis-2*n1-n4\n",
+ "print '%s %.4f %s' %('n5=', n5 ,'mol CO2')\n",
+ "print(\"Atomic hydrogen balance\")\n",
+ "n6=(basis*6-n1*6)/2\n",
+ "print '%s %.4f %s' %('n6=', n6,' mol H2O')\n",
+ "print(\"Atomic oxygen balance\")\n",
+ "n2=(nO2theoretical*1.5*2-n4-n5*2-n6)/2\n",
+ "print '%s %.4f %s' %('n2=', n2 ,'mol O2')\n",
+ "dry=n1+n2+n3+n4+n5\n",
+ "wet=dry+n6\n",
+ "y1=n1/dry\n",
+ "print '%s %.4f %s' %('\\n y1=', y1,' mol C2H6/mol')\n",
+ "y2=n2/dry\n",
+ "print '%s %.4f %s' %('\\n y2=', y2 ,'mol O2/mol')\n",
+ "y3=n3/dry\n",
+ "print '%s %.4f %s' %('\\n y3=', y3,' mol N2/mol')\n",
+ "y4=n4/dry\n",
+ "print '%s %.4f %s' %('\\n y4=', y4 ,'mol CO/mol')\n",
+ "y5=n5/dry\n",
+ "print '%s %.4f %s' %('\\n y5=',y5,' mol CO2/mol')\n",
+ "ratio=n6/dry\n",
+ "print '%s %.4f %s' %(' \\n ratio=',ratio,' mol H2O/mol dry stack gas')\n",
+ "raw_input(\"Press the Enter key to quit\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ " 50percent excess air\n",
+ " n0= 2500.0000 mol air fed\n",
+ "90% ethane conversion\n",
+ "No. of moles of ethane unreacted= 10.0000\n",
+ "25% conversion to CO\n",
+ "n4= 45.0000 mol CO\n",
+ "nitrogen balance\n",
+ "n3= 1975.0000 mol N2\n",
+ "Atomic carbon balance\n",
+ "n5= 135.0000 mol CO2\n",
+ "Atomic hydrogen balance\n",
+ "n6= 270.0000 mol H2O\n",
+ "Atomic oxygen balance\n",
+ "n2= 232.5000 mol O2\n",
+ "\n",
+ " y1= 0.0042 mol C2H6/mol\n",
+ "\n",
+ " y2= 0.0970 mol O2/mol\n",
+ "\n",
+ " y3= 0.8238 mol N2/mol\n",
+ "\n",
+ " y4= 0.0188 mol CO/mol\n",
+ "\n",
+ " y5= 0.0563 mol CO2/mol\n",
+ " \n",
+ " ratio= 0.1126 mol H2O/mol dry stack gas\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Press the Enter key to quit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 24,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.8-4, page no. 149"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initilization of variables\n",
+ "basis=100 #mol pf product gas\n",
+ "xCO=0.015\n",
+ "xCO2=0.060\n",
+ "xO2=0.082\n",
+ "xN2=0.843\n",
+ "#Calculations and printing:\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "print(\"N2 balance\")\n",
+ "na=basis*xN2/0.79\n",
+ "print '%s %.2f %s' %('na=',na,' mol air')\n",
+ "print(\"Atomic C balance\")\n",
+ "nc=basis*xCO + basis*xCO2\n",
+ "print '%s %.2f %s' %('nc=',nc ,'mol C')\n",
+ "print(\"Atomic O balance\")\n",
+ "nw=0.21*na*2-basis*(xCO + xCO2*2 + xO2*2)\n",
+ "print '%s %.2f %s' %('nw=',nw,' mol oxygen')\n",
+ "print(\"Atomic H2 balance\")\n",
+ "nh=nw*2\n",
+ "print '%s %.2f %s' %('nh=',nh ,'mol H2')\n",
+ "ratio=nh/nc\n",
+ "print '%s %.2f %s' %('\\n C/H ratio in fuel=',ratio,' mol H/mol C')\n",
+ "print(\"percent excess air\")\n",
+ "nO2theoretical=nc + nh/4\n",
+ "print '%s %.2f %s' %('nO2 theoretical=',nO2theoretical ,'mol O2')\n",
+ "nO2fed=0.21*na\n",
+ "print '%s %.2f %s' %(' \\n nO2fed=',nO2fed,' mol O2')\n",
+ "percent=(nO2fed-nO2theoretical)*100/nO2theoretical\n",
+ "print '%s %.2f %s' %('\\n percentage excess air=',percent ,'excess air')\n",
+ "raw_input(\"Press the Enter key to quit\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "N2 balance\n",
+ "na= 106.71 mol air\n",
+ "Atomic C balance\n",
+ "nc= 7.50 mol C\n",
+ "Atomic O balance\n",
+ "nw= 14.92 mol oxygen\n",
+ "Atomic H2 balance\n",
+ "nh= 29.84 mol H2\n",
+ "\n",
+ " C/H ratio in fuel= 3.98 mol H/mol C\n",
+ "percent excess air\n",
+ "nO2 theoretical= 14.96 mol O2\n",
+ " \n",
+ " nO2fed= 22.41 mol O2\n",
+ "\n",
+ " percentage excess air= 49.80 excess air\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Press the Enter key to quit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 25,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.9-1, page no. 151"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initilization of variables\n",
+ "feed=59.6 #mol/s\n",
+ "x=0.2\n",
+ "TopFlow1=48.7 #mol/s\n",
+ "outputx1=0.021\n",
+ "BottomFlow1=10.9\n",
+ "TopFlow2=48.3\n",
+ "outputx2=0.063\n",
+ "BottomFlow2=6.4\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "print(\"Design\")\n",
+ "MEKin1=feed*x\n",
+ "MEKout1=TopFlow1*outputx1 + BottomFlow1\n",
+ "closure1=MEKout1*100/MEKin1\n",
+ "print '%s %d %s' %('closure1=',closure1,' percent')\n",
+ "print(\"Experiment\")\n",
+ "MEKin2=feed*x\n",
+ "MEKout2=TopFlow2*outputx2 + BottomFlow2\n",
+ "closure2=MEKout2*100/MEKin2\n",
+ "print '%s %d %s' %('closure2=',closure2, 'percent')\n",
+ "raw_input(\"Press the Enter key to quit\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "Design\n",
+ "closure1= 100 percent\n",
+ "Experiment\n",
+ "closure2= 79 percent\n"
+ ]
+ }
+ ]
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Elementary_Principles_of_Chemical_Processes/Chapter5.ipynb b/Elementary_Principles_of_Chemical_Processes/Chapter5.ipynb
new file mode 100755
index 00000000..344fae37
--- /dev/null
+++ b/Elementary_Principles_of_Chemical_Processes/Chapter5.ipynb
@@ -0,0 +1,807 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:dfc2bc36e1576488bcd07ee5435a22145b28c649187a0989b470c7cdd7161f42"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 5: Single-Phase Systems"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.1-1, page no. 190"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "\n",
+ "wtperct=0.5\n",
+ "Dwater=0.998 #g/cm^3\n",
+ "Dsulfuric=1.834 #g/cm^3\n",
+ "\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "invPbar=wtperct/Dwater + (1-wtperct)/Dsulfuric\n",
+ "print '%s %.3f' %(\"Density calculated using volume additvity (g/cm^3) =\",1/invPbar)\n",
+ "Pbar=wtperct*Dwater + (1-wtperct)*Dsulfuric\n",
+ "print '%s %.3f' %(\" \\n Density calculated using mass additivity (g/cm^3) =\",Pbar)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Density calculated using volume additvity (g/cm^3) = 1.293\n",
+ " \n",
+ " Density calculated using mass additivity (g/cm^3) = 1.416\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 1,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.2-1, page no. 192"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "\n",
+ "T=23.0+273 #kelvin\n",
+ "P=3.0+14.7 #psi \n",
+ "#conversion of pressure from psig to psi requires addition of 14.67 which is 1 atm\n",
+ "R=0.08206 #lt-atm\n",
+ "MN2=28.0 #molecular wt.\n",
+ "weight=100.0 #grams\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "n=weight/MN2 #mol\n",
+ "V=n*R*T*14.7/P #lt\n",
+ "print '%s %.3f' %(\"assuming ideal gas behaviour, volume (litres) = \",V)\n",
+ "Vcap=V/n\n",
+ "if(Vcap>5):\n",
+ " print(\"ideal gas equation yields error less than 1 percent for diatomic gas\")\n",
+ "else:\n",
+ " print(\"ideal gas equation yields error greater than 1 percent for diatomic gases\")\n",
+ "\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "assuming ideal gas behaviour, volume (litres) = 72.046\n",
+ "ideal gas equation yields error less than 1 percent for diatomic gas\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 2,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.2-2, page no. 195"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "\n",
+ "T=360.0+273 #Kelvin\n",
+ "P=3.0 #atm\n",
+ "Vdot=1100.0 #kg/h\n",
+ "M=58.1 \n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "ndot=Vdot/M #kmol/h\n",
+ "vdot=ndot*22.4*T/(273*P)\n",
+ "print '%s %.3f' %(\"The volumetric flow rate of the stream (m^3/h) = \",vdot)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The volumetric flow rate of the stream (m^3/h) = 327.781\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 3,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.2-3, page no. 195"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "\n",
+ "V1=10.0 #ft^3\n",
+ "T1=70.0+460 #R\n",
+ "P1=1.0 #atm\n",
+ "P2=2.5 #atm\n",
+ "T2=610.0+460 #R\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "V2=V1*P1*T2/(P2*T1)\n",
+ "print '%s %.3f' %(\"Volume in final state (ft^3) = \",V2)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Volume in final state (ft^3) = 8.075\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 4,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.2-4, page no. 196"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "\n",
+ "#all the calculations are done in R scale\n",
+ "T2=285.0+460 #R\n",
+ "T1=32.0+460 #R\n",
+ "P2=1.30 #atm\n",
+ "P1=1.0 #atm\n",
+ "V1dot=3.95*100000. #ft^3/h\n",
+ "\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "#SCFH means ft^3(STP/h)\n",
+ "ndot=3.95*math.pow(10,5)/359.\n",
+ "print '%s %.3f' %(\" Molar flowrate (lb-moles/hr) = \",ndot)\n",
+ "V2dot=V1dot*T2*P1/(T1*P2)\n",
+ "print '%s %.3E' %(\" \\n True volumetric flowrate (ft^3/h) = \",V2dot)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " Molar flowrate (lb-moles/hr) = 1100.279\n",
+ " \n",
+ " True volumetric flowrate (ft^3/h) = 4.601E+05\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 5,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.2-5, page no. 197"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "\n",
+ "flowinA=400.0 #L/min\n",
+ "flowinN=419.0 # m^3 STP /min\n",
+ "Pfinal=6.3 #gauge\n",
+ "Tfinal=325.0 # C\n",
+ "Pacetone=501.0 #mm of Hg\n",
+ "Dacetone=791.0 #g/L\n",
+ "Macetone=58.08 #g\n",
+ "T1=300.0 #k\n",
+ "P1=1238.0 #mm Hg original\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\"All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "n2cap=flowinA*Dacetone/Macetone\n",
+ "print '%s %.3f' %(\" \\n Molar flowrate of Acetone (mol Acetone/min) = \",n2cap)\n",
+ "P=Pfinal*760 + 763\n",
+ "y4=Pacetone/P\n",
+ "print '%s %.3f' %(\" \\n Mole fraction of Acetone in the final flow (mol Acetone/mol) = \",y4)\n",
+ "print '%s %.3f' %(\" \\n Mole fraction of Nitrogen in the final flow (mol Nitrogen/mol) = \",1-y4)\n",
+ "n3cap=flowinN/0.0224\n",
+ "n4cap=n2cap/y4\n",
+ "print(\"By using Overall Molar balance,\")\n",
+ "n1cap=n4cap-n2cap-n3cap\n",
+ "V1cap=n1cap*0.0224*T1*760/(1*273*P1)\n",
+ "print '%s %.3f' %(\"Volumetric Flowrate of Nitrogen (Nitrogen/min) = \",V1cap)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ " \n",
+ " Molar flowrate of Acetone (mol Acetone/min) = 5447.658\n",
+ " \n",
+ " Mole fraction of Acetone in the final flow (mol Acetone/mol) = 0.090\n",
+ " \n",
+ " Mole fraction of Nitrogen in the final flow (mol Nitrogen/mol) = 0.910\n",
+ "By using Overall Molar balance,\n",
+ "Volumetric Flowrate of Nitrogen (Nitrogen/min) = 547.119\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 6,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.3-1, page no. 202"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "\n",
+ "T= -150.8 + 273.2 #k\n",
+ "Vcap= 3./2. #L/mol\n",
+ "Tc=126.2 #k\n",
+ "Pc=33.5 #atm\n",
+ "w=0.040\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\"All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "Pideal=0.08206*T/Vcap\n",
+ "print '%s %.3f' %(\" \\n The value of pressure as per Ideal gas equation (atm) = \",Pideal)\n",
+ "Tr=T/Tc\n",
+ "B0=0.083 - (0.422/math.pow(Tr,1.6))\n",
+ "B1=0.139 - (0.172/math.pow(Tr,4.2))\n",
+ "B=0.08206*Tc*(B0+w*B1)/Pc\n",
+ "Pvirial=0.08206*T*(1+ B/Vcap)/Vcap\n",
+ "print '%s %.3f' %(\"\\n The value of pressure as per Virial gas equation (atm) = \",Pvirial)\n",
+ "e=(Pideal-Pvirial)*100/Pvirial\n",
+ "print '%s %.3f' %(\" \\n Percentage error due to Ideal gas Equation =\",e)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ " \n",
+ " The value of pressure as per Ideal gas equation (atm) = 6.696\n",
+ "\n",
+ " The value of pressure as per Virial gas equation (atm) = 6.196\n",
+ " \n",
+ " Percentage error due to Ideal gas Equation = 8.072\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 7,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.3-2, page no. 203"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "\n",
+ "V=2.5 #m^3\n",
+ "n=1.00 #Kmol\n",
+ "T= 300 #K\n",
+ "Tc=304.2 #K\n",
+ "Pc=72.9 #atm\n",
+ "w=0.225\n",
+ "R=0.08206\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\"All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "Vcap=V/n\n",
+ "a=0.42747*math.pow(R*Tc,2) /Pc\n",
+ "b=0.08664*R*Tc/Pc\n",
+ "m=0.48508+ 1.5171*w -0.1561*w*w\n",
+ "Tr=T/Tc\n",
+ "alpha=math.pow(1+ m*(1-math.sqrt(Tr)),2)\n",
+ "P=(R*T/(Vcap-b))-(alpha*a/(Vcap*(Vcap+b)))\n",
+ "print '%s %.3f' %(\" \\n Pressure of gas calculated using SRK equation (atm) = \",P)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ " \n",
+ " Pressure of gas calculated using SRK equation (atm) = 9.381\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 9,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.4-1, page no. 206"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "\n",
+ "Vcap=50.0 #M^3/hr\n",
+ "P=40.0 #bar\n",
+ "T=300.0 #K\n",
+ "R=8.314\n",
+ "M=16.04 #kg/kmol\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\"All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "z=0.934\n",
+ "print '%s %.3f' %(\" \\n From the Table, z= \",z)\n",
+ "ncap=P*Vcap*101.325/(z*R*T*1.01325)\n",
+ "mcap=ncap*M\n",
+ "print '%s %.3f' %(\" \\n Mass flow rate of Methane (Kg/hr) = \",mcap)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ " \n",
+ " From the Table, z= 0.934\n",
+ " \n",
+ " Mass flow rate of Methane (Kg/hr) = 1377.071\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 10,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.4-2, page no. 209"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "\n",
+ "n=100.0 #gm-moles\n",
+ "V=5.0 #ltr\n",
+ "T= -20.6 + 273.2 #K\n",
+ "Tc=126.2 #K\n",
+ "Pc=33.5 #atm\n",
+ "R=0.08206\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\"All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "Tr=T/Tc\n",
+ "Vrideal=V*Pc/(n*R*Tc)\n",
+ "print '%s %.3f' %(\" \\n Tr= \",Tr)\n",
+ "print '%s %.3f' %(\"\\n Vrideal=\",Vrideal)\n",
+ "z=1.77\n",
+ "print '%s %.3f' %(\"\\n From the graphs, z=\",z)\n",
+ "P=z*R*T*n/V\n",
+ "Pr=P/Pc\n",
+ "print '%s %.3f' %(\" \\n Pr= \",Pr)\n",
+ "print '%s %.3f' %(\" \\n Pressure in the cylinder (atm) = \",P)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ " \n",
+ " Tr= 2.002\n",
+ "\n",
+ " Vrideal= 0.162\n",
+ "\n",
+ " From the graphs, z= 1.770\n",
+ " \n",
+ " Pr= 21.904\n",
+ " \n",
+ " Pressure in the cylinder (atm) = 733.784\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 11,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.4-3, page no. 212"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "\n",
+ "yN2=0.25\n",
+ "yH2=1.0-yN2\n",
+ "P=800.0 #atm\n",
+ "T= -70+273.2 #K\n",
+ "TcH2=33.0 #K\n",
+ "TcN2=126.2 #K\n",
+ "PcH2=12.8 #atm\n",
+ "PcN2=33.5 #atm\n",
+ "R=0.0083\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\"All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "print(\"Applying newton corrections for Hydrogen,\")\n",
+ "TcaH2=TcH2+8.\n",
+ "PcaH2=PcH2+8.\n",
+ "Tcbar=yH2*TcaH2 + yN2*TcN2\n",
+ "Pcbar=yH2*PcaH2 + yN2*PcN2\n",
+ "Trbar=T/Tcbar\n",
+ "Prbar=P/Pcbar\n",
+ "print '%s %.3f' %(\" \\n Trbar = \",Trbar)\n",
+ "print '%s %.3f' %(\" \\n Prbar = \",Prbar)\n",
+ "Zm=1.86\n",
+ "print '%s %.4f' %(\" \\n From the graph, Zm = \",Zm)\n",
+ "Vcap=Zm*R*T/P\n",
+ "print '%s %.5f' %(\" \\n Specific Volume of Mixture (L/mol) = \",Vcap)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "Applying newton corrections for Hydrogen,\n",
+ " \n",
+ " Trbar = 3.262\n",
+ " \n",
+ " Prbar = 33.368\n",
+ " \n",
+ " From the graph, Zm = 1.8600\n",
+ " \n",
+ " Specific Volume of Mixture (L/mol) = 0.00392\n"
+ ]
+ }
+ ]
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Elementary_Principles_of_Chemical_Processes/Chapter6.ipynb b/Elementary_Principles_of_Chemical_Processes/Chapter6.ipynb
new file mode 100755
index 00000000..e1ddd7be
--- /dev/null
+++ b/Elementary_Principles_of_Chemical_Processes/Chapter6.ipynb
@@ -0,0 +1,1137 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:27df12dd9928a7234ef95007770cbb19da31332c34bb007953024d3646517da2"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 6: Multiphase Systems"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.1-1, page no. 244"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "\n",
+ "T2=15.4+273.2 #K\n",
+ "T1=7.6+273.2 #K\n",
+ "P1=40.0 #mm of Hg\n",
+ "P2=60.0 #mm of Hg\n",
+ "T=42.2+273.2 #K\n",
+ "R=8.314 #J/mol.k\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "print(\"let deltaHv/R = S\")\n",
+ "S= - (T1*T2* math.log(P2/P1))/(T1-T2)\n",
+ "deltahv=S*R\n",
+ "print '%s %d' %(\" \\n Latent Heat of Vaporization (J/mol) =\",deltahv)\n",
+ "B=math.log(P1) + S/T1\n",
+ "print '%s %.3f' %(\"\\n B=\",B)\n",
+ "P=math.exp(-S/T + B)\n",
+ "print '%s %.3f %s %.3f' %(\"\\n P* at\",T,\" K is (mm Hg)= \",P)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "let deltaHv/R = S\n",
+ " \n",
+ " Latent Heat of Vaporization (J/mol) = 35023\n",
+ "\n",
+ " B= 18.691\n",
+ "\n",
+ " P* at 315.400 K is (mm Hg)= 207.400\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 1,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.3-1, page no. 250"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "\n",
+ "P=760.0 #mm of Hg\n",
+ "Pstar=289.0 #mm of Hg\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "y=Pstar/P\n",
+ "print '%s %.3f %s %.3f' %(\" \\n Molar composition of Water is\",y,\" and Air is\",1-y)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ " \n",
+ " Molar composition of Water is 0.380 and Air is 0.620\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.3-2, page no. 251"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "\n",
+ "T=100.0+273.2 #K\n",
+ "PT=5260.0 #mm of Hg\n",
+ "y=0.1 #by volume\n",
+ "basis= 100 #mol of feed gas\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "P=y*PT\n",
+ "if(P<760):\n",
+ " print(\"The Vapour is Super heated\")\n",
+ "elif(P==760): \n",
+ " print(\"The vapour is At Dew point\")\n",
+ "else:\n",
+ " print(\"The vapour is not Super heated\")\n",
+ "\n",
+ "print(\"From tables Tdp=90 C\")\n",
+ "print(\"Superheat = 100-90=10 C \")\n",
+ "print(\"Using Raoult law at the outlet\")\n",
+ "y1=355/PT\n",
+ "print '%s %.3f' %(\"y1=\",y1)\n",
+ "print(\"Balance on Dry Air\")\n",
+ "n2=basis*(1-y)/(1-y1)\n",
+ "print '%s %.3f' %(\"n2 (mol) = \",n2)\n",
+ "print(\"Total mole balance\")\n",
+ "n1=basis-n2\n",
+ "print '%s %.3f' %(\"n1 (mol) = \",n1)\n",
+ "print '%s %.3f' %(\" \\n Percentage condesation=\",n1*100/(y*basis))\n",
+ "Psaturation=760/y\n",
+ "print '%s %.3f %s' %(\"\\n Any increase in pressure above\", Psaturation,\" mm of Hg must cause condensation \")\n",
+ "print(\" \\n For the next part of the problem use the same code by modifying PT to be 8500 mm of Hg\")\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "The Vapour is Super heated\n",
+ "From tables Tdp=90 C\n",
+ "Superheat = 100-90=10 C \n",
+ "Using Raoult law at the outlet\n",
+ "y1= 0.067\n",
+ "Balance on Dry Air\n",
+ "n2 (mol) = 96.514\n",
+ "Total mole balance\n",
+ "n1 (mol) = 3.486\n",
+ " \n",
+ " Percentage condesation= 34.862\n",
+ "\n",
+ " Any increase in pressure above 7600.000 mm of Hg must cause condensation \n",
+ " \n",
+ " For the next part of the problem use the same code by modifying PT to be 8500 mm of Hg\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 1,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.3-3, page no. 254"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "\n",
+ "T=75.0 +273 #K\n",
+ "P75=289.0 #mm of Hg\n",
+ "hr=0.3\n",
+ "Porig=825.0 #mm of Hg\n",
+ "PorigBar=1.1 #bar\n",
+ "Vdot=1000.0 #M^3/h\n",
+ "R=0.0831\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print (\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "P=hr*P75\n",
+ "y=P/Porig\n",
+ "ndot=PorigBar*Vdot/(R*T)\n",
+ "ndotWater=ndot*y\n",
+ "print '%s %.3f' %(\" \\n Molar flowrate of Water (Kmol/h) = \",ndotWater)\n",
+ "ndotBDA=ndot*(1-y)\n",
+ "print '%s %.3f' %(\" \\n Molar flowrate of Dry Air (Kmol/h) = \",ndotBDA)\n",
+ "ndotO2=ndotBDA*0.21\n",
+ "print '%s %.3f' %(\" \\n Molar flowrate of Oxygen (Kmol/h) = \",ndotO2)\n",
+ "hm=P/(Porig-P)\n",
+ "ha=hm*18/29\n",
+ "hmdot=P75/(Porig-P75)\n",
+ "hp=100*hm/hmdot\n",
+ "print '%s %.3f' %(\" \\n Molal Humidity (mol water/mol BDA) = \",hm)\n",
+ "print '%s %.3f' %(\" \\n Absolute Humidity (kg water/kg BDA) = \",ha)\n",
+ "print '%s %.3f' %(\" \\n Percentage Humidity=\",hp)\n",
+ "print(\"\\n From table B.3, Tdp=48.7 C\")\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ " \n",
+ " Molar flowrate of Water (Kmol/h) = 3.997\n",
+ " \n",
+ " Molar flowrate of Dry Air (Kmol/h) = 34.040\n",
+ " \n",
+ " Molar flowrate of Oxygen (Kmol/h) = 7.148\n",
+ " \n",
+ " Molal Humidity (mol water/mol BDA) = 0.117\n",
+ " \n",
+ " Absolute Humidity (kg water/kg BDA) = 0.073\n",
+ " \n",
+ " Percentage Humidity= 21.780\n",
+ "\n",
+ " From table B.3, Tdp=48.7 C\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 2,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.4-1, page no. 255"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "\n",
+ "basis=100.0 #lb-mole/h\n",
+ "x=0.45\n",
+ "PH2O=31.6 #mm of Hg\n",
+ "PSO2=176.0 #mm of Hg\n",
+ "P=760.0 #mm of Hg\n",
+ "y=2.0\n",
+ "M1=64.0 \n",
+ "M2=18.0\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "yH2O=PH2O/P\n",
+ "ySO2=PSO2/P\n",
+ "yAir=1-yH2O-ySO2\n",
+ "print(\"Using Air balance, \")\n",
+ "nG2=(1-x)*basis/yAir\n",
+ "print '%s %.3f' %(\"nG2 (lbm/h) = \",nG2)\n",
+ "xSO2=y/102\n",
+ "xH2O=1-xSO2\n",
+ "print(\"Using SO2 balance, \")\n",
+ "nL2=(basis*x-nG2*ySO2)*M1/(xSO2)\n",
+ "print '%s %.3f' %(\"nL2 (lbm/h) = \",nL2)\n",
+ "print(\"Using H2O balance, \")\n",
+ "nL1=nG2*yH2O*M2 + nL2*xH2O\n",
+ "print '%s %.3f' %(\"nL1 (lbm H2O/h) = \",nL1)\n",
+ "SO2Absorbed=nL2*xSO2\n",
+ "SO2Fed=basis*x*M1\n",
+ "Fraction=SO2Absorbed/SO2Fed\n",
+ "print '%s %.3f' %(\" \\n Fraction SO2 absorbed (lbm SO2 absorbed/lbm SO2 fed) = \",Fraction)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "Using Air balance, \n",
+ "nG2 (lbm/h) = 75.670\n",
+ "Using SO2 balance, \n",
+ "nL2 (lbm/h) = 89683.186\n",
+ "Using H2O balance, \n",
+ "nL1 (lbm H2O/h) = 87981.325\n",
+ " \n",
+ " Fraction SO2 absorbed (lbm SO2 absorbed/lbm SO2 fed) = 0.611\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 3,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.4-2, page no. 258"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "\n",
+ "basis=100.0 #lb-mole/h\n",
+ "x=0.45\n",
+ "PH2O=31.6 #mm of Hg\n",
+ "PSO2=176.0 #mm of Hg\n",
+ "P=760.0 #mm of Hg\n",
+ "y=2.0\n",
+ "M1=64.0 \n",
+ "M2=18.0\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "yH2O=PH2O/P\n",
+ "ySO2=PSO2/P\n",
+ "yAir=1-yH2O-ySO2\n",
+ "print(\"Using Air balance, \")\n",
+ "nG2=(1-x)*basis/yAir\n",
+ "print '%s %.3f' %(\"nG2 (lbm/h) = \",nG2)\n",
+ "xSO2=y/102\n",
+ "xH2O=1-xSO2\n",
+ "print(\"Using SO2 balance, \")\n",
+ "nL2=(basis*x-nG2*ySO2)*M1/(xSO2)\n",
+ "print '%s %.3f' %(\"nL2 (lbm/h) = \",nL2)\n",
+ "print(\"Using H2O balance, \")\n",
+ "nL1=nG2*yH2O*M2 + nL2*xH2O\n",
+ "print '%s %.3f' %(\"nL1 (lbm H2O/h) = \",nL1)\n",
+ "SO2Absorbed=nL2*xSO2\n",
+ "SO2Fed=basis*x*M1\n",
+ "Fraction=SO2Absorbed/SO2Fed\n",
+ "print '%s %.3f' %(\" \\n Fraction SO2 absorbed (lbm SO2 absorbed/lbm SO2 fed) = \",Fraction)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "Using Air balance, \n",
+ "nG2 (lbm/h) = 75.670\n",
+ "Using SO2 balance, \n",
+ "nL2 (lbm/h) = 89683.186\n",
+ "Using H2O balance, \n",
+ "nL1 (lbm H2O/h) = 87981.325\n",
+ " \n",
+ " Fraction SO2 absorbed (lbm SO2 absorbed/lbm SO2 fed) = 0.611\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 4,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.5-1, page no. 264"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "\n",
+ "basis=150.0 #kg feed\n",
+ "S100=0.905 #g AgNO3/g\n",
+ "S20=0.689 #g AgNO3/g\n",
+ "inputx=0.095 #kg water/kg\n",
+ "outputx=0.311 #kg water/kg\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "print(\"\\n Composition of Filter cake,\")\n",
+ "print(\"\\n m2=4m3\")\n",
+ "print(\"\\n Water balance around the crystallizer,\")\n",
+ "print '%s' %(\"\\n basis*inputx* kg H2O = outputx m1 + outputx m1 \\n\")\n",
+ "print(\"Mass balance around crystallizer, \\n\")\n",
+ "print '%d %s' %(basis,\"=m1+m2+m3\")\n",
+ "A=([[0, 1, -4],[outputx, 0, outputx],[1, 1, 1]])\n",
+ "b=([[0],[basis*inputx],[basis]])\n",
+ "C=numpy.dot(linalg.inv(A),b)\n",
+ "#Here we solved two linear equations simultaneously\n",
+ "m1=C[0,0]\n",
+ "print '%s %.2f' %(\" \\n m1 (Kg) = \",m1)\n",
+ "m2=C[1,0]\n",
+ "print '%s %d' %(\" \\n m2 (Kg) = \",m2)\n",
+ "m3=C[2,0]\n",
+ "print '%s %d' %(\" \\n m3 (Kg) = \",m3)\n",
+ "print(\"\\n Overall AgNO3 balance,\")\n",
+ "m5=(1-inputx)*basis - (1-outputx)*m1\n",
+ "print '%s %d' %(\"\\n m5 (kg AgNO3 crystals recovered) = \",m5)\n",
+ "percentage=m5*100/(basis*(1-inputx))\n",
+ "print '%s %.3f' %(\" \\n Percentage recovery=\",percentage)\n",
+ "print(\"\\n Overall mass balance\")\n",
+ "m4=basis-m1-m5\n",
+ "print '%s %d' %(\"\\n m4 (Kg water removed in the Dryer) = \",m4)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "\n",
+ " Composition of Filter cake,\n",
+ "\n",
+ " m2=4m3\n",
+ "\n",
+ " Water balance around the crystallizer,\n",
+ "\n",
+ " basis*inputx* kg H2O = outputx m1 + outputx m1 \n",
+ "\n",
+ "Mass balance around crystallizer, \n",
+ "\n",
+ "150 =m1+m2+m3\n",
+ " \n",
+ " m1 (Kg) = 19.77\n",
+ " \n",
+ " m2 (Kg) = 104\n",
+ " \n",
+ " m3 (Kg) = 26\n",
+ "\n",
+ " Overall AgNO3 balance,\n",
+ "\n",
+ " m5 (kg AgNO3 crystals recovered) = 122\n",
+ " \n",
+ " Percentage recovery= 89.963\n",
+ "\n",
+ " Overall mass balance\n",
+ "\n",
+ " m4 (Kg water removed in the Dryer) = 8\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 5,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.5-2, page no. 266"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "\n",
+ "inputx=0.6\n",
+ "basis=100.0 #kg Feed\n",
+ "S=63.0 #Kg KNO3/100 Kg H2O\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "outputx=S/(S+100)\n",
+ "print '%s %.3f' %(\"x (Kg KNO3/Kg) = \",outputx)\n",
+ "print(\"Water balance\")\n",
+ "m1=basis*(1-inputx)/(1-outputx)\n",
+ "print '%s %.3f' %(\" \\n m1 (Kg) = \",m1)\n",
+ "print(\"Mass balance\")\n",
+ "m2=basis-m1\n",
+ "print '%s %.3f' %(\" \\n m2 (kg) = \",m2)\n",
+ "percentage=m2*100/(basis*inputx)\n",
+ "print '%s %.3f' %(\" \\n Percentage of KNO3 in the feed that crystallizes is \",percentage)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "x (Kg KNO3/Kg) = 0.387\n",
+ "Water balance\n",
+ " \n",
+ " m1 (Kg) = 65.200\n",
+ "Mass balance\n",
+ " \n",
+ " m2 (kg) = 34.800\n",
+ " \n",
+ " Percentage of KNO3 in the feed that crystallizes is 58.000\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 6,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.5-3, page no. 267"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "\n",
+ "basis=1.0 #Tonne Epsom salt produced/h\n",
+ "inputx=0.301 #Tonne MgSO4/tonne\n",
+ "outputx=0.232 #Tonne MgSO4/tonne\n",
+ "M=120.4\n",
+ "M1=246.4\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "print(\"Total mass balance\")\n",
+ "print(\"m1=1+m2\")\n",
+ "print(\"MgSO4 balance\")\n",
+ "print(\" \\n inputx m1 = bassis* M/ M1 + m2 outputx\")\n",
+ "A=([[1, -1],[inputx, -outputx]])\n",
+ "b=([[1],[basis*M/M1]])\n",
+ "C=numpy.dot(linalg.inv(A),b)\n",
+ "#Here we solved two linear equations simultaneously\n",
+ "m1=C[0,0]\n",
+ "m2=C[1,0]\n",
+ "print '%s %.3f' %(\" \\n m1 (Tonne/h) = \",m1)\n",
+ "print '%s %.3f' %(\" \\n m2 (Tonne/h) = \",m2)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "Total mass balance\n",
+ "m1=1+m2\n",
+ "MgSO4 balance\n",
+ " \n",
+ " inputx m1 = bassis* M/ M1 + m2 outputx\n",
+ " \n",
+ " m1 (Tonne/h) = 3.719\n",
+ " \n",
+ " m2 (Tonne/h) = 2.719\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 7,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.5-4, page no. 270"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "\n",
+ "m1=5.0 #g of solute\n",
+ "m2=100.0 #g of Water\n",
+ "P=1.0 #atm\n",
+ "Tf=100.421 #C\n",
+ "Ti=25.0 #C\n",
+ "R=8.314 #J/mol.K\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "x=(Tf-100.)*40656./(R*373.16*373.16)\n",
+ "y=m2/18.016\n",
+ "Ms=m1*(1-x)/(y*x)\n",
+ "print '%s %.3f' %(\" \\n Ms (g/mol) =\",Ms)\n",
+ "deltaTm=R*273.16*273.16*x/6009.5\n",
+ "Tms=0-deltaTm\n",
+ "print '%s %.3f' %(\" \\n Tms (C)=\",Tms)\n",
+ "Pstar=(1-x)*23.756\n",
+ "print '%s %.3f' %(\" \\n Solvent Vapour pressure (mm Hg) = \",Pstar)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ " \n",
+ " Ms (g/mol) = 60.028\n",
+ " \n",
+ " Tms (C)= -1.526\n",
+ " \n",
+ " Solvent Vapour pressure (mm Hg) = 23.405\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 8,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6-1, page no. 272"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "\n",
+ "V1=200.0 #CC Acetone\n",
+ "x=0.1 #Wt acetone \n",
+ "V2=400.0 #CC chloroform\n",
+ "DA=0.792 #g/cc\n",
+ "DC=1.489 #g/cc\n",
+ "DW=1.0 #g/cc\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "Dbar=DA*DW/(x*DW + (1-x)*DA)\n",
+ "mass1=V1*Dbar\n",
+ "mass2=V2*DC\n",
+ "print(\"C balance\")\n",
+ "m4=mass2\n",
+ "print '%s %.3f' %(\" \\n m4=\",m4)\n",
+ "print(\"W balance\")\n",
+ "m2=(1-x)*mass1\n",
+ "print '%s %.3f' %(\" \\n m2=\",m2)\n",
+ "print(\"A balance\")\n",
+ "print(\"m1+m3=x * mass1\")\n",
+ "print(\"Distribution Cooefficient ,K=m3*(m1+m2)/m1*(m3+m4)\")\n",
+ "print(\"On solving, \")\n",
+ "m1=2.7\n",
+ "m3=16.8\n",
+ "percentage=m3*100/(x*mass1)\n",
+ "print '%s %.3f' %(\" \\n m1=\",m1)\n",
+ "print '%s %.3f' %(\" \\n m3=\",m3)\n",
+ "print '%s %.3f' %(\" \\n percentage of acetone transferred to chloroform=\",percentage)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "C balance\n",
+ " \n",
+ " m4= 595.600\n",
+ "W balance\n",
+ " \n",
+ " m2= 175.394\n",
+ "A balance\n",
+ "m1+m3=x * mass1\n",
+ "Distribution Cooefficient ,K=m3*(m1+m2)/m1*(m3+m4)\n",
+ "On solving, \n",
+ " \n",
+ " m1= 2.700\n",
+ " \n",
+ " m3= 16.800\n",
+ " \n",
+ " percentage of acetone transferred to chloroform= 86.206\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 9,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6-2, page no. 274"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "\n",
+ "basis=1000.0 #Kg of solution\n",
+ "inputxA=0.3 #Wt. fraction of acetone\n",
+ "outputxA1=0.05\n",
+ "outputxM1=0.02\n",
+ "outputxA2=0.1\n",
+ "outputxM2=0.87\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "print(\"Mass balance\")\n",
+ "print(\"ms + basis = mE + mR\")\n",
+ "print(\"acetone balance\")\n",
+ "print(\"inputxA *basis = outputxA2 *mE + outputxA1* mR\")\n",
+ "print(\"Water balance\")\n",
+ "print(\" \\n 1-inputxA *basis = 1-outputxA2-outputxM2 *mE + 1-outputxA1-outputxM1* mR\")\n",
+ "A=([[1, 1, -1],[outputxA2, outputxA1, 0],[1-outputxA2-outputxM2, 1-outputxA1-outputxM1, 0]])\n",
+ "b=([[basis],[inputxA*basis],[(1-inputxA)*basis]])\n",
+ "C=numpy.dot(linalg.inv(A),b)\n",
+ "#Here We solved three linear equations simultaneously\n",
+ "mE=C[0,0]\n",
+ "mR=C[1,0]\n",
+ "mS=C[2,0]\n",
+ "print '%s %.3f' %(\" \\n mE (Kg) = \",mE)\n",
+ "print '%s %.3f' %(\" \\n mR (Kg) = \",mR)\n",
+ "print '%s %.3f' %(\" \\n mS (Kg MIBK) = \",mS)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "Mass balance\n",
+ "ms + basis = mE + mR\n",
+ "acetone balance\n",
+ "inputxA *basis = outputxA2 *mE + outputxA1* mR\n",
+ "Water balance\n",
+ " \n",
+ " 1-inputxA *basis = 1-outputxA2-outputxM2 *mE + 1-outputxA1-outputxM1* mR\n",
+ " \n",
+ " mE (Kg) = 2666.667\n",
+ " \n",
+ " mR (Kg) = 666.667\n",
+ " \n",
+ " mS (Kg MIBK) = 2333.333\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 10,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.7-1, page no. 276"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "\n",
+ "V=50.0 #L\n",
+ "P=1.0 #atm\n",
+ "T=34.0+273.2 #K\n",
+ "y=0.3\n",
+ "xF=0.001\n",
+ "R=0.08206\n",
+ "Pstar=169.0 #mm of Hg\n",
+ "Pmm=760.0 #mm of Hg\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "n=P*V/(R*T)\n",
+ "print '%s %.3f' %(\" \\n No.of moles (mol) = \",n)\n",
+ "y0=y*Pstar/Pmm\n",
+ "print '%s %.3f' %(\" \\n Y0= (mol CCl4/mol) = \",y0)\n",
+ "Pfinal=xF*Pmm\n",
+ "b=0.096*Pfinal\n",
+ "Xstar=0.794*b/(1+b)\n",
+ "print '%s %.3f' %(\" \\n Mass of CCl4 adsorbed to Carbon at equilibrium (g CCl4 ads/g C) = \",Xstar)\n",
+ "Mads=(y0*n- xF*n)*154\n",
+ "print '%s %.3f' %(\" \\n Mass of CCl4 adsorbed (g) = \",Mads)\n",
+ "Mc=Mads/Xstar\n",
+ "print '%s %.3f' %(\" \\n Mass of carbon Required (g) = \",Mc)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ " \n",
+ " No.of moles (mol) = 1.983\n",
+ " \n",
+ " Y0= (mol CCl4/mol) = 0.067\n",
+ " \n",
+ " Mass of CCl4 adsorbed to Carbon at equilibrium (g CCl4 ads/g C) = 0.054\n",
+ " \n",
+ " Mass of CCl4 adsorbed (g) = 20.071\n",
+ " \n",
+ " Mass of carbon Required (g) = 371.750\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 11,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Elementary_Principles_of_Chemical_Processes/Chapter7.ipynb b/Elementary_Principles_of_Chemical_Processes/Chapter7.ipynb
new file mode 100755
index 00000000..6fdddf6a
--- /dev/null
+++ b/Elementary_Principles_of_Chemical_Processes/Chapter7.ipynb
@@ -0,0 +1,893 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:140795a2dc739119552fbce01ad304d2882d8bdd1339a30f3767fc2e9c80a840"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 7: Energy and Energy Balances"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.2-1, page no. 318"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "ID=2.0 #cm\n",
+ "Vdot=2.0 #m^3/h\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "u=Vdot*100*100 /(math.pi*math.pow(ID/2,2) *3600)\n",
+ "mdot=Vdot*math.pow(10,3) /3600.\n",
+ "Ek=mdot*math.pow(u,2) /2\n",
+ "print '%s %.3f' %(\" \\n Ek (J/s) = \",Ek)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ " \n",
+ " Ek (J/s) = 0.869\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 1,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.2-2, page no. 318"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "g=9.81 #m/s^2\n",
+ "mdot=15.0 #Kg/s\n",
+ "z2=20.0 #m\n",
+ "z1=-220. #m\n",
+ "\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "Power=mdot*g*(z2-z1)\n",
+ "print '%s %d' %(\" \\n Power (J/s) = \",Power)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ " \n",
+ " Power (J/s) = 35316\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 2,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.3-1, page no. 319"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initilization of variables\n",
+ "Q1=2. #Kcal\n",
+ "Ek1=0#System is stationary\n",
+ "Ep1=0#No vertical displacement\n",
+ "W1=0#No moving boundaries\n",
+ "deltaU1=Q1-W1-Ek1-Ep1\n",
+ "deltaU1J=deltaU1*1000./0.23901 \n",
+ "print '%s %.2f' %(\"Energy gained by the gas in going from 25C to 100C is (J)\",deltaU1J)\n",
+ "W2=100. #J\n",
+ "Ek2=0 #The system is stationary at the initial and final states\n",
+ "Ep2=0#Assumed negligible by hypothesis\n",
+ "deltaU2=0#U depends only on T for an ideal gas and T doesn't change\n",
+ "Q2=deltaU2+W2+Ek2+Ep2\n",
+ "print '%s %.1f' %(\"Heat transferred to the gas while it expands and reequilibrates at 100C is (J)\",Q2)\n",
+ "raw_input(\"Press the Enter key to quit\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Energy gained by the gas in going from 25C to 100C is (J) 8367.85\n",
+ "Heat transferred to the gas while it expands and reequilibrates at 100C is (J) 100.0\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Press the Enter key to quit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 3,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.4-1, page no. 322"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "U=3800.0 #J/mol\n",
+ "P=1.0 #atm\n",
+ "Vcap=24.63 #L/mol\n",
+ "ndot=250.0 #Kmol/h\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "Hcap=U+P*Vcap*101.3\n",
+ "H=ndot*Hcap*math.pow(10,3)\n",
+ "print '%s %d' %(\" \\n Specific Enthalpy (J/mol) = \",Hcap)\n",
+ "print '%s %.3E' %(\"\\n Enthalpy of Helium (J/h) = \",H)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ " \n",
+ " Specific Enthalpy (J/mol) = 6295\n",
+ "\n",
+ " Enthalpy of Helium (J/h) = 1.574E+09\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 4,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.4-2, page no. 324"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "mdot=500.0/3600.#Kg/s\n",
+ "u1=60.0 #m/s\n",
+ "u2=360.0 #m/s\n",
+ "deltaZ=-5. #m\n",
+ "g=9.81 #m/s^2\n",
+ "Qdot= -10000.#Kcal/h\n",
+ "Ws=70.0 #KW\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "Ek=mdot*math.pow(10,-3)*(math.pow(u2,2)-math.pow(u1,2))/2\n",
+ "Ep=mdot*g*deltaZ/math.pow(10,3)\n",
+ "Qdot=Qdot/(0.239*3600.)\n",
+ "Hdot=Qdot-Ws-Ek-Ep\n",
+ "print '%s %f' %(\" \\n DeltaH (KW) = \",Hdot)\n",
+ "Hcap=Hdot/mdot\n",
+ "print '%s %f' %(\"\\n Specific Enthalpy (Kj/Kg) = \",Hcap)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ " \n",
+ " DeltaH (KW) = -90.365689\n",
+ "\n",
+ " Specific Enthalpy (Kj/Kg) = -650.632958\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 6,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.5-1, page no. 326"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "H0=196.23 #Btu/lbm\n",
+ "H50=202.28 #Btu/lbm\n",
+ "Pfinal=51.99 #psia\n",
+ "Pinitial=18.90 #psia\n",
+ "Vfinal=1.920 #ft^3/lbm\n",
+ "Vinitial=4.969 #ft^3/lbm\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "deltaH=H0-H50\n",
+ "deltaU=deltaH+((Pfinal*Vfinal-Pinitial*Vinitial)*1.987/10.73)\n",
+ "print '%s %.3f' %(\" \\n change in Specific Enthalpy (Btu/lbm) = \",deltaH)\n",
+ "print '%s %.3f' %(\" \\n change in Specific Internal Energy (Btu/lbm) = \",deltaU)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ " \n",
+ " change in Specific Enthalpy (Btu/lbm) = -6.050\n",
+ " \n",
+ " change in Specific Internal Energy (Btu/lbm) = -4.956\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 8,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.5-3, page no. 329"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "mdot=2000.0 #Kg/h\n",
+ "P=10.0 #bar\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "print(\"From Steam tables, \")\n",
+ "Hin=3201. #Kj/Kg\n",
+ "Hout=2675. #Kj/Kg\n",
+ "Ws= -mdot*(Hout-Hin)/3600.\n",
+ "print '%s %d' %(\"Work delivered by Turbine to surroundings (Kw) = \",Ws)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "From Steam tables, \n",
+ "Work delivered by Turbine to surroundings (Kw) = 292\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 9,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.6-1, page no. 330"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "m1=120.0 #kg\n",
+ "m2=175.0 #kg\n",
+ "m3=295.0 #kg\n",
+ "ID=6.0 #cm\n",
+ "P=17.0 #bar\n",
+ "H1=125.7 #Kj/Kg\n",
+ "H2=271.9 #Kj/Kg\n",
+ "H3=2793.0 #Kj/kg\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "deltaH=m3*H3-m1*H1-m2*H2\n",
+ "print(\"From tables, Vdot=0.1166 m^3/kg\")\n",
+ "Vdot=0.1166 \n",
+ "A=math.pi*math.pow(ID/2,2) /math.pow(10,4)\n",
+ "u=m3*Vdot/(A*60)\n",
+ "Ek=m3*math.pow(u,2) /(2*math.pow(10,3))\n",
+ "Qdot=deltaH+Ek\n",
+ "print '%s %.3E' %(\"Heat required (Kj/min) = \",Qdot)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "From tables, Vdot=0.1166 m^3/kg\n",
+ "Heat required (Kj/min) = 7.673E+05\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 10,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.6-2, page no. 331"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "basis=1.0 #Kg/s\n",
+ "x=0.6 #ethane\n",
+ "T1=150.0 #K\n",
+ "T2=250.0 #K\n",
+ "P=5.0 #bar\n",
+ "Hout1=434.5 #KJ/Kg\n",
+ "Hout2=130.2 #KJ/Kg\n",
+ "Hin1=314.3 #KJ/Kg\n",
+ "Hin2=30.0 #KJ/Kg\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "Qdot=basis*(x*Hout1+(1-x)*Hout2-x*Hin1-(1-x)*Hin2)\n",
+ "print '%s %.3f' %(\" \\n Heat required (KJ/Kg) = \",Qdot/basis)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ " \n",
+ " Heat required (KJ/Kg) = 112.200\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 11,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.6-3, page no. 332"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "m3=1150.0 #Kg/h\n",
+ "H3=2676.0 #KJ/Kg\n",
+ "H2=3074.0 #KJ/Kg\n",
+ "H1=3278.0 #KJ/Kg\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "print(\"Mass balance on Water,\")\n",
+ "print(\"m3+m1=m2\")\n",
+ "print(\"Energy balance,\")\n",
+ "print(\"m3*H3+m1*H1=m2*H2\")\n",
+ "A=([[1,-1],[H2,-H1]])\n",
+ "b=([[m3],[m3*H3]])\n",
+ "C=numpy.dot(linalg.inv(A),b)\n",
+ "#here we solved two linear equations simultaneously.\n",
+ "m2=C[0,0]\n",
+ "m1=C[1,0]\n",
+ "print '%s %.3f' %(\" Input flowrate,m1 (Kg/h) = \",m1)\n",
+ "print '%s %.3f' %(\" \\n Output flowrate, m2 (Kg/h) = \",m2)\n",
+ "print(\"From tables,Vdot=3.11 m^3/Kg\")\n",
+ "Vdot=3.11\n",
+ "print '%s %.3f' %(\" Volumetric input flowrate (m^3/h) = \",m1*Vdot)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "Mass balance on Water,\n",
+ "m3+m1=m2\n",
+ "Energy balance,\n",
+ "m3*H3+m1*H1=m2*H2\n",
+ " Input flowrate,m1 (Kg/h) = 2243.627\n",
+ " \n",
+ " Output flowrate, m2 (Kg/h) = 3393.627\n",
+ "From tables,Vdot=3.11 m^3/Kg\n",
+ " Volumetric input flowrate (m^3/h) = 6977.681\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 12,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.7-1, page no. 334"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "Vdot=20.0 #L/min\n",
+ "P2=1.01325*100000. #atm\n",
+ "ID1=0.5 #cm\n",
+ "ID2=1.0 #cm\n",
+ "g=9.81 #m/s^2\n",
+ "deltaZ=50.0 #m\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "u1=Vdot*math.pow(10,4) /(math.pow(10,3) *60*math.pi*math.pow(ID1/(2),2))\n",
+ "u2=Vdot*math.pow(10,4) /(math.pow(10,3) *60*math.pi*math.pow(ID2/(2),2))\n",
+ "deltaP=-((u2*u2-u1*u1)/2 +g*deltaZ)*1000.\n",
+ "P1=P2-deltaP\n",
+ "print '%s %.3f' %(\" \\n P1 (Pa) = \",P1)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ " \n",
+ " P1 (Pa) = 456730.088\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 13,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.7-2, page no. 335"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "deltaZ= -2.5 #ft\n",
+ "u1=0.0\n",
+ "D=50.0 #lbm/ft^3\n",
+ "F=0.80 #ft.lbf/lbm\n",
+ "V=5.0 #gal\n",
+ "g=32.174 #ft/s^2\n",
+ "ID=0.25 #in\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "u2=math.sqrt(2*32.174*(-F-g*deltaZ/32.174))\n",
+ "Vdot=u2*math.pi*math.pow(ID/(2),2) /144.\n",
+ "t=V*0.1337/(Vdot*60.)\n",
+ "print '%s %.3f' %(\"Total time taken (min) = \",t)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "Total time taken (min) = 3.125\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 14,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.7-3, page no. 336"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "Ws=1000000. #N.m/s\n",
+ "deltaP= -83.*1000. #N/m^2\n",
+ "g=9.81 #m/s^2\n",
+ "deltaZ= -103 #m\n",
+ "D=1000. #kg/m^3\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "mdot= -Ws/(deltaP/D + g*deltaZ)\n",
+ "print'%s %.3f' %(\" \\n Water flow rate (kg/s) = \",mdot)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ " \n",
+ " Water flow rate (kg/s) = 914.553\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 15,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Elementary_Principles_of_Chemical_Processes/Chapter8.ipynb b/Elementary_Principles_of_Chemical_Processes/Chapter8.ipynb
new file mode 100755
index 00000000..34aa53f2
--- /dev/null
+++ b/Elementary_Principles_of_Chemical_Processes/Chapter8.ipynb
@@ -0,0 +1,1053 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:96d9d4935cd6f3c8e019e8d452a9980bb4f36e96fb606a03b9b38b11670ead8c"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 8: Balances on Nonreactive Processes"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.1-1, page no. 362"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "basis=100. #mol/s\n",
+ "ninAcv=66.9 #mol/s\n",
+ "noutAcv=3.35 #mol/s\n",
+ "noutAcl=63.55 #mol/s\n",
+ "ninN2=33.1 #mol/s\n",
+ "noutN2=ninN2\n",
+ "HinAcv=35.7 #Kj/mol\n",
+ "HoutAcv=32.0 #Kj/mol\n",
+ "HinN2=1.16 #Kj/mol\n",
+ "HoutN2= -0.10 #Kj/mol\n",
+ "#Calculations and printing:\n",
+ "deltaH=noutAcv*HoutAcv+ noutN2*HoutN2-ninN2*HinN2-ninAcv*HinAcv\n",
+ "Q=deltaH\n",
+ "print '%s %.2f' %(\"Heat transferred from condenser to achieve required cooling and condensation at the rate of (kW) \",Q)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Heat transferred from condenser to achieve required cooling and condensation at the rate of (kW) -2322.84\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 2,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.3-1, page no. 367"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "mass=200.0 #kg\n",
+ "Ti=20.0 #C\n",
+ "Tf=150.0 #C\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook \\n \")\n",
+ "def Cv(T):\n",
+ " Cv=0.855+ T*9.42*math.pow(10,-4)\n",
+ " return Cv\n",
+ "\n",
+ "Ucap, err= scipy.integrate.quad(Cv,Ti,Tf) #integrate.quad is an inbult function used for definite integration\n",
+ "Q=mass*Ucap\n",
+ "print '%s %.3f' %(\"Heat Required (KJ) = \",Q)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook \n",
+ " \n",
+ "Heat Required (KJ) = 24311.820\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 3,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.3-2, page no. 369"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "T1=20.0 #C\n",
+ "T2=100.0 #C\n",
+ "T3=90.0 #C\n",
+ "T4=30.0 #C\n",
+ "P=3.0 #bar\n",
+ "V=5.0 #L\n",
+ "R=0.08314 #L.bar/mol.K\n",
+ "T=363.0 #K\n",
+ "ndot=100.0 #mol/min\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook \\n \")\n",
+ "print(\"part 1\")\n",
+ "def fun1(T):\n",
+ " fun1=0.02900+ T*0.2199*math.pow(10,-5) + math.pow(T,2) * 0.5723 *math.pow(10,-8) - math.pow(T,3) * 2.871 * math.pow(10,-12)\n",
+ " return fun1\n",
+ "\n",
+ "deltaH, err=scipy.integrate.quad(fun1,T1,T2) #scipy.integrate.quad is an inbult function used for definite integration\n",
+ "Qdot=ndot*deltaH\n",
+ "print '%s %.3f' %(\"Heat Transferred (KJ/min) = \",Qdot)\n",
+ "print(\"part2\")\n",
+ "def fun2(T):\n",
+ " fun2=0.02900+ T*0.2199*math.pow(10,-5) + math.pow(T,2) * 0.5723 *math.pow(10,-8) - math.pow(T,3) * 2.871 * math.pow(10,-12)-8.14* math.pow(10,-3)\n",
+ " return fun2\n",
+ "\n",
+ "deltaU, err2=scipy.integrate.quad(fun2,T3,T4) #scipy.integrate.quad is an inbult function used for definite integration\n",
+ "n=P*V/(R*T)\n",
+ "Q=n*deltaU\n",
+ "print '%s %.3f' %(\"Heat transferred (KJ) = \",Q)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook \n",
+ " \n",
+ "part 1\n",
+ "Heat Transferred (KJ/min) = 233.238\n",
+ "part2\n",
+ "Heat transferred (KJ) = -0.627\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 4,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.3-3, page no. 371"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "T1=430.0 #C\n",
+ "T2=100.0 #C\n",
+ "ndot=15.0 #Kmol/min\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook \\n \")\n",
+ "def fun(T):\n",
+ " fun=0.02894 + T* 0.4147 *math.pow(10,-5) + math.pow(T,2) * 0.3191 * math.pow(10,-8) - math.pow(T,3) * 1.965 * math.pow(10,-12)\n",
+ " return fun\n",
+ "\n",
+ "deltaH, err=scipy.integrate.quad(fun,T1,T2) #scipy.integrate.quad is an inbult function used for definite integration\n",
+ "Qdot=ndot*deltaH*math.pow(10,3) /60.\n",
+ "print '%s %.3f' %(\" \\n Rate of heat removal (KW) = \",Qdot)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook \n",
+ " \n",
+ " \n",
+ " Rate of heat removal (KW) = -2494.904\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 5,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.3-4, page no. 373"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "x=0.6\n",
+ "T1=0.0\n",
+ "T2=400.0\n",
+ "ndot=150.0 #mol/h\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook \\n \")\n",
+ "def fun1(T):\n",
+ " fun1=0.04937 + T*13.92*math.pow(10,-5) - math.pow(T,2) *5.816*math.pow(10,-8) + math.pow(T,3) *7.280 * math.pow(10,-12)\n",
+ " return fun1\n",
+ "\n",
+ "def fun2(T):\n",
+ " fun2=0.06803 +T*22.59*math.pow(10,-5) - math.pow(T,2) *13.11*math.pow(10,-8) + math.pow(T,3) *31.71 * math.pow(10,-12)\n",
+ " return fun2\n",
+ "\n",
+ "def fun(T):\n",
+ " fun=x*fun1(T)+ (1-x)*fun2(T)\n",
+ " return fun\n",
+ "\n",
+ "deltaH , err=scipy.integrate.quad(fun,T1,T2) #scipy.integrate.quad is an inbult function used for definite integration\n",
+ "print '%s %.3f' %(\" \\n Heat capacity of Mixture (KJ/mol) = \",deltaH)\n",
+ "Qdot=ndot*deltaH\n",
+ "print '%s %.3f' %(\" \\n Heat Required (KJ/h) = \",Qdot)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook \n",
+ " \n",
+ " \n",
+ " Heat capacity of Mixture (KJ/mol) = 34.890\n",
+ " \n",
+ " Heat Required (KJ/h) = 5233.495\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 6,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.3-5, page no. 374"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "x=0.1 #CH4\n",
+ "T1=20.0\n",
+ "T2=300.0\n",
+ "Vdot=2000.0 #L/min\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook \\n \")\n",
+ "ndot=Vdot/22.4\n",
+ "def fun(T):\n",
+ " fun=0.03431 + T*5.469*math.pow(10,-5) + math.pow(T,2) *0.3661*math.pow(10,-8) + math.pow(T,3) *11*math.pow(10,-12)\n",
+ " return fun\n",
+ "\n",
+ "H1 ,err=scipy.integrate.quad(fun,T1,T2) #scipy.integrate.quad is an inbult function used for definite integration\n",
+ "print '%s %.3f' %(\"H1 (Kj/mol) = \",H1)\n",
+ "print(\"From Tables H2= -0.15 Kj/mol , H3=8.17 Kj/mol\")\n",
+ "H2= -0.15\n",
+ "H3=8.17\n",
+ "Qdot=(ndot*x*H1+ ndot*(1-x)*(H3-H2))/60.\n",
+ "print '%s %.3f' %(\"Heat Input (KW) = \",Qdot)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook \n",
+ " \n",
+ "H1 (Kj/mol) = 12.112\n",
+ "From Tables H2= -0.15 Kj/mol , H3=8.17 Kj/mol\n",
+ "Heat Input (KW) = 12.945\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 7,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.4-1, page no. 379"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "mdot=1500.0 #g/min\n",
+ "M=32.0 #g/mol\n",
+ "deltaHv=35.3 #Kj/mol\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook \\n \")\n",
+ "Qdot=mdot*deltaHv/(M*60.)\n",
+ "print '%s %.3f' %(\"Rate of Heat transfer (KW) = \",Qdot)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook \n",
+ " \n",
+ "Rate of Heat transfer (KW) = 27.578\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 9,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.4-2, page no. 379"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "deltaHv=28.85 #Kj/mol at 69 C\n",
+ "T1=25.0 #C\n",
+ "T2=69.0 #C\n",
+ "Cp=0.2163 #Kj/mol C\n",
+ "V=1.0 #L\n",
+ "P=7.0 #bar\n",
+ "D=0.659 #KG/L\n",
+ "M=86.17 #Kg\n",
+ "ndot=100.0 #mol/h\n",
+ "T3=300.0 #C\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "print(\"We have deltaHv at 69C hence We follow path ADG\")\n",
+ "deltaHA=Cp*(T2-T1) + V*(1.013-P)*M/(D*math.pow(10,4))\n",
+ "print '%s %.3f' %(\" \\n deltaHA (Kj/mol) =\",deltaHA)\n",
+ "deltaHD=deltaHv\n",
+ "print '%s %.3f' %(\" \\n deltaHD (Kj/Kg) =\",deltaHD)\n",
+ "def fun1(T):\n",
+ " fun1=0.13744 + T*40.85*math.pow(10,-5) - math.pow(T,2) *23.92*math.pow(10,-8) + math.pow(T,3) *57.66*math.pow(10,-12)\n",
+ " return fun1\n",
+ "\n",
+ "deltaHG, err=scipy.integrate.quad(fun1,T2,T3) #scipy.integrate.quad is an inbult function used for definite integration\n",
+ "print '%s %.3f' %(\" \\n deltaHG (KJ/mol) = \",deltaHG)\n",
+ "Qdot=ndot*(deltaHA+deltaHD+deltaHG)/3600\n",
+ "print '%s %.3f' %(\" \\n rate of Heat supply (KJ/mol) = \",Qdot)\n",
+ "print(\" \\n In this problem we neglected V*deltaP as it is negligible \")\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "We have deltaHv at 69C hence We follow path ADG\n",
+ " \n",
+ " deltaHA (Kj/mol) = 9.439\n",
+ " \n",
+ " deltaHD (Kj/Kg) = 28.850\n",
+ " \n",
+ " deltaHG (KJ/mol) = 47.149\n",
+ " \n",
+ " rate of Heat supply (KJ/mol) = 2.373\n",
+ " \n",
+ " In this problem we neglected V*deltaP as it is negligible \n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 10,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.4-3, page no. 382"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "T1=337.9 #K\n",
+ "T2=473.0 #K\n",
+ "Tc=513.2 #K\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "print(\"using Trouton rule,\")\n",
+ "deltaHvT1=0.109*T1\n",
+ "print(\"In this case, trouton rule gives a better estimate\")\n",
+ "print(\"using Watson correction\")\n",
+ "deltaHvT2=36.8*math.pow(((Tc-T2)/(Tc-T1)),0.38)\n",
+ "print '%s %.3f' %(\"Estimated value using Trouton rule (Kj/mol) = \",deltaHvT1)\n",
+ "print '%s %.3f' %(\" \\n Estimated value using watson correction (Kj/mol) = \",deltaHvT2)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "using Trouton rule,\n",
+ "In this case, trouton rule gives a better estimate\n",
+ "using Watson correction\n",
+ "Estimated value using Trouton rule (Kj/mol) = 36.831\n",
+ " \n",
+ " Estimated value using watson correction (Kj/mol) = 21.029\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 11,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.4-4, page no. 383"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "basis=1.0 #mol feed\n",
+ "x=0.684 #mole fraction Of B\n",
+ "y=0.4\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "A=([[1, 1],[x ,y]])\n",
+ "b=([[basis],[basis/2]])\n",
+ "C=numpy.dot(linalg.inv(A),b)\n",
+ "#Here We solved two linear equations simultaneously\n",
+ "nV=C[0,0]\n",
+ "nL=C[1,0]\n",
+ "H1=5.332\n",
+ "H2=6.340\n",
+ "H3=37.52\n",
+ "H4=42.93\n",
+ "Q=nV*x*H1 + nV*(1-x)*H2 + nL*y*H3 + nL*(1-y)*H4\n",
+ "print '%s %.3f' %(\" \\n Heat transferred (KJ) = \",Q)\n",
+ "print(\"The answer for this problem in Text is wrong\")\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ " \n",
+ " Heat transferred (KJ) = 28.401\n",
+ "The answer for this problem in Text is wrong\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 1,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.4-6, page no. 390"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "basis=1. #lbm dry air\n",
+ "Tin=80. #F Inlet temperature\n",
+ "Tout=51. #F Outlet temperature\n",
+ "\n",
+ "\n",
+ "\n",
+ "#Calculations and printing:\n",
+ "print(\"For 80F and 80 percent RH, ha=0.018 lbm H20/lbm DA H1=38.8 Btu/lbm DA\")\n",
+ "ha=0.018 #lbm H20/lbm DA\n",
+ "H1=38.8 #Btu/lbm DA\n",
+ "m1=basis*ha\n",
+ "print(\"\\n For 51F and saturated, ha=0.0079 lbm H20/lbm DA H2=20.9 Btu/lbm DA\")\n",
+ "ha2=0.0079 #lbm H20/lbm DA\n",
+ "H2=20.9 #Btu/lbm DA\n",
+ "m2=basis*ha2\n",
+ "print(\"\\n Balance on H2O\")\n",
+ "m3=m1-m2\n",
+ "Fraction=m3/m1\n",
+ "print '%s %.3f' %(\"\\n Fraction H2O condensed = \",Fraction)\n",
+ "H3=basis*(Tout-32.)\n",
+ "Q=basis*H2+m3*H3-basis*H1\n",
+ "print(\"\\n From psychrometric chart, Vh=13.0 ft^3/lbm DA\")\n",
+ "Vbasis=basis*13.0\n",
+ "Qdot=Q*1000./Vbasis\n",
+ "print '%s %.2f' %(\"Rate at which heat must be removed (Btu/min) = \",Qdot)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "For 80F and 80 percent RH, ha=0.018 lbm H20/lbm DA H1=38.8 Btu/lbm DA\n",
+ "\n",
+ " For 51F and saturated, ha=0.0079 lbm H20/lbm DA H2=20.9 Btu/lbm DA\n",
+ "\n",
+ " Balance on H2O\n",
+ "\n",
+ " Fraction H2O condensed = 0.561\n",
+ "\n",
+ " From psychrometric chart, Vh=13.0 ft^3/lbm DA\n",
+ "Rate at which heat must be removed (Btu/min) = -1362.16\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 13,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.5-1, page no. 397"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "M1=35.6 #g/mol\n",
+ "M2=18.0 #g/mol\n",
+ "x=0.2\n",
+ "mdot=1000.0 #kg/h\n",
+ "T1=25.0 #C\n",
+ "T2=100.0 #C\n",
+ "T3=40.0 #C\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "nHCl=mdot*x*math.pow(10,3) /M1\n",
+ "nH2O=mdot*(1-x)*math.pow(10,3) /M2\n",
+ "def fun(T):\n",
+ " fun=29.13*math.pow(10,-3) - T*0.1341*math.pow(10,-5) +math.pow(T,2) *0.9715*math.pow(10,-8) - math.pow(T,3) *4.335*math.pow(10,-12)\n",
+ " return fun\n",
+ "\n",
+ "H1, err=scipy.integrate.quad(fun,T1,T2) #scipy.integrate.quad is an inbult function used for definite integration\n",
+ "r=nH2O/nHCl\n",
+ "print(\"From table B.11, deltaHa= -67.4 Kj/mol HCl\")\n",
+ "deltaHa= -67.4\n",
+ "y=nHCl/(nHCl+nH2O)\n",
+ "Cp=0.73*mdot*4.184/nHCl\n",
+ "deltaHb=Cp*(T3-T1)\n",
+ "H2=deltaHa+deltaHb\n",
+ "Qdot=nHCl*(H2-H1)\n",
+ "print '%s %.3E' %(\"Heat (kJ/h) = \",Qdot)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "From table B.11, deltaHa= -67.4 Kj/mol HCl\n",
+ "Heat (kJ/h) = -3.451E+05\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 14,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.5-2, page no. 400"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "x=0.05\n",
+ "y=0.4\n",
+ "mdot=1000.0 #lbm/h\n",
+ "Hf=10.0 #Btu/lbm\n",
+ "Hl= -17 #Btu/lbm\n",
+ "Hv=1138.0 #Btu/lbm\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "print(\"\\n sulphuric acid balance\")\n",
+ "m2=x*mdot/y\n",
+ "print(\"\\n Total Mass balance\")\n",
+ "m1=mdot-m2\n",
+ "Qdot=m1*Hv+m2*Hl-mdot*Hf\n",
+ "print '%s %.3f' %(\" Rate of Heat transfer (Btu/h) = \",Qdot)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "\n",
+ " sulphuric acid balance\n",
+ "\n",
+ " Total Mass balance\n",
+ " Rate of Heat transfer (Btu/h) = 983625.000\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 15,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.5-5, page no. 405"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "basis=100.0 #lbm/h\n",
+ "Hv=728.0 #Btu/lbm\n",
+ "Hl=45.0 #Btu/lbm\n",
+ "HF=100.0 #Btu/lbm\n",
+ "T=120.0 #F\n",
+ "xF=0.30\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "print(\"From figure 8.5-2, \")\n",
+ "xL=0.185\n",
+ "xV=0.89\n",
+ "mL=basis*((xV-xF)/(xV-xL))\n",
+ "mV=basis-mL\n",
+ "Qdot=mV*Hv + mL*Hl - basis*HF\n",
+ "print '%s %.3f' %(\"Rate of heat transfer (Btu/h) =\",Qdot)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "From figure 8.5-2, \n",
+ "Rate of heat transfer (Btu/h) = 5641.135\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 16,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Elementary_Principles_of_Chemical_Processes/Chapter9.ipynb b/Elementary_Principles_of_Chemical_Processes/Chapter9.ipynb
new file mode 100755
index 00000000..230963f2
--- /dev/null
+++ b/Elementary_Principles_of_Chemical_Processes/Chapter9.ipynb
@@ -0,0 +1,822 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:e681b00ee14cb4ba49bab5814ba58d8e293c97db9c72b39fdd9bbdd0d2223049"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 9: Balances on Reactive Processes"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9-1, page no. 443"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "ndot=2400.0 #mol/s\n",
+ "Hr1= -2878 #Kj/mol\n",
+ "HvWater=44.0 #Kj/mol\n",
+ "HvButane=19.2 #Kj/mol\n",
+ "\n",
+ "#Calculations and print '%s %.3f' %ing :\n",
+ "\n",
+ "print (\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "print (\"Part 1\")\n",
+ "E1= ndot/4\n",
+ "deltaH1=E1*Hr1\n",
+ "print '%s %.3E' %(\"enthalpy change (KJ/s) = \",deltaH1)\n",
+ "print (\"part2\")\n",
+ "Hr2=2*Hr1\n",
+ "E2=ndot/8\n",
+ "deltaH2=E2*Hr2\n",
+ "print '%s %.3E' %(\"Enthalpy change (kJ/s) = \",deltaH2)\n",
+ "print (\"part 3\")\n",
+ "Hr3=Hr1+5*HvWater+HvButane\n",
+ "deltaH3=E1*Hr3\n",
+ "print '%s %.3E' %(\"Enthalpy change (kJ/s) = \",deltaH3)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "Part 1\n",
+ "enthalpy change (KJ/s) = -1.727E+06\n",
+ "part2\n",
+ "Enthalpy change (kJ/s) = -1.727E+06\n",
+ "part 3\n",
+ "Enthalpy change (kJ/s) = -1.583E+06\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 1,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.1-2, page no. 445"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "deltaHr= -420.8 #kj/mol\n",
+ "R=8.314\n",
+ "T=298.0 #K\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "print(\"From reaction, only gaseous are counted\")\n",
+ "left=1+2\n",
+ "right=1+1\n",
+ "deltaUr=deltaHr-R*T*(right-left)/math.pow(10,3)\n",
+ "print '%s %.3f' %(\"deltaUr (KJ/mol) = \",deltaUr)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "From reaction, only gaseous are counted\n",
+ "deltaUr (KJ/mol) = -418.322\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 2,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.3-1, page no. 447"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "HCO2= -393.5 #KJ/mol\n",
+ "HH2O= -285.84 #KJ/mol\n",
+ "HC5H12= -173. #KJ/mol\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "Hr=5*HCO2+6*HH2O-HC5H12\n",
+ "print '%s %.3f' %(\" \\n Heat of the rxn (KJ/mol) = \",Hr)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ " \n",
+ " Heat of the rxn (KJ/mol) = -3509.540\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 3,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.4-1, page no. 449"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "Hethane= -1559.9 #Kj/mol\n",
+ "Hethene= -1411 #Kj/mol\n",
+ "Hhydrogen= -285.84 #Kj/mol\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "Hr=Hethane-Hethene-Hhydrogen\n",
+ "print '%s %.3f' %(\" \\n Heat of the rxn (KJ/mol) = \",Hr)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ " \n",
+ " Heat of the rxn (KJ/mol) = 136.940\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 4,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.5-1, page no. 453"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "nNH3=100.0 #mol/s\n",
+ "nO2in=200.0 #mol/s\n",
+ "H1=8.470 #Kj/mol\n",
+ "H3=9.570 #Kj/mol\n",
+ "T1=25.0\n",
+ "T2=300.0\n",
+ "Hr= -904.7 #Kj/mol\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "def fun(T):\n",
+ " fun=29.50*math.pow(10,-3)+ T*0.8188*math.pow(10,-5) - math.pow(T,2) * 0.2925 *math.pow(10,-8) + math.pow(T,3) * 0.3652 * math.pow(10,-12)\n",
+ " return fun\n",
+ "\n",
+ "H2, err=scipy.integrate.quad(fun,T1,T2) #scipy.integrate.quad is an inbuilt function which can calculate definite integrals\n",
+ "E=nNH3/4.\n",
+ "nO2out=nO2in-nNH3*5./4.\n",
+ "nNO=nNH3\n",
+ "nH2O=nNH3*6./4.\n",
+ "deltaH=E*Hr+(nO2out*H1+nNO*H2+nH2O*H3)\n",
+ "Qdot=deltaH\n",
+ "print '%s %.3f' %(\" \\n Heat Transferred (kW) = \",Qdot)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ " \n",
+ " Heat Transferred (kW) = -19701.467\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 5,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.5-2, page no. 454"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "\n",
+ "NinMethane=100.0 #mol\n",
+ "NinOxygen=100.0 #mol\n",
+ "NinNitrogen=376.0 #mol\n",
+ "NoutMethane=60.0 #mol\n",
+ "NoutOxygen=50.0 #mol\n",
+ "NoutNitrogen=376.0 #mol\n",
+ "NoutFormal=30.0 #mol\n",
+ "NoutCarbon=10.0 #mol\n",
+ "NoutWater=50.0 #mol\n",
+ "H1= -74.85 #Kj/mol\n",
+ "H2= 2.235 #Kj/mol\n",
+ "H3= 2.187 #Kj/mol\n",
+ "H5=3.758#Kj/mol\n",
+ "H6=3.655 #Kj/mol\n",
+ "H8= -393.5+4.75 #Kj/mol\n",
+ "H9= -241.83+4.27 #Kj/mol\n",
+ "T1=25.0 #C\n",
+ "T2=150.0 #C\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "def fun1(T):\n",
+ " fun1=34.31*math.pow(10,-3)+ T*5.469*math.pow(10,-5) + math.pow(T,2) * 0.3661 *math.pow(10,-8) - math.pow(T,3) * 11 * math.pow(10,-12)\n",
+ " return fun1\n",
+ "\n",
+ "HoutMethane, err=scipy.integrate.quad(fun1,T1,T2)\n",
+ "H4= -74.85 + HoutMethane\n",
+ "def fun2(T):\n",
+ " fun2=34.28*math.pow(10,-3)+ T*4.268*math.pow(10,-5) - math.pow(T,3) * 8.694 * math.pow(10,-12)\n",
+ " return fun2\n",
+ "\n",
+ "HoutFormal, err2=scipy.integrate.quad(fun2,T1,T2) #scipy.integrate.quadis an inbuilt function which can calculate definite integrals\n",
+ "H7= -115.90+ HoutFormal\n",
+ "deltaH=NoutWater*H9+NoutCarbon*H8+NoutFormal*H7+NoutNitrogen*H6+NoutOxygen*H5+NoutMethane*H4-NinNitrogen*H3-NinOxygen*H2-NinMethane*H1\n",
+ "Q=deltaH\n",
+ "print '%s %.3f' %(\" \\n Q (KJ) = \",Q)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ " \n",
+ " Q (KJ) = -15296.233\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 6,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.5-4, page no. 458"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "basis=150.0 #mol/s\n",
+ "x=0.9\n",
+ "HinEthanol= -212.19\n",
+ "HinEthanone= -147.07\n",
+ "HoutEthanol= -216.81\n",
+ "HoutEthanone= -150.9\n",
+ "HoutHydrogen=6.595\n",
+ "NinEthanol=135.0\n",
+ "NinEthanone=15.0\n",
+ "Q=2440.0 #KW\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "print(\"Carbon Balance\")\n",
+ "print(\"basis*x *2 + basis* (1-x) *2=2 n1+2 n2\")\n",
+ "print(\"Hydrogen Balance\")\n",
+ "print(\"basis * x *6 + basis * (1-x)*4 = 6 n1+4 n2+2 n3\")\n",
+ "print(\"Energy Balance\")\n",
+ "print(\"Q= HoutEthanol n1 HoutEthanone n2 + HoutHydrogen n3 -NinEthanol * HinEthanol -NinEthanone* HinEthanone\")\n",
+ "A=([[1, 1, 0],[3, 2, 1],[216.81, 150.9, -6.595]])\n",
+ "b=([[150],[435],[28412]])\n",
+ "C=numpy.dot(linalg.inv(A),b)\n",
+ "n1=C[0,0]\n",
+ "print '%s %.3f' %(\" \\n n1 (mol Ethanol/s) = \",n1)\n",
+ "n2=C[1,0]\n",
+ "print '%s %.3f' %(\" \\n n2 (mol Ethanone/s) = \",n2)\n",
+ "n3=C[2,0]\n",
+ "print '%s %.3f' %(\" \\n n3 (mol Hydrogen/s) = \",n3)\n",
+ "print(\"The solutions in the Text are Wrong\")\n",
+ "fraction=(NinEthanol-n1)/NinEthanol\n",
+ "print '%s %.3f' %(\"Fractional conversion of Ethanol = \",fraction)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "Carbon Balance\n",
+ "basis*x *2 + basis* (1-x) *2=2 n1+2 n2\n",
+ "Hydrogen Balance\n",
+ "basis * x *6 + basis * (1-x)*4 = 6 n1+4 n2+2 n3\n",
+ "Energy Balance\n",
+ "Q= HoutEthanol n1 HoutEthanone n2 + HoutHydrogen n3 -NinEthanol * HinEthanol -NinEthanone* HinEthanone\n",
+ " \n",
+ " n1 (mol Ethanol/s) = 91.957\n",
+ " \n",
+ " n2 (mol Ethanone/s) = 58.043\n",
+ " \n",
+ " n3 (mol Hydrogen/s) = 43.043\n",
+ "The solutions in the Text are Wrong\n",
+ "Fractional conversion of Ethanol = 0.319\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 7,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.5-5, page no. 460"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "print(\"from tables,\")\n",
+ "HfAcid= -1294. #Kj/mol\n",
+ "HfBase= -469.1 #Kj/mol\n",
+ "HfSalt= -1974. #Kj/mol \n",
+ "HfWater= -285.8 #Kj/mol\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "print(\"part 1\")\n",
+ "Hr=HfSalt+3*HfWater-HfAcid-3*HfBase\n",
+ "print '%s %.3f' %(\"Hr of the rxn (KJ/mol) = \",Hr)\n",
+ "print(\"part 2\")\n",
+ "deltaH=Hr*5./3.\n",
+ "print '%s %.3f' %(\"deltaH (KJ) = \",deltaH)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "from tables,\n",
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "part 1\n",
+ "Hr of the rxn (KJ/mol) = -130.100\n",
+ "part 2\n",
+ "deltaH (KJ) = -216.833\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 8,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.5-6, page no. 461"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "x=0.1\n",
+ "y=0.2\n",
+ "MAcid=98.1\n",
+ "MS=32.0\n",
+ "MSalt=142.0\n",
+ "MBase=40.0\n",
+ "MWater=18.0\n",
+ "MNa=46.0\n",
+ "basis=1000.0 #g\n",
+ "T2=35.0\n",
+ "T1=25.0\n",
+ "T3=40.0\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "print(\"Using S balance, \")\n",
+ "m2=basis*x*MS*MSalt/(MAcid*MS)\n",
+ "print '%s %.3f' %(\" \\n m2 (g Na2SO4) = \",m2)\n",
+ "print(\"Using Na balance, \")\n",
+ "m1=2*MNa*m2*MBase/(y*MNa*MSalt)\n",
+ "print '%s %.3f' %(\" \\n m1 (g NaOH) = \",m1)\n",
+ "print(\"Total mass balance, \")\n",
+ "m3=basis+m1-m2\n",
+ "print '%s %.3f' %(\" \\n m3 (g H2O) = \",m3)\n",
+ "print '%s %.3f' %(\" \\n Mass of product solution = \",m2+m3)\n",
+ "m=m2+m3\n",
+ "Water=m2*2/MSalt\n",
+ "print '%s %.3f' %(\" \\n Water Formed in the reaction (mol H2O) = \",Water)\n",
+ "print(\"H2SO4(aq):\")\n",
+ "a1=basis*(1-x)/MWater\n",
+ "b1=basis*x/MAcid\n",
+ "rAcid=a1/b1\n",
+ "print '%s %.3f' %(\" \\n rAcid (mol Water/mol Acid) = \",rAcid)\n",
+ "print(\"NaOH(aq):\")\n",
+ "a2=m1*(1-y)/MWater\n",
+ "b2=m1*y/MBase\n",
+ "rBase=a2/b2\n",
+ "print '%s %.3f' %(\" \\n rBase (mol Water/mol Base) = \",rBase)\n",
+ "print(\"Na2SO4(aq):\")\n",
+ "a3=m3/MWater\n",
+ "b3=m2/MSalt\n",
+ "rSalt=a3/b3\n",
+ "print '%s %.3f' %(\" \\n rSalt (mol Water/mol Salt) =\",rSalt)\n",
+ "E=b1\n",
+ "print '%s %.3f' %(\" \\n Extent of reaction (mol) = \",E)\n",
+ "nHAcid=basis*3.85*(T3-T1)/1000\n",
+ "nHSalt=m*4.184*(T2-T1)/1000\n",
+ "nHBase=0\n",
+ "HfSalt= -1384\n",
+ "HfAcid= -884.6\n",
+ "HfBase= -468.1\n",
+ "HfWater= -285.84\n",
+ "deltaHr=HfSalt+ 2*HfWater - HfAcid - 2*HfBase\n",
+ "print '%s %.3f' %(\" \\n Entahlpy change in the rxn (KJ/mol) = \",deltaHr)\n",
+ "Q=E*deltaHr + (nHSalt-nHAcid-nHBase)\n",
+ "print '%s %.3f' %(\" \\n Q of the rxn (KJ) = \",Q)\n",
+ "print(\"The answer in the Text is wrong.\")\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ "Using S balance, \n",
+ " \n",
+ " m2 (g Na2SO4) = 144.750\n",
+ "Using Na balance, \n",
+ " \n",
+ " m1 (g NaOH) = 407.747\n",
+ "Total mass balance, \n",
+ " \n",
+ " m3 (g H2O) = 1262.997\n",
+ " \n",
+ " Mass of product solution = 1407.747\n",
+ " \n",
+ " Water Formed in the reaction (mol H2O) = 2.039\n",
+ "H2SO4(aq):\n",
+ " \n",
+ " rAcid (mol Water/mol Acid) = 49.050\n",
+ "NaOH(aq):\n",
+ " \n",
+ " rBase (mol Water/mol Base) = 8.889\n",
+ "Na2SO4(aq):\n",
+ " \n",
+ " rSalt (mol Water/mol Salt) = 68.833\n",
+ " \n",
+ " Extent of reaction (mol) = 1.019\n",
+ " \n",
+ " Entahlpy change in the rxn (KJ/mol) = -134.880\n",
+ " \n",
+ " Q of the rxn (KJ) = -136.342\n",
+ "The answer in the Text is wrong.\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 9,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.6-1, page no. 465"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#Initialization of variables\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "\n",
+ "x=0.85\n",
+ "H1= 802 #KJ/mol\n",
+ "H2= 1428 #kJ/mol\n",
+ "M1=16.0\n",
+ "M2=30.0\n",
+ "\n",
+ "#Calculations and printing :\n",
+ "\n",
+ "print(\" All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\")\n",
+ "y1=x*16\n",
+ "y2=(1-x)*30\n",
+ "xCH4=y1/(y1+y2)\n",
+ "HHVMethane=(H1+ 2*44.013)/M1\n",
+ "HHVEthane=(H2+ 3*44.013)/M2\n",
+ "HHV=xCH4*HHVMethane + (1-xCH4)*HHVEthane\n",
+ "print '%s %.3f' %(\" \\n HHV of Fuel (KJ/g) = \",HHV)\n",
+ "raw_input('press enter key to exit')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " All the values in the textbook are Approximated hence the values in this code differ from those of Textbook\n",
+ " \n",
+ " HHV of Fuel (KJ/g) = 54.725\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "press enter key to exit\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 10,
+ "text": [
+ "''"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Elementary_Principles_of_Chemical_Processes/README.txt b/Elementary_Principles_of_Chemical_Processes/README.txt
new file mode 100755
index 00000000..5cf37f06
--- /dev/null
+++ b/Elementary_Principles_of_Chemical_Processes/README.txt
@@ -0,0 +1,10 @@
+Contributed By: Chaitanya Potti
+Course: btech
+College/Institute/Organization: IITB
+Department/Designation: Chemical engineering
+Book Title: Elementary Principles of Chemical Processes
+Author: Richard M. Felder & Ronald W. Rousseau
+Publisher: John Wiley & Sons Inc
+Year of publication: 2005
+Isbn: 047168757X
+Edition: 3rd \ No newline at end of file
diff --git a/Elementary_Principles_of_Chemical_Processes/screenshots/dev.png b/Elementary_Principles_of_Chemical_Processes/screenshots/dev.png
new file mode 100755
index 00000000..917c800c
--- /dev/null
+++ b/Elementary_Principles_of_Chemical_Processes/screenshots/dev.png
Binary files differ
diff --git a/Elementary_Principles_of_Chemical_Processes/screenshots/mbtT.png b/Elementary_Principles_of_Chemical_Processes/screenshots/mbtT.png
new file mode 100755
index 00000000..5bf3b94f
--- /dev/null
+++ b/Elementary_Principles_of_Chemical_Processes/screenshots/mbtT.png
Binary files differ
diff --git a/Elementary_Principles_of_Chemical_Processes/screenshots/vbyl.png b/Elementary_Principles_of_Chemical_Processes/screenshots/vbyl.png
new file mode 100755
index 00000000..dc004dbf
--- /dev/null
+++ b/Elementary_Principles_of_Chemical_Processes/screenshots/vbyl.png
Binary files differ
diff --git a/Elements_Of_Mass_Transfer_Part_1/README.txt b/Elements_Of_Mass_Transfer_Part_1/README.txt
new file mode 100755
index 00000000..0640b5db
--- /dev/null
+++ b/Elements_Of_Mass_Transfer_Part_1/README.txt
@@ -0,0 +1,10 @@
+Contributed By: Ashutosh Kumar
+Course: btech
+College/Institute/Organization: Indian Institute of Technology - Bombay, CHAR Lab 2
+Department/Designation: Electrical Department
+Book Title: Elements Of Mass Transfer (Part 1)
+Author: N. Anantharaman & K. M. M. S. Begum
+Publisher: Prentice - Hall Of India, New Delhi
+Year of publication: 2005
+Isbn: 8120327284
+Edition: 1st \ No newline at end of file
diff --git a/Elements_Of_Mass_Transfer_Part_1/ch2.ipynb b/Elements_Of_Mass_Transfer_Part_1/ch2.ipynb
new file mode 100755
index 00000000..0af298a7
--- /dev/null
+++ b/Elements_Of_Mass_Transfer_Part_1/ch2.ipynb
@@ -0,0 +1,1576 @@
+{
+ "metadata": {
+ "name": "ch2",
+ "signature": "sha256:63ec039d8e0cb7cbcf7792965630fc54de76590123e48dd89f9e70d5575deae0"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 2 : Diffusion"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.1.a "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# variable declaration \n",
+ "rA=.3798;\n",
+ "rB=.3941;\n",
+ "\n",
+ "# Calculation\n",
+ "rAB=(rA+rB)/2; #molecular seperation at collision \n",
+ "ebyk_A=71.4;\n",
+ "ebyk_B=195.2;\n",
+ "ebyk_AB=(ebyk_A/ebyk_B)**.5; #energy of molecular attraction\n",
+ "pt=1.013*10**5; #absolute total pressure in pascal\n",
+ "T=298; #absolute temperature in kelvin\n",
+ "s=T/ebyk_AB; #collision function\n",
+ " #from chart f(T/ebyk_AB) = 0.5 let it be = x\n",
+ "x=.5; #collision function\n",
+ "MA=28; #molecular weight of nitrogen\n",
+ "MB=44; #molecular weight of carbondioxide\n",
+ "Mnew=((1./MA)+(1./MB))**.5;\n",
+ "Dab= 10**-4*(1.084-.249*(Mnew))*T**1.5*((Mnew))/(pt*x*rAB**2);\n",
+ "\n",
+ "# Result\n",
+ "print \" the diffisivity of nitrogen-carbondioxide is :%f *10**-5 m**2/s\"%(Dab/10**-5)\n",
+ "\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " the diffisivity of nitrogen-carbondioxide is :1.678856 *10**-5 m**2/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.1.b "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "\n",
+ "#\"part(ii)\"\n",
+ "rA=.3339;\n",
+ "rB=.3711;\n",
+ "\n",
+ "# Calculation \n",
+ "\n",
+ "rAB=(rA+rB)/2; #molecular seperation at collision \n",
+ "ebyk_A=344.7;\n",
+ "ebyk_B=78.6;\n",
+ "ebyk_AB=(ebyk_A/ebyk_B)**.5; #energy of molecular attraction\n",
+ "pt=200.*10**3; #absolute total pressure in pascal\n",
+ "T=298.; #absolute temperature in kelvin\n",
+ "s=T/ebyk_AB; #collision function\n",
+ " #from chart f(T/ebyk_AB) = 0.62 let it be = x\n",
+ "x=0.62; #collision function\n",
+ "MA=36.5; #molecular weight of hydrogen chloride\n",
+ "MB=29; #molecular weight of air\n",
+ "Mnew=((1./MA)+(1./MB))**.5;\n",
+ "Dab=10.**-4*(1.084-.249*(Mnew))*T**1.5*((Mnew))/(pt*x*rAB**2);\n",
+ "\n",
+ " # Result\n",
+ "print \"\\n the diffisivity of hydrogen chloride-air is :%f *10**-6 m**2/s\"%(Dab/10**-6)\n",
+ "\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the diffisivity of hydrogen chloride-air is :8.488596 *10**-6 m**2/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.2 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "\n",
+ "# variable declaration \n",
+ "\n",
+ "u=1.145*10**-3; #viscosity of water1.145cp\n",
+ "v_a=5*.0148+12*.0037+1*.0074; #by kopp's law\n",
+ "t=288; #temperature of water in kelvin\n",
+ "MB=18; #molecular weight of water\n",
+ "phi=2.26; #association parameter for solvent-water\n",
+ "\n",
+ "# Calculation\n",
+ "D_ab=(117.3*10**-18)*((phi*MB)**.5)*(t)/(u*(v_a)**.6);\n",
+ "\n",
+ " # Result\n",
+ "print \"\\n the diffusivity of isoamyl alcohol is :%f *10**-9 m**2/s\"%(D_ab/10**-9)\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the diffusivity of isoamyl alcohol is :0.652780 *10**-9 m**2/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.3 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "\n",
+ "pa1=(33./760)*1.013*10**5; #vapour pressure of ccl4 at 273 in pascal\n",
+ "pa2=0;\n",
+ "d=1.59; \n",
+ "import math #density of liquid ccl4 in g/cm**3\n",
+ "#considering o2 to be non diffusing and with \n",
+ "T=273.; #temperature in kelvin\n",
+ "pt=(755./780)*1.013*10**5; #total pressure in pascal\n",
+ "z=.171; #thickness of film\n",
+ "a=.82*10**-4; #cross-sectional area of cell in m**2\n",
+ "v=.0208; #volume of ccl4 evaporated \n",
+ "t=10.; #time of evaporation\n",
+ "MB=154.; \n",
+ "\n",
+ "# Calculation\n",
+ "#molecular wght of ccl4\n",
+ "rate=v*d/(MB*t); #.0208cc of ccl4 is evaporating in 10hrs \n",
+ "Na=rate*10.**-3/(3600.*a); #flux in kmol/m**2*S\n",
+ "\n",
+ "D_ab=Na*z*8314*273./(pt*(math.log((pt-pa2)/(pt-pa1)))); #molecular diffusivity in m**2/s\n",
+ "\n",
+ " # Result\n",
+ "print \"the diffusivity of ccl4 through oxygen:%.2f *10**-6 m**2/s\"%(D_ab/10.**-6)\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "the diffusivity of ccl4 through oxygen:6.27 *10**-6 m**2/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.4 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "\n",
+ "z=.0305*10**-3; #wall thickness sorrounding the crystal\n",
+ "x1=0.0229;\n",
+ "w1=160.; #molecular weight of copper sulphate\n",
+ "w2=18.; #molecular weight of water\n",
+ "Dab=7.29*10**-10; #diffusivity of copper sulphatein m**2/s\n",
+ " #av=d/m\n",
+ " \n",
+ "# Calculation \n",
+ "Mavg=x1*w1+(1-x1)*w2; #average molecular wght of solution\n",
+ "d1=1193; #density of copper sulphate solution\n",
+ "av1=d1/Mavg; #value of (d/m) of copper solution\n",
+ "\n",
+ " #for pure water\n",
+ "d2=1000.; #density of water\n",
+ "m2=18.; #molecular wght of water\n",
+ "av2=d2/m2; #value of (d/m) of water\n",
+ "allavg=(av1+av2)/2.; #average value of d/m\n",
+ "xa2=0;\n",
+ "import math\n",
+ "\n",
+ "# Result\n",
+ "Na=Dab*(allavg)*math.log((1-xa2)/(1-x1))/z; #flux of cuso4 from crystal surface to bulk solution\n",
+ "print \" the rate at which crystal dissolves :%f *10**-5 kmol/m**2*s\"%(Na/10**-5)\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " the rate at which crystal dissolves :3.092260 *10**-5 kmol/m**2*s\n"
+ ]
+ }
+ ],
+ "prompt_number": 34
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.5.a"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "\n",
+ "ya1=0.8;\n",
+ "ya2=0.1;\n",
+ "T=(273+35); #temperature in kelvin\n",
+ "pt=1*1.013*10**5; #total pressure in pascal\n",
+ "z=0.3*10**-3; #gas film thickness in m\n",
+ "Dab=.18*10**-4; #diffusion coefficient in m**2/s\n",
+ "R=8314; #universal gas constant\n",
+ "\n",
+ "# Calculation\n",
+ "Na=Dab*pt*(ya1-ya2)/(z*R*T) #diffusion flux in kmol/m**2*s\n",
+ "rate=Na*100*10**-4*3600*46; #since molecular weight of mixture is 46\n",
+ "\n",
+ "# Result\n",
+ "print \"\\n rate of diffusion of alcohol-water vapour :%f kg/hr \"%rate\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " rate of diffusion of alcohol-water vapour :2.751429 kg/hr \n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.5.b"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "ya1=0.8;\n",
+ "ya2=0.1;\n",
+ "T=(273+35); #temperature in kelvin\n",
+ "pt=1*1.013*10**5; #total pressure in pascal\n",
+ "z=0.3*10**-3; #gas film thickness in m\n",
+ "Dab=.18*10**-4; #diffusion coefficient in m**2/s\n",
+ "R=8314; #universal gas constant\n",
+ "import math\n",
+ "#diffusion through stagnant film \n",
+ "\n",
+ "# Calculation\n",
+ "Na=Dab*pt*math.log((1-ya2)/(1-ya1))/(z*R*T); #diffusion flux in kmol/m**2*s\n",
+ "rate=Na*100*10**-4*3600*46; #since molecular weight of mixture is 46\n",
+ "\n",
+ "# Result\n",
+ "print \"\\n rate of diffusion if water layer is stagnant :%f *10**-3 kg/s \"%(rate/(3600*10**-3))\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " rate of diffusion if water layer is stagnant :1.642207 *10**-3 kg/s \n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.6 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "T=298.; #temperature in kelvin\n",
+ "pt=1.*1.013*10**5; #total pressure in pascal\n",
+ "ID=25.*10**-3; #internal diameter in m of unvulcanised rubber in m\n",
+ "OD=50.*10**-3; #internal diameter in m of unvulcanised rubber in m\n",
+ "Ca1=2.37*10**-3; #conc. of hydrogen at the inner surface of the pipe in kmol/m**3\n",
+ "Ca2=0; #conc. of hydrogen at 2\n",
+ "Dab=1.8*10**-10; #diffusion coefficient in cm**2/s\n",
+ "l=2; #length of pipe in m\n",
+ "import math\n",
+ "\n",
+ "# Calculation \n",
+ "# Va=Da*Sa*(pa1-pa2)/z;\n",
+ "z=(50-25)*10**-3/2.; #wall thickness in m\n",
+ "Va=Dab*(Ca1-Ca2)/z; #diffusion through a flat slab of thickness z \n",
+ "Sa=2*3.14*l*(OD-ID)/(2*math.log(OD/ID)); #average mass transfer area of \n",
+ "rate=Va*Sa; #rate of loss of hydrogen by diffusion\n",
+ "\n",
+ "\n",
+ "# Result\n",
+ "\n",
+ "print \"\\n rate of loss hydrogen by diffusion through a pipe of 2m length :%f*10**-12kmol/s\"%(rate/10.**-12)\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " rate of loss hydrogen by diffusion through a pipe of 2m length :7.730099*10**-12kmol/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.7 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "pa1=(1.5)*10**4; #vapour pressure of ammonia at pt.1 \n",
+ "pa2=(0.5)*10**4; #vapour pressure of ammonia at pt.2\n",
+ "Dab=2.3*10**-5 #molecular diffusivity in m**2/s\n",
+ "z=0.15; #diffusion path in m\n",
+ "R=8314.; #universal gas constant \n",
+ " #ammonia diffuses through nitrogen under equimolar counter diffusion\n",
+ "T=298.; #temperature in kelvin\n",
+ "pt=1.013*10**5; #total pressure in pascal\n",
+ "\n",
+ "# Calculation\n",
+ "Na=Dab*(pa1-pa2)/(z*R*T); #flux in kmol/m**2*S\n",
+ "\n",
+ "# Result\n",
+ "print \"the ammonia diffusion through nitrogen under equimolar \\\n",
+ " counter diffusion:%f *10**-7 kmol/m**2*s\"%(Na/10**-7);\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "the ammonia diffusion through nitrogen under equimolar counter diffusion:6.188855 *10**-7 kmol/m**2*s\n"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.8"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "import math\n",
+ " \n",
+ "\n",
+ "z=0.4*10**-2; #film thickness sorrounding the crystal\n",
+ "xa1=0.0453; #mole fraction of ethanol at pos.2\n",
+ "xa2=0.02775; #mole fraction of ethanol at pos.1\n",
+ "w1=46; #molecular weight of ethanol\n",
+ "w2=18; #molecular weight of water\n",
+ "Dab=74*10**-5*10**-4; #diffusivity of ethanol water sol.in m**2/s\n",
+ " #av=d/m\n",
+ " \n",
+ "# Calculation \n",
+ "Mavg1=xa2*w1+(1-xa2)*w2; #average molecular wght of solution at pos 1\n",
+ "d1=0.9881*10**3; # density of 6.8 wt% solution\n",
+ "av1=d1/Mavg1; #value of (d/m) of copper solution\n",
+ "\n",
+ " #for pure water\n",
+ "d2=972.8; # density of 10.8 wt% solution\n",
+ "Mavg2=xa1*w1+(1-xa1)*w2; #average molecular wght of solution at pos.2\n",
+ "av2=d2/Mavg2; #value of (d/m) of water\n",
+ "\n",
+ "allavg=(av1+av2)/2; #average value of d/m\n",
+ "Na=Dab*(allavg)*math.log((1-xa2)/(1-xa1))/z; #steady state flux in kmol/m**2*s of ethanol water sol.\n",
+ "\n",
+ " # Result\n",
+ "print \"\\n the rate at which crystal dissolves :%f *10**-5 kmol/m**2*s\"%(Na/10**-5)\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the rate at which crystal dissolves :1.737360 *10**-5 kmol/m**2*s\n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.9"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "import math\n",
+ "# variable declaration \n",
+ "\n",
+ " #basis : 100kg of mixture\n",
+ "z=2*10**-3; #film thickness sorrounding the water\n",
+ "xa1=0.0323; #mole fraction of ethanol at pos.2\n",
+ "xa2=0.0124; #mole fraction of ethanol at pos.1\n",
+ "w1=60.; #molecular weight of acetic acid\n",
+ "w2=18.; #molecular weight of water\n",
+ "Dab=0.000095; #diffusivity of acetic water sol.in m**2/s\n",
+ " #av=d/m\n",
+ "# Calculation \n",
+ "Mavg1=xa1*w1+(1-xa1)*w2; #average molecular wght of solution at pos 1\n",
+ "d1=1013.; # density of 10 % acid\n",
+ "av1=d1/Mavg1; #value of (d/m) of copper solution\n",
+ "\n",
+ " #for pure water\n",
+ "d2=1004; #density of 4% acid\n",
+ "Mavg2=xa2*w1+(1-xa2)*w2; #average molecular wght of solution at pos.2\n",
+ "av2=d2/Mavg2; #value of (d/m) of water\n",
+ "\n",
+ "allavg=(av1+av2)/2.; #average value of d/m\n",
+ " #assuming water to be non diffusing\n",
+ "Na=Dab*(allavg)*math.log((1-xa2)/(1-xa1))/z; #diffusion rate of acetic acid aacross film of non diffusing water sol.\n",
+ "\n",
+ " # Result\n",
+ "print \"\\n diffusion rate of acetic acid aacross film of non diffusing water sol. :%f kmol/m**2*s\"%Na\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " diffusion rate of acetic acid aacross film of non diffusing water sol. :0.051508 kmol/m**2*s\n"
+ ]
+ }
+ ],
+ "prompt_number": 41
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.10.a"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "\n",
+ " \n",
+ "r=(50./2)*10**-3; #radius pf circular tube\n",
+ "pa1=190; #vapour pressure of ammonia at pt.1 \n",
+ "pa2=95; #vapour pressure of ammonia at pt.2\n",
+ "Dab=2.1*10**-5 #molecular diffusivity in m**2/s\n",
+ "z=1;\n",
+ "R=760*22.414/273; #universal gas constant in mmHg*m**3*K*kmol \n",
+ " #carbondioxide and oxygen experiences equimolar counter diffusion \n",
+ "T=298.; #temperature in kelvin\n",
+ "\n",
+ "# Calculation \n",
+ "pt=(10.0/780)*1.013*10**5; #total pressure in pascal\n",
+ "Na=Dab*(pa1-pa2)/(z*R*T); #flux in kmol/m**2*S\n",
+ "rate=Na*(3.14*r**2); #rate of mass transfer..(3.14*r**2)-is the area\n",
+ "\n",
+ "# Result\n",
+ "print \"\\n the rate of mass transfer.:%f *10**-10 kmol/s\"%(rate/10**-10)\n",
+ " \n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the rate of mass transfer.:2.105552 *10**-10 kmol/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 43
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.10.b"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "\n",
+ "r=(50./2)*10**-3; #radius pf circular tube\n",
+ "pa1=(190.); #vapour pressure of ammonia at pt.1 \n",
+ "pa2=(95.); #vapour pressure of ammonia at pt.2\n",
+ "Dab=2.1*10**-5 #molecular diffusivity in m**2/s\n",
+ "R=760.*22.414/273; #universal gas constant in mmHg*m**3*K*kmol \n",
+ " #carbondioxide and oxygen experiences equimolar counter diffusion \n",
+ "T=298.; #temperature in kelvin\n",
+ "\n",
+ "# Calculation\n",
+ "pt=(10./780)*1.013*10**5; #total pressure in pascal\n",
+ "\n",
+ " #part (ii)\n",
+ "#(ya-ya1)/(ya2-ya1)=(z-z1)/(z2-z1);\n",
+ "z2=1; #diffusion path in m at pos.2\n",
+ "z1=0; #diffusion path in m at pos.1\n",
+ "z=.75; #diffusion at general z\n",
+ "#pa=poly([0],'pa'); #calc. of conc. in gas phase\n",
+ "x= 118.750000 #roots((pa-pa1)/(pa2-pa1)-(z-z1)/(z2-z1));\n",
+ "\n",
+ "# Result\n",
+ "print \"\\n partial pressure of co2 at o.75m from the end where partial pressure is 190mmhg is:%f mmHg\"%x\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " partial pressure of co2 at o.75m from the end where partial pressure is 190mmhg is:118.750000 mmHg\n"
+ ]
+ }
+ ],
+ "prompt_number": 44
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.11.a"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "ya1=0.2; #initial mole fraction\n",
+ "ya2=0.1; #final mole fraction\n",
+ "T=298 #temperature in kelvin\n",
+ "pt=1*1.013*10**5; #total pressure in pascal\n",
+ "z=0.2*10**-2; #gas film thickness in m\n",
+ "Dab=.215*10**-4; #diffusion coefficient in m**2/s\n",
+ "R=8314.; #universal gas constant\n",
+ "#part (i)when N2 is non diffusing \n",
+ "import math\n",
+ "\n",
+ "# Calculation\n",
+ "Na=Dab*pt*math.log((1-ya2)/(1-ya1))/(z*R*T); #diffusion flux in kmol/m**2*s\n",
+ "\n",
+ "\n",
+ "# Result\n",
+ "print \" diffusion flux if N2 is non diffusing :%f *10**-5 kmol/m**2*s \"%(Na/10**-5);\n",
+ "\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " diffusion flux if N2 is non diffusing :5.176955 *10**-5 kmol/m**2*s \n"
+ ]
+ }
+ ],
+ "prompt_number": 45
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.11.b"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "ya1=0.2;\n",
+ "ya2=0.1;\n",
+ "T=(298); #temperature in kelvin\n",
+ "pt=1*1.013*10**5; #total pressure in pascal\n",
+ "z=0.2*10**-2; #gas film thickness in m\n",
+ "Dab=.215*10**-4; #diffusion coefficient in m**2/s\n",
+ "R=8314; #universal gas constant\n",
+ "\n",
+ "#part (ii) equimolar counter diffusion\n",
+ "# Calculation\n",
+ "Na=Dab*pt*(ya1-ya2)/(z*R*T) #diffusion flux in kmol/m**2*s\n",
+ "\n",
+ " # Result\n",
+ "print \" diffusion flux of oxygen during equimolar counter-diffusion :%f *10**-5 kmol/m**2*s \"%(Na/10**-5)\n",
+ "\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " diffusion flux of oxygen during equimolar counter-diffusion :4.395331 *10**-5 kmol/m**2*s \n"
+ ]
+ }
+ ],
+ "prompt_number": 46
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.12"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "ya1=0.1;\n",
+ "ya2=0;\n",
+ "T=293. #temperature in kelvin\n",
+ "pt=1*1.013*10**5; #total pressure in pascal\n",
+ "z=0.2*10**-2; #gas film thickness in m\n",
+ "Dab=.185*10**-4; #diffusion coefficient in m**2/s\n",
+ "R=8314.; #universal gas constant\n",
+ " #part (i)when air is assumed to be stagnant and non-diffusing \n",
+ "import math\n",
+ "\n",
+ "# Calculation\n",
+ "Na=Dab*pt*math.log((1-ya2)/(1-ya1))/(z*R*T); #diffusion flux in kmol/m**2*s\n",
+ "mw=17; #molecular weight of ammonia\n",
+ "massflux=Na*mw; #mass flux of given NH3\n",
+ "print \" diffusion flux when total presssure is 1atm and air \\\n",
+ " is non-diffusing :%f *10**-4 kg/m**2*s \"%(massflux/10**-4);\n",
+ " #part (ii) when pressure is increased to 10atm\n",
+ "\n",
+ "#Dab_1/Dab_2=pt_2/pt_1\n",
+ "pt_2=10; #final pressure in atm\n",
+ "pt_1=1; #initially pressure was 1atm\n",
+ "Dab_1=.185; #initially diffusion coefficient was.185\n",
+ "Dab_2=Dab_1*pt_1/pt_2; #for gases Dab is proportional to 1/pt\n",
+ "Dab=Dab_2*10**-4; #new diffusion coefficient \n",
+ "pt=pt_2*1.013*10**5; #new total pressure\n",
+ "Na=Dab*pt*math.log((1-ya2)/(1-ya1))/(z*R*T); #diffusion flux in kmol/m**2*s\n",
+ "\n",
+ "# Result\n",
+ "print \"diffusion flux when pressure is increased to 10atm :%f *10**-5 kmol/m**2*s \"%(Na/10**-5);\n",
+ "print \"so the rate of diffusion remains same on increasing the pressure\"\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " diffusion flux when total presssure is 1atm and air is non-diffusing :6.889701 *10**-4 kg/m**2*s \n",
+ "diffusion flux when pressure is increased to 10atm :4.052765 *10**-5 kmol/m**2*s \n",
+ "so the rate of diffusion remains same on increasing the pressure\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.13"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "# variable declaration \n",
+ "T=290.0; #temperature in kelvin\n",
+ "z=2*10**-3; #film thickness sorrounding the water\n",
+ "xa2=0.0092; #mole fraction of ethanol at pos.2\n",
+ "xa1=0.0288; #mole fraction of ethanol at pos.1\n",
+ "w1=60.0; #molecular weight of acetic acid\n",
+ "w2=18.0; #molecular weight of water\n",
+ "Dab=0.95*10**-9; #diffusivity of acetic water sol.in m**2/s\n",
+ " #av=d/m\n",
+ "# Calculation \n",
+ "Mavg1=xa1*w1+(1-xa1)*w2; #average molecular wght of solution at pos 1\n",
+ "d1=1012.0; # density of 10 % acid\n",
+ "av1=d1/Mavg1; #value of (d/m) of copper solution\n",
+ "\n",
+ " #for position 2\n",
+ "d2=1003.0; #density of 4% acid\n",
+ "Mavg2=xa2*w1+(1-xa2)*w2; #average molecular wght of solution at pos.2\n",
+ "av2=d2/Mavg2; #value of (d/m) of water\n",
+ "\n",
+ "allavg=(av1+av2)/2; #average value of d/m\n",
+ " \n",
+ " #assuming water to be non diffusing\n",
+ "import math \n",
+ "Na=Dab*(allavg)*math.log((1-xa2)/(1-xa1))/z; #diffusion rate of acetic acid aacross film of non diffusing water sol.\n",
+ "\n",
+ "# Result\n",
+ "print \"diffusion rate of acetic acid aacross film of non diffusing water sol. :%f *10**-7 kmol/m**2*s\"%(Na/10.0**-7)\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "diffusion rate of acetic acid aacross film of non diffusing water sol. :5.088553 *10**-7 kmol/m**2*s\n"
+ ]
+ }
+ ],
+ "prompt_number": 47
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.14"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "\n",
+ "ya1=0.2; #molefraction at pos.1\n",
+ "ya2=0.1; #molefraction at pos.2\n",
+ "T=(293); #temperature in kelvin\n",
+ "pt=1*1.013*10**5; #total pressure in pascal\n",
+ "z=0.2*10**-2; #gas film thickness in m\n",
+ "Dab=.206*10**-4; #diffusion coefficient in m**2/s\n",
+ "R=8314; #universal gas constant\n",
+ " #for ideal gases volume fraction =mole fraction\n",
+ "#part (i)when N2 is non diffusing \n",
+ "import math\n",
+ "\n",
+ "# Calculation\n",
+ "Na=Dab*pt*math.log((1-ya2)/(1-ya1))/(z*R*T); #diffusion flux in kmol/m**2*s\n",
+ "print \"\\n diffusion flux if N2 is non diffusing :%f *10**-5 kmol/m**2*s \"%(Na/10**-5);\n",
+ "#part (ii) equimolar counter diffusion\n",
+ "\n",
+ "Na=Dab*pt*(ya1-ya2)/(z*R*T) #diffusion flux in kmol/m**2*s\n",
+ "\n",
+ "# Result\n",
+ "print \"\\n diffusion flux of nitrogen during equimolar counter-diffusion :%f *10**-5 kmol/m**2*s \"%(Na/10**-5)\n",
+ "\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " diffusion flux if N2 is non diffusing :5.044891 *10**-5 kmol/m**2*s \n",
+ "\n",
+ " diffusion flux of nitrogen during equimolar counter-diffusion :4.283207 *10**-5 kmol/m**2*s \n"
+ ]
+ }
+ ],
+ "prompt_number": 48
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.15"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "\n",
+ "pa1=0.2*10**5; #partial pressure at pos.1\n",
+ "pa2=0; #partial pressure at pos.2\n",
+ "r=10./2; #radius of tank in which benzene is stored\n",
+ "T=298.; #temperature in kelvin\n",
+ "pt=1*1.013*10**5; #total pressure in pascal\n",
+ "z=10*10**-3; #gas film thickness in m\n",
+ "Dab=.02/3600; #diffusion coefficient in m**2/s\n",
+ "R=8314.; #universal gas constant\n",
+ " #benzene is stored in atank of dia 10m\n",
+ "#part (i)when air is assumed to be stagnant\n",
+ "import math\n",
+ "\n",
+ "# Calculation\n",
+ "Na=Dab*pt*math.log((pt-pa2)/(pt-pa1))/(z*R*T); #diffusion flux in kmol/m**2*s\n",
+ "rate=Na*(3.14*r**2); #rate of loss of benzene if air is stagnant\n",
+ "\n",
+ " # Result\n",
+ "print \"diffusion rate of loss of benzene :%f *10**-4 kmol/s \"%(rate/10**-4);\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "diffusion rate of loss of benzene :3.921799 *10**-4 kmol/s \n"
+ ]
+ }
+ ],
+ "prompt_number": 49
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.16"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "\n",
+ "ya2=0.1; #molefraction at pos.2\n",
+ "ya1=0.8; #molefraction at pos.1\n",
+ "T=(370.); #temperature in kelvin\n",
+ "pt=1*1.013*10**5; #total pressure in pascal\n",
+ "z=0.1*10**-3; #gas film thickness in m\n",
+ "Dab=.15*10**-2; #diffusion coefficient in m**2/s\n",
+ "R=8314; #universal gas constant\n",
+ "Area=10; #area of the film is 10m**2\n",
+ "\n",
+ "#for gase Dab=T**3/2\n",
+ "#Dab1/Dab2=(T1/T2)**3/2\n",
+ "import math\n",
+ "T2=370.; #final temperature in kelvin \n",
+ "T1=298.; #initial temperature in kelvin\n",
+ "\n",
+ "# Calculation\n",
+ "Dab1=.15*10**-2; #initial diffusion coefficient \n",
+ "Dab2=((T2/T1)**(3./2))*Dab1; #final diffusion coefficient\n",
+ "Na=Dab2*pt*math.log((1-ya2)/(1-ya1))/(z*R*T); #diffusion flux in kmol/m**2*s\n",
+ "rate=Na*3600*46*Area; #rate of diffusion of alcohol-water vapour in kg/hour\n",
+ "\n",
+ " # Result\n",
+ "print \" rate of diffusion of alcohol-water vapour :%f *10**6 kg/hour \"%(rate/10**6)\n",
+ "\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " rate of diffusion of alcohol-water vapour :1.702149 *10**6 kg/hour \n"
+ ]
+ }
+ ],
+ "prompt_number": 50
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.17"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "\n",
+ "ya2=0; #molefraction at pos.2\n",
+ "ya1=0.1; #molefraction at pos.1\n",
+ "T=(273); #temperature in kelvin\n",
+ "pt=1*1.013*10**5; #total pressure in pascal\n",
+ "z=2*10**-3; #gas film thickness in m\n",
+ "Dab=.198*10**-4; #diffusion coefficient in m**2/s\n",
+ "R=8314; #universal gas constant\n",
+ " \n",
+ "#for gase Dab=T**3/2\n",
+ "#Dab1/Dab2=(T1/T2)**3/2\n",
+ "import math\n",
+ "T2=293; #final temperature in kelvin \n",
+ "T1=273; #initial temperature in kelvin\n",
+ "\n",
+ "\n",
+ "# Calculation\n",
+ "Dab1=0.198*10**-4; #initial diffusion coefficient \n",
+ "Dab2=((T2/T1)**(3.0/2))*Dab1; #final diffusion coefficient\n",
+ "Na=Dab2*pt*math.log((1-ya2)/(1-ya1))/(z*R*T2); #diffusion flux in kmol/m**2*s\n",
+ "print \" flux of diffusion of ammonia through inert film :%f *10**-5 kmol/m**2*s \"%(Na/10**-5)\n",
+ "\n",
+ "#if pressure is also incresed from 1 to 5 atm\n",
+ "#for gases Dab=(T**3/2)/pt;\n",
+ "#Dab1/Dab2=(T1/T2)**3/2*(p2/p1)\n",
+ "T2=293.; #final temperature in kelvin \n",
+ "T1=273.; #initial temperature in kelvin\n",
+ "pa2=5.; #final pressure in atm\n",
+ "pa1=1; #initial pressure in atm \n",
+ "p=pa2*1.013*10**5;\n",
+ "Dab1=.198*10**-4; #initial diffusion coefficient\n",
+ "Dab2=((T2/T1)**(3.0/2))*Dab1*(pa1/pa2); #final diffusion coefficient\n",
+ "Na=Dab2*p*math.log((1-ya2)/(1-ya1))/(z*R*T2); #diffusion flux in kmol/m**2*s\n",
+ "\n",
+ " # Result\n",
+ "print \"flux of diffusion of ammonia if temp. is 20 and pressure is 5 atm :%f*10**-5 kmol/m**2*s \"%(Na/10**-5)\n",
+ "print \"so there is no change in flux when pressure is changed\"\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " flux of diffusion of ammonia through inert film :4.337554 *10**-5 kmol/m**2*s \n",
+ "flux of diffusion of ammonia if temp. is 20 and pressure is 5 atm :4.822834*10**-5 kmol/m**2*s \n",
+ "so there is no change in flux when pressure is changed\n"
+ ]
+ }
+ ],
+ "prompt_number": 52
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.18"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "# variable declaration \n",
+ "pa1=0.418*10**5; #partial pressure initially\n",
+ "pa2=0; #partial pressure of pure air\n",
+ "r=10/2; #radius of tank in which benzene is stored\n",
+ "T=(350); #temperature in kelvin\n",
+ "pt=1*1.013*10**5; #total pressure in pascal\n",
+ "z=2*10**-3; #gas film thickness in m\n",
+ "Dab=.2*10**-4; #diffusion coefficient in m**2/s\n",
+ "R=8314; #universal gas constant\n",
+ "r=0.2/2; #radius of open bowl is 0.2\n",
+ "#when air layer is assumed to be stagnant of thickness 2mm\n",
+ "import math\n",
+ "\n",
+ "# Calculation\n",
+ "\n",
+ "Na=Dab*pt*math.log((pt-pa2)/(pt-pa1))/(z*R*T); #diffusion flux in kmol/m**2*s\n",
+ "rate=Na*(3.14*r**2)*18; #rate of loss of evaporation\n",
+ "\n",
+ "# Result\n",
+ "print \"\\n diffusion rate loss of evaporation :%f *10**-4 kg/s \"%(rate/10**-4)\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " diffusion rate loss of evaporation :1.046972 *10**-4 kg/s \n"
+ ]
+ }
+ ],
+ "prompt_number": 54
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.19"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "# variable declaration \n",
+ "\n",
+ "#stefan tube experiment\n",
+ "import math\n",
+ "Ml=92.; #molecular weight of toluene\n",
+ "T=(312.4); #temperature in kelvin\n",
+ "pt=1*1.013*10**5; #total pressure in pascal\n",
+ "R=8314.; #universal gas constant\n",
+ "t=275.*3600; #after 275 hours the level dropped to 80mm from the top\n",
+ "zo=20.*10**-3; #intially liquid toluene is at 20mm from top\n",
+ "zt=80.*10**-3; #finally liquid toluene is at 80mm from top\n",
+ "#air is assumed to be satgnant \n",
+ "d=850.; #density in kg/m**3\n",
+ "pa=7.64*10**3; #vapour pressure of toluene in at 39.4degree celcius \n",
+ "\n",
+ "# Calculation \n",
+ "cal=d/Ml; #conc. at length at disxtance l\n",
+ "ca=pt/(R*T); #total conc. \n",
+ "xa1=pa/pt; #mole fraction of toluene at pt1 i.e before evaporation \n",
+ "xb1=1-xa1; #mole fraction of air before evaporation i.e at pt1 \n",
+ "xb2=1.; #mole fraction of air after evaporation i.e at pt.2\n",
+ "xa2=0.; #mole fraction of toluene at point 2\n",
+ "xbm=(xb2-xb1)/(math.log(xb2/xb1));\n",
+ "#t/(zt-zt0) = (xbm*cal*(zt+zo))/(2*c*(xa1-xa2)*t);\n",
+ "Dab=(xbm*cal*(zt**2-zo**2))/(2*ca*t*(xa1-xa2));\n",
+ "\n",
+ "# Result\n",
+ "print \"\\n the diffusivity of the mixture in stefan tube of toluene in air is :%f*10**-5 m**2/s\"%(Dab/10**-5)\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the diffusivity of the mixture in stefan tube of toluene in air is :0.915437*10**-5 m**2/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 55
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.20 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "# variable declaration \n",
+ "\n",
+ "T=(360); #temperature in kelvin\n",
+ "pt=372.4/760; #total pressure in atm\n",
+ "R=82.06; #universal gas constant\n",
+ "Dab=0.0506; #diffusion coefficient in cm**2/s \n",
+ "z=0.254; #gas layer thickness in cm\n",
+ "vp=368.0/760; #vapour pressure of toluene in atm\n",
+ "xtol=.3; #mole fractoin of toluene in atm\n",
+ "pb1=xtol*vp; #partial pressure of toluene\n",
+ "#since pb1 is .045263 bt in book it is rounded to 0.145\n",
+ "\n",
+ "# Calculation \n",
+ "pb2=xtol*pt; #parial pressure of toluene in vapour phase\n",
+ "Na=Dab*(pb1-pb2)/(z*R*T); #diffusion flux \n",
+ "\n",
+ "# Result\n",
+ "print \"\\n the diffusion flux of a mixture of benzene and toluene %f*10**-8 gmol/cm**2*s\\n\"%(Na/10**-8)\n",
+ "print \"\\nthe negative sign indicates that toluene is getting transferred from gas phase \\\n",
+ "to liquid phase(hence the transfer of benzene is from liquid to gas phase)\"\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the diffusion flux of a mixture of benzene and toluene -1.171233*10**-8 gmol/cm**2*s\n",
+ "\n",
+ "\n",
+ "the negative sign indicates that toluene is getting transferred from gas phase to liquid phase(hence the transfer of benzene is from liquid to gas phase)\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.21"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "# variable declaration \n",
+ "\n",
+ "Ml=92.; #molecular weight of toluene\n",
+ "T=(303.); #temperature in kelvin\n",
+ "pt=1.*1.013*10**5; #total pressure in pascal\n",
+ "R=8314.; #universal gas constant\n",
+ "t=275.*3600; #after 275 hours the level dropped to 80mm from the top\n",
+ "zo=20.*10**-3; #intially liquid toluene is at 20mm from top\n",
+ "zt=77.5*10**-3; #finally liquid toluene is at 80mm from top\n",
+ " #air is assumed to be satgnant \n",
+ "import math\n",
+ "# Calculation \n",
+ "d=820.; #density in kg/m**3\n",
+ "pa=(57.0/760)*1.0135*10**5; #vapour pressure of toluene in at 39.4degree celcius \n",
+ "cal=d/Ml; #conc. at length at disxtance l\n",
+ "ca=pt/(R*T); #total conc. \n",
+ "xa1=pa/pt; #mole fraction of toluene at pt1 i.e before evaporation \n",
+ "xb1=1.-xa1; #mole fraction of air before evaporation i.e at pt1 \n",
+ "xb2=1.; #mole fraction of air after evaporation i.e at pt.2\n",
+ "xa2=0; #mole fraction of toluene at point 2\n",
+ "xbm=(xb2-xb1)/(math.log(xb2/xb1));\n",
+ "#t/(zt-zt0) = (xbm*cal*(zt+zo))/(2*c*(xa1-xa2)*t);\n",
+ "Dab=(xbm*cal*(zt**2-zo**2))/(2*ca*t*(xa1-xa2));\n",
+ "\n",
+ "# Result\n",
+ "print \"\\n the diffusivity of the mixture in stefan tube of toluene in air is :%f*10**-5 m**2/s\"%(Dab/10**-5)\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the diffusivity of the mixture in stefan tube of toluene in air is :0.804587*10**-5 m**2/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 57
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.22"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#variation in liquid level with respect to time is given below\n",
+ "%pylab inline\n",
+ "t=[26,185,456,1336,1958,2810,3829,4822,6385]\n",
+ "# let Zt-Zo= x;\n",
+ "x=[.25,1.29,2.32,4.39,5.47,6.70,7.38,9.03,10.48]\n",
+ "i=0; \n",
+ "y = [0,0,0,0,0,0,0,0,0] #looping starts\n",
+ "\n",
+ "# Calculation \n",
+ "while(i<9):\n",
+ " y[i]=t[i]/x[i]; #for calculating the t/Zt-Zo value\n",
+ " i=i+1;\n",
+ "from matplotlib.pyplot import *\n",
+ "plot(x,y,\"o-\");\n",
+ "show()\n",
+ "#xtitle(\" Fig.2.2 Example 22 \",\"X--(zi-zo),cm --->\",\"Y-- vs (t/(zi-zo))min/cm ---->\");\n",
+ "slope=51.4385*60 *10**4; #slope of the curve in 1/sec*m**2\n",
+ "#slope = Cal *(xblm)/(2*Dab*C*(xa1-xa2))\n",
+ "d=1540.; #density in kg/m**3\n",
+ "Ml=154.; #molecular weight of toluene\n",
+ "Cal=d/Ml ; #conc. at length at disxtance l in mol/m**3\n",
+ "\n",
+ "T=(321.); #temperature in kelvin\n",
+ "pt=1.; #total pressure in atm\n",
+ "R=82.06; #universal gas constant\n",
+ "C=pt/(R*T) *10**3; #total conc. in kg mol/m**3\n",
+ "\n",
+ "pa=(282./760); #vapour pressure of toluene \n",
+ "xa1=pa/pt; #mole fraction of toluene at pt1 i.e before evaporation\n",
+ "xb1=1.-xa1; #mole fraction of air before evaporation i.e at pt1 \n",
+ "xb2=1.; #mole fraction of air after evaporation i.e at pt.2\n",
+ "xa2=0.; #mole fraction of toluene at point 2\n",
+ "xblm=(xb2-xb1)/(math.log(xb2/xb1)); #log mean temp. difference\n",
+ "Dab = Cal *(xblm)/(2*slope*C*(xa1-xa2)); #diffusivity coefficient\n",
+ "\n",
+ "# Result\n",
+ "print \"\\n the diffusivity of the mixture by winklemann method of toluene in air is :%f*10**-6 m**2/s\"%(Dab/10**-6)\n",
+ "#end"
+ ],
+ "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": "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\n"
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the diffusivity of the mixture by winklemann method of toluene in air is :9.202857*10**-6 m**2/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.23"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "d=0.001;\n",
+ "area=3.14*(d/2)**2; #area of the bulb\n",
+ "T=298.; #temperature in kelvin \n",
+ "p=1.013*10**5; #total pressure of both the bulbs\n",
+ "R=8314.; #universal gas constant\n",
+ "\n",
+ "# Calculation \n",
+ "c=p/(R*T); #total concentration\n",
+ "Dab=.784*10**-4; #diffusion coefficient in m**2/s\n",
+ "xa1=0.8; #molefraction of nitrogen gas at the 1 end\n",
+ "xa2=0.25; #molefraction of nitrogen gas at the 2nd end\n",
+ "z=.15; #distance between the bulbs\n",
+ "\n",
+ " #rate=area*Na;\n",
+ "rate=area*Dab*c*(xa1-xa2)/z; #rate of transfer of hydrogen and hydrogen\n",
+ "\n",
+ "# Result\n",
+ "print \"\\n the rate of transfer from 1 to 2 of nitrogen and 2 to 1of hydrogen is :%f *10**-11kmol/s\"%(rate/10.0**-11)\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the rate of transfer from 1 to 2 of nitrogen and 2 to 1of hydrogen is :0.922657 *10**-11kmol/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 59
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.24"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "\n",
+ "T=288; #temperature in kelvin\n",
+ "Mb=32; #molecular weight of methanol\n",
+ "phi=1.9; #association factor for solvent\n",
+ "\n",
+ "# Calculation \n",
+ "va=(14.8+(4*24.6))*10**-3 #solute(CCl4) volume at normal BP in m**3/kmol\n",
+ "u=.6*10**-3; #viscosity of solution in kg/m*s\n",
+ "Dab=(117.3*10**-18)*(phi*Mb)**0.5*T/(u*va**0.6); #diffusion coefficient in m**2/s\n",
+ "\n",
+ "# Result\n",
+ "print \"\\ndiffusivity of methanol in carbon tetrachloride is :%f*10**-9 m**2/s\"%(Dab/10.0**-9)\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "diffusivity of methanol in carbon tetrachloride is :1.622494*10**-9 m**2/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 60
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.25"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "T=288.0; #temperature in kelvin\n",
+ "Mb=18.0; #molecular weight of methanol\n",
+ "phi=2.26; #association factor for solvent\n",
+ "\n",
+ "# Calculation \n",
+ "va=(2*14.8+(6*3.7)+7.4)*10**-3 #solute(water) volume at normal BP in m**3/kmol\n",
+ "u=1*10**-3; #viscosity of solution in kg/m*s\n",
+ "Dab=(117.3*10**-18)*(phi*Mb)**0.5*T/(u*va**0.6); #diffusion coefficient in m**2/s\n",
+ "\n",
+ "# Result\n",
+ "print \"\\ndiffusivity of methanol in water is :%f*10**-9 m**2/s\"%(Dab/10**-9)\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "diffusivity of methanol in water is :1.174865*10**-9 m**2/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.26"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "u=20.*10**-6; #viscosity in Ns/m**2\n",
+ "pt=2666.; #total pressure in N/m**2\n",
+ "pa1=pt; #pressure at 1\n",
+ "pa2=0; #pressure at 2\n",
+ "mw=32.; #molecular weight of oxygen\n",
+ "R=8314.; #universal law constant\n",
+ "T=373.; #temp. in kelvin\n",
+ "gc=1.; \n",
+ "\n",
+ "# Calculation \n",
+ "l=(3.2*u/pt)*((R*T)/(2*3.14*gc*mw))**0.5;#mean free path\n",
+ "d=.2*10**-6; #pore diameter\n",
+ "s=d/l; #value of dia/l\n",
+ " #hence knudsen diffusion occurs\n",
+ "Na=0.093*20*273/(760*373*22414*10**-1); #diffusion coefficient in kmol/m**2*s\n",
+ "Dka=(d/3)*((8*gc*R*T)/(3.14*mw))**0.5;\n",
+ "l1=Dka*(pa1-pa2)/(R*T*Na); #length of the plate\n",
+ "\n",
+ "# Result\n",
+ "print \"\\n the length of the plate is :%f m \"%l1\n",
+ "\n",
+ "\n",
+ " #for diffusion with hydrogen\n",
+ "u=8.5*10**-6; #viscosity in Ns/m**2\n",
+ "pt=1333; #total pressure in N/m**2\n",
+ "pa1=pt; #pressure at 1\n",
+ "pa2=0; #pressure at 2\n",
+ "mw=2; #molecular weight of oxygen\n",
+ "R=8314; #universal law constant\n",
+ "T=298; #temp. in kelvin\n",
+ "gc=1; \n",
+ "l=(3.2*u/pt)*((R*T)/(2*3.14*gc*mw))**0.5;#mean free path\n",
+ "d=.2*10**-6; #pore diameter\n",
+ "s=d/l; #value of dia/l\n",
+ " #hence knudsen diffusion occurs\n",
+ "Dka=(d/3)*((8*gc*R*T)/(3.14*mw))**0.5;\n",
+ "Na=Dka*(pa1-pa2)/(R*T*l1); #diffusion coefficient in kmol/m**2*s\n",
+ "print \"\\n the diffusion coefficient is :%f *10**-4 kmol/m**2*s\"%(Na/10.0**-6)\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the length of the plate is :0.035635 m \n",
+ "\n",
+ " the diffusion coefficient is :1.788175 *10**-4 kmol/m**2*s\n"
+ ]
+ }
+ ],
+ "prompt_number": 61
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Elements_Of_Mass_Transfer_Part_1/ch3.ipynb b/Elements_Of_Mass_Transfer_Part_1/ch3.ipynb
new file mode 100755
index 00000000..3a0c3089
--- /dev/null
+++ b/Elements_Of_Mass_Transfer_Part_1/ch3.ipynb
@@ -0,0 +1,596 @@
+{
+ "metadata": {
+ "name": "ch3",
+ "signature": "sha256:3744cb249ffd9e10c950b9110990dfac9cd54ad63b8fe61f5671a88b4822fb4c"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 3 : Mass transfer coefficient and interphase mass transfer"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# Variable Declaration \n",
+ "v=6.; #velocity in m/s\n",
+ "l=6.; #length in m\n",
+ "pa1=10.; #pressure at 1 in atm\n",
+ "pa2=0; #pressure at 2 in atm\n",
+ "t=373.; # temperature in kelvin\n",
+ "p=1.; #pressure of naphthalene in atm at 373kelvin\n",
+ "D=5.15*10**-6; #diffusivity of naphthalene in C02 in m**2/s\n",
+ "d=0.946; #density of air in kg/m**3\n",
+ "u=.021*10**-3; #viscosity of air in Newton*s/m**2\n",
+ "ID=0.075; #diameter in m\n",
+ "\n",
+ "# Calculation\n",
+ "nre=(ID*v*d)/(u); #calc. of reynolds no.\n",
+ "cf=2*0.023*(nre)**(-0.2); #friction factor\n",
+ "nsc=(u)/(d*D); #calc of schmidt no.\n",
+ "kc=(cf*v)/(2*(nsc)**(2./3));\n",
+ "na=(kc*10**5*(pa1/760-0))/(8314*t); #difussion flux in kmol/m**2*s\n",
+ "sub=na*2*3.14*(ID/2)*l; #rate of sublimation\n",
+ "\n",
+ "# Result\n",
+ "print \"\\nrate of sublimation :%f *10**-6 kmol/s\\n\"%(sub/10**-6);\n",
+ "#End"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "rate of sublimation :4.298312 *10**-6 kmol/s\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "# Variable Declaration \n",
+ "v=0.30; #velocity of parallelair in m/s\n",
+ "t=300; #temperature of air in kelvin\n",
+ "p=10.0**5/760; #pressure of air in pascal\n",
+ "Dab=5.9*10**-4; #diffusivity of naphthalene in in air in m**2/s \n",
+ "pa1=0.2*10**5/760; #pressure of air at 1 in pascal\n",
+ "pa2=0; #pressure of air at 2 in pascal\n",
+ "d=1.15; #density of air in kg/m**3\n",
+ "u=0.0185*10**-3; #viscosity of air in Newton*s/m**2\n",
+ "D=1.; #length in m\n",
+ "a=1.; #area of plate in m**2\n",
+ "\n",
+ "# Calculation \n",
+ "Nsc=u/(d*Dab); #schmidt no. calculation\n",
+ "Nre=(D*v*d)/u; #reynolds no. calculation\n",
+ " #flow is turbulent \n",
+ "f=0.072*(Nre)**-.25; #friction factor using \"chilton colburn\" analogy\n",
+ "k_c=(f*v)/(2*(Nsc)**.667); #mass transfer coefficient\n",
+ "NA=k_c*(pa1-pa2)/(8314*300); #mass flux calc.\n",
+ "sub=NA*a; #rate of sublimation in kmol/m**2*s\n",
+ "\n",
+ "# Result\n",
+ "print \"\\nrate of sublimation :%f *10**-7 kmol/s\\n\"%(sub/10**-7)\n",
+ "#End"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "rate of sublimation :1.077674 *10**-7 kmol/s\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.3 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "\n",
+ "# a is CO2 and b is water\n",
+ "p=2.; #total pressure at 1 in atm \n",
+ "pa1=0.2*10**5; #pressure of CO2 at pt 1 in atm\n",
+ "pa2=0; #pressure of CO2 at pt 2 is 0 since air is pure\n",
+ "ya1=0.1; #mole fraction of CO2 at 1 is 0.2/2\n",
+ "ya2=0; #mole fraction of CO2 at 2 is 0 since air is pure\n",
+ "yb1=0.9; #mole fraction of water at 1 is (1-0.1)\n",
+ "yb2=1.0; #mole fraction of water at 2 is 1.0 since total pressure has to be constant.\n",
+ "k_y1=6.78*10**-5; #mass transfer coefficient in kmol/m**2*s*molefraction\n",
+ "import math\n",
+ "\n",
+ "# Calculation \n",
+ "yb_ln=(yb2-yb1)/(math.log(yb2/yb1)); #log mean is represented by yb_ln\n",
+ "\n",
+ "k_y=k_y1/yb_ln; \n",
+ "\n",
+ "# Result\n",
+ "print \"\\nvalue of mass transfer coefficient k_y is:%f *10**-5 kmol/m**2*s*(molefractin)\"%(k_y/10.0**-5)\n",
+ "k_g=k_y/p; #mass ttransfer coefficient in lmol/m**2*s*atm\n",
+ "print \"\\nvalue mass transfer coefficient k_g is:%f *10**-5 kmol/m**2*s*(atm)\"%(k_g/10**-5)\n",
+ "\n",
+ "NA=k_y*(ya1-ya2); #mass flux in kmol/m**2*s\n",
+ "print \"\\nvalue of rate of mass transfer :%f *10**-6 kmol/m**2*s\"%(NA/10.0**-6)\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "value of mass transfer coefficient k_y is:7.143443 *10**-5 kmol/m**2*s*(molefractin)\n",
+ "\n",
+ "value mass transfer coefficient k_g is:3.571721 *10**-5 kmol/m**2*s*(atm)\n",
+ "\n",
+ "value of rate of mass transfer :7.143443 *10**-6 kmol/m**2*s\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.4"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "NA=7.5*10**-7; #mass flux in gmol/cm**2*s\n",
+ "Dab=1.7*10**-5; #diffusivity if SO2 in water in cm**2/s\n",
+ "c=1./18.02; #concentration is density/molecular weight in gmol/cm**2*s\n",
+ "#SO2 is absorbed from air into water\n",
+ "\n",
+ "xa1=0.0025; #liquid phase mole fraction at 1\n",
+ "xa2=0.0003; #liquid phase mole fraction at 2\n",
+ " #NA=kc(Ca1-Ca2)=Dab*(Ca1-Ca2)/d\n",
+ "\n",
+ "# Calculation \n",
+ "k_c=NA/(c*(xa1-xa2)); #k_c=Dab/d=NA/c(xa1-xa2)\n",
+ "\n",
+ "# Result \n",
+ "print \"\\nmass transfer coefficient k_c is:%f cm/s\"%k_c\n",
+ "\n",
+ "d=Dab/k_c;\n",
+ "print \"\\nfilm thickness d is :%f cm\"%d\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "mass transfer coefficient k_c is:0.006143 cm/s\n",
+ "\n",
+ "film thickness d is :0.002767 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.5 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "Kg=2.72*10**-4; #overall gas phase mass transfer coefficient in kmol/m**2*S*atm\n",
+ "r_gas=0.85*(1/Kg); #given that gas phase resisitance is 0.85 times overall resistance\n",
+ "kg=1.0/r_gas; \n",
+ "m=9.35*10**-3; #henry's law constant in atm*m**3/kmol\n",
+ "kl=m/(1./Kg-1/kg); #liquid phase mass transfer coefficient in m/s\n",
+ "print \"\\nthe value of liquid film coefficient kl : %f*10**-5 m/s\"%(kl/10**-5)\n",
+ "print \"\\nthe value of gas film coefficient kg : %f*10**-5 m/s\"%(kg/10**-5);\n",
+ "p=1.; #overall pressure in atm\n",
+ "\n",
+ " #NA=Kg(pag-pa*)=kg(pag-pai)=kl(Cai-Cal)\n",
+ "# Calculation \n",
+ "Yag=0.1; #molefraction of ammonia\n",
+ "Cal=6.42*10**-2; #liquid phase concentration \n",
+ "Pag=Yag*p; #pressure of ammonia\n",
+ " \n",
+ "#Pai=m*C_ai;\n",
+ "#NA=kg(pag-pai)=kl(Cai-Cal)\n",
+ " \n",
+ "#Cai=poly([0],'Cai'); #calc. of conc. in gas phase\n",
+ "x = 1.6588481 #x=roots((Pag-m*Cai)*(kg/kl)-(Cai-Cal));\n",
+ "\n",
+ "# Result \n",
+ "print \"\\nthe value of interphase conc.cai :%f kmol/m**3\"%x\n",
+ "Pai=m*x;\n",
+ "print \"\\nthe value of interphase pressure pai is:%f atm\"%Pai\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "the value of liquid film coefficient kl : 1.695467*10**-5 m/s\n",
+ "\n",
+ "the value of gas film coefficient kg : 32.000000*10**-5 m/s\n",
+ "\n",
+ "the value of interphase conc.cai :1.658848 kmol/m**3\n",
+ "\n",
+ "the value of interphase pressure pai is:0.015510 atm\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.6 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "m=0.3672;\n",
+ "t=.9;\n",
+ " #Pai and Cai indicates interfacial pressure and conc.\n",
+ " #Pal and Cal indicates bulk pressure and conc.\n",
+ "Yag=0.15; #molefraction of ammonia\n",
+ "Cal=0.147; #liquid phase concentration in kmol/m**3\n",
+ "p=1; #overall pressure\n",
+ "\n",
+ "# Calculation \n",
+ "Pag=Yag*p; #pressure of ammonia\n",
+ "\n",
+ " #Pai=m*C_ai;\n",
+ " #kg/kl=(Cai-Cal)/(Pag-Pai);\n",
+ " \n",
+ "#Cai=poly([0],'Cai'); #calc. of conc. in gas phase\n",
+ "x = 0.211954 #x=roots((Pag-m*Cai)*(t)-(Cai-Cal));\n",
+ "\n",
+ "# Result\n",
+ "print \"\\nthe value of conc. of ammonia cai is :%f kmol/m**3\"%x\n",
+ "Pai=m*x;\n",
+ "print \"\\nthe value of interphase pressure Pai is :%f atm\"%Pai"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "the value of conc. of ammonia cai is :0.211954 kmol/m**3\n",
+ "\n",
+ "the value of interphase pressure Pai is :0.077830 atm\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.7"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "# Variable Declaration \n",
+ "D=.1;\n",
+ "l=3; # l is length of bubble in cm\n",
+ "a=3.14*D*l; # area in cm**2\n",
+ "Ca_o=0.0001; #pure conc. of gas in g*mol/cc*atm\n",
+ "Ca=0;\n",
+ "NA=.482*10**-5; # molar rate of absorption in g*moles/s\n",
+ " #Pa_o and Ca_o indicates pure pressure and conc.\n",
+ "# Calculation \n",
+ "kl=NA/(a*(Ca_o-Ca)); #mass transfer coefficient acc. to higbie's penetration theory\n",
+ "Q=4; #volumetric flow rate in cc/s\n",
+ "A=3.14*.1*.1/4; #area of flow\n",
+ "v=Q/A; #velocity of flow in cm/s\n",
+ "\n",
+ "#timt t=bubble length/linear velocity;\n",
+ "t=l/v;\n",
+ "DAB=(kl**2)*3.14*t/4; #diffusivity in cm**2/s\n",
+ "D_new=0.09; #revised diameter reduced to.09\n",
+ "a_new=3.14*l*D_new; #revised area\n",
+ "A_new=3.14*0.09*0.09/4; #revised flow area\n",
+ "v_new=Q/A_new; #revised velocity\n",
+ "\n",
+ "# Result \n",
+ "print \"\\nthe value of diffusivity of gas DAB is :%f cm/s\"%(DAB/10**-5)\n",
+ "\n",
+ "t_new=l/v_new; #revised time\n",
+ "kl_new=2*(DAB/(3.14*0.0047))**0.5; #revised mass transfer coefficient \n",
+ "NA_new=kl_new*a_new*(Ca_o-Ca); #revised molar rate absorption in g*moles/s\n",
+ "print \"\\nthe value of NA_new is :%f*10**-6 kmol/m**3\"%(NA_new/10**-6)\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "the value of diffusivity of gas DAB is :1.210021 cm/s\n",
+ "\n",
+ "the value of NA_new is :4.855188*10**-6 kmol/m**3\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.8"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "# Variable Declaration \n",
+ "Kg=7.36*10**-10;\n",
+ "p=1.013*10**5;\n",
+ "Ky=Kg*p;\n",
+ "#resistance in gas phase is 0.45 of total resistance & .55 in liquid phase\n",
+ "#(resistance in gas phase)r_gas=1/ky and (resistance in liq phase)r_liq=m'/kx\n",
+ "r_gas=0.45*(1./Ky);\n",
+ "ky=1./r_gas;\n",
+ "r_liq=0.55*(1./Ky);\n",
+ "print \"film based liq phase mass transfer coeff.ky is :%f \"%ky\n",
+ "\n",
+ "# Calculation\n",
+ "m1=86.45;\n",
+ "kx=m1/r_liq;\n",
+ "yag=.1;\n",
+ "xal=(.4/64)/((99.6/18)+(.4/64));\n",
+ "print \"\\n film based gas phase mass transfer coeff.ky is :%f \"%kx\n",
+ "#slope of the line gives -kx/ky=-70.61\n",
+ "m2=m1; # since equilibrium line a straigth line m'=m''\n",
+ "Kx=1/(1/kx+(1/(m2*ky))); #overall liquid phase mass transfer coefficient\n",
+ "print \"\\n overall liq phase mass transfer coefficient Kx is :%f \"%Kx\n",
+ "# equillibrium relation is given under\n",
+ "p = [0.2,0.3,0.5,0.7];\n",
+ "a = [29,46,83,119];\n",
+ "i=0;\n",
+ "x = [0,0,0,0]\n",
+ "y = [0,0,0,0]\n",
+ " #looping for calcullating mole fraction\n",
+ "while (i<4):\n",
+ " x[i]= (p[i]/64.)/(p[i]/64.+100/18);\n",
+ " y[i]= a[i]/760.; #mole fraction plotted on y-axis\n",
+ " i=i+1; \n",
+ " #mole fraction plotted on x-axis\n",
+ "%pylab inline\n",
+ "from matplotlib.pyplot import *\n",
+ "\n",
+ "# Result\n",
+ "plot(x,y);\n",
+ "title(\"Fig.3.17,Example 8\");\n",
+ "xlabel(\"X-- Concentration of SO2 in liquid phase, X(10**4)(molefraction)\");\n",
+ "ylabel(\"Y-- Concentration of SO2 in gas phase, Y(molefraction)\");\n",
+ "show()\n",
+ " #from the graph we get these values\n",
+ "yao=.083; #corresponding to the value of xao=0.001128\n",
+ "xao=.00132; #corresponding to the value of yag=.1\n",
+ "yai=.0925; #corresponding to the perpendicular dropped from the pt(.001128,0.1) \n",
+ "xai=.00123;\n",
+ " \n",
+ " # flux based on overall coefficient\n",
+ "NAo_gas=Ky*(yag-yao);\n",
+ "NAo_liq=Kx*(xao-xal);\n",
+ "print \"overall gas phase mass transfer flux -NAo_gas is :%f*10**-6 kmol/m**2*s \"%(NAo_gas/10**-6)\n",
+ "print \"overall liq phase mass transfer flux -NAo_liq is :%f*10**-6 kmol/m**2*s \"%(NAo_liq/10**-6);\n",
+ "\n",
+ " # flux based on film coefficient \n",
+ "NAf_gas=ky*(yag-yai);\n",
+ "NAf_liq=kx*(xai-xal);\n",
+ "print \"film based gas phase mass transfer flux-NAf_gas is :%f *10**-6 kmol/m**2*s\"%(NAf_gas/10**-6);\n",
+ "print \"film based liq phase mass transfer flux-NAf_liq is :%f *10**-6 kmol/m**2*s\"%(NAf_liq/10**-6);\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "film based liq phase mass transfer coeff.ky is :0.000166 \n",
+ "\n",
+ " film based gas phase mass transfer coeff.ky is :0.011719 \n",
+ "\n",
+ " overall liq phase mass transfer coefficient Kx is :0.006445 \n",
+ "Populating the interactive namespace from numpy and matplotlib"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stderr",
+ "text": [
+ "WARNING: pylab import has clobbered these variables: ['f']\n",
+ "`%pylab --no-import-all` prevents importing * from pylab and numpy\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n6NEAAD8/P2RmZiI9PR1NmjSBh4cHAOF2nKOjIx4+fFje98cYY0zDlHY3PnbsGC5fvgxdXV0AwIcf\nfggPDw8sX75c6cnT0tJgaWkpf2xhYYGYmBil+zx48ACNGzeWb0tJSUF8fLxWzKjMGGNMCVLC1dWV\nnj17Jn/87NkzcnV1VXYYEREdOnSIxo8fL3+8e/dumjJlSrF9+vTpQ1FRUfLHXbp0oUuXLskfS6VS\n8vb2pl9++aXE+QHwF3/xF3/xVwW+1EnpFcvnn38OLy8vdOrUCUSE06dPY8WKFcoOAwCYm5sjNTVV\n/jg1NRUWFhZl7vPgwQOYm5sDAAoKChAQEIARI0ZgwIABJc5P3COMMca0jkpzhT18+BAXLlyARCJB\n69at0aRJE5VOXlhYCHt7e5w8eRLNmjVD69atsW/fvmIrUIaFhWHDhg0ICwtDdHQ0ZsyYgejoaBAR\nRo8ejQYNGmDt2rUVf4eMMcY0SmFhCQ8Ph1QqxZAhQ4ptP3ToEOrWrYtu3bqp9ALHjx/HjBkzIJPJ\nMG7cOHz++efYtGkTAGDixIkAIO85VqdOHezYsQNeXl6IiopChw4d4ObmJp9CZvny5ejRo0eF3yxj\njDENUHSPrE2bNpSenl5i+5MnT8jPz69S7sMdP36c7O3tydbWllasWFHqPlOnTiVbW1tyc3OjuLg4\npcc+f/6cunbtSnZ2dtStWzfKyMiQP3flyhV69913ydnZmVxdXSkvL0/rcubm5lJgYCC5urqSo6Mj\nLV++XKWM6sp54MABcnJyIh0dnWJtX0REy5YtI1tbW7K3t6fff/9da3JevHhRvv2PP/4gb29vcnV1\nJW9vbzp16pTW5Hz750lEdO/ePapTpw598803WptTmz5HinJW9HOkjoyzZ88mBwcHcnNzo4EDB1Jm\nZqb8OW36DCnKWZHPkMLC4uXlpfAgFxcXpSdWprCwkGxsbOju3buUn59P7u7ulJCQUGyfY8eOUc+e\nPYmIKDo6Wl7Qyjp2zpw5tHLlSiIiWrFiBc2dO5eIiAoKCsjNzY2uXr1KREQvXrwgmUymdTl37NhB\ngYGBRESUk5NDVlZWdO/ePdFy3rhxg27evEn+/v7FPrjXr18nd3d3ys/Pp7t375KNjY2oP09FOePj\n4+nRo0dERPT333+Tubm50oxi5HwtICCA/ud//kflwqLpnNr2OVKUsyKfI3Vl/OOPP+Q/o7lz58o/\n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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x2c409d0>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "overall gas phase mass transfer flux -NAo_gas is :1.267466*10**-6 kmol/m**2*s \n",
+ "overall liq phase mass transfer flux -NAo_liq is :1.235953*10**-6 kmol/m**2*s \n",
+ "film based gas phase mass transfer flux-NAf_gas is :1.242613 *10**-6 kmol/m**2*s\n",
+ "film based liq phase mass transfer flux-NAf_liq is :1.192479 *10**-6 kmol/m**2*s\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.9"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "# Variable Declaration \n",
+ "Cas=1.521*10**-7;\n",
+ "v=1525; #velocity in m/s\n",
+ "D=0.0516; #diffusivity in cm**2/s\n",
+ "d=1.25*10**-3; #density of air in g/cm**3\n",
+ "u=1.786*10**-4; #viscosity of air in n*s/m**2\n",
+ "Dia=2.54; #diameter in cm\n",
+ "\n",
+ "# Calculation \n",
+ "nre=(Dia*v*d)/(u); #calc. of reynolds no.\n",
+ "cf=2*0.036*(nre)**(-0.25); #friction factor\n",
+ "nsc=(u)/(d*D); #calc of schmidt no.\n",
+ "kc=(cf*v)/(2*(nsc)**(2./3)); #cf/2=kc/uo*(sc)**2/3\n",
+ "\n",
+ "#rate of mass transfer=(cross sectional area)*(air velocity)*dc =(3.14*d**2/4)*v*dc -----1 eqn\n",
+ " \n",
+ "#flux for mass transfer from the surface=kc*(Cas-C)\n",
+ "# rate of mass transfer=(flux)*mass transfer\n",
+ "# =kc*(Cas-C)*3.14*dx*D------2 eqn\n",
+ "# solving ----1 & -----2 we get\n",
+ "# \n",
+ "# (3.14*d**2/4)*v*dc=kc*(Cas-C)*3.14*dx*d;\n",
+ "# dc/(Cas-C)=(kc*3.14*d*v)/(3.14*d**2/4)*dx\n",
+ "# solving this we get\n",
+ "# ln[(Cas-C)/(Cas-C_in)]=(kc*4*x)/(d*v)\n",
+ "import math\n",
+ "x=183; #upper limit of x\n",
+ "C_in=0; #C=C_in=0;\n",
+ "t=(kc*4*x)/(Dia*v); #variable to take out the exponential\n",
+ "z=math.e**t;\n",
+ "C_final=Cas-(z*(Cas-C_in)); #value of c_final in g*mol/cc;\n",
+ "\n",
+ "# Result\n",
+ "print \"\\t conc. of acid at outlet :%f *10**-8 g*mol/cc\\n\"%(abs(C_final/10**-8))\n",
+ "rate=(3.14*Dia**2/4)*v*(C_final-C_in);\n",
+ "print \"\\trate of mass transfer :%f *10**-4 g*mol/s\\n\"%(abs(rate/10**-4));\n",
+ "#End"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\t conc. of acid at outlet :7.709387 *10**-8 g*mol/cc\n",
+ "\n",
+ "\trate of mass transfer :5.954246 *10**-4 g*mol/s\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Elements_Of_Mass_Transfer_Part_1/ch5.ipynb b/Elements_Of_Mass_Transfer_Part_1/ch5.ipynb
new file mode 100755
index 00000000..49994a84
--- /dev/null
+++ b/Elements_Of_Mass_Transfer_Part_1/ch5.ipynb
@@ -0,0 +1,983 @@
+{
+ "metadata": {
+ "name": "ch5",
+ "signature": "sha256:2ee4e5f8137c7268975819ca4a31ef66c4a59076a802f56667cecd1c3f67b2a9"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 5 : Humidification"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.1 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "\n",
+ "# Variable Declaration \n",
+ "#dry bulb temperature=50 and wet bulb temperature=35 \n",
+ "Tg=50.; #dry bulb temperature=50\n",
+ "To=0; #refrence temperature in degree celcius \n",
+ "Mb=28.84; #average molecular weight of air\n",
+ "Ma=18.; #average molecular weight of water\n",
+ "\n",
+ "#part(i)\n",
+ "ybar=.0483 #0.003 kg of water vapour/kg of dry air\n",
+ "print \"\\n the humidity(from chart) is \\t\\t:%f percent\"%ybar\n",
+ "\n",
+ "#part(ii)\n",
+ "humper=35.; #humidity percentage\n",
+ "print \"\\n the percentage humidity is(from chart) :%f percent\"%humper\n",
+ "\n",
+ "# Calculation and Result\n",
+ "#part(iii)\n",
+ "pt=1.013*10**5; #total pressure in pascal\n",
+ "molhum=0.0483; #molal humidity =pa/(pt-pa)\n",
+ "pa=molhum*pt/(1+molhum);\n",
+ "#the vopour pressure of water(steam tables)at 50degree = .1234*10**5 N/m**2\n",
+ "relhum=(pa/(.1234*10**5))*100; #percentage relative humidity =partial pressure/vapour pressure\n",
+ "print \"\\n the percentage relative humidity is \\t percent:%f \"%relhum\n",
+ "\n",
+ "#part(iv)\n",
+ "dewpoint=31.5; #dew point temperature in degree celcius\n",
+ "print \"\\n the dew point temperature \\t\\t :%f degree celcius\"%dewpoint\n",
+ "\n",
+ "#part(v)\n",
+ "Ca=1.005;\n",
+ "Cb=1.884;\n",
+ "ybar=.03; #saturation temperature inkg water vapour/kg dry air\n",
+ "Cs=Ca+Cb*ybar; #humid heat in kj/kg dry air degree celcius\n",
+ "print \"\\n we get humid heat as \\t\\t\\t :%f kj/kg dry air degree celcius \"%Cs\n",
+ "\n",
+ "#part(vi)\n",
+ "d=2502; #latent heat in kj/kg\n",
+ "H=Cs*(Tg-0)+ybar*d; #enthalpy for refrence temperature of 0 degree\n",
+ "print \"\\n we get H as \\t\\t\\t\\t :%f kj/kg\"%H\n",
+ "Hsat=274.; #enthalpy of sturated air\n",
+ "Hdry=50.; #enthalpy of dry air in kj/kg\n",
+ "Hwet=Hdry+(Hsat-Hdry)*0.35; #enthalpy of wet air in kj/kg\n",
+ "print \"\\n we get enthalpy of wet air as \\t:%f kj/kg\"%Hwet\n",
+ "\n",
+ "#part(vii)\n",
+ "VH=8315*((1./Mb)+(ybar/Ma))*((Tg+273.)/pt); #humid volume in m**3mixture/kg of dry air\n",
+ "print \"\\n we get VH as (a)\\t\\t\\t :%f m**3/kg of dry air\"%VH\n",
+ "spvol=1.055; #specific volume of saturated air in m**3*kg\n",
+ "vdry=0.91; #specific volume of dry air in m**3/kg\n",
+ "Vh=vdry+(spvol-vdry)*.35 #by interpolation we get Vh in m**3/kg of dry air \n",
+ "print \"\\n by interpolation we get specific volume Vh as(b) :%f m**3/kg of dry air\"%Vh\n",
+ "\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the humidity(from chart) is \t\t:0.048300 percent\n",
+ "\n",
+ " the percentage humidity is(from chart) :35.000000 percent\n",
+ "\n",
+ " the percentage relative humidity is \t percent:37.822988 \n",
+ "\n",
+ " the dew point temperature \t\t :31.500000 degree celcius\n",
+ "\n",
+ " we get humid heat as \t\t\t :1.061520 kj/kg dry air degree celcius \n",
+ "\n",
+ " we get H as \t\t\t\t :128.136000 kj/kg\n",
+ "\n",
+ " we get enthalpy of wet air as \t:128.400000 kj/kg\n",
+ "\n",
+ " we get VH as (a)\t\t\t :0.963494 m**3/kg of dry air\n",
+ "\n",
+ " by interpolation we get specific volume Vh as(b) :0.960750 m**3/kg of dry air\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.2 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "# Variable Declaration \n",
+ "\n",
+ "#dry bulb temperature=25 and wet bulb temperature=22\n",
+ "Tg=25.; #dry bulb temperature=50\n",
+ "To=0; #refrence temperature in degree celcius \n",
+ "Mb=28.84; #average molecular weight of air\n",
+ "Ma=18.; #average molecular weight of water\n",
+ "\n",
+ "\n",
+ "# Calculation and Result\n",
+ "#part(i)\n",
+ "hum=.0145 #0.0145 kg of water/kg of dry air\n",
+ "print \"\\n the saturation humidity(from chart) is :%f percent\"%hum\n",
+ "\n",
+ "#part(ii)\n",
+ "humper=57.; #humidity percentage\n",
+ "print \"\\n the percentage humidity is \\t\\t:%f percent\"%humper\n",
+ "\n",
+ "#part(iii)\n",
+ "pt=1.; #total pressure in atm\n",
+ "sathum=0.0255; #molal humidity =pa/(pt-pa)\n",
+ "pa1=sathum*pt*(28.84/18)/(1+(sathum*(28.84/18)));\n",
+ "#the vopour pressure of water(steam tables)at 25 = .0393*10**5 N/m**2\n",
+ "pt=1; #total pressure in atm\n",
+ "molhum=0.0145; #molal humidity =pa/(pt-pa)\n",
+ "pa2=molhum*pt*(28.84/18)/(1+(molhum*pt*(28.84/18)));\n",
+ "#the vopour pressure of water(steam tables)at 25 = .0393*10**5 N/m**2\n",
+ "relhum=(pa2/pa1)*100; #percentage relative humidity =partial pressure/vapour pressure\n",
+ "print \"\\n the percentage relative humidity is \\t :%f \"%relhum\n",
+ "\n",
+ "#part(iv)\n",
+ "dewpoint=19.5; #dew point temperature in degree celcius\n",
+ "print \"\\n the dew point temperature \\t :%f degree celcius\"%dewpoint\n",
+ "\n",
+ "#part(v)\n",
+ "Ca=1005.;\n",
+ "Cb=1884.;\n",
+ "ybar=.0145; # humidity inkg water /kg dry air\n",
+ "Cs=Ca+Cb*ybar; #humid heat in j/kg dry air degree celcius\n",
+ "d=2502300.; #latent heat in j/kg\n",
+ "H=Cs*(Tg-0)+ybar*d; #enthalpy for refrence temperature of 0 degree\n",
+ "print \"\\n we get Humid heat H as \\t :%f j/kg\"%H\n",
+ "#the actual answer is 62091.3 bt in book it is given 65188.25(calculation mistake in book)\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the saturation humidity(from chart) is :0.014500 percent\n",
+ "\n",
+ " the percentage humidity is \t\t:57.000000 percent\n",
+ "\n",
+ " the percentage relative humidity is \t :57.842165 \n",
+ "\n",
+ " the dew point temperature \t :19.500000 degree celcius\n",
+ "\n",
+ " we get Humid heat H as \t :62091.300000 j/kg\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.3"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "# Variable Declaration \n",
+ "\n",
+ "#part(i)\n",
+ "pt=800.; #total pressure in mmHg\n",
+ "pa=190.; #vapour pressure of acetone at 25 degree \n",
+ "ys_bar=pa*(58./28)/(pt-pa) #\n",
+ "#percentage saturation = y_bar/ys_bar *100\n",
+ "s=80; #percent saturation\n",
+ "\n",
+ "# Calculation and Result\n",
+ "y_bar=ys_bar*s/100.; #absolute humidity\n",
+ "print \"\\n the absolute humidity is \\t :%f kg acetone/kmol N2 \"%y_bar\n",
+ "\n",
+ "#part(ii)\n",
+ "#y_bar=pa*(58/28)/(pt-pa) \n",
+ "pa1=pt*y_bar*(28./58)/(1+(y_bar*(28./58)));\n",
+ "print \"\\n the partial pressure of acetone is:%f mmHg\"%pa1\n",
+ "\n",
+ "#part(iii)\n",
+ "y=pa1/(pt-pa1); #absolute molal humidity\n",
+ "print \"\\n absolute molal humidity \\t:%f kmol acetone/kmol N2\"%y\n",
+ "\n",
+ "#part(iv)\n",
+ "#volume of .249kmol acetone vapour at NTP =.249*22.14\n",
+ "#p1v1/T1 =p2v2/T2\n",
+ "p2=800.; #final pressure of acetone and nitrogen at 25 degree\n",
+ "p1=760.; #initial pressure of acetone and nitrogen at 25 degree\n",
+ "T2=298.; #final temperature of acetone and nitrogenat 25 degree\n",
+ "T1=273.; #initial temperature of acetone and nitrogen at 25 degree\n",
+ "vA1=5.581; #initial volume of acetone at 25 degree\n",
+ "vN1=22.414; #initial volume of nitrogen at 25 degree \n",
+ "vA2=T2*vA1*p1/(T1*p2); #final volume of acetone at 25 degree\n",
+ "vN2=T2*vN1*p1/(T1*p2); #final volume of nitrogen at 25 degree\n",
+ "vtotal=vA2+vN2; #total volume of the mixture\n",
+ "vper=vA2*100/vtotal; #percentage volume of acetone\n",
+ "print \"\\n the percentage volume of acetone is :%f m**3\"%vper\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the absolute humidity is \t :0.516159 kg acetone/kmol N2 \n",
+ "\n",
+ " the partial pressure of acetone is:159.580052 mmHg\n",
+ "\n",
+ " absolute molal humidity \t:0.249180 kmol acetone/kmol N2\n",
+ "\n",
+ " the percentage volume of acetone is :19.935703 m**3\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.4 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "\n",
+ "# Variable Declaration \n",
+ "\n",
+ "#part(i)\n",
+ "pa=13.3; #pressure in kpa\n",
+ "pa2=20.6; #vapour pressure at 60 degree\n",
+ "pt=106.6 #total pressure in kpa\n",
+ "y=pa/(pt-pa); #absolute molal humidity\n",
+ "\n",
+ "# Calculation and Result\n",
+ "y_bar=y*(18/28.84); #relative humidity\n",
+ "print \"\\n absolute humidity of mixture :%f kg water-vapour/kg dry air\"%y_bar\n",
+ "\n",
+ "\n",
+ "#part(ii)\n",
+ "mf=pa/pt; #mole fraction\n",
+ "print \"\\n the mole fraction is :%f\"%mf\n",
+ "\n",
+ "#part(iii)\n",
+ "vf=mf; #volume fraction\n",
+ "print \"\\n the volume fraction is :%f\"%vf\n",
+ "\n",
+ "#part(iv)\n",
+ "Ma=18.; #molecular weight\n",
+ "Mb=28.84; #molecular weight\n",
+ "Tg=60.; #temperature of mixture\n",
+ "rh=(pa/pa2)*100.; #relative humidity in pecentage \n",
+ "print \"\\n we get relative humidity as as :%f percent\"%rh\n",
+ "\n",
+ "#part(v)\n",
+ "VH=8315.*((1./Mb)+(y_bar/Ma))*((Tg+273)/pt)*10**-3; #humid volume in m**3mixture/kg of dry air\n",
+ "x=y_bar/VH; #g water/m**3 mixture \n",
+ "print \"\\n we get x i.e. gwater/m**3 mixture as :%f \"%(x*1000)\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " absolute humidity of mixture :0.088971 kg water-vapour/kg dry air\n",
+ "\n",
+ " the mole fraction is :0.124765\n",
+ "\n",
+ " the volume fraction is :0.124765\n",
+ "\n",
+ " we get relative humidity as as :64.563107 percent\n",
+ "\n",
+ " we get x i.e. gwater/m**3 mixture as :86.460483 \n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.5 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "\n",
+ "# Variable Declaration \n",
+ "\n",
+ "#part(i)\n",
+ "y_bar=.0183; #kg water vapour/kg dry air\n",
+ "print \"\\n we get humidity as(from chart) :%f kg of water/kg dry air\"%y_bar\n",
+ "print \"\\n we get saturation humidity as(from chart) :%d percent\"%67\n",
+ "Ma=18.; #molecular weight\n",
+ "Mb=28.84; #molecular weight\n",
+ "Tg=30.; \n",
+ "pa = 13.3\n",
+ "pa2 = 20.6 #temperature of mixture\n",
+ "rh=(pa/pa2)*100; #relative humidity in pecentage \n",
+ "pt=1.013*10**5; #total pressure in pascal\n",
+ "\n",
+ "# Calculation and Result\n",
+ "VH=8315*((1./Mb)+(y_bar/Ma))*((Tg+273)/pt); #humid volume in m**3mixture/kg of dry air\n",
+ "print \"\\n we get humid volume as \\t:%f m**3/kg dry air\"%VH\n",
+ "\n",
+ "#part(ii)\n",
+ "Ca=1005.;\n",
+ "Cb=1884.;\n",
+ "Cs=Ca+Cb*y_bar; #humid heat in j/kg dry air degree celcius\n",
+ "print \"\\n we get humid heat as \\t\\t :%f j/kg dry air degree celcius \"%Cs\n",
+ "\n",
+ "#part(iii)\n",
+ "d=2502300.; #latent heat in j/kg\n",
+ "H=Cs*(Tg-0)+y_bar*d; #enthalpy for refrence temperature of 0 degree\n",
+ "print \"\\n we get Enthalpy H as \\t\\t:%f j/kg dry air\"%H\n",
+ "\n",
+ "#part(iv)\n",
+ "dewpoint=23.5; #dew point temperature in degree celcius\n",
+ "print \"\\n the dew point temperature \\t :%f degree celcius\"%dewpoint\n",
+ "\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " we get humidity as(from chart) :0.018300 kg of water/kg dry air\n",
+ "\n",
+ " we get saturation humidity as(from chart) :67 percent\n",
+ "\n",
+ " we get humid volume as \t:0.887669 m**3/kg dry air\n",
+ "\n",
+ " we get humid heat as \t\t :1039.477200 j/kg dry air degree celcius \n",
+ "\n",
+ " we get Enthalpy H as \t\t:76976.406000 j/kg dry air\n",
+ "\n",
+ " the dew point temperature \t :23.500000 degree celcius\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.6 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "# Variable Declaration \n",
+ "\n",
+ "#part(i)\n",
+ "y=.048; #humidity kmol water vapour/kmol dry air\n",
+ "y_bar=y*(18/28.84); #(from chart) absolute humidity\n",
+ "print \"we get absolute humidity as :%f kg of water/kg dry air\"%(y_bar)\n",
+ "print \"we get percentage humidity as(from chart) :%f percent\"%(25.5);\n",
+ "\n",
+ "# Calculation and Result\n",
+ "y_bar=y*(18/28.84); #relative humidity\n",
+ "Ma=18.; #molecular weight\n",
+ "Mb=28.84; #molecular weight\n",
+ "Tg=55.; #temperature of mixture\n",
+ "pt=1.013*10**5; #total pressure in pascal\n",
+ "VH=8315*((1./Mb)+(y_bar/Ma))*((Tg+273)/pt); #humid volume in m**3mixture/kg of dry air\n",
+ "print \"\\n we get VH as \\t :%f m**3/kg dry air\"%VH\n",
+ "\n",
+ "#part(ii)\n",
+ "Ca=1005.;\n",
+ "Cb=1884.;\n",
+ "Cs=Ca+Cb*y_bar; #humid heat in j/kg dry air degree celcius\n",
+ "print \"\\n we get humid heat as \\t :%f j/kg dry air degree celcius \"%Cs\n",
+ "\n",
+ "#part(iii)\n",
+ "d=2502300.; #latent heat in j/kg\n",
+ "H=Cs*(Tg-0)+y_bar*d; #enthalpy for refrence temperature of 0 degree\n",
+ "print \"\\n we get H as \\t :%f j/kg dry air\"%H\n",
+ "\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "we get absolute humidity as :0.029958 kg of water/kg dry air\n",
+ "we get percentage humidity as(from chart) :25.500000 percent\n",
+ "\n",
+ " we get VH as \t :0.978346 m**3/kg dry air\n",
+ "\n",
+ " we get humid heat as \t :1061.441609 j/kg dry air degree celcius \n",
+ "\n",
+ " we get H as \t :133344.170596 j/kg dry air\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.7 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "\n",
+ "# Variable Declaration \n",
+ "\n",
+ " \n",
+ "ft=46; #final temperature in degree celcius\n",
+ "# Calculation and Result\n",
+ "print \"\\n final temperature is (from chart):%f degree celcius\"%ft\n",
+ "y_bar=.0475; # humidity of air\n",
+ "print \"\\n the humidity of air(from chart) :%f kg water vapour /kg dry air\"%y_bar\n",
+ "\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " final temperature is (from chart):46.000000 degree celcius\n",
+ "\n",
+ " the humidity of air(from chart) :0.047500 kg water vapour /kg dry air\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.8"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "# Variable Declaration \n",
+ "\n",
+ "pa1=4.24 #data:vapour pressure of water at 30degree = 4.24 kpa\n",
+ "pa2=1.70 #vapour pressure of water at 30degree = 1.70 kpa\n",
+ "\n",
+ "#part(i)\n",
+ "pt=100.; #total pressure\n",
+ "\n",
+ "# Calculation \n",
+ "ys_bar=pa1/(pt-pa1); #kg water vapour/kg dry air\n",
+ "rh=.8; #relative humidity\n",
+ "pa3=rh*pa1; #partial pressure\n",
+ "y_bar=pa3*(18/28.84)/(pt-pa3); #molal humidity\n",
+ "print \"\\n the molal humidity:%f kg/kg dry air\"%y_bar\n",
+ "\n",
+ "#part(ii)\n",
+ "\n",
+ "pa=1.7; \n",
+ "pt=200.;\n",
+ "ys=pa/(pt-pa);\n",
+ "ys_bar=ys*(18/28.84);\n",
+ "\n",
+ "# Result\n",
+ "print \"\\n the molal humidity if pressure doubled and temp. is 15 :%f kg/kg dry air\"%ys_bar\n",
+ "\n",
+ "#part(iii) \n",
+ "Ma=18.; #molecular weight\n",
+ "Mb=28.84; #molecular weight\n",
+ "Tg=30.; #temperature of mixture\n",
+ "rh=(pa/pa2)*100; #relative humidity in pecentage \n",
+ "pt=10**5; #total pressure in pascal\n",
+ "VH=8315*((1./Mb)+(y_bar/Ma))*((Tg+273)/pt); #humid volume in m**3mixture/kg of dry air\n",
+ "print \"\\n we get humid volume VH as \\t :%f m**3/kg of dry air\"%VH\n",
+ "w=100/VH; #100 m**3 of original air \n",
+ "wo= w*y_bar; #water present in original air\n",
+ "wf= w*ys_bar; #water present finally\n",
+ "wc=wo-wf; #water condensed from 100m**3 of original sample\n",
+ "print \"\\n the weight water condensed from 100m**3 of original sample:%f kg\"%wc\n",
+ "\n",
+ "#part(iv)\n",
+ "Tg=15.; #temperature of mixture \n",
+ "pt=2*10**5; #total pressure in pascal\n",
+ "VH=8315*((1./Mb)+(ys_bar/Ma))*((Tg+273)/pt); #humid volume in m**3mixture/kg of dry air\n",
+ "vf=VH*110.6; #final volume of mixture\n",
+ "print \"\\n we get VH final volume of mixture as \\t :%f m**3\"%vf\n",
+ "\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the molal humidity:0.021914 kg/kg dry air\n",
+ "\n",
+ " the molal humidity if pressure doubled and temp. is 15 :0.005351 kg/kg dry air\n",
+ "\n",
+ " we get humid volume VH as \t :0.904267 m**3/kg of dry air\n",
+ "\n",
+ " the weight water condensed from 100m**3 of original sample:1.831684 kg\n",
+ "\n",
+ " we get VH final volume of mixture as \t :46.311825 m**3\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.9"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "# Variable Declaration \n",
+ "\n",
+ "#part(i)\n",
+ "y_bar=.03; # humidity inkg water /kg dry air\n",
+ "pt=760.; #total pressure in pascal\n",
+ "pa2=118.; #final pressure\n",
+ "\n",
+ "# Calculation and Result\n",
+ "y=y_bar/(18/28.84); #humidity kmol water vapour/kmol dry air\n",
+ "pa=(y*pt)/(y+1); #partial pressure\n",
+ "rh=pa/pa2; #relative humidity\n",
+ "sh=pa2/(pt-pa2); #saturated humidity\n",
+ "ph=(y/sh)*100; #percentage humidity\n",
+ "print \"\\n percentage humidity is :%f\"%ph\n",
+ "\n",
+ "#/part(ii)\n",
+ "Ma=18.; #molecular weight\n",
+ "Mb=28.84; #molecular weight\n",
+ "Tg=55.; #temperature of mixture\n",
+ "pt=1.013*10**5; #total pressure in pascal\n",
+ "VH=8315*((1./Mb)+(y_bar/Ma))*((Tg+273)/pt); #humid volume in m**3mixture/kg of dry air\n",
+ "print \"\\n we get VH humid volume as :%f m**3/kg dry air\"%VH\n",
+ "\n",
+ "\n",
+ "#part(iii)\n",
+ "Ca=1005.;\n",
+ "Cb=1884.;\n",
+ "Cs=Ca+Cb*y_bar; #humid heat in j/kg dry air degree celcius\n",
+ "print \"\\n we get humid heat as \\t :%f j/kg dry air degree celcius \"%Cs\n",
+ "d=2502300; #latent heat in j/kg\n",
+ "H=Cs*(Tg-0)+y_bar*d; #enthalpy for refrence temperature of 0 degree\n",
+ "print \"\\n we get H enthalpy as \\t :%f j/kg\"%H\n",
+ "\n",
+ "#part(iv)\n",
+ "v=100.; #volume of air\n",
+ "mass=v/VH; #mass of dry air\n",
+ "Tg=110.; #temperature of mixture\n",
+ "d=2502300.; #latent heat in j\n",
+ "H_final=Cs*(Tg-0)+y_bar*d; #enthalpy for refrence temperature of 0 degree\n",
+ "H_added=(H_final-H)*102.25; #HEAT added in kj \n",
+ "print \"\\n we get heat added as \\t :%f kj\"%(H_added/1000)\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " percentage humidity is :26.151525\n",
+ "\n",
+ " we get VH humid volume as :0.978409 m**3/kg dry air\n",
+ "\n",
+ " we get humid heat as \t :1061.520000 j/kg dry air degree celcius \n",
+ "\n",
+ " we get H enthalpy as \t :133452.600000 j/kg\n",
+ "\n",
+ " we get heat added as \t :5969.723100 kj\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.10"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "# Variable Declaration \n",
+ "\n",
+ "%pylab inline\n",
+ "L=2000.; #flow rate of water to be cooled in kg/min\n",
+ "T1=50.; #temperature of inlet water\n",
+ "T2=30.; #temp. of outlet water\n",
+ "H1=.016; #humidity of incoming air\n",
+ "cp=4.18; #specific heat of water\n",
+ "cpair=1.005; #specific heat capcity of air\n",
+ "cpwater=1.884; #specific heat capcity of water\n",
+ "tg=20.; #temperature in degree\n",
+ "to=0;\n",
+ "ybar=0.016; #saturated humidity at 20 degree\n",
+ "d=2502.; #latent heat\n",
+ "Ky_a=2500.; #value of masstransfer coefficient in kg/hr*m**3*dybar\n",
+ "\n",
+ "# Calculation \n",
+ "E=cpair*(tg-to)+(cpwater*(tg-to)+d)*ybar; #enthalpy\n",
+ "#similarly for other temperatures\n",
+ "T=[20,30,40,50,55] #differnt temperature for different enthalpy calculation\n",
+ "i=0;\n",
+ "E= [0,0,0,0,0]\n",
+ "while(i<5): #looping for different enthalpy calculation of operating line\n",
+ " E[i]=cpair*(T[i]-to)+(cpwater*(T[i]-to)+d)*ybar;\n",
+ " print \"\\n the enhalpy at :%f is :%f\"%(T[i],E[i]);\n",
+ " i=i+1;\n",
+ "\n",
+ "ES=[60.735,101.79,166.49,278.72,354.92] #enthalpy of eqll condition\n",
+ "from matplotlib.pyplot import *\n",
+ "\n",
+ "# Result\n",
+ "plot(T,E);\n",
+ "plot(T,ES);\n",
+ "title(\"Fig.5.10(b),Temperature-Enthalpy plot\");\n",
+ "xlabel(\"X-- Temperature, degree celcius\");\n",
+ "ylabel(\"Y-- Enthalpy ,kj/kg\");\n",
+ "legend(\"operating line\",\"Enthalpy at saturated cond\")\n",
+ "show()\n",
+ "\n",
+ "Hg1=71.09; #point on the oper. line(incoming air)\n",
+ "Hg2=253.; #point after drawing the tangent\n",
+ "slope=(Hg2-Hg1)/(T1-T2); #we gt slope of the tangent\n",
+ " #slope = (L*Cl/G)_min\n",
+ "Cl=4.18;\n",
+ "G_min=L*60*Cl/slope; #tangent gives minimum value of the gas flow rate\n",
+ "G_actual=G_min*1.3; #since actual flow rate is 1.3 times the minimum\n",
+ "slope2=L*Cl*60/G_actual; #slope of operating line\n",
+ "Hg2_actual=slope2*(T1-T2)+Hg1; #actual humidityat pt 2\n",
+ "Ggas=10000.; #minimum gas rate in kg/hr*m**2\n",
+ "Area1=G_actual/Ggas; #maximum area of the tower(based on gas)\n",
+ "Gliq=12000.; #minimum liquid rate in kg/hr*m**2\n",
+ "Area2=60*L/Gliq; #maximum area of the tower(based on liquid)\n",
+ "print \"\\n \\n the maximum area of the tower(based on gas) is :%f m**2\"%Area1\n",
+ "print \"\\n the maximum area of the tower(based on liquid) is :%f m**2\"%Area2\n",
+ "dia=(Area1*4/3.14)**0.5; #diameter of the tower in m\n",
+ "\n",
+ "\n",
+ " \n",
+ "#table\n",
+ "T=[20,30,40,50,55] #differnt temperature for different enthalpy calculation\n",
+ "#enthaly \n",
+ "H_bar=[101.79,133.0,166.49,210.0,278.72] #H_bar i.e. at equl.\n",
+ "Hg=[71.09,103.00,140.00,173.00,211.09] #Hg i.e. of operating line\n",
+ "i=0;\n",
+ "y = [0,0,0,0,0]\n",
+ "while(i<5): #looping for different enthalpy calculation of operating line\n",
+ " y[i]=1./(H_bar[i]-Hg[i]);\n",
+ " print \"\\n the enhalpy at :%f is :%f\"%(T[i],y[i]);\n",
+ " i=i+1;\n",
+ "\n",
+ "plot(Hg,y,\"o-\");\n",
+ "\n",
+ "#area under this curve gives Ntog =4.26\n",
+ "Ntog=4.26; #no. of transfer unit\n",
+ "Gs=10000.; #gas flow rate\n",
+ "Htog=Gs/Ky_a; # height of transfer unit\n",
+ "height=Ntog*Htog; #height of the tower\n",
+ "print \"\\n \\nthe tower height is :%f m\"%height\n",
+ "\n",
+ "\n",
+ "#M = E + B + W\n",
+ "W=.2/100 *L*60; #windage loss(W)\n",
+ "B=0; #blow down loss neglected\n",
+ "E=G_actual*(.064-.016); #assuming air leaves fully saturated\n",
+ "M = E + B + W; #make up water is based onevaporation loss(E),blow down loss(B),windage loss(W)\n",
+ "print \"\\n make up water is based onevaporation loss(E),blow down loss(B),windage loss(W) is :%f kg /hr\"%M\n",
+ "#end"
+ ],
+ "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": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the enhalpy at :20.000000 is :60.734880\n",
+ "\n",
+ " the enhalpy at :30.000000 is :71.086320\n",
+ "\n",
+ " the enhalpy at :40.000000 is :81.437760\n",
+ "\n",
+ " the enhalpy at :50.000000 is :91.789200\n",
+ "\n",
+ " the enhalpy at :55.000000 is :96.964920\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stderr",
+ "text": [
+ "C:\\Anaconda\\lib\\site-packages\\matplotlib\\legend.py:336: UserWarning: Unrecognized location \"Enthalpy at saturated cond\". Falling back on \"best\"; valid locations are\n",
+ "\tright\n",
+ "\tcenter left\n",
+ "\tupper right\n",
+ "\tlower right\n",
+ "\tbest\n",
+ "\tcenter\n",
+ "\tlower left\n",
+ "\tcenter right\n",
+ "\tupper left\n",
+ "\tupper center\n",
+ "\tlower center\n",
+ "\n",
+ " % (loc, '\\n\\t'.join(self.codes.iterkeys())))\n"
+ ]
+ },
+ {
+ "output_type": "display_data",
+ "png": "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\nH5Tvu9xFN1PzSj1qaC+eEEIahloeOahZZEII4V1dt50aSsxCCCFETfFWHEQiEXr37g0HBwc4OTkB\nALKzs+Hu7g4rKyt4eHggNzeXr3hKIxaL+Y7wXig/f9Q5O0D51Q1vxUEgEEAsFiMuLg7R0dEAgA0b\nNsDd3R2JiYlwc3PDhg0b+IqnNOr+A6P8/FHn7ADlVze8Niu92/4VERGBwMBAAEBgYCCOHj3KRyxC\nCGn2eD1yGDZsGBwdHbF161YAQFZWFszMzAAAZmZmyMrK4iseIYQ0b4wn6enpjDHGnj9/zuzs7Nif\nf/7JjIyM5N5jbGxcaT4A9Ed/9Ed/9FePv7rg7TqH9u3fDmlhYmKCsWPHIjo6GmZmZsjMzES7du2Q\nkZEBU9PKI6Qy6sZKCCFKx0uzUlFREfLz8wEAhYWFiIqKgq2tLby8vBAWFgYACAsLg7e3Nx/xCCGk\n2ePlIrikpCSMHTsWACCRSDBx4kSsWLEC2dnZ8PX1RUpKCkQiEfbv3w8jI6PGjkcIIaSepwwaRUpK\nCnN1dWXW1tbMxsaGbdq0iTHG2KtXr9iwYcNY9+7dmbu7O8vJyeE5aWWKsq9evZqZm5sze3t7Zm9v\nz06dOsVz0qoVFxczJycnZmdnx3r27MmWL1/OGFOPdc+Y4vzqsv7LSSQSZm9vz0aPHs0YU5/1X+7d\n/Oq0/jt37sxsbW2Zvb0969evH2NMfdZ/Vdnruu5VeviMzMxMZGZmwt7eHgUFBejbty+OHj2K7du3\no23btli6dCm+/fZb5OTkqNw1EYqy79+/H0KhEIsWLeI7Yo2Kioqgq6sLiUSCAQMGYOPGjYiIiFD5\ndV+uqvznz59Xm/UPAD/++CNiY2ORn5+PiIgILF26VG3WP1A5/5o1a9Rm/VtaWiI2NhatW7fmpqnL\n+q8qe13XvUoPn9GuXTvY29sDAPT19dGzZ0+kpaWpxfUQirID6nNSXVdXFwBQWloKqVQKY2NjtVj3\n5arKD6jP+n/27BlOnjyJ6dOnc5nVaf1XlZ8xpjbrH6j8W1Gn9V/Veq7Lulfp4lDR06dPERcXB2dn\nZ7W7HqI8u4uLCwBg8+bNsLOzw7Rp01R6iBCZTAZ7e3uYmZlhyJAhsLGxUat1X1V+QH3W/+eff47v\nv/8eGhr/999UndZ/VfkFAoHarH91vharquxAHX/7Smv0akD5+fmsT58+7MiRI4wxVqvrIVRFfn4+\n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\n"
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " \n",
+ " the maximum area of the tower(based on gas) is :7.169260 m**2\n",
+ "\n",
+ " the maximum area of the tower(based on liquid) is :10.000000 m**2\n",
+ "\n",
+ " the enhalpy at :20.000000 is :0.032573\n",
+ "\n",
+ " the enhalpy at :30.000000 is :0.033333\n",
+ "\n",
+ " the enhalpy at :40.000000 is :0.037750\n",
+ "\n",
+ " the enhalpy at :50.000000 is :0.027027\n",
+ "\n",
+ " the enhalpy at :55.000000 is :0.014786\n",
+ "\n",
+ " \n",
+ "the tower height is :17.040000 m"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "\n",
+ " make up water is based onevaporation loss(E),blow down loss(B),windage loss(W) is :3681.244571 kg /hr\n"
+ ]
+ },
+ {
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAD9CAYAAABTJWtQAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X9clfXdx/HXUUmXVmjlcXFoGGCIP0DDaN5lNEVK50nT\nGbaMGe3hTbeSy1qZq+Gj28K17uaPteEyg62Z7t4UNpG028iykJq47qXdosE6kNJKaVkievzef1xx\nJYpHhAPnAO/n4+HDcy6+5zqfCz3X51zf7/fzvRzGGIOIiAjQLdABiIhI8FBSEBERm5KCiIjYlBRE\nRMSmpCAiIjYlBRERsZ0zKRQVFRETE0N0dDRLlixpsk1mZibR0dHExcVRVlbW6Gder5cRI0YwadIk\ne9uhQ4dITk5m0KBBjB8/ntra2lYehoiI+IPPpOD1epkzZw5FRUXs3r2bNWvWsGfPnkZtCgsL2bdv\nH+Xl5axcuZKMjIxGP1+6dCmxsbE4HA57W3Z2NsnJyezdu5exY8eSnZ3tx0MSEZGW8pkUSktLiYqK\nIiIigpCQEFJTU8nPz2/UpqCggLS0NAASExOpra2lpqYGgKqqKgoLC7nnnns4tUbu1NekpaWxYcMG\nvx6UiIi0jM+kUF1dTXh4uP3c5XJRXV3d7DY/+tGPeOqpp+jWrfHb1NTU4HQ6AXA6nXYSERGRwOrh\n64endvn4cvpKGcYY/vKXv9C/f39GjBhBcXGxz/c42/s09/1FRORrrVm9yOeVQlhYGB6Px37u8Xhw\nuVw+21RVVREWFsabb75JQUEBAwcOZMaMGWzdupW77roLsK4ODh48CMCBAwfo37//WWMwxgT1n5/+\n9KcBj0FxKk7FqTgb/rSWz6SQkJBAeXk5lZWV1NfXs3btWtxud6M2brebvLw8AEpKSggNDWXAgAE8\n8cQTeDweKioqeOmll/jOd75jt3O73eTm5gKQm5vL5MmTW30gIiLSej67j3r06MGKFStISUnB6/WS\nnp7O4MGDycnJAWD27NlMmDCBwsJCoqKi6N27N6tXr25yX6d2BT388MNMnz6dVatWERERwbp16/x4\nSCIi0lIO44/rjTbicDj8cjnUloqLi0lKSgp0GOekOP1LcfqX4vSf1p43lRRERDqR1p43tcyFiIjY\nlBRERMSmpCAiIjYlBRERsSkpiIiITUlBRERsSgoiImLzWdEsIo1t3LiNZcs2c+xYD3r2PEFm5ngm\nThwT6LBE/EZJQaSZNm7cxn33vcz+/Yvtbfv3LwRQYpBOQ91HIs20bNnmRgkBYP/+xSxfviVAEYn4\nn5KCSDMdPtz0hXVdXfd2jkSk7SgpiPjg9UJ+PowbB3/724km2/Tq5W3nqETajpKCSBM+/RR+9jOI\njIQnn4RZs2Dt2vFERi5s1K5v30eYOzc5QFGK+J8GmkVOsWsXrFgBf/wjuN3whz/AqFENPx1DSAgs\nX/4odXXd6dbNy3vv3cw//6lBZuk8tHS2dHnHj8P69bB8OVRWQkYG3HMP+LhLrO399+HGG+H3v4ex\nY9s8VJFz0v0URFqopgZWroRf/xqio2HuXLj1VuhxntfPr70G3/seFBdDbGybhCrSbLqfgsh52rED\n7rwTYmLA44FNm6wT+tSp558QwLpS+K//gokT4eBBv4cr0q50pSBdwrFjsHatNV7wySfwH/8Bd98N\nffv67z0efxwKCqwE07u3//Yrcj7UfSTiQ1WV1T30m99AfLzVRXTLLdC9DUoLjLESzaFD8Kc/tc17\niJyLuo9ETmPM1/38w4fDv/4F27bByy/Dd7/bdidrhwNycuDIEZg/v23eQ6St6UpBOo0vvrBmAS1f\nbs0omjMHZs6Eiy9u3zhqa+Hf/g1mz4bMzPZ9b5HWnjdVpyAd3gcfwLPPwgsvWCfjp5+2KpAdjsDE\nExoKGzdasXzrW9aMJpGOQt1H0iGdPAmbN8OkSXDttVYCePtta0mK5OTAJYQGERGwYYNV7/D224GN\nReR8qPtIOpR//Qtyc+GXv4SePa2B4zvugAsvDHRkTcvPh3vvhe3brUQh0tbUfSRdwvvvW4ngxRet\nrqHf/Aauvz7wVwTncuut8I9/WDUM27dbXUsiwUzdRxK0vF5r3v/48ZCUZJ1Q330X1q2DG24I/oTQ\nIDPTSmRTp0J9faCjEfFN3UcSdA4dgueftwaPL7/cmkU0fbrVXdRReb1w223Qr591bB0loUnH0+Z1\nCkVFRcTExBAdHc2SJUuabJOZmUl0dDRxcXGUlZUBUFdXR2JiIvHx8cTGxrJgwQK7fVZWFi6XixEj\nRjBixAiKiopafADSebz7Lvzwh9Zy1e++Cy+9ZC1JMXNmx04IYNVG/P738Pe/w3/+Z6CjEfHB+HDi\nxAkTGRlpKioqTH19vYmLizO7d+9u1Gbjxo3mlltuMcYYU1JSYhITE+2fffHFF8YYY44fP24SExPN\nG2+8YYwxJisryzz99NO+3tp8dQVzzjbSsdXXG7NunTE33GBMWJgxjz9uzMGDgY6q7Rw4YMy3vmXM\nb38b6Eiks2rtedPnQHNpaSlRUVFEfDVtIjU1lfz8fAYPHmy3KSgoIC0tDYDExERqa2upqanB6XRy\n4VdTQurr6/F6vfQ9ZaEZo26hLu3jj79eofSqq6xZRJMnQ0hIoCNrWwMGWDUMN90E4eHWYnoiwcRn\n91F1dTXh4eH2c5fLRXV19TnbVFVVAeD1eomPj8fpdHLTTTcRe8q6wsuXLycuLo709HRqa2v9cjAS\n/EpLre6gq6+2ZuVs3GgtQfG973X+hNBgyBBYs8YaJ3n//UBHI9KYzysFRzNHw07/1t/wuu7du7Nr\n1y4+++wzUlJSKC4uJikpiYyMDB577DEAHn30UebPn8+qVaua3HdWVpb9OCkpiaSkpGbFJMHj2DFr\nxtCKFdYVwr33wtKl1qBrVzV2LCxZAhMmQElJ827oI9KU4uJiiouL/bY/n0khLCwMj8djP/d4PLhc\nLp9tqqqqCAsLa9TmkksuYeLEibzzzjskJSXR/5RPwD333MOkSZPOGsOpSUE6lurqr1coHT4cFi60\n5utr9VDLD35gLdHhdsPWrcFbgCfB7fQvy4sWLWrV/nx2HyUkJFBeXk5lZSX19fWsXbsWt9vdqI3b\n7SYvLw+AkpISQkNDcTqdfPLJJ3a30NGjR9myZQsjRowA4MCBA/br169fz7Bhw1p1EBI8jIHXX7e6\nRoYNg8OHrfsLbN5snfyUEBpbtMi669vMmdbSHSKB5vNKoUePHqxYsYKUlBS8Xi/p6ekMHjyYnJwc\nAGbPns2ECRMoLCwkKiqK3r17s3r1asA68aelpXHy5ElOnjzJzJkzGfvVTWwfeughdu3ahcPhYODA\ngfb+pOP68ktryuWKFXD0qFVb8Nxz7b9CaUfjcFi/p/Hj4cc/hp//PNARSVen4jVplYoKq8hs9Wr4\n9retWUTjxkE31cqfl0OHYPRoq/r53nsDHY10ZFr7SNqdMfDKK9ZVwfbtVt/4jh1W0Zm0TL9+UFj4\n9XLbEycGOiLpqnSlIM32+eeQl2clgx49rKuC739f9yP2p5ISaznwl1+GkSMDHY10RLpHs7S5//s/\na4XS3/3Omko5Zw6MGaP1e9rKH/8I990Hb71lFbiJnA91H0mb8Hph0ybr1pa7dlk3i/nb33SSag9T\np0JlpVXD8MYbcMklgY5IuhJdKXRhGzduY9myzRw71oOePU+QmTme0aPH2CuU9utndRFNnw69egU6\n2q7FGOuKrLzcqvruKtXe0nrqPpIW2bhxG/fd9zL79y+2t1100UK83hSmTBnD3Llf3+ZSAuPECesm\nPVdcYa0TpX8LaQ4lBTkvxsAXX8CECT/h9dfPXMM5KelRXn318QBEJk05csQav/ne9+CU1edFzkpj\nCkJdnbWm0D//af19rscAJ082/U9vjEqOg0mfPvCXv8B118HAgZCaGuiIpLNTUghCx4/DJ580fVJv\n6iRfV2ctqNa/v3WnslMfx8Scub13b0hJOcHmzWe+d69e3vY/YPHpiiusxDBuHLhc1r2pRdqKkkI7\n8HqtitXmfIv/+GOrHuDSSxufyBtO7Ndee+ZJ/uKLz7+/OTNzPPv3L2w0phAZ+Qhz597s56MXfxg+\n3JoSPG2atdT4oEGBjkg6qy43ptDUjJuJE8ec1z6Mgdra5nfZHD5sTSs8/Vv82R7369c+y0Rs3LiN\n5cu3UFfXnV69vMydm3zevwtpX889Zy25/eab1v8VkdNpoPk8NDXjJjJyIb/4RQo33jimWSf4jz+2\nunYuvLD5J/nLLrMqgEX84ZFH4LXX4H/+R1OF5UxKCuchJeUnbN585owbh+NRLrzw8Waf5C+/vOPf\nSF46rpMn4Y47rCvWNWu0+KA0ptlH5+HYsaYP9/rru7NtWzsHI9JC3brBCy9YA8+PPALZ2YGOSDqT\nLvUdo2fPE01uv/BCzbiRjqVXL9iwwVonaeXKQEcjnUmXSgqZmeOJjFzYaJs14yY5QBGJtNxll1nL\nbT/2GBQVBToa6Sy61JgCaMaNdD7bt8OUKbBlC8TFBToaCTQNNIsI69bBAw9Yy22HhQU6GgkkDTSL\nCNOnW7dGnTgRXn8dLroo0BFJR6UrBZFOwhiYPRs8Hvjzn1Ub01W19rzZpQaaRTozh8O6Q54x1n0w\n9H1KWkJJQaQTCQmxxhe2b4ef/zzQ0UhHpAtMkU7m4outu7WNHg0REda9GESaS2MKIp3Url2QnAwF\nBfDtbwc6GmkvGlMQkSbFx0NuLtx2G+zfH+hopKNQUhDpxCZMgJ/+1Pr7008DHY10BOo+EukCHnwQ\nduywqp61wm/npopmETmnkyetArcLLrDu4KbltjsvjSmIyDl16wa//a1V9fzYY4GORoLZOZNCUVER\nMTExREdHs2TJkibbZGZmEh0dTVxcHGVlZQDU1dWRmJhIfHw8sbGxLFiwwG5/6NAhkpOTGTRoEOPH\nj6e2ttZPhyMiZ/ONb0B+vnVjnuefD3Q0Eqx8JgWv18ucOXMoKipi9+7drFmzhj179jRqU1hYyL59\n+ygvL2flypVkZGQA0KtXL1599VV27drFu+++y6uvvsr27dsByM7OJjk5mb179zJ27FiydZcQkXbR\nv7+13PaCBdb4gsjpfCaF0tJSoqKiiIiIICQkhNTUVPLz8xu1KSgoIC0tDYDExERqa2upqakB4MIL\nLwSgvr4er9dL3759z3hNWloaGzZs8O9RichZXX01/OEP8P3vw9//HuhoJNj4rGiurq4mPDzcfu5y\nudixY8c521RVVeF0OvF6vVxzzTXs37+fjIwMYmNjAaipqcHpdALgdDrtJNKUrKws+3FSUhJJSUnN\nPjgRadqYMfCLX1irqr71FlxxRaAjkpYqLi6muLjYb/vzmRQcDkezdnL6SHfD67p3786uXbv47LPP\nSElJobi4+IyTusPh8Pk+pyYFEfGfO+6ADz6ASZPgtdegT59ARyQtcfqX5UWLFrVqfz67j8LCwvB4\nPPZzj8eDy+Xy2aaqqoqw0+7ycckllzBx4kT++te/AtbVwcGDBwE4cOAA/fv3b9VBiEjLLFxo3a1t\nxgzw6lblwjmSQkJCAuXl5VRWVlJfX8/atWtxu92N2rjdbvLy8gAoKSkhNDQUp9PJJ598Ys8qOnr0\nKFu2bCE+Pt5+TW5uLgC5ublMnjzZ7wcmIufmcEBODhw9Cvfdp+W2pRnFa5s2bWLevHl4vV7S09NZ\nsGABOTk5AMyePRvAnqHUu3dvVq9ezciRI/nf//1f0tLSOHnyJCdPnmTmzJk8+OCDgDUldfr06Xz4\n4YdERESwbt06QkNDzwxOxWsi7aK2Fq6/HtLT4Uc/CnQ00hqqaBYRv/jHP6zltlesgClTAh2NtJSS\ngoj4zV//CjffbN2P4dprAx2NtISWuRARv7nmGqvaefJka0kM6Xp05zURaWTSJKistJbbfvNN+Krm\nVLoIdR+JSJN+9CPr7m0vv2ytriodg8YURKRNeL0wbRpcdJF1B7dm1rJKgGlMQUTaRPfu8OKL8P77\n0MoiWelANKYgImd14YXw5z/DddfBwIHw1TqW0okpKYiIT06nNUU1KQnCw+E73wl0RNKW1H0kIucU\nGwsvvQSpqbB7d6CjkbakpCAizfKd78BTT1nLbX+1nqV0QkoKItJsaWnWH7cbvvwy0NFIW9CUVBE5\nL8ZYieHzz+G//9uapSTBQ1NSRaRdORzw3HPWyqoPPBDoaMTfdKUgIi1y+LC1quqNN26jomIzx471\noGfPE2RmjmfixDGBDq/Lau15U1NSRaRF+vaFBx7YxuzZL+P1Lra379+/EECJoYNS95GItNi6dZsb\nJQSA/fsXs3z5lgBFJK2lpCAiLXbsWNOdDXV1Gn3uqJQURKTFevY80eT2Xr287RyJ+IuSgoi0WGbm\neCIjFzba1qvXI/z7vycHKCJpLc0+EpFW2bhxG8uXb6Gurju9enn5/PNkrrxyDC++CN30tbPd6X4K\nIhJUjh6FsWPhxhvhyScDHU3Xo+I1EQkq3/gGFBTAH/8Iv/51oKOR86U6BRHxu8sug8JCuOEGcLng\nu98NdETSXOo+EpE2U1ICkybBpk2QkBDoaLoGdR+JSNC67jpYuRJuvRUqKwMdjTSHuo9EpE1NmQIe\nD9xyC7z5prU8hgQvdR+JSLu4/374619h82bo2TPQ0XRempIqIh3CyZMwfTqEhKAahjbU5mMKRUVF\nxMTEEB0dzZIlS5psk5mZSXR0NHFxcZSVlQHg8Xi46aabGDJkCEOHDmXZsmV2+6ysLFwuFyNGjGDE\niBEUFRW1+ABEpGPo1g1++1v4xz9g4cJzt5cAMT6cOHHCREZGmoqKClNfX2/i4uLM7t27G7XZuHGj\nueWWW4wxxpSUlJjExERjjDEHDhwwZWVlxhhjPv/8czNo0CCzZ88eY4wxWVlZ5umnn/b11uarK5hz\nthGRjuWf/zQmOtqYX/0q0JF0Tq09b/q8UigtLSUqKoqIiAhCQkJITU0lPz+/UZuCggLS0tIASExM\npLa2lpqaGgYMGEB8fDwAffr0YfDgwVRXV5+ajPyb3USkQ2ioYVi0CP7yl0BHI6fzOfuourqa8PBw\n+7nL5WLHjh3nbFNVVYXT6bS3VVZWUlZWRmJior1t+fLl5OXlkZCQwNNPP01oaGiTMWRlZdmPk5KS\nSEpKataBiUjwioqC9etVw+APxcXFFBcX+21/PpOCw+Fo1k5O/9Z/6uuOHDnCtGnTWLp0KX369AEg\nIyODxx57DIBHH32U+fPns2rVqib3fWpSEJHO49Qahu3bISIi0BF1TKd/WV60aFGr9uczKYSFheHx\neOznHo8Hl8vls01VVRVhYWEAHD9+nKlTp3LnnXcyefJku03//v3tx/fccw+TJk1q1UGISMc0ZQpU\nVamGIZj4HFNISEigvLycyspK6uvrWbt2LW63u1Ebt9tNXl4eACUlJYSGhuJ0OjHGkJ6eTmxsLPPm\nzWv0mgMHDtiP169fz7Bhw/x1PCLSwcydCxMmwOTJcOxYoKORc9YpbNq0iXnz5uH1eklPT2fBggXk\n5OQAMHv2bADmzJlDUVERvXv3ZvXq1YwcOZI33niDMWPGMHz4cLs76cknn+Tmm2/mrrvuYteuXTgc\nDgYOHEhOTk6jMQg7ONUpiHQJqmHwHxWviUincPQojBtnrayanR3oaDouLYgnIp3CN74B+fnwpz/B\nr34V6Gi6Li2IJyJB47LLrCmq118P4eG6D0MgqPtIRILOjh1WQlANw/lT95GIdDqJifCb34DbDRUV\ngY6ma1H3kYgEpcmTrfswTJhgFbf16xfoiLoGdR+JSFCbPx/eeUf3YWguTUkVkU5NNQznR2MKItKp\nNdyH4cMP4ZFHAh1N56ekICJBTzUM7UcDzSLSIaiGoX1oTEFEOhTVMPimMQUR6VJUw9C21H0kIh2O\nahjajrqPRKTDUg3DmVSnICJdlmoYzqQxBRHpslTD4H9KCiLSoTXUMKxfrxoGf9BAs4h0eJddBoWF\nqmHwB40piEinoRoGjSmIiNgSE+G551TD0BrqPhKRTuXWW1XD0BrqPhKRTumBB+Dtt7teDYPqFERE\nmnDyJNx+O/To0bVqGDSmICLShIYaBo9HNQznQ0lBRDqtXr1Uw3C+NNAsIp3apZeqhuF86EpBRDq9\nyEjYsAFmzbIGn+XslBREpEtoqGG49VbVMPhyzqRQVFRETEwM0dHRLFmypMk2mZmZREdHExcXR1lZ\nGQAej4ebbrqJIUOGMHToUJYtW2a3P3ToEMnJyQwaNIjx48dTW1vrp8MRETm7W2+1Bp1vuQUOHQp0\nNMHJZ1Lwer3MmTOHoqIidu/ezZo1a9izZ0+jNoWFhezbt4/y8nJWrlxJRkYGACEhITzzzDO89957\nlJSU8Mtf/pL3338fgOzsbJKTk9m7dy9jx44lOzu7jQ5PRKSxOXOscYVbb4W6ukBHE3x8JoXS0lKi\noqKIiIggJCSE1NRU8vPzG7UpKCggLS0NgMTERGpra6mpqWHAgAHEx8cD0KdPHwYPHkx1dfUZr0lL\nS2PDhg1+PzARkbP52c9gwAD4wQ+segb5ms/ZR9XV1YSHh9vPXS4XO3bsOGebqqoqnE6nva2yspKy\nsjISExMBqKmpsX/udDqpqak5awxZWVn246SkJJKSks59VCIiPjTUMIwbBwsWwFl6xjuE4uJiiouL\n/bY/n0nB4XA0ayenV8+d+rojR44wbdo0li5dSp8+fZp8D1/vc2pSEBHxl4YahtGj4VvfgnvvDXRE\nLXP6l+VFixa1an8+u4/CwsLweDz2c4/Hg8vl8tmmqqqKsLAwAI4fP87UqVO58847mTx5st3G6XRy\n8OBBAA4cOED//v1bdRAiIi3RUMPw+OPw5z8HOprg4DMpJCQkUF5eTmVlJfX19axduxa3292ojdvt\nJi8vD4CSkhJCQ0NxOp0YY0hPTyc2NpZ58+ad8Zrc3FwAcnNzGyUMEZH21FDDcPfdqmGAZiyIt2nT\nJubNm4fX6yU9PZ0FCxaQk5MDwOzZswHsGUq9e/dm9erVjBw5kjfeeIMxY8YwfPhwu3voySef5Oab\nb+bQoUNMnz6dDz/8kIiICNatW0doaOiZwWlBPBFpJ/n5kJFhLbc9cGCgo2k5rZIqIuInK1ZYf958\ns+Peh0FJQUTEjx58EEpKYMsWazC6o1FSEBHxo5MnITXVmrb6+993vPsw6H4KIiJ+1K0b5OVBVZVV\nw9DVKCmIiJymoYZhwwZ49tlAR9O+dD8FEZEmXHopbNr09X0YJk0KdETtQ2MKIiI+lJbCxIlWkduo\nUYGO5tw0piAi0oauvRZWreo692FQ95GIyDm43eDxWPdh6Mg1DM2h7iMRkWbqCDUMqlMQEWknHaGG\nQWMKIiLtpCvUMCgpiIich85ew6CBZhGR89SZaxg0piAi0kLBWMOgMQURkQDpjDUM6j4SEWmFzlbD\noO4jERE/CJYaBtUpiIgEgYYaBocD1qwJXA2DxhRERIJAQw1DdTU8/HCgo2k5JQURET9pqGHIz4df\n/jLQ0bSMBppFRPzo9BoGtzvQEZ0fjSmIiLSBt9+GCRPav4ZBYwoiIkFo1Kivaxg++CDQ0TSfuo9E\nRNpIQw3DhAmwfbvVtRTs1H0kItLGfvxjeOut9qlhUJ2CiEiQO3kSZsywHrd1DYPGFEREgly3bpCb\nCx99FPw1DEoKIiLtoKGGoaAguGsYzpkUioqKiImJITo6miVLljTZJjMzk+joaOLi4igrK7O33333\n3TidToYNG9aofVZWFi6XixEjRjBixAiKiopaeRgiIsGvXz9riurixVZyCEY+k4LX62XOnDkUFRWx\ne/du1qxZw549exq1KSwsZN++fZSXl7Ny5UoyMjLsn82aNavJE77D4eD++++nrKyMsrIybr75Zj8d\njohIcLvqKuuKIT3dqmUINj6TQmlpKVFRUURERBASEkJqair5+fmN2hQUFJCWlgZAYmIitbW1HDx4\nEIAbbriBvn37NrlvDSCLSFd1ag3DqlXbSEn5CUlJWaSk/ISNG7cFNDafdQrV1dWEh4fbz10uFzt2\n7Dhnm+rqagYMGODzjZcvX05eXh4JCQk8/fTThIaGtiR+EZEOye2GTZu2kZHxMsePL7a379+/EICJ\nE8cEJC6fScHhcDRrJ6d/6z/X6zIyMnjssccAePTRR5k/fz6rVq1qsm1WVpb9OCkpiaSkpGbFJCIS\n7D74YHOjhACwf/9ili9/tNlJobi4mOLiYr/F5DMphIWF4fF47OcejweXy+WzTVVVFWFhYT7ftH//\n/vbje+65h0k+7np9alIQEelMjh1r+hRcV9e92fs4/cvyokWLWhWTzzGFhIQEysvLqayspL6+nrVr\n1+I+bck/t9tNXl4eACUlJYSGhuJ0On2+6YEDB+zH69evP2N2kohIV9Cz54kmt/fq5W3nSL7mMyn0\n6NGDFStWkJKSQmxsLLfffjuDBw8mJyeHnJwcACZMmMBVV11FVFQUs2fP5tlnn7VfP2PGDEaPHs3e\nvXsJDw9n9erVADz00EMMHz6cuLg4XnvtNZ555pk2PEQRkeCUmTmeyMiFjbZFRj7C3LnJAYpIy1yI\niATUxo3bWL58C3V13enVy8vcucmtGmTW2kciImLT2kciIuI3SgoiImJTUhAREZuSgoiI2JQURETE\npqQgIiI2JQUREbEpKYiIiE1JQUREbEoKIiJiU1IQERGbkoKIiNiUFERExKakICIiNiUFERGxKSmI\niIhNSUFERGxKCiIiYlNSEBERm5KCiIjYlBRERMSmpCAiIjYlBRERsSkpiIiITUlBRERsSgoiImJT\nUhAREds5k0JRURExMTFER0ezZMmSJttkZmYSHR1NXFwcZWVl9va7774bp9PJsGHDGrU/dOgQycnJ\nDBo0iPHjx1NbW9vKwwic4uLiQIfQLIrTvxSnfynO4OEzKXi9XubMmUNRURG7d+9mzZo17Nmzp1Gb\n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\n3JueAAAAAElFTkSuQmCC\n"
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.11"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ " \n",
+ "T1=30.; #temperature at the inlet in degree celcius\n",
+ "T2=17.; #temperature at the exit in degree celcius\n",
+ "f=100000.; #flow rate of water in kg/hr\n",
+ "hi=.004; #humidity of incoming air in kg/kg of dry air\n",
+ "hl=.015; #humidity of leaving air in kg/kg of dry air\n",
+ "Hi=18.11; #enthalpy of incoming air in kg/kg of dry air\n",
+ "Hl=57.16; #enthalpy of leaving air in kg/kg of dry air\n",
+ "#w=mdry*(hl-hi) = mdry*0.011; -----equn 1st \n",
+ "#mass of water evaporated\n",
+ "\n",
+ "#making energy balance: total heat in = total heat out\n",
+ "#heat in entering water + heat in entering air = heat in leaving water + heat in leaving air\n",
+ "#100000*1*(30-0) + mdry*Hi = (100000-w)*1*(17-0) + mdry*Hl ----eqn 2nd\n",
+ "\n",
+ "#substituting eqn 1st in 2nd we get;\n",
+ "a=14.4; #cross sectional area of the tower in m**2\n",
+ "\n",
+ "# Calculation \n",
+ "mdry=(T1*f-T2*f)/(Hl-Hi-T2*.011); #mass of dry air\n",
+ "velocity=mdry/a; #air velocity in kg/m**2* hr\n",
+ "x=mdry*.011; #make up water needed in kg/hr\n",
+ "\n",
+ "# Result\n",
+ "print \"\\n the make up water needed is :%f kg /hr\"%x\n",
+ "print \"\\n the velocity of air is as :%f kg/hr\"%velocity\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the make up water needed is :367.959241 kg /hr\n",
+ "\n",
+ " the velocity of air is as :2322.975009 kg/hr\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.12 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "import math\n",
+ " \n",
+ "\n",
+ "T1=65; #dry bulb temperature at the inlet in degree celcius\n",
+ "f=3.5; #flow rate of air in m**3/s\n",
+ "hi=1.017; #humidity of incoming air in kg/kg of dry air\n",
+ "hl=.03; #humidity of leaving air in kg/kg of dry air\n",
+ "k=1.12; #mass transfer coefficient in kg/m**3*s\n",
+ "y1=.017; #molefraction at recieving end\n",
+ "y2=.03; #molefraction at leaving end\n",
+ "\n",
+ "#substituting eqn 1st in 2nd we get;\n",
+ "a=2; #cross sectional area of the tower in m**2\n",
+ "d=1.113; #density o fair in kg/m**3\n",
+ "\n",
+ "# Calculation \n",
+ "m=(f*d) #mass flow rate of air\n",
+ "gs=m/hi; #air velocity in kg/m**2* hr\n",
+ "ys_bar=.032;\n",
+ "#for recirculation humidifier\n",
+ "# Result\n",
+ "z=math.log((ys_bar-y1)/(ys_bar-y2))*gs/k; #length of the chamber required\n",
+ "print \"\\n the length of the chamber required is :%f m\"%z\n",
+ "\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the length of the chamber required is :6.890939 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Elements_Of_Mass_Transfer_Part_1/ch6.ipynb b/Elements_Of_Mass_Transfer_Part_1/ch6.ipynb
new file mode 100755
index 00000000..3dc4dd02
--- /dev/null
+++ b/Elements_Of_Mass_Transfer_Part_1/ch6.ipynb
@@ -0,0 +1,1212 @@
+{
+ "metadata": {
+ "name": "ch6",
+ "signature": "sha256:a29072d0985b8dbf41dbd6153642bf709b504655904069bc08292ea01d2d0ef9"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 6 : Drying"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.1 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "\n",
+ "H1=.005; #humidity of incoming air per kg of dry air\n",
+ "T1=25.; #wet bulb temperature\n",
+ "\n",
+ "\n",
+ "print \"\\n the solid temp. correspond to wbt and they are 23, 27,32 and 34 degree respectively\"\n",
+ "\n",
+ "#part(ii)\n",
+ "Ybar=.032; #kg water/kg dry air#final moist air condotions \n",
+ "T2=42.; #dry bulb temperature\n",
+ "Mair=28.84; #molecular weight of air \n",
+ "Mwater=18; #molecular weight of water\n",
+ "pt=1.013*10**5; #total pressure in pascal\n",
+ "Vh=8315*((1/Mair)+(Ybar/Mwater))*((T2+273)/pt);\n",
+ "r=300; #flow rate of moist air leaving the dryer\n",
+ "a=r*60/Vh; #amount of dry air leaving /hr\n",
+ "w=a*(Ybar-0.005); # water removed /hr\n",
+ "\n",
+ "# Result\n",
+ "print \"\\n the water removed /hr is :%fkg /hr\"%w\n",
+ "\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the solid temp. correspond to wbt and they are 23, 27,32 and 34 degree respectively\n",
+ "\n",
+ " the water removed /hr is :515.648113kg /hr\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.2 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "%pylab inline\n",
+ " \n",
+ "\n",
+ "Ls=262.5; #mass of bone dry solid ais the drying surface\n",
+ "A=262.5/8; #both upper surafce and lower surface are exposed\n",
+ "Nc=0.3; #in kg/m**2*hr\n",
+ "x2=.06; #moisture content on wet basis finally after drying\n",
+ "x1=.25; #moisture content on wet basis finally after drying\n",
+ "Xcr=0.20; #crtical moisture content\n",
+ "X1=x1/(1-x1); #moisture content on dry basis intially\n",
+ "X2=x2/(1-x2); #moisture content on dry basis finally after drying\n",
+ "Xbar=0.025; #equillibrium moisture \n",
+ "\n",
+ "# Calculation \n",
+ "t1=Ls/(A*Nc) *(X1-Xcr); #so for constant rate period \n",
+ "\n",
+ "#for falling rate period we find time graphically\n",
+ "p = [.20 ,.18, .16, .14, .12, .10, .09, .08, .07, .064];\n",
+ "a = [3.3, 5.56, 6.25, 7.14, 8.32, 10.00, 11.11, 12.5, 14.29, 15.625];\n",
+ "from matplotlib.pyplot import *\n",
+ "\n",
+ "# Result\n",
+ "plot(p,a);\n",
+ "title(\"Fig.6.18 Example2 1/N vs X for fallling rate period\");\n",
+ "xlabel(\"X-- Moisture content, X(kg/kg)\");\n",
+ "ylabel(\"Y-- 1/N, hr,m**2/kg\");\n",
+ "\n",
+ "Area=1.116; #area under the curve\n",
+ "t2=Area *Ls/A; #falling rate period we find time graphically\n",
+ "ttotal=t1+t2; #total time for drying\n",
+ "print \"\\n the total time for drying the wet slab on wet basis is :%f min\"%ttotal\n",
+ "#end"
+ ],
+ "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": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the total time for drying the wet slab on wet basis is :12.483556 min\n"
+ ]
+ },
+ {
+ "output_type": "display_data",
+ "png": "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\n"
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.3.a "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#part(i)\n",
+ "\n",
+ "# Variable Declaration \n",
+ "p = [1.0,0.6,.44,0.4,.36,.224, 0.14];\n",
+ "a = [5.0,5.0, 4.5, 4.0, 3.5, 2.00, 1.00];\n",
+ "\n",
+ "i=0; #looping for calc. of 1/N \n",
+ "t = [0,0,0,0,0,0,0]\n",
+ "\n",
+ "# Calculation \n",
+ "while(i<7): #looping begins\n",
+ " t[i]=1./(a[i]);\n",
+ " i=i+1;\n",
+ "\n",
+ "from matplotlib.pyplot import *\n",
+ "\n",
+ "# Result\n",
+ "plot(p,a);\n",
+ "title(\"Fig.6.19(a) Example3 Drying Rate curve\");\n",
+ "xlabel(\"X-- Moisture content, X(kg/kg) ---->\");\n",
+ "ylabel(\"Y-- Drying Rate, N(kg/hr.m**2 ---->\");\n",
+ "#xset('window',1);\n",
+ "plot(p,t,\"o-\");\n",
+ "title(\"Fig.6.19(b) Example3 1/N vs X\");\n",
+ "xlabel(\"X-- Moisture content, X(kg/kg) --->\");\n",
+ "ylabel(\"Y-- 1/N, hr,m**2/kg --->\");\n",
+ "show()\n",
+ "#from X=0.6 to 0.44 ,falling rate is non linear and from X=.44 to .14 falling rate is linear\n",
+ "\n",
+ "print \"\\n from the graph we get critical moisture content as 0.6 kg moisture/kg dry solid\"\n",
+ "\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "png": "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\nAElFTkSuQmCC\n"
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " from the graph we get critical moisture content as 0.6 kg moisture/kg dry solid\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.3.b"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "# Variable Declaration \n",
+ "#part(ii)\n",
+ "w1=5.; #wet of wet solid\n",
+ "c1=.5/(1-.5); #moisture content per kg wet solid\n",
+ "w2=5.*0.5; #moisture for 5kg wet solid\n",
+ "w3=w1-w2; #weight of dry solid\n",
+ "xbar=0.05; #equillibrium moisture content\n",
+ "Xbar=xbar/(1-xbar); #equillibrium moisture content\n",
+ "Ls=2.5; #mass of bone dry solid ais the drying surface\n",
+ "A=5.; #both upper surafce and lower surface are exposed\n",
+ "Nc=0.6; #in kg/m**2*hr\n",
+ "#from X=0.6 to 0.44 ,falling rate is non linear and from X=.44 to .14 falling rate is linear\n",
+ "X2=.15/(1-.15);\n",
+ "Xcr=.6; #kg moisture per kg dry solid\n",
+ "#so we can find time fro drying from 0.6 to .44 graphically and then for X=.44 to .1765\n",
+ "X1=1.; #moisture content on dry basis intially\n",
+ "\n",
+ "# Calculation \n",
+ "t1=Ls/(A*Nc) *(X1-Xcr); #time taken for constant drying rate(fromX=1 to .6) \n",
+ "X1=.44; #moisture content on dry basis\n",
+ "import math\n",
+ "t2=(Ls/(A*Nc))*((Xcr-Xbar)*math.log((X1-Xbar)/(X2-Xbar)));\n",
+ "t3=0.0336*Ls/Nc; #fro graph we get from X=.6 to .44\n",
+ "ttotal=t1+t2+t3; #total time for drying the wet slab\n",
+ "\n",
+ "# Result\n",
+ "print \"\\n the total time for drying the wet slab to 15 percent moisture on wet basis is :%f min\"%(ttotal*60)\n",
+ "\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the total time for drying the wet slab to 15 percent moisture on wet basis is :59.610778 min\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.4"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#let Ls/A=p\n",
+ "# Variable Declaration \n",
+ "p=48.; #mass of bone dry solid ais the drying surface\n",
+ "v=1.5*1.5*.5; #volume of material\n",
+ "Nc=1.22; #in kg/m**2*hr\n",
+ "Xcr=0.2; #crtical moisture content\n",
+ "X1=0.25; #moisture content on dry basis intially\n",
+ "X2=0.08; #moisture content on dry basis finally after drying\n",
+ "Xbar=0.025; #equillibrium moisture \n",
+ "\n",
+ "#tbar=(Ls/(A*Nc))*((Xcr-Xbar)*log((Xcr-Xbar)/(X2-Xbar)));\n",
+ "# Calculation \n",
+ "t1=p/(Nc) * (X1-Xcr); #time taken for constant drying rate period \n",
+ "\n",
+ "# equillibrium relation is given under\n",
+ "p = [.18,.15,.14,.11,.07,.05];\n",
+ "a = [.8772,1.11,1.25,1.7857,4.545,20];\n",
+ "from matplotlib.pyplot import *\n",
+ "\n",
+ "# Result\n",
+ "plot(p,a);\n",
+ "title(\"Fig.6.20 Example4 1/N vs X for fallling rate period\");\n",
+ "xlabel(\"X-- Moisture content, X(kg/kg) ---->\");\n",
+ "ylabel(\"Y-- 1/N, hr,m**2/kg ---->\");\n",
+ "\n",
+ "a=14*.025*1; #area under the curve\n",
+ "t2=a*48; #time taken for varying drying period\n",
+ "ttotal=t1+t2; #total time taken \n",
+ "print \"\\n total time for drying the material from 25 to 8 percent moisture under same drying conditions is :%f hr\"%(ttotal)\n",
+ "\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " total time for drying the material from 25 to 8 percent moisture under same drying conditions is :18.767213 hr\n"
+ ]
+ },
+ {
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEXCAYAAABCjVgAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XdYFOfaBvB7KYr0oiAKgqKI9EXsDUVEj2IUjRETezTR\nmERzNBpLUGM3fhr1mGI4amzRBIwdW0QNCWJDY4uJCgKigtIFac/3xx5GFljasjssPL/r8pLdmZ33\nnm3PzjvzzkiIiMAYY4wB0BI7AGOMsbqDiwJjjDEBFwXGGGMCLgqMMcYEXBQYY4wJuCgwxhgTNNii\nYGRkhNjYWLFj1DsRERGwtbUVO4ZGOXDgAGxtbWFkZITr168rvbynT5+id+/eMDY2xpw5cyqdX0tL\nCw8ePAAATJgwAYsWLQJQ9rV0dXXF+fPnlc5XHynz3JR8/uuCel8U7O3toa+vDyMjIxgZGcHY2BhP\nnjxBZmYm7O3ta7TMly9fYvr06WjWrBlMTU3Rp0+fcufLy8vD5MmTYW9vD2NjY0ilUoSHh8vNc+bM\nGTg5OcHAwAD9+vXDo0ePFLbr4+ODJk2aCOtiZGSEN954o0brUNf4+vpCS0sLRUVFCudZtGgR3Nzc\noKuriyVLlpQ7z3vvvYetW7di+/bt0NLSwtq1a+Wm29jYqPSL7fDhw7C2tkZqaqpw38GDB2FjY4PM\nzMxyHzN79mxs2bIFmZmZ8PDwUDrDd999B0tLS2RkZJRZ/8pIJBJIJJJyp928eRO9e/dWOl9tsLe3\nx6+//ip2DEFdem6UVe+LgkQiwZEjR5CZmYnMzExkZGSgefPmSi1z6tSpSEtLw927d5GamooNGzaU\nO19BQQFatWqF8+fPIyMjA8uWLcOoUaMQFxcHAEhJScGIESOwfPlypKamwtvbG2+99VaF6/Kf//xH\nWJfMzEwcPHhQqXWpC3bv3o2CggKFX0bF2rVrh7Vr12Lw4MEK5w0PD8fgwYMBAObm5lizZg2ysrKE\n6ZW1oayAgAD069cPs2bNAgCkpaVh+vTp+Oabb2BkZFRmfiLCo0eP4OzsXKP2yiuicXFx6NChQ42W\nV5xJTIWFhZXOI5FIRM8JyD7j9Q7Vc/b29nTmzJky90skErp//z4REaWkpNCQIUPI2NiYOnXqRAsW\nLKCePXuWu7w7d+6QsbExZWZm1iiPu7s7hYWFERHRt99+Sz169BCmZWdnU5MmTeivv/4q97E+Pj4U\nEhJS7rRVq1ZRly5dqKCggIiItmzZQi4uLvTq1SsiIho5ciQ1b96cTExMqHfv3nTr1i3hsePHj6dp\n06bRoEGDyNDQkHr27ElJSUn00UcfkampKTk5OdG1a9eE+e3s7GjlypXk7OxMZmZmNHHiRMrNzSUi\norNnz5KNjY0wb2JiIgUGBlKzZs2odevWtHHjRrncaWlp5OjoSFFRUSSRSKiwsLDS5/Cdd96hxYsX\nl7n/+vXr5O7uTkRE27Zto549e9LQoUNpyZIlwjw2NjZ07ty5Mo+Nioqi5s2bU1FRkXBfWFiYsLyL\nFy9Sx44dydjYmKysrOiTTz5RmC8lJYUsLS3pxIkTNGHCBBozZky58+Xm5pKBgQFJJBIyMDCgtm3b\nEhHR7du3qU+fPmRqakouLi506NAh4THjx4+n999/nwYNGkQGBgZl3tvjx48nXV1datSoERkaGtKZ\nM2fo4sWL1LVrVzI1NSVra2uaMWMG5eXlCY8p+VmYMGECLVy4kIjKvpZ2dnZCe8HBwfTmm2/SuHHj\nyMjIiFxcXOjy5cvCvFeuXCFPT08yMjKiN998k0aNGiUst7Rt27ZR9+7dadasWWRhYUGLFi2i+/fv\nU9++fcnCwoKaNm1Kb7/9NqWlpRGR7PXX0tKiJk2akKGhIa1du5aIiP744w/q1q0bmZqakoeHB0VE\nRCh8jSp6DxMRHT58mDw8PMjU1JS6d+9ON27ckHvs6tWryc3NjfT09KigoIDs7Ozo9OnTwuv68ccf\nU4sWLahFixY0c+ZM4XNIRLRmzRqytramli1bUkhIiNzzXxc0iKJQ/GKVVPKFeOuttygoKIhycnLo\n9u3bZGtrS7169Sp3eTt27CA3NzeaNWsWNW3alNzc3Cg0NLRKWZ48eUJ6enrCl/5HH31E06dPl5un\nouX5+PjQ999/X+60oqIi6t27Ny1evJju3btHZmZmFBMTI0zftm0bZWVlUV5eHs2cOZM8PT2FaePH\nj6emTZvS1atXKTc3l/r160d2dna0c+dOKioqooULF1Lfvn2F+e3s7MjNzY0SEhLoxYsX1KNHj3K/\nSAoLC8nLy4u++OILys/PpwcPHlCbNm3oxIkTwrKmT59OGzZsoIcPHypdFFauXEnz588X1rdnz54U\nExNDZmZmlJqaSkSKiwIRkYODA506dUq4PXLkSFq9ejUREXXt2pV27dpFRLLiHRUVVWHGvXv3koWF\n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\nAAAAAElFTkSuQmCC\n"
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.5.a"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "# Variable Declaration \n",
+ "w=[5.314,5.238,5.162,5.124,5.048,4.972,4.895,4.819,4.743,4.667,4.524,4.468,4.426,4.340,4.120]\n",
+ "t=[0.0,0.4,0.8,1.0,1.4,1.8,2.2,2.6,3.0,3.4,4.2,4.6,5.0,6.0]\n",
+ "#part(i)\n",
+ "x=4.120; #weight of the dried material\n",
+ "print \"\\n moisture content (dry basis) \"\n",
+ "i=0; \n",
+ "p = [] #looping starts\n",
+ "\n",
+ "# Calculation \n",
+ "while(i<15): #calculation of moisture content\n",
+ " p.append((w[i]-x)/x);\n",
+ " print \"\\n :%f\"%p[i]\n",
+ " i=i+1;\n",
+ "\n",
+ "print \"Drying rate kg/hr*m**2\"\n",
+ "i=1;\n",
+ "a = []\n",
+ "for i in range(15):\n",
+ " a.append(0)\n",
+ " \n",
+ "while(i<14):\n",
+ " a[i] =((p[i-1]-p[i])*4.12/(t[i]-t[i-1]))\n",
+ " print \" %f \"%a[i]\n",
+ " i=i+1;\n",
+ "from matplotlib.pyplot import *\n",
+ "a[0]=.19;\n",
+ "a[14]=0;\n",
+ "\n",
+ "# Result\n",
+ "print \"\\n\\n from the above data it is clear that critical moisture content Xcr=0.11\"\n",
+ "plot(p,a);\n",
+ "title(\"Fig.6.19(a) Example3 Drying Rate curve\");\n",
+ "xlabel(\"X-- Moisture content, X(kg/kg) ---->\");\n",
+ "ylabel(\"Y-- Drying Rate, N(kg/hr.m**2 ---->\");\n",
+ "show()\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " moisture content (dry basis) \n",
+ "\n",
+ " :0.289806\n",
+ "\n",
+ " :0.271359\n",
+ "\n",
+ " :0.252913\n",
+ "\n",
+ " :0.243689\n",
+ "\n",
+ " :0.225243\n",
+ "\n",
+ " :0.206796\n",
+ "\n",
+ " :0.188107\n",
+ "\n",
+ " :0.169660\n",
+ "\n",
+ " :0.151214\n",
+ "\n",
+ " :0.132767\n",
+ "\n",
+ " :0.098058\n",
+ "\n",
+ " :0.084466\n",
+ "\n",
+ " :0.074272\n",
+ "\n",
+ " :0.053398\n",
+ "\n",
+ " :0.000000\n",
+ "Drying rate kg/hr*m**2\n",
+ "\n",
+ "\n",
+ " from the above data it is clear that critical moisture content Xcr=0.11\n"
+ ]
+ },
+ {
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAY8AAAEXCAYAAABVr8jJAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl8TNf/P/DXZBFLJosIlU1ESAhZNPYtShqxpJXSolUq\nv1Cqy0dVaaio5YPy7SLVqlqKUlVL0IiUT0ObIi2pKGJNiEhIiWxCtvP7I5/cj5FMZkYyk5nJ6/l4\neDBz7zn3fWbGvOfcc+65MiGEABERkQZM6jsAIiIyPEweRESkMSYPIiLSGJMHERFpjMmDiIg0xuRB\nREQaY/LQM3K5HGlpafUdhkoHDx7EyJEj1do3KioKs2fP1nJE2hcZGYnx48fXdxhPzFA+W2QYmDzq\niaurK5o2bQq5XA65XA4rKytkZWUhPz8frq6uT1Tn/fv3MW3aNNjb28PGxgYDBgxQum9UVBT8/f3R\nuHFjvPbaa1W2f/PNN2jfvj3kcjmCg4ORmZmpsD0iIgJz5sxRK67w8HB89913yM7OVrqPiYkJLC0t\npddDLpdjxYoVatWvKzKZTO19Z82aBRcXF1hZWcHJyQkzZsxAaWmpWmU3btwIU1NT6XVwc3PDpEmT\ncOnSpScNHQBq9dmqSWRkJMzNzSGXy2FjY4OePXvi119/Vbu8iYkJrl69WudxkXYxedQTmUyG/fv3\nIz8/H/n5+cjLy8NTTz1VqzonT56Me/fuISUlBTk5Ofj000+V7uvo6Ih58+Zh0qRJVbbFx8cjIiIC\ne/fuxd27d9G2bVuMHTtW2v7HH38gLy8P3bt3VysuCwsLBAcHY9OmTTXul5ycLL0e+fn5mDlzplr1\n64om19OGhYXh3LlzyMvLQ2JiIuLi4vDNN9+oXb5Pnz7S5+LQoUNo0qQJnn76aZw9e7ba/dVNTNog\nk8kwduxY5Ofn486dOxg8eDBGjRqlUR31fa1yfb5+horJQ888+ivszp07GDFiBKytrdG9e3fMnTsX\n/fr1q7ZcSkoK9u3bh6+//hp2dnaQyWTw8/NTepyRI0fiueeeg52dXZVt+/fvx+jRo9GxY0eYm5tj\n3rx5OHr0KFJTUwEABw4cQEBAgEKZt99+Gy4uLrC2toa/vz9+++03he0BAQH46aefNHkpJMOGDVNI\nJGPGjEFYWBgA4MqVK3jmmWfQokUL2Nvb45VXXkFubq60r6urK1asWAFvb2/I5XKEhYXh1q1bCA4O\nhrW1NQIDA3Hv3j0AQFpaGkxMTLB27Vo4OjrCwcEBK1euVBrX8ePH0bt3b9ja2sLX1xdHjhyRtnl4\neMDS0hJAxRejiYkJWrdurXabK79MZTIZ3Nzc8MUXX2DAgAGIjIxUiHX9+vVo06YNBg0ahOHDhyMq\nKkqhHm9vb0RHRwNQ/GxNnDgRb7zxBoYPHw4rKyv07NlT4dd/XFwcPDw8YGNjgzfeeAMDBgzAunXr\nlMZaGa+pqSnGjRuH7Oxs/PPPPwCAxMRE9OrVC7a2tnBwcMCbb76JkpISAED//v0BAD4+PpDL5dix\nYweAis+gr68vbG1t0adPH5w5c0bpa3X27FkEBgbCzs4OTz31FJYuXSq1cd68edJ+8fHxcHZ2lh67\nurpi+fLl8Pb2hqWlJZYvX47Ro0cr1P3222/j7bffBgDk5uYiLCwMDg4OcHJywrx581BeXq40LmPH\n5FGPVP3aeuONNyCXy3Hr1i18++232LRpk9JTJ4mJiWjTpg0+/PBD2Nvbw9vbG7t27XqiGGQymcLz\nlf9B/v77bwDAmTNn4OHhoVCme/fuOH36NHJycjBu3DiMHj0axcXF0nZPT0+cPn1a41gAYP369di8\neTN++eUXfPfdd/jzzz/x+eefS9sjIiKQmZmJ8+fPIz09XfqCrWzLrl27cPjwYVy4cAH79+9HcHAw\nli5ditu3b6O8vFyhLqDiS+by5cuIi4vDsmXLcPjw4SoxZWRkYPjw4fjwww+Rk5ODFStW4IUXXpC+\nMAFg6dKlkMvlcHZ2xvDhw/Hcc8/V2H5VQkNDq5wOOnr0KFJSUnDw4EFMmDABW7ZskbadPn0aN2/e\nxLBhw6qtb/v27YiMjEROTg7c3d0REREBAPjnn38wevRoLFu2DHfv3oWHhweOHTum1mm74uJibNq0\nCe3atUOLFi0AAGZmZvjss89w584dHDt2DIcPH8bq1aul+IH/9TpHjx6NpKQkhIWFYe3atbh79y6m\nTJmCkJAQhc9Tpfz8fAwePBhDhw5FZmYmLl++jEGDBgGoeO9Vxfz999/jwIEDyM3NxZgxYxATE4OC\nggIAQFlZGXbs2IGXX34ZQEUyatSoEa5cuYKkpCSNe5NGR1C9aNOmjbC0tBQ2NjbCxsZGjBw5Uggh\nhEwmE1euXBGlpaXC3NxcXLx4USozd+5c0bdv32rrW7x4sZDJZGLBggWipKREHDlyRFhaWorz58/X\nGMfcuXPFxIkTFZ47dOiQsLe3F8nJyeL+/fti8uTJwsTERHz//fdCCCECAwPFmjVraqzX1tZWJCcn\nS48vXrwoTE1Nle4vk8mElZWV9HrY2NiIuLg4afvOnTuFk5OTaNGihUhISFBaz+7du4Wfn5/02NXV\nVWzdulV6/MILL4hp06ZJj1etWiWef/55IYQQqampQiaTiQsXLkjbZ82aJcLCwoQQQsyfP1+88sor\nQgghli5dKsaPH69w7KCgIPHtt99WienUqVPCxcVF7Ny5U2ncj9qwYUO17/OBAweEubm5QqypqanS\n9qKiImFraysuX74shBDi3XffFW+88Ya0vfKzJYQQEydOFOHh4dK2mJgY4enpKYQQ4ttvvxW9e/dW\nOLazs7NYt25dtfHOnz9fNGrUSNjY2AhTU1NhZ2en8Ll93CeffCJ93h+PSwghXn/9dTFv3jyFMh4e\nHuLIkSNV6tq6davo2rVrtceZOHGimDt3rvT4l19+EU5OTtJjV1dXsWHDBoUyffv2FZs2bRJCCBEX\nFyfatWsnhBAiKytLWFhYiKKiIoVjDxw4UGk7jR17HvVEJpMhOjoaOTk5yMnJqdJLyM7ORmlpqUI3\n28nJSWl9TZo0gbm5OebOnQszMzP0798fAwcORFxcXI1xiGp+7Q8aNAiRkZF44YUX0LZtW7Rt2xZy\nuVw6vq2tLfLy8hTKrFixAp06dYKNjQ1sbW2Rm5ur8Cs8Pz8f1tbWNcaSlJQkvR45OTkIDAyUtg0f\nPhxlZWXw9PRE7969pedv3bqFMWPGwMnJCdbW1hg/fjzu3LmjUG+rVq0UXqdHHzdu3Fj6pVnp0dfc\nxcUFN2/erBLrtWvXsGPHDtja2kp/EhISkJWVVWVfPz8/TJs2DZs3b66x/apkZGSgefPmSmNt3Lgx\nXnzxRWzevBlCCHz//fc1zg57/HWpfB1u3rxZ5bNW02cPAF566SXk5OTg1q1b6Ny5M1atWiVtu3jx\nIoYPH47WrVvD2toaERERVd6jR127dg0rV65UeG1v3LhRZdIGAKSnp8PNza3G2Gry6OsHAOPGjcO2\nbdsAAFu3bpV6HdeuXUNJSQlat24txfT666/XOAnE2DF56Cl7e3uYmZkhPT1deu7Rfz/O29sbQNVk\noKrbrmz7tGnTcPHiRWRlZSE0NBSlpaXo3LmzdKyLFy9K+/7666/4+OOPsWPHDty7dw85OTmwtrZW\niOX8+fPw9fWtMZaaREREoFOnTsjMzMT3338vPf/BBx/A1NQUf//9N3Jzc7F582aV56GrS5iPun79\nusK/HR0dq+zj4uKC8ePHKyS7/Px8zJo1q9o6S0pK0KxZsxqPq8ru3bulMYJKj79/EyZMwHfffYdD\nhw6hadOm6NGjh8bHcXBwwI0bN6THQgiFx4979DSnnZ0dvv76a3z99dfSGNnUqVPRqVMnXL58Gbm5\nuVi8eHGN75GLiwsiIiIUXtuCggK89NJL1e6rbKZWs2bNcP/+felxdYn98ddv1KhRiI+PR0ZGBvbs\n2YNx48YBqEgyFhYWuHPnjhRTbm5ujWMxxo7JQ0+ZmpoiNDQUkZGRKCoqQkpKCjZv3qz0y37AgAFw\ncXHBv//9b5SWliIhIQHx8fEICgqqdv+ysjI8ePAApaWlKCsrw8OHD1FWVgYAePjwIf7++28IIXD9\n+nVMnjwZ77zzjtRzGDp0qMLgcH5+PszMzNCiRQsUFxfjo48+qtIzOXLkCIKDg2tss7Iv9aNHj2Lj\nxo3YvHkzNm7ciDfffFPqDRQUFKBZs2awsrJCRkYGPv744xqPoY5FixahqKgIZ8+excaNG6v90nrl\nlVewb98+xMXFSa9l5ZeOEAJr1qzBvXv3IIRAYmIiVq9ejdDQUI1jKSsrQ2pqKt58800cPXoU8+fP\nr3H/Xr16QSaTYebMmXj11VeV7ldTAh06dCjOnDmD6OholJaW4osvvqj2i1dZXR06dMCIESOwfPly\nABXvkVwuR9OmTZGSkoIvv/xSYf9WrVrhypUr0uPw8HB89dVXSExMhBAChYWF+Omnn6r0EIGKHmlm\nZiY+++wzPHz4EPn5+UhMTAQA+Pr6IiYmBjk5OcjKyqpx9mEle3t7BAQEYOLEiXBzc5PG9lq3bo1n\nn30WM2bMQH5+PsrLy3HlyhVpzKYhYvLQM48mh6ioKOTm5uKpp57ChAkTMHbsWDRq1Eja3rlzZ6mL\nbWZmhujoaMTExMDGxgZTpkzB5s2b0aFDBwDAkiVLMHToUKnswoUL0bRpUyxbtgxbtmxBkyZNsHjx\nYgBAUVERXn75ZcjlcvTo0QN9+vTBwoULpbJ+fn6wtraW/pMOGTIEQ4YMQYcOHeDq6oomTZrAxcVF\n2v/Bgwc4cOAAJkyYUGPbK2fcVP6p/I86YcIEfPHFF2jdujX69u2LsLAwaYrx/PnzcerUKVhbW2PE\niBF44YUXNOptVTeoOmDAALi7u2Pw4MF47733MHjw4Cr7Ojk5ITo6GkuWLEHLli3h4uKClStXSl+k\ne/bsQbt27WBtbY2wsDAsWrRI7eQhk8lw7NgxyOVyWFtbY+DAgSgoKMAff/wBLy+vatvxqFdffRVn\nzpzBK6+8olG7Kx+3aNECO3bswKxZs9CiRQucP38e/v7+sLCwUBrv43W999572LRpE27fvo0VK1Zg\n69atsLKywuTJkzFmzBiF/SMjIzFhwgTY2trixx9/xNNPP421a9di+vTpaN68Odq3b690mrelpSV+\n/vln7Nu3D61bt0aHDh0QHx8PABg/fjx8fHzg6uqKIUOGVDmuMuPGjcPhw4elXkelTZs2obi4GJ06\ndULz5s0xevToGpOqsZMJVX140hvvv/8+bt++jQ0bNtR3KPj555+xevVq7N69W+W+UVFRuHHjhjSF\nUl+lpaXBzc0NpaWlMDEx3N9Vmzdvxtq1a+vsV3F5eTmcnZ2xdevWGi88pYZFq/9DYmNj4enpifbt\n22PZsmVVtn/33Xfw8fGBt7c3+vTpg+TkZLXLNgQXLlxAcnKydOpj/fr1ai8Jom2BgYFqJQ4AmD59\nut4nDmNx//59fPHFF5g8eXKt6omLi8O9e/fw8OFDLFmyBADQs2fPugiRjIW2pnGVlpaKdu3aidTU\nVFFcXCx8fHzEuXPnFPb5/fffxb1794QQFdMQe/TooXbZhuCPP/4Q7u7uomnTpqJt27Zi6dKl9R2S\nUUtNTRUmJiairKysvkN5IrGxsaJZs2bi+eefr3UbIiMjhZ2dnZDL5aJnz54iMTGxjqIkY6G101bH\njh3DggULEBsbCwDSL09lC+Tl5OSgS5cuuHHjhsZliYhIt7R22iojI6PKNQoZGRlK91+3bp00oKtp\nWSIi0i0zbVWsyQqkv/zyC9avX4+EhASNympyDCIi+p/annTSWs/D0dGxygVu1V2lmpycjPDwcOzd\nuxe2trYalQX+tyibMf6ZP39+vcfA9rF9Da1tDaF9dUFrycPf3x+XLl1CWloaiouLsX37doSEhCjs\nc/36dYSGhmLLli1wd3fXqCwREdUfrZ22MjMzQ1RUFIKCglBWVoawsDB07NgRa9asAQBMmTIFH330\nEXJycjB16lQAgLm5ORITE5WWJSIi/WDQFwk+vnS4sYmPj69y3wxjwvYZLmNuG2D87auL704mDyKi\nBqYuvjsNdw0GIiKqN0weRESkMSYPIiLSGJMHERFpjMmDiMjAjRsH6PrWIpxtRURk4CwtgcxMQC5X\nb3/OtiIiauDy8wEhKhKILjF5EBEZsMxMoHVrQNfrxDJ5EBEZsKysiuSha0weREQGrLLnoWtMHkRE\nBozJg4iINMbkQUREGmPyICIijWVmAk89pfvjMnkQERkw9jyIiEhj9TVVl8uTEBEZqOLiiiVJiooA\nEw26AlyehIioAcvKAlq21Cxx1BUmDyIiA1Vf4x0AkwcRkcFi8iAiIo3V1zRdQIPksXv3buTn52sz\nFiIi0oDe9zyuXLmCF198EVu2bNF2PEREpKb6mqYLqJk81q9fj1mzZmHDhg3ajoeIiNSk1z2P0tJS\n7NixA7Nnz4a1tTVOnz6ti7iIiEgFvU4eBw4cQK9evSCXy/Haa69h3bp1uoiLiIhUqM/kofIK8+ee\new4zZszAgAEDUFRUBC8vL6SkpKBRo0a6ilEpXmFORA1VWRnQpAlQUABo+nWs9SvMc3JykJubiwED\nBgAAmjRpglGjRuHw4cO1OigREdXOP/8A1taaJ466wrWtiIgM0F9/Aa++CiQna15W52tbRUZG1upg\nRERUN+pzmi6gYfKIjo7WVhxERKSB+hwsBzRMHjxFRESkHwwqeZw6dUpbcRARkQYMKnn4+/trKw4i\nItJAfS6KCPC0FRGRQTKonsewYcO0FQcREWnAoJJHjx49tBUHERGpSYj6n6qr0UWCfn5+SEpK0mY8\nGuFFgkTUEOXmAs7OQF7ek5XX+UWCRERU/+r7lBWgYfJYs2aNtuIgIiI1GVzy+Oabb7QVBxERqam+\np+kCGiaPP/74Q1txEBGRmgyu59GqVSttxUFERGoyuOQRGxurrTiIiEhN9T1NF+BsKyIig2NwPQ8i\nIqp/Rp88YmNj4enpifbt22PZsmVVtqekpKBXr15o3LgxVq5cqbDN1dUV3t7e8PPzQ/fu3bUZJhGR\nQdGH5GFW08bY2FhkZGRg0KBBcHV1lZ5fv349Jk2aVGPFZWVlmD59Og4dOgRHR0d069YNISEh6Nix\no7SPnZ0dVq1ahT179lQpL5PJEB8fj+bNm2vYJCIi41VUBNy/D9ja1m8cSnsec+bMwZIlS3DmzBkM\nGjQIn3/+ubRt1apVKitOTEyEu7s7XF1dYW5ujjFjxlS5E6G9vT38/f1hbm5ebR1ceoSISFFWVsU1\nHjJZ/cahtOexb98+JCUlwdzcHJGRkRg7diyuXr2KTz75RK2KMzIy4OzsLD12cnLCiRMn1A5MJpNh\n8ODBMDU1xZQpUxAeHl7tfo/eVz0gIAABAQFqH4OIyNA8ySmr+Ph4xMfH12kcSpNHWVmZ1COwsbHB\nvn37MHnyZIwePRrFxcUqK5bVMi0mJCSgdevWyM7ORmBgIDw9PdGvX78q+z2aPIiIjN2TTNN9/If1\nggULah2H0tNWbm5uCpnKzMwM69evh6enJ86fP6+yYkdHR6Snp0uP09PT4eTkpHZgrf/76tjb22Pk\nyJFITExUuywRkbHSh8FyoIbk8eOPP1Z7/45Fixbh+vXrKiv29/fHpUuXkJaWhuLiYmzfvh0hISHV\n7vv42Mb9+/eRn58PACgsLERcXBy6dOmi8phERMZO75NHkyZNpFV0Hx0sB6BWD8LMzAxRUVEICgpC\np06d8NJLL6Fjx45Ys2aNVG9WVhacnZ3xySefYNGiRXBxcUFBQQGysrLQr18/+Pr6okePHhg+fDie\nffbZ2rSTiMgo6MOiiICKm0GtW7cOd+/eRfPmzREWFqbLuNTCm0ERUUMzdCgwbRowfPiT16HVm0Et\nWLAAFy9exLx583DhwoU6GWAhIqLa0fvTVvPnz4e5uTni4uLQqFEjzJ8/X5dxERFRNfQledR4hXn/\n/v3Rv39/tabmEhGRdpWVAXfuAC1b1nckKta2OnfunMLfRERUf27fBuzsALMaf/brRo3JQy6X4+OP\nP0azZs10FQ8RESmhL6esAA6YExEZDH2ZpgtwwJyIyGDoU8+DA+ZERAbCYJJH5VXd9vb2iI6ORmlp\nKYCKC0xCQ0O1Hx0REUkyM4FOneo7igoqx+xfe+01nDlzBl5eXjAx+d9ZLiYPIiLdysoCBg2q7ygq\nqEweJ06cwNmzZ2u9xDoREdWOPp22UnkP827duvE6DyIiPaBPyaPGhRGBijtQhYSE4KmnnoKFhUVF\nIZkMycnJOgmwJlwYkYgaCiGAJk2AnJyKv2ujLr47VZ62CgsLw5YtW9C5c2eFMQ8iItKdnBygcePa\nJ466ojJ5tGzZUulNnIiISDf06ZQVoEby8PPzw7hx4zBixAg0atQIAKfqEhHpmsElj/v378PCwgJx\ncXEKzzN5EBHpTlaWgSWPjRs36iAMIiKqib71PJ5oBHz//v11HQcREdXAoJKHEALp6elVnv/jjz+0\nFhAREVWlTyvqAmr0PIKDg6s8x+XZiYh0y6B6HjKZDE8//TQSExN1FQ8REVVD35KHyivMPTw8cPny\nZbRp00a6oyCvMCci0i0rK+D6dcDGpvZ16eQK84MHD9bqAEREVDuFhUBJCWBtXd+R/I/K5OHq6oqy\nsjLcunVLup8HERHpTuU1Hvq0uLnK5LFq1SosWLAALVu2hKmpqfT8mTNntBoYERFV0LfxDkCN5PHp\np5/iwoULsLOz00U8RET0GH2bpguoMVXXxcUFVlZWuoiFiIiqYVA9j5UrVwIA3NzcEBAQgOHDhyss\njDhjxgzdREhE1MAZVPIoKCgAUNHzcHZ2RnFxMYqLi3UWGBERVcjMBPr3r+8oFClNHubm5ggODoaf\nn58u4yEiosfoY89D6ZiHm5sbPvvsM/j6+mLixInYvn07cnJydBkbERFB/5ZjB9S4wlwIgaSkJMTG\nxuLnn39GaWkpAgMDMWTIEHTv3l1XcVaLV5gTUUPQsiWQnFx3M67q4rtTZfJ4XG5uLn7++WccPHgQ\na9eurdXBa4vJg4iMXUkJ0LQp8OAB8MildrWik+Sxc+dOyB67rNHKygpdunRBq1atanXw2mLyICJj\nd+MG0L07cPNm3dWpk7Wt1q9fj2PHjmHgwIEAgPj4eHTt2hWpqan48MMP8eqrr9YqACIiUk4fB8sB\nNZJHSUkJzp8/L/Uybt26hfHjx+PEiRPo378/kwcRkRbpa/JQeYV5enq6wumpli1bIj09HXZ2dtJF\ng0REpB36mjxU9jwGDhyIYcOG4cUXX4QQAjt37kRAQAAKCwthUxcLyxMRkVL6OE0XUHOq7s6dO5GQ\nkAAA6NOnD1544YUqg+j1gQPmRGTsXn8d8PYGpk2ruzp1MmAeGxuLUaNGYdSoUdJzX331FV5//fVa\nHZiIiFTLzASCguo7iqpUjnksXLgQhw8flh4vX74ce/bs0WpQRERUwWDHPPbu3SutqBsbG4uUlBTs\n3btXF7ERETV4+po81LrC/Pbt2xg0aBD8/f2xfv16vRjvADjmQUTGrbwcaNwYyM8HLCzqrl6tXmFu\naWmpkCSKi4thbm4OmUwGmUyGvLy8Wh24LjB5EJExy84GPD2BO3fqtl6tDphX3s+DiIjqh75O0wVq\nGDC/evWqysJXrlyp02CIiOh/9PHe5ZWUJo85c+Zg+PDh+Prrr3Hq1ClkZmbi5s2bOHnyJNasWYNh\nw4YhIiKixspjY2Ph6emJ9u3bY9myZVW2p6SkoFevXmjcuLF021t1yxIRGTt9HSwHVAyYX758Gd9/\n/z0SEhJw7do1AECbNm3Qt29fjB07Fm5ubkorLisrg4eHBw4dOgRHR0d069YN27ZtQ8eOHaV9srOz\nce3aNezZswe2trZ499131S4LcMyDiIzb0qXA3bvA8uV1W6/WLxJ0d3fH3Llzn6jixMREuLu7w9XV\nFQAwZswYREdHKyQAe3t72Nvb46efftK4LBGRscvMBP77Nah3lCaPI0eO1Dglt7+Ku7FnZGTA2dlZ\neuzk5IQTJ06oFZQmZSMjI6V/BwQEICAgQK1jEBHpu8xMoFev2tcTHx+P+Pj42lf0CKXJ4+OPP642\neSQnJ+PGjRsoKyurseLaXAuiSdlHkwcRkTGpqzGPx39YL1iwoNZ1Kk0e+/fvV3ickJCAhQsXonXr\n1oiKilJZsaOjI9LT06XH6enpcHJyUiuo2pQlIjIW+jxVV+XyJIcOHcKiRYsAABEREQgMDFSrYn9/\nf1y6dAlpaWlwcHDA9u3bsW3btmr3fXzgRpOyRETGSp+n6tbY81i8eDFsbGywcOFC9OvXT7OKzcwQ\nFRWFoKAglJWVISwsDB07dsSaNWsAAFOmTEFWVha6deuGvLw8mJiY4LPPPsO5c+dgaWlZbVkiooYi\nPx8QApDL6zuS6imdqmtiYgInJyf4+PhULSST6cXiiJyqS0TG6uJFYOhQ4PLluq9bq1N1//Of/yg9\niL4sjEhEZKz0+QJBoIbkwSmvRET1R9+Th8qbQRERke4xeRARkcaysvR3phXA5EFEpJf0veeh8jqP\nx33wwQewtrbG//t//w92dnbaiImIqMHT9+Shcc+jW7duMDU1xTvvvKONeIiICPqfPNS6h7m+4nUe\nRGSs7OyAlBTA3r7u666L706VPY8LFy5g0KBB8PLyAlCxMGLlciVERFT3Hj6suMJcn0cGVCaP8PBw\nLFmyBI0aNQIAdOnShetMERFpUVYW0KoVYKLHU5pUhnb//n306NFDeiyTyWBubq7VoIiIGjJ9n6YL\nqJE87O3tcfmRxVV+/PFHtNbnURwiIgOn74PlgBpTdaOiojB58mRcuHABDg4OaNu2Lb777jtdxEZE\n1CAZRfIwMTHB4cOHUVBQgPLyclhZWSE1NVUXsRERNUiGkDxUnrYKDQ0FAFhaWsLKygoAMGrUKO1G\nRUTUgBlC8lDa8zh//jzOnTuH3Nxc7Nq1C0IIyGQy5OXl4cGDB7qMkYioQTHo5HHx4kXs27cPubm5\n2Ldvn/S2uBsGAAAZeUlEQVS8XC7H2rVrdRIcEVFDZAjJQ+UV5r///jt69+6tq3g0wivMicgYOToC\nx48Dzs7aqb8uvjtVJo+ioiKsW7cO586dQ1FRkXQXwfXr19fqwHWByYOIjE1ZGdCkCVBQAPz32uw6\np5PlScaPH49bt24hNjYWAQEBSE9Ph6WlZa0OSkRE1fvnH8DaWnuJo66oTB6XL1/GwoULYWlpiQkT\nJiAmJgYnTpzQRWxERA2OIYx3AGokj8o1raytrXHmzBncu3cP2dnZWg+MiKghMpTkofIiwfDwcNy9\nexeLFi1CSEgICgoKsHDhQl3ERkTU4BhK8nii+3mkp6fDWVvTADTAAXMiMjaLF1cMlv/739o7htYH\nzE+ePIkdO3bg7NmzACqSxuTJk9GnT59aHZSIiKpnCCvqAjUkj7lz5+KVV17Brl27EBISgnfffRf9\n+/dHp06dcPHiRV3GSETUYBjKaSulYx67du1CUlISGjdujLt378LZ2Rlnz56Fq6urDsMjImpYDCV5\nKO15WFhYoHHjxgCA5s2bo3379kwcRERaZijJQ+mAubW1Nfr37y89/vXXX9GvX7+KQjIZ9u7dq5sI\na8ABcyIyJkIATZtWXCjYrJn2jqPV5Uni4+NrPPCAAQNqdeC6wORBRMbk3j3AxQXIy9Puceriu1Pp\nmEdAQECtKiYiIs0YyikrQI0rzImISDcMZZouwORBRKQ32PMgIiKNGVLyULm21YgRIxQGV2QyGays\nrNCtWzdMmTJFms5LRES1Y0jJQ2XPo23btrC0tMTkyZMRHh4OuVwOuVyOixcvIjw8XBcxEhE1CIaU\nPFT2PH7//Xf8+eef0uOQkBD4+/vjzz//hJeXl1aDIyJqSAwpeajseRQWFuLatWvS42vXrqGwsBDA\n/+71QUREtZeZaTizrVT2PFauXIl+/frBzc0NAHD16lWsXr0ahYWFmDBhgtYDJCJqKLKyDKfnodb9\nPB48eICUlBTIZDJ4eHjozSA5rzAnImNRVATY2AAPHgAymXaPpdUrzB916tQppKamorS0FKdPnwYA\nvPrqq7U6MBER/U/lBYLaThx1RWXyeOWVV3D16lX4+vrC1NRUep7Jg4io7hjSYDmgRvI4efIkzp07\nB5mhpEMiIgNkaMlD5Wyrzp07IzMzUxexEBE1WIaWPFT2PLKzs9GpUyd0794dFhYWAPTnfh5ERMbC\nkKbpAmokj8jISB2EQUTUsGVlAT171ncU6lOZPHhfDyIi7TO001ZKxzz69OkDALC0tJTWs6r8Y2Vl\npVblsbGx8PT0RPv27bFs2bJq93nrrbfQvn17+Pj4ICkpSXre1dUV3t7e8PPzQ/fu3TVpExGRwTG0\n5KG055GQkAAAKCgoeKKKy8rKMH36dBw6dAiOjo7o1q0bQkJC0LFjR2mfmJgYXL58GZcuXcKJEycw\ndepUHD9+HEDFuEp8fDyaN2/+RMcnIjIkhpY8VM62mjFjBs6ePatxxYmJiXB3d4erqyvMzc0xZswY\nREdHK+yzd+9eaYmTHj164N69e7h165a0nVePE1FDUFoK3LkDtGxZ35GoT+WYR8eOHTF58mSUlJRg\n0qRJGDt2LKytrVVWnJGRAWdnZ+mxk5MTTpw4oXKfjIwMtGrVCjKZDIMHD4apqSmmTJmidPn3Rwf0\nAwICOEZDRAbn9m3Azg4wU2vND83Fx8cjPj6+TutUGWp4eDjCw8ORkpKCjRs3okuXLujbty/Cw8Mx\ncOBApeXUvahQWe/it99+g4ODA7KzsxEYGAhPT0/069evyn6cDUZEhk7b03Qf/2G9YMGCWtep1m1o\ny8rKkJKSgvPnz8Pe3h4+Pj74v//7P7z00ktKyzg6OiI9PV16nJ6eDicnpxr3uXHjBhwdHQEADg4O\nAAB7e3uMHDkSiYmJ6reKiMiAGNJqupVUJo9//etf8PDwQExMDCIiInDy5Em8//772LdvH/766y+l\n5fz9/XHp0iWkpaWhuLgY27dvR0hIiMI+ISEh2LRpEwDg+PHjsLGxQatWrXD//n3k5+cDqLifSFxc\nHLp06VKbdhIR6S1DGywHVJy2EkLA1tYWp0+fRrNmzapsf3wMQ6FiMzNERUUhKCgIZWVlCAsLQ8eO\nHbFmzRoAwJQpUzB06FDExMTA3d0dzZo1w4YNGwAAWVlZCA0NBQCUlpbi5ZdfxrPPPvvEjSQi0meG\nmDxqvJ+HEAJdunTB33//rcuY1Mb7eRCRMZg2DejUCZg+XTfHq4vvzhpPW8lkMjz99NMcbyAi0iJD\n7HmonG11/PhxbNmyBW3atJFOXclkMiQnJ2s9OCKihsAok8fBgwd1EQcRUYNlaCvqAmokj7y8PFy4\ncAFAxQWDnTt31npQREQNhRCGOVVXafLIzc3Fc889h+vXr8PHxwdCCJw5cwYuLi6Ijo5We3FEIiJS\nLicHaNKk4o8hUTrb6s0334SFhQWWL18OE5OKcfWysjLMmTMHRUVFWLVqlU4DrQ5nWxGRoTt7Fhg1\nCjh/XnfHrIvvTqU9j0OHDiE5OVlKHABgamqKxYsX84I9IqI6YoiD5UANU3UbNWoEc3PzKs+bm5tL\nt6MlIqLaMdTkobTn8fDhQ5w6dQpCCIVFDoUQePjwoU6CIyIydoY40wqoIXk89dRTePfdd6vd1toQ\n0yQRkR7KzAT+ux6sQVGaPOp67XciIqoqKwvw96/vKDSn1pLsRESkHYY65sHkQURUj5g8iIhIYw0i\nefCWr0REdaewECgpAayt6zsSzWmUPKKjo7UVBxFRg1M5TfeRqyEMhkbJg0uBEBHVHUM9ZQVomDxO\nnTqlrTiIiBocQ1xNt5JGycPfECcjExHpKaPseQQHByM1NVXhOZ62IiKqO0aZPCZNmoSgoCAsXrwY\nJSUlAIBhw4bpLDAiImNnyMlD6f08AKCgoAAfffQRDh48iPHjx0sLJMpkMsyYMUNnQSrD+3kQkSEL\nCgLeeQcIDtbtcbV6Pw+gYvl1S0tLPHjwAPn5+Qr39iAiotox1BV1gRqSR2xsLGbMmIERI0YgKSkJ\nTZs21WVcRERGzyhPW/Xr1w9fffUVvLy8dB2T2njaiogMVUkJ0LQp8OABYGqq22PXxXen0uTx+E2g\n9BGTBxEZqhs3gO7dgZs3dX/suvjuVDqIoe+Jg4jIkBnyKSuAq+oSEdULJg8iItIYkwcREWnMkKfp\nAkweRET1gj0PIiLSmCGvqAsweRAR1Qv2PIiISGOGnjxqXBhR3/EiQSIyROXlQOPGQH4+YGGh++Nr\n9SJBIiLSjjt3ALm8fhJHXWHyICLSMUOfpgsweRAR6Zyhj3cATB5ERDpn6NN0ASYPIiKdY8+DiIg0\nxuRBREQaY/IgIiKNcbYVERFpjD0PIiLSiBBMHkREpKGCgoq/5fL6jaO2tJo8YmNj4enpifbt22PZ\nsmXV7vPWW2+hffv28PHxQVJSkkZljV18fHx9h6BVbJ/hMua2AdptX2WvQybT2iF0QmvJo6ysDNOn\nT0dsbCzOnTuHbdu24fz58wr7xMTE4PLly7h06RK+/vprTJ06Ve2yDQH/gxo2Y26fMbcN0E3yMHRa\nSx6JiYlwd3eHq6srzM3NMWbMGERHRyvss3fvXkyYMAEA0KNHD9y7dw9ZWVlqlSUiMkTGkjzMtFVx\nRkYGnJ2dpcdOTk44ceKEyn0yMjJw8+ZNlWUrjRhRx4HrkYsXgZMn6zsK7WH7DJcxtw3QbvvS0oBn\nntFO3bqkteQhU/OEXm3XlN+/38BPHKpw8eKC+g5Bq9g+w2XMbQO0276//wY+/1xr1euE1pKHo6Mj\n0tPTpcfp6elwcnKqcZ8bN27AyckJJSUlKssCtU88RET0ZLQ25uHv749Lly4hLS0NxcXF2L59O0JC\nQhT2CQkJwaZNmwAAx48fh42NDVq1aqVWWSIiqj9a63mYmZkhKioKQUFBKCsrQ1hYGDp27Ig1a9YA\nAKZMmYKhQ4ciJiYG7u7uaNasGTZs2FBjWSIi0hNCTx04cEB4eHgId3d3sXTp0mr3efPNN4W7u7vw\n9vYWp06d0qhsfatN+9q0aSO6dOkifH19Rbdu3XQVstpUte38+fOiZ8+ewsLCQqxYsUKjsvqgNu3T\n9/dOCNXt27Jli/D29hZdunQRvXv3FqdPn1a7rD6oTfuM4f3bs2eP8Pb2Fr6+vqJr167i8OHDapd9\nlF4mj9LSUtGuXTuRmpoqiouLhY+Pjzh37pzCPj/99JMIDg4WQghx/Phx0aNHD7XL1rfatE8IIVxd\nXcWdO3d0GrO61Gnb7du3xR9//CEiIiIUvlyN5b1T1j4h9Pu9E0K99v3+++/i3r17QoiKLxtj+7+n\nrH1CGMf7V1BQIP07OTlZtGvXTu2yj9LL5UmM/RqRJ23frVu3pO1CTycLqNM2e3t7+Pv7w9zcXOOy\n9a027aukr+8doF77evXqBWtrawAVn80bN26oXba+1aZ9lQz9/WvWrJn074KCArRo0ULtso/Sy+Sh\n7PoPdfap7hqRx8vWt9q0D6iYBj148GD4+/tj7dq1uglaTeq0TRtldaW2Merzewdo3r5169Zh6NCh\nT1S2PtSmfYDxvH979uxBx44dERwcjM//O2dY09dGawPmtaGra0TqS23b99tvv8HBwQHZ2dkIDAyE\np6cn+vXrV5chPjF121bXZXWltjEmJCSgdevWevneAZq175dffsH69euRkJCgcdn6Upv2Acbz/j3/\n/PN4/vnn8euvv2L8+PFISUnR+Fh62fOozTUi6pStb0/aPkdHRwCAg4MDgIrTIyNHjkRiYqIOolZP\nbV5/Y3nvatL6v+tS6ON7B6jfvuTkZISHh2Pv3r2wtbXVqGx9qk37AON5/yr169cPpaWluHv3Lpyc\nnDR7/+p8xKYOlJSUCDc3N5GamioePnyockD52LFj0qCWOmXrW23aV1hYKPLy8oQQFQNfvXv3FgcP\nHtRtA2qgyes/f/58hQFlY3nvKj3ePn1/74RQr33Xrl0T7dq1E8eOHdO4bH2rTfuM5f27fPmyKC8v\nF0IIcfLkSeHm5qZ22UfpZfIQQoiYmBjRoUMH0a5dO7FkyRIhhBBfffWV+Oqrr6R93njjDdGuXTvh\n7e0tTp48WWNZffOk7bty5Yrw8fERPj4+wsvLSy/bp6ptmZmZwsnJSVhZWQkbGxvh7Ows8vPzlZbV\nN0/aPkN474RQ3b6wsDDRvHlz4evrW2XKqjG8f8raZyzv37Jly4SXl5fw9fUVffv2FYmJiTWWVUYm\nhIEOHBARUb3RyzEPIiLSb0weRESkMSYPIiLSGJMHERFpjMmjAUtPT4ebmxtycnIAADk5OXBzc8P1\n69fVriM+Ph4mJiZYt26d9Nxff/0FExMTrFy5ssay8+fPx+HDh5Vuj46O1vt7158+fRoHDhyoVR1L\nlixRuU9ZWRn8/f3x66+/Ss89++yz2Llzp/R48ODByM/PR1paGrp06aJxHEuXLsXWrVvx2muvKdSr\nyt69e7Fw4UKNj0eGjcmjAXN2dsbUqVMxe/ZsAMDs2bMxZcoUuLi4qF2HTCZD586d8cMPP0jPbdu2\nDT4+Piqvdl2wYAEGDRqkdPvu3btx7tw5tWMBgNLSUo32r62kpCTExMTUqo5///vfKvcxNTXF6tWr\nMX36dJSWlmLbtm0wMzPDCy+8AAD4z3/+Aw8PD8jl8ieOIy4uDs8++6zG5UaMGIGdO3eipKTkiY9d\nncofNaSfmDwauH/96184fvw4Pv30U/z++++YOXOmxnW0adMGDx8+xO3btyGEwMGDBxEcHCwtr/LX\nX3+hZ8+e8PHxQWhoKO7duwcAmDhxovQLd/bs2fDy8oKPjw/ee+89HDt2DPv27cN7772Hrl274urV\nqwgICMDJ/95Y+p9//kHbtm0BABs3bkRISAgGDRqEwMBA3L9/H5MmTUKPHj3QtWtX7N27t9q4ly1b\nBm9vb/j6+mLOnDk1xhoQEIDZs2ejR48e8PDwwG+//YaSkhJ8+OGH2L59O/z8/LBjxw4UFhZWe+yN\nGzciNDQUwcHB6NChA95//32p3UVFRfDz88P48eNrfJ27d++OXr16Yf78+YiIiEBUVJS0bevWrXju\nueeqlLl69Sq6du2KkydP4v79+3jxxRfh5eWF0NBQ9OzZU3o98/LyUFxcLC2SV5n4582bh9deew3l\n5eWIiYlBx44d4e/vj7feegsjRoyQ9u3Vqxfi4uJqjF9TI0eOxHPPPYd9+/bp/EcBqUE7l6mQIYmN\njRUymUwcOnRI47Lx8fFi+PDhYtWqVSIqKkokJCSI1157TURGRkpXV3fp0kUcPXpUCCHEhx9+KN55\n5x0hhBATJ04UO3fuFP/884/w8PCQ6szNzVXYXikgIEC6WDI7O1u4uroKIYTYsGGDcHJyEjk5OUII\nIebMmSO2bNkihBAiJydHdOjQQRQWFirEHRMTI3r37i2Kioqk/WqKNSAgQMycOVMqO3jwYCGEEBs3\nbhRvvvmmVK+yY2/YsEG4ubmJvLw88eDBA9GmTRtx48YNIYQQlpaWar/ed+/eFU2bNhVz585VeN7T\n01NaKjw1NVV07txZpKSkCD8/P5GcnCyEEOLjjz8Wr7/+uhBCiL///luYmZlJr+fOnTvF/Pnzpdf9\nxx9/FDNnzhRTp04VQghRVFQknJ2dRVpamhBCiLFjx4oRI0ZIx1+/fr2YNWuW2u1QV3x8vHj11VdF\n+/btxQcffCAuX75c58egJ8OeB+HAgQNwcHDAmTNnNC4r/tu7GD16NH744Qds27YNY8eOlbbn5eUh\nNzdXWjxuwoQJOHr0qEIdNjY2aNy4McLCwrB79240adKkSv2qBAYGwsbGBkDF6ZelS5fCz88PAwcO\nxMOHDxXW7AGAw4cPY9KkSWjcuLEUQ25ubo2xhoaGAgC6du2KtLQ0Kb5HY6zu2NevX4dMJsOgQYMg\nl8thYWGBTp064dq1a2q17VFHjhyBjY1Nlffq5s2baN68ufT49u3beP7557F161Zp/CMhIQFjxowB\nAHh5ecHb21vav7K3WNmmhQsXIi8vD6tXrwYApKSkwM3NDW3atAEAjB07VqHdDg4O0mtSlwYMGIBv\nv/1W6iF5enpi9+7ddX4c0hyTRwP3119/4dChQzh27Bg++eQTZGVl4caNG/Dz84Ofnx/WrFmD1atX\nw8/PD127dkVWVla19bRq1QqNGjXCoUOHpHGM6sY8Hk8GQgiYmpoiMTERo0aNwv79+zFkyBBp+6N1\nmJmZoby8HADw4MEDhXoevUcBAOzatQtJSUlISkpCWloaPDw8VMaiaruFhQWAivGHmk6jPH5sT09P\nhfLq1FGdwsJCvP/++/jll19w+/btGgfqbWxs0KZNG4UB9uraVCkxMRHdu3cHUPGad+vWDSdPnpTG\nHR5/Lx+vp7y8vNr3e8iQIfDz88PkyZORmJgofa727duHuXPnSp+r8vJy+Pr6ws/PD5GRkVL5oqIi\nbN26FaGhofj555/x+eefY/DgwcpfJNIZvVySnXRDCIGpU6fis88+g7OzM9577z3MnDkTW7ZsQVJS\nksK+06ZNU1nfRx99hOzsbJiYmEi/yK2srGBra4vffvsNffv2xebNmxEQEKBQrrCwEIWFhQgODkbv\n3r3Rrl07AIBcLkdeXp60n6urK/7880/4+/vjxx9/VBpHUFAQPv/8c6xatQpAxaC2n5+fwj6BgYH4\n6KOP8PLLL6NJkybIycmBra2tylgfZ2Vlhfz8fJXHrilRmZubo7S0FGZmFf8dBw0ahC1btkgruFb6\n6KOP8NJLL6FDhw5YvXo1xowZg2eeeQYWFhZwcHDAnTt3YGdnBwBo1KgRdu3ahaCgIFhaWmLs2LHo\n06cPfvjhBwQEBODcuXNS7+Xs2bPw9PRU+PIfMmQIgoKCMGzYMMTFxaFDhw64evUqrl27hjZt2mD7\n9u0KsWVmZkq9kkfFxsYqPH70czVixAgsWrRIevzXX38p7Dtr1iz8+OOPGD58OFasWAEfHx+lryHp\nHnseDdjatWvh6uoq9RSmTZuG8+fPV/m1WhOZTCZ96fTq1QshISFVnv/222/x3nvvwcfHB8nJyfjw\nww8Vyufn52PEiBHw8fFBv3798MknnwAAxowZg48//hhPP/00UlNTMXPmTHz55Zfo2rUr7ty5I9X/\n6LGAikHekpISeHt7o3Pnzpg/f36VuIOCghASEgJ/f3/4+flJ04privXxdgPAwIEDce7cOWnAXNmx\nH4/xUZMnT4a3tzfGjx8PIQSuXLmicAoKqPiCj46ORkREBADA19cXQUFBWL58OQCgb9+++PPPPxXi\na9q0Kfbv349PPvkE+/fvx7Rp05CdnQ0vLy/MmzcPXl5esLKywoEDB6RTVo+WHzVqFMLDwxESEgKZ\nTIbVq1djyJAh8Pf3h5WVlXS3PaCi59K/f/9q2/ekBg4ciJSUFHz++edMHHqICyMS6ZGzZ89iw4YN\nWLFihUbl4uPjsX37dnz55ZdK9ykvL0dJSQksLCxw5coVPPvss0hJScGwYcOwefNmtGrVqsZjFBYW\nSqcH33jjDXTo0AFvv/02ysvL0bVrV/z5559S74mMH5MHkZEYPHgwdu/erfRaj/z8fDzzzDMoKSmB\nEALLly9HUFCQ2vV/+umn+Pbbb1FcXIyuXbti7dq1aNy4Mfbu3Yvk5GTMnTu3rppCBoDJg4iINMYx\nDyIi0hiTBxERaYzJg4iINMbkQUREGmPyICIijTF5EBGRxv4/HZ7dGt96UjsAAAAASUVORK5CYII=\n"
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.5.b "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "# Variable Declaration \n",
+ "#part(ii)\n",
+ "w1=4.934; #weight after two hours\n",
+ "w0=5.314; #initial weight \n",
+ "w2=w0-w1; # water evaporated in 2 hrs\n",
+ "H1=.01; #humidty of incoming air\n",
+ "H2=.03; #humidity of leaving air\n",
+ "yout=.03;\n",
+ "yin=.01;\n",
+ "\n",
+ "# Calculation \n",
+ "Gs=w2/(yout- yin); #water carried away\n",
+ "\n",
+ " # Result\n",
+ "print \"\\n the amount of air required in 2hours is :%f kg\"%Gs\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the amount of air required in 2hours is :19.000000 kg\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.5.c "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "# Variable Declaration \n",
+ "#part(iii)\n",
+ "#let us choose the consistency of 11 and 13 readings\n",
+ "Xbar=0; #equillibrium moisture content\n",
+ "Ls=4.12; #mass of bone dry solid ais the drying surface\n",
+ "A=1.; #both upper surafce and lower surface are exposed\n",
+ "Nc=0.19; #in kg/m**2*hr\n",
+ "X1=.098; #moisture content on dry basis intially\n",
+ "Xcr=.11; #kg moisture per kg dry solid\n",
+ "X2=0.074; #moisture content on dry basis finally\n",
+ "# Calculation \n",
+ "import math\n",
+ "tfall=(Ls/(A*Nc))*((Xcr-Xbar)*math.log((X1-Xbar)/(X2-Xbar)));\n",
+ "\n",
+ "# Result\n",
+ "print \"\\n from this data we get time as :%f hour\"%tfall\n",
+ "print \"\\n the actual time is 0.8 hours\"\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " from this data we get time as :0.670026 hour\n",
+ "\n",
+ " the actual time is 0.8 hours\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.6"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "# Variable Declaration \n",
+ "Xcr=0.55; #crtical moisture content\n",
+ "X1=1; #moisture content on dry basis intially\n",
+ "X2=.1; #moisture content on dry basis finally after drying\n",
+ "Xbar=.06; #equillibrium moisture \n",
+ "#since eqn 1 is tobe divided by eqn 2 so let the value of Ls/A*Nc be = 1 as it will be cancelled \n",
+ "p=1; #let Ls/A*Nc be =p\n",
+ "#p=poly([0],'p'); #calc. of time 1\n",
+ "tbar=1; #since the eqns are independent of tbar\n",
+ "\n",
+ "# Calculation \n",
+ "import math\n",
+ "t1=0.5960514 #roots(tbar- p*((X1-Xcr)+(Xcr-Xbar)*math.log((Xcr-Xbar)/(X2-Xbar)))); #------eqn1\n",
+ "X2bar=.16; \n",
+ "#p=poly([0],'p'); #calc. of time 2\n",
+ "t2=0.8138516 #roots(tbar- p*((X1-Xcr)+(Xcr-Xbar)*math.log((Xcr-Xbar)/(X2bar-Xbar))));#------eqn2\n",
+ "\n",
+ "#let t1/t2 be = k\n",
+ "k=t1/t2;\n",
+ "ans=1./k-1; #reduction in time for drying \n",
+ "\n",
+ "# Result\n",
+ "print \"\\n the reduction in time for drying is :%f percent\"%(ans*100)\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the reduction in time for drying is :36.540506 percent\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.7 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Ls/ A*Nc is unknown;\n",
+ "# Variable Declaration \n",
+ "Xcr=0.14; #crtical moisture content\n",
+ "X1=.3/(1-.3); #moisture content on dry basis intially\n",
+ "X2=0.1/(1-0.1); #moisture content on dry basis finally after drying\n",
+ "Xbar=.04; #equillibrium moisture \n",
+ "tbar=5; #time needed to dry from 30 to 6 percent on bone dry basis\n",
+ "\n",
+ "#let Ls / A*Nc be = p\n",
+ "#p=poly([0],'p'); #calc. of Ls / A*Nc be = p value\n",
+ "# Calculation and Result\n",
+ "x= 15.495992 #roots(tbar-p * ((X1-Xcr)+(Xcr-Xbar)*log((Xcr-Xbar)/(X2-Xbar))));\n",
+ "print \"\\n the value of Ls/ A*Nc is :%f\"%x\n",
+ "import math\n",
+ "#new X1 AND X2 are now given as follows\n",
+ "X1=0.3/(1-.3); #new moisture content on dry basis intially\n",
+ "X2=0.064; #new moisture content on dry basis finally after drying\n",
+ "tbar=x * ((X1-Xcr)+(Xcr-Xbar)*math.log((Xcr-Xbar)/(X2-Xbar)));\n",
+ "print \"\\n the time for drying the sheets from 30 to 6 percent moisture under same drying conditions is :%f hr\"%tbar\n",
+ "\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the value of Ls/ A*Nc is :15.495992\n",
+ "\n",
+ " the time for drying the sheets from 30 to 6 percent moisture under same drying conditions is :6.683159 hr\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.8.a"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "# Variable Declaration \n",
+ "Ls=1000.; #mass of bone dry solid ais the drying surface\n",
+ "A=55.; #both upper surafce and lower surface are exposed\n",
+ "v=.75; #velocity of air\n",
+ "Nc=.3*10**-3; #in kg/m**2*s\n",
+ "x2=.2; #moisture content on wet basis finally after drying\n",
+ "Xcr=0.125; #crtical moisture content\n",
+ "X1=0.15; #moisture content on dry basis intially\n",
+ "X2=0.025; #moisture content on dry basis finally after drying\n",
+ "Xbar=0.0; #equillibrium moisture \n",
+ "import math\n",
+ "\n",
+ " # Calculation \n",
+ "tbar=(Ls/(A*Nc))*((X1-Xcr)+(Xcr-Xbar)*math.log((Xcr-Xbar)/(X2-Xbar)));\n",
+ "\n",
+ "# Result\n",
+ "print \"the time for drying the sheets from .15 to .025 kg water /kg of dyr solid moisture under same drying conditions is :%f hour\"%(tbar/3600);\n",
+ "\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "the time for drying the sheets from .15 to .025 kg water /kg of dyr solid moisture under same drying conditions is :3.807740 hour\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.8.b "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "# Variable Declaration \n",
+ "Ls=1000.; #mass of bone dry solid ais the drying surface\n",
+ "A=55.; #both upper surafce and lower surface are exposed\n",
+ "v=.75; #velocity of air\n",
+ "Nc=.3*10**-3; #in kg/m**2*s\n",
+ "x2=.2; #moisture content on wet basis finally after drying\n",
+ "Xcr=0.125; #crtical moisture content\n",
+ "X1=0.15; #moisture content on dry basis intially\n",
+ "X2=0.025; #moisture content on dry basis finally after drying\n",
+ "Xbar=0.0; #equillibrium moisture \n",
+ "tbar=3.8077; #time to dry material ,calculated from previous part\n",
+ "V1=.75; #old velocity\n",
+ "V2=4.; #new velocity\n",
+ "import math\n",
+ "\n",
+ "# Calculation \n",
+ "Nc2=Nc*(V2/V1)**.71; #in kg/m**2*s\n",
+ "t2=(Ls/(A*Nc2))*((X1-Xcr)+(Xcr-Xbar)*math.log((Xcr-Xbar)/(X2-Xbar))); #if air velocity is increased to 4\n",
+ "t=tbar-t2/3600; #time saved\n",
+ "\n",
+ "# Result\n",
+ "print \"\\n the time saved , if air velocity is increased to 4 m/s: %f\"%t\n",
+ "\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the time saved , if air velocity is increased to 4 m/s: 2.647593\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.9 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "x1=.75; #moisture content on wet basis\n",
+ "xbar=0.1; #equilllibrium moisture on dry basis\n",
+ "xcr=0.6; #critical moisture content\n",
+ "Ls=0.90; #mass of bone dry solid ais the drying surface\n",
+ "A=0.3*0.3*2; #both upper surafce and lower surface are exposed\n",
+ "#A*Nc=10**-4;\n",
+ "x2=.2; #moisture content on wet basis finally after drying\n",
+ "\n",
+ "# Calculation \n",
+ "Xcr=0.6/0.4; #crtical moisture content\n",
+ "X1=3; #moisture content on dry basis intially\n",
+ "X2=0.25; #moisture content on dry basis finally after drying\n",
+ "Xbar=0.1/0.9; #equillibrium moisture \n",
+ "import math\n",
+ "tbar=Ls/(10**-4) * ((X1-Xcr)+(Xcr-Xbar)*math.log((Xcr-Xbar)/(X2-Xbar)));\n",
+ "\n",
+ "# Result \n",
+ "print \"\\n the time for drying the sheets from 75 to 25 percent moisture under same drying conditions is :%f hr\"%(tbar/3600);\n",
+ "\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the time for drying the sheets from 75 to 25 percent moisture under same drying conditions is :11.745087 hr\n"
+ ]
+ }
+ ],
+ "prompt_number": 34
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.10 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "# Variable Declaration \n",
+ "Xcr=0.16; #crtical moisture content\n",
+ "X1=.33; #moisture content on dry basis intially\n",
+ "X2=0.09; #moisture content on dry basis finally after drying\n",
+ "Xbar=.05; #equillibrium moisture \n",
+ "tbar=7; #time needed to dry from 33 to 9 percent on bone dry basis\n",
+ "import math\n",
+ "#let Ls / A*Nc be = p\n",
+ "#p=poly([0],'p'); #calc. of Ls / A*Nc be = p value\n",
+ "# Calculation \n",
+ "x= 24.886579 #roots(tbar-p * ((X1-Xcr)+(Xcr-Xbar)*math.log((Xcr-Xbar)/(X2-Xbar))));\n",
+ "\n",
+ "#new X1 AND X2 are now given as follows\n",
+ "X1=0.37; #new moisture content on dry basis intially\n",
+ "X2=0.07; #new moisture content on dry basis finally after drying\n",
+ "tbar=x * ((X1-Xcr)+(Xcr-Xbar)*math.log((Xcr-Xbar)/(X2-Xbar)));\n",
+ "\n",
+ "# Result\n",
+ "print \"\\n the time for drying the sheets from 33 to 9 percent moisture under same drying conditions is :%f hr\"%tbar\n",
+ "\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the time for drying the sheets from 33 to 9 percent moisture under same drying conditions is :9.892970 hr\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.11 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "# Variable Declaration \n",
+ "d=.22; #density of dry pulp in g/cc;\n",
+ "x1=.65; #moisture content on wet basis\n",
+ "x2=.3; #moisture content on wet basis\n",
+ "Ls=2.5; #mass of bone dry solid ais the drying surface in kg\n",
+ "A=1.5*1.5*2; #both upper surafce and lower surface are exposed\n",
+ "v=1.5*1.5*.5; #volume of material\n",
+ "Nc=1.4; #in kg/m**2*hr\n",
+ "Xcr=1.67; #crtical moisture content\n",
+ "# Calculation \n",
+ "X1=x1/(1-x1); #moisture content on dry basis intially\n",
+ "X2=x2/(1-x2); #moisture content on dry basis finally after drying\n",
+ "Xbar=0.0; #equillibrium moisture \n",
+ "import math\n",
+ "\n",
+ "tbar=(Ls/(A*Nc))*((X1-Xcr)+(Xcr-Xbar)*math.log((Xcr-Xbar)/(X2-Xbar)));\n",
+ "\n",
+ "# Result\n",
+ "print \"\\n the time for drying the sheets from 65 to 30 percent moisture under same drying conditions is :%f hour\"%tbar\n",
+ "\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the time for drying the sheets from 65 to 30 percent moisture under same drying conditions is :0.975613 hour\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.12"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# Variable Declaration \n",
+ "d=.22; #density of dry pulp in g/cc;\n",
+ "\n",
+ "Ls=1.125*10**-2*.22*10**3; #mass of bone dry solid ais the drying surface\n",
+ "A=1.5*1.5*2; #both upper surafce and lower surface are exposed\n",
+ "v=1.5*1.5*.5; #volume of material\n",
+ "Nc=1.4; #in kg/m**2*hr\n",
+ "x2=.2; #moisture content on wet basis finally after drying\n",
+ "Xcr=0.46; #crtical moisture content\n",
+ "X1=0.15; #moisture content on dry basis intially\n",
+ "X2=0.085; #moisture content on dry basis finally after drying\n",
+ "Xbar=0.025; #equillibrium moisture \n",
+ "import math\n",
+ "#tbar=(Ls/(A*Nc))*((Xcr-Xbar)*log((Xcr-Xbar)/(X2-Xbar)));\n",
+ "\n",
+ "\n",
+ "# Calculation \n",
+ "tbar=(Ls/(A*Nc))*((Xcr-Xbar)*math.log((X1-Xbar)/(X2-Xbar)));\n",
+ "\n",
+ "# Result\n",
+ "print \"\\n the time for drying the sheets from 15 to 8.5 percent moisture under same drying conditions is :%f min\"%(tbar*60)\n",
+ "\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the time for drying the sheets from 15 to 8.5 percent moisture under same drying conditions is :7.525805 min\n"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.13"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "# Variable Declaration \n",
+ "import math\n",
+ "Xcr=0.14; #crtical moisture content\n",
+ "x1=0.3; #moisture content on wet basis\n",
+ "x2=0.1; #moisture content on wet basis\n",
+ "X1=x1/(1-x1); #moisture content on dry basis intially\n",
+ "X2=x2/(1-x2); #moisture content on dry basis finally after drying\n",
+ "Xbar=0.04; #equillibrium moisture \n",
+ "tbar=5; #time needed to dry from 30 to 10 percent on bone dry basis\n",
+ "\n",
+ " #let Ls / A*Nc be = p\n",
+ "#p=poly([0],'p'); #calc. of Ls / A*Nc be = p value\n",
+ "x= 15.495992 #roots(tbar-p * ((X1-Xcr)+(Xcr-Xbar)*math.log((Xcr-Xbar)/(X2-Xbar))));\n",
+ "\n",
+ "#new X1 AND X2 are now given as follows\n",
+ "# Calculation \n",
+ "x1=.3; #new moisture content on wet basis\n",
+ "x2=0.06; #new moisture content on wet basis\n",
+ "X1=x1/(1-x1); #new moisture content on dry basis intially\n",
+ "X2=x2/(1-x2); #new moisture content on dry basis finally after drying\n",
+ "tbar=x * ((X1-Xcr)+(Xcr-Xbar)*math.log((Xcr-Xbar)/(X2-Xbar)));\n",
+ "\n",
+ "# Result\n",
+ "print \"\\n the time for drying the sheets from 30 to 10 percent moisture under same drying conditions is :%f hr\"%tbar\n",
+ "\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the time for drying the sheets from 30 to 10 percent moisture under same drying conditions is :6.694188 hr\n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.14"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "d=450.; #density of dry pulp in kg/m**3;\n",
+ "thickness=0.05; #thickness in m**2\n",
+ "Ls=d*thickness; #mass of bone dry solid ais the drying surface\n",
+ "A=1.; #area in m**2\n",
+ "v=1*5*10**-2; #volume of material\n",
+ "Nc=4.8; #in kg/m**2*hr\n",
+ "xcr=.2;\n",
+ "xbar=0.02;\n",
+ "x1=.45; #new moisture content on wet basis\n",
+ "x2=0.05; #new moisture content on wet basis\n",
+ "\n",
+ "# Calculation \n",
+ "X1=x1/(1-x1); #new moisture content on dry basis intially\n",
+ "X2=x2/(1-x2); #new moisture content on dry basis finally after drying\n",
+ "Xbar=xbar/(1-xbar); #crtical moisture content\n",
+ "Xcr=xcr/(1-xcr); #equillibrium moisture \n",
+ "import math\n",
+ "#tbar=(Ls/(A*Nc))*((Xcr-Xbar)*log((Xcr-Xbar)/(X2-Xbar)));\n",
+ "\n",
+ "tbar=Ls/(A*Nc) * ((X1-Xcr)+(Xcr-Xbar)*math.log((Xcr-Xbar)/(X2-Xbar)));\n",
+ "\n",
+ "# Result\n",
+ "print \"\\n the time for drying the sheets from 45 to 5 percent moisture under same drying conditions is :%f min\"%tbar\n",
+ "\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the time for drying the sheets from 45 to 5 percent moisture under same drying conditions is :4.776612 min\n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.15"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "# Variable Declaration \n",
+ "t1=20.; #ambient air temperature \n",
+ "t2=70.; #exhaust air temperature \n",
+ "r1=150.; #evaporation of water \n",
+ "r2=.25; #outlet solid moisture content\n",
+ "t3=15.; #inlet solid temperature\n",
+ "t4=65.; #outlet solid temperature\n",
+ "p=5.; #power demand in KW\n",
+ "h=18.; #heat loss in kj\n",
+ "\n",
+ "h1=1.; #mean specific heat of dry air in kj/kg*K\n",
+ "h2=1.25; #mean specific heat of dry material in kj/kg*K\n",
+ "h3=4.18; #mean specific heat of moisture in kj/kg*K\n",
+ "e=2626.; #enthalpy of saturated water vapour in kj/kg\n",
+ "\n",
+ "# Calculation \n",
+ " #basis is 1hr\n",
+ "a1=r1*h3*(t4-t3); #heat required for heating 150 kg of water from 15 to 65\n",
+ "a2=r1*e; #heat required for 150 kg water evaporation\n",
+ "a3=2000*h1*(t2-t1); #heat required for heating air from 20 to 70 \n",
+ "a4=r2*h3*(t4-t3); #heat required for heating moisture from 15 to 65\n",
+ "a5=120*h2*(t4-t3); #heat required for heating dry solid from 15 to 65\n",
+ "hlost=h*3600; #heat lost in kj\n",
+ "total=(a2+a3+a4+a5+hlost)/3600.; #total heat lost \n",
+ "\n",
+ "# Result\n",
+ "print \"\\n :%f kW of heat required for 2000kg/hr of dry air\"%total\n",
+ "ans1=a2+a1; #heat needed for evaporation \n",
+ "print \"\\n heat needed fro evaporation is :%f\"%(ans1/3600)\n",
+ "ans2=(ans1/3600.)/total; #fraction of this heat needed for evaporation\n",
+ "print \"\\n fraction of this heat needed for evaporation:%f\"%(ans2)\n",
+ " \n",
+ "\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " :157.292292 kW of heat required for 2000kg/hr of dry air\n",
+ "\n",
+ " heat needed fro evaporation is :118.125000\n",
+ "\n",
+ " fraction of this heat needed for evaporation:0.750990\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.16"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "m1=.12; #initial moisture content\n",
+ "dT=85.; #product of 85 degree is used in design purpose\n",
+ "U=1700.; #overall heat transfer coefficient\n",
+ "m2=.4; #final moisture content\n",
+ "r=20.; #production rate\n",
+ " #4 kg of moisture is present in 100 kg product\n",
+ "# Calculation \n",
+ "t=4*20./100; # moisture content in 20 kg moisture\n",
+ "w=20-t; #dry solid weight\n",
+ "i=w*m1/(1-m1); #initial moisture content \n",
+ "j=i-t #water evaporated\n",
+ "ds=2296.1; #latent heat for vaporisation at 85 degree in kj/kg\n",
+ "h=j*ds; #heat required (assuming th esolid mix. enters at 85)\n",
+ "#U*A*dT = j*ds\n",
+ "A=h/(U*dT); #surface area of the roller required to produce aproduction rate of 20 kg product per hour\n",
+ "\n",
+ "# Result \n",
+ "print \"\\n surface area of the roller required to produce aproduction rate of 20 kg product per hour:%f m**2\"%(A/3.600);\n",
+ "\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " surface area of the roller required to produce aproduction rate of 20 kg product per hour:0.008025 m**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 41
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.17"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "\n",
+ "# Variable Declaration \n",
+ "r=7.5*10**-5; #constant drying rate in kg/s\n",
+ "A1=.3*.3**2; # area of the sppecimen\n",
+ "Nc=r/A1; #drying rate\n",
+ "# Calculation \n",
+ "Xcr=.15/0.85; #.15 is the critical moisture content\n",
+ "Xo=.25/.75; #.25 is the initial moisture content\n",
+ "Xfinal=.02/0.98; #.02 is the final moisture content\n",
+ "Xbar=0; #equillibrium moisture content\n",
+ "A=1.2*.6*2; #area of the new solid\n",
+ "Ls=28.8; #bone dry weight of new solid\n",
+ "v1=.3*.3*.006; #volume of the old solid;\n",
+ "v2=.6*1.2*.012; #volume of the new solid\n",
+ "w2=1.8; #weight of the old solid\n",
+ "w3=864*10**-5*1.8*10**-5/54; #weight of the bone dry solid\n",
+ "\n",
+ " #Nc is prporional to =(t-ts) = (G)**0.71---- whrere G is the mass flow rate\n",
+ "v1=3.; #old velocity\n",
+ "Tg=52.; #old dry bulb temperature\n",
+ "Tw=21.; #wet bulb temperature\n",
+ "H=.002; #humidity \n",
+ "SH=0.015; #saturated humidity \n",
+ "vnew=5. #new velocity\n",
+ "Tgnew=66.; #new DBT\n",
+ "Twnew=24.; #new WBT\n",
+ "Hnew=.004; #new humidity\n",
+ "SH=.020; #new satuurated humidity\n",
+ "import math \n",
+ "#hence drying rate of air under new condition\n",
+ "Nc=4.167*10**-4*((vnew/v1)*(273+Tg)/(273+Tgnew))**0.71 * ((.019-H)/(.015-H));#drying rate of air under new condition in kg/m**2*s \n",
+ "DT=Ls/(A*Nc) * ((Xo-Xcr)+(Xcr-Xbar)*math.log((Xcr-Xbar)/(Xfinal-Xbar)));\n",
+ "\n",
+ "# Result\n",
+ "print \"\\n the time for drying the sheets from 25 to 2 percent moisture under same drying conditions is :%f hours\"%(DT/3600)\n",
+ "\n",
+ "\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the time for drying the sheets from 25 to 2 percent moisture under same drying conditions is :3.929236 hours\n"
+ ]
+ }
+ ],
+ "prompt_number": 42
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Elements_Of_Mass_Transfer_Part_1/ch7.ipynb b/Elements_Of_Mass_Transfer_Part_1/ch7.ipynb
new file mode 100755
index 00000000..5e37db80
--- /dev/null
+++ b/Elements_Of_Mass_Transfer_Part_1/ch7.ipynb
@@ -0,0 +1,698 @@
+{
+ "metadata": {
+ "name": "ch7",
+ "signature": "sha256:9c280dff7f4e1d5ae99e0fbadb3fa83466c67b9a415e20bbef76992fab6df294"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 7 : Crystallisation"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.1 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "c=.498; #solute content afetr crystallisation\n",
+ "W1=111.; #molecular weight of CaCl2\n",
+ "W2=219.; #molecular weight of CaCl2.6H2O\n",
+ "\n",
+ "# Calculation \n",
+ "M1=(108./W2)*100; #water present in 100kg of CaCl2.6H2O\n",
+ "M2=(W1/W2)*100; #CaCl2 present in 100kg of CaCl2.6H20\n",
+ "#t=M2+c*x; #total weight entering the solubility\n",
+ "#x+49.3; total water solubility used\n",
+ "#s*(x+49.3)/100 #total Cacl2 after solubility\n",
+ "#x=poly([0],'x'); #calc. x the weight of crystal\n",
+ "t= 32.112871 #roots((M2+c*x)-(x+49.3)*.819); \n",
+ "\n",
+ "# Result\n",
+ "print \"\\nthe weight of water in the quantity of solution needed :%f kg\"%t\n",
+ "\n",
+ "h=(c)*t; #weight of CaCl2 corresponding to weight water\n",
+ "tw=t+h; # total weight of the solution\n",
+ "print \"\\nthe total weight of the solution is :%f kg\"%tw\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "the weight of water in the quantity of solution needed :32.112871 kg\n",
+ "\n",
+ "the total weight of the solution is :48.105081 kg\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.2 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "\n",
+ "#part(i)\n",
+ "w1=1000.; #weight of solution to be cooled\n",
+ "s1=104.1; #solubility at 50 degree per 100 kg of water\n",
+ "s2=78.0; #solubility at 10 degree per 100 kg of water\n",
+ "a2=45.; #percentage of sodium nitrate in the solution per 100kg of solution \n",
+ "\n",
+ "# Calculation \n",
+ "x1=s1/(100+s1)*100; #percentage of saturated solution at 50 degree\n",
+ "tw=(a2/(100-a2))/(x1/(100-x1)); #the percentage saturation\n",
+ "print \"\\nthe percentage saturation is :%f percent\"%(tw*100)\n",
+ "\n",
+ "#part(ii)\n",
+ "#let x be the weight of NaNO3 crystal formed after crystallisation\n",
+ "#x=poly([0],'x'); #calc. x the weight of crystal\n",
+ "t=21.000000 #roots((w1*a2/100)-(x+(w1-x)*s2/(100+s2)));\n",
+ "\n",
+ "# Result\n",
+ "print \"\\n the weight of NaNO3 crystal formed after crystallisation :%f kg\"%t\n",
+ "\n",
+ "#part(iii)\n",
+ "y=t/(a2*w1/100); #yield = weight of NaNO3 crystal formed/weight of NaNO3\n",
+ "print \"\\n the percentage yield is:%f percent\"%(y*100)\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "the percentage saturation is :78.595756 percent\n",
+ "\n",
+ " the weight of NaNO3 crystal formed after crystallisation :21.000000 kg\n",
+ "\n",
+ " the percentage yield is:4.666667 percent\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.3"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "\n",
+ "s1=19.75; #solubility at 70 degree per 100 gm of water\n",
+ "s2=16.5; #solubility at 50 degree per 100 gm of water\n",
+ "s3=12.97; #solubility at 30 degree per 100 gm of water\n",
+ "s4=9.22; #solubility at 10 degree per 100 gm of water\n",
+ "s5=7.34; #solubility at 0 degree per 100 gm of water\n",
+ "\n",
+ "# Calculation \n",
+ " #basis is 1000kg of saturated solution\n",
+ "w1=1000.*(s1/(s1+100)); #weight of K2SO4 in the original solution\n",
+ "w2=1000.-w1; #weight of water in kg\n",
+ "w3=w1*.5; #weight of K2SO4 in the solution\n",
+ "wp=w3/(w3+w2); #weight percent of K2SO4 in the solution after crystallistion\n",
+ "\n",
+ "# Result\n",
+ "print \"\\n for the corresponding temperature to :%f percent of K2SO4 is 15 degree (by linear interpolation between 10 to 30 degree) \"%(wp*100)\n",
+ "\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " for the corresponding temperature to :8.987486 percent of K2SO4 is 15 degree (by linear interpolation between 10 to 30 degree) \n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.4 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "\n",
+ "#part(i)\n",
+ "a1=146.; #solubility at 70 degree\n",
+ "a2=121.; #solubility at 10 degree\n",
+ "t1=58.; # percentage of solute content\n",
+ "t2=40.66;\n",
+ "\n",
+ "# Calculation and Result\n",
+ "x1=a1/(100+a1) *100; #percentage of saturated solution at 50 degree\n",
+ "tw=(t1/42.)/(x1/t2); #the percentage saturation\n",
+ "print \"\\nthe percentage saturation is :%f percent\"%(tw*100)\n",
+ "\n",
+ "#part(ii)\n",
+ "p1=2000*.58; #weight of solute in 200kg of solution 2000*.58\n",
+ "#let x be the weight of crystal formed after crystallisation\n",
+ "#x=poly([0],'x'); #calc. x the weight of crystal\n",
+ "t=231.743929 #roots((1160)-(x+(1055.02-.547*x))); \n",
+ "print \"\\n the weight of NaNO3 crystal formed after crystallisation :%f kg\"%t\n",
+ "\n",
+ "#part(iii)\n",
+ "y=t/p1; #yield = weight of NaNO3 crystal formed/weight of NaNO3\n",
+ "print \"\\n the percentage yield is:%f percent\"%(y*100)\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "the percentage saturation is :94.608102 percent\n",
+ "\n",
+ " the weight of NaNO3 crystal formed after crystallisation :231.743929 kg\n",
+ "\n",
+ " the percentage yield is:19.977925 percent\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.5"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "\n",
+ "p1=.3; #percentage of the solute in the solution\n",
+ "w1=1000.; #weight of the solution taken\n",
+ "w2=142.; #molecular weight of Na2SO4.\n",
+ "\n",
+ "# Calculation \n",
+ "M1=(w2/(180+w2)); #solute (Na2SO4) present in the Na2CO3.10H2O solution\n",
+ "s1=40.8; #solubility of Na2SO4 at 30 degree per 100 gm of water\n",
+ "s2=9.0; #solubility of Na2SO4 at 10 degree per 100 gm of water\n",
+ "#percent weight of solute in Na2SO4.10H2O= 144/322\n",
+ "#let x be the weight of crystal formed \n",
+ "#x=poly([0],'x'); #calc. x the weight of crystal\n",
+ "t= 576.477290 #roots((w1*40.8/140.8)-(.442*x+(w1-x)*(s2/(100+s2)))); \n",
+ "\n",
+ "# Result\n",
+ "print \"\\n the weight of crystal formed after crystallisation :%f kg\"%t\n",
+ "\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the weight of crystal formed after crystallisation :576.477290 kg\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.6 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "\n",
+ "s1=12.5; #solubility of Na2CO3 at 10 degree per 100 gm of water\n",
+ "p1=.3; #percentage of the solute in the solution\n",
+ "w1=2000.; #weight of the solution taken\n",
+ "w2=106.; #molecular weight of Na2CO3.\n",
+ "\n",
+ "# Calculation \n",
+ "M1=(w2/(180+w2)); #solute (Na2CO3) present in the Na2CO3.10H2O solution\n",
+ "#let x be the quantity of Na2CO3.10H2O crystal formed\n",
+ "#x=poly([0],'x'); #calc. x the weight of crystal\n",
+ "t= 1455.688623 #roots(w1*p1-M1*x-(w1-x)*(s1/(100+s1))); \n",
+ "\n",
+ "# Result\n",
+ "print \"\\n the weight of quantity of Na2CO3.10H2O :%f kg\"%t\n",
+ "#in the book the ans is wrong, they have calculated 2000*0.3-2000*12.5/112.5 as =x(miscalculation)\n",
+ "\n",
+ "p=(286./106)*w1*p1; #weight of Na2CO3.10H2O crystal present in the original solution\n",
+ "y=t/p; #percentage yield \n",
+ "print \"\\n percentage yield :%f percent\"%(y*100)\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the weight of quantity of Na2CO3.10H2O :1455.688623 kg\n",
+ "\n",
+ " percentage yield :89.920160 percent\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.7 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "s1=139.8; #solubility at 80 degree per 100 gm of water\n",
+ "s2=110.5; #solubility at 20 degree per 100 gm of water\n",
+ "w2=174.2; #molecular weight of K2CO3.10H2O\n",
+ "\n",
+ "# Calculation \n",
+ "M1=(138/w2)*100; #water present in 100kg of K2CO3.10H2O\n",
+ "#let x be the quantity of Na2CO3.10H2O\n",
+ "#x=poly([0],'x'); #calc. x the weight of crystal\n",
+ "t=108.634036 #roots(500*(139.8/239.8)-.7921*x-(500-x)*110.5/210.5); \n",
+ "\n",
+ "# Result\n",
+ "print \"\\n the weight of quantity of K2CO3.10H2O formed :%f kg\"%t\n",
+ "\n",
+ "p=(174./138)*500*(139.8/239.8); #weight of crystal present in the original solution\n",
+ "y=t/p; #percentage yield \n",
+ "print \"\\n percentage yield :%f percent\"%(y*100)\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the weight of quantity of K2CO3.10H2O formed :108.634036 kg\n",
+ "\n",
+ " percentage yield :29.557504 percent\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.8 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "\n",
+ "s1=20.51; #solubility at 10 degree per 100 gm of water\n",
+ "w2=277.85; #molecular weight of FeSO4.7H2O\n",
+ "\n",
+ "# Calculation and Result\n",
+ "#let x be the quantity of Na2CO3.10H2O\n",
+ "#x=poly([0],'x'); #calc. x the weight of crystal\n",
+ "t= 549.684973 #roots(900*.4-.5465*x-(900-x)*20.5/120.5); \n",
+ "print \"\\n the weight of quantity of FeSO4.7H2O formed :%f kg\"%t\n",
+ "\n",
+ "p=(277.85/151.85)*900*(0.4); #weight of crystal present in the original solution\n",
+ "y=t/p; #percentage yield \n",
+ "print \"\\n percentage yield :%f percent\"%(y*100)\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the weight of quantity of FeSO4.7H2O formed :549.684973 kg\n",
+ "\n",
+ " percentage yield :83.447967 percent\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.9"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#part(i)\n",
+ "a1=229.7; #solubility at 60 degree\n",
+ "a2=174.7; #solubility at 60 degree\n",
+ "t1=68; # percentage of sodium nitrate\n",
+ "t2=30.34;\n",
+ "\n",
+ "# Calculation and Result\n",
+ "x1=a1/329.7 *100; #percentage of saturated solution at 50 degree\n",
+ "tw=(t1/32.)/(x1/t2); #the percentage saturation\n",
+ "print \"\\nthe percentage saturation is :%f percent\"%(tw*100)\n",
+ "\n",
+ "#part(ii)\n",
+ "#let x be the weight of Cesium chloride crystal formed after crystallisation\n",
+ "#x=poly([0],'x'); #calc. x the weight of crystal\n",
+ "t=120.960000 #roots(1000*.68-(x+(1000-x)*174.7/274.7)); \n",
+ "print \"\\n the weight of CaCl2 crystal formed after crystallisation :%f kg\"%t\n",
+ "\n",
+ "#part(iii)\n",
+ "y=t/680.; #yield = weight of CaCl2 crystal formed/weight of CaCl2\n",
+ "print \"\\n the percentage yield of Cesium chloride is:%f percent\"%(y*100)\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "the percentage saturation is :92.540632 percent\n",
+ "\n",
+ " the weight of CaCl2 crystal formed after crystallisation :120.960000 kg\n",
+ "\n",
+ " the percentage yield of Cesium chloride is:17.788235 percent\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.10"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "\n",
+ "s1=38.8; #solubility at 30 degree per 100 gm of water\n",
+ "s2=12.5; #solubility at 10 degree per 100 gm of water\n",
+ "w2=296; #molecular weight of Na2CO3.10H2O\n",
+ "per=116./w2 *100; #percentage solute in Na2CO3.10H2O\n",
+ "\n",
+ "#let x be the quantity of Na2CO3.10H2O\n",
+ "w=200.; #original solotion weight\n",
+ "\n",
+ "# Calculation \n",
+ "m1=w*(s2/(s2+100)); #weight of Na2CO3.10H2O needed to dissolve Na2CO3 present in the original solotion \n",
+ "w3=w-m1; #weight of water \n",
+ "#w4=m1+per/100; weight of Na2CO3 after dissolution\n",
+ "x1=s1/(s1+100); #weight fraction of solute after dissolution \n",
+ "\n",
+ "# Result\n",
+ "print \"\\n the weight of quantity of Na2CO3.10H2O formed :%f kg\"%w3\n",
+ "\n",
+ "#for the total solution after dissolution\n",
+ "#x=poly([0],'x'); #calc. x the weight of crystal\n",
+ "t= 300.485784 #roots((m1+per*x/100)-((m1+per*x/100)+(w3+.609*x))*x1); \n",
+ "print \"\\nweight of Na2CO3.10H2O needed to dissolve Na2CO3 present in the original solution %f kg\"%t\n",
+ "\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the weight of quantity of Na2CO3.10H2O formed :177.777778 kg\n",
+ "\n",
+ "weight of Na2CO3.10H2O needed to dissolve Na2CO3 present in the original solution 300.485784 kg\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.11"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "\n",
+ "s1=35.; #percentage of solution\n",
+ "x1=6000.; #weight of Na2CO3 solution\n",
+ "s2=21.5; #solubility at 20 degree per 100 gm of water\n",
+ "w2=296.; #molecular weight of Na2CO3.10H2O\n",
+ "\n",
+ "# Calculation \n",
+ "per=116./w2 *100; #percentage solute in Na2CO3.10H2O\n",
+ "w1=s1*x1; #weight of solute\n",
+ "w3=x1*0.04; #weight of solution lost by vaporisation\n",
+ "#let x be the quantity of Na2CO3.10H2O formed \n",
+ "#making material balance \n",
+ "#x=poly([0],'x'); #calc. x the weight of crystal\n",
+ "t= 5049.122335 #roots(2100-(.391*x)-(6000-240-x)*(21.5/121.5)); \n",
+ "\n",
+ "# Result\n",
+ "print \"\\n the weight of Na2CO3.10H2O crystal formed after crystallisation :%f kg\"%t\n",
+ "\n",
+ "\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the weight of Na2CO3.10H2O crystal formed after crystallisation :5049.122335 kg\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.12"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "\n",
+ "C=1000.; #crystal formed in kg\n",
+ "hf=26.002; #enthalpy of the feed at 80 degree in cal/g\n",
+ "hl=-1.33; #enthalpy of the saturated sol at 30 degree in cal/g\n",
+ "hc=-50.56; #enthalpy of crystal\n",
+ "xf=40./(100+40);\n",
+ "xm=30./(100+30);\n",
+ "xc=151.84/277.85; #151.84 is the weight of FeSO4\n",
+ " #component balance\n",
+ "\n",
+ "Hf=26.002; #enthalpy of the feed at 80 degree in cal/g\n",
+ "Hv=612.; #\n",
+ "Hm=-1.33; #enthalpy of the saturated sol at 30 degree in cal/g\n",
+ "Hc=-50.56; #enthalpy of crystal leaving the crystalliser\n",
+ "from numpy import matrix\n",
+ "from numpy import linalg\n",
+ "#solving these we gt \n",
+ "\n",
+ "# Calculation \n",
+ "a=matrix([[1,-1,-1],[.286,-.231,0],[26.002,1.33,-612]])\n",
+ "b=matrix([[10000],[5470],[-505600]])\n",
+ "x=linalg.inv(a)*b; #solving out the values using matrices \n",
+ "t1=x[0]; #3 solution of the eqn\n",
+ "t2=x[1];\n",
+ "t3=x[2];\n",
+ "\n",
+ "# Result\n",
+ "print \"\\n the feed rate F= : %f kg/hr \\n value of M= : %f kg/hr\\n value of V=: %f kg/hr\"%(t1,t2,t3)\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " the feed rate F= : 45556.688340 kg/hr \n",
+ " value of M= : 32723.865218 kg/hr\n",
+ " value of V=: 2832.823122 kg/hr\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.13 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "\n",
+ "import math\n",
+ "C=800.; #crystal formed in kg/hr\n",
+ "t2=49.; #temp. of the entering fed\n",
+ "t1=27.; #temp. of the product\n",
+ "t3=21.; #temp. of the leaving cooling water\n",
+ "t4=15.; #temp. of the enetring cooling water\n",
+ "U=175.; #overall heat transfer coefficient\n",
+ "F=140*151.85/277.85; #feed concentration \n",
+ "xf=F/240; #concentration in feed solution\n",
+ "P=74*151.85/277.85; #product concentration \n",
+ "xm=P/174; #concentration of FeSO4 in product solution\n",
+ "xc=151.85/277.85; #\n",
+ " \n",
+ "# Calculation \n",
+ "#solving these we get\n",
+ "F=800*.3141/0.0866; #feed conc.\n",
+ "M=F-C; #product concentration \n",
+ " #making energy balance\n",
+ " #heat to be removed by cooling water =heat to be removed from solution + heat of crystallization\n",
+ "cp=.7; #specific heat capacity\n",
+ "dt=(t2-t1); #change in temp.\n",
+ "dh=15.8; #heat of crystallization\n",
+ "Q=F*cp*dt+dh*C; #heat to be removed by cooling water\n",
+ "cp=1; #specific heat capacity of water\n",
+ "dt=(t3-t4); #change in temp.\n",
+ "mw=Q/(cp*dt); #cooling water needed\n",
+ "\n",
+ "# Result \n",
+ "print \"\\n cooling water requiement is :%f kg/hr\"%mw\n",
+ " #Q=U*A*(dtlm)\n",
+ "dtlm=((t2-t3)-(t1-t4))/(math.log((t2-t3)/(t1-t4)));#log mean temp. difference\n",
+ "A=Q/(U*dtlm); #area of the crystallizer section\n",
+ "l=A/1.3;\n",
+ "print \"\\n length of crystallliser sections needed is :%f m\"%l\n",
+ "\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " cooling water requiement is :9554.149346 kg/hr\n",
+ "\n",
+ " length of crystallliser sections needed is :13.343753 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Elements_Of_Mass_Transfer_Part_1/screenshots/dry-time.png b/Elements_Of_Mass_Transfer_Part_1/screenshots/dry-time.png
new file mode 100755
index 00000000..3235d6e8
--- /dev/null
+++ b/Elements_Of_Mass_Transfer_Part_1/screenshots/dry-time.png
Binary files differ
diff --git a/Elements_Of_Mass_Transfer_Part_1/screenshots/enthalpy.png b/Elements_Of_Mass_Transfer_Part_1/screenshots/enthalpy.png
new file mode 100755
index 00000000..2f5099d0
--- /dev/null
+++ b/Elements_Of_Mass_Transfer_Part_1/screenshots/enthalpy.png
Binary files differ
diff --git a/Elements_Of_Mass_Transfer_Part_1/screenshots/tower.png b/Elements_Of_Mass_Transfer_Part_1/screenshots/tower.png
new file mode 100755
index 00000000..630464a7
--- /dev/null
+++ b/Elements_Of_Mass_Transfer_Part_1/screenshots/tower.png
Binary files differ
diff --git a/Engineering_Physics_Vijaya/README.txt b/Engineering_Physics_Vijaya/README.txt
new file mode 100755
index 00000000..a2116ca8
--- /dev/null
+++ b/Engineering_Physics_Vijaya/README.txt
@@ -0,0 +1,10 @@
+Contributed By: ADITYA DHARMASAGAR KALIDAS
+Course: btech
+College/Institute/Organization: vaageswari college of engineering
+Department/Designation: ECE
+Book Title: Engineering Physics
+Author: Dr. K. Vijaya Kumar
+Publisher: S. Chand & Company Ltd., New Delhi
+Year of publication: 2011
+Isbn: 81-219-3852-X
+Edition: 1 \ No newline at end of file
diff --git a/Engineering_Physics_Vijaya/chapter1_2.ipynb b/Engineering_Physics_Vijaya/chapter1_2.ipynb
new file mode 100755
index 00000000..bd2e1aac
--- /dev/null
+++ b/Engineering_Physics_Vijaya/chapter1_2.ipynb
@@ -0,0 +1,1232 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:18ac31f959977ef2080ed3a1b1a6990ce93e604dcfb0f72ab45c0c28a2428e0e"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Quantum Mechanics and Quantum Computing"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 1.1, Page number 41"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Variable declaration\n",
+ "c=3*10**8 #velocity of light in m/s\n",
+ "h=6.626*10**-34 #planks constant \n",
+ "m=1.67*10**-27 #mass of proton\n",
+ "\n",
+ "#Calculation\n",
+ "v=c/10 #velocity of proton\n",
+ "lamda=h/(m*v) #de Broglie wave length\n",
+ "\n",
+ "#Result\n",
+ "print(\"the de Broglie wavelength in m is \",lamda);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('the de Broglie wavelength in m is ', 1.3225548902195607e-14)\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 1.2, Page number 42"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#importing modules\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "V=400; #potential in Volts\n",
+ "\n",
+ "#Calculation\n",
+ "lamda=12.56/math.sqrt(V); #de Broglie wavelength\n",
+ "\n",
+ "#Result\n",
+ "print(\"The de Broglie wavelength in Armstrong is\",lamda);\n",
+ "\n",
+ "#answer given in the book is wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('The de Broglie wavelength in Armstrong is', 0.628)\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 1.3, Page number 42\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#importing modules\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "m=1.674*10**(-27); #mass of neutron in kg\n",
+ "h=6.626*10**(-34);\n",
+ "E=0.025; #kinetic energy in eV\n",
+ "\n",
+ "#Calculation\n",
+ "Ej=E*1.6*10**-19; #kinetic energy in J\n",
+ "lamda=h/math.sqrt(2*m*Ej); #de Broglie wavelength\n",
+ "lamdaA=lamda*10**10; #converting wavelength from m to Armstrong\n",
+ "lamdaA=math.ceil(lamdaA*10**3)/10**3; #rounding off to 3 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"The de Broglie wavelength in metres is\",lamda);\n",
+ "print(\"The de Broglie wavelength in Armstrong is\",lamdaA);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('The de Broglie wavelength in metres is', 1.81062582829353e-10)\n",
+ "('The de Broglie wavelength in Armstrong is', 1.811)\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 1.4, Page number 42"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#importing modules\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "V=1600; #potential in Volts\n",
+ "\n",
+ "#Calculation\n",
+ "lamda=12.56/math.sqrt(V); #de Broglie wavelength\n",
+ "lamda=math.ceil(lamda*10**2)/10**2; #rounding off to 2 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"The de Broglie wavelength in Armstrong is\",lamda);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('The de Broglie wavelength in Armstrong is', 0.32)\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 1.5, Page number 42"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#importing modules\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "deltax=0.2; #distance in armstrong\n",
+ "h=6.626*10**(-34);\n",
+ "\n",
+ "#Calculation\n",
+ "delta_xm=deltax*10**-10; #distance in m\n",
+ "delta_p=h/(2*math.pi*delta_xm);\n",
+ "\n",
+ "#Result\n",
+ "print(\"The uncertainity in momentum of electron in kg m/sec is\",delta_p);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('The uncertainity in momentum of electron in kg m/sec is', 5.2728032646344916e-24)\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 1.6, Page number 43"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#importing modules\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "n1=1;\n",
+ "n2=1;\n",
+ "n3=1; #values in lowest energy\n",
+ "h=6.62*10**(-34);\n",
+ "M=9.1*10**-31; #mass in kg\n",
+ "L=0.1; #side in nm\n",
+ "\n",
+ "#Calculation\n",
+ "L=L*10**-9; #side in m\n",
+ "n=(n1**2)+(n2**2)+(n3**2);\n",
+ "E1=(n*h**2)/(8*M*L**2); #energy in j\n",
+ "E1eV=E1/(1.6*10**-19); #energy in eV\n",
+ "E1eV=math.ceil(E1eV*10)/10; #rounding off to 1 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"lowest energy of electron in Joule is\",E1);\n",
+ "print(\"lowest energy of electron is eV\",E1eV);\n",
+ "\n",
+ "#answer for lowest energy in eV given in the book is wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('lowest energy of electron in Joule is', 1.8059505494505486e-17)\n",
+ "('lowest energy of electron is eV', 112.9)\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 1.7, Page number 43"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#importing modules\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "M=9.1*10**(-31); #mass of electron in kg\n",
+ "h=6.66*10**(-34);\n",
+ "E=2000; #kinetic energy in eV\n",
+ "\n",
+ "#Calculation\n",
+ "Ej=E*1.6*10**-19; #kinetic energy in J\n",
+ "lamda=h/math.sqrt(2*M*Ej); #de Broglie wavelength\n",
+ "lamdaA=lamda*10**9; #converting wavelength from m to nm\n",
+ "lamdaA=math.ceil(lamdaA*10**3)/10**3; #rounding off to 3 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"The de Broglie wavelength in nm is\",lamdaA);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('The de Broglie wavelength in nm is', 0.028)\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 1.8, Page number 43"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#importing modules\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "n=1; #for minimum energy\n",
+ "h=6.626*10**(-34);\n",
+ "m=9.1*10**-31; #mass in kg\n",
+ "L=4*10**-10; #size in m\n",
+ "\n",
+ "#Calculation\n",
+ "E1=(n*h**2)/(8*m*L**2); #energy in j\n",
+ "\n",
+ "#Result\n",
+ "print(\"lowest energy of electron in Joule is\",E1);\n",
+ "\n",
+ "#answer given in the book is wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('lowest energy of electron in Joule is', 3.7692201236263733e-19)\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 1.9, Page number 44"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#importing modules\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable declaration\n",
+ "h=6.626*10**(-34);\n",
+ "m=9.1*10**-31; #mass in kg\n",
+ "lamda=1.66*10**-10; #wavelength in m\n",
+ "\n",
+ "#Calculation\n",
+ "v=h/(m*lamda); #velocity in m/sec\n",
+ "v_km=v*10**-3; #velocity in km/sec\n",
+ "E=(1/2)*m*v**2; #kinetic energy in joule\n",
+ "EeV=E/(1.6*10**-19); #energy in eV\n",
+ "EeV=math.ceil(EeV*10**3)/10**3; #rounding off to 3 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"velocity of electron in m/sec is\",round(v));\n",
+ "print(\"velocity of electron in km/sec is\",round(v_km));\n",
+ "print(\"kinetic energy of electron in Joule is\",E);\n",
+ "print(\"kinetic energy of electron in eV is\",EeV);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('velocity of electron in m/sec is', 4386337.0)\n",
+ "('velocity of electron in km/sec is', 4386.0)\n",
+ "('kinetic energy of electron in Joule is', 8.754176510091736e-18)\n",
+ "('kinetic energy of electron in eV is', 54.714)\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 1.10, Page number 44"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#importing modules\n",
+ "import math\n",
+ "\n",
+ "#Variable decleration\n",
+ "V=15; #potential in kV\n",
+ "\n",
+ "#Calculation\n",
+ "v=V*10**3; #potential in V\n",
+ "lamda=12.26/math.sqrt(v); #de Broglie wavelength\n",
+ "lamda=math.ceil(lamda*10**2)/10**2 #rounding off to 2 decimals\n",
+ "\n",
+ "#result\n",
+ "print(\"The de Broglie wavelength in Armstrong is\",lamda);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('The de Broglie wavelength in Armstrong is', 0.11)\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 1.11, Page number 44\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#importing modules\n",
+ "import math\n",
+ "\n",
+ "#Calculation\n",
+ "m=1.675*10**-27; #mass of neutron in kg\n",
+ "h=6.626*10**-34;\n",
+ "E=10; #kinetic energy in keV\n",
+ "\n",
+ "#Calculation\n",
+ "EeV=E*10**3; #Energy in eV\n",
+ "Ej=EeV*1.6*10**-19; #kinetic energy in J\n",
+ "v=math.sqrt(2*Ej/m); #velocity in m/s\n",
+ "lamda=h/(m*v); #de broglie wavelength in m\n",
+ "lamda_A=lamda*10**10; #de broglie wavelength in armstrong\n",
+ "lamda_A=math.ceil(lamda_A*10**4)/10**4 #rounding off to 4 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"The velocity in m/sec is\",round(v));\n",
+ "print(\"The de Broglie wavelength in metres is\",lamda);\n",
+ "print(\"The de Broglie wavelength in Armstrong is\",lamda_A);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('The velocity in m/sec is', 1382189.0)\n",
+ "('The de Broglie wavelength in metres is', 2.861996093951046e-13)\n",
+ "('The de Broglie wavelength in Armstrong is', 0.0029)\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 1.12, Page number 45"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#importing modules\n",
+ "import math\n",
+ "\n",
+ "#Variable decleration\n",
+ "m=9.1*10**-31; #mass of electron in kg\n",
+ "h=6.6*10**-34;\n",
+ "E=2; #kinetic energy in keV\n",
+ "\n",
+ "#Calculation\n",
+ "EeV=E*10**3; #Energy in eV\n",
+ "Ej=EeV*1.6*10**-19; #kinetic energy in J\n",
+ "p=math.sqrt(2*m*Ej); #momentum\n",
+ "lamda=h/p; #de broglie wavelength in m\n",
+ "lamda_A=lamda*10**10; #de broglie wavelength in armstrong\n",
+ "lamda_A=math.ceil(lamda_A*10**4)/10**4 #rounding off to 4 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"The de Broglie wavelength in metres is\",lamda);\n",
+ "print(\"The de Broglie wavelength in Armstrong is\",lamda_A);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('The de Broglie wavelength in metres is', 2.7348483695436575e-11)\n",
+ "('The de Broglie wavelength in Armstrong is', 0.2735)\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 1.13, Page number 45"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "\n",
+ "#Variable decleration\n",
+ "m=1.676*10**-27; #mass of neutron in kg\n",
+ "h=6.62*10**-34;\n",
+ "E=0.025; #kinetic energy in eV\n",
+ "\n",
+ "#Calculation\n",
+ "Ej=E*1.6*10**-19; #kinetic energy in J\n",
+ "v=math.sqrt(2*Ej/m); #velocity in m/s\n",
+ "lamda=h/(m*v); #wavelength in m\n",
+ "lamda_A=lamda*10**10; #de broglie wavelength in armstrong\n",
+ "lamda_A=math.ceil(lamda_A*10**5)/10**5 #rounding off to 5 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"The neutrons wavelength in metres is\",lamda);\n",
+ "print(\"The wavelength in Armstrong is\",lamda_A);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('The neutrons wavelength in metres is', 1.8079065940980725e-10)\n",
+ "('The wavelength in Armstrong is', 1.80791)\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 1.14, Page number 45"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "\n",
+ "#Variable decleration\n",
+ "V=10; #potential in kV\n",
+ "\n",
+ "#Calculation\n",
+ "V=V*10**3; #potential in V\n",
+ "lamda=12.26/math.sqrt(V); #wavelength\n",
+ "\n",
+ "#Result\n",
+ "print(\"The wavelength in Armstrong is\",lamda);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('The wavelength in Armstrong is', 0.1226)\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 1.15, Page number 45"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "\n",
+ "#Varialble decleration\n",
+ "h=6.626*10**-34;\n",
+ "m=9.1*10**-31; #mass in kg\n",
+ "l=1; #width in armstrong\n",
+ "\n",
+ "#Calculation\n",
+ "L=l*10**-10; #width in m\n",
+ "#permitted electron energies En=(n**2*h**2)/(8*m*L**2)\n",
+ "#let X = h**2/(8*m*L**2)\n",
+ "X = h**2/(8*m*L**2); #energy in J\n",
+ "XeV=X/(1.6*10**-19); #energy in eV\n",
+ "#in the 1st level n1=1\n",
+ "n1=1;\n",
+ "E1=(n1**2)*XeV; #energy in eV\n",
+ "\n",
+ "#in second level n2=2\n",
+ "n2=2;\n",
+ "E2=(n2**2)*XeV; #energy in eV\n",
+ "#in third level n3=\n",
+ "n3=3;\n",
+ "E3=(n3**2)*XeV; #energy in eV\n",
+ "\n",
+ "#Result\n",
+ "print(\"minimum energy the electron can have in eV is\",round(E1));\n",
+ "print(\"other values of energy are in eV and in eV\",round(E2),round(E3));\n",
+ "\n",
+ "#answers given in the book are wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('minimum energy the electron can have in eV is', 38.0)\n",
+ "('other values of energy are in eV and in eV', 151.0, 339.0)\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 1.16, Page number 46\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "\n",
+ "#Variable decleration\n",
+ "n=1; #lowest state\n",
+ "L=10; #width in armstrong\n",
+ "\n",
+ "#Calculation\n",
+ "L=L*10**-10; #width in m\n",
+ "x=L/2;\n",
+ "delta_x=1; #interval in armstrong\n",
+ "delta_x=delta_x*10**-10; #interval in m\n",
+ "psi1=(math.sqrt(2/L))*math.sin(math.pi*x/L);\n",
+ "A=psi1**2;\n",
+ "p=A*delta_x;\n",
+ "p=math.ceil(p*10)/10; #de broglie wavelength in armstrong\n",
+ "\n",
+ "#Result\n",
+ "print(\"probability of finding the particle is \",p);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('probability of finding the particle is ', 0.2)\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 1.17, Page number 46"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "d=970; #density of Na in kg/m^3\n",
+ "n=6.02*10**26;\n",
+ "h=6.62*10**(-34);\n",
+ "m=9.1*10**-31; #mass in kg\n",
+ "w=23; #atomic weight\n",
+ "\n",
+ "#Calculation\n",
+ "N=(d*n)/w; #number of atoms per m^3\n",
+ "A=(h**2)/(8*m);\n",
+ "B=(3*N)/math.pi;\n",
+ "Ef=A*B**(2/3);\n",
+ "EfeV=Ef/(1.6*10**-19);\n",
+ "EfeV=math.ceil(EfeV*10**2)/10**2 #rounding of to 2 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"fermi energy of Na in eV is\",EfeV);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('fermi energy of Na in eV is', 3.16)\n"
+ ]
+ }
+ ],
+ "prompt_number": 34
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 1.18, Page number 46"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "n1=1;\n",
+ "n2=1;\n",
+ "n3=1; #values in lowest energy\n",
+ "h=6.62*10**(-34);\n",
+ "m=9.1*10**-31; #mass in kg\n",
+ "L=0.1; #side in nm\n",
+ "\n",
+ "#Calculation\n",
+ "L=L*10**-9; #side in m\n",
+ "n=(n1**2)+(n2**2)+(n3**2);\n",
+ "E1=(n*h**2)/(8*m*L**2); #energy in j\n",
+ "E1eV=E1/(1.6*10**-19); #energy in eV\n",
+ "E1eV=math.ceil(E1eV*10**1)/10**1 #rounding off to 2 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"lowest energy of electron in Joule is\",E1);\n",
+ "print(\"lowest energy of electron in eV is\",E1eV);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('lowest energy of electron in Joule is', 1.8059505494505486e-17)\n",
+ "('lowest energy of electron in eV is', 112.9)\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 1.19, Page number 47"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "mn=1.676*10**-27; #mass of neutron in kg\n",
+ "me=9.1*10**-31; #mass of electron in kg\n",
+ "h=6.62*10**-34;\n",
+ "c=3*10**8; #velocity of light in m/sec\n",
+ "\n",
+ "#Calculation\n",
+ "En=2*me*c**2;\n",
+ "lamda=h/math.sqrt(2*mn*En); #wavelength in m\n",
+ "lamda_A=lamda*10**10; #converting lamda from m to A\n",
+ "lamda_A=math.ceil(lamda_A*10**6)/10**6 #rounding off to 6 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"The de broglie wavelength in Angstrom is\",lamda_A);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('The de broglie wavelength in Angstrom is', 0.000283)\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 1.20, Page number 47 ***************************************************************************"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "n2=2; #second quantum state\n",
+ "n4=4; #fourth quantum state\n",
+ "h=6.626*10**-34;\n",
+ "m=9.1*10**-31; #mass in kg\n",
+ "a=2; #potential box length in armstrong\n",
+ "\n",
+ "#Calculation\n",
+ "a=a*10**-10; #length in m\n",
+ "A=n2**2*h**2;\n",
+ "B=8*m*a**2;\n",
+ "E2=A/B; #energy in j\n",
+ "E2eV=E2/(1.6*10**-19); #energy in eV\n",
+ "C=n4**2*h**2;\n",
+ "E4=C/B; #energy in j\n",
+ "E4eV=E4/(1.6*10**-19); #energy in eV\n",
+ "\n",
+ "#Result\n",
+ "print(\"energy corresponding to second quantum state in Joule is\",E2);\n",
+ "print(\"energy corresponding to second quantum state in eV is\",E2eV);\n",
+ "print(\"energy corresponding to fourth quantum state in Joule is\",E4);\n",
+ "print(\"energy corresponding to fourth quantum state in eV is\",E4eV);\n",
+ "\n",
+ "\n",
+ "#answers given in the book are wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('energy corresponding to second quantum state in Joule is', 6.030752197802197e-18)\n",
+ "('energy corresponding to second quantum state in eV is', 37.69220123626373)\n",
+ "('energy corresponding to fourth quantum state in Joule is', 2.412300879120879e-17)\n",
+ "('energy corresponding to fourth quantum state in eV is', 150.7688049450549)\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 1.21, Page number 48 ***********"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "V=344; #accelerated voltage in V\n",
+ "n=1; #first reflection\n",
+ "theta=60; #glancing angle in degrees\n",
+ "\n",
+ "#Calculation\n",
+ "lamda=12.27/math.sqrt(V);\n",
+ "d=(n*lamda)/(2*math.sin(theta));\n",
+ "\n",
+ "#Result\n",
+ "print(\"The spacing of the crystal in Angstrom is\",lamda);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('The spacing of the crystal in Angstrom is', 0.6615540636030947)\n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 1.22, Page number 49 *************"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "n2=2; #second quantum state\n",
+ "n3=3; #fourth quantum state\n",
+ "h=6.626*10**-34;\n",
+ "m=9.1*10**-31; #mass in kg\n",
+ "a=1*10**-10; #width of potential well in m\n",
+ "\n",
+ "#Calculation\n",
+ "B=8*m*a**2;\n",
+ "E1=h**2/B; #ground state energy\n",
+ "E1eV=E1/(1.6*10**-19); #energy in eV\n",
+ "A=n2**2*h**2;\n",
+ "E2=A/B; #energy in j\n",
+ "E2eV=E2/(1.6*10**-19); #energy in eV\n",
+ "C=n3**2*h**2;\n",
+ "E3=C/B; #energy in j\n",
+ "E3eV=E3/(1.6*10**-19); #energy in eV\n",
+ "E1=math.ceil(E1*10**3)/10**3 #rounding off to 3 decimals\n",
+ "E1eV=math.ceil(E1eV*10**3)/10**3 #rounding off to 3 decimals\n",
+ "E2eV=math.ceil(E2eV*10**3)/10**3 #rounding off to 3 decimals\n",
+ "E3eV=math.ceil(E3eV*10**3)/10**3 #rounding off to 3 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"ground state energy in Joule is\",E1);\n",
+ "print(\"ground state energy in eV is\",E1eV);\n",
+ "print(\"first energy state in eV is\",E2eV);\n",
+ "print(\"second energy state in eV is\",E3eV);\n",
+ "\n",
+ "#answers given in the book are wrong by one decimal"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('ground state energy in Joule is', 0.001)\n",
+ "('ground state energy in eV is', 37.693)\n",
+ "('first energy state in eV is', 150.769)\n",
+ "('second energy state in eV is', 339.23)\n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 1.23, Page number 49"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "\n",
+ "#Variable decleration\n",
+ "n3=3; #fourth quantum state\n",
+ "h=6.626*10**-34;\n",
+ "m=9.1*10**-31; #mass in kg\n",
+ "\n",
+ "\n",
+ "#ground state energy E1 = h**2/(8*m*a**2)\n",
+ "#second excited state E3 = (9*h**2)/(8*m*a**2)\n",
+ "#required energy E = E3-E1\n",
+ "#E = (9*h**2)/(8*m*a**2) - h**2/(8*m*a**2)\n",
+ "#E = (h**2/(8*m*a**2))*(9-1)\n",
+ "#therefore E = (8*h**2)/(8*m*a**2)\n",
+ "#hence E = (h**2)/(m*a**2)\n",
+ "\n",
+ "#Result \n",
+ "# the required energy is E = (h**2)/(m*a**2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 1.24, Page number 50"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "delta_x=10**-8; #length of box in m\n",
+ "h=6.626*10**-34;\n",
+ "m=9.1*10**-31; #mass in kg\n",
+ "\n",
+ "#Calculation\n",
+ "delta_v=h/(m*delta_x); #uncertainity in m/sec\n",
+ "delta_vk=delta_v*10**-3; #uncertainity in km/sec\n",
+ "delta_vk=math.ceil(delta_vk*10**2)/10**2 #rounding off to 2 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"minimum uncertainity in velocity in m/sec is\",round(delta_v));\n",
+ "print(\"minimum uncertainity in velocity in km/sec is\",delta_vk);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('minimum uncertainity in velocity in m/sec is', 72813.0)\n",
+ "('minimum uncertainity in velocity in km/sec is', 72.82)\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 1.25, Page number 50"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "mp=1.6*10**-27; #mass of proton in kg\n",
+ "me=9.1*10**-31; #mass of electron in kg\n",
+ "h=6.626*10**(-34);\n",
+ "c=3*10**10; #velocity of light in m/sec\n",
+ "\n",
+ "#Calculation\n",
+ "Ep=me*c**2;\n",
+ "lamda=h/math.sqrt(2*mp*Ep); #wavelength in m\n",
+ "lamda_A=lamda*10**10; #converting lamda from m to A\n",
+ "\n",
+ "#Result\n",
+ "print(\"The de broglie wavelength in Angstrom is\",lamda_A);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('The de broglie wavelength in Angstrom is', 4.092931643497047e-06)\n"
+ ]
+ }
+ ],
+ "prompt_number": 41
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 1.26, Page number 51 *************************************************"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "m=1.675*10**(-27); #mass of neutron in kg\n",
+ "h=6.626*10**(-34);\n",
+ "n=1; #diffractive order\n",
+ "d=0.314; #spacing in nm\n",
+ "E=0.04; #kinetic energy in eV\n",
+ "\n",
+ "#Calculation\n",
+ "d=d*10**-9; #spacing in m\n",
+ "Ej=E*1.6*10**-19; #kinetic energy in J\n",
+ "lamda=h/math.sqrt(2*m*Ej); #de Broglie wavelength\n",
+ "lamdaA=lamda*10**9; #converting wavelength from m to nm\n",
+ "theta=math.asin((n*lamda)/(2*d));\n",
+ "print(\"The de Broglie wavelength in metres is\",lamda);\n",
+ "print(\"The de Broglie wavelength in nm is\",lamdaA);\n",
+ "print(\"glancing angle in degrees is\",theta);\n",
+ "\n",
+ "#answer given in the book is wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('The de Broglie wavelength in metres is', 1.4309980469755228e-10)\n",
+ "('The de Broglie wavelength in nm is', 0.1430998046975523)\n",
+ "('glancing angle in degrees is', 0.2298853909391574)\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Physics_Vijaya/chapter2_2.ipynb b/Engineering_Physics_Vijaya/chapter2_2.ipynb
new file mode 100755
index 00000000..a118db3c
--- /dev/null
+++ b/Engineering_Physics_Vijaya/chapter2_2.ipynb
@@ -0,0 +1,813 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:04561aafd347865fa8c83acfb9b60eb84db275f85862655b442f546023cadd1e"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Electron Theory of Metals"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 2.1, Page number 69"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#import module\n",
+ "import math\n",
+ "\n",
+ "#Calculation\n",
+ "# given that E-Ef = kT\n",
+ "# fermi function FE = 1/(1+exp((E-Ef)/kT)\n",
+ "# therefore FE = 1/(1+exp(kT/kT));\n",
+ "# FE = 1/(1+exp(1))\n",
+ "FE=1/(1+math.exp(1));\n",
+ "FE=math.ceil(FE*10**2)/10**2; #rounding off to 2 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"fermi function is\",FE);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('fermi function is', 0.27)\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 2.2, Page number 69"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "\n",
+ "#Calculation\n",
+ "# given that E-Ef = kT\n",
+ "# fermi function FE = 1/(1+exp((E-Ef)/kT)\n",
+ "# therefore FE = 1/(1+exp(kT/kT));\n",
+ "# FE = 1/(1+exp(1))\n",
+ "FE=1/(1+math.exp(1));\n",
+ "FE=math.ceil(FE*10**3)/10**3; #rounding off to 3 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"fermi function is\",FE);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('fermi function is', 0.269)\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 2.3, Page number 69"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "FE=10/100; #fermi function is 10%\n",
+ "Ef=5.5; #fermi energy of silver in eV\n",
+ "k=1.38*10**-23;\n",
+ "\n",
+ "#Calculation\n",
+ "E=Ef+(Ef/100);\n",
+ "#FE=1/(1+math.exp((E-Ef)/(k*T)))\n",
+ "#therefore 1/FE = 1+math.exp((E-Ef)/(k*T))\n",
+ "#therefore (1/FE)-1 = math.exp((E-Ef)/(k*T))\n",
+ "#therefore log((1/FE)-1) = (E-Ef)/(k*T)\n",
+ "#therefore T = (E-Ef)/(k*math.log((1/FE)-1))\n",
+ "#let X=E-Ef; \n",
+ "X=E-Ef; #energy in eV\n",
+ "X=X*1.6*10**-19; #energy in J\n",
+ "T = (X/(k*math.log((1/FE)-1)));\n",
+ "T=math.ceil(T*10**2)/10**2; #rounding off to 2 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"temperature in K is\",T);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('temperature in K is', 290.23)\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 2.4, Page number 70 **************************************"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "#let X=E-Ef\n",
+ "X=0.5; #E-Ef=0.5 in eV\n",
+ "\n",
+ "#Calculation\n",
+ "X=X*1.6*10**-19; #X in J\n",
+ "FE=1/100; #fermi function is 1% \n",
+ "k=1.38*10**-23;\n",
+ "#FE=1/(1+exp(X/(k*T)))\n",
+ "#therefore 1/FE = 1+math.exp(X/(k*T))\n",
+ "#therefore (1/FE)-1 = math.exp(X/(k*T))\n",
+ "#therefore log((1/FE)-1) = X/(k*T)\n",
+ "#but log(x) = 2.303*math.log10(x)\n",
+ "#therefore T = X/(k*math.log((1/FE)-1))\n",
+ "#but log(x)=2.303*math.log10(x)\n",
+ "#therefore T = X/(k*2.303*math.log10((1/FE)-1))\n",
+ "T = X/(k*2.303*math.log10((1/FE)-1));\n",
+ "\n",
+ "#Result\n",
+ "print(\"temperature in K is\",T);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('temperature in K is', 1261.3505710887953)\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 2.5, Page number 71 *******"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "rho_s=10.5*10**3; #density in kg/m^3\n",
+ "NA=6.02*10**26; #avagadro number per kmol\n",
+ "MA=107.9; \n",
+ "\n",
+ "#Calculation\n",
+ "n=(rho_s*NA)/MA;\n",
+ "sigma=6.8*10**7;\n",
+ "e=1.6*10**-19; #charge in coulomb\n",
+ "mew=sigma/(n*e);\n",
+ "mew=math.ceil(mew*10**6)/10**6; #rounding off to 6 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"density of electrons is\",n);\n",
+ "print(\"mobility of electrons in silver in m^2/Vs is\",mew);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('density of electrons is', 5.85820203892493e+28)\n",
+ "('mobility of electrons in silver in m^2/Vs is', 0.007255)\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 2.6, Page number 71 ***"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "d=8.92*10**3; #density in kg/m^3\n",
+ "rho=1.73*10**-8; #resistivity in ohm-m\n",
+ "m=9.1*10**-31; #mass in kg\n",
+ "w=63.5; #atomic weight\n",
+ "e=1.6*10**-19; #charge in coulomb\n",
+ "A=6.02*10**26; #avagadro number\n",
+ "\n",
+ "#Calculation\n",
+ "n=(d*A)/w;\n",
+ "mew=1/(rho*n*e);\n",
+ "tow=m/(n*(e**2)*rho);\n",
+ "mew=math.ceil(mew*10**6)/10**6; #rounding off to 6 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"mobility of electrons in Copper in m/Vs is\",mew);\n",
+ "print(\"average time of collision of electrons in copper in sec is\",tow);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('mobility of electrons in Copper in m/Vs is', 0.004273)\n",
+ "('average time of collision of electrons in copper in sec is', 2.4297841992299697e-14)\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 2.7, Page number 72"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "rho=1.54*10**-8; #resistivity in ohm-m\n",
+ "n=5.8*10**28; #electron/m^3\n",
+ "m=9.108*10**-31; #mass in kg\n",
+ "e=1.602*10**-19; #charge in coulomb\n",
+ "\n",
+ "#Calculation\n",
+ "tow=m/(n*(e**2)*rho);\n",
+ "\n",
+ "#Result\n",
+ "print(\"relaxation time of conduction electrons in sec is\",tow);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('relaxation time of conduction electrons in sec is', 3.973281032516849e-14)\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 2.8, Page number 73"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "FE=10/100; #fermi function is 10%\n",
+ "Ef=5.5; #fermi energy of silver in eV\n",
+ "k=1.38*10**-23;\n",
+ "\n",
+ "#Calculation\n",
+ "E=Ef+(Ef/100);\n",
+ "#FE=1/(1+math.exp((E-Ef)/(k*T)))\n",
+ "#therefore 1/FE = 1+math.exp((E-Ef)/(k*T))\n",
+ "#therefore (1/FE)-1 = math.exp((E-Ef)/(k*T))\n",
+ "#therefore log((1/FE)-1) = (E-Ef)/(k*T)\n",
+ "#therefore T = (E-Ef)/(k*math.log((1/FE)-1))\n",
+ "#let X=E-Ef; \n",
+ "X=E-Ef; #energy in eV\n",
+ "X=X*1.6*10**-19; #energy in J\n",
+ "T = (X/(k*math.log((1/FE)-1)));\n",
+ "T=math.ceil(T*10**2)/10**2; #rounding off to 2 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"temperature in K is\",T);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('temperature in K is', 290.23)\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 2.9, Page number 73"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "\n",
+ "#Calculation\n",
+ "# given that E-Ef = kT\n",
+ "# fermi function FpE = 1/(1+exp((E-Ef)/kT)\n",
+ "# therefore FpE = 1/(1+exp(kT/kT));\n",
+ "# FpE = 1/(1+exp(1))\n",
+ "FpE=1/(1+math.exp(1));\n",
+ "FpE=math.ceil(FpE*10**2)/10**2; #rounding off to 2 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"fermi function is\",FpE);\n",
+ "#the presence of electron at that energy level is not certain"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('fermi function is', 0.27)\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 2.10, Page number 74 ****************************"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "m=9.1*10**-31; #mass in kg\n",
+ "h=6.626*10**-34;\n",
+ "A=(8*m)**(3/2);\n",
+ "\n",
+ "#Calculation\n",
+ "B=math.pi/(2*h**3);\n",
+ "EfeV=3.10; #fermi energy in eV\n",
+ "Ef=EfeV*1.6*10**-19; #fermi energy in J\n",
+ "EFeV=EfeV+0.02; #energy after interval in eV\n",
+ "EF=EFeV*1.6*10**-19; #energy after interval in J\n",
+ "function Q=f(E),Q=A*B*math.sqrt(E),endfunction\n",
+ "I=intg(Ef,EF,f)\n",
+ "\n",
+ "#Result\n",
+ "print(\"number of energy states per unit volume is\",I);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "ename": "SyntaxError",
+ "evalue": "invalid syntax (<ipython-input-25-15d658985351>, line 18)",
+ "output_type": "pyerr",
+ "traceback": [
+ "\u001b[1;36m File \u001b[1;32m\"<ipython-input-25-15d658985351>\"\u001b[1;36m, line \u001b[1;32m18\u001b[0m\n\u001b[1;33m function Q=f(E),Q=A*B*math.sqrt(E),endfunction\u001b[0m\n\u001b[1;37m ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m invalid syntax\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 2.11, Page number 74"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "T=300; #temperature in K\n",
+ "n=8.5*10**28; #density per m^3\n",
+ "rho=1.69*10**-8; #resistivity in ohm/m^3\n",
+ "me=9.11*10**-31; #mass of electron in kg\n",
+ "e=1.6*10**-19; #charge in coulomb\n",
+ "KB=1.38*10**-23; #boltzmann constant in J/k\n",
+ "\n",
+ "#Calculation\n",
+ "lamda=math.sqrt(3*KB*me*T)/(n*(e**2)*rho);\n",
+ "\n",
+ "#Result\n",
+ "print(\"mean free path of electron in m is\",lamda);\n",
+ "\n",
+ "#answer given in the book is wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('mean free path of electron in m is', 2.892506814374228e-09)\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 2.12, Page number 75"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "rho=1.43*10**-8; #resistivity in ohm-m\n",
+ "n=6.5*10**28; #electron/m^3\n",
+ "m=9.11*10**-34; #mass in kg\n",
+ "e=1.6*10**-19; #charge in coulomb\n",
+ "\n",
+ "#Calculation\n",
+ "tow=m/(n*(e**2)*rho);\n",
+ "\n",
+ "#Result\n",
+ "print(\"relaxation time of conduction electrons in sec is\",tow);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('relaxation time of conduction electrons in sec is', 3.8285032275416887e-17)\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 2.13, Page number 75 ******"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "d=8.92*10**3; #density in kg/m^3\n",
+ "rho=1.73*10**-8; #resistivity in ohm-m\n",
+ "m=9.1*10**-31; #mass in kg\n",
+ "M=63.5; #atomic weight\n",
+ "e=1.6*10**-19; #charge in coulomb\n",
+ "A=6.02*10**26; #avagadro number\n",
+ "\n",
+ "#Calculation\n",
+ "n=(d*A)/M;\n",
+ "mew=1/(rho*n*e);\n",
+ "tow=m/(n*(e**2)*rho);\n",
+ "mew=math.ceil(mew*10**6)/10**6; #rounding off to 6 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"mobility of electrons in Copper in m/Vs is\",mew);\n",
+ "print(\"average time of collision of electrons in copper in sec is\",tow);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('mobility of electrons in Copper in m/Vs is', 0.004273)\n",
+ "('average time of collision of electrons in copper in sec is', 2.4297841992299697e-14)\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 2.14, Page number 76"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "MH=1.008*2*1.67*10**-27; #mass in kg\n",
+ "T=30; #temperature in C\n",
+ "\n",
+ "#Calculation\n",
+ "T=T+273; #temperature in K\n",
+ "KB=1.38*10**-23; #boltzmann constant in J/k\n",
+ "KE=(3/2)*KB*T; #kinetic energy in J\n",
+ "KEeV=KE*6.24*10**18; #kinetic energy in eV\n",
+ "cbar=math.sqrt((3*KB*T)/MH);\n",
+ "\n",
+ "#Result\n",
+ "print(\"average kinetic energy in J is\",KE);\n",
+ "print(\"average kinetic energy in eV is\",KEeV);\n",
+ "print(\"velocity of molecules in m/s is\",cbar);\n",
+ "\n",
+ "#answers for average kinetic energy in eV and velocity of electrons given in the book are wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('average kinetic energy in J is', 6.2720999999999986e-21)\n",
+ "('average kinetic energy in eV is', 0.039137903999999994)\n",
+ "('velocity of molecules in m/s is', 1930.269663853336)\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 2.15, Page number 77 ****"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "Ee=10; #electron kinetic energy in eV\n",
+ "Ep=10; #proton kinetic energy in eV\n",
+ "me=9.1*10**-31; #mass of electron in kg\n",
+ "mp=1.67*10**-27; #mass of proton in kg\n",
+ "\n",
+ "#Calculation\n",
+ "EeeV=Ee*1.6*10**-19; #electron kinetic energy in J\n",
+ "EpeV=Ep*1.6*10**-19; #proton kinetic energy in J\n",
+ "cebar=math.sqrt((2*EeeV)/me);\n",
+ "cpbar=math.sqrt((2*EpeV)/mp);\n",
+ "\n",
+ "#Result\n",
+ "print(\"velocity of electron in m/s is\",cebar);\n",
+ "print(\"velocity of proton in m/s is\",cpbar);\n",
+ "\n",
+ "#answers given in the book are wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('velocity of electron in m/s is', 1875228.9237539817)\n",
+ "('velocity of proton in m/s is', 43774.05241316662)\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 2.16, Page number 77"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "A=10; #area of cross section in mm^2\n",
+ "A=A*10**-6; #area of cross section in m^2\n",
+ "i=100; #current in amp\n",
+ "n=8.5*10**28; #number of electrons per mm^3\n",
+ "e=1.6*10**-19; #electron charge in coulumb\n",
+ "\n",
+ "#Calculation\n",
+ "vd=1/(n*A*e);\n",
+ "\n",
+ "#Result\n",
+ "print(\"drift velocity in m/s is\",vd);\n",
+ "\n",
+ "#answer given in the book is wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('drift velocity in m/s is', 7.3529411764705884e-06)\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 2.17, Page number 78"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "tow=3*10**-14; #relaxation time in sec\n",
+ "n=8*10**28; #density of electrons per m^3\n",
+ "KB=1.38*10**-23; #boltzmann constant in J/k\n",
+ "T=0; #temperature in C\n",
+ "\n",
+ "#Calculation\n",
+ "T=T+273; #temperature in K\n",
+ "m=9.1*10**-31; #mass of electron in kg\n",
+ "sigma_T=((3*n*tow*(KB**2)*T)/(2*m));\n",
+ "sigma_T=math.ceil(sigma_T*10**2)/10**2; #rounding off to 2 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"thermal conductivity of copper in ohm-1 is\",sigma_T);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('thermal conductivity of copper in ohm-1 is', 205.68)\n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Physics_Vijaya/chapter4_2.ipynb b/Engineering_Physics_Vijaya/chapter4_2.ipynb
new file mode 100755
index 00000000..80203b2d
--- /dev/null
+++ b/Engineering_Physics_Vijaya/chapter4_2.ipynb
@@ -0,0 +1,756 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:544912fca601384def1f6da3b02bc7431b47e0d8f9efa5f2e7d2a367448daaa6"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Magnetic Properties"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 4.1, Page number 119"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "H=6.5*10**-4; #magnetic field in T\n",
+ "M=1.4; #field with iron\n",
+ "\n",
+ "#Calculation\n",
+ "chi=M/H;\n",
+ "mew_r=1+chi;\n",
+ "mew_r=math.ceil(mew_r*10**2)/10**2; #rounding off to 2 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"relative permeability of iron is\",mew_r);\n",
+ "\n",
+ "#answer given in the book is wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('relative permeability of iron is', 2154.85)\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 4.2, Page number 119"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "H=220; #field in amp/m\n",
+ "M=3300; #magnetisation in amp/m\n",
+ "\n",
+ "#Calculation\n",
+ "chi=M/H;\n",
+ "mew_r=1+chi;\n",
+ "\n",
+ "#Result\n",
+ "print(\"relative permeability is\",mew_r);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('relative permeability is', 16.0)\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 4.3, Page number 120 *****"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "r=5.29*10**-11; #radius of orbit in m\n",
+ "B=2; #applied field in Tesla\n",
+ "e=1.602*10**-19; #charge of electron in coulomb\n",
+ "m=9.108*10**-31; #mass of electron in kg\n",
+ "\n",
+ "#Calculation\n",
+ "mew=(e**2)*(r**2)*B/(4*m);\n",
+ "\n",
+ "#Result\n",
+ "print(\"magnetic moment in Am^2 is\",mew);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('magnetic moment in Am^2 is', 3.94260574090909e-29)\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 4.4, Page number 120"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "\n",
+ "#Variable decleration\n",
+ "chi=0.5*10**-5; #susceptibility \n",
+ "H=10**6; #field strength in amp/m\n",
+ "\n",
+ "#Calculation\n",
+ "mew_0=4*math.pi*10**-7;\n",
+ "I=chi*H;\n",
+ "B=mew_0*(I+H);\n",
+ "B=math.ceil(B*10**3)/10**3; #rounding off to 3 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"intensity of magnetisation in Amp/m is\",I);\n",
+ "print(\"flux density in Weber/m^2 is\",B);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('intensity of magnetisation in Amp/m is', 5.0)\n",
+ "('flux density in Weber/m^2 is', 1.257)\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 4.5, Page number 120"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "e=2.86; #edge in armstrong\n",
+ "e=e*10**-10; #edge in m\n",
+ "Is=1.76*10**6; #magnetisation in amp/m\n",
+ "mewB=9.27*10**-24; #1 bohr magneton in amp m^2\n",
+ "\n",
+ "#Calculation\n",
+ "N=2/(e**3); #density per m^3\n",
+ "mewbar=Is/N;\n",
+ "mew_bar=mewbar/mewB;\n",
+ "mew_bar=math.ceil(mew_bar*10**3)/10**3; #rounding off to 3 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"average dipole moment in mewB is\",mew_bar);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('average dipole moment in mewB is', 2.221)\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 4.6, Page number 121 ***"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "H=10**6; #magnetic field in amp/m\n",
+ "chi=1.5*10**-3; #susceptibility\n",
+ "\n",
+ "#Calculation\n",
+ "mew_0=4*math.pi*10**-7;\n",
+ "M=chi*H;\n",
+ "B=mew_0*(M+H);\n",
+ "\n",
+ "#Result\n",
+ "print(\"magnetisation in Amp/m is\",M);\n",
+ "print(\"flux density in Tesla is\",B);\n",
+ "\n",
+ "#answer for flux density given in the book is wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('magnetisation in Amp/m is', 1500.0)\n",
+ "('flux density in Tesla is', 1.258522017028071)\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 4.7, Page number 121"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "chi=3.7*10**-3; #susceptibility \n",
+ "H=10**4; #field strength in amp/m\n",
+ "\n",
+ "#Calculation\n",
+ "mew_0=4*math.pi*10**-7;\n",
+ "M=chi*H;\n",
+ "B=mew_0*(M+H);\n",
+ "B=math.ceil(B*10**5)/10**5; #rounding off to 5 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"magnetisation in Amp/m is\",M);\n",
+ "print(\"flux density in Weber/m^2 is\",B);\n",
+ "\n",
+ "#answer for flux density given in the book is wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('magnetisation in Amp/m is', 37.0)\n",
+ "('flux density in Weber/m^2 is', 0.01262)\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 4.8, Page number 121"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "r=0.052*10**-9; #radius of orbit in m\n",
+ "B=1; #magnetic field in Wb/m^2\n",
+ "e=1.6*10**-19; #charge of electron in coulomb\n",
+ "m=9.1*10**-31; #mass of electron in kg\n",
+ "\n",
+ "#Calculation\n",
+ "dmew=(e**2)*(r**2)*B/(4*m);\n",
+ "\n",
+ "#Result\n",
+ "print(\"magnetic moment in Am^2 is\",dmew);\n",
+ "\n",
+ "#answer given in the book is wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('magnetic moment in Am^2 is', 1.901714285714286e-29)\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 4.9, Page number 122"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "\n",
+ "#Variable decleration\n",
+ "chi=-0.5*10**-5; #susceptibility \n",
+ "H=9.9*10**4; #field strength in amp/m\n",
+ "\n",
+ "#Calculation\n",
+ "mew_0=4*math.pi*10**-7;\n",
+ "I=chi*H;\n",
+ "B=mew_0*H*(1+chi);\n",
+ "I=math.ceil(I*10**4)/10**4; #rounding off to 4 decimals\n",
+ "B=math.ceil(B*10**4)/10**4; #rounding off to 4 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"intensity of magnetisation in Amp/m is\",I);\n",
+ "print(\"flux density in Weber/m^2 is\",B);\n",
+ "\n",
+ "#answer for flux density given in the book is wrong "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('intensity of magnetisation in Amp/m is', -0.495)\n",
+ "('flux density in Weber/m^2 is', 0.1245)\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 4.10, Page number 122"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "r=6.1*10**-11; #radius of H atom in m\n",
+ "new=8.8*10**15; #frequency in rev/sec\n",
+ "e=1.6*10**-19;\n",
+ "\n",
+ "#Calculation\n",
+ "mew0=4*math.pi*10**-7;\n",
+ "i=e*new;\n",
+ "B=(mew0*i)/(2*r);\n",
+ "mew=i*math.pi*(r**2);\n",
+ "i=math.ceil(i*10**7)/10**7; #rounding off to 7 decimals\n",
+ "B=math.ceil(B*10**3)/10**3; #rounding off to 3 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"current in amp is\",i);\n",
+ "print(\"magnetic induction in weber/m^2 is\",B);\n",
+ "print(\"dipole moment in amp m^2 is\",mew);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('current in amp is', 0.0014081)\n",
+ "('magnetic induction in weber/m^2 is', 14.503)\n",
+ "('dipole moment in amp m^2 is', 1.645933169972273e-23)\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 4.11, Page number 123"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "Is=1.96*10**6; #saturation magnetisation in amp/m\n",
+ "a=3; #cube edge of iron in armstrong\n",
+ "a=a*10**-10; #cube edge of iron in m\n",
+ "mew_b=9.27*10**-24; #bohr magneton in amp/m^2\n",
+ "n=2; #number of atoms per unit cell\n",
+ "\n",
+ "#Calculation\n",
+ "N=n/(a**3);\n",
+ "mewbar=Is/N;\n",
+ "mew_ab=mewbar/mew_b;\n",
+ "mew_ab=math.ceil(mew_ab*10**4)/10**4; #rounding off to 4 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"average number of Bohr magnetons in bohr magneton per atom is\",mew_ab);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('average number of Bohr magnetons in bohr magneton per atom is', 2.8544)\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 4.12, Page number 123"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "I=3000; #magnetisation in amp/m\n",
+ "B=0.005; #flux density in weber/m^2\n",
+ "\n",
+ "#Calculation\n",
+ "mew0=4*math.pi*10**-7;\n",
+ "H=(B/mew0)-I;\n",
+ "mew_r=(I/H)+1;\n",
+ "H=math.ceil(H*10**3)/10**3; #rounding off to 3 decimals\n",
+ "mew_r=math.ceil(mew_r*10**3)/10**3; #rounding off to 3 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"magnetic force in amp/m is\",H);\n",
+ "print(\"relative permeability is\",mew_r);\n",
+ "\n",
+ "#answer given in the book is wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('magnetic force in amp/m is', 978.874)\n",
+ "('relative permeability is', 4.065)\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 4.13, Page number 124"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "H=1800; #magnetising field in amp/m\n",
+ "phi=3*10**-5; #magnetic flux in weber\n",
+ "A=0.2; #cross sectional area in cm^2\n",
+ "\n",
+ "#Calculation\n",
+ "A=A*10**-4; #cross sectional area in m^2\n",
+ "B=phi/A;\n",
+ "mew=B/H;\n",
+ "mew=math.ceil(mew*10**8)/10**8 #rounding off to 8 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"the permeability in Henry/m is\",mew);\n",
+ "\n",
+ "#answer given in the book is wron"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('the permeability in Henry/m is', 0.00083334)\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 4.14, Page number 124 ********************"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "r=0.04; #radius of circular loop in m\n",
+ "i=1000; #current in mA\n",
+ "i=i*10**-3; #current in amp\n",
+ "B=10**-3; #magnetic flux density in Wb/m^2\n",
+ "theta=45; #angle in degrees\n",
+ "\n",
+ "#Calculation\n",
+ "A=math.pi*(r**2);\n",
+ "mew=i*A;\n",
+ "tow=i*B*math.cos(theta);\n",
+ "mew=math.ceil(mew*10**6)/10**6 #rounding off to 6 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"the magnetic dipole moment in amp m^2 is\",mew);\n",
+ "print(\"the torque in Nm is\",tow);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('the magnetic dipole moment in amp m^2 is', 0.005027)\n",
+ "('the torque in Nm is', 0.0005253219888177298)\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 4.15, Page number 125"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "\n",
+ "#Variable decleration\n",
+ "A=100; #area of hysteris loop in m^2\n",
+ "B=0.01; #flux density in wb/m^2\n",
+ "H=40; #magnetic field in amp/m\n",
+ "M=7650; #atomic weight in kg/m^3\n",
+ "\n",
+ "#Calculation\n",
+ "hl=A*B*H;\n",
+ "\n",
+ "#Result\n",
+ "print(\"the hysterisis loss per cycle in J/m^3 is\",hl);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('the hysterisis loss per cycle in J/m^3 is', 40.0)\n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 4.17, Page number 125"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "hl=200; #hysterisis loss per cycle in J/m^3\n",
+ "M=7650; #atomic weight in kg/m^3\n",
+ "m=100; #magnetisation cycles per second\n",
+ "\n",
+ "#Calculation\n",
+ "hpl=hl*m;\n",
+ "pl=hpl/M;\n",
+ "pl=math.ceil(pl*10**4)/10**4 #rounding off to 4 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"hysterisis power loss per second in watt/m^3 is\",hpl);\n",
+ "print(\"the power loss in watt/kg is\",pl); \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('hysterisis power loss per second in watt/m^3 is', 20000)\n",
+ "('the power loss in watt/kg is', 2.6144)\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Physics_Vijaya/chapter5_2.ipynb b/Engineering_Physics_Vijaya/chapter5_2.ipynb
new file mode 100755
index 00000000..14018aea
--- /dev/null
+++ b/Engineering_Physics_Vijaya/chapter5_2.ipynb
@@ -0,0 +1,639 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:19dabe1afe46093105a84b4746899bd5b483ca26e3b557510765740ff72179af"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Superconductivity"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 5.1, Page number 148"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#importing modules\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "Tc=3.7; #in kelvin\n",
+ "Hc_0=0.0306; \n",
+ "T=2\n",
+ "\n",
+ "#Calculation\n",
+ "Hc_2k=Hc_0*(1-((T/Tc)**2));\n",
+ "Hc_2k=math.ceil(Hc_2k*10**5)/10**5; #rounding off to 5 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"the critical feild at 2K in tesla is\",Hc_2k);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('the critical feild at 2K in tesla is', 0.02166)\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 5.2, Page number 149\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#importing modules\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "T=4.2; #in kelvin\n",
+ "Tc=7.18; #in kelvin\n",
+ "Hc_0=6.5*10**4; #in amp per meter\n",
+ "D=10**-3\n",
+ "\n",
+ "#Calculation\n",
+ "R=D/2; #radius is equal to half of diameter\n",
+ "Hc_T=Hc_0*(1-((T/Tc)**2));\n",
+ "Hc_T=math.ceil(Hc_T*10)/10; #rounding off to 1 decimals\n",
+ "Ic=2*math.pi*R*Hc_T #critical current is calculated by 2*pi*r*Hc(T)\n",
+ "Ic=math.ceil(Ic*10**2)/10**2; #rounding off to 2 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"the critical feild in Tesla is\",round(Hc_T));\n",
+ "print(\"the critical current in Amp is\",Ic);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('the critical feild in Tesla is', 42759.0)\n",
+ "('the critical current in Amp is', 134.34)\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 5.3, Page number 149\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#importing modules\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "lamda_T=75 #in nm\n",
+ "T=3.5 \n",
+ "HgTc=4.12 #in K\n",
+ "\n",
+ "#Calculation\n",
+ "lamda_o=lamda_T*math.sqrt(1-((T/HgTc)**4));\n",
+ "lamda_o=math.ceil(lamda_o*10**2)/10**2; #rounding off to 2 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"the pentration depth at 0k is\",lamda_o);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('the pentration depth at 0k is', 51.92)\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 5.4, Page number 150"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#importing modules\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "lamda_T1=396 #pentration depth in armstrong\n",
+ "lamda_T2=1730 #pentration depth in armstrong\n",
+ "T1=3 #temperature in K\n",
+ "T2=7.1 #temperature in K\n",
+ "\n",
+ "#Calculation\n",
+ "#lamda_T2**2=lamda_0**2*(((Tc**4-T2**4)/Tc**4)**-1)\n",
+ "#lamda_T1**2=lamda_0**2*(((Tc**4-T1**4)/Tc**4)**-1)\n",
+ "#dividing lamda_T2**2 by lamda_T1**2 = (Tc**4-T1**4)/(Tc**4-T2**4)\n",
+ "#let A=lamda_T2**2 and B=lamda_T1**2\n",
+ "A=lamda_T2**2\n",
+ "B=lamda_T1**2\n",
+ "C=A/B\n",
+ "C=math.ceil(C*10**4)/10**4; #rounding off to 4 decimals\n",
+ "X=T1**4\n",
+ "Y=T2**4\n",
+ "Y=math.ceil(Y*10**2)/10**2; #rounding off to 2 decimals\n",
+ "#C*((TC**4)-Y)=(Tc**4)-X\n",
+ "#C*(Tc**4)-(Tc**4)=C*Y-X\n",
+ "#(Tc**4)*(C-1)=(C*Y)-X\n",
+ "#let Tc**4 be D\n",
+ "#D*(C-1)=(C*Y)-X\n",
+ "D=((C*Y)-X)/(C-1)\n",
+ "D=math.ceil(D*10)/10; #rounding off to 1 decimals\n",
+ "Tc=D**(1/4)\n",
+ "Tc=math.ceil(Tc*10**4)/10**4; #rounding off to 4 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"the pentration depth at 0k is\",Tc);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('the pentration depth at 0k is', 7.1932)\n"
+ ]
+ }
+ ],
+ "prompt_number": 44
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 5.5, Page number 150"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#importing modules\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "Tc=7.2 #in K\n",
+ "Ho=6.5*10**3 #in amp per m\n",
+ "T=5 #in K\n",
+ "\n",
+ "#Calculation\n",
+ "Hc=Ho*(1-((T/Tc)**2))\n",
+ "Hc=math.ceil(Hc*10**2)/10**2; #rounding off to 2 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"the critical magnetic feild at 5K in amp per m is\",Hc)\n",
+ "\n",
+ "# answer given in the book is wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('the critical magnetic feild at 5K in amp per m is', 3365.36)\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 5.6, Page number 151"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#importing modules\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "Tc=3.5 #in K\n",
+ "Ho=3.2*10**3 #in amp per m\n",
+ "T=2.5 #in K\n",
+ "\n",
+ "#Calculation\n",
+ "Hc=Ho*(1-((T/Tc)**2))\n",
+ "Hc=math.ceil(Hc*10**2)/10**2; #rounding off to 2 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"the critical magnetic feild at 5K in amp per m is\",Hc)\n",
+ "\n",
+ "#answer in the book is wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('the critical magnetic feild at 5K in amp per m is', 1567.35)\n"
+ ]
+ }
+ ],
+ "prompt_number": 45
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 5.7, Page number 151"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#importing modules\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "Hc=5*10**3 #in amp per m\n",
+ "Ho=2*10**4 #in amp per m\n",
+ "T=6 #in K\n",
+ "\n",
+ "#Calculation\n",
+ "Tc=T/math.sqrt(1-(Hc/Ho))\n",
+ "Tc=math.ceil(Tc*10**2)/10**2; #rounding off to 2 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"the critical magnetic feild at 5K in amp per m is\",Tc)\n",
+ "\n",
+ "#answer in the book is wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('the critical magnetic feild at 5K in amp per m is', 6.93)\n"
+ ]
+ }
+ ],
+ "prompt_number": 66
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 5.8, Page number 152"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#importing modules\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "Hc=2*10**3 #in amp per m\n",
+ "R=0.02 #in m\n",
+ "\n",
+ "#Calculation\n",
+ "Ic=2*math.pi*R*Hc\n",
+ "Ic=math.ceil(Ic*10**2)/10**2; #rounding off to 2 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"the critical current is\",Ic)\n",
+ "\n",
+ "#answer in the book is wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('the critical magnetic feild at 5K in amp per m is', 251.33)\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 5.9, Page number 152"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#importing modules\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "M1=199.5 #in a.m.u\n",
+ "T1=5 #in K\n",
+ "T2=5.1 #in K\n",
+ "\n",
+ "#Calculation\n",
+ "M2=((T1/T2)**2)*M1\n",
+ "M2=math.ceil(M2*10**3)/10**3; #rounding off to 3 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"the isotopic mass of M2 is\",M2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('the isotopic mass of M2 is', 191.754)\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 5.10, Page number 152"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable declaration\n",
+ "D=3*10**-3 #in meters\n",
+ "Tc=8 #in K \n",
+ "T=5 #in K \n",
+ "Ho=5*10**4\n",
+ "\n",
+ "#Calculation\n",
+ "R=D/2\n",
+ "Hc=Ho*(1-((T/Tc)**2))\n",
+ "Ic=2*math.pi*R*Hc\n",
+ "Ic=math.ceil(Ic*10**3)/10**3; #rounding off to 3 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"critical magnetic feild in amp per m is\",round(Hc));\n",
+ "print(\"critical current in amp is\",Ic);\n",
+ "\n",
+ "#answer in the book is wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('critical magnetic feild in amp per m is', 30469.0)\n",
+ "('critical current in amp is', 287.162)\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 5.11, Page number 153"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#importing modules\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "M1=199.5 \n",
+ "M2=203.4 \n",
+ "Tc1=4.185 #in K\n",
+ "\n",
+ "#Calculation\n",
+ "Tc2=Tc1*math.sqrt(M1/M2)\n",
+ "Tc2=math.ceil(Tc2*10**3)/10**3; #rounding off to 3 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"the critical temperature is\",Tc2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('the critical temperature is', 4.145)\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 5.12, Page number 154"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#importing modules\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable declaration\n",
+ "V=8.5*10**-6 #in volts\n",
+ "e=1.6*10**-19 #in C\n",
+ "h=6.626*10**-24\n",
+ "\n",
+ "#Calculation\n",
+ "new=2*e*V/h\n",
+ "new=math.ceil(new*10**5)/10**5; #rounding off to 5 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"EM wave generated frequency in Hz is\",new)\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('EM wave generated frequency in Hz is', 0.41051)\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 5.13, Page number 154"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Variable declaration\n",
+ "p1=1 #in mm\n",
+ "p2=6 #in mm\n",
+ "Tc1=5 #in K\n",
+ "\n",
+ "#Calculation\n",
+ "Tc2=Tc1*(p2/p1);\n",
+ "\n",
+ "#Result\n",
+ "print(\"the critical temperature in K is\",round(Tc2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('the critical temperature in K is', 30.0)\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 5.14, Page number 154\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#Variable declaration\n",
+ "Tc=8.7 #in K\n",
+ "Hc=6*10**5 #in A per m\n",
+ "Ho=3*10**6 #in A per m\n",
+ "\n",
+ "#Calculation\n",
+ "T=Tc*(math.sqrt(1-(Hc/Ho)))\n",
+ "\n",
+ "#Result\n",
+ "print(\" maximum critical temperature in K is\",T)\n",
+ "\n",
+ "#answer given in the book is wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(' maximum critical temperature in K is', 7.781516561699267)\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Physics_Vijaya/chapter6_2.ipynb b/Engineering_Physics_Vijaya/chapter6_2.ipynb
new file mode 100755
index 00000000..4c7f2be8
--- /dev/null
+++ b/Engineering_Physics_Vijaya/chapter6_2.ipynb
@@ -0,0 +1,238 @@
+{
+ "metadata": {
+ "name": "chapter6 (1)"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": "Dielectric Properties"
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": "Example number 6.1, Page number 187"
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": "# To calculate the energy stored in the condenser and polarizing the dielectric\n\n#import module\nimport math\nfrom __future__ import division\n\n#Variable decleration\nC=2; #capacitance in micro farad\nC=C*10**-6; #capacitance in farad\nV=1000; #voltage in Volts\nepsilon_r=100; \n\n#Calculation\nW=(C*(V**2))/2;\nC0=C/epsilon_r;\nW0=(C0*(V**2))/2;\nW_0=1-W0;\n\n#Result\nprint(\"energy stored in the condenser in Joule is\",W);\nprint(\"energy stored in the dielectric in Joule is\",W_0);",
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": "('energy stored in the condenser in Joule is', 1.0)\n('energy stored in the dielectric in Joule is', 0.99)\n"
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": "Example number 6.2, Page number 188"
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": "# To calculate the ratio between electronic and ionic polarizability\n\n#import module\nimport math\nfrom __future__ import division\n\n#Variable decleration\nepsilon_r=4.94;\nN=2.69; #let n**2 be N\n\n#Calculaion\n#(epsilon_r-1)/(epsilon_r+2) = (N*alpha)/(3*epsilon_0)\n#alpha = alpha_e+alpha_i\n#therefore (epsilon_r-1)/(epsilon_r+2) = (N*(alpha_e+alpha_i))/(3*epsilon_0)\n#let (N*(alpha_e+alpha_i))/(3*epsilon_0) be X\nX=(epsilon_r-1)/(epsilon_r+2);\n#Ez=n^2\n#therefore (N-1)/(N+2) = (N*alpha_e)/(3*epsilon_0)\n#let (N*alpha_e)/(3*epsilon_0) be Y\nY=(N-1)/(N+2);\n#dividing X/Y = (N*(alpha_e+alpha_i))/(N*alpha_e)\n#therefore X/Y = 1+(alpha_i/alpha_e)\n#let alpha_i/alpha_e be A\nR=(X/Y)-1;\nR=math.ceil(R*10**4)/10**4; #rounding off to 4 decimals\n\n#Result\nprint(\"ratio between electronic and ionic polarizability is\",R);\n\n#answer given in the book is wrong in the second part",
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": "('ratio between electronic and ionic polarizability is', 0.5756)\n"
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": "Example number 6.3, Page number 188"
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": "# To calculate the dielectric constant of the material\n\n#import module\nimport math\nfrom __future__ import division\n\n#Variable decleration\nN=3*10**28; #atoms per m^3\nalpha_e=10**-40; #farad m^2\nepsilon_0=8.854*10**-12; #f/m\n\n#Calculation\nepsilon_r=1+(N*alpha_e/epsilon_0);\nepsilon_r=math.ceil(epsilon_r*10**3)/10**3; #rounding off to 3 decimals\n\n#Result\nprint(\"dielectric constant of the material is\",epsilon_r);",
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": "('dielectric constant of the material is', 1.339)\n"
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": "Example number 6.4, Page number 189"
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": "# To calculate the electronic polarizability of He atoms\n\n#import module\nimport math\nfrom __future__ import division\n\n#Variable decleration\nepsilon_0=8.854*10**-12; #f/m\nepsilon_r=1.0000684;\n\n#Calculation\nN=2.7*10**25; #atoms per m^3\nalpha_e=(epsilon_0*(epsilon_r-1))/N;\n\n#Result\nprint(\"electronic polarizability of He atoms in Fm^2 is\",alpha_e);",
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": "('electronic polarizability of He atoms in Fm^2 is', 2.2430133333322991e-41)\n"
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": "Example number 6.5, Page number 189"
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": "# To calculate the capacitance and charge\n\n#import module\nimport math\nfrom __future__ import division\n\n#Variable decleration\nepsilon_0=8.854*10**-12; #f/m\nA=100; #area in cm^2\nA=A*10**-4; #area in m^2\nV=100; #potential in V\nd=1; #plate seperation in cm\n\n#Calculation\nd=d*10**-2; #plate seperation in m\nC=(epsilon_0*A)/d;\nQ=C*V;\n\n#Result\nprint(\"charge on the plates in F is\",C);\nprint(\"charge on the capacitor in coulomb is\",Q);",
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": "('charge on the plates in F is', 8.854e-12)\n('charge on the capacitor in coulomb is', 8.854e-10)\n"
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": "Example number 6.6, Page number 190"
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": "# To calculate the resultant voltage across the capacitors\n\n#import module\nimport math\nfrom __future__ import division\n\n\n#Variable decleration\nQ=2*10**-10; #charge in coulomb\nd=4; #plate seperation in mm\nd=d*10**-3; #plate seperation in m\nepsilon_r=3.5;\nepsilon_0=8.85*10**-12; #f/m\nA=650; #area in mm^2\n\n#Calculation\nA=A*10**-6; #area in m^2\nV=(Q*d)/(epsilon_0*epsilon_r*A);\nV=math.ceil(V*10**3)/10**3; #rounding off to 3 decimals\n\n#Result\nprint(\"voltage across the capacitor in Volts is\",V);",
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": "('voltage across the capacitor in Volts is', 39.735)\n"
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": "Example number 6.7, Page number 190"
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": "# To calculate the dielectric displacement\n\n#import module\nimport math\nfrom __future__ import division\n\n\n#Variable decleration\nV=10; #potential in volts\nd=2*10**-3; #plate seperation in m\nepsilon_r=6; #dielectric constant\nepsilon_0=8.85*10**-12; #f/m\n\n#Calculation\nE=V/d;\nD=epsilon_0*epsilon_r*E;\n\n#Result\nprint(\"dielectric displacement in cm^-2 is\",D);\n\n#answer given in the book is wrong in the 7th decimal point",
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": "('dielectric displacement in cm^-2 is', 2.6549999999999994e-07)\n"
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": "Example number 6.8, Page number 191"
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": "# To calculate the polarizability and relative permittivity of He\n\n#import module\nimport math\nfrom __future__ import division\n\n\n#Variable decleration\nR=0.55; #radius of He atom in angstrom\nR=R*10**-10; #radius of He atom in m\nepsilon_0=8.84*10**-12; #f/m\nN=2.7*10**25;\n\n#Calculation\nalpha_e=4*math.pi*epsilon_0*R**3;\nepsilon_r=(N*alpha_e/epsilon_0)+1;\nepsilon_r=math.ceil(epsilon_r*10**6)/10**6; #rounding off to 6 decimals\n\n#Result\nprint(\"polarizability in farad m^2 is\",alpha_e);\nprint(\"relative permitivity is\",epsilon_r);",
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": "('polarizability in farad m^2 is', 1.848205241292183e-41)\n('relative permitivity is', 1.000057)\n"
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": "Example number 6.9, Page number 191"
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": "# To calculate the field strength and total dipole moment\n\n#import module\nimport math\nfrom __future__ import division\n\n\n#Variable decleration\nV=15; #potential difference in volts\nC=6; #capacity in micro farad\nC=C*10**-6; #capacity in farad\nepsilon_0=8.84*10**-12; #f/m\nepsilon_r=8;\nA=360; #surface area in cm^2\n\n#Calculation\nA=A*10**-4; #surface area in m^2\nE=(V*C)/(epsilon_0*epsilon_r*A);\nd=epsilon_0*(epsilon_r-1)*V*A;\n\n#Result\nprint(\"field strength in V/m is\",E);\nprint(\"total dipole moment in cm is\",d);\n\n#answer for field strength E given in the book is wrong ",
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": "('field strength in V/m is', 35350678.73303167)\n('total dipole moment in cm is', 3.34152e-11)\n"
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": "Example number 6.10, Page number 191"
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": "# To calculate the complex polarisability of material\n\n#import module\nimport math\nfrom __future__ import division\n\n#Variable decleration\nepsilonr=4.36; #dielectric constant\nt=2.8*10**-2; #loss tangent(t)\nN=4*10**28; #number of electrons\nepsilon0=8.84*10**-12; \n\n#Calculation\nepsilon_r = epsilonr*t;\nepsilonstar = (complex(epsilonr,-epsilon_r));\nalphastar = (epsilonstar-1)/(epsilonstar+2);\nalpha_star = 3*epsilon0*alphastar/N; #complex polarizability(Fm**2)\n\n#Result\nprint(\"the complex polarizability in F-m^2 is\"'alphastar',alpha_star);\n#disp('j',I,R);\n#by taking 10^-40 common we get alphastar = (3.5-j0.06)*10^-40 F-m^2",
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": "('the complex polarizability in F-m^2 isalphastar', (3.5037933503257222e-40-6.000743833211258e-42j))\n"
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": "",
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Physics_Vijaya/chapter7_2.ipynb b/Engineering_Physics_Vijaya/chapter7_2.ipynb
new file mode 100755
index 00000000..d4161b18
--- /dev/null
+++ b/Engineering_Physics_Vijaya/chapter7_2.ipynb
@@ -0,0 +1,1514 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:b26f0e8151a54ecdc596868a34547e181ac6dce2c5aea4a02c15b80e1401fd4f"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Semiconductors"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 7.1, Page number 251"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "T1=300; #temp in K\n",
+ "T2=310; #temp in K\n",
+ "ni1=2.5*10**19; #per cubic metre\n",
+ "EgeV1=0.72; #value of Eg in eV\n",
+ "EgeV2=1.12; #value of Eg in eV\n",
+ "\n",
+ "#Calculation\n",
+ "Eg1=EgeV1*1.6*10**-19; #Eg in J\n",
+ "Eg2=EgeV2*1.6*10**-19; #Eg in J\n",
+ "KB=1.38*10**-23; #boltzmann constant in J/k\n",
+ "#density of electron hole pair is ni = A*(T**(3/2))*exp(-Eg/(2*KB*T))\n",
+ "#let (T**(3/2))*exp(-Eg/(2*KB*T)) be X\n",
+ "X1=(T1**(3/2))*math.exp(-Eg1/(2*KB*T1));\n",
+ "X2=(T2**(3/2))*math.exp(-Eg2/(2*KB*T2));\n",
+ "#therefore ni1=A*X1 and ni2=A*X2. dividing ni2/ni1 we get X2/X1\n",
+ "ni2=ni1*(X2/X1);\n",
+ "\n",
+ "#Result\n",
+ "print(\"the number of electron hole pairs per cubic metre is\",ni2);\n",
+ "\n",
+ "#answer given in the book is wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('the number of electron hole pairs per cubic metre is', 2.3207901206362184e+16)\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 7.2, Page number 251"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "RH=3.66*10**-4; #hall coefficient in m^3/coulomb\n",
+ "sigma=112; #conductivity in ohm-1 m-1\n",
+ "e=1.6*10**-19;\n",
+ "\n",
+ "#Calculation\n",
+ "ne=1/(RH*e);\n",
+ "#sigma = e*ne*(mew_e+mew_h)\n",
+ "#assuming mew_h = 0\n",
+ "mew_e=sigma/(e*ne);\n",
+ "\n",
+ "#Result\n",
+ "print(\"the charge carrier density per m^3 is\",ne);\n",
+ "print(\"electron mobility in m^2/Vs is\",mew_e);\n",
+ "\n",
+ "#answer given in the book is wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('the charge carrier density per m^3 is', 1.7076502732240434e+22)\n",
+ "('electron mobility in m^2/Vs is', 0.040992)\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 7.3, Page number 252"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "ni=1.5*10**16; #intrinsic concentration per m^3\n",
+ "e=1.6*10**-19;\n",
+ "mew_e=0.13; #mobility of electrons in m^2/Vs\n",
+ "mew_h=0.05; #mobility of holes in m^2/Vs\n",
+ "ND=5*10**20; #conductivity in atoms/m^3\n",
+ "\n",
+ "#Calculation\n",
+ "sigma1=ni*e*(mew_e+mew_h);\n",
+ "nd=(ni**2)/ND;\n",
+ "sigma2=ND*e*mew_e;\n",
+ "NA=5*10**20;\n",
+ "na=(ni**2)/NA;\n",
+ "sigma3=NA*e*mew_h;\n",
+ "sigma1=math.ceil(sigma1*10**7)/10**7; #rounding off to 7 decimals\n",
+ "sigma2=math.ceil(sigma2*10**2)/10**2; #rounding off to 2 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"intrinsic conductivity of Si in ohm-1 m-1 is\",sigma1);\n",
+ "print(\"conductivity of Si during donor impurity in ohm-1 m-1 is\",sigma2);\n",
+ "print(\"conductivity of Si during acceptor impurity in ohm-1 m-1 is\",round(sigma3));"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('intrinsic conductivity of Si in ohm-1 m-1 is', 0.000432)\n",
+ "('conductivity of Si during donor impurity in ohm-1 m-1 is', 10.41)\n",
+ "('conductivity of Si during acceptor impurity in ohm-1 m-1 is', 4.0)\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 7.4, Page number 253"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "sigma1=2; #conductivity in ohm-1 m-1\n",
+ "EgeV=0.72; #band gap in eV\n",
+ "KB=1.38*10**-23; #boltzmann constant\n",
+ "T1=20; #temp in C\n",
+ "T2=40; #temp in C\n",
+ "\n",
+ "#Calculation\n",
+ "Eg=EgeV*1.6*10**-19; #in J\n",
+ "T1=T1+273; #temp in K\n",
+ "T2=T2+273; #temp in K\n",
+ "#sigma2/sigma1 = exp((-Eg/(2*KB))*((1/T2)-(1/T1)))\n",
+ "#by taking log on both sides we get 2.303*log10(sigma2/sigma1) = (Eg/(2*KB))*((1/T1)-(1/T2))\n",
+ "#let (Eg/(2*KB))*((1/T1)-(1/T2)) be X\n",
+ "X=(Eg/(2*KB))*((1/T1)-(1/T2));\n",
+ "#let log10(sigma2/sigma1) be Y\n",
+ "Y=X/2.303;\n",
+ "#log10(sigma2/sigma1) = log10(sigma2)-log10(sigma1)\n",
+ "#let log10(sigma2) be A\n",
+ "A=Y+math.log10(sigma1);\n",
+ "sigma2=10**A;\n",
+ "sigma2=math.ceil(sigma2*10**2)/10**2; #rounding off to 2 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"the conductivity in mho m-1 is\",sigma2);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('the conductivity in mho m-1 is', 4.97)\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 7.5, Page number 253"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "mew_n=1300*10**-4; #in m^2/Vs\n",
+ "mew_p=500*10**-4; #in m^2/Vs\n",
+ "sigma=3*10**4; #conductivity in ohm-1 m-1\n",
+ "e=1.6*10**-19;\n",
+ "\n",
+ "#Calculation\n",
+ "N=sigma/(e*mew_n);\n",
+ "ni=1.5*10**16; #per m^3\n",
+ "p=(ni**2)/N;\n",
+ "P=sigma/(e*mew_p);\n",
+ "n=(ni**2)/P;\n",
+ "N=math.ceil(N*10**4)/10**4; #rounding off to 4 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"concentration of electrons in n-type per cubic metre are\",N);\n",
+ "print(\"concentration of holes in n-type per cubic metre are\",round(p));\n",
+ "print(\"concentration of electrons in p-type per cubic metre are\",round(n));\n",
+ "print(\"concentration of holes in p-type per cubic metre are\",P);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('concentration of electrons in n-type per cubic metre are', 1.4423076923076921e+24)\n",
+ "('concentration of holes in n-type per cubic metre are', 156000000.0)\n",
+ "('concentration of electrons in p-type per cubic metre are', 60000000.0)\n",
+ "('concentration of holes in p-type per cubic metre are', 3.7499999999999995e+24)\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 7.6, Page number 254"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "ni=2.37*10**19; #intrinsic carrier density per m^3\n",
+ "mew_e=0.38; #in m**2/Vs\n",
+ "mew_n=0.18; #in m**2/Vs\n",
+ "\n",
+ "#Calculation\n",
+ "e=1.6*10**-19;\n",
+ "sigmai=ni*e*(mew_e+mew_n);\n",
+ "rho=1/sigmai;\n",
+ "rho=math.ceil(rho*10**3)/10**3; #rounding off to 3 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"resistivity in ohm m is\",rho);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('resistivity in ohm m is', 0.471)\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 7.7, Page number 254"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "Eg=1.12; #band gap in eV\n",
+ "K=1.38*10**-23;\n",
+ "T=300; #temp in K\n",
+ "\n",
+ "#Calculation\n",
+ "#EF = (Eg/2)+(3*K*T/4)*log(mh/me)\n",
+ "#given me=0.12m0 and mh=0.28m0. therefore mh/me = 0.28/0.12 \n",
+ "#let mh/me be X. therefore X=0.28/0.12 \n",
+ "X=0.28/0.12;\n",
+ "EF=(Eg/2)+((3*K*T/4)*math.log(X));\n",
+ "\n",
+ "#Result\n",
+ "print(\"the position of fermi level in eV is\",EF);\n",
+ "\n",
+ "#answer given in the book is wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('the position of fermi level in eV is', 0.56)\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 7.8, Page number 254"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "KB=1.38*10**-23;\n",
+ "T=300; #temp in K\n",
+ "h=6.626*10**-34;\n",
+ "m0=9.11*10**-31;\n",
+ "mh=m0;\n",
+ "me=m0;\n",
+ "EgeV=0.7; #energy gap in eV\n",
+ "\n",
+ "#Calculation\n",
+ "Eg=EgeV*1.6*10**-19; #in J\n",
+ "A=((2*math.pi*KB/(h**2))**(3/2))*(me*mh)**(3/4);\n",
+ "B=T**(3/2);\n",
+ "C=math.exp(-Eg/(2*KB*T));\n",
+ "ni=2*A*B*C;\n",
+ "\n",
+ "#Result\n",
+ "print(\"concentration of intrinsic charge carriers per cubic metre is\",ni);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('concentration of intrinsic charge carriers per cubic metre is', 3.3481803992458756e+19)\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 7.9, Page number 255"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "ni=2.4*10**19;\n",
+ "mew_e=0.39;\n",
+ "mew_h=0.19;\n",
+ "e=1.6*10**-19;\n",
+ "\n",
+ "#Result\n",
+ "sigmai=ni*e*(mew_e+mew_h);\n",
+ "rhoi=1/sigmai;\n",
+ "rhoi=math.ceil(rhoi*10**2)/10**2; #rounding off to 2 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"resistivity in ohm m is\",rhoi);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('resistivity in ohm m is', 0.45)\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 7.10, Page number 255"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "l=1; #length in cm\n",
+ "l=l*10**-2; #length in m\n",
+ "e=1.6*10**-19;\n",
+ "w=1; #width in mm\n",
+ "t=1; #thickness in mm\n",
+ "\n",
+ "#Calculation\n",
+ "w=w*10**-3; #width in m\n",
+ "t=t*10**-3; #thickness in m\n",
+ "A=w*t;\n",
+ "ni=2.5*10**19;\n",
+ "mew_e=0.39;\n",
+ "mew_p=0.19;\n",
+ "sigma=ni*e*(mew_p+mew_e);\n",
+ "R=l/(sigma*A);\n",
+ "\n",
+ "#Result\n",
+ "print(\"resistance of intrinsic Ge rod in ohm is\",R);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('resistance of intrinsic Ge rod in ohm is', 4310.3448275862065)\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 7.11, Page number 255"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "Eg=1.1; #energy gap in eV\n",
+ "m=9.109*10**-31;\n",
+ "k=1.38*10**-23;\n",
+ "T=300;\n",
+ "e=1.6*10**-19;\n",
+ "h=6.626*10**-34;\n",
+ "mew_e=0.48; #electron mobility\n",
+ "mew_h=0.013; #hole mobility\n",
+ "\n",
+ "#Calculation\n",
+ "C=2*(2*math.pi*m*k/(h**2))**(3/2);\n",
+ "X=2*k*T/e;\n",
+ "Y=-Eg/X;\n",
+ "A=math.exp(Y);\n",
+ "ni=C*(T**(3/2))*A;\n",
+ "sigma=ni*e*(mew_e+mew_h);\n",
+ "sigma=math.ceil(sigma*10**6)/10**6 #rounding off to 6 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"conductivity in ohm-1 m-1 is\",sigma);\n",
+ "\n",
+ "# answer given in the book is wrong, Page number 255"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('conductivity in ohm-1 m-1 is', 0.001162)\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 7.12, Page number 256"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "m=9.109*10**-31;\n",
+ "k=1.38*10**-23;\n",
+ "T=300;\n",
+ "e=1.6*10**-19;\n",
+ "h=6.626*10**-34;\n",
+ "Eg=0.7;\n",
+ "mew_e=0.4; #electron mobility\n",
+ "mew_h=0.2; #hole mobility\n",
+ "\n",
+ "#Calculation\n",
+ "C=2*(2*math.pi*m*k/((h**2)))**(3/2);\n",
+ "X=2*k*T/e;\n",
+ "ni=C*(T**(3/2))*math.exp(-Eg/X);\n",
+ "sigma=ni*e*(mew_e+mew_h);\n",
+ "sigma=math.ceil(sigma*10**3)/10**3 #rounding off to 3 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"conductivity in ohm-1 m-1\",sigma);\n",
+ "\n",
+ "#answer given in the book is wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('conductivity in ohm-1 m-1', 3.214)\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 7.13, Page number 256"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "k=8.616*10**-5;\n",
+ "T1=20; #temp in C\n",
+ "T1=T1+273; #temp in K\n",
+ "T2=32; #temp in C\n",
+ "rho2=4.5; #resistivity in ohm m\n",
+ "rho1=2; #resistivity in ohm m\n",
+ "\n",
+ "#Calculation\n",
+ "T2=T2+273; #temp in K\n",
+ "dy=math.log10(rho2)-math.log10(rho1);\n",
+ "dx=(1/T1)-(1/T2);\n",
+ "Eg=2*k*dy/dx;\n",
+ "Eg=math.ceil(Eg*10**3)/10**3 #rounding off to 3 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"energy band gap in eV is\",Eg);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('energy band gap in eV is', 0.452)\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 7.13, Page number 256"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "k=8.616*10**-5;\n",
+ "T1=20; #temp in C\n",
+ "T2=32; ##temp in C\n",
+ "rho2=4.5; #resistivity in ohm m\n",
+ "rho1=2; #resistivity in ohm m\n",
+ "\n",
+ "#Calculation\n",
+ "T1=T1+273; #temp in K\n",
+ "T2=T2+273; #temp in K\n",
+ "dy=math.log10(rho2)-math.log10(rho1);\n",
+ "dx=(1/T1)-(1/T2);\n",
+ "Eg=2*k*dy/dx;\n",
+ "Eg=math.ceil(Eg*10**3)/10**3 #rounding off to 3 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"energy band gap in eV is\",Eg);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('energy band gap in eV is', 0.452)\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 7.14, Page number 257"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "EgeV=1; #energy in eV\n",
+ "k=1.38*10**-23;\n",
+ "Eg=EgeV*1.602*10**-19; #in J\n",
+ "#EF can be taken as (Ev+0.5)eV\n",
+ "#therefore (Ev+0.5)eV = (Ec+Ev)/2--------(1)\n",
+ "#let fermi level shift by 10% then (Ev+0.6)eV = ((Ec+Ev)/2)+((3*k*T/4)*log(4))-----(2)\n",
+ "#subtracting (1) from (2)\n",
+ "#0.1 eV = (3*k*T/4)*math.log(4)\n",
+ "E=0.1; #energy in eV\n",
+ "E=E*1.602*10**-19; #energy in J\n",
+ "T=(4*E)/(3*k*math.log(4));\n",
+ "\n",
+ "#Result\n",
+ "print(\"temperature in K is\",T);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('temperature in K is', 1116.520509905372)\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 7.15, Page number 257"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "ni=1.5*10**16;\n",
+ "e=1.6*10**-19;\n",
+ "mew_e=0.13;\n",
+ "mew_h=0.05;\n",
+ "\n",
+ "#Calculation\n",
+ "sigma=ni*e*(mew_e+mew_h);\n",
+ "M=28.1; #atomic weight of Si\n",
+ "d=2.33*10**3; #density in kg/m^3\n",
+ "v=M/d;\n",
+ "N=6.02*10**26;\n",
+ "N1=N/v;\n",
+ "#1 donor type impurity is added to 1 impurity atom\n",
+ "ND=N1/(10**8);\n",
+ "p=(ni**2)/ND;\n",
+ "sigma_exd=ND*e*mew_e;\n",
+ "#1 acceptor type impurity is added to 1 impurity atom\n",
+ "Na=N1/(10**8);\n",
+ "n=(ni**2)/Na;\n",
+ "sigma_exa=Na*e*mew_h;\n",
+ "sigma=math.ceil(sigma*10**7)/10**7 #rounding off to 7 decimals\n",
+ "sigma_exd=math.ceil(sigma_exd*10**3)/10**3 #rounding off to 3 decimals\n",
+ "sigma_exa=math.ceil(sigma_exa*10**3)/10**3 #rounding off to 3 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"conductivity in ohm-1 m-1 is\",sigma);\n",
+ "print(\"number of Si atoms per m^3 is\",N1);\n",
+ "print(\"conductivity for donor type impurity in ohm-1 m-1 is\",sigma_exd);\n",
+ "print(\"conductivity for acceptor type impurity in ohm-1 m-1 is\",sigma_exa);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('conductivity in ohm-1 m-1 is', 0.000432)\n",
+ "('number of Si atoms per m^3 is', 4.991672597864769e+28)\n",
+ "('conductivity for donor type impurity in ohm-1 m-1 is', 10.383)\n",
+ "('conductivity for acceptor type impurity in ohm-1 m-1 is', 3.994)\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 7.16, Page number 258"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "T=300; #temperature in K\n",
+ "KB=1.38*10**-23;\n",
+ "e=1.6*10**-19;\n",
+ "mew_e=0.19; #mobility of electrons in m^2/Vs\n",
+ "\n",
+ "#Calculation\n",
+ "Dn=mew_e*KB*T/e;\n",
+ "Dn=math.ceil(Dn*10**6)/10**6 #rounding off to 6 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"diffusion coefficient of electrons in m^2/s is\",Dn);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('diffusion coefficient of electrons in m^2/s is', 0.004917)\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 7.17, Page number 259"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "\n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "RH=3.66*10**-4; #hall coefficient in m^3/coulomb\n",
+ "I=10**-2; #current in amp\n",
+ "B=0.5; #magnetic field in wb/m^2\n",
+ "t=1; #thickness in mm\n",
+ "\n",
+ "#Calculation\n",
+ "t=t*10**-3; #thickness in m\n",
+ "VH=(RH*I*B)/t;\n",
+ "VH=VH*10**3; #converting from Volts to mV\n",
+ "\n",
+ "#Result\n",
+ "print(\"Hall voltage in mV is\",VH);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('Hall voltage in mV is', 1.83)\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 7.18, Page number 259"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "RH=-7.35*10**-5; #hall coefficient\n",
+ "e=1.6*10**-19;\n",
+ "sigma=200;\n",
+ "\n",
+ "#Calculation\n",
+ "n=(-1/(RH*e));\n",
+ "mew=sigma/(n*e);\n",
+ "\n",
+ "#Result\n",
+ "print(\"density of charge carriers in m^3 is\",n);\n",
+ "print(\"mobility of charge carriers in m^2/Vs is\",mew);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('density of charge carriers in m^3 is', 8.503401360544217e+22)\n",
+ "('mobility of charge carriers in m^2/Vs is', 0.0147)\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 7.19, Page number 259"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "I=50; #current in amp\n",
+ "B=1.5; #magnetic field in T\n",
+ "n=8.4*10**28; #free electron concentration in electron/m^3\n",
+ "t=0.5; #thickness in cm\n",
+ "e=1.6*10**-19;\n",
+ "\n",
+ "#Calculation\n",
+ "t=t*10**-2; #thickness in m\n",
+ "VH=(I*B)/(n*e*t);\n",
+ "VH=VH*10**6; #converting VH from V to micro V\n",
+ "VH=math.ceil(VH*10**4)/10**4 #rounding off to 4 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"magnitude of Hall voltage in microVolt is\",VH);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('magnitude of Hall voltage in microVolt is', 1.1161)\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 7.20, Page number 260"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "\n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "RH=3.66*10**-4;\n",
+ "e=1.6*10**-19;\n",
+ "rho_n=8.93*10**-3;\n",
+ "\n",
+ "#Calculation\n",
+ "n=1/(RH*e);\n",
+ "mew_e=RH/rho_n;\n",
+ "mew_e=math.ceil(mew_e*10**5)/10**5 #rounding off to 5 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"n per m^3 is\",n);\n",
+ "print(\"mew_e in m^2/V is\",mew_e);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('n per m^3 is', 1.7076502732240434e+22)\n",
+ "('mew_e in m^2/V is', 0.04099)\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 7.21, Page number 260"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "mew_e=0.13; #electron mobility in m^2/Vs\n",
+ "mew_h=0.048; #hole mobility in m^2/Vs\n",
+ "ni=1.5*10**16;\n",
+ "e=1.6*10**-19;\n",
+ "T=300; #temp in K\n",
+ "ND=10**23; #density per m^3\n",
+ "\n",
+ "#Calculation\n",
+ "sigmai=ni*e*(mew_e+mew_h);\n",
+ "sigma=ND*mew_e*e;\n",
+ "p=(ni**2)/ND;\n",
+ "sigmai=math.ceil(sigmai*10**5)/10**5 #rounding off to 5 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"conductivity of intrinsic Si in s is\",sigmai);\n",
+ "print(\"conductivity in s is\",sigma);\n",
+ "print(\"equilibrium hole concentration per m^3 is\",round(p));\n",
+ "\n",
+ "#answers for sigmai and sigma given in the book are wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('conductivity of intrinsic Si in s is', 0.00043)\n",
+ "('conductivity in s is', 2080.0)\n",
+ "('equilibrium hole concentration per m^3 is', 2250000000.0)\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 7.22, Page number 261"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "T=300; #temp in K\n",
+ "kB=1.38*10**-23;\n",
+ "mew_e=0.36; #mobility of electrons in m^2/Vs\n",
+ "e=1.6*10**-19;\n",
+ "mew_h=0.7; #mobility of electrons in m^2/Vs\n",
+ "sigma=2.12; #conductivity in ohm-1 m-1\n",
+ "C=4.83*10**21; #proportional constant\n",
+ "\n",
+ "#Calculation\n",
+ "ni=sigma/(e*(mew_e+mew_h));\n",
+ "#exp(-Eg/(2*kB*T)) = (C*(T^(3/2)))/ni\n",
+ "#let X be (C*(T^(3/2)))/ni\n",
+ "X=(C*(T**(3/2)))/ni;\n",
+ "#exp(-Eg/(2*kB*T)) = X \n",
+ "#applyinf log on both sides\n",
+ "#Eg/(2*kB*T) = log(X)\n",
+ "Eg=2*kB*T*math.log(X);\n",
+ "\n",
+ "#Result\n",
+ "print(\"forbidden energy gap in eV is\",Eg);\n",
+ "\n",
+ "#answer given in the book is wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('forbidden energy gap in eV is', 1.2016388762259164e-19)\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 7.23, Page number 261"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "Eg=0.4; #energy gap in eV\n",
+ "Eg=Eg*1.6*10**-19; #Eg in J\n",
+ "KB=1.38*10**-23;\n",
+ "T1=0; #temp 1 in C\n",
+ "T2=50; #temp 2 in C\n",
+ "T3=100; #temp 3 in C\n",
+ "\n",
+ "#Calculation\n",
+ "T1k=T1+273; #temp 1 in K\n",
+ "T2k=T2+273; #temp 2 in K\n",
+ "T3k=T3+273; #temp 3 in K\n",
+ "#F(E) = 1/(1+(exp((E-Ep)/(KB*T))))\n",
+ "#but E-Ep = (1/2)*Eg\n",
+ "#therefore F(E) = 1/(1+(exp(Eg/(2*KB*T))))\n",
+ "FE1=1/(1+(math.exp(Eg/(2*KB*T1k))));\n",
+ "FE2=1/(1+(math.exp(Eg/(2*KB*T2k))));\n",
+ "FE3=1/(1+(math.exp(Eg/(2*KB*T3k))));\n",
+ "FE1=math.ceil(FE1*10**6)/10**6 #rounding off to 6 decimals\n",
+ "FE2=math.ceil(FE2*10**6)/10**6 #rounding off to 6 decimals\n",
+ "FE3=math.ceil(FE3*10**6)/10**6 #rounding off to 6 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"probability of occupation at 0 C in eV is\",FE1);\n",
+ "print(\"probability of occupation at 50 C in eV is\",FE2);\n",
+ "print(\"probability of occupation at 100 C in eV is\",FE3);\n",
+ "\n",
+ "#answers given in the book are wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('probability of occupation at 0 C in eV is', 0.000205)\n",
+ "('probability of occupation at 50 C in eV is', 0.000762)\n",
+ "('probability of occupation at 100 C in eV is', 0.001992)\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 7.24, Page number 262"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "Eg=1.2; #energy in eV\n",
+ "Eg=Eg*1.6*10**-19; #in J\n",
+ "KB=1.38*10**-23;\n",
+ "T1=600; #temp in K\n",
+ "T2=300; #temp in K\n",
+ "\n",
+ "#Calculation\n",
+ "#sigma is proportional to exp(-Eg/(2*KB*T))\n",
+ "#let sigma1/sigma2 be R\n",
+ "R=math.exp((Eg/(2*KB))*((1/T2)-(1/T1)));\n",
+ "\n",
+ "#Result\n",
+ "print(\"the ratio between conductivity is\",round(R));\n",
+ "\n",
+ "#answer given in the book is wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('the ratio between conductivity is', 108467.0)\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 7.25, Page number 263"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "ni=2.5*10**19; #density of charge carriers in m^3\n",
+ "r=1/(10**6); #ratio\n",
+ "e=1.6*10**-19;\n",
+ "mew_e=0.36; #mobility of electrons in m^2/Vs\n",
+ "mew_h=0.18; #mobility of holes in m^2/Vs\n",
+ "N=4.2*10**28; #number of Si atoms per m^3\n",
+ "\n",
+ "#Calculation\n",
+ "Ne=r*N;\n",
+ "Nh=(ni**2)/Ne;\n",
+ "sigma=(Ne*e*mew_e)+(Nh*e*mew_h);\n",
+ "rho=1/sigma;\n",
+ "rho=math.ceil(rho*10**8)/10**8 #rounding off to 8 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"number of impurity atoms per m^3 is\",Ne);\n",
+ "print(\"the resistivity of doped Ge in ohm m is\",rho);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('number of impurity atoms per m^3 is', 4.2e+22)\n",
+ "('the resistivity of doped Ge in ohm m is', 0.00041336)\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 7.26, Page number 264"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "n=5*10**17; #concentration in m^3\n",
+ "vd=350; #drift velocity in m/s\n",
+ "E=1000; #electric field in V/m\n",
+ "e=1.6*10**-19;\n",
+ "\n",
+ "#Calculation\n",
+ "mew=vd/E;\n",
+ "sigma=n*e*mew;\n",
+ "sigma=math.ceil(sigma*10**4)/10**4 #rounding off to 4 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"the conductivity of material in ohm m is\",sigma);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('the conductivity of material in ohm m is', 0.028)\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 7.27, Page number 264"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "sigma_e=2.2*10**-4; #conductivity\n",
+ "mew_e=125*10**-3; #mobility of electrons in m^2/Vs\n",
+ "e=1.602*10**-19;\n",
+ "\n",
+ "#Calculation\n",
+ "ne=sigma_e/(e*mew_e);\n",
+ "\n",
+ "#Result\n",
+ "print(\"concentration in m^3 is\",ne);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('concentration in m^3 is', 1.0986267166042448e+16)\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 7.28, Page number 265"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "RH=3.66*10**-4; #hall coefficient in m^3/c\n",
+ "rho_i=8.93*10**-3; #resistivity in ohm m\n",
+ "e=1.6*10**-19;\n",
+ "\n",
+ "#Calculation\n",
+ "nh=1/(RH*e);\n",
+ "mew_h=1/(rho_i*nh*e);\n",
+ "mew_h=math.ceil(mew_h*10**4)/10**4 #rounding off to 4 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"density of charge carriers in m^3 is\",nh);\n",
+ "print(\"mobility of charge carriers is %f m^2/Vs\",mew_h);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('density of charge carriers in m^3 is', 1.7076502732240434e+22)\n",
+ "('mobility of charge carriers is %f m^2/Vs', 0.041)\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 7.29, Page number 265"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import module\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "I=3; #current in mA\n",
+ "I=I*10**-3; #current in amp\n",
+ "e=1.6*10**-19;\n",
+ "RH=3.66*10**-4; #hall coefficient in m^3/C\n",
+ "B=1; #flux density in w/m^2\n",
+ "d=2; #dimension along Y in cm\n",
+ "z=1; #dimension along z in mm\n",
+ "\n",
+ "#Calculation\n",
+ "d=d*10**-2; #dimension along Y in m\n",
+ "z=z*10**-3; #dimension along z in m\n",
+ "A=d*z; #area in m^2\n",
+ "EH=RH*I*B/A;\n",
+ "VH=EH*d;\n",
+ "VH=VH*10**3; #converting from V to mV\n",
+ "n=1/(RH*e);\n",
+ "VH=math.ceil(VH*10**2)/10**2 #rounding off to 2 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"Hall voltage in mV is\",VH);\n",
+ "print(\"charge carrier concentration in m^3 is\",n);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('Hall voltage in mV is', 1.1)\n",
+ "('charge carrier concentration in m^3 is', 1.7076502732240434e+22)\n"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Physics_Vijaya/chapter8_2.ipynb b/Engineering_Physics_Vijaya/chapter8_2.ipynb
new file mode 100755
index 00000000..2dc13b1f
--- /dev/null
+++ b/Engineering_Physics_Vijaya/chapter8_2.ipynb
@@ -0,0 +1,253 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:064d55405a5d05f007b28f32cf39a9f99d10f303fc4084e2d14d99aaeb87858c"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Physics of Nano Materials"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 8.1, Page number 320"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import modules\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "r=5; #radius in m\n",
+ "pi=3.14;\n",
+ "\n",
+ "#Calculation \n",
+ "SA=4*pi*r**2; #surface area of sphere in m^2\n",
+ "V=(4/3)*pi*r**3; #volume of sphere in m^3\n",
+ "R=SA/V; #ratio\n",
+ "#surface area to volume ratio can also be given by 3/radius\n",
+ "\n",
+ "#Result\n",
+ "print(\"surface area to volume ratio of sphere in m-1 is\",R);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('surface area to volume ratio of sphere in m-1 is', 0.6)\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 8.2, Page number 321"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import modules\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "d=26; #distance in m\n",
+ "r=d/2; #radius in m\n",
+ "pi=3.14;\n",
+ "\n",
+ "#Calculation\n",
+ "SA=4*pi*r**2; #surface area of sphere in m^2\n",
+ "V=(4/3)*pi*r**3; #volume of sphere in m^3\n",
+ "R=SA/V; #ratio\n",
+ "R=math.ceil(R*10**3)/10**3; #rounding off to 3 decimals\n",
+ "#surface area to volume ratio can also be given by 3/radius\n",
+ "\n",
+ "#Result\n",
+ "print(\"surface area to volume ratio of sphere in m-1 is\",R);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('surface area to volume ratio of sphere in m-1 is', 0.231)\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 8.3, Page number 321"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import modules\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "r=1; #radius in m\n",
+ "h=1; #height in m\n",
+ "pi=3.14\n",
+ "\n",
+ "#Calculation\n",
+ "V=(1/3)*pi*(r**2)*h;\n",
+ "V=math.ceil(V*10**2)/10**2; #rounding off to 2 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"volume of cone in m^3 is\",V); "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('volume of cone in m^3 is', 1.05)\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 8.4, Page number 321"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import modules\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "r=3; # radius in m\n",
+ "h=4; # height in m\n",
+ "pi=3.14\n",
+ "\n",
+ "#Calculation\n",
+ "SA=pi*r*math.sqrt((r**2)+(h**2));\n",
+ "TSA=SA+(pi*r**2);\n",
+ "\n",
+ "#Result\n",
+ "print(\"total surface area of cone in m^2 is\",TSA);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('total surface area of cone in m^2 is', 75.36)\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 8.5, Page number 322"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "#import modules\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable decleration\n",
+ "V=100; #volume of cone in cubic inches\n",
+ "r=5; #radius of cone in inches\n",
+ "pi=3.14;\n",
+ "\n",
+ "#Calculation\n",
+ "r_m=r*0.0254; #radius of cone in m\n",
+ "#volume V=(1/3)*pi*(r**2)*h\n",
+ "#therefore h = (3*V)/(pi*r**2)\n",
+ "h=(3*V)/(pi*r**2); #height in inches\n",
+ "R=3/r_m;\n",
+ "h=math.ceil(h*10**3)/10**3; #rounding off to 3 decimals\n",
+ "\n",
+ "#Result\n",
+ "print(\"height of the cone in inches is\",h);\n",
+ "print(\"surface area to volume ratio in m-1 is\",R);\n",
+ "\n",
+ "#answer for the surface area to volume ratio given in the book is wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "('height of the cone in inches is', 3.822)\n",
+ "('surface area to volume ratio in m-1 is', 23.62204724409449)\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Physics_Vijaya/screenshots/Capture1.png b/Engineering_Physics_Vijaya/screenshots/Capture1.png
new file mode 100755
index 00000000..b8e54e85
--- /dev/null
+++ b/Engineering_Physics_Vijaya/screenshots/Capture1.png
Binary files differ
diff --git a/Engineering_Physics_Vijaya/screenshots/Capture2.png b/Engineering_Physics_Vijaya/screenshots/Capture2.png
new file mode 100755
index 00000000..74b4cf73
--- /dev/null
+++ b/Engineering_Physics_Vijaya/screenshots/Capture2.png
Binary files differ
diff --git a/Engineering_Physics_Vijaya/screenshots/Untitled.png b/Engineering_Physics_Vijaya/screenshots/Untitled.png
new file mode 100755
index 00000000..86bbbd1e
--- /dev/null
+++ b/Engineering_Physics_Vijaya/screenshots/Untitled.png
Binary files differ
diff --git a/Engineering_Physics_Vijaya/screenshots/Untitled1.png b/Engineering_Physics_Vijaya/screenshots/Untitled1.png
new file mode 100755
index 00000000..f9ffad82
--- /dev/null
+++ b/Engineering_Physics_Vijaya/screenshots/Untitled1.png
Binary files differ
diff --git a/Engineering_Physics_Vijaya/screenshots/Untitled3.png b/Engineering_Physics_Vijaya/screenshots/Untitled3.png
new file mode 100755
index 00000000..f06b09bb
--- /dev/null
+++ b/Engineering_Physics_Vijaya/screenshots/Untitled3.png
Binary files differ
diff --git a/Engineering_Physics_Vijaya/screenshots/Untitled_1.png b/Engineering_Physics_Vijaya/screenshots/Untitled_1.png
new file mode 100755
index 00000000..cb197fae
--- /dev/null
+++ b/Engineering_Physics_Vijaya/screenshots/Untitled_1.png
Binary files differ
diff --git a/Engineering_Physics_Vijaya/screenshots/Untitled_2.png b/Engineering_Physics_Vijaya/screenshots/Untitled_2.png
new file mode 100755
index 00000000..cb197fae
--- /dev/null
+++ b/Engineering_Physics_Vijaya/screenshots/Untitled_2.png
Binary files differ
diff --git a/Engineering_Physics_Vijaya/screenshots/capture.png b/Engineering_Physics_Vijaya/screenshots/capture.png
new file mode 100755
index 00000000..b105e148
--- /dev/null
+++ b/Engineering_Physics_Vijaya/screenshots/capture.png
Binary files differ
diff --git a/Engineering_Physics_Vijaya/screenshots/screenshot1.PNG b/Engineering_Physics_Vijaya/screenshots/screenshot1.PNG
new file mode 100755
index 00000000..419ba452
--- /dev/null
+++ b/Engineering_Physics_Vijaya/screenshots/screenshot1.PNG
Binary files differ
diff --git a/Engineering_Physics_Vijaya/screenshots/screenshot1.png b/Engineering_Physics_Vijaya/screenshots/screenshot1.png
new file mode 100755
index 00000000..94f80068
--- /dev/null
+++ b/Engineering_Physics_Vijaya/screenshots/screenshot1.png
Binary files differ
diff --git a/Engineering_Physics_Vijaya/screenshots/screenshot2.PNG b/Engineering_Physics_Vijaya/screenshots/screenshot2.PNG
new file mode 100755
index 00000000..bf169152
--- /dev/null
+++ b/Engineering_Physics_Vijaya/screenshots/screenshot2.PNG
Binary files differ
diff --git a/Engineering_Physics_Vijaya/screenshots/screenshot2.png b/Engineering_Physics_Vijaya/screenshots/screenshot2.png
new file mode 100755
index 00000000..f4cda54b
--- /dev/null
+++ b/Engineering_Physics_Vijaya/screenshots/screenshot2.png
Binary files differ
diff --git a/Engineering_Physics_Vijaya/screenshots/screenshot3.PNG b/Engineering_Physics_Vijaya/screenshots/screenshot3.PNG
new file mode 100755
index 00000000..4062fb31
--- /dev/null
+++ b/Engineering_Physics_Vijaya/screenshots/screenshot3.PNG
Binary files differ
diff --git a/Engineering_Physics_Vijaya/screenshots/screenshot3.png b/Engineering_Physics_Vijaya/screenshots/screenshot3.png
new file mode 100755
index 00000000..4367a009
--- /dev/null
+++ b/Engineering_Physics_Vijaya/screenshots/screenshot3.png
Binary files differ
diff --git a/Engineering_Physics_Vijaya/screenshots/shot1.PNG b/Engineering_Physics_Vijaya/screenshots/shot1.PNG
new file mode 100755
index 00000000..7e165764
--- /dev/null
+++ b/Engineering_Physics_Vijaya/screenshots/shot1.PNG
Binary files differ
diff --git a/Engineering_Physics_Vijaya/screenshots/shot2.PNG b/Engineering_Physics_Vijaya/screenshots/shot2.PNG
new file mode 100755
index 00000000..c4b3d4ef
--- /dev/null
+++ b/Engineering_Physics_Vijaya/screenshots/shot2.PNG
Binary files differ
diff --git a/Engineering_Physics_Vijaya/screenshots/shot3.PNG b/Engineering_Physics_Vijaya/screenshots/shot3.PNG
new file mode 100755
index 00000000..e14ec109
--- /dev/null
+++ b/Engineering_Physics_Vijaya/screenshots/shot3.PNG
Binary files differ