|
QCMP163. CLAMPS: Classical Many-Particle Simulator
by David Ceperley, Lawrence Berkeley Laboratory,
Berkeley, California 94720
CLAMPS is a program package to generate (with a number
of different simulation techniques) configurations derived
from the Boltzmann distribution of a classical many-particle
system. The methods available now are molecular dynamics
(Verlet algorithm), Lengenvin dynamics (particles with
momentum interacting with a heat bath), Metropolis Monte
Carlo, polymer reptation, and Brownian dynamics (equivalent
to "smart" Monte Carlo). The user first specifies in the
input the parameters of the physical system. This consists
of the number of chemical types, the number of particles of
each type, the dimension of the space (1, 2 or 3), the
density, temperature, masses, charges, and the inverse
friction coeffieicnts. The total potential energy of the
system is a sum of spherically symmetric pair potentials and
bonding potentials. The pair potential depends only on the
radial separation of two particles (computed using minimum
image convention) and on their respective chemical types.
Several analytic potentials are programmed; others can
easily be added. At present, the bonding potentials are
restricted to be
of the form of a nonlinear spring and act only between the
two nearest neighbors on a chain. If the atoms are charged,
the Ewald image potential will be used. The box is
periodically extended, and the interaction between two
charges includes the interaction of all of the images.
The starting configuration can either be from the sites
of a crystal lattice (four lattice types are available) or
it can be "picked up" from a previous CLAMPS run. The user
then specifies a number of simulation commands, e.g., Do 100
Molecular Dynamics Steps. An indefinite number of these
commands can be chained together enabling the user, for
example, to use Monte Carlo and/or polymer reptation to
reach equilibrium and then use molecular dynamics to follow
an equilibrated trajectory.
The program calculates a few average quantities, the
kinetic and potential energies and cpu time/step. For these
quantities, it divides a set of commands into "blocks".
Averages are computed within each block, and the standard
error of an average is computed from the variance of the
block averages. In addition, the average cumulative values
and the configurations are "checkpointed" at the end of each
block. CLAMPS can write out configurations onto a disk
file, which can then be analyzed for other properties and
stored permanently.
Lines of Code: 3082
FORTRAN 77 (Microsoft 5.1)
|