Kinetic Monte Carlo simulations with minimal searching.

Kinetic Monte Carlo (KMC) simulations are used to simulate epitaxial crystal growth. Presently, the fastest reported methods use binary trees to search through a list of rates in O(log(2) M) time, where M is the number of rates. These methods are applicable to an arbitrary set of rates, but typical KMC bond-counting schemes involve only a finite set of distinct rates. This allows one to construct a faster list-based algorithm with a computation time that is essentially independent of M. It is found that this algorithm typically reduces computation time by between 30% and 50% for typical simulations, with this factor increasing for larger simulations.