How to simulate flue-gas co2 capture by solid-sorbent adsorption
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.
- 1Open the ready-made model
Open the "Flue-gas CO2 capture by solid-sorbent adsorption" model in the MaximaLabs workspace — no install, no license. It loads live on the canvas, ready to edit and run.
- 2Confirm the thermodynamics
This process is modeled with the PENG-ROBINSON property package over co2, n2, oxygen, water — already selected, so the phase equilibrium and enthalpy are physically consistent from the first run.
- 3Review the flowsheet
The flowsheet chains Adsorber. Every block is a real, solvable unit op you can reconfigure on the canvas.
- 4Run the simulation
Click Run. The deterministic solver converges the material and energy balances (recycles included) and fills the live stream table — the AI never invents a number.
- 5Read the results and iterate
Inspect the converged streams, tweak a spec, and re-run — or ask the AI copilot to explain a result or diagnose a failed solve in plain English.
- Thermodynamics
- PENG-ROBINSON
- Components
- co2, n2, oxygen, water
- Unit operations
- Adsorber
Opens live on the canvas — free, no install.
Explore the model & flowsheetFrequently asked questions
- What does the Flue-gas CO2 capture by solid-sorbent adsorption model simulate?
- 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.
- Which thermodynamic method does it use?
- The PENG-ROBINSON property package, over co2, n2, oxygen, water — already selected. You can switch the method on the canvas before running.
- Which unit operations are in the flowsheet?
- It chains Adsorber. Every block is a real, solvable unit operation you can reconfigure, add to, or remove.
- Do I need to install software or buy a license?
- No. Flue-gas CO2 capture by solid-sorbent adsorption runs entirely in your browser on MaximaLabs — free, no install, no license. Open the model to load it live and run the deterministic solver.
More guides like this
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.
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.
Post-combustion CO₂ capture
A separator recovers 90% of the CO₂ from a flue-gas stream — the sustainability layer then tracks the captured tonnes.
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.
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.
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.