MaximaLabs
All examples
Simulation gallery

Pressure-swing ethanol dehydration (Gᴱ mixing rule)

AzeotropePressure swingGᴱ mixing ruleMHV1High pressure
See it live
Open this exact flowsheet in the workspace, already solved — tweak a spec and re-run.
Launch interactive model

Ethanol–water is the classic azeotrope, and pressure-swing distillation breaks it without an entrainer: the azeotrope moves with pressure, so a low-pressure column and a high-pressure column pass each other's azeotropic distillate and each recovers a pure product. The whole process only works if the property package tracks that shift — which is exactly where a conventional package choice falls between two chairs.

This flowsheet runs the high-pressure column at 15 bar on pr-mhv1: Peng-Robinson with an MHV1 excess-Gibbs mixing rule, so the cubic equation of state gets its attraction parameter from NRTL's excess Gibbs energy instead of from a single binary interaction constant. Switch the thermo package (Solver menu) and compare the predicted azeotrope:

package1 atm15 barvalid at 15 bar?
NRTL0.8910.802no — γ-φ is a low-pressure formulation (~10 bar)
Peng-Robinson (kij)0.5860.613yes, but a kij cannot represent this azeotrope
pr-mhv10.9490.798yes

(mole fraction ethanol; the repo's DECHEMA-validated 1 atm anchor is 0.894.) At 15 bar pr-mhv1 lands within 0.005 of NRTL while remaining a genuine equation of state, whereas plain Peng-Robinson is off by ~0.19 and puts the azeotrope in the wrong place entirely. Selecting nrtl here also trips the applicability guard, which warns that the activity model is past its pressure ceiling and names the fix.

The flowsheet demonstrates the mechanism on itself. Drop the column pressure to 1 atm and re-run, changing nothing else: the solve fails with SPEC_THERMODYNAMICALLY_IMPOSSIBLE, because at atmospheric pressure the requested bottoms purity sits beyond the azeotrope and no column can reach it. At 15 bar the same specification converges and the bottoms leaves at x_EtOH ≈ 0.924 — past the atmospheric azeotrope of 0.894, which is precisely the composition an atmospheric column cannot cross.

Honesty notes. (1) pr-mhv1 is less accurate than NRTL at 1 atm (0.949 vs 0.891) — MHV1 is the right tool for the pressurized column, not a replacement for a fitted activity model at ambient pressure; multi-package flowsheets (thermo_overrides) let a real pressure-swing pair use each where it belongs. (2) Only the high-pressure column is drawn here — the low-pressure column and the recycle that close the loop are left out to keep the thermodynamic point legible.

The flowsheet

The solved topology — every unit op's real duty, conversion, or split, read straight off a genuine converged solve.

AZEO FEED
PUMP
feed
dist
btms
Hpcol
Recycle TO LP
Ethanol

The stream table

Every stream's flow, temperature, pressure, and composition — real converged numbers, not placeholders.

See it live
Open this exact flowsheet in the workspace, already solved — tweak a spec and re-run.
Launch interactive model

Stop fighting legacy software. Build your first flowsheet in 60 seconds.