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.

209 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.

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.

Northern Lights, Øygarden, Norway

CO₂ capture + compression

Post-combustion capture recovers 90% of the flue CO₂, then a compressor and after-cooler condition it to pipeline pressure for storage/EOR — the real energy cost after capture.

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