To support different machines and different version VASP relies heavily on the C-pre-compiler (cpp). The cpp is used to create *.f files from the *.F files. Several flags can be passed to the cpp to generate different versions of the *.f files: Following flags are currently supported:
single_BLAS single precision BLAS/LAPACK calls vector compile vector version essl use ESSL call sequence for DSYGV NGXhalf charge density reduced in X direction NGZhalf charge density reduced in Z direction wNGXhalf gamma point only reduced in X direction wNGZhalf gamma point only reduced in Z direction NOZTRMM do not use ZTRMM REAL_to_DBLE change REAL(X) to DBLE(X)VASP.4 only:
debug gives more information during run noSTOPCAR do not re-read STOPCAR file F90_T3D compile for T3D scaLAPACK use scaLAPACK (parallel version only) T3D_SMA use shmem communication on T3D instead of MPI MY_TINY required accuracy in symmetry package USE_ERF use intrinsic error function of cray mathlib CACHE_SIZE cache size used to optimise FFT's MPI compile parallel version MPI_CHAIN serial version with nudged chain support (not supported) pro_loop uses DO loops instead of DGEMV use_collective use collective MPI calls (VASP.4.5) MPI_BLOCK block the MPI calls (VASP.4.5) WAVECAR_double use double precision WAVECAR files (VASP.4.5)These flags are usually defined in the makefile in the cpp line with
-DflagMost of these flags are set properly in the platform dependent makefiles, and therefore most users do not need to modify them. To generate the parallel version however, modification of the makefiles are required. Most makefiles have a section starting with
#----------------------------------------------------------------------- #MPI VERSION #-----------------------------------------------------------------------If the the comment sign ' #' is removed from the following lines, the parallel version of vasp is generated. Please mind, that if you want to compile the parallel version, you should either start from scratch (by unpacking VASP from the tar file) or type
> touch *.F > make vasp
Finally, there are two flags that are of importance for the all
users. If wNGXhalf is set in the makefile, a version of VASP is compiled
that works at the -point only. This version is
30-50% faster than the standard version.
For the compilation of a parallel
-point only version,
the flag wNGZhalf instead of wNGXhalf must
be set. Again it must be stressed, that if one of these flags
is set in the makefile, all Fortran files must be recompiled.
This can be done by unpacking the tar file or typing
touch *.F make vaspIn the following section all pre-compiler flags are briefly described.
Subsections
Next: single_BLAS
Up: The installation of VASP
Previous: Updating VASP
  Contents
Georg Kresse
2009-04-23