A cross flow extraction system in a chemical plant uses isopropyl ether to extract acetic acid from water. The entering feed is 150 kg/h and contains 50 wt% acetic acid with the remainder water. The entering solvent is 100 kg/h and contains no acetic acid or water. We determine the exiting concentration after 1, 2, 3 and 4 stages from the cross flow system.
Liquid Liquid Equilibrium of ternary system Isopropyl ether-water-Acetic Acid.
Component 1 = water
Component 2= Acetic Acid
Component 3=Isopropyl ether
Component 1 = water
Component 2= Acetic Acid
Component 3=Isopropyl ether
In[]:=
tbl1={{98.1,0.69},{97.1,1.41},{95.5,2.89},{91.7,6.42},{84.4,13.30},{71.1,25.50},{58.9,36.70},{45.1,44.30},{37.1,46.40}};
In[]:=
tbl2={{0.5,0.18},{0.7,0.37},{0.8,0.79},{1.0,1.93},{1.9,4.82},{3.9,11.40},{6.9,21.60},{10.8,31.10},{15.1,36.20}};
In[]:=
plt1=ListPlot[tbl1,JoinedTrue,PlotStyleRGBColor[1,0,0],AspectRatio->1];
In[]:=
plt2=ListPlot[tbl2,JoinedTrue,PlotStyleRGBColor[0,0,1],AspectRatio->1];
In[]:=
Show[plt1,plt2,PlotRange{{0,100},{0,100}},EpilogLine[{{100,0},{0,100}}],AxesOrigin->{0,0},AxesLabel->{Style["wt. frac. water",12,Black],Style["wt. frac. acetic acid",12,Black]}]
Out[]=
In[]:=
rafnt=Evaluate[Interpolation[tbl1,InterpolationOrder1]]
Out[]=
InterpolatingFunction
In[]:=
Extrc=Evaluate[Interpolation[tbl2,InterpolationOrder1]]
Out[]=
InterpolatingFunction
In[]:=
plt3=Plot[rafnt[x],{x,37.1,98.1},PlotRange{0,100},PlotStyleRGBColor[1,0,0],AspectRatio->1];
In[]:=
plt4=Plot[Extrc[x],{x,0.5,15.1},PlotRange{0,100},PlotStyleRGBColor[0,0,1],AspectRatio->1];
In[]:=
Show[plt3,plt4,PlotRange{{0,100},{0,100}},EpilogLine[{{100,0},{0,100}}],AspectRatio->1,AxesOrigin->{0,0},AxesLabel->{Style["wt. frac. water",12,Black],Style["wt. frac. acetic acid",12,Black]}]
Out[]=
Using interpolation to get tie lines
In[]:=
tbl3={{0.5,98.1},{0.7,97.1},{0.8,95.5},{1.0,91.7},{1.9,84.4},{3.9,71.1},{6.9,58.9},{10.8,45.1},{15.1,37.1}};
In[]:=
tie1=Interpolation[tbl3,InterpolationOrder1]
Out[]=
InterpolatingFunction
In[]:=
tbl4={{98.1,0.5},{97.1,0.7},{95.5,0.8},{91.7,1.0},{84.4,1.9},{71.1,3.9},{58.9,6.9},{45.1,10.8},{37.1,15.1}};
In[]:=
tie2=Interpolation[tbl4,InterpolationOrder1]
Out[]=
InterpolatingFunction
In[]:=
tbl5=Table[Line[{{i,Extrc[i]},{tie1[i],rafnt[tie1[i]]}}],{i,1,15,2}]
Out[]=
{Line[{{1,1.93},{91.7,6.42}}],Line[{{3,8.439},{77.085,20.01}}],Line[{{5,15.14},{66.6267,29.6067}}],Line[{{7,21.8436},{58.5462,36.8949}}],Line[{{9,26.7154},{51.4692,40.7923}}],Line[{{11,31.3372},{44.7279,44.3977}}],Line[{{13,33.7093},{41.007,45.3744}}],Line[{{15,36.0814},{37.286,46.3512}}]}
In[]:=
p=Show[plt3,plt4,Graphics[{RGBColor[0,1,1],tbl5}],EpilogLine[{{100,0},{0,100}}],PlotRange{{0,100},{0,100}},AxesOrigin->{0,0},AxesLabel->{Style["wt. frac. water",12,Black],Style["wt. frac. acetic acid",12,Black]}]
Out[]=
STAGE 1
STAGE 1
Feed and Solvent
In[]:=
F=150.;S=100.;xF[1]=50;xF[2]=50;xF[3]=0;xS[1]=0;xS[2]=0;xS[3]=100.;
Mixing Point
In[]:=
sol1=NSolve[{MF+S,MxM[1]FxF[1]+SxS[1],MxM[2]FxF[2]+SxS[2],MxM[3]FxF[3]+SxS[3]},{M,xM[1],xM[2],xM[3]}]
Out[]=
{{M250.,xM[1]30.,xM[2]30.,xM[3]40.}}
In[]:=
xM[1]=sol1[[1,2,2]]
Out[]=
30.
In[]:=
xM[2]=sol1[[1,3,2]]
Out[]=
30.
In[]:=
xM[3]=sol1[[1,4,2]]
Out[]=
40.
In[]:=
M=sol1[[1,1,2]]
Out[]=
250.
Extract and Raffinate Product
In[]:=
sys={R+EPM,xR[1]R+xE[1]EPMxM[1],xR[2]R+xE[2]EPMxM[2],xR[3]R+xE[3]EPMxM[3],Evaluate[Extrc[xE[1]]]xE[2],Evaluate[rafnt[xR[1]]]xR[2],Evaluate[tie1[xE[1]]]xR[1],xR[1]+xR[2]+xR[3]100}
Out[]=
EP+R250.,EPxE[1]+RxR[1]7500.,EPxE[2]+RxR[2]7500.,EPxE[3]+RxR[3]10000.,InterpolatingFunction[xE[1]]xE[2],InterpolatingFunction[xR[1]]xR[2],InterpolatingFunction[xE[1]]xR[1],xR[1]+xR[2]+xR[3]100
In[]:=
sol2=FindRoot[sys,{EP,180},{R,110},{xR[1],85},{xR[2],5},{xR[3],10},{xE[1],1},{xE[2],15},{xE[3],80}]
Out[]=
{EP135.467,R114.533,xR[1]56.5297,xR[2]38.0054,xR[3]5.4649,xE[1]7.56985,xE[2]23.2317,xE[3]69.1984}
In[]:=
EP=sol2[[1,2]]
Out[]=
135.467
In[]:=
R=sol2[[2,2]]
Out[]=
114.533
In[]:=
xR[1]=sol2[[3,2]]
Out[]=
56.5297
In[]:=
xR[2]=sol2[[4,2]]
Out[]=
38.0054
In[]:=
xR[3]=sol2[[5,2]]
Out[]=
5.4649
In[]:=
xE[1]=sol2[[6,2]]
Out[]=
7.56985
In[]:=
xE[2]=sol2[[7,2]]
Out[]=
23.2317
In[]:=
xE[3]=sol2[[8,2]]
Out[]=
69.1984
Plotting the first stage on the ternary diagram
In[]:=
p1=Show[p,Graphics[{RGBColor[0,1,1],tbl5}],Graphics[{PointSize[0.02],RGBColor[1,0,0],Point[{xR[1],xR[2]}],Darker@Green,Point[{xM[1],xM[2]}],RGBColor[0,0,1],Point[{xE[1],xE[2]}],Darker@Green,Point[{xF[1],xF[2]}],Point[{xS[1],xS[2]}],RGBColor[0,1,0],Line[{{xS[1],xS[2]},{xF[1],xF[2]}}],RGBColor[1,0,1],Line[{{xE[1],xE[2]},{xR[1],xR[2]}}],RGBColor[1,0,1]}],EpilogLine[{{100,0},{0,100}}],PlotRange{{0,100},{0,100}}]
STAGE 2
STAGE 2
Mixing Point
Extract and Raffinate Product
Plotting the first two stages on the ternary diagram
STAGE 3
STAGE 3
Mixing Point
Extract and Raffinate Product
Plotting the first three stages on the ternary diagram
STAGE 4
STAGE 4
Mixing Point
Extract and Raffinate Product
Finally, we plot with all four stages on the ternary diagram
CITE THIS NOTEBOOK
CITE THIS NOTEBOOK
Performance of a cross flow extraction system
by Housam Binous and Ahmed Bellagi
Wolfram Community, STAFF PICKS, May 12, 2025
https://community.wolfram.com/groups/-/m/t/3459169
by Housam Binous and Ahmed Bellagi
Wolfram Community, STAFF PICKS, May 12, 2025
https://community.wolfram.com/groups/-/m/t/3459169