Welcome to the ZacrosTools documentation
ZacrosTools is a versatile toolkit designed to simplify the preparation and analysis of Kinetic Monte Carlo (KMC) simulations with Zacros.
Key features
Automatize the creation of Zacros input files
Perform scans over different pressures and temperatures
Quickly read, analyze, and process Zacros output files
Easily plot heatmaps from the simulation results
Extensive documentation with detailed examples to help users get started
How to cite
If you use ZacrosTools in your research, please cite:
Prats, H. ZacrosTools: A Python Library for Automated Preparation, Analysis, and Visualization of Kinetic Monte Carlo Simulations with Zacros. J. Phys. Chem. A 2025, 129, 6608–6614. DOI: 10.1021/acs.jpca.5c02802
Installation
ZacrosTools is available on PyPI and can be installed using pip:
pip install zacrostools
Prerequisites:
Alternatively, the latest development version can be installed from GitHub as follows:
git clone https://github.com/hprats/ZacrosTools.git
cd ZacrosTools
pip install .
Recent changes
Version 2.12 — 2026-08-27
Added
Multiple gas-phase species per reaction side:
ReactionModelnow accepts one or more whitespace-separated species inmolecule_isandmolecule_fs, e.g.molecule_is='CO2 H2'.gas_reacs_prodsis written with the corresponding stoichiometric coefficient for every species.Repeated species are combined, and species appearing on both sides are assigned their net coefficient.
For steps with multiple gas reactants or products in one direction,
fixed_pre_exponandfixed_pe_ratiomust be supplied because automatic pre-exponential calculation remains limited to one gas species per direction.
Changed
Simplified fixed-rate reaction models: Steps defining both
fixed_pre_exponandfixed_pe_rationo longer need to providevib_energies_isorvib_energies_fs.Stricter validation for calculated prefactors: Non-fixed steps must provide non-empty
vib_energies_isandvib_energies_fslists.Fixed-step scaling validation:
ReactionModelnow raises an error ifmanual_scalingis applied to a step using fixed pre-exponential values.
Improved
Documentation and examples: Updated the project overview and expanded the input-generation example to demonstrate scans over temperature and multiple gas pressures.
Full details are available in the ZacrosTools CHANGELOG.
What’s next
We plan to continue improving ZacrosTools with additional features, optimizations, and support for more advanced Zacros functionalities. Contributions are welcome!
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributors
Hector Prats - hpratsga@ub.edu
Acknowledgements
Zeyu Wu: for testing the library and reporting bugs