Welcome to the ZacrosTools documentation
This guide provides comprehensive information on using the ZacrosTools Python library.
ZacrosTools is a versatile toolkit designed to simplify the preparation and analysis of Kinetic Monte Carlo (KMC) simulations with Zacros.
Key features
Automatic input file generation: Easily create Zacros input files, reducing errors.
Output file parsing: Quickly read, analyze, and process Zacros output data.
Pressure and temperature scans: Streamline the process of performing scans over different pressures and temperatures.
Documentation and examples: Extensive documentation with detailed examples to help users get started and make full use of ZacrosTools.
Installation
ZacrosTools is available on PyPI and can be installed using pip:
pip install zacrostools
Prerequisites
These dependencies will be installed automatically with pip.
Installing from source
To install the latest development version from GitHub:
git clone https://github.com/hprats/ZacrosTools.git
cd ZacrosTools
pip install .
Quick start guide
Get started with ZacrosTools by following these steps:
Define the
GasModel, theEnergeticsModeland theReactionModelfrom a Python dictionary, a Pandas DataFrame, or a.csvfileCreate a default or custom
LatticeModelCombine all previous models to create a
KMCModelWrite the input files with
KMCModel.create_job_dir()and run ZacrosParse the results with
KMCOutputand visualize the results withplot_functionsto gain insights
Detailed instructions for each step are provided in the documentation sections below.
Documentation
The ZacrosTools documentation is organized into the following sections:
Gas model: Learn how to define the gas-phase molecular data.
Energetics model: Define all the terms used in the cluster expansion.
Reaction model: Specify the elementary steps included in the reaction mechanism.
Lattice model: Understand how to set up a lattice model.
Writing_input_files: Integrate all components into a KMC model and write the Zacros input files.
Reading output files: Parse and analyze data from Zacros output files.
Plotting single simulation results: Plot the simulation results, such as surface coverage, molecules produced, or event frequencies.
Plotting heatmaps: Draw heatmap plots from a set of KMC simulations at various operating conditions.
API reference: Detailed API documentation for ZacrosTools modules and classes.
Recent changes
[2.2] 20-Dec-2024
Added
Plot event frequencies: introduced the ability to parse the event frequencies from
procstat_output.txtusingzacrostools.procstat_outputand visualize them.Plot stiffness coefficients: added functionality to parse stiffness coefficient information from
general_output.txtusingzacrostools.parse_general_output_fileand generate corresponding plots.Examples:
DRM_on_PtHfC: Demonstrates how to analyze hundreds of output files to generate heatmaps and plot the event frequencies and stiffness coefficients.custom_lattice_models: Illustrates how to create custom lattice models for Zacros simulations.
Changed
Analysis of output files:
Renamed
window_percenttoanalysis_rangeRenamed
window_typetorange_type
Improved
Documentation: Improved the ZacrosTools Documentation.
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!
Report bugs: Use the issue tracker to report bugs.
Request features: Suggest new features or improvements.
Submit pull requests: Fork the repository and submit pull requests for your contributions.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributors
Hector Prats - hector.prats@tuwien.ac.at
Acknowledgements
Zeyu Wu
Contents
- Installation
- Gas model
- Energetics model
- Reaction model
- Lattice model
- Writing input files
- Reading output files
- Plotting single simulation results
- Plotting heatmaps
- API Reference
KMCModel()create_job_dir()LatticeModel()KMCOutput()areaav_coverageav_coverage_per_site_typeav_energyav_total_coverageav_total_coverage_per_site_typecoveragecoverage_per_site_typecpu_timedominant_adsdominant_ads_per_site_typeenergyfinal_energyfinaltimegas_specs_namesn_gas_speciesn_sitesn_surf_speciesneventsproductionsurf_specs_namestimetoftotal_coveragetotal_coverage_per_site_typetotal_productionget_selectivity()