RO desalination + ZLD — a BRINE process flowsheet
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.
166 views 2 forks
- Rigorous BRINE thermodynamics, solved by the same engine every simulation runs on.
- 4 unit operations modeled: PUMP, RO, CONC, ZLD.
- Focus areas: Reverse osmosis, Desalination, Zero-liquid discharge, Electrolyte thermo.
- Thermodynamics
- BRINE
- Components
- water, nacl
- Unit operations
- PUMPROCONCZLD
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("ro-desalination")
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
Industrial water reuse: RO + membrane distillation to near-ZLD
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.
Triple-effect brine evaporator (forward feed)
The classic multiple-effect evaporator, as a standalone drop-in template: a 6 wt% NaCl brine concentrated in three forward-feed effects down a pressure cascade (1.0 → 0.70 → 0.45 bar), where each effect's vapour boil-off is the heating steam for the next. Live 350 kPa steam drives only the first effect; the model reports the resulting steam economy, the per-effect boiling temperatures, and the concentrated liquor. Runs on the brine electrolyte package, so the boiling-point elevation is a real function of the salt as the liquor concentrates rather than an assumed offset.
Direct lithium extraction + LiOH crystallization
A Salar-brine DLE train: an Al-based sorbent column selectively loads Li+ (rejecting the brine's much larger Mg2+ background — real DLE sorbents cut a ~290:1 Mg/Li mass ratio down to under 1:1), the loaded sorbent is eluted with fresh water into an aqueous strip liquor (bridging the sorption column's own documented single-pass-loading scope), RO concentrates it, a real bipolar-membrane electrodialysis (BPED) cell converts LiCl to LiOH — Faraday's law links the applied current/membrane area/current efficiency to the actual Li+ transport rate (replacing an earlier placeholder fixed-conversion reactor), reporting real cell voltage and electrical power draw — and a forward-feed two-effect evaporator train (vapor from effect 1 heats effect 2) concentrates it to battery-grade LiOH·H₂O crystals. Real boiling-point elevation throughout via the Pitzer-electrolyte brine thermo package. Isotherm parameters per the sorption column's own citation (2024 Desalination study, Al-based DLE sorbent).
Polymerization reactor comparison: CSTR cascade vs. tubular (PFR)
The same monomer feed, split 50/50 into two trains at equal total reactor volume: a 3-stage CSTR cascade (each stage blending its own new polymer with the MWD already carried by the stream from the stage before it) versus a single tubular (PFR) reactor. Both converge to a real, different Mn/Mw/PDI — the PFR reaches higher conversion at the same total volume, but its cumulative polydispersity is measurably broader than the cascade's, because chain length drifts continuously with conversion along the tube while each CSTR stage makes its own local production under one fixed monomer concentration. See the 'Polymerization Reactors' docs page for the full reasoning.
Helium liquefaction (Linde-Hampson cycle)
A Joule-Thomson liquefaction loop: helium is compressed, aftercooled, precooled well below its ~40-51 K JT-inversion temperature, then throttled through a valve into a flash drum that draws off liquid helium while the cold vapor recycles back to the compressor suction — the same JT-cycle physics as the platform's LNG/refrigeration loops, run on a fluid whose inversion curve makes precooling mandatory before the throttle can cool it at all.
Cement kiln calcination + CO2 liquefaction
Preheated limestone (CaCO₃) enters an indirectly-heated rotary kiln that calcines it toward CaO, releasing a CO₂-rich off-gas; the gas passes a knockout drum, then is compressed and cooled to liquefy the CO₂ for transport/storage.