SPPARKS is a Monte Carlo code that has algorithms for kinetic Monte Carlo (KMC), rejection KMC (rKMC), and Metropolis Monte Carlo (MMC). On-lattice and off-lattice applications with spatial sites on which "events" occur can be simulated in parallel.
KMC is also called true KMC or rejection-free KMC. rKMC is also called null-event MC. In a generic sense the code's KMC and rKMC solvers catalog a list of events, each with an associated probability, choose a single event to perform, and advance time by the correct amount. Events may be chosen individually at random, or a sweep of enumarated sites can be performed to select possible events in a more ordered fashion.
Applications are implemented in SPPARKS which define events and their probabilities and acceptance/rejection criteria. They are coupled to solvers or sweepers to perform KMC or rKMC or MMC simulations.
These are three kinds of applications in SPPARKS:
On-lattice applications define static event sites with a fixed neighbor connectivity. Off-lattice applications define mobile event sites such as particles. A particle's neighbors are typically specified by a cutoff distance. General applications have no spatial component.
The set of on-lattice applications currently in SPPARKS are:
The set of off-lattice applications currently in SPPARKS are:
The set of general applications currently in SPPARKS are:
These are the KMC solvers currently available in SPPARKS and their scaling properties: