KiMecO is a kinetic mechanism optimizer. It aims at optimizing chemical kinetic mechanisms' parameters to allow a generalization of their parameters. It is a workflow that starts from a set of Master Equation (ME) parameters assembled in a MESS input. This initial set is perturbed X times to create a generation of models that all undergo a ME calculation. The resulting rate coefficients and the knowledge of the corresponding reactions are included in a mechanism file. The latter is used in Cantera simulations designed to be compared with experimental concentration profiles. The models are then scored according to the agreement of their simulations with the experimental data. Using a tournament style genetic algorithm, the winners are selected and their set of Master Equation parameters is perturbed to produce the next generation.
If you are using this tool in scientific publications, please reference the following publication(s):
Submitted.
We appreciate if you send us the DOI of your published paper that used KiMecO, so we can feature it here below.
KiMecO is currently installed from source by cloning this repository and installing it locally. It additionally relies on the MESS master-equation code, which must be installed separately.
Note KiMecO only works with Python >= 3.10.
A dedicated conda environment is recommended to avoid conflicts with other Python projects:
conda create -n kimeco -c conda-forge python=3.10 -y
conda activate kimecoClone the project from GitHub:
git clone git@github.com:sandialabs/KiMecO.gitand then, from within the KiMecO directory produced after cloning, type:
pip install -e .You can verify the Python-side installation with:
which kmoconda install -c conda-forge mamba -y
mamba install -c conda-forge --file requirements.txt -y
pip install --no-build-isolation --no-deps -e .KiMecO relies on MESS for master-equation
calculations. Build or obtain the static MESS binaries separately, then copy them
into the conda environment binary directory (on Linux, typically $CONDA_PREFIX/bin).
You can check whether MESS is available with:
which messFirst, build an input file (e.g. input.json). The easiest way is the input-builder
GUI:
kmo_startTo launch an optimization run:
kmo input.jsonTo inspect the results of a completed run with the analysis GUI:
kmoui input.jsonTo run the postprocessing utility (e.g. extrapolation to new T, P conditions):
kmopp input.jsonYou can find additional keywords and options in the documentation.
See the wiki for the full list of input keywords, outputs, and workflow details. The same content is also available in MANUAL.md.
See the repository structure and MANUAL.md for a description of the inputs, outputs, and databases produced by KiMecO.
- Clément Soulié (clement.soulie31@gmail.com)
We appreciate if you send us the DOI of your published paper that used KiMecO, so we can feature it here.
Copyright (c) 2026 National Technology & Engineering Solutions of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software.
KiMecO is developed and maintained by Clément Soulié under the supervision of Lenny Sheps and Judit Zádor. CS thanks SNL and DOE for funding and support.
