Kinetic Monte Carlo (kMC) simulations have emerged as a key tool for
microkinetic modeling in heterogeneous
catalysis and other materials applications. Systems, where site-specificity of all elementary reactions allows a mapping onto a lattice of discrete active sites, can be addressed within the particularly efficient lattice kMC approach. To this end we describe the versatile
kmos software
package, which offers a most user-friendly implementation, execution, and evaluation of lattice kMC models of arbitrary complexity in one- to three-dimensional lattice systems, involving multiple active sites in periodic or aperiodic arrangements, as well as site-resolved pairwise and higher-order lateral interactions. Conceptually,
kmos achieves a maximum runtime performance which is essentially independent of lattice size by generating code for the efficiency-determining local update of available events that is optimized for a defined kMC model. For this model definition and the control of all runtime and evaluation aspects
kmos offers a high-level application programming interface. Usage proceeds interactively, via scripts, or a graphical user interface, which visualizes the model geometry, the lattice occupations and rates of selected elementary reactions, while allowing on-the-fly changes of simulation parameters. We demonstrate the performance and scaling of
kmos with the application to kMC models for surface catalytic processes, where for given operation conditions (temperature and partial pressures of all reactants) central simulation outcomes are catalytic activity and selectivities, surface composition, and mechanistic insight into the occurrence of individual elementary processes in the reaction network.
Program summary
Program title: kmos
Catalogue identifier: AESU_v1_0
Program summary URL:http://cpc.cs.qub.ac.uk/summaries/AESU_v1_0.html
Program obtainable from: CPC Program Library, Queen’s University, Belfast, N. Ireland
Licensing provisions: GNU General Public License, version 3
No. of lines in distributed program, including test data, etc.: 27 450
No. of bytes in distributed program, including test data, etc.: 2 777 387
Distribution format: tar.gz
Programming language: Python 16.4%, fortran90: 83.6%.
Computer: PC, Mac.
Operating system: Linux, Mac, Windows.
RAM: 100 MB+
Classification: 7.8.
External routines: ASE, Numpy, f2py, python-lxml
Nature of problem:
Microkinetic simulations of complex reaction networks with all elementary processes occurring at active sites of a static lattice.
Solution method:
Efficient lattice kinetic Monte Carlo solution of the Markovian master equation underlying the reaction network.
Unusual features:
The framework implements a Fortran90 code generator
Running time:
From 10 s to 10 h