The Kinetic Parameter Fitter takes measured concentrations over time and a reaction scheme you declare, and finds the rate constants that best reproduce the data. With experiments at two or more temperatures it fits Arrhenius activation energies too. It is the inverse of a Cantera reactor simulation: data in, rate constants (and a mechanism Cantera can run) out.
How it works
The model is isothermal, constant-volume mass-action kinetics: each reaction's rate is k × Π[reactant]^order, with orders equal to the stoichiometric coefficients unless you set orders. The job integrates the rate equations and fits ln k (and Ea) by trust-region least squares, starting from several initial guesses unless you give k_guess. Standard errors and 95% confidence intervals come from the fit's covariance. It runs on CPU.
- Reactions are irreversible (
A => B); write a reversible step as two reactions. - Temperature dependence: with data at two or more temperatures, k(T) = k_ref · exp(−Ea/R · (1/T − 1/T_ref)).
- Weighting:
range(the default) scales each species by its observed range so minor species count;nonefits raw concentrations. - Hold a rate fixed with
k_fixed; at least one rate must be fitted.
Inputs
reactions: the scheme, as equations ("A => B") or objects with guesses.data: one row per time point withtime, optionalexperiment_idandT_k, and one column (mol/L) per measured species, named as in the scheme. Blank cells are unmeasured. Pass CSV or JSON text, rows, an uploaded file, or an artifact.time_unit, and optionalinitial_concentrationsfor species not measured at the start.
Limits: 20 reactions, 30 species, 50 experiments, 20,000 rows.
Outputs
| File | Contents |
|---|---|
fit_parameters.csv | Each rate constant (and Ea) with standard error and 95% interval; rate constants are in seconds-based units |
fit_residuals.csv | Observed against predicted concentrations |
fit_curves.csv | Smooth fitted curves for plotting |
fit_summary.json | R² and RMSE per species, the parameter correlation matrix, warnings (poorly determined or correlated parameters, non-convergence), and a Cantera reactor setup per experiment |
mechanism/primary.yaml | A Cantera mechanism with the fitted rates |
The mechanism's species thermodynamics are placeholders, so it reproduces the fitted kinetics at fixed temperature but carries no heats of reaction. Feeding it to a Cantera reactor step with the setups from fit_summary.json replays your fitted curves.
Related tools
Cantera for the forward simulation, and NASA / Cantera Species Builder for species thermodynamics.