summaryrefslogtreecommitdiff
path: root/Chemical_Engineering_Thermodynamics_by_Y_V_C_Rao/ch11.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Chemical_Engineering_Thermodynamics_by_Y_V_C_Rao/ch11.ipynb')
-rwxr-xr-xChemical_Engineering_Thermodynamics_by_Y_V_C_Rao/ch11.ipynb585
1 files changed, 585 insertions, 0 deletions
diff --git a/Chemical_Engineering_Thermodynamics_by_Y_V_C_Rao/ch11.ipynb b/Chemical_Engineering_Thermodynamics_by_Y_V_C_Rao/ch11.ipynb
new file mode 100755
index 00000000..9c8a35bf
--- /dev/null
+++ b/Chemical_Engineering_Thermodynamics_by_Y_V_C_Rao/ch11.ipynb
@@ -0,0 +1,585 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 11 : Properties of solutions"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 11.1 Page No : 378"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "%matplotlib inline\n",
+ "import math \n",
+ "from numpy import *\n",
+ "from matplotlib.pyplot import *\n",
+ "\n",
+ "\n",
+ "# Variables\n",
+ "antoine_const_benzene = [6.87987,1196.760,219.161]\n",
+ "antoine_const_toluene = [6.95087,1342.310,219.187]\n",
+ "t = 95.\n",
+ "P = 101.325\n",
+ "\n",
+ "# Calculations\n",
+ "P1_s = 10**(antoine_const_benzene[0]-(antoine_const_benzene[1]/(t+antoine_const_benzene[2])))\t\t\t \n",
+ "P2_s = 10**(antoine_const_toluene[0]-(antoine_const_toluene[1]/(t+antoine_const_toluene[2])))\t\t\t\n",
+ "x1 = linspace(0,1,10)\n",
+ "i = 0;\t\t\t #iteration parameter\n",
+ "n = len(x1);\t\t\t #iteration parameter\n",
+ "P_tot = zeros(10)\n",
+ "y1 = zeros(10)\n",
+ "\n",
+ "while i<n :\n",
+ " P_tot[i] = P2_s+((P1_s-P2_s)*x1[i])\n",
+ " y1[i] = (x1[i]*P1_s)/(P_tot[i])\t\n",
+ " i = i+1;\n",
+ "\n",
+ "#T-x-y diagram:\n",
+ "P = 760.\n",
+ "t1_s = ((antoine_const_benzene[1])/(antoine_const_benzene[0]-math.log10(P)))-antoine_const_benzene[2]\n",
+ "t2_s = ((antoine_const_toluene[1])/(antoine_const_toluene[0]-math.log10(P)))-antoine_const_toluene[2];\n",
+ "x1_initial = 0.0;\n",
+ "y1_initial = 0.0;\n",
+ "x1_final = 1.0;\n",
+ "y1_final = 1.0;\n",
+ "\n",
+ "T = linspace(85,105,5)\n",
+ "k = 0;\n",
+ "l = len(T)\n",
+ "P1s = zeros(5)\n",
+ "P2s = zeros(5)\n",
+ "X1 = zeros(5)\n",
+ "Y1 = zeros(5)\n",
+ "while k<l:\n",
+ " P1s[k] = 10**((antoine_const_benzene[0])-((antoine_const_benzene[1])/(T[k]+antoine_const_benzene[2])))\n",
+ " P2s[k] = 10**((antoine_const_toluene[0])-((antoine_const_toluene[1])/(T[k]+antoine_const_toluene[2])))\n",
+ " X1[k] = (P-P2s[k])/(P1s[k]-P2s[k]);\t\n",
+ " Y1[k] = (X1[k]*P1s[k])/P;\t\t\t # Calculations of mole fraction of Benzene in vapour phase (no unit) \n",
+ " k = k+1;\n",
+ "\n",
+ "temp = zeros(l+2)\n",
+ "x1_benzene = zeros(l+2)\n",
+ "y1_benzene = zeros(l+2)\n",
+ "j = 0;\n",
+ "\n",
+ "while j<l+2:\n",
+ " if j == 0:\n",
+ " temp[j] = t1_s;\n",
+ " x1_benzene[j] = x1_final;\n",
+ " y1_benzene[j] = y1_final;\n",
+ " elif j == l+1:\n",
+ " temp[j] = t2_s;\n",
+ " x1_benzene[j] = x1_initial;\n",
+ " y1_benzene[j] = y1_initial;\n",
+ " else:\n",
+ " temp[j] = T[j-1];\n",
+ " x1_benzene[j] = X1[j-1];\n",
+ " y1_benzene[j] = Y1[j-1];\n",
+ " j = j+1;\n",
+ "\n",
+ "# Results\n",
+ "print 'P-x-y results ';\n",
+ "\n",
+ "for i in range( n):\n",
+ " print 'x1 = %f \\t y1 = %f\\t P = %f Torr '%(x1[i],y1[i],P_tot[i]);\n",
+ "\n",
+ "print 'T-x-y results t = %f degree celsius\\t P1_s = 760.0 Torr \\t P2_s = -) Torr \\t\\t x1 = 1.0 \\t y1 = 1.0 '%(t1_s);\n",
+ "for k in range(l):\n",
+ " print 't = %f degree celsius\\t P1_s = %f Torr \\t P2_s = %f Torr \\t x1 = %f \\t y1 = %f '%(T[k],P1s[k],P2s[k],X1[k],Y1[k]);\n",
+ "\n",
+ "print 't = %f degree celsius\\t P1_s = -)Torr \\t\\t P2_s = 760.0 Torr \\t x1 = 0.0 \\t y1 = 0.0 '%(t2_s);\n",
+ "subplot(2,1,1)\n",
+ "plot(x1,P_tot,y1,P_tot)\n",
+ "suptitle('P-x-y diagram for benzene-toluene system at 95 degree celsius')\n",
+ "xlabel('x1,y1')\n",
+ "ylabel('P(Torr)')\n",
+ "subplot(2,1,2)\n",
+ "plot(x1_benzene,temp,y1_benzene,temp)\n",
+ "xlabel(\"x1,y1\")\n",
+ "ylabel(\"t (degree celsius)\") \n",
+ "suptitle('T-x-y diagram for benzene-toluene sytem at 760 Torr')\n",
+ "\n",
+ "show()\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Populating the interactive namespace from numpy and matplotlib\n",
+ "P-x-y results \n",
+ "x1 = 0.000000 \t y1 = 0.000000\t P = 477.025655 Torr \n",
+ "x1 = 0.111111 \t y1 = 0.235600\t P = 554.713037 Torr \n",
+ "x1 = 0.222222 \t y1 = 0.413315\t P = 632.400419 Torr \n",
+ "x1 = 0.333333 \t y1 = 0.552144\t P = 710.087801 Torr \n",
+ "x1 = 0.444444 \t y1 = 0.663592\t P = 787.775183 Torr \n",
+ "x1 = 0.555556 \t y1 = 0.755031\t P = 865.462564 Torr \n",
+ "x1 = 0.666667 \t y1 = 0.831407\t P = 943.149946 Torr \n",
+ "x1 = 0.777778 \t y1 = 0.896158\t P = 1020.837328 Torr \n",
+ "x1 = 0.888889 \t y1 = 0.951751\t P = 1098.524710 Torr \n",
+ "x1 = 1.000000 \t y1 = 1.000000\t P = 1176.212092 Torr \n",
+ "T-x-y results t = 80.099595 degree celsius\t P1_s = 760.0 Torr \t P2_s = -) Torr \t\t x1 = 1.0 \t y1 = 1.0 \n",
+ "t = 85.000000 degree celsius\t P1_s = 881.542536 Torr \t P2_s = 345.216082 Torr \t x1 = 0.773380 \t y1 = 0.897062 \n",
+ "t = 90.000000 degree celsius\t P1_s = 1020.650885 Torr \t P2_s = 406.866584 Torr \t x1 = 0.575338 \t y1 = 0.772657 \n",
+ "t = 95.000000 degree celsius\t P1_s = 1176.212092 Torr \t P2_s = 477.025655 Torr \t x1 = 0.404719 \t y1 = 0.626363 \n",
+ "t = 100.000000 degree celsius\t P1_s = 1349.471568 Torr \t P2_s = 556.502216 Torr \t x1 = 0.256628 \t y1 = 0.455673 \n",
+ "t = 105.000000 degree celsius\t P1_s = 1541.703421 Torr \t P2_s = 646.141534 Torr \t x1 = 0.127136 \t y1 = 0.257903 \n",
+ "t = 110.614326 degree celsius\t P1_s = -)Torr \t\t P2_s = 760.0 Torr \t x1 = 0.0 \t y1 = 0.0 \n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x3802f10>"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 11.2 Page No : 384"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# Variables\n",
+ "T = 95. \t\t \t #temperature of the equimolar vapour mixture of benzene and toluene in degree celsius\n",
+ "y1 = 0.5\t \t\t #mole fraction of benzene in vapour phase (no unit)\n",
+ "y2 = 0.5 \t\t\t #mole fraction of toluene in vapour phase (no unit)\n",
+ "P1_s = 1176.21\t\t\t #saturation pressure of benzene at T, taken from Example 11.1 in Torr\n",
+ "P2_s = 477.03\t\t\t #saturation pressure of toluene at T, taken from Example 11.1 in Torr\n",
+ "\n",
+ "# Calculations\n",
+ "P = 1./((y1/P1_s)+(y2/P2_s))\n",
+ "x1 = (y1*P)/P1_s;\t\t\t \n",
+ "x2 = 1-x1\n",
+ "\n",
+ "# Results\n",
+ "print 'The composition of the liquid which is in equilibrium with the equimolar vapour mixture of\\\n",
+ " benzene and toluene at 95 degree celsius is mole fraction of benzene\\\n",
+ " in liquid phase x1 = %f mole fraction of toluene in liquid phase x2 = %f '%(x1,x2);\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The composition of the liquid which is in equilibrium with the equimolar vapour mixture of benzene and toluene at 95 degree celsius is mole fraction of benzene in liquid phase x1 = 0.288542 mole fraction of toluene in liquid phase x2 = 0.711458 \n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 11.5 page no : 386"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Variables\n",
+ "n_pentaneA = 6.87632 # Antoine constants\n",
+ "n_hexaneA = 6.91058\n",
+ "n_heptanA = 6.89386\n",
+ "n_pentaneB = 1075.780 \n",
+ "n_hexaneB = 1189.640\n",
+ "n_heptanB = 1264.370\n",
+ "n_pentaneC = 233.205\n",
+ "n_hexaneC = 226.205\n",
+ "n_heptanC = 216.640\n",
+ "pressure = 90 # pressure\n",
+ "\n",
+ "# Calculations\n",
+ "logP1 = n_pentaneA - (n_pentaneB/(90 + n_pentaneC))\n",
+ "P1 = round(10**logP1 *133.322 /1000,1)\n",
+ "logP2 = n_hexaneA - (n_hexaneB/(90 + n_hexaneC))\n",
+ "P2 = round(10**logP2 *133.322 /1000,2)\n",
+ "logP3 = n_heptanA - (n_heptanB/(90 + n_heptanC))\n",
+ "P3 = round(10**logP3 *133.322 /1000,2)\n",
+ "P = 200\n",
+ "K1 = round(P1/P,3)\n",
+ "K2 = round(P2/P,2)\n",
+ "K3 = P3/P\n",
+ "\n",
+ "# assume L/F = 0.4\n",
+ "L_F = 0.4\n",
+ "x1 = 0.3/(L_F + (1-L_F) * K1)\n",
+ "x2 = 0.3/(L_F + (1-L_F) * K2)\n",
+ "x3 = 0.4/(L_F + (1-L_F) * K3)\n",
+ "sum_x = x1+x2+x3\n",
+ "\n",
+ "# assume L/F = 0.752\n",
+ "L_F = 0.752\n",
+ "x1 = 0.3/(L_F + (1-L_F) * K1)\n",
+ "x2 = 0.3/(L_F + (1-L_F) * K2)\n",
+ "x3 = 0.4/(L_F + (1-L_F) * K3)\n",
+ "sum_x = round(x1+x2+x3,1) # which is equal to 1 \n",
+ "\n",
+ "# Hence, L/F = 0.752 is correct\n",
+ "y1 = K1*x1\n",
+ "y2 = K2*x2\n",
+ "y3 = K3*x3\n",
+ "\n",
+ "# Results\n",
+ "print \"Hence, fraction vaporized, V/F = 1-(L-F) = %.3f\"%(1-L_F)\n",
+ "print \"Compositions of liquid and vapor leaving the flash unit are :\"\n",
+ "print \"x1 = %.4f y1 = %.4f\"%(x1,y1)\n",
+ "print \"x2 = %.4f y2 = %.4f\"%(x2,y2)\n",
+ "print \"x3 = %.4f y3 = %.4f\"%(x3,y3)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Hence, fraction vaporized, V/F = 1-(L-F) = 0.248\n",
+ "Compositions of liquid and vapor leaving the flash unit are :\n",
+ "x1 = 0.2246 y1 = 0.5285\n",
+ "x2 = 0.3045 y2 = 0.2863\n",
+ "x3 = 0.4709 y3 = 0.1851\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 11.7 Page No : 397"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "# Variables\n",
+ "T = 45.\t \t\t #temperature of the mixture in degree celsius\n",
+ "A = 2.230\t\t\t #van laar constant for the system at T (no unit)\n",
+ "B = 1.959\t\t\t #van laar constant for the system at T (no unit)\n",
+ "n1 = 30. \t\t #mole percentage of nitromethane in the mixture ( in percentage)\n",
+ "\n",
+ "# Calculations\n",
+ "n2 = 100-n1\n",
+ "x1 = n1/100\n",
+ "x2 = 1-x1\n",
+ "gaamma1 = math.exp(A/(1+((A/B)*(x1/x2)))**2)\n",
+ "gaamma2 = math.exp(B/(1+((B/A)*(x2/x1)))**2)\n",
+ "\n",
+ "# Results\n",
+ "print 'The activity coefficients for the system using van laar equation is : gamma1 \\\n",
+ " = %f, gamma2 = %f \\t '%( gaamma1,gaamma2);\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The activity coefficients for the system using van laar equation is : gamma1 = 2.738343, gamma2 = 1.234443 \t \n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 11.8 Page No : 397"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "# Variables\n",
+ "n_azeo = 44.8;\t\t\t #azeotropic composition given as mole percentage\n",
+ "Tb = 68.24;\t\t\t #boiling point of mixture in degree celsius\n",
+ "P = 760.;\t\t\t #pressure in Torr\n",
+ "P1_s = 506.;\t\t\t #saturation pressure of ethanol at Tb in Torr\n",
+ "P2_s = 517.;\t\t\t #saturation pressure of benzene at Tb in Torr\n",
+ "n1 = 10.;\t\t\t #mole percentage of ethanol in the mixture (in percentage)\n",
+ "\n",
+ "# Calculations\n",
+ "x1 = n_azeo/100\n",
+ "x2 = 1-x1;\t\t\n",
+ "gaamma1 = P/P1_s\n",
+ "gaamma2 = P/P2_s\n",
+ "A = math.log(gaamma1)*(1+((x2*math.log(gaamma2))/(x1*math.log(gaamma1))))**2\n",
+ "B = math.log(gaamma2)*(1+((x1*math.log(gaamma1))/(x2*math.log(gaamma2))))**2\n",
+ "x1 = n1/100\n",
+ "x2 = 1-x1;\t\n",
+ "gaamma1 = math.exp(A/(1+((A/B)*(x1/x2)))**2)\n",
+ "gaamma2 = math.exp(B/(1+((B/A)*(x2/x1)))**2)\n",
+ "\n",
+ "# Results\n",
+ "print 'The van Laar constants for the system are : A = %f \\t B = %f '%(A,B)\n",
+ "print 'The activity coefficients for the system using van laar equation are\\\n",
+ " : gamma1 = %f \\t gamma2 = %f \\t '%( gaamma1,gaamma2);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The van Laar constants for the system are : A = 1.910203 \t B = 1.328457 \n",
+ "The activity coefficients for the system using van laar equation are : gamma1 = 4.137783 \t gamma2 = 1.025531 \t \n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 11.9 Page No : 399"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "# Variables\n",
+ "\n",
+ "T = 45. \t\t\t #temperature of the system in degree celsius\n",
+ "A_12 = 0.1156;\t\t\t #Wilson's parameter for the system at T (no unit)\n",
+ "A_21 = 0.2879;\t\t\t #Wilson's parameter for the system at T (no unit)\n",
+ "x1 = 0.3;\t \t\t #mole fraction of nitromethane in the liquid mixture (no unit)\n",
+ "\n",
+ "# Calculations\n",
+ "x2 = 1-x1\n",
+ "ln_gaamma1 = -math.log(x1+(A_12*x2))+(x2*((A_12/(x1+(A_12*x2)))-(A_21/((A_21*x1)+x2))));\t\t\t\n",
+ "gaamma1 = math.exp(ln_gaamma1)\n",
+ "ln_gaamma2 = -math.log(x2+(A_21*x1))-(x1*((A_12/(x1+(A_12*x2)))-(A_21/((A_21*x1)+x2))));\t\t\t # Calculations of ln(activity coefficient) using Eq.(11.90) (no unit)\n",
+ "gaamma2 = math.exp(ln_gaamma2)\n",
+ "\n",
+ "# Results\n",
+ "print 'The activity coefficients for the system using Wilsons parameters are : gamma1 = %f \\\n",
+ " \\t gamma2 = %f \\t '%( gaamma1,gaamma2);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The activity coefficients for the system using Wilsons parameters are : gamma1 = 2.512605 \t gamma2 = 1.295788 \t \n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 11.10 Page No : 401"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "# Variables\n",
+ "T = 345.\t\t\t #temperature of the mixture in K\n",
+ "x1 = 0.8\t\t\t #mole fraction of ethanol in the liquid phase (no unit)\n",
+ "\n",
+ "nu_ki = [1,1,1,6]\t\t\t #number of groups of type: CH3, CH2, OH and ACH respectively (no unit)\n",
+ "R_k = [0.9011,0.6744,1.0000,0.5313];\t\t\t #Group volume parameter for CH3, CH2, OH and ACH respectively (no unit)\n",
+ "Q_k = [0.848,0.540,1.200,0.400];\t\t\t #Area parameter for CH3, CH2, OH and ACH respectively (no unit)\n",
+ "R = 8.314;\t\t\t #universal gas constant in J/molK\n",
+ "u12_u22 = -241.2287;\t\t#UNIQUAC parameter for the system in J/molK\n",
+ "u21_u11 = 2799.5827;\t\t#UNIQUAC parameter for the system in J/molK\n",
+ "z = 10. \t\t\t #co-ordination number usually taken as 10 (no unit)\n",
+ "\n",
+ "# Calculations\n",
+ "x2 = 1-x1\n",
+ "r1 = (nu_ki[0]*R_k[0])+(nu_ki[1]*R_k[1])+(nu_ki[2]*R_k[2]);\t\t\t \n",
+ "r2 = (nu_ki[3]*R_k[3])\n",
+ "phi1 = (x1*r1)/((x1*r1)+(x2*r2));\t\t\t \n",
+ "phi2 = (x2*r2)/((x2*r2)+(x1*r1));\t\t\t \n",
+ "q1 = (nu_ki[0]*Q_k[0])+(nu_ki[1]*Q_k[1])+(nu_ki[2]*Q_k[2])\t\t\t \n",
+ "q2 = (nu_ki[3]*Q_k[3])\t\t\t\n",
+ "theta1 = (x1*q1)/((x1*q1)+(x2*q2))\n",
+ "theta2 = (x2*q2)/((x1*q1)+(x2*q2))\n",
+ "l1 = ((z/2)*(r1-q1))-(r1-1);\t\t\n",
+ "l2 = ((z/2)*(r2-q2))-(r2-1);\t\t\n",
+ "tau_12 = math.exp(-(u12_u22)/(R*T));\t\t\n",
+ "tau_21 = math.exp(-(u21_u11)/(R*T));\t\t\n",
+ "tau_11 = 1.0;\t\t\t \n",
+ "tau_22 = 1.0;\t\t\t \n",
+ "\n",
+ "ln_gaamma1_c = math.log(phi1/x1)+((z/2)*q1*math.log(theta1/phi1))+l1-((phi1/x1)*((x1*l1)+(x2*l2)));\n",
+ "ln_gaamma2_c = math.log(phi2/x2)+((z/2)*q2*math.log(theta2/phi2))+l2-((phi2/x2)*((x1*l1)+(x2*l2)));\n",
+ "ln_gaamma1_r = q1*(1-math.log((theta1*tau_11)+(theta2*tau_21))-(((theta1*tau_11)/((theta1*tau_11)+(theta2*tau_21)))+((theta2*tau_12)/((theta1*tau_12)+(theta2*tau_22)))));\n",
+ "ln_gaamma2_r = q2*(1-math.log((theta1*tau_12)+(theta2*tau_22))-(((theta1*tau_21)/((theta1*tau_11)+(theta2*tau_21)))+((theta2*tau_22)/((theta1*tau_12)+(theta2*tau_22)))));\n",
+ "ln_gaamma1 = ln_gaamma1_c+ln_gaamma1_r\n",
+ "ln_gaamma2 = ln_gaamma2_c+ln_gaamma2_r\n",
+ "gaamma1 = math.exp(ln_gaamma1);\t\t\t \n",
+ "gaamma2 = math.exp(ln_gaamma2);\t\t\t \n",
+ "\n",
+ "# Results\n",
+ "print 'The activity coefficients for the system using the UNIQUAC equation are : gamma1 \\\n",
+ " = %f \\t gamma2 = %f \\t '%( gaamma1,gaamma2);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The activity coefficients for the system using the UNIQUAC equation are : gamma1 = 1.060567 \t gamma2 = 3.679066 \t \n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 11.11 Page No : 405"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "# Variables\n",
+ "T = 307.\t\t\t #temperature of the mixture in K\n",
+ "x1 = 0.3\t\t\t #mole fraction of acetone in the liquid phase (no unit)\n",
+ "\n",
+ "nu_ki = [1.,1.,2.,3.]\n",
+ "R_k = [0.9011,1.6724,0.6744]\n",
+ "Q_k = [0.848,1.488,0.540];\t\t\t \n",
+ "a_19 = 476.40;\t\t\t #group interaction parameter for the system in K\n",
+ "a_91 = 26.760;\t\t\t #group interaction parameter for the system in K\n",
+ "z = 10. \t\t\t #co-ordination number usually taken as 10 (no unit)\n",
+ "\n",
+ "# Calculations\n",
+ "x2 = 1-x1;\t\t\t # Calculations of mole fraction of benzene in liquid phase (no unit)\n",
+ "r1 = (nu_ki[0]*R_k[0])+(nu_ki[1]*R_k[1])\n",
+ "r2 = (nu_ki[2]*R_k[0])+(nu_ki[3]*R_k[2])\n",
+ "phi1 = (x1*r1)/((x1*r1)+(x2*r2))\n",
+ "phi2 = (x2*r2)/((x2*r2)+(x1*r1))\n",
+ "q1 = (nu_ki[0]*Q_k[0])+(nu_ki[1]*Q_k[1])\t\t\t\n",
+ "q2 = (nu_ki[2]*Q_k[0])+(nu_ki[3]*Q_k[2])\n",
+ "theta1 = (x1*q1)/((x1*q1)+(x2*q2));\n",
+ "theta2 = (x2*q2)/((x1*q1)+(x2*q2));\n",
+ "l1 = ((z/2)*(r1-q1))-(r1-1);\t\t\n",
+ "l2 = ((z/2)*(r2-q2))-(r2-1);\t\t\n",
+ "ln_gaamma1_c = math.log(phi1/x1)+((z/2)*q1*math.log(theta1/phi1))+l1-((phi1/x1)*((x1*l1)+(x2*l2)));\n",
+ "ln_gaamma2_c = math.log(phi2/x2)+((z/2)*q2*math.log(theta2/phi2))+l2-((phi2/x2)*((x1*l1)+(x2*l2)));\n",
+ "a_11 = 0.\n",
+ "a_99 = 0.\n",
+ "psi_19 = math.exp(-(a_19)/(T));\t\t\t\n",
+ "psi_91 = math.exp(-(a_91)/(T));\t\t\t\n",
+ "psi_11 = 1.;\t\t\t \n",
+ "psi_99 = 1.;\t\t\t \n",
+ "x1_1 = nu_ki[0]/(nu_ki[0]+nu_ki[1]);\t\t\t\n",
+ "x1_18 = nu_ki[1]/(nu_ki[0]+nu_ki[1]);\t\t\n",
+ "theta1_1 = (Q_k[0]*x1_1)/((Q_k[0]*x1_1)+(Q_k[1]*x1_18))\n",
+ "theta1_18 = (Q_k[1]*x1_18)/((Q_k[1]*x1_18)+(Q_k[0]*x1_1))\n",
+ "ln_tau1_1 = Q_k[0]*(1-math.log((theta1_1*psi_11)+(theta1_18*psi_91))-(((theta1_1*psi_11)/((theta1_1*psi_11)+(theta1_18*psi_91)))+((theta1_18*psi_19)/((theta1_1*psi_19)+(theta1_18*psi_11)))));\n",
+ "ln_tau1_18 = Q_k[1]*(1-math.log((theta1_1*psi_19)+(theta1_18*psi_99))-(((theta1_1*psi_91)/((theta1_1*psi_99)+(theta1_18*psi_91)))+((theta1_18*psi_99)/((theta1_1*psi_19)+(theta1_18*psi_99)))));\n",
+ "x2_1 = nu_ki[2]/(nu_ki[2]+nu_ki[3]);\t\t\t \n",
+ "x2_2 = nu_ki[3]/(nu_ki[2]+nu_ki[3]);\t\t\t \n",
+ "ln_tau2_1 = 0;\n",
+ "ln_tau2_2 = 0;\n",
+ "x_1 = ((x1*nu_ki[0])+(x2*nu_ki[2]))/((((x1*nu_ki[0])+(x1*nu_ki[1])))+((x2*nu_ki[2])+(x2*nu_ki[3])));\n",
+ "x_2 = ((x2*nu_ki[3]))/((((x1*nu_ki[0])+(x1*nu_ki[1])))+((x2*nu_ki[2])+(x2*nu_ki[3])));\n",
+ "x_18 = ((x1*nu_ki[1]))/((((x1*nu_ki[0])+(x1*nu_ki[1])))+((x2*nu_ki[2])+(x2*nu_ki[3])));\n",
+ "theta_1 = (Q_k[0]*x_1)/((Q_k[0]*x_1)+(Q_k[1]*x_18)+(Q_k[2]*x_2));\t\t\t\n",
+ "theta_2 = (Q_k[2]*x_2)/((Q_k[0]*x_1)+(Q_k[1]*x_18)+(Q_k[2]*x_2));\t\t\t\n",
+ "theta_18 = (Q_k[1]*x_18)/((Q_k[0]*x_1)+(Q_k[1]*x_18)+(Q_k[2]*x_2));\t\t\t\n",
+ "ln_tau_1 = Q_k[0]*(1-math.log((theta_1*psi_11)+(theta_2*psi_11)+(theta_18*psi_91))-((((theta_1*psi_11)+(theta_2*psi_11))/((((theta_1*psi_11)+(theta_2*psi_11))+(theta_18*psi_91)))+((theta_18*psi_19)/((theta_1*psi_19)+(theta_2*psi_19)+(theta_18*psi_11))))));\n",
+ "ln_tau_2 = Q_k[2]*(1-math.log((theta_1*psi_11)+(theta_2*psi_11)+(theta_18*psi_91))-((((theta_1*psi_11)+(theta_2*psi_11))/((((theta_1*psi_11)+(theta_2*psi_11))+(theta_18*psi_91)))+((theta_18*psi_19)/((theta_1*psi_19)+(theta_2*psi_19)+(theta_18*psi_11))))));\n",
+ "ln_tau_18 = Q_k[1]*(1-math.log((theta_1*psi_19)+(theta_2*psi_19)+(theta_18*psi_99))-(((((theta_1+theta_2)*psi_91)/((theta_1*psi_11)+(theta_2*psi_11)+(theta_18*psi_91)))+((theta_18*psi_99)/((theta_1*psi_19)+(theta_2*psi_19)+(theta_18*psi_11))))));\n",
+ "ln_gaamma1_r = (nu_ki[0]*(ln_tau_1-ln_tau1_1))+(nu_ki[1]*(ln_tau_18-ln_tau1_18));\n",
+ "ln_gaamma2_r = (nu_ki[2]*(ln_tau_1-ln_tau2_1))+(nu_ki[3]*(ln_tau_2-ln_tau2_2));\n",
+ "ln_gaamma1 = ln_gaamma1_c+ln_gaamma1_r\n",
+ "ln_gaamma2 = ln_gaamma2_c+ln_gaamma2_r\n",
+ "gaamma1 = math.exp(ln_gaamma1);\t\t\t\n",
+ "gaamma2 = math.exp(ln_gaamma2);\t\t\t\n",
+ "\n",
+ "# Results\n",
+ "print 'The activity coefficients for the system using the UNIFAC method are\\\n",
+ " : gamma1 = %f \\t gamma2 = %f \\t '%( gaamma1,gaamma2);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The activity coefficients for the system using the UNIFAC method are : gamma1 = 2.149891 \t gamma2 = 1.191192 \t \n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file