MaximaLabs
Back to gallery
Chemical production site, Port of Antwerp

Industrial water reuse: RO + membrane distillation to near-ZLD — a PENG-ROBINSON process flowsheet

A chemical-site water-reuse train of the kind large industrial water users build when the intake is salinising and freshwater is getting scarce: reverse osmosis makes reuse-grade water, the RO concentrate is warmed by low-grade waste heat and pushed further by membrane distillation, and the MD concentrate is crystallised to salt. Overall water recovery comes out at 94.9%.

The point of the flowsheet is why MD is there at all. RO is pressure-driven, so its ceiling is osmotic pressure — and this feed hits that wall hard: at 25 bar the same 75% recovery is infeasible, and the model says so with a number rather than a shrug (osmotic pressure 27.2 bar against a 25 bar feed, a structured SPEC_THERMODYNAMICALLY_IMPOSSIBLE error, which is why the feed here runs at 45 bar). Membrane distillation is driven by a vapour-pressure difference instead, so only vapour crosses and there is no osmotic ceiling at all: it takes the RO concentrate from 2.0 mol% to 9.7 mol% salt, recovering 81% of the water RO had to leave behind, and its distillate is solvent-only.

The waste-heat coupling is not decoration. At the RO concentrate's own 25 C the MD flux is about 1 kg/m2/h and the module is pointless; warmed to 60 C it runs at 21.5 kg/m2/h, inside the 10-50 kg/m2/h band real DCMD modules achieve. That is the entire commercial case for MD — it is a heat-driven process, so it is only cheap where low-grade heat is already being vented.

Modeling assumptions & limitations

  1. 1The membrane coefficient and the film heat-transfer coefficients are measured module properties supplied as inputs, not correlations — they depend on the membrane's porosity, tortuosity and thickness and on the module hydrodynamics, so the flux is only as good as those numbers. The reported temperature-polarisation coefficient (0.72 here) is the fraction of the measured driving force that actually reaches the membrane, and it is the thing a bulk-temperature model gets wrong. No membrane-wetting model: pore wetting by surfactants is what ends a real MD module's life and is not predicted here. The salt is NaCl only — a real industrial reuse stream carries silica, which is usually what actually caps recovery; screen that separately with the silica saturation tool, since this flowsheet's thermo does not carry it.

191 views 0 forks

RO FEED
RO
Reuse Water
Waste HEAT
MD
MD Distillate
feed
solid
liq
Cryst
SALT
Brine
What this showcases
  • Rigorous PENG-ROBINSON thermodynamics, solved by the same engine every simulation runs on.
  • 4 unit operations modeled: RO, Waste HEAT, MD, Cryst.
  • Focus areas: Water reuse, Reverse osmosis, Membrane distillation, ZLD, Waste heat.
Specification
Thermodynamics
PENG-ROBINSON
Components
water, nacl
Unit operations
ROWaste HEATMDCryst
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("industrial-water-reuse-ro-md-zld")
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

Chemical production site, Port of Antwerp

Site water reuse: RO + EDI polish + MD to near-ZLD

The full hybrid a large chemical site builds when it is reusing its own effluent rather than buying river water: reverse osmosis does the bulk desalting, electrodeionisation polishes the permeate to boiler-feed quality, and the RO concentrate is warmed by waste heat and pushed to salt by membrane distillation and a crystalliser. It is the companion to industrial-water-reuse-ro-md-zld, which stops at reuse-grade water; the delta here is the polishing leg, and it is a genuinely different technology rather than a tighter membrane. Why EDI and not more RO. RO is pressure-driven and pushes water, so its energy scales with the volume produced. Electrodialysis drags ions out under a field and the water never crosses, so its energy scales with the salt removed — which is why it is hopeless on seawater and excellent on an RO permeate that is already 99% desalted. This model shows that rather than asserting it: at the same stack and current the moles removed are fixed by Faraday's law regardless of how salty the feed is. The reason the polisher is resin-filled is the interesting part. Plain electrodialysis has a limiting current density proportional to the diluate concentration, so as the water approaches pure the boundary layer runs out of ions to deliver and the salt flux plateaus — ED cannot reach ultrapure at any voltage, and the voltage runs away as the water stops conducting. Packing the diluate compartment with ion-exchange resin fixes both: the resin carries the current, and the water splitting that occurs above the classical limiting current — a fault in a solution-filled stack, causing a pH excursion and scale — is exactly what regenerates the resin in place. That is why an EDI polisher needs no chemical regeneration, and why the same operating point means opposite things in the two stacks.

Carlsbad, California, USA

RO desalination + ZLD

Seawater (real NaCl brine, Pitzer-electrolyte thermo) is pressurized and split in a reverse-osmosis membrane into fresh permeate and concentrate; a thermal brine concentrator (an evaporator effect) drives the concentrate the rest of the way to saturation — RO alone can't reach it, since retentate osmotic pressure would exceed any practical feed pressure — before a crystallizer closes the zero-liquid-discharge loop on solid NaCl. The membrane's recovery is bounded by the retentate's real osmotic pressure.

MEG/EG complex, Jubail, Saudi Arabia

Ethylene glycol plant: closed water loop + multi-effect evaporator dehydration

The water-integrated evolution of the fiber-grade MEG plant. Two changes turn the once-through EO/glycol chain into a real, water-economical process: (1) the recovered process water is RECYCLED back to the hydration reactors through a purge splitter. A pure recycle is inventory-singular (reactors are keyed on the shrinking EO pool, so water consumption is fixed regardless of how much water circulates), so an 8% purge pins the loop and makes it well-posed, cutting fresh water makeup from 10 to ~1.75 mol/s (a >80% reduction). (2) The bulk dehydration is done by a genuine TWO-EFFECT EVAPORATOR TRAIN (forward-feed, real steam economy: effect 1's low-temperature vapor is the heating steam for effect 2) doing rigorous (P,H)-flash water removal, rather than a single spec-based split. The recycle converges through the solver's Wegstein tearing (~15 outer passes) and MEG still comes out fiber-grade (>=99.9%). HONEST SCOPE: the reaction chemistry is rigorous stoichiometry (real atom balances, ~90/9/1 selectivity) and the evaporators are real energy-balanced flash effects — but flash evaporation CANNOT reach glycol dryness without slipping glycol into the overhead vapor (MEG has a real vapor pressure at 90 C), so the evaporators run cool and only pre-concentrate. An overhead knockout returns the ~1-2% slipped glycol to the product (no yield loss), and a final vacuum-refining polish (still a spec-based split, representing the refluxed dehydration column a flash cannot replicate) removes the last water. This mirrors a real MEG plant's multi-effect-evaporator + vacuum-refining dehydration section. The product columns remain spec-based (a converged 99.9% fiber-grade MEG column is not tractable under Peng-Robinson here — the MEG/DEG relative volatility is too narrow for the wide-boiling MESH path).

Fuel-ethanol dehydration, Pekin, Illinois, USA

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.

Phosphoric acid complex, Jorf Lasfar, Morocco

Phosphoric acid concentration: steam evaporator baseline (29 → 54% P2O5)

The conventional wet-process step, at the scale of one Jorf Lasfar concentration line: 138 t/h of 29% P₂O₅ acid, heated by 3.5 bar LP steam in a graphite exchanger and flashed under vacuum (0.12 bar) to 54% P₂O₅, evaporating 64.0 t/h of water. The steam feed is tuned so the concentrate lands on 54.0 wt% P₂O₅ (the user variable p2o5_wt_product), which takes 73.6 t/h of steam — 1.84 t steam per tonne of P₂O₅, 44.5 MW of condensing duty. That is the single-effect ideal; the published plant benchmark of ~2.8 t/t carries exchanger approach, losses and off-design operation on top. The point of the number here is what it costs the site: at Jorf Lasfar this steam is a co-product of the exothermic sulfuric-acid plants, which is the fact any electric alternative has to beat. Compare the two sibling examples, phosphoric-acid-concentration-microwave and -hybrid. Model scope, stated up front. The acid runs on the brine package, which carries phosphoric acid as a non-volatile molecular solute with its CRC liquid heat capacity (145 J/mol/K) — the streams show the real H₃PO₄/water compositions and the acid's sensible heat is in the balance — and a water activity fitted to measured data: binary boiling points (Li 2017, NIST TRC ThermoML Archive) and 20 °C vapour pressures up to 85 wt% (Kirk-Othmer), with a held-out error of 2% in water activity. The boiling-point elevation is therefore the fitted one, 23.5 K at 54% P₂O₅ and 0.12 bar (the ideal, Raoult's-law activity this replaced gave 9 K). Checked against a boiling point the fit never saw, it puts 85 wt% acid at 164 °C at atmospheric pressure against a measured 158 °C. Above 18 mol% acid the temperature dependence rests on one coefficient and that single check, so read the concentrate temperature to within a few kelvin. No heat of dilution is carried (about 1.5% of the latent duty at 54% P₂O₅). The 320 K feed stands in for a hotter plant feed. The acid heated at 1 atm here partly boils in the exchanger (the model's fitted boiling point at 1 atm); the real acid is kept liquid under static head and flashes in the chamber.

Phosphoric acid complex, Jorf Lasfar, Morocco

Phosphoric acid concentration: microwave heating (29 → 54% P2O5)

The same duty with the steam exchanger replaced by volumetric microwave heating: 44.5 MW absorbed in the acid, then the same vacuum flash to 54.0 wt% P₂O₅ and the same 64.0 t/h of water removed — the microwave does not remove water, it supplies the latent heat. At a 65% wall-plug magnetron efficiency (915 MHz industrial units reach ~85%) that is 68.5 MW of electricity, 1,710 kWh per tonne of P₂O₅ (1,310 at 85%). The comparison that decides it is the energy carrier, not the heating mechanism: at Jorf Lasfar the baseline's 1.84 t/t of steam is a co-product of the sulfuric-acid plants, and the site turns that steam into electricity at roughly 30%. Sending it through a turbine, a magnetron and back into the acid delivers about a fifth of the heat the exchanger delivers directly (0.30 × 0.65 ≈ 0.2), so on this site the microwave route needs roughly five times the primary steam energy of the baseline. Where microwaves do earn their place is not here but at the superphosphoric end (>70% P₂O₅, viscous, fouling, where the recent literature targets them), and an electric route for the 29-54 step should be compared against mechanical vapour recompression, which reuses the latent heat at a coefficient of performance of 10-30. Sweep the absorbed duty to see the product concentration and the electricity follow it. Model scope, stated up front. The acid runs on the brine package, which carries phosphoric acid as a non-volatile molecular solute with its CRC liquid heat capacity (145 J/mol/K) — the streams show the real H₃PO₄/water compositions and the acid's sensible heat is in the balance — and a water activity fitted to measured data: binary boiling points (Li 2017, NIST TRC ThermoML Archive) and 20 °C vapour pressures up to 85 wt% (Kirk-Othmer), with a held-out error of 2% in water activity. The boiling-point elevation is therefore the fitted one, 23.5 K at 54% P₂O₅ and 0.12 bar (the ideal, Raoult's-law activity this replaced gave 9 K). Checked against a boiling point the fit never saw, it puts 85 wt% acid at 164 °C at atmospheric pressure against a measured 158 °C. Above 18 mol% acid the temperature dependence rests on one coefficient and that single check, so read the concentrate temperature to within a few kelvin. No heat of dilution is carried (about 1.5% of the latent duty at 54% P₂O₅). The 320 K feed stands in for a hotter plant feed. Microwave penetration depth (about a centimetre in a conductive acid at 2.45 GHz) and the HF attack on quartz windows are equipment questions this model does not carry.

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