MaximaLabs
Back to gallery
Illustrative flue-gas adsorption capture unit

Flue-gas CO2 capture by solid-sorbent adsorption — a PENG-ROBINSON process flowsheet

A generic solid-sorbent (zeolite-13X-class) adsorption capture step on real combustion flue gas (13 mol% CO2 -- typical of a natural-gas- or coal-fired flue gas, a much higher CO2 partial pressure than direct-air-capture's ~400 ppm case, which is why this uses the existing Adsorption unit op's real competitive-Langmuir isotherm directly on the flue-gas stream rather than the fixed-recovery separator shortcut the existing DAC examples use). Adsorption-based flue-gas capture is a real, generically licensed technology category (Linde's HISORP CC targets exactly this application); the isotherm parameters here are representative order-of-magnitude values for a zeolite-13X-class sorbent's CO2/N2/O2/H2O selectivity (real published 13X studies show CO2 adsorbing roughly an order of magnitude more strongly than N2/O2, and water more strongly still, competing for capacity), not pinned to one specific cited paper's exact figures -- disclosed as representative, matching this codebase's convention when a precise source isn't confidently pinnable, rather than presenting invented precision. Adsorbent inventory (adsorbent_mass) is sized to a real, honest ~96% CO2 capture rate -- not assumed/rounded to a marketing-friendly number. Honesty note: water's strong, competing adsorption on 13X is a real effect this model reproduces (the captured stream carries substantial co-adsorbed water, not pure CO2) -- a real plant would dry the flue gas upstream or use a water-tolerant sorbent, neither of which is modeled here; also, this is the equilibrium single-pass building block a real cyclic PSA/TSA process would be built from (per the unit op's own docstring), not the actual pressure/temperature-swing regeneration cycle.

0 views 0 forks

FLUE GAS FEED
Adsorber
Treated FLUE GAS
CO2 RICH Stream
What this showcases
  • Rigorous PENG-ROBINSON thermodynamics, solved by the same engine every simulation runs on.
  • 1 unit operations modeled: Adsorber.
  • Focus areas: CO2 capture, Adsorption, Zeolite, Flue gas, HISORP CC.
Specification
Thermodynamics
PENG-ROBINSON
Components
co2, n2, oxygen, water
Unit operations
Adsorber
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("flue-gas-adsorption-co2-capture")
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

Direct-reduced-iron (green steel) plant, Boden, Sweden

On-site oxygen: multi-bed vacuum pressure swing adsorption (VPSA)

Medical- / green-steel-grade oxygen generated on site from air by a 4-bed vacuum pressure swing adsorption unit over an N₂-selective zeolite (LiX/13X). This uses the native VPSA unit op — the proven 2-bed Skarstrom engine generalized to N beds with pressure-equalization steps and sub-atmospheric evacuation: nitrogen is adsorbed while oxygen passes as the light product, then each bed is pulled to a vacuum to desorb the nitrogen tail gas. The solver runs the real cyclic transient (tanks-in-series bed discretization + linear-driving-force kinetics + inter-bed equalization) to a periodic steady state — the transient dynamic equilibrium legacy steady-state simulators cannot capture without a separate dynamic license. Honesty note: isothermal (no heat of adsorption, which is real and significant for N₂ on zeolite); only N₂ is modeled as adsorbing, so O₂ and argon pass together — which is why the product tops out near 93% O₂ (argon co-produces with oxygen), not fabricated pure O₂; p_low is a specified vacuum boundary, not a vacuum-pump curve.

Brevik, Norway (Heidelberg Materials Norcem — first full-scale cement CCS)

Cement kiln calcination + CO2 liquefaction

Preheated limestone (CaCO3) enters an indirectly-heated rotary kiln that calcines it toward CaO, releasing a CO2-rich off-gas; the gas is knocked free of moisture, then compressed and cooled to liquefy the CO2 for transport/storage. Honesty notes: (1) this specific kiln model (rotary_kiln) heats via an indirect utility-temperature wall duty (an NTU model), not a simulated internal flame, so no combustion stoichiometry runs inside it here — real oxy-fuel combustion IS modeled elsewhere in this codebase (fired_heater's oxidant="oxy_co2" mode: near-pure-O2 combustion diluted by a recycled-CO2 stream instead of air's nitrogen), see allam-fetvedt-cycle for a real working example of it; (2) the calcination conversion shown (~21%) is the real, kinetically-limited result of this model's validated Arrhenius parameters at this residence time/temperature, not a claim of complete calcination — a real cement plant's preheater-tower-plus-kiln train achieves far higher calcination degree than one rotary-kiln unit alone models here; (3) CO2 must be compressed above roughly 5.2 atm before it can be liquefied by cooling at all (it has no liquid phase at 1 atm at any temperature), which the compressor stage here reflects.

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.

Steam-methane-reforming H2 plant, Air Products, Rotterdam, Netherlands

Pressure Swing Adsorption — H2 purification

A 5 bar shift-gas feed (H2/CO2, the dominant impurity leaving a steam-methane-reforming shift reactor) is purified across a real cyclic 2-bed PSA unit: while one bed adsorbs CO2 at high pressure (delivering H2-rich product), the other regenerates at low pressure, swept countercurrently by a slipstream of that product to desorb CO2 out the feed end as tail gas — the genuine Skarstrom-cycle mechanism, not a fixed-recovery shortcut. The solver runs the real cyclic transient (tanks-in-series bed discretization + linear-driving-force adsorption kinetics toward the same competitive-Langmuir isotherm unitops/adsorption.py uses) to a periodic steady state. Honesty notes: (1) this is a bounded 2-bed, 2-step v1 — a real industrial H2-PSA train uses 4+ beds and separate depressurization/purge/repressurization steps (interbed pressure equalization in particular recovers a lot of the efficiency this v1 doesn't capture); (2) the CO2 Langmuir isotherm is screening-order (a defensible physical magnitude for CO2 on activated carbon/zeolite near ambient T), not fitted to one cited adsorbent's published isotherm; (3) other real shift-gas impurities (CH4, CO, N2) aren't modeled, only the dominant CO2 — see flowsim/dynamics/psa.py's module docstring for the complete scope.

Reference model (screening)

Ammonia cracking + H2 purification

Green ammonia is a widely proposed hydrogen carrier for shipping — easier to liquefy and transport than liquid H2 itself, then cracked back to H2 at the point of use. A fixed-conversion reactor dissociates NH3 (2 NH3 -> N2 + 3 H2, endothermic, 99% conversion at a typical 600 C cracking-furnace outlet) and the cracked gas is polished by an adsorption stage to fuel-cell-grade H2. Honesty note: this models the adsorption stage as a single equilibrium Langmuir contact (competitive isotherm, H2 weakly adsorbed vs. N2/NH3 strongly adsorbed) — a real PSA's cyclic pressure-swing/purge steps aren't modeled, only the equilibrium separation a cycle is built around. A true gas-phase membrane stage was left out for the same reason: the solver's membrane unit op is a liquid reverse-osmosis model (osmotic-pressure driven), not a gas-permeation membrane, so it doesn't apply here.

Fort Nelson, British Columbia, Canada

Sour-gas sweetening — six-category footprint

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.

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