Installating VASP on 64-bit AMD Opteron Cluster CentOS 5 Linux

From their website.

VAMP/VASP [Vienna Ab-initio Simulation Package] is a package for performing ab-initio quantum-mechanical molecular dynamics (MD) using pseudopotentials and a plane wave basis set. The approach implemented in VAMP/VASP is based on a finite-temperature local-density approximation (with the free energy as variational quantity) and an exact evaluation of the instantaneous electronic ground state at each MD-step using efficient matrix diagonalization schemes and an efficient Pulay mixing. These techniques avoid all problems occurring in the original Car-Parrinello method which is based on the simultaneous integration of electronic and ionic equations of motion. The interaction between ions and electrons is described using ultrasoft Vanderbilt pseudopotentials (US-PP) or the projector augmented wave method (PAW). Both techniques allow a considerable reduction of the necessary number of plane-waves per atom for transition metals and first row elements. Forces and stress can be easily calculated with VAMP/VASP and used to relax atoms into their instantaneous groundstate.

Or, in other words...

Now here's the legal catch. We cannot allow anyone else access to the software nor can we copy the source code outside of the directory of those licensed to use it or we will be in breach of the license agreement, and the code owner is really strict about these things. That works too, I suppose. Thankfully once this is out of the way there's some fairly good documentation on installation and use.

So start of with a copy of VASP in the users home directory. Make a directory called vasp (mkdir vasp) and and extract the tarball of the two VASP files there (tar xvf vasp.4.lib.tar.gz, tar xvf vasp.4.6.tar.gz).

Change to the vasp.4.lib directory and copy the appropriate makefile.machine to Makefile, in this case Linux with Portland group compilers.

module load pgi/8.0

cd vasp.4.lib
cp makefile.linux_pgi_opt Makefile

Now make the libraries


Change to to the vasp.4.x directory (cd ../vasp.4.6). Copy the appropriated makefile.machine to Makefile (cp makefile.linux_pgi_opt Makefile).

Edit the general Fortran flags for the actual processor

FFLAGS = -Mfree -tp barcelona-64,k8-64 -i8

Edit out the use of kresse BLAS

# BLAS= /home/kresse/64/vasp.4.6/

Modify linker options

LINK = -tp barcelona-64,k8-64

Add in these lines for the ACML libraries

# On Tango we want to use the ACML libraries - make sure you have the module loaded first!
BLAS= -lacml

Modify the Fortran linker for MPI


Include the CPP options for parallel

CPP = $(CPP_) -DMPI -DHOST=\"LinuxIFC\" -DIFC \
-Dkind8 -DNGZhalf -DCACHE_SIZE=4000 -DPGF90 -Davoidalloc \

Include the libraries for MPI

LIB = -L../vasp.4.lib -ldmy \
../vasp.4.lib/linpack_double.o $(LAPACK) \
$(SCA) $(BLAS)

# FFT: fftmpi.o with fft3dlib of Juergen Furthmueller
FFT3D = fftmpi.o fftmpi_map.o fft3dlib.o

Now one more thing ... due to an apparent oversight, the aedens object file was left out of the Makefile. So add it in as a source file;

SOURCE= base.o mpi.o smart_allocate.o xml.o \
elpol.o setlocalpp.o aedens.o

Write and quit

module load acml/4.1.0-pgi
module load openmpi-pgi/1.3.1

It will link and compile successfully! Move the file to a user-specific directory and change ownership so they can try it out.