summaryrefslogtreecommitdiff
path: root/Basic_Principles_And_Calculations_In_Chemical_Engineering/ch8.ipynb
diff options
context:
space:
mode:
authorJovina Dsouza2014-06-18 12:43:07 +0530
committerJovina Dsouza2014-06-18 12:43:07 +0530
commit206d0358703aa05d5d7315900fe1d054c2817ddc (patch)
treef2403e29f3aded0caf7a2434ea50dd507f6545e2 /Basic_Principles_And_Calculations_In_Chemical_Engineering/ch8.ipynb
parentc6f0d6aeb95beaf41e4b679e78bb42c4ffe45a40 (diff)
downloadPython-Textbook-Companions-206d0358703aa05d5d7315900fe1d054c2817ddc.tar.gz
Python-Textbook-Companions-206d0358703aa05d5d7315900fe1d054c2817ddc.tar.bz2
Python-Textbook-Companions-206d0358703aa05d5d7315900fe1d054c2817ddc.zip
adding book
Diffstat (limited to 'Basic_Principles_And_Calculations_In_Chemical_Engineering/ch8.ipynb')
-rw-r--r--Basic_Principles_And_Calculations_In_Chemical_Engineering/ch8.ipynb449
1 files changed, 449 insertions, 0 deletions
diff --git a/Basic_Principles_And_Calculations_In_Chemical_Engineering/ch8.ipynb b/Basic_Principles_And_Calculations_In_Chemical_Engineering/ch8.ipynb
new file mode 100644
index 00000000..4d600c4f
--- /dev/null
+++ b/Basic_Principles_And_Calculations_In_Chemical_Engineering/ch8.ipynb
@@ -0,0 +1,449 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 8 : Solving Material Balance Problems for Single Units without Reaction"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ " Example 8.1 Page no. 197\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Extraction of Streptomycin from a Fermentation Broth\n",
+ "# Solution\n",
+ "\n",
+ "# Variables\n",
+ "# Basis : 1 min\n",
+ "d_w = 1.0 ; # Density of aqueous solution-[g/cubic metre]\n",
+ "d_sol = 0.6 ; # Density of organic solvent-[g/cubic metre]\n",
+ "n_un = 8 ; # Number of unknowns in the given problem\n",
+ "n_ie = 8 ; # Number of independent equations\n",
+ "\n",
+ "# Calculation and Results\n",
+ "d_o_f = n_un-n_ie ; # Number of degree of freedom\n",
+ "print 'Number of degree of freedom for the given system is %i .'%d_o_f\n",
+ "\n",
+ "# Material balance of Strep.\n",
+ "x = (200*10+10*0-200*0.2)/10; #[g]\n",
+ "print 'Strep per litre of solvent is %.1f g .'%x\n",
+ "\n",
+ "cnc = x/(1000*d_sol) ; #[g Strep/g of S]\n",
+ "print 'Strep per gram of solvent is %.4f g Strep/g of S .'%cnc\n",
+ "\n",
+ "m_fr = cnc/(1+cnc) ; #Mass fraction\n",
+ "print 'Mass fraction of Strep is %.3f g .'%m_fr"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Number of degree of freedom for the given system is 0 .\n",
+ "Strep per litre of solvent is 196.0 g .\n",
+ "Strep per gram of solvent is 0.3267 g Strep/g of S .\n",
+ "Mass fraction of Strep is 0.246 g .\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ " Example 8.2 Page no. 199\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Separation of gases Using a Membrane\n",
+ "# Solution Fig. E8.2b\n",
+ "\n",
+ "# Variables\n",
+ "F_O2 = 0.21 ; # fraction of O2 in feed(F) \n",
+ "F_N2 = 0.79 ; # fraction of N2 in feed(F) \n",
+ "P_O2 = 0.25 ; # fraction of O2 in product(P)\n",
+ "P_N2 = 0.75 ; # fraction of N2 in product(P)\n",
+ "F = 100 ; # Feed - [g mol]\n",
+ "w = 0.80 ; # Fraction of waste\n",
+ "W = w*F ; # Waste -[g mol]\n",
+ "\n",
+ "# Calculation\n",
+ "# By analysis for degree of freedom , DOF comes to be zero \n",
+ "P = F - W ; # By overall balance - [g mol]\n",
+ "W_O2 = (F_O2*F - P*P_O2)/100 # Fraction of O2 in waste stream by O2 balance \n",
+ "W_N2 = (W - W_O2*100)/100 ; #Fraction of N2 in waste stream\n",
+ " \n",
+ "# Results \n",
+ "print 'Composition of Waste Stream' \n",
+ "print ' Component Fraction in waste stream' \n",
+ "print ' O2 %.2f'%W_O2 \n",
+ "print ' N2 %.2f'%W_N2 "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Composition of Waste Stream\n",
+ " Component Fraction in waste stream\n",
+ " O2 0.16\n",
+ " N2 0.64\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ " Example 8.3 Page no. 202\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Overall analysis for a continuous Distillation Column\n",
+ "# Solution\n",
+ "\n",
+ "# Variables\n",
+ "# Basis : 1 hr so F = 1000 kg\n",
+ "F = 1000 ; # feed rate-[kg/hr]\n",
+ "P = F/10.0 ; # product mass flow rate -[kg/hr]\n",
+ "\n",
+ "n_un = 9 ; # Number of unknowns in the given problem\n",
+ "n_ie = 9 ; # Number of independent equations\n",
+ "\n",
+ "# Calculation and Result\n",
+ "d_o_f = n_un-n_ie ; # Number of degree of freedom\n",
+ "print 'Number of degree of freedom for the given system is %i .'%d_o_f\n",
+ "\n",
+ "# Overall mass balance: F = P+B\n",
+ "B = F-P ; # bottom mass flow rate -[kg/hr]\n",
+ "print ' Bottom mass flow rate - %.1f kg '%B\n",
+ "\n",
+ "# Composition of bottoms by material balances\n",
+ "m_EtOH = 0.1*F-0.6*P ; # By EtOH balance-[kg]\n",
+ "m_H2O = 0.9*F - 0.4*P ; # By H2O balance-[kg]\n",
+ "total = m_EtOH+m_H2O ; #[kg]\n",
+ "f_EtOH = m_EtOH/total ; # Mass fraction of EtOH\n",
+ "f_H2O = m_H2O/total ; # Mass fraction of H2O\n",
+ "\n",
+ "print ' Mass of EtOH in bottom - %.1f kg '%m_EtOH\n",
+ "print ' Mass of H2O in bottom - %.1f kg '%m_H2O\n",
+ "print ' Mass fraction of EtOH in bottom - %.3f '%f_EtOH\n",
+ "print ' Mass fraction of H2O in bottom - %.3f '%f_H2O"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Number of degree of freedom for the given system is 0 .\n",
+ " Bottom mass flow rate - 900.0 kg \n",
+ " Mass of EtOH in bottom - 40.0 kg \n",
+ " Mass of H2O in bottom - 860.0 kg \n",
+ " Mass fraction of EtOH in bottom - 0.044 \n",
+ " Mass fraction of H2O in bottom - 0.956 \n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ " Example 8.4 Page no. 205\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Mixing of Battery Acid\n",
+ "# Solution Fig E8.4\n",
+ "from numpy import matrix\n",
+ "\n",
+ "# Variables\n",
+ "# Given\n",
+ "A = 200 ; # Mass of added solution [kg] \n",
+ "P_H2SO4 = .1863 ; #Fraction of H2SO4 in P(Final solution)\n",
+ "P_H2O = .8137 ; #Fraction of H2O in P(Final solution)\n",
+ "A_H2SO4 = .777 ; #Fraction of H2SO4 in A(Added solution)\n",
+ "A_H2O = .223 ; #Fraction of H2O in A(Added solution)\n",
+ "F_H2SO4 = .1243 ; #Fraction of H2SO4 in F(Original solution)\n",
+ "F_H2O = .8757 ; #Fraction of H2O in F(Original solution)\n",
+ "\n",
+ "# Calculations\n",
+ "# P - F = A - By overall balance\n",
+ "a = matrix([[P_H2O,-F_H2O],[1,-1]]) ; # Matrix of coefficient\n",
+ "b = matrix([[A*A_H2O],[A]]) ; # Matrix of contants\n",
+ "a = a.I\n",
+ "x = a*b ; # Matrix of solutions- P = x(1) and F = x(2)\n",
+ "\n",
+ "#Results\n",
+ "print ' Original solution taken- %.0i kg'%x[1]\n",
+ "print ' Final solution or kilograms of battery acid formed- %.0i kg'%x[0]"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " Original solution taken- 1905 kg\n",
+ " Final solution or kilograms of battery acid formed- 2105 kg\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ " Example 8.5 Page no. 207\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Drying\n",
+ "# Solution Fig E8.5\n",
+ "from numpy import matrix\n",
+ "\n",
+ "# Variables\n",
+ "# Given\n",
+ "W = 100.0 ; # Water removed - [kg]\n",
+ "A_H2O = 0.80 ; # Fraction of water in A(intial fish cake)\n",
+ "A_BDC = 0.20 ; # Fraction of BDC(bone dry cake) in B(final dry fish cake)\n",
+ "B_H2O = 0.40 ; # Fraction of water in A(intial fish cake)\n",
+ "B_BDC = 0.60 ; # Fraction of BDC(bone dry cake) in B(final dry fish cake)\n",
+ "\n",
+ "# Calculations\n",
+ "a = matrix([[A_H2O, -B_H2O],[1, -1]]) ; # Matrix of coefficient\n",
+ "b = matrix([[W],[W]]) ; # Matrix of contants\n",
+ "a = a.I\n",
+ "x = a * b; # Matrix of solutions- A = x(1) and B = x(2)\n",
+ "\n",
+ "# Results\n",
+ "print 'Weight of the fish cake originally put into dryer -%.0i kg'%x[0]"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Weight of the fish cake originally put into dryer -150 kg\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ " Example 8.6 Page no. 209\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Crystallizaton\n",
+ "# Solution\n",
+ "\n",
+ "# Variables\n",
+ "# Composition of initial solution at 30 degree C\n",
+ "s_30 = 38.8 ; # solublity of Na2CO3 at 30 degree C, by using the table for solublity of Na2CO3-[g Na2CO3/100 g H2O]\n",
+ "If_Na2CO3 = s_30/(s_30+100) ; # Initial mass fraction of Na2CO3\n",
+ "If_H2O = 1-If_Na2CO3 ; # Initial mass fraction of H2O\n",
+ "\n",
+ "# Composition of crystals\n",
+ "# Basis : 1g mol Na2CO3.10H2O\n",
+ "n_mol_Na2CO3 = 1 ; # Number of moles of Na2CO3\n",
+ "n_mol_H2O = 10. ; # Number of moles of H2O\n",
+ "mwt_Na2CO3 = 106. ; # mol. wt of Na2CO3\n",
+ "mwt_H2O = 18. ; # mol. wt of H2O\n",
+ "\n",
+ "# Calculation and Results\n",
+ "m_Na2CO3 = mwt_Na2CO3*n_mol_Na2CO3 ; # Mass of Na2CO3\n",
+ "m_H2O = mwt_H2O*n_mol_H2O ; # Mass of H2O\n",
+ "Cf_Na2CO3 = m_Na2CO3/(m_Na2CO3+m_H2O) ; # mass fraction of Na2CO3 \n",
+ "Cf_H2O = 1-Cf_Na2CO3 ; # mass fraction of H2O\n",
+ "\n",
+ "n_un = 9. ; # Number of unknowns in the given problem\n",
+ "n_ie = 9. ; # Number of independent equations\n",
+ "d_o_f = n_un-n_ie ; # Number of degree of freedom\n",
+ "\n",
+ "print 'Number of degree of freedom for the given system is %i .'%d_o_f\n",
+ "\n",
+ "# Final composition of tank\n",
+ "#Basis :I = 10000 kg\n",
+ "# Material balance reduces to Accumulation = final -initial = in-out(but in = 0)\n",
+ "I = 10000. ; #initial amount of saturated solution-[kg]\n",
+ "amt_C = 3000. ; # Amount of crystals formed-[kg]\n",
+ "Fm_Na2CO3 = I*If_Na2CO3-amt_C*Cf_Na2CO3 ; # Mass balance of Na2CO3\n",
+ "Fm_H2O = I*If_H2O-amt_C*Cf_H2O ; # Mass balance of H2O\n",
+ "\n",
+ "#To find temperature,T\n",
+ "s_T = (Fm_Na2CO3/Fm_H2O)*100 ; # Solublity of Na2CO3 at temperature T\n",
+ "s_20 = 21.5 ; #Solublity of Na2CO3 at temperature 20 degree C ,from given table-[g Na2CO3/100 g H2O]\n",
+ "\n",
+ "# Find T by interpolation\n",
+ "T = 30-((s_30-s_T)/(s_30-s_20))*(30-20) ; # Temperature -[degree C]\n",
+ "print ' Temperature to which solution has to be cooled to get 3000 kg crystals is %.0f degree C .'%T"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Number of degree of freedom for the given system is 0 .\n",
+ " Temperature to which solution has to be cooled to get 3000 kg crystals is 26 degree C .\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ " Example 8.7 Page no. 213\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Hemodialysis\n",
+ "# Solution\n",
+ "\n",
+ "# Variables\n",
+ "# Write given data\n",
+ "B_in = 1.1 ; # Flow rate in of blood -[L/min]\n",
+ "B_out = 1.2; # Flow rate out of blood -[L/min]\n",
+ "S_in = 1.7; # Flow rate in of solution -[L/min]\n",
+ "\n",
+ "# Composition of input blood\n",
+ "B_in_CR = 2.72 ; #[g/L]\n",
+ "B_in_UR = 1.16 ; #[g/L]\n",
+ "B_in_U = 18 ; #[g/L]\n",
+ "B_in_P = 0.77 ; #[g/L]\n",
+ "B_in_K = 5.77 ; #[g/L]\n",
+ "B_in_Na = 13.0 ; #[g/L]\n",
+ "B_in_water = 1100 ; #[mL/min]\n",
+ "\n",
+ "# Composition of output blood\n",
+ "B_out_CR = 0.120 ; #[g/L]\n",
+ "B_out_UR = 0.060; #[g/L]\n",
+ "B_out_U = 1.51 ; #[g/L]\n",
+ "B_out_P = 0.040 ; #[g/L]\n",
+ "B_out_K = 0.120 ; #[g/L]\n",
+ "B_out_Na = 3.21 ; #[g/L]\n",
+ "B_out_water = 1200. ; #[mL/min]\n",
+ "\n",
+ "# Calculation and Result\n",
+ "n_un = 7. ; # Number of unknowns in the given problem\n",
+ "n_ie = 7. ; # Number of independent equations\n",
+ "d_o_f = n_un-n_ie ; # Number of degree of freedom\n",
+ "print 'Number of degree of freedom for the given system is %i .'%d_o_f\n",
+ "\n",
+ "# Water balance in grams, assuming 1 ml is equivalent to 1 g\n",
+ "S_in_water = 1700. ; #[ml/min]\n",
+ "S_out_water = B_in_water+ S_in_water - B_out_water;\n",
+ "S_out = S_out_water/1000. ; #[L/min]\n",
+ "print ' Flow rate of water in output solution is %.2f L/min.'%S_out\n",
+ "\n",
+ "# The component balance in grams for CR,UR,U,P,K and Na are\n",
+ "S_out_CR = (B_in*B_in_CR - B_out*B_out_CR)/S_out;\n",
+ "S_out_UR = (B_in*B_in_UR - B_out*B_out_UR)/S_out;\n",
+ "S_out_U = (B_in*B_in_U - B_out*B_out_U)/S_out;\n",
+ "S_out_P = (B_in*B_in_P - B_out*B_out_P)/S_out;\n",
+ "S_out_K = (B_in*B_in_K - B_out*B_out_K)/S_out;\n",
+ "S_out_Na = (B_in*B_in_Na - B_out*B_out_Na)/S_out;\n",
+ "print ' Component Concentration(g/L) in output Dialysis solution '\n",
+ "print ' UR %.2f '%S_out_UR\n",
+ "print ' CR %.2f '%S_out_CR\n",
+ "print ' U %.2f '%S_out_U\n",
+ "print ' P %.2f '%S_out_P\n",
+ "print ' K %.2f '%S_out_K\n",
+ "print ' Na %.2f '%S_out_Na"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Number of degree of freedom for the given system is 0 .\n",
+ " Flow rate of water in output solution is 1.60 L/min.\n",
+ " Component Concentration(g/L) in output Dialysis solution \n",
+ " UR 0.75 \n",
+ " CR 1.78 \n",
+ " U 11.24 \n",
+ " P 0.50 \n",
+ " K 3.88 \n",
+ " Na 6.53 \n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "code",
+ "collapsed": true,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file