Stochastic Parallel PARticle Kinetic Simulator

SPPARKS is a parallel Monte Carlo code for on-lattice and off-lattice models that includes algorithms for kinetic Monte Carlo (KMC), rejection kinetic Monte Carlo (rKMC), and Metropolis Monte Carlo (MMC). It implements several KMC solvers whose serial computational complexity ranges from O(N) to O(NlogN) to O(1) in the number of events N owned by a processor. In a generic sense the 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 by sweeping over sites in a more ordered fashion.