Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Kinetic Monte Carlo

Kinetic Monte Carlo (kMC) is an extension of the Monte Carlo method that is used to simulate the time evolution of a system by considering the rates of individual events. In kMC, the system is modeled as a set of discrete states, and the transitions between these states are governed by transition rates. By simulating the stochastic evolution of the system based on these rates, kMC can provide insights into the dynamics of complex systems and predict their behavior over time.

Rejection Free Kinetic Monte Carlo

Rejection-free kinetic Monte Carlo (RFkMC) is a variant of the kMC method that improves efficiency by avoiding rejected trial moves. Instead of proposing moves and then rejecting some of them, RFkMC selects one event directly from the list of possible events with probability proportional to its transition rate, and then advances the simulation clock accordingly. If the event rates satisfy detailed balance, the dynamics will reproduce the correct equilibrium behavior, but the rates are not modified just to enforce detailed balance.

Initial State

The initial state of the system is defined by specifying the configuration of the system at the beginning of the simulation. This includes the positions and properties of all particles, as well as any other relevant information needed to describe the system.

Events

Events are the individual transitions that can occur in the system, such as the movement of a particle or the creation or destruction of a bond. Each event is associated with a transition rate that determines the probability of the event occurring in a given time interval.

In RFkMC, the transition events are tabulated in a list, and the system evolves by selecting an event from the list based on the transition rates. This avoids rejection steps and allows the simulation to proceed more efficiently.

Transition Rates

The transition rates in kMC are determined by the energy barriers associated with each event. These barriers can be calculated using methods such as density functional theory (DFT) or empirical potentials, and they play a crucial role in determining the dynamics of the system.

Time

The time step for each transition event is determined by the transition rate associated with the event. Events with higher rates will occur more frequently, leading to faster evolution of the system. By simulating the stochastic evolution of the system over time, kMC can provide insights into the dynamics of complex systems and predict their behavior.

Δt=ln(w)iΓi\Delta t = -\frac{\ln(w)}{\sum_i \Gamma_i}

where Γi\Gamma_i is the transition rate for event ii, and ww is a random number between 0 and 1.

Applications

Comparison with Molecular Dynamics

FeatureKinetic Monte CarloMolecular dynamics
ModelFlexible: can use lattice models or simple equationsForce fields (classical MD) or electronic structure (AIMD)
Time scaleMesoscopic (up to seconds or milliseconds)Up to a few nanoseconds (few hundreds of picoseconds) for classical MD (AIMD)
Length scaleFlexible: atomistic or mesoscopicUp to a few million (classical MD) or up to 1000 atoms (AIMD)
Computational efficiencyTransition rates are computed directly for each migration eventEnergies and forces of all atoms are evaluated at each timestep
Rare events accessibilityEasy: events propagated randomly based on their transition ratesHard: long simulations or high temperatures for high barriers
Model constructionComplex: it requires knowledge of all possible transition eventsStraightforward: plug & play
Code availabilityLimited and often relying on in-house codesNumerous general purpose codes available