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.
Timings
Timings are available for running Moldy on a variety of machines
from workstations to supercomputers. The report is available in either
latex or PostScript
forms. Please note that these timings refer to an early version of Moldy
-- significant speed optimimizations are incorporated in the later versions,
but for comparison purposes all timing runs should be done with version
2.0
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-manual.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.
Mailing Lists
If you want to be informed about updates, new versions, bugs etc,
there is a mailing list called moldy-announce. It is managed by
majordomo and to join it send an email message to moldy-announce-request@maillist.ox.ac.uk
containing the word "subscribe". There is a second list for discussion
of simulations using Moldy, requesting help with problems and related issues
called simply moldy. To join send an email message to moldy-request@maillist.ox.ac.uk
containing the word "subscribe".
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.
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 Keith.Refson@earth.ox.ac.uk.
