MaximaLabs
Back to gallery

Tray efficiency — real trays vs ideal stages — a NRTL process flowsheet

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).

83 views 0 forks

FEED
feed
dist
btms
COL
DIST
BOT
What this showcases
  • Rigorous NRTL thermodynamics, solved by the same engine every simulation runs on.
  • 1 unit operations modeled: COL.
  • Focus areas: Distillation, Tray efficiency, Murphree, NRTL VLE.
Specification
Thermodynamics
NRTL
Components
ethanol, water
Unit operations
COL
Open in workspace

Opens in a new tab, loaded straight into the app — no setup.

Read the step-by-step guide
Python SDK

Reproduce 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("distillation-tray-efficiency")
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

Reference model

Tray efficiency: 20 real trays are not 20 stages

Every equilibrium column model quietly assumes each tray reaches equilibrium. Real trays do not, and the gap is not small enough to ignore when you are buying a shell. The same depropaniser is solved twice at 20 trays, a 2.5 reflux ratio and a 50/50 split. As 20 equilibrium stages it puts 99.61% propane overhead. As 20 actual trays on the rate-based model it manages 96.63% — the tower is the same height and the separation is measurably worse, because the model applies an efficiency instead of assuming one. Left to itself it derives that efficiency from the feed's relative volatility and liquid viscosity through the O'Connell correlation; give it a stage_efficiency and it uses yours, and at a punishing Murphree 0.5 the overhead drops further to 95.33%. The practical reading: an equilibrium model sized this column at 20 trays and the tray efficiency spent roughly three points of product purity. Size on equilibrium stages and you will under-build the tower — that is what the efficiency is for. Bounded: this applies a single overall efficiency to every tray, which is a screening treatment. It is not a rigorous rate-based column — for genuine two-film Maxwell-Stefan transfer with per-stage interface composition and energy coupling, use nonequilibrium_distillation instead. O'Connell itself is a correlation fitted to commercial tray data, so it carries that scatter.

Pekin, Illinois, USA

Ethanol–water distillation

An 8-stage column concentrating ethanol overhead toward the azeotrope (the headline demo).

Reference model (ChemSep)

Acetone–water distillation

A 12-stage column recovers acetone overhead from a dilute aqueous solvent-recovery feed — a common industrial acetone/solvent-recycling duty.

Reference model

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.

Gas plant, Permian Basin, Texas, USA

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.

Gas plant, Permian Basin, Texas, USA

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.

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