Azeotropes Computation using UNIQUAC Model :
Case of ternary System 1-Butanol - Water- Butyl Acetate​
​Authors: Housam BINOUS and Ahmed Bellagi

We compute the azeotropes for the ternary system : water/n - butanol/butyl acetate .
​
When applicable, the problem is considered as a minimization problem using the Mathematica built - in function : Minimize . This confirms that difficult system of algebraic equations can often be solved more easily as optimization problems .
​
Activity coefficients are determined using the UNIQUAC model .
​
Compositions and boiling points for all azeotropes are given . There are four azeotropes (three binary azeotropes and a ternary azeotrope) . Three azeotropes, including the ternary azeotropes, are heterogeneous . In such case, the composition of the overall, aqueous and organic phases are given . Only the azeotrope between butanol and butyl acetate is homogeneous .
​
Results are in agreement with Ref. 1.

Reference :
​
1 - Venimadhavan, Malone and Doherty, A novel distillate policy for batch distillation with application to the production of butyl acetate, Ind . Eng . Chem . Res ., 1999, 38, 714 - 722.
​

In[]:=
Off[General::"spell1"]
Vapor pressure and normal boiling points
In[]:=
Psat1=Exp[A1+B1/(C1+T)]
Out[]=
A1+
B1
C1+T

In[]:=
Psat2=Exp[A2+B2/(C2+T)]
Out[]=
A2+
B2
C2+T

In[]:=
Psat3=Exp[A3+B3/(C3+T)]
Out[]=
A3+
B3
C3+T

In[]:=
A1=23.2256;B1=-3835.18;C1=-45.343;​​A2=21.9783;B2=-3080.66;C2=-96.150;​​A3=21.07637;B3=-3151.09;C3=-69.150;
In[]:=
FindRoot[Psat11.0132510^5,{T,380}]
Out[]=
{T373.15}
In[]:=
FindRoot[Psat21.0132510^5,{T,380}]
Out[]=
{T390.888}
In[]:=
FindRoot[Psat31.0132510^5,{T,380}]
Out[]=
{T399.097}
Activity coefficients using UNIQUAC model
​
Component 1 = Water
Component 2 = 1-Butanol
Component 3 = Butyl Acetate
In[]:=
tau[j_,i_]:=Exp[-(U[j,i]-U[i,i])/(RT)]
In[]:=
U[1,1]=0.0;U[1,2]=581.1471;U[1,3]=461.4747;
In[]:=
U[2,1]=68.0083;U[2,2]=0.0;U[2,3]=82.5336;
In[]:=
U[3,1]=685.71;U[3,2]=24.6386;U[3,3]=0.0;
In[]:=
Gam1=Exp[Log[Gam1C]+Log[Gam1R]]
Out[]=
Gam1CGam1R
In[]:=
Gam2=Exp[Log[Gam2C]+Log[Gam2R]]
Out[]=
Gam2CGam2R
In[]:=
Gam3=Exp[Log[Gam3C]+Log[Gam3R]]
Out[]=
Gam3CGam3R
In[]:=
Gam1C=ExpLog[phi[1]/x[1]]+z2q[1]Log[v[1]/phi[1]]+l[1]-phi[1]x[1]
3
∑
j=1
x[j]l[j];
In[]:=
Gam2C=ExpLog[phi[2]/x[2]]+z2q[2]Log[v[2]/phi[2]]+l[2]-phi[2]x[2]
3
∑
j=1
x[j]l[j];
In[]:=
Gam3C=ExpLog[phi[3]/x[3]]+z2q[3]Log[v[3]/phi[3]]+l[3]-phi[3]x[3]
3
∑
j=1
x[j]l[j];
In[]:=
r[1]=0.92;r[2]=3.4543;r[3]=4.8274;
In[]:=
q[1]=1.4;q[2]=3.052;q[3]=4.196;
In[]:=
l[i_]:=z/2(r[i]-q[i])-(r[i]-1)
In[]:=
z=10;
In[]:=
Gam1R=Expq[1]1-Log
3
∑
j=1
v[j]tau[j,1]-
3
∑
j=1
v[j]tau[1,j]
3
∑
k=1
v[k]tau[k,j]
;
In[]:=
Gam2R=Expq[2]1-Log
3
∑
j=1
v[j]tau[j,2]-
3
∑
j=1
v[j]tau[2,j]
3
∑
k=1
v[k]tau[k,j]
;
In[]:=
Gam3R=Expq[3]1-Log
3
∑
j=1
v[j]tau[j,3]-
3
∑
j=1
v[j]tau[3,j]
3
∑
k=1
v[k]tau[k,j]
;
In[]:=
phi[i_]:=r[i]x[i]
3
∑
j=1
r[j]x[j]
In[]:=
v[i_]:=q[i]x[i]
3
∑
j=1
q[j]x[j]
In[]:=
R=1.98721;
In[]:=
Gam1p=Gam1/.x[1]xp[1]/.x[2]xp[2]/.x[3]xp[3];
In[]:=
Gam2p=Gam2/.x[1]xp[1]/.x[2]xp[2]/.x[3]xp[3];
In[]:=
Gam3p=Gam3/.x[1]xp[1]/.x[2]xp[2]/.x[3]xp[3];
Azeotropes determination. Results are similar to Venimadhavan, Malone and Doherty, A novel distillate policy for batch distillation with application to the production of butyl acetate, Ind. Eng. Chem. Res., 1999, 38, 714-722.
Homogeneous Binary Azeotrope between n-butanol and butyl acetate
In[]:=
FindRoot[{Gam1x[1]Psat1+Gam2x[2]Psat2+Gam3x[3]Psat31.0132510^5,x[1]y[1],x[2]y[2],y[1]Gam1x[1]Psat1/(1.0132510^5),y[2]Gam2x[2]Psat2/(1.0132510^5),x[3]1-x[1]-x[2]},{x[1],0},{x[2],0.7},{y[1],0},{y[2],0.1},{T,400},{x[3],0.5}]//Chop
Out[]=
{x[1]0,x[2]0.787757,y[1]0,y[2]0.787757,T390.095,x[3]0.212243}
In[]:=
390.095-273.15
Out[]=
116.945
Heterogeneous Binary Azeotrope between water and butyl acetate
In[]:=
Minimize[{(Gam1x[1]Psat1/(1.0132510^5)+Gam2x[2]Psat2/(1.0132510^5)+Gam3x[3]Psat3/(1.0132510^5)-1.0)^2+​​(Gam1pxp[1]Psat1/(1.0132510^5)+Gam2pxp[2]Psat2/(1.0132510^5)+Gam3pxp[3]Psat3/(1.0132510^5)-1.0)^2+​​(x[3]-(1-x[1]-x[2]))^2+(xp[3]-(1-xp[1]-xp[2]))^2+(Gam1pxp[1]-Gam1x[1])^2+(Gam2pxp[2]-Gam2x[2])^2+((xo2-x[2])(xp[1]-x[1])-(xp[2]-x[2])(xo1-x[1]))^2+(xo1-Gam1x[1]Psat1/(1.0132510^5))^2+(xo3-Gam3x[3]Psat3/(1.0132510^5))^2+(xo1+xo2+xo3-1)^2,1>x[1]>0.99,x[2]0,0.1<xp[1]<0.2,360<T<370,0<xo1<1,xo20,0<xo3<1,0.8<xp[3]<1,0<x[3]<0.05,xp[2]0,0<xp[2]<1,0<x[2]<1},{x[1],x[2],x[3],xp[1],xp[2],xp[3],xo1,T,xo2,xo3}]//Chop
Out[]=
{0,{x[1]0.998835,x[2]0,x[3]0.00116618,xp[1]0.169414,xp[2]0,xp[3]0.830586,xo10.722812,T364.33,xo20,xo30.277187}}
Heterogeneous Binary Azeotrope between water and n-butanol
Heterogeneous Ternary Azeotrope between water, n-butanol and butyl acetate