VAMP - Vienna Ab initio Molecular dynamics Package
Following a short description of this wonderful giant package
(about 40000 lines of FORTRAN-code ...):
"VAMP" is a full featured ab-initio molecular dynamics package
running on various platforms (RISC-workstations, vector processors, ...).
It has been written (almost) from scratch by Georg Kresse in 1992 and some
extensions/improvements have been made by Jürgen Furthmüller (and
of course also Georg Kresse) in 1993/1994 (and the coding is still going on :-)
- The electronic degrees of freedom are treated on the basis of
density functional theory in the local density approximation or the
generalized gradient approximation (various LDA- and GGA-XC-functionals
implemented) using pseudopotentials in a plane-wave
basis -- selfconsistent or non-selfconsistent using the Harris functional.
- It is possible to use nonlocal norm-conserving or
"ultrasoft" (Vanderbilt-) pseudopotentials in the (generalized)
Kleinman-Bylander-representation with an (in principle) arbitrary number of
projectors (although more than two projectors are usually not recommended)
with treatment of s-, p- and d-nonlocalities.
- The Kohn-Sham equations are solved iteratively using various band-by-band
or "all band simultaneous" update schemes. The most important schemes are
a preconditioned conjugate gradient technique and a residual minimization
technique (whereof the latter minimizes the number of order N^3 operations
and allows an independent treatment of all bands what makes it very easy
to parallelize this algorithm). Furthermore some block Davidson-like scheme
and a selfconsistent update of all degrees of freedom (including Fermi
weights ...) is available (but both schemes will not give the optimum
performance though they are still useful in many cases ...). All schemes
use a (modified) Broyden-mixing (or alternatively also available a
Kerker-mixing) for stabilizing the convergence of the charge density
towards self-consistency.
- First attempts to parallelize the code on a SGI Power Challenge have
already been made in 1993/1994 and with some few further work on the code
it should be possible to run this code also on parallel machines quite
efficiently, at least on shared-memory system with an intermediate
number of processors ...)
- The program uses fractional occupation numbers for the Kohn-Sham orbitals
according to the finite-temperature extension of the density functional
theory formulated by Mermin. The Brillouin-zone samplings base on regular
k-meshes (Monkhorst-Pack special k-points) and the band occupations are
calculated using either a Fermi-smearing method, a (generalized) Gaussian
smearing method (according to Methfessel and Paxton) or the tetrahedron
method ("classical" linear tetrahedron method or some improved tetrahedron
method including "Blöchl corrections"). For all smearing methods the
occupation entropies are calculated and included into the total (free)
energy to make the (free) energy and the (Hellmann-Feynman) forces
consistent. For the Gaussian smearing method and the Fermi smearing method
an energy extrapolated towards zero smearing width will also be evaluated.
Some remark: The improved tetrahedron method (though showing an absolutely
extraordinary convergence of total energies) gives energies being not
compatible with the (Hellmann-Feynman) forces and is hence not recommended
for molecular dynamics simulations.
- A classical treatment of the ionic degrees of freedom is used (according
to Newton's classical equations of motion) with ability to perform
microcanonical or canonical molecular dynamics (with temperature control
by a Nose-thermostat), structural optimizations by means of a conjugate
gradient minimization or a quasi-Newton approach (which allows in principle
also a search for maxima or saddle points on the ionic total energy
surface) or static calculations.
- The forces on the atoms and (only usuable for structural optimizations)
also stresses (full stress tensor!) are calculated according to the
Hellman-Feynman theorem including so-called "Harris-corrections" for the
case of non-selfconsistency (corrects for errors in the Hellman-Feynman
forces/stresses to first order in the deviation of the total charge
density from selfconsistency).
- The code includes a full featured symmetry analysis (automatic recognition
of the lattice types and all symmetry elements, application of symmetry to
Brillouin-zone sampling with ability to set up symmetry-reduced k-meshes
and tetrahedra-networks automatically, symmetrization of charge densities
and forces/stresses).
- Several analytical informations are also provided by VAMP like radial
pair distribution functions for liquids (and amorphous phases), density of
states (with decomposition into l-projected local density of states and
general information on l-projections at each atomic site of all bands),
eigenvalues, charges, positions (with complete history during molecular
dynamics runs). There exist also some miscellaneous tools for visualization
of output data, pre-analysis of structural input data, "split-and-merge"
tools for splitting (non-selfconsistent) calculations (for band structures
or density of states) involving a large number of k-points (which would
exceed the available memory capacity) into a series of single k-point jobs.
- One significant aim of the coding done by G. Kresse was (from the very
beginning) not only to establish some general purpose tool for ab-initio
atomic-scale simulations but also to get a high performance package coming
close to peak performances. So our code is not only universal but also
very fast (maybe the fastest code in universe? :-). Many of our people
here at the institute don't believe this because we usually still need
thousands and tenthousands of CPU-hours for each project but other codes
will surely do no better and faster job ... (?).
A more detailed description ("handbook") can be found
here.
Warning: we have still some few problems the local installation(s) of our
LaTeX2HTML
translator (some formulas look really UGLY!). So maybe you want to try this
Postscript file (but
you have to be patient - it's a quite large file!).
We surely forgot now still lots of features of VAMP (it has so many features
that we have already lost track ourselves ...); anyway we hope you are already
quite impressed about this package. If you want to order this package contact
Jürgen Furthmüller
(will leave the institute end of april 1995),
Georg Kresse
(will also leave the institute around
summer 1995 ??) or our big boss, Prof. Jürgen Hafner. But warning: You have
to join our group for several weeks/months (because it's horribly complicate to
use this package ...) and you should have lots of experience with any kind of
pseudopotential-DFT-LDA calculations and related stuff (we hesitate to give it
away to completely unexperienced users -- unless they spend a sufficiently long
time in Vienna to learn all the relevant things very carefully and extensively).
Last modified: Fri Jan 27 17:55:00 MESZ 1994
Author: Jürgen Furthmüller (furth@tph21.tuwien.ac.at)