Nonlocal vdW-DF functionals: Difference between revisions
No edit summary |
No edit summary |
||
Line 121: | Line 121: | ||
**'''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 rather 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 will be calculated, which is however rather 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.''. | ||
**'''Since VASP.6.5.0''': The on-the-fly calculation of the kernel for the functional of Dion ''et al.'' is tremendously faster: the default value of a parameter has been reduced (with basically no loss of accuracy) and the calculation has been a parallelized (with MPI and OpenACC for GPUs). Therefore, it is no longer required to copy the vdw_kernel.bindat in the directory before starting the calculation. However, note that if not present, the file vdw_kernel.bindat will be generated at the first iteration. Also note that a file vdw_kernel.bindat generated for the kernel corresponding to {{TAG|IVDW_NL}}=1 or 2 will differ from the one generated for the kernel selected with {{TAG|IVDW_NL}}=3 or 4. | **'''Since VASP.6.5.0''': The on-the-fly calculation of the kernel for the functional of Dion ''et al.'' is tremendously faster: the default value of a parameter has been reduced (with basically no loss of accuracy) and the calculation has been a parallelized (with MPI and OpenACC for GPUs). Therefore, it is no longer required to copy the vdw_kernel.bindat in the directory before starting the calculation. However, note that if not present, the file vdw_kernel.bindat will be generated at the first iteration. Also note that a file vdw_kernel.bindat generated for the kernel corresponding to {{TAG|IVDW_NL}}=1 or 2 will differ from the one generated for the kernel selected with {{TAG|IVDW_NL}}=3 or 4. | ||
*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. |
Revision as of 15:36, 30 January 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].
An overview of the performance of the vdW-DF functionals can be found for instance in Ref. [3][4][5].
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.
- 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 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 that is changed from -0.8491 (the default value in VASP) to -1.8867 by setting ZAB_VDW=-1.8867.
- 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.
Mind:
|
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.
- rev-vdW-DF2 (also known as vdW-DF2-B86R) of Hamada[9]:
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.
- vdW-DF-cx of Berland and Hyldgaard:
GGA = CX AGGAC = 0.0 LUSE_VDW = .TRUE. LASPH = .TRUE.
- vdW-DF3-opt1 of Chakraborty et al. [10]:
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. [10]:
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. [11]:
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. :
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.
- rSCAN+rVV10 of Ning et al. [12]:
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 will be calculated, which is however rather 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..
- Since VASP.6.5.0: The on-the-fly calculation of the kernel for the functional of Dion et al. is tremendously faster: the default value of a parameter has been reduced (with basically no loss of accuracy) and the calculation has been a parallelized (with MPI and OpenACC for GPUs). Therefore, it is no longer required to copy the vdw_kernel.bindat in the directory before starting the calculation. However, note that if not present, the file vdw_kernel.bindat will be generated at the first iteration. Also note that a file vdw_kernel.bindat generated for the kernel corresponding to IVDW_NL=1 or 2 will differ from the one generated for the kernel selected with IVDW_NL=3 or 4.
- 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.
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
- ↑ a b c M. Dion, H. Rydberg, E. Schröder, D. C. Langreth, and B. I. Lundqvist, Phys. Rev. Lett. 92, 246401 (2004).
- ↑ a b G. Román-Pérez and J. M. Soler, Phys. Rev. Lett. 103, 096102 (2009).
- ↑ a b c d J. Klimeš, D. R. Bowler, and A. Michaelides, Phys. Rev. B 83, 195131 (2011).
- ↑ K. Berland, V. R. Cooper, K. Lee, E. Schröder, T. Thonhauser, P. Hyldgaard, and B. I. Lundqvist, Rep. Prog. Phys. 78, 066501 (2015).
- ↑ F. Tran, L. Kalantari, B. Traoré, X. Rocquefelte, and P. Blaha, Phys. Rev. Mater. 3, 0637602 (2019).
- ↑ T. Thonhauser, S. Zuluaga, C. A. Arter, K. Berland, E. Schröder, and P. Hyldgaard, Phys. Rev. Lett. 115, 136402 (2015).
- ↑ K. Lee, E. D. Murray, L. Kong, B. I. Lundqvist, and D. C. Langreth, Phys. Rev. B 82, 081101(R) (2010).
- ↑ a b J. Klimeš, D. R. Bowler, and A. Michaelides, J. Phys.: Condens. Matter 22, 022201 (2010).
- ↑ I. Hamada, Phys. Rev. B 89, 121103 (2014).
- ↑ a b D. Chakraborty, K. Berland, and T. Thonhauser, Next-Generation Nonlocal van der Waals Density Functional, J. Chem. Theory Comput. 16, 5893 (2020).
- ↑ R. Sabatini, T. Gorni, and S. de Gironcoli, Phys. Rev. B 87, 041108(R) (2013).
- ↑ 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+rVV10, Phys. Rev. B 106, 075422 (2022).