SPPARKS Website - SPPARKS Documentation - SPPARKS Commands

sweep command


sweep style keyword value ... 


sweep random
sweep raster mask yes ... 


Use a rejection kinetic Monte Carlo (rKMC) algorithm for an on-lattice application. If rKMC is not used then a kinetic Monte Carlo (KMC) algorithm must be used as defined by the solve_style command.

The rKMC algorithm in SPPARKS selects sites on a lattice in an order determined by this command and requests that the application perform events. The application defines the geometry and connectivity of the lattice, what the possible events are, and defines their rates and acceptance/rejection criteria.

The ordering of selected sites is also affected by the sector command, which partitions each processor's portion of the simulation domain into sectors which are quadrants (2d) or octants (3d). In this case, the ordering described below is within each sector. Sectors are looped over one at a time, interleaved by communication of lattice values inbetween.

For the random style, sites are chosen randomly, one at a time.

For the raster style, a sweep of the lattice is done, as a loop over all sites in a pre-determined order, e.g. a triple loop over i,j,k for a 3d cubic lattice.

For the color style, lattice sites are partitioned into sub-groups or colors which are non-interacting in the sense that events on two sites of the same color can be perfored simultaneously without conflict. This enables parallelism since events on all sites of the same color can be attempted simultaneously. Similar to sectors, the colors are looped over, interleaved by communication of lattice values inbetween.

The color/strict style is the same as the color style except that random numbers are generated in a way that is independent of the processor which generates them. Thus SPPARKS should produce the same answer, independent of how many processors are used. This can be useful in debugging an application.

If the application supports it, the mask keyword can be set to yes to skip sites which cannot perform an event due to the current value of the site and its neighbors. Enabling masking should not change the answer given by a simulation (in a statistical sense); it only offers a computational speed-up. For example, sites in the interior of grains in a Potts grain-growth model may have no potential of flipping their value. Masking can only be set to yes if the temperature is set to 0.0, since otherwise there is a finite probability of any site performing an event.

The none style deletes any rKMC sweeping algorithm previously defined. This may be useful for transitioning from a rKMC solver in one run to a KMC solver in a subsequent run.


This command can only be used as part of on-lattice applications as specified by the app_style command.

Not all lattice styles and applications support the color and color/strict styles. Not all applications support the mask option.

Related commands:

app_style, solve_style, sector


The option defaults are mask = no.