Molecular dynamics calculations

From VASP Wiki
Revision as of 11:55, 3 June 2019 by Karsai (talk | contribs)

Compilation

First of all to run molecular dynamics calculation VASP has to be compiled using the -Dtbdyn precompiler flag in the makefile.include file. A sample input using this tag would look like this:

CPP     = $(CPP_) -DHOST=\"IFC9_fftw\" \
          -Dkind8 -DNGXhalf  -DCACHE_SIZE=12000 -DPGF90 -Davoidalloc  \
          -Dtbdyn

Basic example

To run a basic molecular dynamics calculation perform the following steps:

  • Choose a POSCAR containing a large enough super cell.
  • If it a continuation run is performed copy CONTCAR to POSCAR or possibly deliver initial velocities in the POSCAR file. They are written after the Wycoff positions in an own paragraph. If no initial velocities are provided the random velocities are assumed at the beginning of the calculation. This is fully ok but the user should be aware that due to the initial random velocities the trajectory can change at the beginning of the molecular dynamics.
  • Set main INCAR tags:
    • IBRION=0: Molecular dynamics calculations are enabled by setting the IBRION tag to 0.
    • POTIM: This tag sets the time step in fs for the molecular dynamics run.
    • NSW: This tag sets the number of steps performed in the molecular dynamics run.
    • TEBEG: If a thermostat is used define the desired temperature at which the molecular dynamics calculations should run.
    • ISIF (optional).
    • MDALGO: This tag decides whether the molecular dynamics run is executed using without a thermostat (MDALGO=0 which is default) or with a thermostat (MDALGO>0). For regular molecular dynamics calculations the thermostat is selected by a one digit number (e.g. 1 for Andersen, 2 for Nose-Hoover etc.). For biased molecular dynamics, metadynamics etc. the thermostat is selected by a two digit number where the first digit corresponds to the thermostat analogously to regular molecular dynamics and the second digit corresponds to the molecular dynamics type (e.g. 11 metadynamics with Andersen thermostat, 21 metadynamics with Nose-Hoover thermostat etc.). The NVE ensemble is a special case. It is available by selecting the Andersen thermostat and setting no collisions with the heat bath (ANDERSEN_PROB=0). Or by setting SMASS-3 without setting the MDALGO tag (default of 0 is then used).
    • ISIF: In molecular dynamics calculations this tag is used to choose the NVT ensemble or NpT ensemble (the NVE ensemble is a special case!). For ISIF=2 the volume is kept constant and the NVT ensemble is used. Using this tag the stress tensor is calculated and hence the pressure can be monitored. For ISIF=3 the stress tensor (pressure) is kept constant and the NPT ensemble is used. Using this tag the volume is calculated and can be monitored.
  • Decide which ensemble to use:
  • Decide which thermostat to use (the combination of thermostats and ensembles is given in table):

Main INCAR tags

The following INCAR tags can be important for the thermostats:
They are not controlled by the ISIF tag. A calculation in this ensemble can be achieved by setting setting ANDERSEN_PROB=0 (when MDALGO=1 is used) or setting SMASS=-3.



Combination of Ensembles and thermostats

Thermostat
Ensemble Andersen Nose-Hoover Langevin NHC CSVR Multiple Andersen
Microcanonical (NVE) MDALGO=1, ANDERSEN_PROB=0.0
Canonical (NVT) MDALGO=1 MDALGO=2 MDALGO=3 MDALGO=4 MDALGO=5 MDALGO=13
ISIF=2 ISIF=2 ISIF=2 ISIF=2 ISIF=2 ISIF=2
Isobaric-isothermal (NpT) not available not available MDALGO=3 not available not available not available
ISIF=3
Isoenthalpic-isobaric (NpH) MDALGO=3, ISIF=3, LANGEVIN_GAMMA=LANGEVIN_GAMMA_L=0.0