HPC/Applications/vasp5: Difference between revisions

From CNM Wiki
Jump to navigation Jump to search
mNo edit summary
Line 23: Line 23:
* variants of the source code, primarily enhancing capabilities of ionic updates.
* variants of the source code, primarily enhancing capabilities of ionic updates.


Choose a binary appropriate for your task and pass it to <code>mpirun</code> in the job script.
Choose a binary appropriate for your task and pass its name to <code>mpirun</code> in the job script.
There is no need for full path names.
There is no need for full path names.
Copy a sample job script from:
Copy a sample job script from:
  $VASP5_HOME/vasp.job
  $VASP5_HOME/vasp.job

Revision as of 16:19, March 20, 2012

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 its name 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.