Liquid Liquid Equilibrium Curve and Tie Lines 
for ternary system: Water-Benzene-Ethanol at 25°C
Author's Data: Housam BINOUS
Department of Chemical Engineering
National Institute of Applied Sciences and Technology
Tunis, TUNISIA
Email: binoushousam@yahoo.com

Activities using the NRTL model

GAMMA1 = 
      Exp[(t21/(R T) G21 x2 + t31/(R T) G31 x3)/(x1 + 
                  G21 x2 + G31 x3) + 
            x1/(x1 + G21 x2 + 
                    G31 x3) (-(x2 t21/(R T) G21 + 
                        x3 t31/(R T) G31)/(x1 + G21 x2 + 
                      G31 x3)) + 
            x2 G12/(G12 x1 + x2 + 
                    G32 x3) (t12/(R T) - (x1 t12/(R T) G12 + x3 t32/(R T) G32)/(G12 x1 + x2 + 
                        G32 x3)) + 
x3 G13/(G13 x1 + G23 x2  + x3) (t13/(R T) - (x1 t13/(R T) G13 + 
                        x2 t23/(R T) G23)/(G13 x1 + G23 x2  + 
                        x3))] /. x3 -> 1 - x1 - x2

GAMMA1p = 
      Exp[(t21/(R T) G21 xp2 + t31/(R T) G31 xp3)/(xp1 + 
                  G21 xp2 + G31 xp3) + 
            xp1/(xp1 + G21 xp2 + 
                    G31 xp3) (-(xp2 t21/(R T) G21 + 
                        xp3 t31/(R T) G31)/(xp1 + G21 xp2 + 
                      G31 xp3)) + 
            xp2 G12/(G12 xp1 + xp2 + 
                    G32 xp3) (t12/(R T) - (xp1 t12/(R T) G12 + xp3 t32/(R T) G32)/(G12 xp1 + xp2 + 
                        G32 xp3)) + 
xp3 G13/(G13 xp1 + G23 xp2  + 
                    xp3) (t13/(R T) - (xp1 t13/(R T) G13 + 
                        xp2 t23/(R T) G23)/(G13 xp1 + 
                        G23 xp2  + xp3))] /. 
        xp3 -> 1 - xp1 - xp2

GAMMA2 = 
      Exp[(t12/(R T) G12 x1 + 
                  t32/(R T) G32 x3)/(G12 x1 + x2 + G32 x3) + 
            x1 G21/(x1 + G21 x2 + 
                    G31 x3) (t21/(R T) - (x2 t21/(R T) G21 + x3 t31/(R T) G31)/(x1 + G21 x2 + G31 x3)) + 
            x2/(G12 x1 + x2 + 
                    G32 x3) (-(x1 t12/(R T) G12 + 
                        x3 t32/(R T) G32)/(G12 x1 + x2 + 
                      G32 x3)) + 
            x3 G23/(G13 x1 + G23 x2  + 
                    x3) (t23/(R T) - (x1 t13/(R T) G13 + 
                        x2 t23/(R T) G23)/(G13 x1 + G23 x2  + 
                        x3))] /. x3 -> 1 - x1 - x2

GAMMA2p = 
      Exp[(t12/(R T) G12 xp1 + 
                  t32/(R T) G32 xp3)/(G12 xp1 + xp2 + 
                  G32 xp3) + 
            xp1 G21/(xp1 + G21 xp2 + 
                    G31 xp3) (t21/(R T) - (xp2 t21/(R T) G21 + xp3 t31/(R T) G31)/(xp1 + G21 xp2 + G31 xp3)) + 
            xp2/(G12 xp1 + xp2 + 
                    G32 xp3) (-(xp1 t12/(R T) G12 + 
                        xp3 t32/(R T) G32)/(G12 xp1 + xp2 + 
                      G32 xp3)) + 
            xp3 G23/(G13 xp1 + G23 xp2  + 
                    xp3) (t23/(R T) - (xp1 t13/(R T) G13 + 
                        xp2 t23/(R T) G23)/(G13 xp1 + 
                        G23 xp2  + xp3))] /. 
        xp3 -> 1 - xp1 - xp2

GAMMA3 = 
      Exp[(t13/(R T) G13 x1 + 
                  t23/(R T) G23 x2)/(G13 x1 + G23 x2 + x3) + 
            x1 G31/(x1 + G21 x2 + 
                    G31 x3) (t31/(R T) - (x2 t21/(R T) G21 + x3 t31/(R T) G31)/(x1 + G21 x2 + G31 x3)) + 
            x2 G32/(G12 x1 + x2 + 
                    G32 x3) (t32/(R T) - (x1 t12/(R T) G12 + x3 t32/(R T) G32)/(G12 x1 + x2 + G32 x3)) + 
            x3/(G13 x1 + G23 x2  + 
                    x3) (-(x1 t13/(R T) G13 + 
                        x2 t23/(R T) G23)/(G13 x1 + G23 x2  + 
                      x3))] /. x3 -> 1 - x1 - x2

GAMMA3p = 
      Exp[(t13/(R T) G13 xp1 + 
                  t23/(R T) G23 xp2)/(G13 xp1 + G23 xp2 + 
                  xp3) + 
            xp1 G31/(xp1 + G21 xp2 + 
                    G31 xp3) (t31/(R T) - (xp2 t21/(R T) G21 + xp3 t31/(R T) G31)/(xp1 + G21 xp2 + G31 xp3)) + 
            xp2 G32/(G12 xp1 + xp2 + 
                    G32 xp3) (t32/(R T) - (xp1 t12/(R T) G12 + xp3 t32/(R T) G32)/(G12 xp1 + xp2 + G32 xp3)) + 
            xp3/(G13 xp1 + G23 xp2  + 
                    xp3) (-(xp1 t13/(R T) G13 + 
                        xp2 t23/(R T) G23)/(G13 xp1 + 
                      G23 xp2  + xp3))] /. 
        xp3 -> 1 - xp1 - xp2

G12 = Exp[-a12 t12/(R T)]; 
    G21 = Exp[-a12 t21/(R T)]; G13 = Exp[-a13 t13/(R T)]; 
    G31 = Exp[-a13 t31/(R T)]; G32 = Exp[-a32 t32/(R T)]; 
    G23 = Exp[-a32 t23/(R T)];

Gas constant, temperature and binary interaction parameters for the NRTL model

R = 1.987; T = 273.15 + 25;
a12 = 0.2; a13 = 0.3031; a32 = 0.2911;
t12 = 3719.395; t21 = 4843.376; t23 = 991.5067; t32 = 334.1524; 
    t13 = 1332.312; t31 = -109.6339;

Computing Tie lines and LLE curve 
Water = component 1
Benzene = component 2
Ethanol = component 3

X1 = 0.2; X2 = 0.5;

\(FindRoot[{GAMMA1\ x1 == 
          GAMMA1p\ xp1, 
GAMMA2\ x2 == GAMMA2p\ xp2, 
        GAMMA3\ \((1 - x1 - x2)\) == 
          GAMMA3p\ \((1 - xp1 - xp2)\), 
L + Lp == \ 
          1, x1\ L + xp1\ Lp == \ X1, 
        x2\ L + xp2\ Lp == \ X2}, {x1, 0.1}, {x2, 0.3}, {xp1, 
        0.5}, {xp2, 0.9}, {L, 0.1}, {Lp, 0.9}, AccuracyGoal -> 10, 
      WorkingPrecision -> 10, 
	MaxIterations -> 5000]\)

H2O[1, 1] = 0.00161853; Benzene[1, 1] = 0.879066; 
    Ethanol[1, 1] = 1 - H2O[1, 1] - Benzene[1, 1]

H2O[2, 1] = 0.420813; Benzene[2, 1] = 0.0780725; 
    Ethanol[2, 1] = 1 - H2O[2, 1] - Benzene[2, 1]

X1 = 0.3; X2 = 0.4;

\(FindRoot[{GAMMA1\ x1 == 
          GAMMA1p\ xp1, 
GAMMA2\ x2 == GAMMA2p\ xp2, 
        GAMMA3\ \((1 - x1 - x2)\) == 
          GAMMA3p\ \((1 - xp1 - xp2)\), 
L + Lp == \ 
          1, x1\ L + xp1\ Lp == \ X1, 
        x2\ L + xp2\ Lp == \ X2}, {x1, 0.1}, {x2, 0.9}, {xp1, 
        0.5}, {xp2, 0.05}, {L, 0.1}, {Lp, 0.9}, AccuracyGoal -> 10, 
      WorkingPrecision -> 10, 
	
      MaxIterations -> 10000]\)

H2O[1, 2] = 0.00138706; Benzene[1, 2] = 0.888031; 
    Ethanol[1, 2] = 1 - H2O[1, 2] - Benzene[1, 2]

H2O[2, 2] = 0.515539; Benzene[2, 2] = 0.0477397; 
    Ethanol[2, 2] = 1 - H2O[2, 2] - Benzene[2, 2]

X1 = 0.289; X2 = 1 - 0.289 - 0.136;

\(FindRoot[{GAMMA1\ x1 == 
          GAMMA1p\ xp1, 
GAMMA2\ x2 == GAMMA2p\ xp2, 
        GAMMA3\ \((1 - x1 - x2)\) == 
          GAMMA3p\ \((1 - xp1 - xp2)\), 
L + Lp == \ 
          1, x1\ L + xp1\ Lp == \ X1, 
        x2\ L + xp2\ Lp == \ X2}, {x1, 0.001}, {x2, 0.9}, {xp1, 
        0.8}, {xp2, 0.001}, {L, 0.5}, {Lp, 0.6}, AccuracyGoal -> 10, 
      WorkingPrecision -> 10, 
	MaxIterations -> 5000]\)

H2O[1, 3] = 0.00094228; Benzene[1, 3] = 0.907027; 
    Ethanol[1, 3] = 1 - H2O[1, 3] - Benzene[1, 3]

H2O[2, 3] = 0.781776; Benzene[2, 3] = 0.00700599; 
    Ethanol[2, 3] = 1 - H2O[2, 3] - Benzene[2, 3]

X1 = 0.3995; X2 = 1 - 0.3995 - 0.1033;

\(FindRoot[{GAMMA1\ x1 == 
          GAMMA1p\ xp1, 
GAMMA2\ x2 == GAMMA2p\ xp2, 
        GAMMA3\ \((1 - x1 - x2)\) == 
          GAMMA3p\ \((1 - xp1 - xp2)\), 
L + Lp == \ 
          1, x1\ L + xp1\ Lp == \ X1, 
        x2\ L + xp2\ Lp == \ X2}, {x1, 0.001}, {x2, 0.9}, {xp1, 
        0.8}, {xp2, 0.001}, {L, 0.5}, {Lp, 0.6}, AccuracyGoal -> 10, 
      WorkingPrecision -> 10, 
	MaxIterations -> 5000]\)

H2O[1, 4] = 0.000650024; Benzene[1, 4] = 0.922616; 
    Ethanol[1, 4] = 1 - H2O[1, 4] - Benzene[1, 4]

H2O[2, 4] = 0.86288; Benzene[2, 4] = 0.00295623; 
    Ethanol[2, 4] = 1 - H2O[2, 4] - Benzene[2, 4]

X1 = 0.8060; X2 = 1 - 0.8060 - 0.0236;

\(FindRoot[{GAMMA1\ x1 == 
          GAMMA1p\ xp1, 
GAMMA2\ x2 == GAMMA2p\ xp2, 
        GAMMA3\ \((1 - x1 - x2)\) == 
          GAMMA3p\ \((1 - xp1 - xp2)\), 
L + Lp == \ 
          1, x1\ L + xp1\ Lp == \ X1, 
        x2\ L + xp2\ Lp == \ X2}, {x1, 0.001}, {x2, 0.9}, {xp1, 
        0.8}, {xp2, 0.001}, {L, 0.5}, {Lp, 0.6}, AccuracyGoal -> 10, 
      WorkingPrecision -> 10, 
	MaxIterations -> 5000]\)

H2O[1, 5] = 0.00011066; Benzene[1, 5] = 0.979549; 
    Ethanol[1, 5] = 1 - H2O[1, 5] - Benzene[1, 5]

H2O[2, 5] = 0.975116; Benzene[2, 5] = 0.000599641; 
    Ethanol[2, 5] = 1 - H2O[2, 5] - Benzene[2, 5]

Plait Point H2O[1,6]=0.01634, Benzene[1,6]=0.59843 and Ethanol[1,6]=0.38523

H2O[1, 6] = 0.01634; Benzene[1, 6] = 0.59843;  
    Ethanol[1, 6] = 0.38523 ;

H2O[2, 6] = 0.01634; Benzene[2, 6] = 0.59843;  
    Ethanol[2, 6] = 0.38523 ;

X1 = 0.0907; X2 = 1 - 0.0907 - 0.5587;

\(FindRoot[{GAMMA1\ x1 == 
          GAMMA1p\ xp1, 
GAMMA2\ x2 == GAMMA2p\ xp2, 
        GAMMA3\ \((1 - x1 - x2)\) == 
          GAMMA3p\ \((1 - xp1 - xp2)\), 
L + Lp == \ 
          1, x1\ L + xp1\ Lp == \ X1, 
        x2\ L + xp2\ Lp == \ X2}, {x1, 0.005}, {x2, 0.76}, {xp1, 
        0.11}, {xp2, 0.30}, {L, 0.5}, {Lp, 0.6}, AccuracyGoal -> 10, 
      WorkingPrecision -> 10, 
	MaxIterations -> 5000]\)

H2O[1, 7] = 0.00478969; Benzene[1, 7] = 0.782616; 
    Ethanol[1, 7] = 1 - H2O[1, 7] - Benzene[1, 7]

H2O[2, 7] = 0.0934552; Benzene[2, 7] = 0.336745; 
    Ethanol[2, 7] = 1 - H2O[2, 7] - Benzene[2, 7]

X1 = 0.4; X2 = 0.4;

\(FindRoot[{GAMMA1\ x1 == 
          GAMMA1p\ xp1, 
GAMMA2\ x2 == GAMMA2p\ xp2, 
        GAMMA3\ \((1 - x1 - x2)\) == 
          GAMMA3p\ \((1 - xp1 - xp2)\), 
L + Lp == \ 
          1, x1\ L + xp1\ Lp == \ X1, 
        x2\ L + xp2\ Lp == \ X2}, {x1, 0.35}, {x2, 0.1}, {xp1, 
        0.005}, {xp2, 0.8}, {L, 0.1}, {Lp, 0.9}, AccuracyGoal -> 10, 
      WorkingPrecision -> 10, 
	MaxIterations -> 5000]\)

H2O[1, 8] = 0.70825498; Benzene[1, 8] = 0.01330630; 
    Ethanol[1, 8] = 1 - H2O[1, 8] - Benzene[1, 8]

H2O[2, 8] = 0.001088273; Benzene[2, 8] = 0.90041900; 
    Ethanol[2, 8] = 1 - H2O[2, 8] - Benzene[2, 8]

X1 = 0.2; X2 = 0.25;

\(FindRoot[{GAMMA1\ x1 == 
          GAMMA1p\ xp1, 
GAMMA2\ x2 == GAMMA2p\ xp2, 
        GAMMA3\ \((1 - x1 - x2)\) == 
          GAMMA3p\ \((1 - xp1 - xp2)\), 
L + Lp == \ 
          1, x1\ L + xp1\ Lp == \ X1, 
        x2\ L + xp2\ Lp == \ X2}, {x1, 0.6}, {x2, 0.01}, {xp1, 
        0.001}, {xp2, 0.88}, {L, 0.1}, {Lp, 0.9}, AccuracyGoal -> 10, 
      WorkingPrecision -> 10, 
	MaxIterations -> 5000]\)

H2O[1, 9] = 0.21950264; Benzene[1, 9] = 0.191415654; 
    Ethanol[1, 9] = 1 - H2O[1, 9] - Benzene[1, 9]

H2O[2, 9] = 0.00267741; Benzene[2, 9] = 0.842740789; 
    Ethanol[2, 9] = 1 - H2O[2, 9] - Benzene[2, 9]

X1 = 0.7; X2 = 0.25;

\(FindRoot[{GAMMA1\ x1 == 
          GAMMA1p\ xp1, 
GAMMA2\ x2 == GAMMA2p\ xp2, 
        GAMMA3\ \((1 - x1 - x2)\) == 
          GAMMA3p\ \((1 - xp1 - xp2)\), 
L + Lp == \ 
          1, x1\ L + xp1\ Lp == \ X1, 
        x2\ L + xp2\ Lp == \ X2}, {x1, 0.6}, {x2, 0.01}, {xp1, 
        0.001}, {xp2, 0.88}, {L, 0.1}, {Lp, 0.9}, AccuracyGoal -> 10, 
      WorkingPrecision -> 10, 
	MaxIterations -> 5000]\)

H2O[1, 10] = 0.9457443; Benzene[1, 10] = 0.0009643490; 
    Ethanol[1, 10] = 1 - H2O[1, 10] - Benzene[1, 10]

H2O[2, 10] = 0.0002277334; Benzene[2, 10] = 0.959144357; 
    Ethanol[2, 10] = 1 - H2O[2, 10] - Benzene[2, 10]

X1 = 0.2; X2 = 0.6;

\(FindRoot[{GAMMA1\ x1 == 
          GAMMA1p\ xp1, 
GAMMA2\ x2 == GAMMA2p\ xp2, 
        GAMMA3\ \((1 - x1 - x2)\) == 
          GAMMA3p\ \((1 - xp1 - xp2)\), 
L + Lp == \ 
          1, x1\ L + xp1\ Lp == \ X1, 
        x2\ L + xp2\ Lp == \ X2}, {x1, 0.6}, {x2, 0.01}, {xp1, 
        0.001}, {xp2, 0.88}, {L, 0.1}, {Lp, 0.9}, AccuracyGoal -> 10, 
      WorkingPrecision -> 10, 
	MaxIterations -> 5000]\)

H2O[1, 11] = 0.585576733; Benzene[1, 11] = 0.0316102347; 
    Ethanol[1, 11] = 1 - H2O[1, 11] - Benzene[1, 11]

H2O[2, 11] = 0.00126508697; Benzene[2, 11] = 0.8929608578; 
    Ethanol[2, 11] = 1 - H2O[2, 11] - Benzene[2, 11]

X1 = 0.05; X2 = 0.9;

\(FindRoot[{GAMMA1\ x1 == 
          GAMMA1p\ xp1, 
GAMMA2\ x2 == GAMMA2p\ xp2, 
        GAMMA3\ \((1 - x1 - x2)\) == 
          GAMMA3p\ \((1 - xp1 - xp2)\), 
L + Lp == \ 
          1, x1\ L + xp1\ Lp == \ X1, 
        x2\ L + xp2\ Lp == \ X2}, {x1, 0.6}, {x2, 0.01}, {xp1, 
        0.001}, {xp2, 0.88}, {L, 0.1}, {Lp, 0.9}, AccuracyGoal -> 10, 
      WorkingPrecision -> 10, 
	MaxIterations -> 5000]\)

H2O[1, 12] = 0.93132476; Benzene[1, 12] = 0.001197580; 
    Ethanol[1, 12] = 1 - H2O[1, 12] - Benzene[1, 12]

H2O[2, 12] = 0.00029766863; Benzene[2, 12] = 0.9506879839; 
    Ethanol[2, 12] = 1 - H2O[2, 12] - Benzene[2, 12]

X1 = 0.9; X2 = 0.05;

\(FindRoot[{GAMMA1\ x1 == 
          GAMMA1p\ xp1, 
GAMMA2\ x2 == GAMMA2p\ xp2, 
        GAMMA3\ \((1 - x1 - x2)\) == 
          GAMMA3p\ \((1 - xp1 - xp2)\), 
L + Lp == \ 
          1, x1\ L + xp1\ Lp == \ X1, 
        x2\ L + xp2\ Lp == \ X2}, {x1, 0.6}, {x2, 0.01}, {xp1, 
        0.001}, {xp2, 0.88}, {L, 0.1}, {Lp, 0.9}, AccuracyGoal -> 10, 
      WorkingPrecision -> 10, 
	MaxIterations -> 5000]\)

H2O[1, 13] = 0.94847877; Benzene[1, 13] = 0.000924449; 
    Ethanol[1, 13] = 1 - H2O[1, 13] - Benzene[1, 13]

H2O[2, 13] = 0.0002152324; Benzene[2, 13] = 0.9608612170; 
    Ethanol[2, 13] = 1 - H2O[2, 13] - Benzene[2, 13]

Plots of Liquid-Liquid Equilibrium Curve and Tie Lines for Water-Benzene-Ethanol Ternary System at 25°C. Plait Point is shown as a red dot.

tbl1 = Table[{Benzene[1, i], Ethanol[1, i]}, {i, 1, 13}]

tbl2 = Table[{Benzene[2, i], Ethanol[2, i]}, {i, 1, 13}]

tblfinal = Sort[Join[tbl1, tbl2]]

plt = 
      ListPlot[tblfinal, AspectRatio -> 1, 
        PlotJoined -> True]

Show[plt, 
      Graphics[{RGBColor[0, 0, 1], Text[Water, {0, -0.1}], 
          Text[Benzene, {1.0, -0.1}], Text[Ethanol, {0, 1.1}], 
          RGBColor[0, 0, 1]}], 
      PlotRange -> {{-0.2, 1.2}, {-0.2, 1.2}}, 
      Epilog -> {RGBColor[0, 1, 0], Line[{{1, 0}, {0, 1}}]}]

plt2 = 
      Show[plt, PlotRange -> {{0, 1}, {0, 1}}, 
        AspectRatio -> 
          1, 
Epilog -> {{RGBColor[0, 0, 
                1], 
Line[{{Benzene[1, 4], 
                    Ethanol[1, 4]}, {Benzene[2, 4], 
                    Ethanol[2, 4]}}], 
Line[{{Benzene[1, 
                      3], Ethanol[1, 3]}, {Benzene[2, 3], 
                    Ethanol[2, 3]}}], 
Line[{{Benzene[1, 
                      2], Ethanol[1, 2]}, {Benzene[2, 2], 
                    Ethanol[2, 2]}}], 
Line[{{Benzene[1, 
                      1], Ethanol[1, 1]}, {Benzene[2, 1], Ethanol[2, 1]}}], 
              Line[{{Benzene[1, 8], Ethanol[1, 8]}, {Benzene[2, 8], 
                    Ethanol[2, 8]}}], 
              Line[{{Benzene[1, 9], Ethanol[1, 9]}, {Benzene[2, 9], 
                    Ethanol[2, 9]}}], 
              Line[{{Benzene[1, 10], Ethanol[1, 10]}, {Benzene[2, 10], 
                    Ethanol[2, 10]}}], 
              Line[{{Benzene[1, 11], Ethanol[1, 11]}, {Benzene[2, 11], 
                    Ethanol[2, 11]}}], 
              Line[{{Benzene[1, 12], Ethanol[1, 12]}, {Benzene[2, 12], 
                    Ethanol[2, 12]}}], 
              Line[{{Benzene[1, 13], Ethanol[1, 13]}, {Benzene[2, 13], 
                    Ethanol[2, 13]}}], 
Line[{{Benzene[1, 
                      7], Ethanol[1, 7]}, {Benzene[2, 7], 
                    Ethanol[2, 7]}}]}, {RGBColor[0, 1, 0], 
              Line[{{1, 0}, {0, 1}}]}, {PointSize[0.02], RGBColor[1, 0, 0], 
              Point[{Benzene[1, 6], Ethanol[1, 6]}]}}]

Show[plt2, 
      Graphics[{RGBColor[0, 0, 1], Text[Water, {0, -0.1}], 
          Text[Benzene, {1.0, -0.1}], Text[Ethanol, {0, 1.1}], 
          RGBColor[0, 0, 1]}], 
      PlotRange -> {{-0.2, 1.2}, {-0.2, 1.2}}]