Kinetic Monte Carlo (KMC) simulations are broadly used to investigate chemical and materials systems where a balance between atomic detail and diffusion or reaction time scales is needed. Here we present KinCat, an open-source 2D KMC package designed for use in lattice-KMC studies of surface kinetics in heterogeneous catalytic systems. It is written in C++ and uses Kokkos to facilitate use on a variety of shared-memory CPU/GPU/accelerator systems. We demonstrate the performance scaling of KinCat on GPU and CPU architectures, using CO oxidation on RuO2 as a model system. KinCat efficiently manages large lattice KMC simulations using a parallel domain-decomposition algorithm.
Daniels et al. (Mon,) studied this question.