Lattice-switch Monte Carlo (LSMC) is a method for evaluating the free energy between two given solid phases. LSMC is a general method, being applicable to a wide range of problems and interatomic potentials. Furthermore it is extremely efficient, ostensibly more efficient than other existing general methods. Here we introduce a package, monteswitch, which can be used to perform LSMC simulations. The package can be used to evaluate the free energy differences between pairs of solid phases, including multicomponent phases, via LSMC for atomic (i.e., non-molecular) systems in the NVT and NPT ensembles. It could also be used to evaluate the free energy cost associated with interfaces and defects. Regarding interatomic potentials, monteswitch currently supports various commonly-used pair potentials, including the hard-sphere, Lennard-Jones, and Morse potentials, as well as the embedded atom model. However the main strength of the package is its versatility: it is designed so that users can easily implement their own potentials. the free energy difference between two solid phases. The package presented here allows LSMC simulations to be performed for a variety of interatomic potentials, including commonly-used pair potentials and the embedded atom model. Furthermore the package is designed so that users can easily implement their own potentials. The package supports LSMC simulations in the NVT and NPT ensembles, and can treat multicomponent systems. A version of the main program is included which is parallelised using MPI. This program parallelises the LSMC calculation by simulating multiple replicas of the system in parallel.
KeywordsRestrictions: monteswitch cannot treat molecular systems, i.e., systems in which the particles exhibit rotational degrees of freedom, and is restricted to systems which can be represented within an orthorhombic supercell. Furthermore, the interatomic potential is 'hard-coded' in the sense that implementing a different potential requires that the package be recompiled. Additional comments: monteswitch includes programs to assist with the creation of input files and the post-processing of output files created by the main Monte Carlo programs. A user manual, a suite of test cases, a worked example, and a collection of plug-ins to implement various commonly-used interatomic potentials are also included with the package. Running time: Depends on the nature of the problem and the underlying computing platform. For the Zr EAM example in the manuscript one iteration (i.e., one 160,000-sweep weight-function-generation simulation and one 700,000-sweep production simulation) took a wall-clock time of approximately 1.9 hours on a desktop machine (an iMac14,2 with a 3.2GHz Intel Core i5-4570 processor) exploiting 4 cores for the 384-atom system, and 17.7 hours for the 1296-atom system. For each ensemble in the hard-sphere example the 18,000,000-sweep weight-function-generation simulation and two 125,000,000-sweep production simulations took a total of approximately 11 hours exploiting 16 core...