Many combustion and process questions are about steady operation rather than a single ignition event: will a staged combustor stay lit, how much fuel converts at a given residence time, how close is a burner to blowout? Reactor Network / PSR Simulator answers them with zero-dimensional reactor networks in Cantera. It solves a network of perfectly stirred reactors (PSRs), mixers and heaters to steady state and, optionally, sweeps one reactor's residence time to find its ignition and extinction limits. It runs on CPU.
How it works
- The network. Reservoirs hold fixed inlet states. Each PSR is an ideal-gas reactor that reacts its contents to steady state; mixers merge streams without reaction; heaters hold a set outlet temperature or lose heat to the environment through a U·A wall. Flow out of a reservoir is set by a mass-flow controller; every other node passes its flow on through one pressure-controlled outlet, and nodes without an outlet drain to the exhaust.
- Steady state. The network is integrated until it stops changing. If that fails, it is time-marched for many residence times and solved again; a point that still fails is marked
not_convergedrather than dropped. - Residence-time sweep. One PSR's residence time τ steps across a range, each point starting from the previous solution so the reactor follows one branch of its S-curve. Shortening τ from a burning reactor finds the blowout (extinction) limit; lengthening it from a cold one finds ignition. Running both shows the hysteresis between them.
- Limits. A limit is a temperature jump between neighbouring sweep points larger than a set fraction of the burning-to-inlet temperature rise. It is reported as the pair of points around the jump, so it is only as precise as the grid: add points near a limit to tighten it.
- Conversion. For each reactor, conversion is 1 − Yout/Yin of one species, measured against the fresh feed that reaches it, so dilution by secondary air does not count as conversion.
A plug-flow reactor can be approximated as a chain of equal PSRs in series. This is a tanks-in-series estimate, not a one-dimensional solution, and it gets closer to plug flow as segments are added.
Inputs
- The mechanism: built-in
gri30orh2o2(mechanism_id), or your own Cantera YAML or single CHEMKIN file with thermodynamic data, uploaded or from an artifact. It can come from RMG Mechanism Generator, Mechanism Reduction, or Kinetic Parameter Fitter. - Nodes: each with an
idand atype(reservoir,psr,mixerorheater). Reservoirs use the same temperature, pressure and composition fields as Mechanism Target Validator conditions. A PSR is set either byresidence_time_s(only when reservoirs feed it) or by a fixedvolume_m3(when it sits downstream of another node), and starts from the burning (equilibrium) or cold (inlet) state. - Edges:
fromandtonode ids. An edge out of a reservoir carriesmdot_kg_s, or afractionof the inflow when it feeds a residence-time PSR. Edges out of any other node carry no flow field. Unknown node types or keys, loops, and nodes with more than one outlet are rejected before anything runs. - Sweep (optional): the PSR to sweep, the τ range, the number of points, log or linear spacing, and the direction (
down,uporboth).
Outputs
| File | Contents |
|---|---|
steady_state.csv | Temperature, pressure, residence time, mass flow, conversion and selected mole fractions for every reactor |
sweep.csv | The same columns for every sweep point and reactor, with the pass and status of each point |
limits.csv | Each ignition or extinction limit as a τ bracket with the temperatures on either side |
plots/ | Temperature and conversion against residence time for the swept reactor |
summary.json | Mechanism size, inlet streams, solver settings, convergence counts and the limits |
In a workflow, every row of the steady-state and sweep tables carries its conversion, so a filter step can keep, for example, only the burning points.
Not covered
- Recycle loops, splitting one stream into several, and more than one environment temperature.
- Surface chemistry, non-ideal gases, pressure drop, radiation, sprays and CFD.
- Exact turning points: limits are brackets on the sweep grid, with no arc-length continuation.
- Changes to the single-reactor and flame modes of Cantera.
Related tools
Build mechanisms with RMG Mechanism Generator, shrink them with Mechanism Reduction, check them against measured ignition delays and flame speeds with Mechanism Target Validator, and run single reactors or flames in Cantera.