Acetic acid recovery — NRTL with vapor-phase dimerization — a NRTL-ASSOCIATE process flowsheet
Concentrating dilute aqueous acetic acid (30 mol%) to a 99.8% acetic-acid bottoms product by distillation, modeled with the NRTL activity package and chemical-theory vapor-phase association (acetic acid dimerizes, 2 A → A2, in the vapor). This is the physics a cubic equation of state gets wrong: the pinned NRTL acetic-acid/water binary (DECHEMA) plus the cited dimerization constants (Nagy et al., Molecules 2020) give the real bubble curve and latent heat, so the close-boiling acid/water pair actually separates and converges where Peng-Robinson does not.
Modeling assumptions & limitations
- 1Acetic acid and water are close-boiling with no azeotrope, so the water distillate is only ~87% water (the acid product is the concentrated, high-purity stream); a sharper water cut needs more stages / reflux than this screening case uses.
184 views 0 forks
- Rigorous NRTL-ASSOCIATE thermodynamics, solved by the same engine every simulation runs on.
- 1 unit operations modeled: COL.
- Focus areas: Distillation, NRTL, Acetic acid, Vapor association.
- Thermodynamics
- NRTL-ASSOCIATE
- Components
- acetic_acid, 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("acetic-acid-recovery-nrtl")
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
Ethanol–water distillation
An 8-stage column concentrating ethanol overhead toward the azeotrope (the headline demo).
Tray efficiency — real trays vs ideal stages
The same ethanol–water column solved with a Murphree vapor tray efficiency of 0.7 instead of ideal equilibrium stages. A real sieve/valve tray never reaches full vapor-liquid equilibrium — the vapor leaving it only partly approaches the equilibrium composition with the tray liquid, mixing in un-equilibrated vapor from the tray below: y = E·K·x + (1−E)·y_below (Murphree 1925). At E = 0.7 each of these 12 trays does 70% of an ideal stage's work, so the overhead ethanol is lower than an equilibrium column of the same tray count would predict — which is exactly why a real column needs more trays than a shortcut (ideal-stage) calculation says. Both HYSYS and Aspen RadFrac expose this per-tray efficiency; set murphree_efficiency back to 1.0 to recover the ideal-stage column. The efficiency auto-selects the component-flow Naphtali-Sandholm solver (the reduced-form solvers carry no explicit per-tray VLE row to apply an efficiency to).
Distillation column startup dynamics (feed-rate step)
An 8-stage ethanol-water column at a reduced startup feed rate. Solves the steady state normally; switch to the Dynamic solve mode with weir/level-controlled hydraulics enabled and step the feed rate up (e.g. 6 → 9 mol/s) to watch the bottoms draw genuinely rebalance to the new throughput as the tray inventories fill — a feed-rate disturbance no fixed-hydraulics dynamic model (incl. this same column's own default rigorous mode) can show at all. Honest bound: the vapor traffic is held at its steady-state value in this mode, so the distillate draw (condenser-level-controlled off vapor inflow) does not move for a feed-rate-only step — only the liquid/bottoms side responds.
Perry Ch.13 Example 3: butane/pentane splitter
A simple two-cut distillation splitting butane overhead from pentane bottoms, from Chapter 13 of Perry's Chemical Engineers' Handbook.
Perry Ch.13 Example 4: sloppy-butane three-cut splitter
A three-cut column with a side draw producing a deliberately 'sloppy' (off-spec, cheaper-to-make) butane cut between a propane overhead and a pentane-plus bottoms, from Chapter 13 of Perry's Chemical Engineers' Handbook.
Acetone–water distillation
A 12-stage column recovers acetone overhead from a dilute aqueous solvent-recovery feed — a common industrial acetone/solvent-recycling duty.