MaximaLabs
Back to gallery
Fort Nelson, British Columbia, Canada

Sour-gas sweetening — six-category footprint — a PENG-ROBINSON process flowsheet

A fuel-fired feed-gas heater, acid-gas removal, and a VOC purge — vented to atmosphere — so the Sustainability panel shows all six impact categories at once: carbon, water, acidification (vented H₂S/NH₃ + combustion NOx), eutrophication (NH₃ + NOx), photochemical ozone (vented benzene) and cumulative energy demand. Illustrative screening vent compositions — a real plant Claus/incinerates the H₂S and controls the VOC rather than venting; the point is to exercise the multi-category footprint on a process that genuinely carries these species. Spec-based separators, so it converges fast and conserves mass.

332 views 0 forks

Rawgas
Fuelgas
process
fuel
proc
flue
Regen
FLUE
Sweeten
Ventgas
Vocko
Ventvoc
COMP
Sales
What this showcases
  • Rigorous PENG-ROBINSON thermodynamics, solved by the same engine every simulation runs on.
  • 4 unit operations modeled: Regen, 2× Vocko, 2× Ventvoc, COMP.
  • Focus areas: Sustainability, Emissions, Sour gas, Six impact categories.
Specification
Thermodynamics
PENG-ROBINSON
Components
methane, ethane, co2, h2s, benzene, ammonia
Unit operations
Regen2× Vocko2× VentvocCOMP
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("sour-gas-sweetening-emissions")
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

Ruhr Valley, Germany

Flue-gas desulfurization: venturi wet scrubber

A coal/oil-fired power-plant stack gas (SO₂ in a hot N₂/CO₂/O₂/water flue) is cleaned in a high-energy venturi wet scrubber before the stack — the classic flue-gas-desulfurization (FGD) front end. The new venturi_scrubber unit op accelerates the gas through a throat where injected scrubbing water is atomized, and a stated fraction of the soluble SO₂ is absorbed into the drops and carried out as a slurry while the cleaned gas goes up the stack. Two cited pieces are computed: the momentum-exchange pressure drop ΔP = ρ_L·(Q_L/Q_G)·v_gt² (Calvert 1968; de Nevers — the L/G here is ~1.4 L/m³ and the throat runs 90 m/s, giving ~11 kPa, a real high-energy venturi), and the SO₂ removal (92% at this water rate) that drops the stack SO₂ to a fraction of the inlet.

Reference model

Dust collector selection: cyclone vs ESP vs baghouse

The same kiln offgas — 500 mol/s at 420 K carrying 8 mol/s of 20 micron dust (sphericity 0.7, GSD 2.2) — offered to the three gas-cleaning devices side by side, because choosing between them is a real design decision and the three models answer different questions. The cyclone catches 85.6%. That number is not specified anywhere: it is computed from the particle size distribution against the device's own cut size, and its d50 lands at 10 microns — half the dust's mean size, so everything finer escapes. It is the honest ceiling of a device with no consumables and no electricity, and it costs the most fan power of the three here at 1555 Pa. The ESP reaches 99.81% by Deutsch-Anderson on the migration velocity and plate area — also predicted, not specified — at essentially no pressure drop. The baghouse reports 99.8%, and this one you should read differently: its capture is the penetration you gave it, an INPUT. The baghouse model predicts pressure drop (37.7 Pa here, from the Cooper & Alley filter-drag law) and cloth area (1149 m2 at a 0.015 m/s air-to-cloth ratio) — not efficiency. Two of these three efficiencies are predictions and one is a specification, and a comparison that hides which is which is worse than no comparison. Why three parallel trains and not one series train. A cyclone roughing into a baghouse polishing is the standard industrial arrangement, and it cannot be drawn here: the cyclone folds its escaped dust back into the gas stream without a solids payload, so a second collector downstream sees no solids to catch. That is a modelling limitation, not a physical one, and it is stated rather than designed around. Bounded: the ESP's zero pressure drop is a model simplification (a real precipitator runs a few hundred Pa), and the pressure drops here are screening values from published correlations, not vendor guarantees.

Wet-process phosphoric acid plant, fluorine recovery (representative)

Phosphoric acid plant fluorine recovery: fluosilicic acid from two scrubbers

A wet-process phosphoric acid plant releases the phosphate rock's fluorine as gas in two places: the attack tank, as silicon tetrafluoride, and the vacuum concentrator, where the acid's fluosilicic acid breaks down to SiF₄ and HF about 1:2 (EPA AP-42 §8.9 puts 20-40% of the rock's fluorine into the concentrator vapour). Both streams are scrubbed with water to fluosilicic acid, H₂SiF₆, sold to make aluminium fluoride and cryolite, as EFMA/Fertilizers Europe BAT Booklet No. 4 (2000) §2.4 describes them. The fume scrubber takes the attack-tank gas of the wet-process-phosphoric-acid-dihydrate example (72.6 mol/s CO₂ and 1.50 mol/s SiF₄) through two absorbers in series at 90% each, the booklet's figure for one atmospheric absorber: 99.0% of the fluorine is removed, the booklet's 'better than 99%', and 1.14 g/s of fluorine leaves with the stack gas. With no HF in that gas the SiF₄ hydrolyses, 3 SiF₄ + 2 H₂O → 2 H₂SiF₆ + SiO₂, so a third of the silicon drops out as 107 kg/h of silica, and the acid leaves at the booklet's 22% H₂SiF₆, 2.33 t/h of it. The hot humid gas condenses 11.56 mol/s of water into the liquor on its way to 320 K, and the 128 kW reaction heat is part of the 678 kW the liquor cooler removes. The vacuum scrubber takes the concentrator vapour at 0.12 bar in a single stage at 85%, inside the booklet's 83-86% recovery for a vacuum system: SiF₄ + 2 HF → H₂SiF₆ uses all the SiF₄ with the HF, so no silica forms, and the acid leaves at 20% (the booklet's 17-23%), 7.72 t/h of it; 59.8 g/s of fluorine goes on with the water vapour to the barometric condenser. Representative inputs, labelled: the concentrator vapour (21 mol/s of fluorine, half the DH example's acid fluorine, with the 30 kg/s of water a 28 to 54% P₂O₅ concentration evaporates), the scrub water rates and the scrubber temperatures.

Gorgon LNG, Barrow Island, Western Australia

High-CO2 LNG with amine capture and CO2 reinjection

One 5.3 Mtpa LNG train on a reservoir whose gas is 14 mol% CO₂, where the CO₂ is not vented but compressed to dense phase and injected — 2.8 Mtpa of it, at 200 bar, which is the scale that makes this a storage project rather than a gesture. Two things make this different from every other LNG example here. First, the acid-gas removal is real chemistry, in the same flowsheet as the cryogenics: per-node thermo_overrides run the absorber, the rich/lean loop and the stripper on the 'enrtl-mdea-pz' electrolyte package (MDEA protonation + piperazine carbamate/dicarbamate speciation) while the gas train and the cold end run Peng-Robinson — the amine unit and the MCHE are not two models bolted together, they are one solve. Second, the CO₂ goes somewhere: the stripper overhead is knocked back, two-stage compressed with interstage cooling and drying, and pumped to 200 bar as a ~96 mol% dense-phase stream ready for a reinjection well, rather than leaving as a vent. The sweet gas is water-washed, dried and liquefied in the C3MR cold end to LNG at ~116 K.

Squamish, British Columbia, Canada

Direct air capture with solid-sorbent calcination + CO2 liquefaction

A Carbon Engineering-style DAC train: a fan draws ambient air (400 ppm CO₂) through a liquid-KOH contactor (a fixed-recovery separator — the same simplification the existing carbon-capture example uses for chemical absorption, since no CO₂-KOH electrolyte package exists) capturing ~75% of the CO₂. The captured CO₂ is causticized and precipitated into CaCO₃ pellets by the real (unmodeled-in-detail) KOH/Ca(OH)2 loop — represented here as a matched pellet feed sized to the captured CO₂ rate, since the generic reactor unit op can't itself produce a solid product (only a rotary kiln's decomposition path can, which is exactly what's used next). Those pellets calcine at ~977 degC in an indirectly-heated rotary kiln (real Arrhenius decomposition kinetics, Sullivan-Maynard-Valentine residence time), releasing pure CO₂ that's compressed to ~20 atm and chilled to 250 K — above the real Span-Wagner CO₂ saturation pressure at that temperature, so the solved outlet stream is genuine subcooled LIQUID CO₂ (not just dense-phase pipeline gas) — while the CaO leaves for slaking and reuse (the lime side of the closed loop, out of scope for the same reason as the causticization step). Run the Carbon Footprint report on this example for the real Scope 1/2/3 CO2e + carbon-tax liability breakdown already built into MaximaLabs's report generator.

Boundary Dam, Saskatchewan, Canada

Post-combustion CO₂ capture

A separator recovers 90% of the CO₂ from a flue-gas stream — the sustainability layer then tracks the captured tonnes.

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