A kinetic mechanism is only as good as its agreement with experiment. Mechanism Target Validator runs one mechanism against a battery of combustion targets with Cantera: 0-D autoignition delay and 1-D laminar flame speed. It compares each prediction with your measured value and ranks the reactions each target is most sensitive to. Mechanism Reduction checks a reduced mechanism against its parent; this tool checks any mechanism against measurements. It runs on CPU.
How it works
- Ignition delay. Each ignition condition runs in a constant-volume or constant-pressure ideal-gas reactor. By default the ignition delay is the time of the steepest temperature rise (max dT/dt);
ignition_criterion: max_dOHdtuses the steepest rise in OH instead. A condition that never ignites fails the job and names the condition. - Flame speed. Each flame condition solves a freely propagating premixed flame at the unburned-gas state. The mechanism needs transport data for these.
- Comparison. Where you give a reference value, the error is 100·|predicted − measured| / measured. A target passes when the error is within your tolerance, or within the measurement's uncertainty when that is larger. The summary reports the mean and worst error and the RMS of log₁₀ ignition delay.
- Sensitivities. Optionally, every reaction is ranked by d ln(target) / d ln(k). Ignition sensitivities screen all reactions, then re-check the strongest by perturbing each rate constant by ±5 %. Flame-speed sensitivities use Cantera's adjoint method and are available for a couple of flames per run.
- Error attribution. With reference data and sensitivities, the job flags reactions that could close a miss on their own with a rate change inside a factor you choose (default 2). This is a first-order estimate that holds for small changes, not a fitted correction.
The conditions use exactly the same fields as Mechanism Reduction, so a reduced mechanism can be validated at the same states without edits.
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 be the output of RMG Mechanism Generator, Mechanism Reduction, or Kinetic Parameter Fitter. - Target conditions:
ignition_conditionsandflame_conditions, each with temperature (K), pressure (Pa), and either an equivalence ratio with fuel and oxidizer or an explicit reactant mixture. They are numbered in order asignition_0,ignition_1, …, thenflame_0, …. - Reference data (optional): a CSV with
condition_id,target(ignition_delayorflame_speed),value, andunit(s,ms,us,m/s, orcm/s), plus optionaluncertainty_pctandsource. An unknowncondition_idor a unit that doesn't fit the target fails the job before anything runs. Conditions without a row are reported as predictions only.
Outputs
| File | Contents |
|---|---|
targets.csv | Prediction, measurement, error, tolerance, and pass/fail for every condition |
sensitivity.csv | Ranked reactions per condition with their normalized sensitivity |
attribution.csv | Reactions that could explain each miss, with the rate factor each would need (when requested) |
arrhenius_grid.csv, arrhenius.png | log₁₀ ignition delay against 1000/T, predicted and measured |
summary.json | Ignition definition, tolerances, mechanism size, and the aggregate errors |
Not covered
- Perfectly-stirred-reactor extinction targets.
- Refitting rate parameters: use Kinetic Parameter Fitter on the flagged reactions.
- Curated literature datasets: reference values come from you.
Related tools
Generate mechanisms with RMG Mechanism Generator, shrink them with Mechanism Reduction, and run single simulations in Cantera.