The physics engine, not a black box
Every unit op calls the same flash calculation thousands of times. It's built on Rachford-Rice vapor-fraction solving, successive substitution on K-values, and a Newton-Raphson polish — and validated against a named reference dataset, not just 'looks right.'
A flash drum — the foundational calculation every unit op calls thousands of times, live and draggable.
See the math
The exact vapor-liquid equilibrium equations solved at every flash call — fetched live from the same catalog the in-app math panel renders.
- K
- equilibrium ratio K=y/x — how strongly a component favours the vapour; K>1 boils off, K<1 stays in the liquid
- y
- vapour-phase mole fraction
- x
- liquid-phase mole fraction
- z
- overall feed mole fraction — what splits between the two phases
- \psi
- vapour fraction — the share of the feed that flashes to vapour (Rachford-Rice solves for it)
- \gamma
- liquid activity coefficient — the non-ideality correction; γ=1 is an ideal mixture, γ>1 means the components 'dislike' mixing and volatility rises
- P^{sat}
- pure-component vapour pressure [Pa] — how eager a pure component is to boil at this temperature
- P
- system pressure [Pa]
- T
- temperature [K]
Live from the same catalog the app's own "math" tab renders — not a screenshot.

Txy envelope + x-y equilibrium — the same NRTL package behind the headline demo.

Residue-curve mapping with automatic azeotrope detection.
Engine capabilities
What this solver actually handles, not a feature-list promise.
Peng-Robinson & Soave-RK
The default cubic equations of state for hydrocarbon and light-gas systems — pressure, density, and fugacity from the same consistent EoS across the whole flowsheet.
NRTL & UNIQUAC for non-ideal liquids
Activity-coefficient models for polar and alcohol-water systems, including the ethanol-water binary interaction parameters the headline distillation demo depends on.
IAPWS steam tables
Industry-standard water/steam properties for utility and power-cycle streams, alongside the general-purpose EoS packages.
Electrolyte NRTL
Aqueous-electrolyte activity coefficients for acid-gas and salt systems, including the CO2-MEA carbon-capture chemistry the eNRTL package is scoped to.
Rachford-Rice flash, always
Wilson K-value estimates seed a Rachford-Rice vapor-fraction solve, refined by successive substitution and a Newton-Raphson polish — handling subcooled, superheated, and two-phase streams the same way everywhere.
Validated, not assumed
Flash and phase-equilibrium behavior are checked against published reference data with a stated acceptance tolerance, so a converged result means something — not just that the solver stopped iterating.
Scripted from Python
The same engine, called from the flowsim SDK.
from flowsim.sdk import FlowSimClient
client = FlowSimClient()
packages = client.thermo_packages() # GET /api/thermo-packages
flowsheet["thermo_package"] = "nrtl"
sim = client.create_simulation("Flash separation", flowsheet)
client.run(sim["id"])See it on your own process
Every number on this page comes from a real, converged flowsheet — open the workspace and run one yourself.