Moldy

Moldy is a general-purpose molecular dynamics simulation program. It is sufficiently flexible that it ought to be useful for a wide range of simulation calculations of atomic, ionic and molecular systems.
The system is specified at run time with a description file so there is no need to recompile when changing systems. The program handles much more of the bookkeeping than is traditionally done, keeping track of consistency of parameters, restart files, output trajectories and so forth. Sizing of arrays limits are all handled automatically.
Capabilities
- The program can handle any mixture of atoms or polyatomic molecules (linear or otherwise) of any size within the rigid-molecule approximation. There are no limits on the number of atoms in a molecule, the number of molecular species or number of molecules.
- The system can be in the liquid or solid state, with MD cells of arbitrary dimensions and angles.
- The simulation may be conducted at either constant volume or constant stress using the Parrinello-Rahman algorithm, and constant energy/enthalpy or constant temperature using Nose-Hoover.
- Interactions are by pair-potentials (based at atomic sites in the case of molecules) with or without coulombic interactions.
- Most common forms of potential functions are supported (Lennard-Jones, Buckingham, Born-Meyer, MCY) and the program is designed to make it very easy to add others.
- Short-ranged forces are handled using the link-cell method and the long-ranged coulombic forces by the Ewald sum.
Unusual Features
- Moldy does not use the usual "minimum-image" convention, but instead includes interactions between a molecule and ALL of its periodic images that lie inside the cut-off radius. This is more strictly correct and just as easy to implement as minimum-image because of the link-cell algorithm.
- Moldy incorporates a method of generating initial configurations for liquid systems called a "skew start". This can reliably generate a configuration which is partially ordered but avoids molecular overlap.
- There is a capability for defining a "framework" which is a rigid super-molecule permeating all of space. This may be used to model rigid surfaces or zeolite-like cages, for example.
Analysis and Outputs
The program incorporates radial distribution function calculations and running accumulation of many of the usual thermodynamic averages. Any more sophisticated analysis can be performed by storing configurational data throughout the run for later analysis. There are flexible facilities for doing this. In addition to the main program there are utilities for manipulating dump datasets. Molecular Graphics Interface
The program mdshak supplied with the distribution interprets restart and dump files and writes files suitable for viewing by the molecular graphics packages VMD, MSI WebLab Viewer, SCHAKAL or by the AVS visualization system.
The free program VMD by the Theoretical Biophysics Group at the University of Illinois is thoroughly recommended. This works on most unix workstations using OpenGL or the free replacement, Mesa. It can display MD configurations in a variety of represenations, animate MD trajectories. It interfaces to the free raytracers Rayshade, PovRay among several to produce truly stunning visualizations such as this one of ice ih.
The AVS/Crystal module allows the interactive display, labelling and manipulation of particular MD configurations. Alternatively the cryst_to_geom filter together with Fast Animate module may be used to provide (on sufficiently fast hardware) an animated movie of the MD trajectories. AVS/Crystal and Fast Animate are available from the International AVS Center.
There is a free viewer available for Windows 95/Windows NT platforms nrom Molecular Simulations called WebLab Viewer. This can read XYZ format files and display in a number of formats. Unlike most molecular graphics programs it is aware of the periodic boundary contitions and can display more than one MD cell replica.
Limitations
- Only pair potentials are supported at the moment. New forms of potential function are easily added, but bond-bending or 3-body forces or shell models will take rather more work.
- The program treats molecules as rigid bodies using the quaternion algorithms, and no flexibility or other constraints are allowed.
Since the source code is freely available I hope that others with a need for these facilities will be able to add modules and extend the capabilities. Programming Considerations
One other aspect of Moldy which might be unfamiliar is that is is written in C rather than FORTRAN. Fortran does not have the flexibility of dynamic memory allocation to allow the automatic sizing of the arrays which Moldy needs. This ought to present no problems as C compilers are just as or more common than FORTRAN ones. Supported Platforms
The program is highly portable and has been optimised for both vector supercomputers (cray and convex), but also runs fast on modern unix workstations and even PCs. Parallel version
There are two distinct parallel version: one for shared-memory parallel-processors including explicitly Cray and Convex machines, and one for distributed-memory systems. See the READ.ME file with the distribution for more details. Availability
The source code may be obtained from the CCP5 program library in the usual way, and also directly from Oxford, with information about the latest release. - moldy.tar.gz - The Unix distribution (source only) as gzipped tar (also for Win95/NT)
- moldy.zip - The Windows 95/NT source+executable distribution as a "zip" archive)
- moldy.com - The VMS distribution (source only)
- moldy.ps.gz - The Manual in PostScript form. Note that the distribution files already contain the LaTeX source. The manual is also available in pdf or html forms.
New: Change of list address If you want to be informed about updates, new versions, bugs etc, or to discuss performing simulations using moldy, there is a mailing list called moldy@jiscmail.ac.uk. It is managed by LISTSERV: to join it send an email message to jiscmail@jiscmail.ac.uk containing the line join MOLDY firstname lastname. You may also subscribe and even post using the web interface. http://www.jiscmail.ac.uk/lists/MOLDY.html. The distribution and some other files are also available for download from this site. The single list "moldy" supercedes and combines the functions of the two lists which were previously based at the Oxford mail server "maillist.ox.ac.uk". Other Free Molecular Dynamics Simulation Programs
- DL_POLY, the CCP5 flagship simulation code which handles macromolecules as well as solids and liquids.
- NAMD is another parallel macro/biomolecule simulation program by the University of Illinois Theoretical Biophysics Group.
- GROMACS from the University of Groningen in the Netherlands.
- PMD from Columbia University
- MDynaMix by Aatto Laaksonen and Alexander Lyubartsev. A general purpose rigid/flexible molecules code with Ewald Sums, multiple timestep algorithm and replicated-data parallel capability.
Commercial Molecular Dynamics Simulation Programs
- GROMOS96 by van Gunsteren's group, ETH, Zurich. It isn't free but is very cheap for academic use.
- AMBER from the University of California as San Francisco
- CHARMM Chemistry at HARvard Molecular Mechanics
Other related links
- CCP5 is an EPSRC collaborative project on atomistic computer simulation. There is a newsletter and a library containing a large number of useful simulation programs, in particular:
- The Department of Chemistry of the Technion Software and Computers page contains links to a number of other simulation programs.
- Molecular Dynamics on the WWW, pointers collected by MIT students in the Spring of 1995.
- Lief Laaksonen's computational chemistry resource list.
- The ANTAS resource list with lots of MD and visualization programs.
- The Computational Chemistry List archive site.
- Linux4Chemistry A very comprehensive list of chemistry (and physics) programs which run under the Linux operating system
The Millenium Bug
Addendum: I told you so! Many people are foolishly wasting a lot of time and a lot of money worrying about this. They would apparently spend weeks or months of their time now working down a long list of non time-critical software trying to determine in advance whether it will fail on January 1 2000 or February 29, 2000, rather than spending a few hours next year to fix the few which do fail. Of course they will have to fix them anyway since many bugs are too subtle to be revealed by a cursory inspection process. Conditions of Use
Moldy is offered with NO WARRANTY. It is your responsibility to evaluate its correctness and suitability for any application. Moldy is copyrighted and distributed under the GNU public license which is designed to encourage its distribution and modification. Briefly, you are allowed to compile, use and modify Moldy and to pass copies on to others. You are not allowed to give away or sell a binary version unless you also supply the source code. This is to ensure that the source code of Moldy and any improvements made to it remain freely available.
Though not a condition of use I would like to encourage anyone who improves the program to return the changes to me so they can be made incorporated into future releases for the benefit of all. I particularly welcome any new functionality for the program itself, or analysis and utility programs.
Finally, Writing Moldy took me a great deal of time and I have put a lot of effort into it. If you use it and publish the results in a scientific journal, please include a suitable acknowledgement and a citation of Moldy: a portable molecular dynamics simulation program for serial and parallel computers.,Computer Physics Communications, 126(3):309--328, 2000.
Support
As I have many commitments on my time, I can not promise to offer support, though I will do my best to respond to queries and problem reports. The best places to enquire about problems or ask for assistance are the mailing lists. I do want to hear about any bugs, proven or suspected. Requests for enhancements will probably be met with agreement that it's a good idea and a suggestion that you try it yourself. I will try to find time to help with problems specific to Moldy but I am unable to help with general questions about MD simulations or suchlike. My department does not pay me to teach over the internet. (However I will consider any offers of consultancy or employment to teach MD simulations!) Please send email correspondence to