MaximaLabsOpen app

Rigorous Separations — The MESH Solver

A Wang-Henke bubble-point MESH solve (tridiagonal Thomas algorithm at fixed K/flows, outer loop refreshing K and stage temperatures) is the Phase-1 column; an inside-out / Newton path and a Naphtali-Sandholm simultaneous multi-liquid-phase (VLLE) stage matrix solver extend it for tougher and heterogeneous-reflux columns.

meshdistillationnaphtali-sandholm
Concept

Every equilibrium-stage column (distillation, absorption, extraction) solves the same four equation families per stage — Material balance, Equilibrium, Summation, Heat balance — the textbook "MESH" system. The default path is a Wang-Henke bubble-point solve at constant molal overflow; an inside-out/Newton path and a Naphtali-Sandholm simultaneous solver extend it for harder and heterogeneous-reflux (VLLE) columns.

The math
Show the governing equations
M: Lj−1xi,j−1+Vj+1yi,j+1−(Lj+Uj)xi,j−(Vj+Wj)yi,j+Fjzi,j=0M:\ L_{j-1}x_{i,j-1} + V_{j+1}y_{i,j+1} - (L_j+U_j)x_{i,j} - (V_j+W_j)y_{i,j} + F_jz_{i,j} = 0
E: yi,j=Ki,j xi,jE:\ y_{i,j} = K_{i,j}\,x_{i,j}
S: ∑ixi,j=1,∑iyi,j=1S:\ \sum_i x_{i,j} = 1, \quad \sum_i y_{i,j} = 1
H: Lj−1hL,j−1+Vj+1hV,j+1−(Lj+Uj)hL,j−(Vj+Wj)hV,j+FjhF,j−Qj=0H:\ L_{j-1}h_{L,j-1} + V_{j+1}h_{V,j+1} - (L_j+U_j)h_{L,j} - (V_j+W_j)h_{V,j} + F_jh_{F,j} - Q_j = 0
Execution

SDK

unit("COL", "distillation", n_stages=8, feed_stage=4,
     reflux_ratio=2.5, distillate_rate=3.0, pressure=101325)

# After a run, from the simulation's notebook (or any Simulator bound to it):
Simulator.block_table().loc["COL", ["condenser_duty", "reboiler_duty"]]
stages = Simulator.result()["unit_results"]["COL"]["stages"]   # the converged MESH profile
[round(s["T"], 1) for s in stages]   # stage temperatures [K], stage 1 at the top
NONCONVERGENCE_MAX_ITERSSuccessive substitution converges linearly — tall columns (>=12 stages) may hit the iteration cap; the column returns unconverged with a usable partial stage profile, never raises.
The ethanol water distillation flowsheet in the MaximaLabs workbench

The example as it opens in the workbench. Click to enlarge.

Launch in MaximaLabs Workspace