An open-source simulator for pressure, vacuum and temperature swing adsorption.

Build and run cycles in the browser, or use the same engine from Python and the command line.

Simulation 1 of 144

User interface

Set up the adsorbents, bed and cycle in the browser, run the simulation and compare the results with measured data.

Skarstrom workspace showing a simulated CO₂ breakthrough curve on CALF-20 against the measured points from Nguyen et al. (2022)

Features

  • Non-isothermal

    Gas, adsorbent and column wall energy balances.

  • PSA, VSA and TSA

    Pressure, vacuum and temperature swing in one model.

  • Vacuum pumps and compressors

    Power and specific energy for every pump.

  • Multi-bed cycles

    Equalisation, reflux and purge between beds.

  • Acceleration to CSS

    Extrapolation to cyclic steady state in fewer cycles.

  • Automatic KPI calculation

    Purity, recovery, productivity and energy.

  • Optimisation

    Multi-objective search with Pareto fronts.

  • Parametric sweep

    Vary any parameter across a series of runs.

  • Parameterisation

    Fit kinetic and heat-transfer parameters to data.

  • Multicomponent isotherms

    Langmuir, Sips, Toth and more, competitive.

  • Adsorbent library

    Curated adsorbent data, every value cited.

  • Python and command line

    Script the same open-source engine.

Performance

The engine is C++ compiled to WebAssembly and runs in the browser, on your own machine. The chart shows how long each example takes to reach cyclic steady state from its initial conditions.

18.6 s

fastest example

22.6 s

median of 7 examples

41.8 s

slowest example

Seconds to cyclic steady state

  • Ward & Pini (2024), CO₂ VSA

    18.6 s, 59 cycles

  • Vysyaraju et al. (2024), helium PSA

    21.6 s, 34 cycles

  • Estupiñan Perez et al. (2019), CO₂ VSA

    21.7 s, 55 cycles

  • Ferré et al. (2026), biogas PVSA

    22.6 s, 52 cycles

  • Arora & Hasan (2021), O₂ PSA

    27.1 s, 118 cycles

  • Arora & Hasan (2021), O₂ PVSA

    36.3 s, 123 cycles

  • Nguyen et al. (2023), CO₂ VPSA

    41.8 s, 28 cycles

Validation

The engine is tested against ten published studies; five are shown below. Each is an example in the engine repository and an automated test that computes the error against the paper. The validation results list every case, error and known cause.

  • The Estupiñan Perez, Sarkar & Rajendran (2019) example running in the Skarstrom workspace

    Estupiñan Perez, Sarkar & Rajendran (2019)

    Separation and Purification Technology

    Compared: CO₂ purity and recovery at cyclic steady state, six experiments

Get involved

Development is guided by a steering committee of researchers, process engineers and adsorbent developers from universities and industry. To join the committee or contribute, get in touch.

Roadmap

Which models, cycle features and adsorbents come next.

Review

New models, validation cases and adsorbent data.

Validation cases

Published or experimental cases to test the engine against.