Methyl tert-butyl ether, also known as MTBE, is a chemical compound with molecular formula
C
5
H
12
O
. MTBE, as well as TAME (tert-amyl butyl ether), are gasoline additives used as oxygenates to raise the octane number.​The following etherification reaction produces MTBE: ​ isobutene + MeOH ⇌ MTBE. ​The reacting mixture contains
n
-butane, an inert component, in addition to methanol (MeOH), isobutene, and MTBE. ​The reaction extent is limited, with an equilibrium constant taken equal to 49.0.​Vapor-liquid equilibrium is predicted using the Wilson model and the modified Raoult's law. Deviation from ideal behavior in the gas-phase is not taken into account to keep the calculation simple and to compare with available data in the literature (see [1] and [2]).​Azeotropes between MeOH and isobutene and MTBE and MeOH are reacted away. The azeotrope
A
3
between MeOH and
n
-butane is an unstable node containing 9.88 mole % MeOH. In addition, there are two reactive azeotropes: (1)
A
1
close to pure MTBE, corresponding to a stable node; (2)
A
2
, corresponding to a saddle point. ​The coordinates of the two reactive azeotropes, which contain no
n
-butane, are
A
1
:
X
1
=0.4784
and
X
2
=0.5215
,
A
2
:
X
1
=0.3773
and
X
2
=0.6226
.​These coordinates of the reactive azeotropes are in agreement with values given in the literature (see [1] and [2]).​We show plots of the residue curves passing through different locations in the triangular diagram. ​The
X
1
and
X
2
axes of the figure are related to liquid phase compositions by​
X
1
=
x
1
+
x
3
1+
x
3
and
X
2
=
x
2
+
x
3
1+
x
3
,​where
x
1
,
x
2
, and
x
3
are the mole fractions of isobutene, MeOH and MTBE, respectively.​The position of pure MTBE, shown by a green dot in the diagram, is given by
X
1
=
X
2
=0.5
.​The bubble temperature distribution is superimposed on the residue curve plot and clearly indicates the nature of the azeotropes (unstable node, saddle point, or stable node). For example, a stable node corresponds to high bubble temperatures (shown in magenta in the diagram) while an unstable node will be found in the yellow regions associated with low bubble temperatures.
Wilson Model and Antoine Equation
G[i_]=Exp1-Log
4
∑
j=1
x[j]A[i,j]-
4
∑
k=1
x[k]A[k,i]
4
∑
j=1
x[j]A[k,j]
/.x[3]x3/.x[4]x4/.x[1]x1/.x[2]x2;​​A[i_,j_]=V[j]/V[i]Exp[-a[i,j]/(RT)];​​​​(*binaryinteractionparameters*)​​a[1,1]=0;​​a[1,2]=169.9953;​​a[1,3]=-30.2477;​​a[1,4]=0;​​a[2,1]=2576.8532;​​a[2,2]=0;​​a[2,3]=1483.2478;​​a[2,4]=2283.8726;​​a[3,1]=271.5669;​​a[3,2]=-406.3902;​​a[3,3]=0;​​a[3,4]=0;​​a[4,1]=0;​​a[4,2]=382.3429;​​a[4,3]=0;​​a[4,4]=0;​​​​(*liquidmolarvolumes*)​​V[1]=93.33;​​V[2]=44.44;​​V[3]=118.8;​​V[4]=100.39;​​​​(*universalgasconstantandtotalpressure*)​​R=1.987;P=8×1.01310^5;​​​​(*AntoineEquation*)​​Psat[i_]=Exp[(Aa[i]+Ba[i]/(T+Ca[i]))];​​Aa[1]=20.64559;Aa[2]=23.49989;​​Aa[3]=20.71616;Aa[4]=20.56490;​​Ba[1]=-2125.74886;Ba[2]=-3643.31362;Ba[3]=-2571.58460;Ba[4]=-2151.97590;​​Ca[1]=-33.160;Ca[2]=-33.434;Ca[3]=-48.406;Ca[4]=-34.420;​​​​Keq=49;(*equilibriumconstant*)​​​​Y1=(y1+y3)/(1+y3);​​Y2=(y2+y3)/(1+y3);​​​​(*ModifiedRaoult'slaw*)​​y1=x1G[1]Psat[1]/P;​​y2=x2G[2]Psat[2]/P;​​y3=x3G[3]Psat[3]/P;​​y4=x4G[4]Psat[4]/P;​​​​(*summationrule*)​​x4=1-x1-x2-x3;​​
This problem is suitable to Parallelization
In[]:=
LaunchKernels[]
Out[]=
KernelObject
Local kernel
KernelID: 1
,KernelObject
Local kernel
KernelID: 2
,KernelObject
Local kernel
KernelID: 3
,KernelObject
Local kernel
KernelID: 4

In[]:=
x1=.;x2=.;
(*transformedcoordinates*)​​{x1,x2}=First[{x1,x2}/.Solve[{X1==(x1+x3)/(1+x3),X2==(x2+x3)/(1+x3)},{x1,x2}]]
Out[]=
{X1-x3+X1x3,X2-x3+X2x3}
In[]:=
x2
Out[]=
X2-x3+X2x3
In[]:=
x1
Out[]=
X1-x3+X1x3
Bubble temperature distribution
In[]:=
tbl=Parallelize@Table[{{X1,X2},If[0<=X1+X2<=1.1,T/.Quiet@FindMinimum[{​​(y1+y2+y3+y4-1)^2,(KeqG[1]G[2]x1x2-G[3]x3==0),1>=x3>=0,T>=320},​​{x3,0.000001},{T,380},MaxIterations->1000,AccuracyGoal->5][[2]],0]},{X1,0.0000000000000001,1.,0.025},{X2,0.0000000000000001,1.,0.025}];
In[]:=
fbubble=Interpolation[Flatten[tbl,1]];
In[]:=
myf[x_,y_]:=fbubble[x,y]
In[]:=
f=myf[#1,#2]&;
In[]:=
max=Quiet@NMaximize[{f[x,y],0<x<1,0<y<1,x+y<1},{x,y}][[1]]
Out[]=
401.646
In[]:=
min=Quiet@NMinimize[{f[x,y],0<x<1,0<y<1,x+y<1},{x,y}][[1]]
The coding below is based on the ideas presented by various contributors. See: https://mathematica.stackexchange.com/questions/39733/how-to-plot-ternary-density-plots​
The underlying idea behind plotting the density plot on a ternary equilateral diagram is as follows:
1- construct a polygon (the ternary equilateral diagram)
2- fill it with an image corresponding to the temperature distribution density plot obtained using the interpolating function f.
Drawing the Residue Curve Map (RCM)
Wilson Model and Antoine Equation
Residue Curve passing through (0.2,0.3)
Residue Curve Map

References

[1] M. H. M. Reis, L. F. S. Mascolo, and M. R. Wolf–Maciel, “Development of a Robust Algorithm to Compute Reactive Azeotropes,” Brazilian Journal of Chemical Engineering, 23(3), 2006 pp. 395–403.
[2] R. W. Maier, J. F. Brennecke, and M. Stadtherr, “Reliable Computation of Reactive Azeotropes,” Computers and Chemical Engineering, 24(8), 2000 pp. 1851–1858.

CITE THIS NOTEBOOK

Residue Curve Map and Bubble Temperature Distribution for MTBE Chemistry at 8 atm​
by Housam Binous and Ahmed Bellagi
Wolfram Community, STAFF PICKS, December 1, 2023
​https://community.wolfram.com/groups/-/m/t/3075169