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 Use of uninitialized value in concatenation (.) or string at E:\listplex\SYSTEM\SCRIPTS\filearea.cgi line 455, line 351.
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