HPC/Applications/vasp5

From CNM Wiki
< HPC‎ | Applications
Revision as of 16:17, March 20, 2012 by Stern (talk | contribs)
Jump to navigation Jump to search

VASP binaries

Some options for VASP cannot be configured at runtime (by input data) but must be chosen when compiling. Since no single set of compile-time choices is appropriate for all uses, a number of binaries are provided, distinguished by their name.

The vasp5 modules from version vasp5/5.2.12a-mkl-4 onwards contain several binaries built using different sets of preprocessor flags in the Makefile. Earlier modules only contain two binaries, vasp and vasp-gamma. Additional binaries are provided for useful preprocessor flag combinations after applying patches from the group of Graeme Henkelman (UT Austin) to the source code:

To verify the binaries available for a module, run, once the module has been loaded:

ls $VASP5_HOME/bin

Available binaries and their flags

This table lists the names of the binaries compiled from

  • combinations of preprocessor flags, and
  • variants of the source code, primarily enhancing capabilities of ionic updates.

Choose a binary appropriate for your task and pass it to mpirun in the job script. There is no need for full path names.

Copy a sample job script from:

$VASP5_HOME/vasp.job
MD capabilities Flags used Binary name
Official source Patched for VTST Patched for Bader-projected DOS
Conventional (none) vasp vasp-vtst vasp-baderdos
-DNGZhalf vasp-chargehalf vasp-vtst-chargehalf vasp-baderdos-chargehalf
-DwNGZhalf vasp-gamma vasp-vtst-gamma vasp-baderdos-gamma
-DwNGZhalf -DNGZhalf vasp-gamma-chargehalf vasp-vtst-gamma-chargehalf vasp-baderdos-gamma-chargehalf
Advanced
MD techniques
-Dtbdyn vasp-tbdyn not useful not useful
-Dtbdyn -DNGZhalf vasp-tbdyn-chargehalf
-Dtbdyn -DwNGZhalf vasp-tbdyn-gamma
-Dtbdyn -DwNGZhalf -DNGZhalf vasp-tbdyn-gamma-chargehalf

Explanantion of flags

From file vasp.5.2/makefile.linux_pg in the souce code.

#-----------------------------------------------------------------------
# possible options for CPP:
# NGXhalf             charge density   reduced in X direction
# wNGXhalf            gamma point only reduced in X direction
# avoidalloc          avoid ALLOCATE if possible
# IFC                 work around some IFC bugs
# CACHE_SIZE          1000 for PII,PIII, 5000 for Athlon, 8000 P4
# RPROMU_DGEMV        use DGEMV instead of DGEMM in RPRO (usually  faster)
# RACCMU_DGEMV        use DGEMV instead of DGEMM in RACC (faster on P4)
#  **** definitely use -DRACCMU_DGEMV if you use the mkl library
#-----------------------------------------------------------------------
…
#-----------------------------------------------------------------------
# additional options for CPP in parallel version (see also above):
# NGZhalf               charge density   reduced in Z direction
# wNGZhalf              gamma point only reduced in Z direction
# scaLAPACK             use scaLAPACK (usually slower on 100 Mbit Net)
#-----------------------------------------------------------------------

Common flags

-DIFC -DRPROMU_DGEMV  -DRACCMU_DGEMV -DCACHE_SIZE=16000  -DMPI -DMPI_BLOCK=8000

vdW-DF functional

All binaries support the use of the vdW-DF functional of Langreth and Lundqvist et al.

No specific preparations are needed other than setting the INCAR flags as documented. The binaries will find the required precalculated kernel file vdw_kernel.bindat by means of the environment variable $VASP5_HOME which is set by the module. This is a Carbon-specific extension.