Consider a stream composed of a mixture of air and acetone with a molar flow rate of 697.3 kmol/hr. The acetone-to-air mole ratio is only 0.015. It is still possible to recover the acetone from air using a cryogenic process, using very low temperatures
T
. This separation can also be called partial condensation since only acetone will condense in this temperature range. Thus, the liquid phase that exits the process will be almost pure acetone. A
12°F
approach temperature is chosen, which allows the determination of the isothermal flash temperature (equal to -128°F) from the user-set value of the coolant temperature (equal to -140°C). The notebook displays the flow rates of the liquid and vapor stream that exits the flash drum as well as their compositions. One can lower the coolant temperature and get a percent recovery of acetone nearing 100% (i.e., the liquid flow rate approaches 10.3 kmol/hr). This process is an alternative to countercurrent absorption of acetone in a column using water as a solvent.​​
​​J. M. Douglas, Conceptual Design of Chemical Processes, International ed., New York: McGraw–Hill, 1988. p. 492
In[]:=
(*Setthecoolanttemperatureθin°C;theflashruns12°Faboveitbecauseoftheapproachtemperature*)​​θ=(-140-32)5/9.(*coolanttemperaturein°C*)
Out[]=
-95.5556
In[]:=
(*TotalpressurePinkPa(1atm)*)​​P=101.325;
In[]:=
(*GasconstantRincal/(molK),neededfortheWilsonactivitymodel*)​​R=1.987;
In[]:=
(*IsothermalflashtemperatureTinK:coolanttemperatureplusthe12°Fapproachtemperature*)​​T=(-128-32)5/9+273.
Out[]=
184.111
In[]:=
(*IsothermalflashtemperatureTin°C:coolanttemperatureplusthe12°Fapproachtemperature*)​​(-128-32)5/9.
Out[]=
-88.8889
In[]:=
(*Vaporpressurecoefficientsforcomponent2(air):lnPsat=A2+B2/(C2+T)+D2lnT+E2T^F2,withTinKandPsatinkPa*)​​(*Forairthisisanextrapolatedvalue,sinceairisfaraboveitscriticaltemperatureattheseconditions*)​​A2=21.662;​​B2=-692.390;​​C2=0;​​D2=-0.392080;​​E2=4.757410^-3;​​F2=1.0;
In[]:=
(*Vaporpressurecoefficientsforcomponent1(acetone),sameequationform:lnPsat=A1+B1/(C1+T)+D1lnT+E1T^F1*)​​A1=71.13031;B1=-5952.0;C1=0.0;D1=-8.53128;E1=7.8239310^-6;F1=2.0;
In[]:=
(*Wilsonmodelparameters:energytermsl12andl21(cal/mol)andtheirtemperaturecoefficientsb12andb21,usedbelowasl+bT*)​​l21=-1.805;l12=906.500;b12=-0.002;b21=1.916;
In[]:=
(*Molarvolumesofcomponent1(acetone)andcomponent2(air)fortheWilsonmodel;onlytheratioV2/V1matters*)​​V2=3.29136;V1=7.44767;
In[]:=
(*Vaporpressureofpureacetone(component1)attheflashtemperatureT,inkPa*)​​Psat1=Exp[A1+B1/(C1+T)+D1Log[T]+E1T^F1];​​(*Vaporpressureofpureair(component2)attheflashtemperatureT,inkPa*)​​Psat2=Exp[A2+B2/(C2+T)+D2Log[T]+E2T^F2];
In[]:=
(*WilsonparameterA12=(V2/V1)Exp[-(l12+b12T)/(RT)]attheflashtemperature*)​​A12=V2/V1Exp[-(l12+b12T)/(R*(T))];​​(*WilsonparameterA21=(V1/V2)Exp[-(l21+b21T)/(RT)]attheflashtemperature*)​​A21=V1/V2Exp[-(l21+b21T)/(R*(T))];
In[]:=
(*Activitycoefficientγ1ofacetonefromtheWilsonequation,asafunctionoftheacetoneliquidmolefractionx(x1->x,x2->1-x)*)​​Gam1=Exp[-Log[x1+x2*A12]+1-(x1/(x1+x2*A12)+x2*A21/(x1*A21+x2))]/.x1x/.x21-x;​​(*Activitycoefficientγ2ofairfromtheWilsonequation,asafunctionofx*)​​Gam2=Exp[-Log[x1*A21+x2]+1-(x1*A12/(x1+x2*A12)+x2/(x1*A21+x2))]/.x1x/.x21-x;
In[]:=
(*Molarflowrateofthefeed(air+1.5mole%acetone)inkmol/hr*)​​F=687+10.3;
In[]:=
(*Solvetheisothermalflashforx,y,LandV:acetonemolefractionintheliquidandinthevapor,andtheliquidandvaporflowrates(kmol/hr)*)​​(*Equations:totalmaterialbalanceF=L+V;acetonebalancewith5mole%acetoneinthefeed;*)​​(*vapor-liquidequilibrium(modifiedRaoult'slaw)foracetone,y=Psat1γ1x/P,andforair,1-y=Psat2γ2(1-x)/P*)​​(*Thepairs{x,0.9999},{y,0.04},{L,5},{V,990}arethestartingguessesforFindRoot*)​​sol=FindRoot[{FL+V,10.3Lx+Vy,yPsat1Gam1x/P,1-yPsat2Gam2(1-x)/P},{x,0.9999},{y,0.04},{L,5},{V,600}];
F(*totalfeedflowrate*)
Out[]=
697.3
10.3/687(*theacetone-to-airmoleratio*)
Out[]=
0.0149927
In[]:=
purple=RGBColor[.49,0,0.3];​​​​Graphics[{(*condenserandflashdrum*)RGBColor[.49,0,0],Opacity[0.3],EdgeForm[{Thick,RGBColor[.49,0,0]}],Rectangle[{0,0},{2,2}],RGBColor[.25,.13,.82],EdgeForm[{Thick,RGBColor[.25,.13,.82]}],Rectangle[{5,0},{7,2}],(*streams*)Opacity[1],Black,Thick,Arrow[{{-3,1},{0,1}}],Green,Arrow[{{0.5,2},{0.5,3.5}}],Arrow[{{1.5,3.5},{1.5,2}}],Blue,Arrow[{{2,1},{5,1}}],purple,Arrow[{{6,2},{6,3},{9,3}}],Red,Arrow[{{6,0},{6,-1},{9,-1}}],(*staticlabels*)Style[Text["condenser",{1,1},{0,0}],Black,12,Bold],Style[Text["flash",{6,1},{0,0}],Black,12,Bold],Style[Text[Row[{ScientificForm[-128,3],"°F"}],{3.5,1.25},{0,0}],RGBColor[.25,.13,.82],14,Bold],Style[Text["coolant",{1,4.},{0,0}],Green,16,Bold],Style[Text["feed",{-2,0.5},{0,0}],Black,16,Bold],Style[Text["10.3 kmol/hr acetone",{-3.2,-0.1},{-1,0}],Black,12,Bold],Style[Text["687.0 kmol/hr air",{-3.2,-0.7},{-1,0}],Black,12,Bold],Style[Text["vapor",{7,5.5},{0,0}],purple,16,Bold],Style[Text["liquid",{7,-1.5},{0,0}],Red,16,Bold],(*computedlabels*)Style[Text[Row[{NumberForm[V/.sol,5]," kmol/hr"}],{6,4.8},{-1,0}],purple,12,Bold],Style[Text[Row[{NumberForm[1-y/.sol,5]," air"}],{6,4.2},{-1,0}],purple,12,Bold],Style[Text[Row[{ScientificForm[y/.sol,3]," acetone"}],{6,3.6},{-1,0}],purple,12,Bold],Style[Text[Row[{NumberForm[L/.sol,{4,3}]," kmol/hr"}],{6,-2.2},{-1,0}],Red,12,Bold],Style[Text[Row[{NumberForm[x/.sol,{5,3}]," acetone"}],{6,-2.8},{-1,0}],Red,12,Bold]},ImageSize->450{1,1}]
Out[]=
In[]:=
percentRecovery=10.27/10.3
Out[]=
0.997087