Skarstrom Documentation
Skarstrom is a finite-volume simulator for pressure and temperature swing adsorption (PSA, TSA and VSA) processes. It solves a one-dimensional model of a packed adsorption column — coupled mass, momentum and energy balances with non-linear isotherms and mass-transfer kinetics — and lets you assemble multi-step, multi-bed cycles, run them to cyclic steady state, and read off purity, recovery, productivity and energy.
This documentation is written for process engineers: it explains how to set up and run simulations in the web workspace. No programming is required. The simulation engine itself is open source (samaffleck/skarstrom, Apache-2.0) and documents its models, data and validation on its own site, samaffleck.github.io/skarstrom; the Engine Reference links in the sidebar go there.
New here?
Start with Getting Started: create an account, run your first example in the web workspace and read the results, or build the code yourself. Then take the Interface Overview for a tour of the panels and work through a tutorial: Ward 2022 (a breakthrough curve), the O₂ PSA or the CO₂ VPSA with light-product pressurisation.
Building a model
The User Guide walks through each stage of setting up and running a simulation:
- Getting Started — the web workspace and Python.
- Interface Overview — the panels, the workflow, and setting up fluids, adsorbents and the column.
- Building a Cycle — steps, timing and initial conditions.
- Editing Step Boundaries — the Step Data controls for flows, pressures, valves, pumps and ramps (the model is on the engine site).
- Global Variables Panel — named variables, field units and dimension checks in the workspace (the expression rules are on the engine site).
- Connecting Beds — coupling steps for multi-bed processes, and the pressure equalisation, light product pressurisation and light reflux / recycle tools built on it.
- Running the Solver and Cyclic Steady State.
- Performance Metrics — purity, recovery, productivity and energy.
- Plotting Results, Experimental Data and Saving & Loading.
- Studies on a deck: Parametric Study, Optimisation and Parameterisation.
Python and the command line
The same engine is available as a Python package, skarstrom, with a skarstrom command-line tool, from the engine repository. Load a deck saved from the workspace, change parameters, run it and analyse the results with NumPy, pandas and your own plots. See Python & Command Line in the engine documentation to install it and get started.
Models and equations
The engine documentation describes exactly what the solver computes — the governing equations, the isotherm and kinetic models, the transport correlations for dispersion and heat transfer, the equation of state and gas properties, and the numerics: discretisation, time integration, the Jacobian and cyclic steady state.
Examples
The Examples section lists the bundled decks, most of them reproductions of published experiments, the four worked tutorials, and the Validation page that compares every paper-based deck with its source.