Vapor-Liquid Equilibrium Diagram of Ethanol-Ethyl Acetate 
at 760 mmHg Using Van Laar Model
Author's Data: Zakia Nasri and Housam Binous
Department of Chemical Engineering
National Institute of Applied Sciences and Technology
Tunis, TUNISIA
Email: binoushousam@yahoo.com

Vapor Pressure and Normal Boiling Points for Ethyl Acetate (component 1) and Ethanol (component 2)

Aa1 = 7.10179; Ba1 = 1244.951; Ca1 = 217.881;

Aa2 = 7.58670; Ba2 = 1281.590; Ca2 = 193.768;

Psat1 = 10^(Aa1 - Ba1/(T + Ca1))

FindRoot[Psat1 == 760, {T, 50}]

Psat2 = 10^(Aa2 - Ba2/(T + Ca2))

FindRoot[Psat2 == 760, {T, 50}]

Activity coefficients using Van Laar Model

A12 = 0.8552; A21 = 0.7526;

Gam1 = 
      Exp[A12 (A21 (1 - x)/(A12 x + 
                      A21 (1 - x)))^2]

Gam2 = 
      Exp[A21 (A12 x/(A21 (1 - x) + A12 x))^2]

VLE data computation using Van Laar Model

i = 0;

P = 760;

While[
      i < 101, {x = i 0.01, 
sol = 
          FindRoot[
            Psat1 x Gam1 + Psat2 (1 - x) Gam2 ==  P, {T, 77, 
              78}]; xe[i] = x, 
        ye[i] = Psat1 x Gam1/P /. sol, 
Te[i] = T /. sol, 
        Print[i], i++}]

Tbl1 = Table[{xe[i], Te[i]}, {i, 1, 100}];

Tbl2 = Table[{ye[i], Te[i]}, {i, 1, 100}];

plt1 = 
      ListPlot[Tbl1, PlotStyle ->  RGBColor[1, 0, 0], 
        PlotJoined ->  True, 
        DisplayFunction ->  Identity]

plt2 = 
      ListPlot[Tbl2, PlotStyle ->  RGBColor[0, 0, 1], 
        PlotJoined ->  True, 
        DisplayFunction ->  Identity]

Show[plt1, plt2, DisplayFunction ->  $DisplayFunction]

Comparing data obtained from Van Laar Model and experimental data from Perry's Handbook

mydata = {{0, 78.57, 0}, {0.1, 75.77, 0.188}, {0.2, 74.17, 
          0.305}, 
{0.3, 73.24, 0.388}, {0.4, 72.71, 
          0.456}, {0.5, 72.47, 0.517}, 
{0.6, 72.49, 
          0.578}, {0.7, 72.79, 0.647}, {0.8, 73.48, 0.730}, {0.9, 74.77, 
          0.839}, {1, 77.06, 1}}

Tbl3 = 
      Table[{mydata[[i, 1]], mydata[[i, 2]]}, {i, 1, 11}]

Tbl4 = 
      Table[{mydata[[i, 3]], mydata[[i, 2]]}, {i, 1, 11}]

plt3 = 
      ListPlot[Tbl3, 
        PlotStyle ->  {PointSize[0.025], RGBColor[1, 0, 0]}, 
        DisplayFunction ->  Identity]

plt4 = 
      ListPlot[Tbl4, 
        PlotStyle ->  {PointSize[0.025], RGBColor[0, 0, 1]}, 
        DisplayFunction ->  Identity]

Show[plt3, plt4, plt1, plt2, 
      DisplayFunction ->  $DisplayFunction]