Ethanol-water column at 6 atm (SRK + MHV1) — a SRK-MHV1 process flowsheet
The ethanol-water column everyone knows, run at 6 atm on the Gᴱ-mixing-rule package: Soave-Redlich-Kwong whose mixture energy parameter comes from NRTL's excess Gibbs energy through the MHV1 rule (Michelsen 1990) instead of a kij — the package built for polar, hydrogen-bonding mixtures at pressure, where a γ-φ activity model is past its ~10 bar ceiling and a plain cubic with van der Waals mixing has no hydrogen bonding at all. A 10 mol% ethanol feed through 16 stages at a reflux ratio of 2.5 gives a 66.7 mol% distillate and an ethanol-free bottoms, 2.6 MW on the reboiler. Read it against NRTL, which at 6 atm is still inside its own range: the two packages put the pressure-shifted azeotrope in different places — 0.88 mol fraction ethanol here, 0.84 on NRTL at 6 atm (0.97 against 0.89 at 1 atm) — so this card shows where the MHV1 rule sits, not a number to prefer over the fitted binary at low pressure. The cut is kept well short of the azeotrope on purpose: at a distillate ratio of 0.12 the profile pinched against it and the column reported exactly that. Each solve is about a minute, because every stage K-value is a Gᴱ mixing-rule evaluation.
2 views 0 forks
- Rigorous SRK-MHV1 thermodynamics, solved by the same engine every simulation runs on.
- 1 unit operations modeled: COL.
- Focus areas: Distillation, Gᴱ mixing rule, MHV1, Azeotrope, High pressure.
- Thermodynamics
- SRK-MHV1
- Components
- ethanol, water
- Unit operations
- COL
Opens in a new tab, loaded straight into the app — no setup.
Read the step-by-step guideReproduce this exact result from Python — the real client.get_example() → run_and_wait() path, not a mockup.
from flowsim.sdk import FlowSimClient
client = FlowSimClient()
example = client.get_example("ethanol-water-pressure-column-srk-mhv1")
sim = client.create_simulation(example["title"], example["flowsheet"])
result = client.run_and_wait(sim["id"])
print(result["status"]) # "converged"
streams = client.streams(sim["id"])Related models
Pressure-swing ethanol dehydration (Gᴱ mixing rule)
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: | package | 1 atm | 15 bar | valid at 15 bar? | |---|---|---|---| | NRTL | 0.891 | 0.802 | no — γ-φ is a low-pressure formulation (~10 bar) | | Peng-Robinson (kij) | 0.586 | 0.613 | yes, but a kij cannot represent this azeotrope | | pr-mhv1 | 0.949 | 0.798 | yes | (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.
Methanol-water column at 10 atm (PR + Huron-Vidal)
A methanol-water column at 10 atm on Peng-Robinson with the original Huron-Vidal (1979) infinite-pressure Gᴱ mixing rule, driven by the fitted methanol/water NRTL binary. 30 mol% feed, 16 stages, reflux 2, 30% distillate: 96.2 mol% methanol overhead, 1.6% in the bottoms, 3.4 MW on the reboiler at 452 K. The point is the pressure: at 10 atm a gamma-phi activity model is at the edge of its ~10 bar envelope, and a cubic with a Gᴱ rule carries no such ceiling. Bound, as the package's own description says: Huron-Vidal wants activity parameters regressed at infinite pressure, and these are the low-pressure DECHEMA ones, so treat the split as the rule's reading of that binary rather than a validated high-pressure number (the SRK + NeqSim card is the one with parameters fitted for the rule).
Ethanol–water distillation
An 8-stage column concentrating ethanol overhead toward the azeotrope (the headline demo).
Acetone-water column at 3 atm (PR + Wong-Sandler)
An acetone recovery column at 3 atm on Peng-Robinson with the Wong-Sandler mixing rule — the one Gᴱ rule that keeps the quadratic composition dependence of the second virial coefficient, so it stays thermodynamically consistent at high pressure. 20 mol% acetone feed, 14 stages, reflux 2, 25% distillate: 80 mol% acetone overhead and acetone-free water in the bottoms, 2.65 MW on the reboiler. The cut is set at 0.25 rather than the feed's exact acetone fraction of 0.20, which pinned the column on a razor edge (temperature residual 2e-3, balance 3%); at 0.25 it closes to zero. Bound: the rule is driven by the low-pressure acetone/water NRTL binary and, as records, NeqSim's Wong-Sandler kij is deliberately not wired in, so the second-virial cross term uses the van der Waals kij.
n-Hexane / 1-butanol column with no fitted binary (UNIFAC)
A binary the databank has no regressed NRTL parameters for, so the column runs on predictive original UNIFAC from the two molecules' groups alone: 50/50 n-hexane and 1-butanol, 20 stages, reflux 2, 45% distillate. UNIFAC predicts the minimum-boiling azeotrope at 97 mol% hexane and 341.7 K, and the column lands its distillate exactly there (96.7%) with an 88% butanol bottoms — the azeotrope, not the stage count, is what caps the overhead purity, and that is a prediction from group contributions with no data on this pair behind it. Read it as a screening result: original UNIFAC's mean error against fitted binaries in this tree is 0.08 in ln gamma, and an alkane/alcohol pair is in its well-behaved range.
Toluene removal from 1-butanol solvent (modified UNIFAC, Dortmund)
A recovered 1-butanol solvent contaminated with 5 mol% toluene, redistilled to send the toluene overhead: 24 stages, reflux 3, an 8% distillate. There is no fitted toluene/1-butanol binary, so this runs on modified UNIFAC (Dortmund) — the variant that cuts infinite-dilution error from 42% to 16% in this tree, and a dilute contaminant in a solvent is exactly the infinite-dilution regime. Dortmund puts the toluene/butanol azeotrope at 67 mol% toluene (original UNIFAC: 70%), which is why the overhead comes out at 43% toluene rather than pure, and the bottoms at 1.7% toluene — two-thirds of the contaminant removed per pass. The 3-point azeotrope difference between the two variants is the size of the model choice on this pair.