Abstract:
KMCLib is a general framework for lattice kinetic Monte Carlo (KMC) simulations. The program can handle simulations of the diffusion and reaction of millions of particles in one, two, or three dimensions, and is designed to be easily extended and customized by the user to allow for the development of complex custom KMC models for specific systems without having to modify the core functionality of the program. Analysis modules and on-the-fly elementary step diffusion rate calculations can be implemented as plugins following a well-defined API. The plugin modules are loosely coupled to the core KMCLib program via the Python scripting language. KMCLib is written as a Python module with a backend C++ library. After initial compilation of the backend library KMCLib is used as a Python module; input to the program is given as a Python script executed using a standard Python interpreter. We give a detailed description of the features and implementation of the code and demonstrate its scaling behavior and parallel performance with a simple one-dimensional A-B-C lattice KMC model and a more complex three-dimensional lattice KMC model of oxygen-vacancy diffusion in a fluorite structured metal oxide. KMCLib can keep track of individual particle movements and includes tools for mean square displacement analysis, and is therefore particularly well suited for studying diffusion processes at surfaces and in solids.

Abstract:
This article reviews the basic computational techniques for carrying out multi-scale simulations using statistical methods, with the focus on simulations of epitaxial growth. First, the statistical-physics background behind Monte Carlo simulations is briefly described. The kinetic Monte Carlo (kMC) method is introduced as an extension of the more wide-spread thermodynamic Monte Carlo methods, and algorithms for kMC simulations, including parallel ones, are discussed in some detail. The step from the atomistic picture to the more coarse-grained description of Monte Carlo simulations is exemplified for the case of surface diffusion. Here, the aim is the derivation of rate constants from knowledge about the underlying atomic processes. Both the simple approach of Transition State Theory, as well as more recent approaches using accelerated molecular dynamics are reviewed. Finally, I address the point that simplifications often need to be introduced in practical Monte Carlo simulations in order to reduce the complexity of 'real' atomic processes. Different 'flavors' of kMC simulations and the potential pitfalls related to the reduction of complexity are presented in the context of simulations of epitaxial growth.

Abstract:
We determine the critical layer thickness for the appearance of misfit dislocations as a function of the misfit between the lattice constants of the substrate and the adsorbate from Kinetic Monte Carlo (KMC) simulations of heteroepitaxial growth. To this end, an algorithm is introduced which allows the off-lattice simulation of various phenomena observed in heteroepitaxial growth including critical layer thickness for the appearance of misfit dislocations, or self-assembled island formation. The only parameters of the model are deposition flux, temperature and a pairwise interaction potential between the particles of the system. Our results are compared with a theoretical treatment of the problem and show good agreement with a simple power law.

Abstract:
We present a comparison of the kinetic Activation-Relaxation Technique (k-ART) and the Self-Evolving Atomistic Kinetic Monte Carlo (SEAKMC), two off-lattice, on-the-fly kinetic Monte Carlo (KMC) techniques that were recently used to solve several materials science problems. We show that if the initial displacements are localized the dimer method and the Activation-Relaxation Technique \emph{nouveau} provide similar performance. We also show that k-ART and SEAKMC, although based on different approximations, are in agreement with each other, as demonstrated by the examples of 50 vacancies in a 1950-atom Fe box and of interstitial loops in 16000-atom boxes. Generally speaking, k-ART's treatment of geometry and flickers is more flexible, e.g. it can handle amorphous systems, and rigorous than SEAKMC's, while the later's concept of active volumes permits a significant speedup of simulations for the systems under consideration and therefore allows investigations of processes requiring large systems that are not accessible if not localizing calculations.

Abstract:
Diffusion and clustering of lattice vacancies in silicon as a function of temperature, concentration, and interaction range are investigated by Kinetic Lattice Monte Carlo simulations. It is found that higher temperatures lead to larger clusters with shorter lifetimes on average, which grow by attracting free vacancies, while clusters at lower temperatures grow by aggregation of smaller clusters. Long interaction ranges produce enhanced diffusivity and fewer clusters. Greater vacancy concentrations lead to more clusters, with fewer free vacancies, but the size of the clusters is largely independent of concentration. Vacancy diffusivity is shown to obey power law behavior over time, and the exponent of this law is shown to increase with concentration, at fixed temperature, and decrease with temperature, at fixed concentration.

Abstract:
The kinetic Monte Carlo method is a standard approach for simulating physical systems whose dynamics are stochastic or that evolve in a probabilistic manner. Here we show how to calculate the system time for such simulations.

Abstract:
In this paper we study from a numerical analysis perspective the Fractional Step Kinetic Monte Carlo (FS-KMC) algorithms proposed in [1] for the parallel simulation of spatially distributed particle systems on a lattice. FS-KMC are fractional step algorithms with a time-stepping window $\Delta t$, and as such they are inherently partially asynchronous since there is no processor communication during the period $\Delta t$. In this contribution we primarily focus on the error analysis of FS-KMC algorithms as approximations of conventional, serial kinetic Monte Carlo (KMC). A key aspect of our analysis relies on emphasising a goal-oriented approach for suitably defined macroscopic observables (e.g., density, energy, correlations, surface roughness), rather than focusing on strong topology estimates for individual trajectories. One of the key implications of our error analysis is that it allows us to address systematically the processor communication of different parallelization strategies for KMC by comparing their (partial) asynchrony, which in turn is measured by their respective fractional time step $\Delta t$ for a prescribed error tolerance.

Abstract:
In this paper we investigate the approximation properties of the coarse-graining procedure applied to kinetic Monte Carlo simulations of lattice stochastic dynamics. We provide both analytical and numerical evidence that the hierarchy of the coarse models is built in a systematic way that allows for error control in both transient and long-time simulations. We demonstrate that the numerical accuracy of the CGMC algorithm as an approximation of stochastic lattice spin flip dynamics is of order two in terms of the coarse-graining ratio and that the natural small parameter is the coarse-graining ratio over the range of particle/particle interactions. The error estimate is shown to hold in the weak convergence sense. We employ the derived analytical results to guide CGMC algorithms and we demonstrate a CPU speed-up in demanding computational regimes that involve nucleation, phase transitions and metastability.

Abstract:
An off-lattice, continuous space Kinetic Monte Carlo (KMC) algorithm is discussed and applied in the investigation of strained heteroepitaxial crystal growth. As a starting point, we study a simplifying (1+1)-dimensional situation with inter-atomic interactions given by simple pair-potentials. The model exhibits the appearance of strain-induced misfit dislocations at a characteristic film thickness. In our simulations we observe a power law dependence of this critical thickness on the lattice misfit, which is in agreement with experimental results for semiconductor compounds. We furthermore investigate the emergence of strain induced multilayer islands or "Dots" upon an adsorbate wetting layer in the so-called Stranski-Krastanov (SK) growth mode. At a characteristic kinetic film thickness, a transition from monolayer to multilayer islands occurs. We discuss the microscopic causes of the SK-transition and its dependence on the model parameters, i.e. lattice misfit, growth rate, and substrate temperature.

Abstract:
Two-component submonolayer growth on triangular lattice is qualitatively studied by kinetic Monte Carlo techniques. The hopping barrier governing surface diffusion of the atoms is estimated with an improved formula and using realistic pair interaction potentials. Realistic degrees of freedoms enhancing the surface diffusion of atoms are also introduced. The main advantages of the presented technique are the reduced number of free parameters and the clear diffusion activated mechanism for the segregation of different types of atoms. The potential of this method is exemplified by reproducing (i) vacancy and stacking fault related phase-boundary creation and dynamics; (ii) a special co-deposition and segregation process where the segregated atoms of the second component surrounds the islands formed by the first type of atoms.