|
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) |