Refinery sour water stripper (NH₃ + H₂S) — a SOUR-WATER process flowsheet
The standard refinery sour water stripper: sour water carrying ammonia and hydrogen sulfide is steam-stripped in a 10-stage column, sending both overhead as sour gas and returning stripped water fit for reuse. Runs on the new sour-water weak-electrolyte package, which is what makes the result meaningful — ammonia and H₂S suppress each other's volatility (ammonia raises pH and holds sulfide down as HS⁻; H₂S lowers pH and holds ammonia down as NH₄⁺), and heat reverses both, which is precisely why a stripper works. The two removals come out asymmetric for the real reason: H₂S strips essentially completely while ammonia, five orders of magnitude more soluble, is the duty that sets the steam rate.
Modeling assumptions & limitations
- 1This is the NH₃/H₂S system — real sour water often also carries CO₂, which competes for the ammonia and is out of scope for this package.
77 views 0 forks
- Rigorous SOUR-WATER thermodynamics, solved by the same engine every simulation runs on.
- 1 unit operations modeled: SWS.
- Focus areas: Sour water, Steam stripping, Weak electrolyte, Ammonia, H2S.
- Thermodynamics
- SOUR-WATER
- Components
- ammonia, h2s, water
- Unit operations
- SWS
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("sour-water-stripper")
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
Ammonia refrigeration cycle
A single-stage vapor-compression refrigeration loop using ammonia — the classic industrial (rather than HFC) refrigerant — condensed to subcooled liquid, throttled through a valve, and superheated back to vapor in the evaporator before recycling (inspired by ChemSep's Refrigeration_Ammonia-30C reference case).
Ammonia refrigeration (−30 °C)
A closed single-stage ammonia vapor-compression cycle serving a −30 °C load: compressor → ambient condenser → JT valve → evaporator. The charge is set via tear_specs; metrics give duty and work (COP ≈ 2). From the ChemSep casebook (Refrigeration_Ammonia-30C).
Refinery acid-gas treating: MDEA/PZ absorber-stripper
Simultaneous CO₂ AND H₂S removal from a sour natural-gas / refinery off-gas stream by a piperazine-promoted MDEA solvent — the mixed-amine chemistry legacy tools reach for heavy rate-based/OLI add-ons to model. A high-pressure absorber contacts the sour gas with lean MDEA/PZ solvent (both acid gases absorb into the amine); the rich amine is heated and let down to a low-pressure steam stripper that drives the acid gases back off as a concentrated acid-gas stream and regenerates the lean solvent. Runs on the new 'enrtl-mdea-pz' electrolyte package: a generalized speciation (MDEA protonation + piperazine carbamate/dicarbamate + CO₂/HCO₃-/CO₃-- + H₂S/HS- + water) with Davies activity — it correctly reproduces piperazine's promotion (the blend holds more CO₂ at a given partial pressure than MDEA alone).
Quench-converter ammonia synthesis loop
The multi-bed quench converter BASF first installed in 1942, which displaced the tube-cooled converters before it, running inside a complete 200 bar synthesis loop. Ammonia synthesis is equilibrium-limited and exothermic, so the catalyst wants to run hot for rate and cool for equilibrium, and no single adiabatic bed can do both. The quench converter's answer is mechanical: split the loop gas, send 55% through the interchanger into bed 1 and inject the other 45% as cold shots between the beds, so each bed heats up adiabatically and each quench pulls it back down. What it computes: the sawtooth, 673 → 766 K in bed 1, quenched to 689 K and out at 760 K, quenched to 712 K and out at 766 K; 12.5 mol% ammonia at the converter exit, in the 12-18% band real quench converters deliver, at 20.9% nitrogen conversion per pass; 44.6 mol/s of 97.8% liquid ammonia off the 250 K separator; and argon and methane held at 3.3% and 4.2% in the loop by a 3% purge, with the recycle closed by a Wegstein tear. The acid test is the counterfactual: one adiabatic bed producing that same 12.51 mol% ammonia exit ends at 834.7 K — 562 C, past the sintering limit of promoted-magnetite catalyst — while the three-bed quench converter delivers the identical duty with a 766 K (493 C) peak.
High-recycle ammonia loop (equation-oriented)
A tight, high-recycle ammonia synthesis loop built to show why a modern simulator solves recycles the way legacy sequential-modular tools can't. Fresh syngas (N₂ + 3H2, with argon inert) mixes with a large recycle, reacts to only ~10% per pass, chills so ammonia condenses out as product, and the unreacted gas recycles — a recycle-to-fresh ratio of ~5:1, with argon building up until a small purge balances it. Run this in Equation-Oriented mode (Solver menu > Mode > Equation-oriented). In the default sequential-modular mode the solver tears the recycle and iterates Wegstein ~78 times to close the loop; the equation-oriented solver instead makes every inter-unit stream a global unknown and closes all ~35 of them in one simultaneous Newton solve — the same simultaneous approach AVEVA SimCentral / gPROMS / IDAES use, and the reason tightly coupled recycles that crawl (or stall) in sequential-modular converge cleanly here.
LNG front end and storage: guard beds, tank boil-off, driver limit
The parts of a 5.2 Mtpa LNG train that are not the cold box, and the four questions they answer that no bulk unit can — at real capacity, so the vessel sizes and duties are ones an engineer can check against their own plant. Guard beds: a sulfur-carbon bed takes mercury from 200 to 0.01 µg/Nm³ — the brazed-aluminium limit, because mercury attacks the plate-fin cold box by liquid-metal embrittlement — on a 4.8 m x 6.6 m bed with 4.2 years of life from a capacity balance — inside the 3-5 year window these non-regenerable beds are actually replaced on, which is what a turnaround plan needs. A 4A molecular sieve then dries the gas to 0.1 ppmv, the only route to a cryogenic water spec (a glycol contactor tops out near a −30 °C dew point), on a 4.9 m x 5.1 m bed running a 13.8 h cycle for 1.3 MW of regeneration duty. Storage: the LNG goes to a tank whose boil-off rate comes from a 0.05%/day guarantee but whose boil-off composition comes from a real equilibrium flash — and that is the interesting part, because the vapour leaves at ~11 mol% nitrogen against 1.1% in the feed. Nitrogen and methane are far more volatile at 113 K, so the boil-off is light and the stored liquid weathers heavier: nobody specified that, the flash found it. Recondensing: the boil-off goes back into the send-out LNG rather than to a flare, and the unit reports the LNG:BOG ratio (1999) against the minimum the energy balance demands (3.8), which is the constraint a terminal is actually operated against. The driver: a gas turbine burning plant fuel gas, rated 97.5 MW at ISO conditions, delivers only 84.5 MW at 35 °C — 5.5 MW short of its 90 MW refrigeration load, and flagged as such. That derate is computed from two physical effects (a fixed-geometry compressor swallows a fixed volume so mass flow follows air density, and hotter air costs more to compress), not from a vendor curve, and it comes out at 0.66%/K — mid-band for industrial machines. It is why a tropical LNG train makes less product in summer.