Batch Rectification of pentane, hexane, 
heptane and octane mixture.
Author's Data: Housam BINOUS
Department of Chemical Engineering
National Institute of Applied Sciences and Technology
Tunis, TUNISIA
Email: binoushousam@yahoo.com

Batch Rectification of pentane, hexane, heptane and octane mixture.
Reflux ratio is 5 and number of theoretical stages is 7.

Pentane = component 1
Hexane = component 2
Heptane = component 3 
Octane = component 4 

The method of solution is based on Doherty and Malone's book Conceptual Design of Distillation Systems page 395. It uses constant molar overflow assumption to get the equation of the operating line. The method also relates the composition of the still and distillate thanks to the overall and components quasi-steady-state material balances. The solution in the present notebook uses equilibrium relationships, operating lines and Dalton's law to compute the distillate composition for a given still composition. Then, Euler's method is used to compute the still composition at a later time using a time step equal to h=0.01.

Still initial composition: 25% Pentane, 25% Hexane, 25% Heptane and 25% Octane.

Reference: Doherty and Malone, Conceptual Design of Distillation Systems, McGraw-Hill, 2001

Total Pressure

P = 101.325;

Reflux ratio

r = 5. ;

Vapor Pressure of Pentane (component 1), Hexane (component 2), Heptane (component 3) and Octane (component 4).

PS[i_, 1] := 
        Exp[63.3315 - 5117.78/T[i] - 7.48305 Log[T[i]] + 
            7.76606 10^-6 T[i]^2];
PS[i_, 2] := 
        Exp[70.4265 - 6055.60/T[i] - 8.37865 Log[T[i]] + 
            6.61666 10^-6 T[i]^2];
PS[i_, 3] := 
        Exp[78.3285 - 6947.00/T[i] - 9.44866 Log[T[i]] + 
            6.47481 10^-6 T[i]^2];
PS[i_, 4] := 
        Exp[86.9970 - 7890.60/T[i] - 10.6255 Log[T[i]] + 
            6.47441 10^-6 T[i]^2];

Boiling temperature of pentane, hexane, heptane and octane

FindRoot[PS[i, 1] ==  P, {T[i], 300}]

FindRoot[PS[i, 2] ==  P, {T[i], 300}]

FindRoot[PS[i, 3] ==  P, {T[i], 300}]

FindRoot[PS[i, 4] ==  P, {T[i], 300}]

Operating Line

Op[i_, n_] := 
      y[i - 1, n] ==  
        r/(r + 1) x[i, n] + 1/(r + 1) x[7, n]

Raoult Law

Ra[i_, n_] :=  
      y[i, n] ==   x[i, n] PS[i, n]/P

Dalton Law

Da[i_] := P ==  Sum[x[i, n] PS[i, n], {n, 1, 4}]

Forming the system of equations to be solved by FindRoot

Sys3 = Table[Op[i, n], {n, 1, 4}, {i, 1, 7}];
Sys4 = 
        Table[Ra[i, n], {n, 1, 4}, {i, 0, 6}];
Sys5 = Table[Da[i], {i, 0, 7}];
System2 = Flatten[Join[Sys3, Sys4, Sys5]];

Initial condition (composition of still)

xB[1][0] = 0.25;
xB[2][0] = 0.25;
xB[3][0] = 0.25;
xB[4][0] = 0.25;

Integration using Euler's method. Please note that computation may take 15 minutes. Distillate composition is printed.

h = 0.01; i = 0;

While[
      i < 200, {x[0, 1] = xB[1][i], 
x[0, 
            2] = xB[2][i], x[0, 3] = xB[3][i], 
        x[0, 4] = xB[4][i], 
sol = 
          FindRoot[
            System2, {x[1, 1], 0.5}, {x[2, 1], 0.5}, {x[3, 1], 
              0.5}, {x[4, 1], 0.5}, {x[5, 1], 0.5}, {x[6, 1], 0.5}, {x[7, 1], 
              0.5}, {x[1, 2], 0.5}, {x[2, 2], 0.5}, {x[3, 2], 0.5}, {x[4, 2], 
              0.5}, {x[5, 2], 0.5}, {x[6, 2], 0.5}, {x[7, 2], 0.5}, {x[1, 3], 
              0.5}, {x[2, 3], 0.5}, {x[3, 3], 0.5}, {x[4, 3], 0.5}, {x[5, 3], 
              0.5}, {x[6, 3], 0.5}, {x[7, 3], 0.5}, {x[1, 4], 0.5}, {x[2, 4], 
              0.5}, {x[3, 4], 0.5}, {x[4, 4], 0.5}, {x[5, 4], 0.5}, {x[6, 4], 
              0.5}, {x[7, 4], 0.5}, {y[0, 1], 0.5}, {y[1, 1], 0.5}, {y[2, 1], 
              0.5}, {y[3, 1], 0.5}, {y[4, 1], 0.5}, {y[5, 1], 0.5}, {y[6, 1], 
              0.5}, {y[0, 2], 0.5}, {y[1, 2], 0.5}, {y[2, 2], 0.5}, {y[3, 2], 
              0.5}, {y[4, 2], 0.5}, {y[5, 2], 0.5}, {y[6, 2], 0.5}, {y[0, 3], 
              0.5}, {y[1, 3], 0.5}, {y[2, 3], 0.5}, {y[3, 3], 0.5}, {y[4, 3], 
              0.5}, {y[5, 3], 0.5}, {y[6, 3], 0.5}, {y[0, 4], 0.5}, {y[1, 4], 
              0.5}, {y[2, 4], 0.5}, {y[3, 4], 0.5}, {y[4, 4], 0.5}, {y[5, 4], 
              0.5}, {y[6, 4], 0.5}, {T[0], 320}, {T[1], 320}, {T[2], 
              320}, {T[3], 320}, {T[4], 320}, {T[5], 320}, {T[6], 
              320}, {T[7], 320}, 
            MaxIterations -> 1000], 
xD[1][i] = 
          Chop[sol[[7, 2]]], xD[2][i] = 
          Chop[sol[[14, 2]]], xD[3][i] = 
          Chop[sol[[21, 2]]], xD[4][i] = Chop[sol[[28, 2]]], 
        TD[i] = sol[[64, 2]], 
        TB[i] = sol[[57, 2]], 
xB[1][
            i + 1] = xB[1][i] + 
            h (xB[1][i] - xD[1][i]), 
xB[
              2][i + 1] = xB[2][i] + 
            h (xB[2][i] - xD[2][i]), xB[3][
            i + 1] = xB[3][i] + 
            h (xB[3][i] - xD[3][i]), 
xB[
              4][i + 1] = xB[4][i] + 
            h (xB[4][i] - xD[4][i]), 
Print[
          i, " ", xD[1][i], " ", xD[2][i], " ", xD[3][
            i], " ", xD[4][i]], i++}]

Distillate mole fraction of pentane, hexane, heptane and octane verus warped time. Components appear in distillate in order of volatility (pentane fisrt and octane last).

tbl1 = Table[{i h, xD[1][i]}, {i, 0, 199}];

plt1 = ListPlot[tbl1, PlotStyle -> RGBColor[1, 0, 0]]

tbl2 = Table[{i h, xD[2][i]}, {i, 0, 199}];

plt2 = ListPlot[tbl2, PlotStyle -> RGBColor[0, 1, 0]]

tbl3 = Table[{i h, xD[3][i]}, {i, 0, 199}];

plt3 = ListPlot[tbl3, PlotStyle -> RGBColor[0, 0, 1]]

tbl4 = Table[{i h, xD[4][i]}, {i, 0, 199}];

plt4 = ListPlot[tbl4, PlotStyle -> RGBColor[0, 1, 1]]

Show[plt1, plt2, plt3, plt4]

Still mole fraction of pentane, hexane, heptane and octane verus warped time

tbl5 = Table[{i h, xB[1][i]}, {i, 0, 199}];

plt5 = 
      ListPlot[tbl5, PlotStyle -> RGBColor[1, 0, 0], 
        PlotRange -> {0, 1}]

tbl6 = Table[{i h, xB[2][i]}, {i, 0, 199}];

plt6 = 
      ListPlot[tbl6, PlotStyle -> RGBColor[0, 1, 0], 
        PlotRange -> {0, 1}]

tbl7 = Table[{i h, xB[3][i]}, {i, 0, 199}];

plt7 = 
      ListPlot[tbl7, PlotStyle -> RGBColor[0, 0, 1], 
        PlotRange -> {0, 1}]

tbl8 = Table[{i h, xB[4][i]}, {i, 0, 199}];

plt8 = 
      ListPlot[tbl8, PlotStyle -> RGBColor[0, 1, 1], 
        PlotRange -> {0, 1}]

Show[plt5, plt6, plt7, plt8]

Temperatures of the still and distillate. Each time a component with sufficient purity exit the column, we reach a temperature plateau. The temperature at these four plateau are the boiling temperatures of pentane, hexane, heptane and octane. As expected, the still temperature is higher than the distillate temperature.

tbl9 = Table[{i h, TD[i]}, {i, 0, 199}];

plt9 = ListPlot[tbl9, PlotStyle -> RGBColor[0, 1, 0]]

tbl10 = Table[{i h, TB[i]}, {i, 0, 199}];

plt10 = ListPlot[tbl10, PlotStyle -> RGBColor[1, 0, 0]]

Show[plt9, plt10]