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.
A full description of the package and links to download can be found in SPPARKS webpage.
Untar and unzip the downloaded file in your chosen directory.
tar -xzvf ssparks.tar.gzEnter in src directory.
cd srcLoad modules
module load gcc openmpiBuild the binary executables
make mpimv spk_mpi ~/home/binEdit the bash_profile file
vi ~/.bash_profileAdd the following code at the end of this file
PATH=$PATH:$HOME/bin#!/bin/bash#SBATCH --job-name=<job-name>#SBATCH --output <Output>#SBATCH --error <Error-output>##SBATCH --mail-type=ALL#SBATCH --qos=<account> ex. phillpot##SBATCH --mail-user=<email-address>#SBATCH --ntasks=8 # Number of MPI processes (CPUs)#SBATCH --mem-per-cpu=2G # Per processor memory request#SBATCH --time=96:00:00 # Walltime in hh:mm:ss or d-hh:mm:ssmodule purgemodule load gcc openmpimpiexec <spk_mpi file postion> -in in.* > job.log # the position should be like /home/<account>/bin/spk_mpi