Taxonomy
What the category codes mean
Every gallery page carries tags on five axes at once. The Categories panel on the Gallery groups them by axis — click a tag to filter, click Categories to clear. This page defines every code those tags use.
| Axis | Prefix | Meaning | Example |
|---|---|---|---|
| Section | sec: |
Catalog section — the physical domain | A transport closures, D fixed bed |
| Structure | struct: |
Mathematical structure — the axis to filter on if you want to reuse code | S8 nested reactor–particle coupling |
| Tier | tier: |
Standing in the literature | T0 canonical |
| Data | data: |
Provenance tier of the dataset | tier1 open repository, tier6 reference solution |
| Phase | phase: |
Phase system | gas, gas-solid |
Two pages sharing a structure code are solved by nearly the same pymrm code even when their physics is unrelated — that is the intended route to reuse.
Section — physical domain (sec:)
The catalog is divided into ten sections by physical domain. This is what a visitor browses. Only the sections that already have a page appear in the filter panel.
| Code | Section | Scope |
|---|---|---|
| A | Transport & closure relations | Dispersion, mass/heat transfer coefficients, pressure drop, effective properties, diffusion models |
| B | Catalyst particle & intraparticle transport | Thiele/effectiveness, pore models, deactivation, non-catalytic conversion |
| C | Reaction kinetics | LHHW, microkinetics, named industrial rate laws |
| D | Fixed / packed bed reactors | 1D–2D, pseudo-homogeneous → heterogeneous, runaway, dynamics |
| E | Fluidised beds | Bubbling, turbulent, circulating, spouted |
| F | Gas–liquid & slurry reactors | Bubble columns, stirred tanks, airlift, slurry FT |
| G | Three-phase packed beds | Trickle bed, packed bubble, monolith slurry |
| H | Membrane reactors & separations | Pd, zeolite, polymeric, perovskite, membrane-assisted |
| I | Structured & intensified reactors | Monolith, foam, micro, reverse-flow, chemical looping |
| J | Adjacent unit operations | Adsorption/PSA, absorption/reactive separation, crystallisation/PBE, electrochemical, bio, polymer |
Structure — mathematical structure (struct:)
This is the axis that makes the gallery useful to a coding agent. Every entry is tagged with one or more structure codes. An agent asked to “build me a model of X” first identifies the structure, then copies the nearest gallery page.
| Code | Structure | pymrm ingredients |
|---|---|---|
S1 |
ODE-IVP in time (batch, CSTR dynamics) | solve_ivp, or backward Euler + newton |
S2 |
ODE-IVP in space (ideal PFR marching) | marching loop + newton per step |
S3 |
1D steady BVP (particle, film) | construct_grad + construct_div + spsolve/newton |
S4 |
1D transient PDE (axial dispersion, breakthrough) | + accumulation matrix, time loop |
S5 |
1D convection-dominated (sharp fronts) | construct_convflux_upwind + interp_cntr_to_stagg_tvd deferred correction |
S6 |
2D PDE (radial dispersion, Graetz, monolith) | per-axis operators on (n_z, n_r, n_c), nu=1 radial |
S7 |
Multi-domain / multi-phase coupling | (n_z, n_phase, n_c) layout, or update_csc_array_indices monolithic assembly |
S8 |
Nested-scale coupling (reactor ↔︎ particle) | Schur complement via splu, shapes_d boundary unknowns |
S9 |
Implicit multicomponent flux (Maxwell–Stefan, dusty gas) | per-face linear solve for fluxes, NumJac(axes_blocks=[-1]) |
S10 |
DAE / constrained (pressure–velocity, electroneutrality, equilibrium) | monolithic Jacobian with algebraic rows |
S11 |
Population balance (internal coordinate) | treat size/age as an extra axis; growth = convection, so S5 machinery applies |
S12 |
Moving boundary / shrinking core | front tracking, or fixed-grid with a phase indicator |
S13 |
Non-standard geometry | construct_div(nu=callable) for arbitrary area profiles |
Structure codes cluster the catalog in a way the physical taxonomy does not: a chromatography breakthrough curve (S4+S5) and a fixed-bed tracer RTD (S4+S5) are the same pymrm model with different closures. Cross-linking on S codes is what lets a researcher in one field reuse a page from another.
Tier — standing in the literature (tier:)
Rather than fake precise citation counts, entries are ranked in four tiers by their role in the literature. Tier is a judgement call and is revisited per entry when the page is written.
| Code | Tier | Meaning |
|---|---|---|
T0 |
Canonical | Named after its authors, taught in every reaction engineering course, still cited as the reference formulation decades later. (Thiele modulus, Ergun, Danckwerts BCs, Kunii–Levenspiel, Monod.) |
T1 |
Field standard | The default model in its subfield; a paper there is expected to use it or justify not using it. (Xu–Froment, Doyle–Fuller–Newman, ASM1, Wakao–Funazkri.) |
T2 |
Established alternative | Well-cited, competes with the T1 model, worth showing as a comparison. (Numaguchi–Kikuchi vs Xu–Froment; Syamlal–O’Brien vs Gidaspow drag.) |
T3 |
Specialised / emerging | High quality, narrower use, or recent. (Electrified reforming, CO₂ electroreduction models, EMMS.) |
Data — dataset provenance (data:)
Each page states where its validation data came from. The tier records the provenance, not the quality: a reference solution (tier6) is exact but is not experiment, while a figure digitisation (tier4) is real data recovered with some extraction error.
| Code | Provenance |
|---|---|
data:tier1 |
Open repository |
data:tier2 |
Table printed in the paper |
data:tier3 |
Supplementary material |
data:tier4 |
Digitised from a figure |
data:tier5 |
Obtained from the authors |
data:tier6 |
Reference or exact solution, not experiment |
See About for the legal basis on which digitised datasets are redistributed.
Phase — phase system (phase:)
The phase system present in the model, used to narrow the gallery to the kind of contactor you are working with.
| Code | Phases |
|---|---|
phase:gas |
Single gas phase |
phase:liquid |
Single liquid phase |
phase:gas-solid |
Gas with a solid (catalyst, sorbent, bed) |
phase:liquid-solid |
Liquid with a solid |
phase:gas-liquid |
Gas and liquid |
phase:gas-liquid-solid |
Three-phase (e.g. trickle bed, slurry) |
The page contract
Every gallery page, regardless of section, shows the same things in the same order, which is what makes the gallery scrapeable by an agent. See About for the full contract, and Contribute for how to add a page.