|
563. CLAMPS: Classical Many-Particle Simulator
by David Ceperley, NRCC, 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), Lengevin
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 coefficients. 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 (4 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 the 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 on magnetic tape.
NOTE: This version contains some small segments of
ASSEMBLY language for the ETA/10.
FORTRAN IV
Lines of Code: 3082
|