The kinetic Monte Carlo (KMC) method is a Monte Carlo method computer simulation intended to simulate the time evolution of some processes occurring in nature.
A rfKMC algorithm, often only called KMC, for simulating the time evolution of a system, where some processes can occur with known rates r, can be written for instance as follows:[1]: 13–14 (Note: because the average value of
In this case, however, the delay associated with transition i will not be drawn from the Poisson distribution described by the rate
It is important to note that the timestep involved is a function of the probability that all events i, did not occur.
[1]: 13–14 Rejection KMC has typically the advantage of an easier data handling, and faster computations for each attempted step, since the time consuming action of getting all
The relative weight of pros and cons varies with the case at hand, and with available resources.
[2] If furthermore the transitions follow detailed balance, the KMC algorithm can be used to simulate thermodynamic equilibrium.
However, KMC is widely used to simulate non-equilibrium processes,[5] in which case detailed balance need not be obeyed.
The rfKMC algorithm is efficient in the sense that every iteration is guaranteed to produce a transition.
The rates and reactions must be obtained from other methods, such as diffusion (or other) experiments, molecular dynamics or density-functional theory simulations.
KMC has been used in simulations of the following physical systems: To give an idea what the "objects" and "events" may be in practice, here is one concrete simple example, corresponding to example 2 above.
In this case the "objects" of the KMC algorithm are simply the individual atoms.
If any of these issues are valid, the time scale and system evolution predicted by KMC may be skewed or even completely wrong.
The first publication which described the basic features of the KMC method (namely using a cumulative function to select an event and a time scale calculation of the form 1/R) was by Young and Elcock in 1966.
[10] Apparently independent of the work of Young and Elcock, Bortz, Kalos and Lebowitz[1] developed a KMC algorithm for simulating the Ising model, which they called the n-fold way.
The basics of their algorithm is the same as that of Young,[8] but they do provide much greater detail on the method.
[11] The algorithm is similar and the time advancement scheme essentially the same as in KMC.
[16] The justification of KMC as a coarse-graining of the Langevin dynamics using the quasi-stationary distribution approach has been developed by T. Lelièvre and collaborators.
[17][18] In March 2006 the, probably, first commercial software using Kinetic Monte Carlo to simulate the diffusion and activation/deactivation of dopants in Silicon and Silicon like materials is released by Synopsys, reported by Martin-Bragado et al.[19] The KMC method can be subdivided by how the objects are moving or reactions occurring.