Abstract
This paper presents ZacrosTools, a free and open-source Python library designed to simplify and automate the preparation and analysis of kinetic Monte Carlo (KMC) simulations with the widely used Zacros package. ZacrosTools provides a user-friendly and robust interface for building KMC models, automating the generation of Zacros input files, extracting and processing simulation data, and visualizing results through multiple plotting functionalities. The library benefits new users by simplifying model preparation and helping them avoid common mistakes while also being suitable to advanced users who wish to fine-tune complex KMC models and conduct comprehensive analyses. ZacrosTools is extensively documented with numerous examples available on ReadTheDocs and is publicly accessible on GitHub under the MIT license. Furthermore, it integrates continuous integration via GitHub Actions to facilitate seamless contributions from the user community.
1. Introduction
Kinetic Monte Carlo (KMC) is a powerful stochastic simulation technique that finds applications across a wide range of fields, including surface science, materials growth, radiation damage in solids, battery degradation, and chemical kinetics. , In particular, it has become the gold-standard method in multiscale modeling of reactive systems, where it bridges the gap between microscopic rate constantsoften computed from Density Functional Theory (DFT) calculationsand macroscopic observables such as turnover frequencies (TOFs), product selectivity, and surface coverage. Analyzing the statistics of simulated events allows researchers to identify dominant reaction pathways and rate-determining steps as functions of reaction conditions (e.g., partial pressures and temperature). These insights are invaluable for both rational catalyst design and the deeper understanding of existing catalytic systems. Examples include catalytic processes on extended metal surfaces, − supported clusters, − and nanoparticles, , diffusion processes of surface and subsurface species, oxide reduction processes, transformation of metal nanoalloys, and chemical etching, among others.
Among the various KMC packages available today, Zacros is the most widely used choice for modeling surface-catalyzed reactions. Written in modern Fortran, Zacros employs a graph-theoretical KMC formalism that handles many-body lateral interactions between adsorbed species with high computational efficiency. It incorporates coverage-dependent activation energies (e.g., via Bro̷nsted–Evans–Polanyi relations), dynamically updating reaction rate constants as local conditions change. Additionally, Zacros supports parallelization via OpenMP and MPI frameworks, enabling simulations on large spatial domains and being able to accommodate highly complex models with numerous possible adsorption sites, long-range interactions, and intricate reaction mechanisms on both periodic and non-periodic lattices. Furthermore, Zacros supports dynamic scaling of the rate constants of fast events to tackle the time-scale separation problem in KMC simulations. Given its versatility and robustness, Zacros has been widely adopted in both academic research and industrial applications. ,,,,,
Despite its many strengths, preparing the Zacros input files and processing the output files can become cumbersome, particularly when conducting many simulations for a parameter scan (e.g., pressure and temperature sweeps) or when performing degree or rate control analysis. The manual process of editing text-based input files and extracting statistical data across multiple runs is time-consuming and error-prone. ZacrosTools is designed to automate these tasks, simplifying the model construction, input file generation, data analysis and visualization of results. The main goal of ZacrosTools is to make Zacros more accessible to researchers and to offer a common framework to the Zacros user community for developing and sharing new analysis tools. To date, ZacrosTools has already been employed in at least one published study, where its utility for streamlining large KMC parameter scans is demonstrated.
Zacros users might already be familiar with Zacros-Post, a graphical user interface (GUI) for visualizing the results of individual simulations. While Zacros-Post is particularly useful for users who prefer an interactive, GUI-based environment to quickly inspect outputs such as species coverages, reaction rates, or event process statistics from a single simulation, ZacrosTools offers a complementary, script-based approach focused on large-scale analysis that can be integrated into automated workflows, making it particularly suited for high-throughput applications, such as sensitivity analyses or parameter sweeps (e.g., pressure or temperature).
In this paper, we present the main features of ZacrosTools, illustrating how it facilitates the construction of KMC models, generation of Zacros input files, and extraction and visualization of simulation results. Code snippets are provided to demonstrate each step of a typical workflow. As examples, we consider CO oxidation, the water–gas shift (WGS) reaction, and the dry reforming of methane (DRM). These are prototypical and industrially relevant reactions in heterogeneous catalysis, widely studied due to their importance in pollution control and syngas production. All three have been extensively modeled using KMC in the literature and serve as representative cases to illustrate the capabilities of ZacrosTools.
2. Methods
ZacrosTools is an object-oriented Python library distributed under the MIT license, which guarantees its users to freely use, share, and modify the software. The current stable version of ZacrosTools is 2.4, which is publicly available on PyPi, while the most recent development version can be accessed on GitHub. Extensive documentation, including beginner tutorials and practical examples, is hosted on ReadTheDocs. ZacrosTools relies on four core Python libraries: numpy and pandas for data analysis, scipy for physical constants, and matplotlib for plotting. This library is actively developed with ongoing enhancements driven by community feedback and is continuously tested and built via GitHub Actions, including automated test-coverage reporting through Codecov. Readers are encouraged to consult the GitHub repository to explore the latest features, updates, and documentation as the tool continues to evolve.
3. Results and Discussion
3.1. Preparation of Input Files
Zacros simulations require several input files that define the lattice, adsorbed and gas-phase species, reaction mechanisms, and global simulation parameters, such as temperature, partial pressures, and simulation length. ZacrosTools simplifies creating these inputs by breaking the model into four main components: (i) a lattice model that defines site arrangements and connectivity, (ii) a gas model containing thermochemical properties of each gas-phase species, (iii) an energetics model specifying energies of adsorbed clusters used in the cluster expansion, and (iv) a reaction model that includes all elementary steps, activation barriers, and vibrational energies. The following sections explain how each of these components is built, and how they are combined into a full KMC model which can then automatically generate all Zacros input files.
3.1.1. Lattice Model
The first step in building a KMC model is to define the lattice model, represented in ZacrosTools as an instance of the LatticeModel class. For periodic systems, users can use a variety of arguments to specify a unit cell, its site types, and the neighboring structure, which determines site connectivity. The neighboring structure can either be explicitly defined or automatically generated from a distance cutoff dictionary. Figure A demonstrates how ZacrosTools can create the lattice model for HfC(001) used in ref by automatically determining neighboring structures.
1.

Creation of two custom periodic lattice models for (A) a HfC(001) slab and (B) a Pt4 cluster supported on a HfC(001) slab using ZacrosTools.
To facilitate the creation of more complex lattice structures, ZacrosTools includes methods to modify a base lattice, such as repeating the unit cell, removing specific sites, or changing site types. These capabilities allow users to construct complex lattice models in a simple way. Figure B illustrates how to create a lattice model for the Pt4 cluster supported on HfC(001) used in ref . To verify that the lattice model has been created as intended, ZacrosTools provides a plot_custom_lattice function, which produces a graphical representation of the lattice_input.dat file. For simpler cases, ZacrosTools also supports the creation of default Zacros periodic lattices (triangular, rectangular, or hexagonal) by specifying the desired lattice type. Further details on lattice model creation can be found in Section S1 of the Supporting Information (SI).
3.1.2. Gas, Energetics, and Reaction Models
The remaining pieces required to build a MC model include the gas, energetics, and reaction models. These models are created as an instance of the GasModel, EnergeticsModel, and ReactionModel classes, respectively. In the gas model, each species is defined with properties such as molecular weight, symmetry number, and formation energy. Additional details, such as ground-state degeneracy, can be optionally specified. The energetics model defines cluster formation energies and site configurations, incorporating factors like lateral interactions and graph multiplicities to account for symmetry effects. The reaction model describes elementary steps using initial and final configurations, activation energies, vibrational energies, and connectivity constraints. ZacrosTools automatically computes pre-exponential factors based on transition state theory (TST), adjusting for different reaction types such as surface reactions, Eley–Rideal mechanisms, and activated adsorption.
The simplest way to create these models is by initializing them from a Python dictionary using the from_dict method. Alternatively, ZacrosTools allows users to create these models from Pandas DataFrames or CSV files using the from_df and from_csv methods. Further details and examples on creating gas, energetics and reaction models can be found in Section S2 of the Supporting Information. Finally, the TST-derived expressions used in ZacrosTools to calculate the pre-exponential factors are summarized in Section S3 of the Supporting Information.
3.1.3. Putting All Together: The KMC Model
After defining the lattice, gas, energetics, and reaction models, they are combined into a KMC model, represented as an instance of the KMCModel class. Once the KMCModel is created, Zacros input files can be generated using the create_job_dir method, which requires parameters such as temperature, gas-phase pressures, reporting schemes, and stopping criteria. The code snippet in Scheme below shows how to assemble a simple model for CO adsorption, desorption, and diffusion on a hexagonal periodic lattice, and how to write the Zacros input files for a simple temperature and pressure scan. In this example, a 10 × 10 hexagonal periodic lattice is used, the gas model contains a single CO species, the energetics model accounts for single-body formation energy and lateral interactions between neighboring CO molecules, and the reaction model defines the adsorption and diffusion steps. Additionally, ZacrosTools provides options for manual and automatic rate constant scaling, which help address time-scale separation issues in KMC simulations. Users can manually scale rate constants for specific steps or enable automatic scaling algorithms. Further information on all the arguments of the create_job_dir method, including how to enable and control automatic scaling of rate constants, is provided in Section S4 of the Supporting Information.
1. Building a KMC model for CO adsorption/desorption and diffusion on a hhexagonal periodic lattice, and generating Zacros input files for a temperature and pressure scan.
3.2. Parsing Output Files
3.2.1. Extracting Data from a Single Simulation
The KMCOutput class provides a convenient interface to load simulation data from output files, compute averages, and extract macroscopic observables such as coverages, TOFs and selectivities. This functionality also works with unfinished simulations. A KMCOutput instance can be created by specifying the folder containing the Zacros output files (e.g., general_output.txt, specnum_output.txt, etc.). Additionally, one can define an analysis range (in terms of simulation time or number of KMC events) and a weighting scheme. The main KMCOutput arguments are job_path (directory containing the Zacros output files), analysis_range (a 2-element list specifying the portion of the simulation to consider for analysis, in %), range_type (can be “time” for simulation time or “nevents” for number of KMC events), and weights (weighting scheme used for averaging, possible values are “time”, “nevents”, or “None”). Once a KMCOutput instance is created, its attributes and methods can be used to extract data, as listed in Table S2 in the SI. The code snippet in Scheme demonstrates typical usage, including printing the TOF of each gas-phase species, computing the selectivity of CH4 with respect to CO2 and CH3OH, and reporting the average coverage for all surface-adsorbed species.
2. Extracting simulation data from the output files.
3.2.2. Extracting Data from a Large Set of Simulations
When running numerous simulations, manually extracting data from each directory can be tedious and prone to error. ZacrosTools addresses this challenge with the read_scan function, which reads results from all simulations in a specified directory and returns a Pandas DataFrame containing the parsed output from each run. This function accepts the same arguments as KMCOutput, including analysis_range, range_type, and weights, and uses scan_path instead of job_path. An example is provided in Section S5 of the Supporting Information.
3.2.3. Steady State Analysis and Automatic Detection of Issues
KMC simulations are typically run until the system has reached steady state and collected enough statistics during the production phase to ensure the measured observables have reached stable mean values. As shown in Section , one can then compute macroscopic observables such as TOF and coverage from the production phase only selecting the appropriate analysis_range in the KMCOutput class. However, in large parameter scans, it becomes impractical to manually select the appropriate analysis range for each simulation. A simple workaround is to choose a uniform cutoff for all simulations (e.g., the last 50% of simulated time), but this may not be suitable for runs with prolonged equilibration phases. To address this issue, ZacrosTools provides the detect_issues function, which automatically determines whether the chosen analysis_range is appropriate by examining trends in the lattice energy and the linearity of simulation time with respect to the number of events. Details on this function are given in Section S6 of the Supporting Information.
3.3. Plotting Results
This section shows how to visualize KMC simulation results in ZacrosTools. Section focuses on plotting output from a single simulation (e.g., surface coverage and gas-phase molecules produced), while Section demonstrates how to generate 2D heatmaps for large parameter scans.
3.3.1. Plotting Single Simulation Results
A logical first step in analyzing a catalytic system is to inspect how coverages and production evolve over a single KMC simulation. In ZacrosTools, users can employ the data extracted via KMCOutput (see Section ) and then plot it using matplotlib. Besides coverage and gas production, other quantities like event frequencies or stiffness coefficients (if stiffness scaling of rate constants has been used) can also be visualized.
The simplest way to plot simulation results is to extract the simulation data from the KMCOutput object and then plot the desired data using matplotlib. Moreover, ZacrosTools includes a dedicated plot_event_frequency function for plotting the event frequencies of the different elementary steps in the reaction model. Figure shows how to generate plots for coverage, gas-phase production, and event frequencies in the water–gas shift (WGS) KMC model included in the examples folder of Zacros. Although simple, the model includes two possible reaction pathways, and analyzing the event frequencies is necessary to determine the dominant one.
2.

(A) Representative code snippet for plotting results from a single simulation, (B) coverage of surface species over time, (C) production of gas-phase species over time, and (D) event frequencies of the different reaction channels.
3.3.2. Plotting Heatmaps
When multiple KMC simulations are run at varying pressures or temperatures, two-dimensional heatmaps offer a concise overview of the main results (e.g., turnover frequency, coverage, selectivity) across parameter space. ZacrosTools includes several specialized functions for creating heatmaps, such as plot_tof, plot_selectivity, plot_phasediagram, and so on, which differ in the magnitude plotted in the z variable. For instance, plot_tof generates a 2D heatmap of the TOF, while plot_phasediagram produces a phase diagram showing what is the dominant surface species as a function of the reaction conditions.
These functions all require specifying which parameters appear on the x- and y-axes (e.g., total pressure, partial pressures of specific gases, or temperature). Figure presents an example of heatmap plots that can be generated with ZacrosTools, including TOF maps for multiple products, coverage maps for various site types, and phase diagrams and selectivity maps derived from the same data. The Python code used to create these heatmaps is provided in Section S7 of the Supporting Information.
3.
Example heatmap plots created with ZacrosTools showing the (A) TOF for three selected gas-phase species, (B) total coverage of surface species on three selected surface site types, (C) kinetic phase diagrams on three selected surface site types, and (D) selectivity for a specific product (left), the final simulation time (middle) and the change in TOF between two scans for a specific product (right). The simulation results are taken from ref and correspond to a KMC model of the dry reforming of methane on Pt/HfC.
4. Conclusions
ZacrosTools provides a robust and user-friendly interface for the Zacros KMC package, speeding up the preparation of KMC simulations, minimizing the potential for input errors, and offering multiple classes and functions to parse and analyze output files and visualize the results. Among other things, this open-source Python library provides tools for building complex lattice models, detecting potential issues in finished simulations, parsing and storing the results of large KMC parameter scans into a CSV file, and generating 2D heatmap plots of the TOF, selectivity or coverage as a function of chosen operating conditions. Furthermore, ZacrosTools also invites the Zacros user community to collaborate thanks to continuous integration via GitHub Actions, active development, and automated test-coverage reporting through Codecov. Users can easily contribute new functionalities, enhance existing features, and collectively ensure that ZacrosTools continues to evolve as a valuable resource for advancing research in heterogeneous catalysis and surface chemistry.
Supplementary Material
Acknowledgments
The author acknowledges funding from the Leverhulme Trust (project RPG-2017-361) and from the FWF Austrian Science Fund under the ESPRIT program (ESP 601-N). The author also thanks Dr. Sai Sharath Yadavalli and Zeyu Wu for testing the library and providing valuable feedback, and Prof. Michail Stamatakis for insightful discussions on KMC and the Zacros package.
The source code of ZacrosTools is freely available under the open-source MIT license on GitHub at https://github.com/hprats/ZacrosTools. The package is also published on the Python Package Index (PyPI) at https://pypi.org/project/zacrostools/ and can be installed via PIP using this command: pip install zacrostools. The documentation is hosted at https://zacrostools.readthedocs.io/en/latest/.
The Supporting Information is available free of charge at https://pubs.acs.org/doi/10.1021/acs.jpca.5c02802.
Additional details on lattice, gas, energetics, and reaction models (Sections S1 and S2); calculation of pre-exponential factors (Section S3); additional details and examples on writing input files and extracting output data (Sections S4 and S5); steady state analysis and automatic detection of issues (Section S6); and additional details and examples on plotting 2D heatmaps (Section S7) (PDF)
The author declares no competing financial interest.
References
- Andersen M., Panosetti C., Reuter K.. A practical guide to surface Kinetic Monte Carlo simulations. Front. Chem. 2019;7:202. doi: 10.3389/fchem.2019.00202. [DOI] [PMC free article] [PubMed] [Google Scholar]
- DeVita J. P., Sander L. M., Smereka P.. Multiscale kinetic Monte Carlo algorithm for simulating epitaxial growth. Phys. Rev. B. 2005;72:205421. doi: 10.1103/PhysRevB.72.205421. [DOI] [Google Scholar]
- Soisson F.. Kinetic Monte Carlo simulations of radiation induced segregation and precipitation. J. Nucl. Mater. 2006;349:235–250. doi: 10.1016/j.jnucmat.2005.11.003. [DOI] [Google Scholar]
- Yu H., Zhang L., Wang W., Yang K., Zhang Z., Liang X., Chen S., Yang S., Li J., Liu X.. Lithium-ion battery multi-scale modeling coupled with simplified electrochemical model and kinetic Monte Carlo model. iScience. 2023;26:107661. doi: 10.1016/j.isci.2023.107661. [DOI] [PMC free article] [PubMed] [Google Scholar]
- Pineda M., Stamatakis M.. Kinetic Monte Carlo simulations for heterogeneous catalysis: Fundamentals, current status, and challenges. J. Chem. Phys. 2022;156:120902. doi: 10.1063/5.0083251. [DOI] [PubMed] [Google Scholar]
- Prats H., Illas F., Sayós R.. General concepts, assumptions, drawbacks, and misuses in kinetic monte carlo and microkinetic modeling simulations applied to computational heterogeneous catalysis. Int. J. Quantum Chem. 2018;118:e25518. doi: 10.1002/qua.25518. [DOI] [Google Scholar]
- López E. D., Comas-Vives A.. Kinetic Monte Carlo simulations of the dry reforming of methane catalyzed by the Ru (0001) surface based on density functional theory calculations. Catal. Sci. Technol. 2022;12:4350–4364. doi: 10.1039/d1cy02366g. [DOI] [Google Scholar]
- Hess F., Over H.. Kinetic Monte Carlo simulations of heterogeneously catalyzed oxidation reactions. Catal. Sci. Technol. 2014;4:583. doi: 10.1039/C3CY00833A. [DOI] [Google Scholar]
- Deimel M., Prats H., Seibt S., Reuter K., Andersen M.. Selectivity trends and role of adsorbate-adsorbate interactions in CO hydrogenation on rhodium catalysts. ACS Catal. 2022;12:7907–7917. doi: 10.1021/acscatal.2c02353. [DOI] [Google Scholar]
- Lozano-Reis P., Prats H., Gamallo P., Illas F., Sayós R.. Multiscale study of the mechanism of the catalytic CO2 hydrogenation: role of the Ni(111) facets. ACS Catal. 2020;10:8077–8089. doi: 10.1021/acscatal.0c01599. [DOI] [Google Scholar]
- Piccinin S., Stamatakis M.. CO Oxidation on Pd(111): A First-Principles-Based Kinetic Monte Carlo Study. ACS Catal. 2014;4:2143–2152. doi: 10.1021/cs500377j. [DOI] [Google Scholar]
- Reuter K., Scheffler M.. First-principles kinetic Monte Carlo simulations for heterogeneous catalysis: Application to the CO oxidation at RuO2(110) J. Phys.: Condens. Matter. 2006;73:045433. doi: 10.1103/PhysRevB.73.045433. [DOI] [Google Scholar]
- Prats H., Alvarez L., Illas F., Sayós R.. Kinetic Monte Carlo simulations of the water gas shift reaction on Cu(111) from density functional theory based calculations. J. Catal. 2016;333:217–222. doi: 10.1016/j.jcat.2015.10.029. [DOI] [Google Scholar]
- Stamatakis M., Chen Y., Vlachos D. G.. First-Principles-Based Kinetic Monte Carlo Simulation of the Structure Sensitivity of the Water–Gas Shift Reaction on Platinum Surfaces. J. Phys. Chem. C. 2011;115:24750–24762. doi: 10.1021/jp2071869. [DOI] [Google Scholar]
- Prats H., Stamatakis M.. First-principles Kinetic Monte Carlo simulations for single-cluster catalysis: Study of CO2 and CH4 conversion on Pt/HfC. ACS Catal. 2025;15:2904–2915. doi: 10.1021/acscatal.4c07877. [DOI] [PMC free article] [PubMed] [Google Scholar]
- Yang L., Karim A., Muckerman J. T.. Density Functional Kinetic Monte Carlo Simulation of Water–Gas Shift Reaction on Cu/ZnO. J. Phys. Chem. C. 2013;117:3414–3425. doi: 10.1021/jp3114286. [DOI] [Google Scholar]
- Lozano-Reis P., Prats H., Sayós R., Illas F.. Limitations of free energy diagrams to predict the catalytic activity: the reverse water gas shift reaction catalyzed by Ni/TiC. J. Catal. 2023;425:203–211. doi: 10.1016/j.jcat.2023.05.026. [DOI] [Google Scholar]
- Lozano-Reis P., Gamallo P., Sayós R., Illas F.. Comprehensive Density Functional and Kinetic Monte Carlo Study of CO2 Hydrogenation on a Well-Defined Ni/CeO2Model Catalyst: Role of Eley–Rideal Reactions. ACS Catal. 2024;14:2284–2299. doi: 10.1021/acscatal.3c05336. [DOI] [PMC free article] [PubMed] [Google Scholar]
- Prats H., Posada-Pérez S., Rodriguez J. A., Sayós R., Illas F.. Kinetic Monte Carlo simulations unveil synergic effects at work on bifunctional catalysts. ACS Catal. 2019;9:9117–9126. doi: 10.1021/acscatal.9b02813. [DOI] [Google Scholar]
- Ji J., Lu Z., Lei Y., Turner C. H.. Mechanistic insights into the direct propylene epoxidation using Au nanoparticles dispersed on TiO2/SiO2 . Chem. Eng. Sci. 2018;191:169. doi: 10.1016/j.ces.2018.06.064. [DOI] [Google Scholar]
- Jo̷rgensen M., Grönbeck H.. Selective Acetylene Hydrogenation over Single-Atom Alloy Nanoparticles by kinetic Monte Carlo. J. Am. Chem. Soc. 2019;141:8541–8549. doi: 10.1021/jacs.9b02132. [DOI] [PubMed] [Google Scholar]
- Sakong S., Henß A.-K., Wintterlin J., Groß A.. Diffusion on a crowded Surface: kMC Simulations. J. Phys. Chem. C. 2020;124:15216. doi: 10.1021/acs.jpcc.0c03042. [DOI] [Google Scholar]
- Martínez B., Piqué O., Prats H., Viñes F., Illas F.. Towards understanding the role of carbon atoms on transition metal surfaces: implications for catalysis. Appl. Surf. Sci. 2020;530:145765. doi: 10.1016/j.apsusc.2020.145765. [DOI] [Google Scholar]
- Hoffmann M. J., Scheffler M., Reuter K.. Multi-lattice Kinetic Monte Carlo Simulations from First Principles: Reduction of the Pd(100) Surface Oxide by CO. ACS Catal. 2015;5:1199–1209. doi: 10.1021/cs501352t. [DOI] [Google Scholar]
- Tang M., Zhu B., Meng J., Zhang X., Yuan W., Zhang Z., Gao Y., Wang Y.. Pd–Pt nanoalloy transformation pathways at the atomic scale. Mater. Today Nano. 2018;1:41–46. doi: 10.1016/j.mtnano.2018.04.003. [DOI] [Google Scholar]
- Martinez B., Li J., Prats H., Sklénard B.. Atomistic description of Si etching with HCl. Appl. Surf. Sci. 2024;657:159836. doi: 10.1016/j.apsusc.2024.159836. [DOI] [Google Scholar]
- Stamatakis M., Vlachos D. G.. A graph-theoretical Kinetic Monte Carlo framework for on-lattice chemical kinetics. J. Chem. Phys. 2011;134:214115. doi: 10.1063/1.3596751. [DOI] [PubMed] [Google Scholar]
- Benson R. L., Yadavalli S. S., Stamatakis M.. Speeding up the Detection of Adsorbate Lateral Interactions in Graph-Theoretical Kinetic Monte Carlo Simulations. J. Phys. Chem. A. 2023;127:10307–10319. doi: 10.1021/acs.jpca.3c05581. [DOI] [PMC free article] [PubMed] [Google Scholar]
- Ravipati S., Savva G. D., Christidi I.-A., Guichard R., Nielsen J., Réocreux R., Stamatakis M.. Coupling the Time-Warp algorithm with the Graph-Theoretical Kinetic Monte Carlo framework for distributed simulations of heterogeneous catalysts. Comput. Phys. Commun. 2022;270:108148. doi: 10.1016/j.cpc.2021.108148. [DOI] [Google Scholar]
- Zacros-Post; UCL. https://xip.uclb.com/product/zacros-post (accessed May 25, 2025).
- Bachmann M., Völker S., Kleinekorte J., Bardow A.. Syngas from What? Comparative Life-Cycle Assessment for Syngas Production from Biomass, CO2, and Steel Mill Off-Gases. ACS Sustain. Chem. Eng. 2023;11:5356–5366. doi: 10.1021/acssuschemeng.2c05390. [DOI] [Google Scholar]
- ZacrosTools; https://pypi.org/project/zacrostools/ (accessed May 25, 2025).
- ZacrosTools source code; Prats, H. https://github.com/hprats/ZacrosTools (accessed May 25, 2025).
- ZacrosTools documentation; Prats, H. https://zacrostools.readthedocs.io/en/latest/ (accessed May 25, 2025).
- Codecov Inc. Codecov; https://codecov.io (accessed May 26, 2025).
Associated Data
This section collects any data citations, data availability statements, or supplementary materials included in this article.
Supplementary Materials
Data Availability Statement
The source code of ZacrosTools is freely available under the open-source MIT license on GitHub at https://github.com/hprats/ZacrosTools. The package is also published on the Python Package Index (PyPI) at https://pypi.org/project/zacrostools/ and can be installed via PIP using this command: pip install zacrostools. The documentation is hosted at https://zacrostools.readthedocs.io/en/latest/.





