Nonlocal vdW-DF functionals: Difference between revisions

From VASP Wiki
No edit summary
No edit summary
 
(28 intermediate revisions by 2 users not shown)
Line 1: Line 1:
The vdW-DF method originally proposed by Dion ''et al.''{{cite|dion:prl:2004}} consists of a semilocal exchange-correlation functional that is augmented with a nonlocal correlation functional <math>E_{\text{c,disp}}</math> that approximately accounts for dispersion interactions. In VASP, the nonlocal functional is implemented using the algorithm of Román-Pérez and Soler{{cite|romanperez:prl:09}} that is based on FFTs and the convolution theorem to calculate efficiently the double real-space integral. Several versions of the vdW-DF functionals proposed in the literature can be used (see list below).
The vdW-DF method originally proposed by Dion ''et al.''{{cite|dion:prl:2004}} consists of a semilocal exchange-correlation functional that is augmented with a nonlocal correlation functional <math>E_{\text{c,disp}}</math> that approximately accounts for dispersion interactions. In VASP, the nonlocal functional is implemented using the algorithm of Román-Pérez and Soler{{cite|romanperez:prl:09}} that is based on FFTs and the convolution theorem to calculate efficiently the double real-space integral. Several versions of the vdW-DF functionals proposed in the literature can be used (see list below).


The vdW-DF functionals are available since the 5.2.12.26May2011 version of VASP for the calculation of total energies and forces. The stress tensor calculation for the cell optimization ({{TAG|ISIF}}=3) is available since the VASP 5.2.12.11Nov2011 version for spin-unpolarized systems and VASP 5.3.1 for spin-polarized systems. They have been implemented by J. Klimeš. If you make use of the vdW-DF functionals presented in this section, we ask you to cite Ref. {{cite|klimes:prb:2011}}. Please also cite the original vdW-DF paper of Dion ''et al.''{{cite|dion:prl:2004}} and the paper of Román-Pérez and Soler{{cite|romanperez:prl:09}}.
The vdW-DF functionals are available since the 5.2.12.26May2011 version of VASP for the calculation of total energies and forces. The stress tensor calculation for the cell optimization ({{TAG|ISIF}}=3) is available since the VASP 5.2.12.11Nov2011 version for spin-unpolarized systems and VASP 5.3.1 for spin-polarized systems. They have been implemented by J. Klimeš. If you make use of the vdW-DF functionals presented in this section, we ask you to cite Ref. {{cite|klimes:prb:2011}}. Please also cite the original vdW-DF paper of Dion ''et al.''{{cite|dion:prl:2004}} and the paper of Román-Pérez and Soler{{cite|romanperez:prl:09}}.
 
In versions of VASP prior to 6.4.0, a meta-GGA functional (e.g., SCAN) could be combined only with the rVV10 nonlocal functional. Conversely, a GGA functional could be combined only with the original nonlocal functional of Dion ''et al.''. This restriction is lifted since VASP.6.4.0 thanks to the introduction of the {{TAG|IVDW_NL}} tag. Since VASP.6.4.0, the spin-polarized formulation of the nonlocal vdW correlation term{{cite|thonhauser:prl:2015}} is available. It can be switched on with the logical tag {{TAG|LSPIN_VDW}} (.FALSE. by default), however its use is limited to the the functional of Dion ''et al.'' (not available for rVV10) and only when the nonlocal term is combined with a {{TAG|GGA}} functional. In other cases (and in prior versions of VASP), the nonlocal correlation functional is evaluated with the sum of the spin-up and spin-down electron densities.


An overview of the performance of the vdW-DF functionals can be found for instance in Ref. {{cite|klimes:prb:2011}}{{cite|berland:rpp:2015}}{{cite|tran:prm:19}}.
An overview of the performance of the vdW-DF functionals can be found for instance in Ref. {{cite|klimes:prb:2011}}{{cite|berland:rpp:2015}}{{cite|tran:prm:19}}.
Line 8: Line 10:


*To add a nonlocal correlation energy <math>E_{\text{c,disp}}</math> to the semilocal exchange-correlation energy (selected with the {{TAG|GGA}}, {{TAG|METAGGA}} or {{TAG|XC}} tag) one needs to set {{TAG|LUSE_VDW}}=.TRUE. in the {{FILE|INCAR}} file.
*To add a nonlocal correlation energy <math>E_{\text{c,disp}}</math> to the semilocal exchange-correlation energy (selected with the {{TAG|GGA}}, {{TAG|METAGGA}} or {{TAG|XC}} tag) one needs to set {{TAG|LUSE_VDW}}=.TRUE. in the {{FILE|INCAR}} file.
*Note that for all vdW-DF functionals listed below except those using the rVV10 van der Waals kernel, the GGA component of the PBE correlation needs to be removed (with {{TAG|AGGAC}}=0.0), so that only LDA correlation is left.
*In the vdW-DF2 and rev-vdW-DF2 functionals, the nonlocal correlation consists of the Dion ''et al.'' functional, but with the parameter <math>Z_{ab}</math> that is changed from -0.8491 (the default value in VASP) to -1.8867 by setting {{TAG|ZAB_VDW}}=-1.8867.


*Since vdW-DF functionals tend to yield less spherical densities than standard GGA functionals, it is recommended to set {{TAG|LASPH}}=.TRUE. to get reasonably accurate contributions from the spheres around the atoms.
*Since vdW-DF functionals tend to yield less spherical densities than standard GGA functionals, it is recommended to set {{TAG|LASPH}}=.TRUE. to get reasonably accurate contributions from the spheres around the atoms.
{{NB|mind|
*In versions of VASP prior to 6.4.0, a meta-GGA functional (e.g., SCAN) could be combined only with the rVV10 nonlocal functional. Conversely, a GGA functional could be combined only with the original nonlocal functional of Dion ''et al.''. This restriction is lifted since VASP.6.4.0 thanks to the introduction of the {{TAG|IVDW_NL}} tag.
*Since VASP.6.4.0, the spin-polarized formulation of the nonlocal vdW correlation term{{cite|thonhauser:prl:2015}} is available. It can be switched on with the logical tag {{TAG|LSPIN_VDW}} (.FALSE. by default), however its use is limited to the the functional of Dion ''et al.'' (not available for rVV10) and only when the nonlocal term is combined with a {{TAG|GGA}} functional. In other cases (and in prior versions of VASP), the nonlocal correlation functional is evaluated with the sum of the spin-up and spin-down electron densities.
*In VASP.6.2 (and prior versions) the stress tensor is broken for rVV10 (it is correct for other vdW-DF though). From VASP.6.3.0 onwards, the stress tensor for rVV10 is correct.}}


{{NB|important|
{{NB|important|
*sss
*For '''VASP.6.4.2''' and prior versions it was necessary to copy the vdw_kernel.bindat file into the working directory for calculations with the van der Waals kernel corresponding to {{TAG|IVDW_NL}}{{=}}1. Otherwise, vdw_kernel.bindat was generated at the beginning of the calculation, which took several hours. However, since '''VASP.6.4.3''' it is not really necessary to copy vdw_kernel.bindat into the directory, since its calculation has been considerably accelerated (about 2 minutes with 8 MPI ranks). More details are given below. Note that no vdw_kernel.bindat file is needed for calculations with the rVV10 kernel ({{TAG|IVDW_NL}}{{=}}2).}}
}}


Examples of {{FILE|INCAR}} files are shown below.
Examples of {{FILE|INCAR}} files are shown below.
Line 53: Line 46:


*optB86b-vdW of Klimeš ''et al.''{{cite|klimes:prb:2011}}:
*optB86b-vdW of Klimeš ''et al.''{{cite|klimes:prb:2011}}:
  {{TAGBL|GGA}}      = MK  
  {{TAGBL|GGA}}      = MK
  {{TAGBL|PARAM1}}    = 0.1234  
  {{TAGBL|PARAM1}}    = 0.1234  
  {{TAGBL|PARAM2}}    = 1.0
  {{TAGBL|PARAM2}}    = 1.0
Line 59: Line 52:
  {{TAGBL|LUSE_VDW}}  = .TRUE.
  {{TAGBL|LUSE_VDW}}  = .TRUE.
  {{TAGBL|LASPH}}    = .TRUE.
  {{TAGBL|LASPH}}    = .TRUE.
*BEEF-vdW of Wellendorff ''et al.''{{cite|beef2012}}:
{{TAGBL|GGA}}      = BF
{{TAGBL|LUSE_VDW}}  = .TRUE.
{{TAGBL|ZAB_VDW}}  = -1.8867 # the default is -0.8491
{{TAGBL|LASPH}}    = .TRUE.
or
{{TAGBL|GGA}}      = LIBXC
{{TAGBL|LIBXC1}}    = GGA_XC_BEEFVDW
{{TAGBL|LUSE_VDW}}  = .TRUE.
{{TAGBL|ZAB_VDW}}  = -1.8867 # the default is -0.8491
{{TAGBL|LASPH}}    = .TRUE.
Note that the GGA functional BEEF{{cite|beef2012}} is available only via an external library, either libbeef ([[Precompiler_options#-Dlibbeef|-Dlibbeef]]) or Libxc ([[Precompiler_options#-DUSELIBXC|-DUSELIBXC]]).


*rev-vdW-DF2 (also known as vdW-DF2-B86R) of Hamada{{cite|hamada:prb:14}}:
*rev-vdW-DF2 (also known as vdW-DF2-B86R) of Hamada{{cite|hamada:prb:14}}:
  {{TAGBL|GGA}}      = MK
  {{TAGBL|GGA}}      = MK
  {{TAGBL|PARAM1}}    = 0.1234568 # ~10/81
  {{TAGBL|PARAM1}}    = 0.1234568 # =10/81
  {{TAGBL|PARAM2}}    = 0.7114
  {{TAGBL|PARAM2}}    = 0.7114
  {{TAGBL|AGGAC}}    = 0.0
  {{TAGBL|AGGAC}}    = 0.0
Line 69: Line 76:
  {{TAGBL|LASPH}}    = .TRUE.
  {{TAGBL|LASPH}}    = .TRUE.


*vdW-DF-cx of Berland and Hyldgaard{{cite|berland:prb:2015}}:
In the vdW-DF2, BEEF-vdW and rev-vdW-DF2 functionals, the nonlocal correlation consists of the Dion ''et al.'' functional, but with the parameter <math>Z_{ab}</math> that is changed from -0.8491 (the default value in VASP) to -1.8867 by setting {{TAG|ZAB_VDW}}=-1.8867.
 
*vdW-DF-cx of Berland and Hyldgaard{{cite|berland:prb:2014}}:
  {{TAGBL|GGA}}      = CX
  {{TAGBL|GGA}}      = CX
  {{TAGBL|AGGAC}}    = 0.0
  {{TAGBL|AGGAC}}    = 0.0
Line 78: Line 87:
  {{TAGBL|GGA}}      = BO
  {{TAGBL|GGA}}      = BO
  {{TAGBL|PARAM1}}    = 0.1122334456
  {{TAGBL|PARAM1}}    = 0.1122334456
  {{TAGBL|PARAM2}}    = 0.1234568 # ~10/81
  {{TAGBL|PARAM2}}    = 0.1234568 # =10/81
  {{TAGBL|AGGAC}}    = 0.0
  {{TAGBL|AGGAC}}    = 0.0
  {{TAGBL|LUSE_VDW}}  = .TRUE.
  {{TAGBL|LUSE_VDW}}  = .TRUE.
Line 88: Line 97:
*vdW-DF3-opt2 of Chakraborty ''et al.'' {{cite|chakraborty:jctc:2020}}:
*vdW-DF3-opt2 of Chakraborty ''et al.'' {{cite|chakraborty:jctc:2020}}:
  {{TAGBL|GGA}}      = MK
  {{TAGBL|GGA}}      = MK
  {{TAGBL|PARAM1}}    = 0.1234568 # ~10/81
  {{TAGBL|PARAM1}}    = 0.1234568 # =10/81
  {{TAGBL|PARAM2}}    = 0.58
  {{TAGBL|PARAM2}}    = 0.58
  {{TAGBL|AGGAC}}    = 0.0
  {{TAGBL|AGGAC}}    = 0.0
Line 106: Line 115:
  {{TAGBL|LASPH}}    = .TRUE.
  {{TAGBL|LASPH}}    = .TRUE.


*SCAN+rVV10 of Peng ''et al.'' {{cite|peng:prx:16}}:
*SCAN+rVV10 of Peng ''et al.'' {{cite|peng:prx:2016}}:
  {{TAGBL|METAGGA}}  = SCAN
  {{TAGBL|METAGGA}}  = SCAN
  {{TAGBL|LUSE_VDW}}  = .TRUE.
  {{TAGBL|LUSE_VDW}}  = .TRUE.
  {{TAGBL|BPARAM}}    = 15.7    # the default value is 6.3
  {{TAGBL|BPARAM}}    = 15.7    # the default value is 6.3
{{TAGBL|CPARAM}}    = 0.0093  # default but can be overwritten by this tag
{{TAGBL|LASPH}}    = .TRUE.
*PBE+rVV10L of Peng and Perdew {{cite|peng:prb:2017}}:
{{TAGBL|GGA}}      = PE
{{TAGBL|LUSE_VDW}}  = .TRUE.
{{TAGBL|BPARAM}}    = 10      # the default value is 6.3
  {{TAGBL|CPARAM}}    = 0.0093  # default but can be overwritten by this tag
  {{TAGBL|CPARAM}}    = 0.0093  # default but can be overwritten by this tag
  {{TAGBL|LASPH}}    = .TRUE.
  {{TAGBL|LASPH}}    = .TRUE.
Line 123: Line 139:


*Kernel file vdw_kernel.bindat:
*Kernel file vdw_kernel.bindat:
**'''Until VASP.6.4.2''': The calculation of the nonlocal correlation functional of Dion ''et al.'' (used when {{TAG|IVDW_NL}}=1, which means for all functionals listed above except rVV10, SCAN+rVV10 and r<math>^2</math>SCAN+rVV10) requires a precalculated kernel which is distributed via the VASP download portal (vdw_kernel.bindat.gz has to be decompressed). If VASP does not find this file, the kernel will be calculated, which is however extremely demanding. The kernel needs to be either copied to the VASP run directory for each calculation or can be stored in a central location and read from there. The location needs to be set in routine ''PHI_GENERATE''. This does not work on some clusters and the kernel needs to be copied into the run directory in such cases. The distributed file uses little endian convention and won't be read on big endian machines. The big endian version of the file is available from the VASP team. In the case of the rVV10 nonlocal correlation functional, no precalculated kernel is required and it is calculated on the fly, which is however much less demanding as in the case of the functional of Dion ''et al.''.
**'''Until VASP.6.4.2''': The calculation of the nonlocal correlation functional of Dion ''et al.'' (used when {{TAG|IVDW_NL}}=1, which means for all functionals listed above except rVV10, SCAN+rVV10 and r<math>^2</math>SCAN+rVV10) requires a precalculated kernel which is distributed via the VASP download portal (vdw_kernel.bindat.gz has to be decompressed). If VASP does not find this file, the kernel is calculated, which is however extremely demanding (several hours!). Thus, the kernel needs to be either copied to the VASP run directory for each calculation or can be stored in a central location and read from there. The location needs to be set in routine ''PHI_GENERATE''. This does not work on some clusters and the kernel needs to be copied into the working directory in such cases. The distributed file uses little endian convention and can not be read on big endian machines. The big endian version of the file is available also from the VASP portal. In the case of the rVV10 nonlocal correlation functional, no precalculated kernel is required and it is calculated on the fly, which is however much less demanding than in the case of the functional of Dion ''et al.''.
**'''Since VASP.6.5.0''': The calculation of the kernel for the functional of Dion ''et al.'' ({{TAG|IVDW_NL}}=1), as well as for {{TAG|IVDW_NL}}=3 and 4, is tremendously faster: the default value of a parameter has been reduced (with basically no loss of accuracy) and the calculation has been parallelized (with MPI and OpenACC for GPUs). Therefore, starting a calculation without vdw_kernel.bindat file present in the directory should be no problem for the computational time, and a vdw_kernel.bindat file will be generated during the first iteration. Note that a file vdw_kernel.bindat that was generated for a given kernel ({{TAG|IVDW_NL}}=1, 3 or 4) can not be used for a calculation using another kernel, and in such a case the incompatibility of the vdw_kernel.bindat file will be detected and a new vdw_kernel.bindat file generated.
**'''Since VASP.6.4.3''': The calculation of the kernel for the functional of Dion ''et al.'' ({{TAG|IVDW_NL}}=1), as well as for {{TAG|IVDW_NL}}=3 and 4, is tremendously faster: the default value of a parameter has been reduced (with basically no loss of accuracy) and the calculation has been parallelized (with MPI and OpenACC for GPUs). Therefore, starting a calculation without vdw_kernel.bindat file present in the directory should be no problem for the computational time, and a vdw_kernel.bindat file will be generated rather efficiently during the first iteration. Note that a file vdw_kernel.bindat that was generated for a given kernel ({{TAG|IVDW_NL}}=1, 3 or 4) can not be used for a calculation using another kernel, and in such a case the incompatibility of the vdw_kernel.bindat file will be detected and a new vdw_kernel.bindat file automatically generated to replace the incompatible one.


*There are no special {{TAG|POTCAR}} files for the vdW-DF functionals and the PBE or LDA {{TAG|POTCAR}} files can be used. Currently the evaluation of the nonlocal correlation functional is not done fully within the PAW method, but the sum of the pseudo-valence density and partial core density is used. This approximation works rather well, as is discussed in {{cite|klimes:prb:2011}}, and the accuracy generally increases when the number of valence electrons is increased or when harder PAW datasets are used. For example, for adsorption it is recommended to compare the adsorption energy obtained with standard PAW datasets and more-electron {{TAG|POTCAR}} files for both PBE calculations and vdW-DF calculations to assess the quality of the results.
*There are no special {{TAG|POTCAR}} files for the vdW-DF functionals and the PBE or LDA {{TAG|POTCAR}} files can be used. Currently the evaluation of the nonlocal correlation functional is not done fully within the PAW method, but the sum of the pseudo-valence density and partial core density is used. This approximation works rather well, as is discussed in {{cite|klimes:prb:2011}}, and the accuracy generally increases when the number of valence electrons is increased or when harder PAW datasets are used. For example, for adsorption it is recommended to compare the adsorption energy obtained with standard PAW datasets and more-electron {{TAG|POTCAR}} files for both PBE calculations and vdW-DF calculations to assess the quality of the results.


*The evaluation of the nonlocal correlation energy requires some additional time. Most of it is spent on performing FFTs to evaluate the energy and potential. Thus the additional time is determined by the number of FFT grid points, basically the size of the simulation cell. It is almost independent on the number of the atoms in the cell, but increases with the amount of vacuum in the cell. The relative increase is high for isolated molecules in large cells, but small for solids in smaller cells with many k-points.
*The evaluation of the nonlocal correlation energy requires some additional time. Most of it is spent on performing FFTs to evaluate the energy and potential. Thus the additional time is determined by the number of FFT grid points, basically the size of the simulation cell. It is almost independent on the number of the atoms in the cell, but increases with the amount of vacuum in the cell. The relative increase is high for isolated molecules in large cells, but small for solids in smaller cells with many k-points.
{{NB|mind|
*In VASP.6.2 (and prior versions) the stress tensor is broken for rVV10 (it is correct for other vdW-DF though). From VASP.6.3.0 onwards, the stress tensor for rVV10 is correct.}}


== Related Tags and Sections ==
== Related Tags and Sections ==
Line 140: Line 159:
----
----


<!--[[Category:Exchange-correlation functionals]][[Category:van der Waals functionals]][[Category:Theory]]-->
[[Category:Exchange-correlation functionals]][[Category:van der Waals functionals]][[Category:Howto]]

Latest revision as of 15:57, 14 October 2024

The vdW-DF method originally proposed by Dion et al.[1] consists of a semilocal exchange-correlation functional that is augmented with a nonlocal correlation functional that approximately accounts for dispersion interactions. In VASP, the nonlocal functional is implemented using the algorithm of Román-Pérez and Soler[2] that is based on FFTs and the convolution theorem to calculate efficiently the double real-space integral. Several versions of the vdW-DF functionals proposed in the literature can be used (see list below).

The vdW-DF functionals are available since the 5.2.12.26May2011 version of VASP for the calculation of total energies and forces. The stress tensor calculation for the cell optimization (ISIF=3) is available since the VASP 5.2.12.11Nov2011 version for spin-unpolarized systems and VASP 5.3.1 for spin-polarized systems. They have been implemented by J. Klimeš. If you make use of the vdW-DF functionals presented in this section, we ask you to cite Ref. [3]. Please also cite the original vdW-DF paper of Dion et al.[1] and the paper of Román-Pérez and Soler[2].

In versions of VASP prior to 6.4.0, a meta-GGA functional (e.g., SCAN) could be combined only with the rVV10 nonlocal functional. Conversely, a GGA functional could be combined only with the original nonlocal functional of Dion et al.. This restriction is lifted since VASP.6.4.0 thanks to the introduction of the IVDW_NL tag. Since VASP.6.4.0, the spin-polarized formulation of the nonlocal vdW correlation term[4] is available. It can be switched on with the logical tag LSPIN_VDW (.FALSE. by default), however its use is limited to the the functional of Dion et al. (not available for rVV10) and only when the nonlocal term is combined with a GGA functional. In other cases (and in prior versions of VASP), the nonlocal correlation functional is evaluated with the sum of the spin-up and spin-down electron densities.

An overview of the performance of the vdW-DF functionals can be found for instance in Ref. [3][5][6].

List of nonlocal vdW-DF functionals

  • To add a nonlocal correlation energy to the semilocal exchange-correlation energy (selected with the GGA, METAGGA or XC tag) one needs to set LUSE_VDW=.TRUE. in the INCAR file.
  • Since vdW-DF functionals tend to yield less spherical densities than standard GGA functionals, it is recommended to set LASPH=.TRUE. to get reasonably accurate contributions from the spheres around the atoms.


Important:
  • For VASP.6.4.2 and prior versions it was necessary to copy the vdw_kernel.bindat file into the working directory for calculations with the van der Waals kernel corresponding to IVDW_NL=1. Otherwise, vdw_kernel.bindat was generated at the beginning of the calculation, which took several hours. However, since VASP.6.4.3 it is not really necessary to copy vdw_kernel.bindat into the directory, since its calculation has been considerably accelerated (about 2 minutes with 8 MPI ranks). More details are given below. Note that no vdw_kernel.bindat file is needed for calculations with the rVV10 kernel (IVDW_NL=2).

Examples of INCAR files are shown below.

  • Original vdW-DF of Dion et al.[1]:
GGA       = RE
AGGAC     = 0.0
LUSE_VDW  = .TRUE.
LASPH     = .TRUE.
  • vdW-DF2 of Lee et al. (2nd version of vdW-DF)[7]:
GGA       = ML
AGGAC     = 0.0
LUSE_VDW  = .TRUE.
ZAB_VDW   = -1.8867 # the default is -0.8491
LASPH     = .TRUE.
  • optPBE-vdW of Klimeš et al.[8]:
GGA       = OR
AGGAC     = 0.0
LUSE_VDW  = .TRUE.
LASPH     = .TRUE.
  • optB88-vdW of Klimeš et al.[8]:
GGA       = BO
PARAM1    = 0.1833333333
PARAM2    = 0.22
AGGAC     = 0.0
LUSE_VDW  = .TRUE.
LASPH     = .TRUE.
  • optB86b-vdW of Klimeš et al.[3]:
GGA       = MK
PARAM1    = 0.1234 
PARAM2    = 1.0
AGGAC     = 0.0
LUSE_VDW  = .TRUE.
LASPH     = .TRUE.
  • BEEF-vdW of Wellendorff et al.[9]:
GGA       = BF
LUSE_VDW  = .TRUE.
ZAB_VDW   = -1.8867 # the default is -0.8491
LASPH     = .TRUE.

or

GGA       = LIBXC
LIBXC1    = GGA_XC_BEEFVDW
LUSE_VDW  = .TRUE.
ZAB_VDW   = -1.8867 # the default is -0.8491
LASPH     = .TRUE.

Note that the GGA functional BEEF[9] is available only via an external library, either libbeef (-Dlibbeef) or Libxc (-DUSELIBXC).

  • rev-vdW-DF2 (also known as vdW-DF2-B86R) of Hamada[10]:
GGA       = MK
PARAM1    = 0.1234568 # =10/81
PARAM2    = 0.7114
AGGAC     = 0.0
LUSE_VDW  = .TRUE.
ZAB_VDW   = -1.8867 # the default is -0.8491
LASPH     = .TRUE.

In the vdW-DF2, BEEF-vdW and rev-vdW-DF2 functionals, the nonlocal correlation consists of the Dion et al. functional, but with the parameter that is changed from -0.8491 (the default value in VASP) to -1.8867 by setting ZAB_VDW=-1.8867.

  • vdW-DF-cx of Berland and Hyldgaard[11]:
GGA       = CX
AGGAC     = 0.0
LUSE_VDW  = .TRUE.
LASPH     = .TRUE.
  • vdW-DF3-opt1 of Chakraborty et al. [12]:
GGA       = BO
PARAM1    = 0.1122334456
PARAM2    = 0.1234568 # =10/81
AGGAC     = 0.0
LUSE_VDW  = .TRUE.
IVDW_NL   = 3
ALPHA_VDW = 0.94950 # default for IVDW_NL=3 but can be overwritten by this tag
GAMMA_VDW = 1.12    # default for IVDW_NL=3 but can be overwritten by this tag
LASPH     = .TRUE.
  • vdW-DF3-opt2 of Chakraborty et al. [12]:
GGA       = MK
PARAM1    = 0.1234568 # =10/81
PARAM2    = 0.58
AGGAC     = 0.0
LUSE_VDW  = .TRUE.
IVDW_NL   = 4
ZAB_VDW   = -1.8867 # the default is -0.8491
ALPHA_VDW = 0.28248 # default for IVDW_NL=4 but can be overwritten by this tag
GAMMA_VDW = 1.29    # default for IVDW_NL=4 but can be overwritten by this tag
LASPH     = .TRUE.
  • rVV10 of Sabatini et al. [13]:
GGA       = ML
LUSE_VDW  = .TRUE.
IVDW_NL   = 2
BPARAM    = 6.3     # default but can be overwritten by this tag
CPARAM    = 0.0093  # default but can be overwritten by this tag
LASPH     = .TRUE.
  • SCAN+rVV10 of Peng et al. [14]:
METAGGA   = SCAN
LUSE_VDW  = .TRUE.
BPARAM    = 15.7    # the default value is 6.3
CPARAM    = 0.0093  # default but can be overwritten by this tag
LASPH     = .TRUE.
  • PBE+rVV10L of Peng and Perdew [15]:
GGA       = PE
LUSE_VDW  = .TRUE.
BPARAM    = 10      # the default value is 6.3
CPARAM    = 0.0093  # default but can be overwritten by this tag
LASPH     = .TRUE.
  • rSCAN+rVV10 of Ning et al. [16]:
METAGGA   = R2SCAN
LUSE_VDW  = .TRUE.
BPARAM    = 11.95   # the default value is 6.3
CPARAM    = 0.0093  # default but can be overwritten by this tag
LASPH     = .TRUE.

Important technical remarks

  • Kernel file vdw_kernel.bindat:
    • Until VASP.6.4.2: The calculation of the nonlocal correlation functional of Dion et al. (used when IVDW_NL=1, which means for all functionals listed above except rVV10, SCAN+rVV10 and rSCAN+rVV10) requires a precalculated kernel which is distributed via the VASP download portal (vdw_kernel.bindat.gz has to be decompressed). If VASP does not find this file, the kernel is calculated, which is however extremely demanding (several hours!). Thus, the kernel needs to be either copied to the VASP run directory for each calculation or can be stored in a central location and read from there. The location needs to be set in routine PHI_GENERATE. This does not work on some clusters and the kernel needs to be copied into the working directory in such cases. The distributed file uses little endian convention and can not be read on big endian machines. The big endian version of the file is available also from the VASP portal. In the case of the rVV10 nonlocal correlation functional, no precalculated kernel is required and it is calculated on the fly, which is however much less demanding than in the case of the functional of Dion et al..
    • Since VASP.6.4.3: The calculation of the kernel for the functional of Dion et al. (IVDW_NL=1), as well as for IVDW_NL=3 and 4, is tremendously faster: the default value of a parameter has been reduced (with basically no loss of accuracy) and the calculation has been parallelized (with MPI and OpenACC for GPUs). Therefore, starting a calculation without vdw_kernel.bindat file present in the directory should be no problem for the computational time, and a vdw_kernel.bindat file will be generated rather efficiently during the first iteration. Note that a file vdw_kernel.bindat that was generated for a given kernel (IVDW_NL=1, 3 or 4) can not be used for a calculation using another kernel, and in such a case the incompatibility of the vdw_kernel.bindat file will be detected and a new vdw_kernel.bindat file automatically generated to replace the incompatible one.
  • There are no special POTCAR files for the vdW-DF functionals and the PBE or LDA POTCAR files can be used. Currently the evaluation of the nonlocal correlation functional is not done fully within the PAW method, but the sum of the pseudo-valence density and partial core density is used. This approximation works rather well, as is discussed in [3], and the accuracy generally increases when the number of valence electrons is increased or when harder PAW datasets are used. For example, for adsorption it is recommended to compare the adsorption energy obtained with standard PAW datasets and more-electron POTCAR files for both PBE calculations and vdW-DF calculations to assess the quality of the results.
  • The evaluation of the nonlocal correlation energy requires some additional time. Most of it is spent on performing FFTs to evaluate the energy and potential. Thus the additional time is determined by the number of FFT grid points, basically the size of the simulation cell. It is almost independent on the number of the atoms in the cell, but increases with the amount of vacuum in the cell. The relative increase is high for isolated molecules in large cells, but small for solids in smaller cells with many k-points.


Mind:
  • In VASP.6.2 (and prior versions) the stress tensor is broken for rVV10 (it is correct for other vdW-DF though). From VASP.6.3.0 onwards, the stress tensor for rVV10 is correct.

Related Tags and Sections

LUSE_VDW, IVDW_NL, LSPIN_VDW, ZAB_VDW, ALPHA_VDW, GAMMA_VDW, BPARAM, CPARAM, GGA, AGGAC, PARAM1, PARAM2, METAGGA

See also the alternative atom-pairwise and many-body dispersion methods: IVDW

References

  1. a b c M. Dion, H. Rydberg, E. Schröder, D. C. Langreth, and B. I. Lundqvist, Phys. Rev. Lett. 92, 246401 (2004).
  2. a b G. Román-Pérez and J. M. Soler, Phys. Rev. Lett. 103, 096102 (2009).
  3. a b c d J. Klimeš, D. R. Bowler, and A. Michaelides, Phys. Rev. B 83, 195131 (2011).
  4. T. Thonhauser, S. Zuluaga, C. A. Arter, K. Berland, E. Schröder, and P. Hyldgaard, Phys. Rev. Lett. 115, 136402 (2015).
  5. K. Berland, V. R. Cooper, K. Lee, E. Schröder, T. Thonhauser, P. Hyldgaard, and B. I. Lundqvist, Rep. Prog. Phys. 78, 066501 (2015).
  6. F. Tran, L. Kalantari, B. Traoré, X. Rocquefelte, and P. Blaha, Phys. Rev. Mater. 3, 0637602 (2019).
  7. K. Lee, E. D. Murray, L. Kong, B. I. Lundqvist, and D. C. Langreth, Phys. Rev. B 82, 081101(R) (2010).
  8. a b J. Klimeš, D. R. Bowler, and A. Michaelides, J. Phys.: Condens. Matter 22, 022201 (2010).
  9. a b J. Wellendorff, K. T. Lundgaard, A. Møgelhøj, V. Petzold, D. D. Landis, Jens K. Nørskov, T. Bligaard, and K. W. Jacobsen, Phys. Rev. B 85, 235149 (2012).
  10. I. Hamada, Phys. Rev. B 89, 121103 (2014).
  11. K. Berland and P. Hyldgaard, Phys. Rev. B 89, 035412 (2014).
  12. a b D. Chakraborty, K. Berland, and T. Thonhauser, Next-Generation Nonlocal van der Waals Density Functional, J. Chem. Theory Comput. 16, 5893 (2020).
  13. R. Sabatini, T. Gorni, and S. de Gironcoli, Phys. Rev. B 87, 041108(R) (2013).
  14. H. Peng, Z.-H. Yang, J. P. Perdew, and J. Sun, Phys. Rev. X 6, 041005 (2016).
  15. H. Peng and J. P. Perdew, Rehabilitation of the Perdew-Burke-Ernzerhof generalized gradient approximation for layered materials, Phys. Rev. B 95, 081105(R) (2017).
  16. J. Ning, M. Kothakonda, J. W. Furness, A. D. Kaplan, S. Ehlert, J. G. Brandenburg, J. P. Perdew, and J. Sun, Workhorse minimally empirical dispersion-corrected density functional with tests for weakly bound systems: rSCAN+rVV⁢10, Phys. Rev. B 106, 075422 (2022).