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

Title of program: Moldy
Catalogue identifier: ADLT
Ref. in CPC: 126(2000)310
Distribution format: tar gzip file
Operating system: Unix, VAX/VMS, OpenVMS, DOS, Windows 95
High speed store required: 128K words
Number of bits in a word: 64
Number of lines in distributed program, including test data, etc: 63313
Programming language used: C
Computer: Cray PVP

Nature of physical problem:
Statistical thermodynamics of liquids and solids.

Method of solution
Molecular dynamics simulation. The model system consists of atoms and molecules interacting via pairwise potentials of various forms. Arbitrary admixtures of different atomic or molecular species are allowed. Electrostatic contributions to the interaction are modelled as point-charges and the Ewald sum is used to calculate the long-range part of the interaction. Periodic boundary conditions are applied and simulations may be performed in the usual NVE ensemble or in NVT, NsigmaH or NsigmaT ensembles.

Restrictions on the complexity of the problem
Polyatomic molecules are modelled in the rigid-molecule approximation. Only pairwise central force models and point-charge electrostatics are allowed. Many-body forces, polarizable atoms, point dipoles or higher multipoles are not supported.

Typical running time
0.71s/timestep on DEC Alpha 5/266 for a system of 256 TIP4P water molecules. Scales linearly with N, the number of particles for non-coulombic systems, as N3/2 for coulombic systems.

Unusual features of the program
(a) The minimum-image convention, usual in periodic simulations is not applied. Instead, all images of a particle within the cut-off radius are considered. (b) A rigid surface or cage can be treated as a special type of molecule known as a "framework" which periodically repeats to fill space. (c) There is a new "skew start" method for generating initial configurations for liquid simulations. (Programming language: The program conforms to the ISO/IEC standard [1] and uses only the standard libraries with very minor exceptions. Function prototypes are not used for compatibility with compilers for Kernighan and Ritchie C [2] and it should be possible to compile on these systems too. The code vectorizes with the aid of options instructing the compiler to ignore apparent vector dependencies. The SPMD model of parallelism is supported with interfaces to a variety of communications libraries. The program uses 1-512 processors.)


 [1] International Standard for the C programming language, 1990.        
     ISO/IEC 9899:1990.                                                  
 [2] B.W. Kernighan and D. Ritchie, The C Programming language, (Prentice
     Hall, Cambridge, 1st edn., 1978).