-
Notifications
You must be signed in to change notification settings - Fork 0
The Model
The balances follow Ruthven (1984); the dynamic-column-breakthrough framing follows Wilkins, Rajendran & Farooq (2021). The equations below are what the solver actually 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, 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 (
Ergun by default — viscous (Blake–Kozeny) plus inertial (Burke–Plummer). The
inertial term can be switched off to give pure Darcy,
Darcy is not merely a simplification here: it removes the need for solver inequality constraints and runs about 3.4× faster, and for conditions where the inertial term is genuinely negligible the two agree to solver tolerance. Run Darcy first, compare, and switch to Ergun when the flow warrants it.
-
Discretisation: finite volume,
$N$ cells, WENO reconstruction at cell faces. -
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.
Grid resolution is a genuine trade-off: coarse grids smear the front, fine grids
cost time. Start at the default
The engine ships with a self-test covering 97 checks — isotherm limiting behaviour, IAST consistency, heat-of-adsorption signs, dimensionless group formation, mass and energy closure, enumeration integrity. All 97 pass for the published build.
Beyond that, the default Zeolite 13X case reproduces the validated experiment of Wilkins & Rajendran (2019), and the mass balance is reported against two independent references on every run so a silently wrong answer has to defeat both.
Wiki: Home · The Model · Isotherm Models · Mass Transfer · Adsorbent Presets · Using the App · Limitations · Privacy & Security · Troubleshooting