Systematic Determination of Azeotropes for the Acetone - Chloroform - Methanol Mixture Using Relative Volatility Functions
Author's Data: Housam BINOUS
Department of Chemical Engineering
National Institute of Applied Sciences and Technology
Tunis, TUNISIA
Email: binoushousam@yahoo.com

Acetone = component 1
Chloroform = component 2
Methanol = component 3

Off[General::"spell1"]

Gas Constant and Total Pressure

R = 1.987; P = 760;

Vapor Pressure Using Antoine Equation

A1 = 7.11714; B1 = 1210.595; C1 = 229.664;
A2 = 6.95465; B2 = 1170.966; C2 = 226.232;
A3 = 8.08097;B3 = 1582.271;C3 = 
      239.726;

PS1 = 10^(A1 - B1/(C1 + T));
PS2 = 10^(A2 - B2/(C2 + T));
PS3 = 10^(A3 - B3/(C3 + T));

Binary inetraction Parameters and Activities for Wilson Model

l12 = 116.1171; l21 = -506.8519; 
    l13 = -114.4047;
l31 = 545.2942; l23 = -361.7944; 
    l32 = 1694.0241;
V1 = 74.05;V2 = 80.67;V3 = 
      40.73;

A12 = 
        V2/V1 Exp[-l12/(R*(273.15 + 
                      T))];
A13 = 
        V3/V1 Exp[-l13/(R*(273.15 + 
                      T))];
A32 = 
        V2/V3 Exp[-l32/(R*(273.15 + 
                      T))];
A21 = 
        V1/V2 Exp[-l21/(R*(273.15 + 
                      T))];
A31 = 
        V1/V3 Exp[-l31/(R*(273.15 + 
                      T))];
A23 = V3/V2 Exp[-l23/(R*(273.15 + T))];

GAM1 = 
        Exp[-Log[x1 + x2*A12 + x3*A13] + 
            1 - (x1/(x1 + x2*A12 + x3*A13) + 
                x2*A21/(x1*A21 + x2 + x3*A23) + 
                x3*A31/(x1*A31 + x2*A32 + 
                        x3))];
GAM2 = 
        Exp[-Log[x1*A21 + x2 + x3*A23] + 
            1 - (x1*A12/(x1 + x2*A12 + x3*A13) + 
                x2/(x1*A21 + x2 + x3*A23) + 
                x3*A32/(x1*A31 + x2*A32 + 
                        x3))];
GAM3 = 
        Exp[-Log[x1*A31 + x2*A32 + x3] + 
            1 - (x1*A13/(x1 + x2*A12 + x3*A13) + 
                x2*A23/(x1*A21 + x2 + x3*A23) + 
                x3/(x1*A31 + x2*A32 + x3))];

Calculation of Isovolatility Curves

y1 = GAM1 x1 PS1/P;
y2 = GAM2 x2 PS2/P;
y3 = GAM3 x3 PS3/P;

sol[a_, b_, c_] := 
      FindRoot[P ==  
                GAM1 PS1 x1 + GAM2 PS2 x2  + GAM3 PS2 x3 /. 
              x1 ->  a /. x2 ->  b /. x3 ->  c, {T, 
          100}]

(Subscript[α, 13])[x_, y_] := 
      If[0 ≤ x + y ≤ 
          1, (((y1 y)/(x y3))) /. sol[x, 1 - x - y, y] /. 
              x1 ->  x /. x2 ->  (1 - x - y) /. 
          x3 -> y, 0]

tb13 = 
        Table[(Subscript[α, 13])[x, y], {x, 0.001, 1, 0.01}, {y, 0.001, 1, 
            0.01}];

ListContourPlot[tb13, Contours -> 20, 
      ContourStyle -> RGBColor[1, 1, 0]]

Table[(Subscript[α, 13])[x, y], {x, 0.001, 1, 0.1}, {y, 0.001, 1, 
        0.1}]

(Subscript[α, 12])[x_, y_] := 
      If[0 ≤ x + y ≤ 
          1, (((y1 y)/(x y2))) /. sol[x, y, 1 - x - y] /. 
              x1 ->  x /. x2 -> y /. 
          x3 ->  (1 - x - y), 0]

tb12 = 
        Table[(Subscript[α, 12])[x, y], {x, 0.001, 1, 0.01}, {y, 0.001, 1, 
            0.01}];

ListContourPlot[tb12, Contours -> 20, 
      ContourStyle -> RGBColor[0, 1, 1]]

Table[(Subscript[α, 12])[x, y], {x, 0.001, 1, 0.1}, {y, 0.001, 1, 
        0.1}]

(Subscript[α, 23])[x_, y_] := 
      If[0 ≤ x + y ≤ 
          1, (((y2 y)/(x y3))) /. sol[1 - x - y, x, y] /. 
              x2 ->  x /. x3 -> y /. 
          x1 ->  (1 - x - y), 0]

tb23 = 
        Table[(Subscript[α, 23])[x, y], {x, 0.001, 1, 0.01}, {y, 0.001, 1, 
            0.01}];

ListContourPlot[tb23, Contours -> 20, 
      ContourStyle -> RGBColor[1, 0, 1]]

Table[(Subscript[α, 23])[x, y], {x, 0.001, 1, 0.1}, {y, 0.001, 1, 
        0.1}]

We find three binary azeotropes and a ternary azeotrope

FindRoot[{(Subscript[α, 12])[x, y] ==  1, x + y == 1}, {x, 0.01, 
        0.99}, {y, 0.01, 0.99}]

(Subscript[α, 12])[x /. %, y /. %]

FindRoot[{(Subscript[α, 13])[x, y] ==  1, x + y == 1}, {x, 0.1, 
        0.9}, {y, 0.01, 0.99}]

(Subscript[α, 13])[x /. %, y /. %]

FindRoot[{(Subscript[α, 23])[x, y] ==  1, x + y == 1}, {x, 0.1, 
        0.9}, {y, 0.1, 0.9}]

(Subscript[α, 23])[x /. %, y /. %]

FindRoot[{(Subscript[α, 12])[x, y] ==  
          1, (Subscript[α, 13])[x, z] ==  1, x + y + z == 1}, {x, 
        0.01, 0.99}, {y, 0.01, 0.99}, {z, 0.01, 0.99}]

{(Subscript[α, 12])[x /. %, y /. %], (Subscript[α, 13])[x /. %, 
        z /. %], (Subscript[α, 23])[y /. %, z /. %]}