next up previous contents
Next: Compiling and maintaining VASP Up: The installation of VASP Previous: How to obtain the   Contents


Installation of VASP

To install VASP, basic UNIX knowledge is required. The user should be acquainted with the tar, gzip, and ideally with the make command of the UNIX environment.

VASP requires that the BLAS package is installed on the computer. This package can be retrieved from many public domain servers, for instance http://math-atlas.sourceforge.net, but if possible one should use an optimised BLAS package from the machine supplier (see section. 3.7).

To install VASP, create a directory for VASP to reside in. We recommend to use the directory


 ~/VASP/src
Then, retrieve the following files from the server:

 vasp.4.X.X.tar.gz  or vasp.4.X.X.tar.Z
 vasp.4.lib.tar.gz  or vasp.4.lib.tar.Z
 benchmark.tar.gz
 bench.Hg.tar.gz
The ftp server is located at:

 server    cms.mpi.univie.ac.at
 login     vasp
 password  is sent by email after the license contract has been signed
 directory src
The *.gz (gzip) files are generally smaller, but gzip is not installed on all machines.

At the same location (cms.mpi.univie.ac.at), pseudopotentials for all s-, p- and d-elements can be found in the files ( pot/potcar.date.tar and pot_GGA/potcar.date.tar). The tar file pot/potcar.date.tar contains ultrasoft pseudopotentials for the local density approximation (LDA). This file should be untared in a seperated directory, e.g. using the commands


 cd ~/VASP
 mkdir pot
 cd pot
 tar -xvf directory_of_downloaded_file/potcar.date.tar
About 80 directories, all containing a file POTCAR.Z, are generated. The elements for which the potential file was generated can be recognised by the name of the directory (e.g. Al, Si, Fe, etc). For more detail, we refer to section 10. The pot_GGA/potcar.date.tar file contains the pseudopotentials for gradient corrected (Perdew Wang 91) calculations and should be untared in a different directory, e.g. using the commands

 cd ~/VASP
 mkdir pot_GGA
 cd pot_GAA
 tar -xvf directory_of_downloaded_file/potcar.date.tar

Potential files for the projector-augmented wave (PAW) method, are located in a seperate account on the same ftp server:


 server       cms.mpi.univie.ac.at
 login        paw
 password     is sent by email after the paw-license contract has been signed
 directories  potpaw  and potpaw_GGA
To untar these files, a similar procedure as described above should be used.

Documentations on VASP (for instance this file) might be found in the doc/ directory.

After the files vasp.4.X.X.tar.gz and vasp.4.lib.tar.gz have been retrieved from the file server, the installation proceeds along the following lines: First, uncompress the *.Z or *.gz files using uncompress or gunzip. Then untar the vasp.*.tar files using e.g.:


 gunzip vasp.4.X.X.tar.gz (or uncompress vasp.4.X.X.tar.Z)
 tar -xvf vasp.4.X.X.tar
 gunzip vasp.4.lib.tar.gz (or uncompress vasp.4.lib.tar.Z)
 tar -xvf 4.4.lib.tar
Two directories are created:

 vasp.4.lib/
 vasp.4.X.X/
Go to the vasp.4.lib directory, and copy the appropriate makefile.machine to Makefile:

 cd vasp.4.lib
 cp makefile.machine Makefile
You might choose makefile.machine from the following list:

makefile.cray         makefile.dec           makefile.hp             makefile.linux_abs
makefile.linux_alpha  makefile.linux_ifc_P4  makefile.linux_ifc_ath  makefile.linux_pg
makefile.nec          makefile.rs6000        makefile.sgi            makefile.sp2
makefile.sun          makefile.t3d           makefile.t3e            makefile.vpp

cray            CRAY C90, J90, T90 (++)
dec             DEC ALPHA, True 64 Unix (++)
hp              HP PA (0)
linux_abs       Linux, Absoft compiler (0)
linux_alpha     Linux, Alpha processors fort compiler (++)
linux_ifc_P4    Linux, Intel fortran compiler (ifc), P4 optimisation (++)
linux_ifc_P4    Linux, Intel fortran compiler (ifc), Athlon optimisation (++)
linux_pg        Linux, Portland group compiler (++)
nec             NEC vector computer (+)
rs6000          IBM AIX, xlf90 compiler (++)
sgi             SGI, Origin 200/ 2000/ 3000, Power Challenge, O2 etc. (+)
sp2             IBM SP2, possibly also usefull for RS6000 (++)
sun             SUN, Ultrasparc (-)
t3d             Cray/SGI T3D (+)
t3e             Cray/SGI T3E (+)
vpp             fujitsu VPP, VPX (0)
The value in brackets indicates whether is likely that VASP will compile and execute without problems: ++ no problems; + usually no problems; 0 presently unknown; - unlikely. Type

 make
The compilation should finish without errors, although warnings are possible. Go to the vasp.4.x directory. Copy the appropriated makefile.machine to Makefile. Now check the first 10-20 lines in the Makefile for additional hints. It is absolutely required to follow these guidelines, since the executable might not work properly otherwise. If the Makefile suggests that certain routines must be compiled with a lower optimisation, you can usually do this by inserting lines at the end of the makefile. For instance

radial.o : radial.F
        $(CPP)
        $(F77) $(FFLAGS) -O1 $(INCS) -c $*$(SUFFIX)
Finally, type

 make
again. It should be possible to finish again without errors (although numerous warnings are possible). If problems are encountered during the compilation, please make first shure that you have followed exactly the guidelines in the Makefile. If you have done so, generate a bug report by typing the following commands (bash or ksh):

 make clean
 make >bugreport 2>&1
If you use the csh or tcsh, type:

 make clean
 make >& bugreport
Send, us the files Makefile, bugreport, the exact operating system version, and the exact compiler version (see Sec. 3.6). Presently, we can solve problems only for the following platforms, since we do not have access to other operating systems:

makefile.dec          makefile.linux_alpha   makefile.linux_ifc_P4   makefile.linux_ifc_ath  
makefile.linux_pg     makefile.rs6000        makefile.sp2
Bug reports for the sun platform are rather useless. We know that vasp fails to work reliably on Sun machines, but this is related to an utterly bad Fortran 90 compiler. Any suggestions how to solve this problem are appriciated.

Mind: The VASP makefiles assume that optimised BLAS packages are installed on the machine. The following BLAS libraries are linked in, if the standard makefiles are used:


  libessl.a    IBM RS6000, SP2, SP3 and SP4
  libcxml.a    True 64 Unix, and Alpha Linux
  libblas.a    SGI
  libveclib.a  HP
  libsci.a     CRAY C90
  libmkl_p4    Intel P4, mkl performance library
Usually these packages are speficied in the line starting with

BLAS=
or in the line starting with

LIB=
If you do not have access to these optimized BLAS libraries, you can download the ATLAS based BLAS from http://math-atlas.sourceforge.net. In this case (and for most linux makefiles), the BLAS line in the Makefile must be costumized manually. Additional BLAS related hints are discussed in section 3.7 and in some of the makefiles.

Next step: Create a work directory, copy the bench*.tar.gz files to this directory and untar the benchmark.tar file.


 gunzip <benchmark.tar.gz | tar -xvf -
Then type

 directory_where_VASP_resides/vasp
One should get the following results prompted to the screen (VASP.4.5 and newer versions):

 VASP.4.4.4 24.Feb 2000
 POSCAR found :  1 types and    8 ions
 WARNING: mass on POTCAR and INCAR are incompatible
  typ           1  Mass   63.5500000000000        63.5460000000000     

 ----------------------------------------------------------------------------- 
|                                                                             |
|           W    W    AA    RRRRR   N    N  II  N    N   GGGG   !!!           |
|           W    W   A  A   R    R  NN   N  II  NN   N  G    G  !!!           |
|           W    W  A    A  R    R  N N  N  II  N N  N  G       !!!           |
|           W WW W  AAAAAA  RRRRR   N  N N  II  N  N N  G  GGG   !            |
|           WW  WW  A    A  R   R   N   NN  II  N   NN  G    G                |
|           W    W  A    A  R    R  N    N  II  N    N   GGGG   !!!           |
|                                                                             |
|      VASP found     21 degrees of freedom                                   |
|      the temperature will equal 2*E(kin)/ (degrees of freedom)              |
|      this differs from previous releases, where T was 2*E(kin)/(3 NIONS).   |
|      The new definition is more consistent                                  |
|                                                                             |
 ----------------------------------------------------------------------------- 

 file io ok, starting setup
 WARNING: wrap around errors must be expected
 prediction of wavefunctions initialized
 entering main loop
       N       E               dE            d eps      ncg    rms        rms(c)
CG :  1  -0.88871893E+04 -0.88872E+04  -0.15902E+04   96  0.914E+02
CG :  2  -0.90140943E+04 -0.12691E+03  -0.93377E+02  126  0.142E+02
CG :  3  -0.90288324E+04 -0.14738E+02  -0.49449E+01  112  0.293E+01  0.175E+01
CG :  4  -0.90228639E+04  0.59686E+01  -0.28031E+01  100  0.264E+01  0.373E+00
CG :  5  -0.90228253E+04  0.38602E-01  -0.64323E-01  100  0.337E+00  0.141E+00
CG :  6  -0.90227973E+04  0.28000E-01  -0.90047E-02   99  0.131E+00  0.643E-01
CG :  7  -0.90227865E+04  0.10730E-01  -0.31225E-02   98  0.677E-01  0.180E-01
CG :  8  -0.90227861E+04  0.43257E-03  -0.13932E-03   98  0.169E-01  0.800E-02
CG :  9  -0.90227859E+04  0.23479E-03  -0.47878E-04   62  0.814E-02  0.362E-02
CG : 10  -0.90227858E+04  0.41776E-04  -0.10154E-04   51  0.514E-02
   1 T=  2080. E= -.90209042E+04 F= -.90227859E+04 E0= -.90220337E+04  
               EK= 0.18817E+01 SP= 0.00E+00 SK= 0.57E-05
 bond charge predicted                                                
       N       E               dE            d eps      ncg    rms        rms(c)
CG :  1  -0.90226970E+04 -0.90227E+04  -0.32511E+00   96  0.935E+00
CG :  2  -0.90226997E+04 -0.27335E-02  -0.26667E-02  109  0.957E-01
CG :  3  -0.90226998E+04 -0.23857E-04  -0.23704E-04   57  0.741E-02  0.455E-01
CG :  4  -0.90226994E+04  0.34907E-03  -0.15696E-03   97  0.150E-01  0.121E-01
CG :  5  -0.90226992E+04  0.22898E-03  -0.54745E-04   75  0.915E-02  0.327E-02
CG :  6  -0.90226992E+04  0.13733E-04  -0.50646E-05   49  0.395E-02
   2 T=  1984. E= -.90209039E+04 F= -.90226992E+04 E0= -.90219455E+04  
               EK= 0.17948E+01 SP= 0.42E-03 SK= 0.37E-04
The full output can be found in the file OSZICAR.ref_4.4.3.

If the output is correct, you might move to bench.Hg.tar (this is a small benchmark indicating the performance of the machine).


 gunzip <bench.Hg.tar.gz | tar -xvf -
 directory_where_VASP_resides/vasp # this command will take 4-60 minutes
 grep LOOP+ OUTCAR
The benchmark requires 50 MBytes, and takes between 4-60 minutes. It is best if the machine is idle, but generally results are also useful if this is not the case. Mind that the last Typical values for LOOP+ are shown indicated in Section 3.8. The output produced by this run can be found in the OSZICAR.ref file (version VASP.4.4.3) in the tar file.


next up previous contents
Next: Compiling and maintaining VASP Up: The installation of VASP Previous: How to obtain the   Contents
Georg Kresse
2009-04-23