Moldy: a portable molecular dynamics simulation program for serial and parallel computers

Abstract Moldy is a highly portable C program for performing molecular-dynamics simulations of solids and liquids using periodic boundary conditions. It runs in serial mode on a conventional workstation or on a parallel system using an interface to a parallel communications library such as MPI or BSP. The “replicated data” parallelization strategy is used to achieve reasonable performance with a minimal difference between serial and parallel code. The code has been optimized for high performance in both serial and parallel cases. The model system is completely specified in a run-time input file and may contain atoms, molecules or ions in any mixture. Molecules or molecular ions are treated in the rigid-molecule approximation and their rotational motion is modeled using quaternion methods. The equations of motion are integrated using a modified form of the Beeman algorithm. Simulations may be performed in the usual NVE ensemble or in isobaric and/or isothermal ensembles. Potential functions of the Lennard–Jones, 6-exp and MCY forms are supported and the code is structured to give an straightforward interface to add a new functional form. The Ewald method is used to calculate long-ranged electrostatic forces.