Repository navigation
The Model
The balances follow Ruthven (1984), and the equation numbers cited on this page (Ruthven Eq. 7.11 and so on) refer to that book; the dynamic-column-breakthrough framing follows Wilkins, Rajendran & Farooq (2021). The equations below are what the solver integrates, in dimensionless form, with
Component 1, gas phase
Overall mass (total pressure)
Column energy
Pressure–temperature decoupling. The two balances above share the same time derivatives, so they are solved simultaneously at each step:
Wall energy
Mass transfer (linear driving force)
Momentum (Ergun)
Every group is formed from the run's own inputs and reported per run in the
Computed params tab.
| Group | Definition | Meaning |
|---|---|---|
| Adsorbed-phase coupling: converts solid uptake into the equivalent gas-phase mole change | ||
|
|
Axial mass Péclet number; strength of the dispersion term, evaluated per cell. |
|
|
|
Axial thermal Péclet number, evaluated at the local pressure and temperature; used in the inlet half-cell temperature boundary condition | |
| Axial conduction through the bed | ||
| Compression and convective enthalpy carried by the flowing gas | ||
| Sensible heat of the adsorbed phase as loading changes | ||
| Bed-to-wall heat transfer | ||
| Heat of adsorption of component |
||
| Axial conduction along the wall | ||
| Bed-to-wall transfer as seen by the wall | ||
| Wall-to-ambient loss; with |
Gas heat capacities use Shomate polynomials per species. All heat capacities
are on a molar basis (
Every available correlation has the same form,
| Correlation | When it applies | |
|---|---|---|
| Basic correlation, Ruthven Eq. 7.6 (default) |
|
|
| Wakao, Ruthven Eq. 7.11 | Porous particle carrying a strongly favourable isotherm. Ruthven is explicit that dispersion here is far larger than the nonporous correlations give | |
| Edwards–Richardson, Ruthven Eq. 7.9 | resolves |
Intermediate |
| Wicke, Ruthven Eq. 7.8 | Voidage-corrected form of Ruthven Eq. 7.6 | |
| Custom |
— | Your own value in m²/s, e.g. fitted to a tracer pulse, held constant along the bed; prefilled with the selected correlation's value |
Ruthven's basic correlation is the default. Wakao (Ruthven Eq. 7.11) is derived
for a porous particle with a strongly favourable isotherm in laminar flow, the
regime the bundled presets are in; at typical conditions it gives
Cases saved before 2026.09v3 carry no dispersion selection and load with the
default, Ruthven Eq. 7.6 — the only correlation available then — so an old case
reproduces its original numbers. The Logs tab records it.
One caveat the book attaches to the eddy term rather than to
Ergun by default — viscous (Blake–Kozeny) plus inertial (Burke–Plummer). The
inertial term can be switched off to give pure Darcy,
Ergun is the default. Darcy is appropriate where
-
Discretisation: finite volume,
$N$ cells, WENO reconstruction at cell faces, upwinded by the sign of the local face velocity. Where$v_{j+1/2}\ge0$ the face value is$W(u_{j-1},u_j,u_{j+1})$ as usual; where the flow reverses it is the mirrored$W(u_{j+2},u_{j+1},u_j)$ . Some runs briefly reverse the flow near the start, and direction-aware upwinding keeps such runs fast and stable. Where the flow never reverses, the result is identical to forward-only WENO. -
System:
$6N$ coupled ODEs. -
Integrator: SUNDIALS CVODE (implicit BDF) through
scikit-sundae, with a sparse SuperLU_MT linear solver and an explicitly supplied Jacobian sparsity pattern. -
Limits enforced by the backend:
$N_{grid} \in [5, 100]$ ,$t_{run} \in [1, 10^6]$ s, two concurrent solves, 900 s wall-clock cap per solve.
The finite-volume scheme is conservative: what leaves one cell enters the next,
so moles are conserved at any cell count, and the mole-conservation check
measures the time integration rather than the discretisation. The default is
On a coarse grid the outlet flow also shows a small periodic ripple before
breakthrough, with a period equal to the time the front takes to cross one cell:
each cell takes up most of its adsorbate, and releases its heat, as the front
passes through it. On the default case the ripple is about 1.3 % of the flow at
The engine includes a built-in self-test of 139 checks covering isotherm limiting behaviour, IAST consistency, heat-of-adsorption signs, dimensionless group formation, and mass and energy closure; all pass for every published build.
In addition, every run reports two checks. The loading the bed accumulated is set against the mixture equilibrium loading the isotherm gives at feed conditions, and, separately, the integrated inlet-minus-outlet flow is set against the change in bed inventory, per component. A discretisation or integration error would have to shift both by the same amount to go unnoticed. These are consistency checks on the numerics; they do not establish that the model is appropriate for your system.
The default Zeolite 13X case uses the isotherm parameters measured by Wilkins & Rajendran (2019). To compare a run against a measurement, load the data through Experimental validation; the app reports RMSE, MAE and R².
Dynamic Column Breakthrough Simulator ·
Latest release ·
CC BY 4.0 · Documentation for 2026.09v4.
Cite it as given on the References page.
Theory
Using it
Reference