Grimme's DFT-D3 with three-body term

Queries about input and output files, running specific calculations, etc.


Moderators: Global Moderator, Moderator

Locked
Message
Author
aohara
Newbie
Newbie
Posts: 16
Joined: Sat Apr 16, 2016 5:54 am
License Nr.: 5-225

Grimme's DFT-D3 with three-body term

#1 Post by aohara » Wed Apr 27, 2022 2:01 am

Hello,

I wanted to suggest an edit to the VASP wiki (I don't know what the proper protocol for such suggestions is) that may help other VASP users, especially when comparing against other works using this type of vdW correction.

I recently was performing some calculations on bulk h-BN with the Grimme's DFT-D3 and DFT-D3(BJ) vdW corrections. As currently outlined on the VASP wiki entry:
wiki/index.php/DFT-D3
only the pairwise 2-body terms are included in a standard calculation of the DFT-D3 or DFT-D3(BJ) vdW correction. Based on my reading, this is in keeping with the discussion within the original paper:
S. Grimme, J. Antony, S. Ehrlich, and S. Krieg, J. Chem. Phys. 132, 154104 (2010)
which did also discuss the inclusion of an approximation to the Axilrod-Teller-Muto or triple dipole term.

This was also discussed in a prior thread on the VASP forums:
forum/viewtopic.php?f=3&t=17001
However, it was suggested that for consistency, code based on the original implementation was preferred.

That being said, while comparing against some results of other researchers that used Quantum Espresso (QE), I noticed that there were some discrepancies in the c-axis spacing between my results and their results that seemed to be more than just using different PAW pseudopotential sets. It turns out, that in QE, they have a tag (dftd3_threebody) that includes this interaction by default.

After doing a little digging in the VASP source code, I found that in the source file subdftd3.F, there is a logical variable noabc set at line 505 to noabc=.true. which will prevent VASP from making a call to the pbcthreebody subroutine (see line 2182 in the same source file).
However, this variable can be set to .false. and the source code recompiled to allow for the inclusion of the three-body term.

While a future version of VASP could include an INCAR tag to control this setting if the admins deem it useful enough, it may be worthwhile to at least call attention to this availability through modification and recompiling on the VASP wiki in case other researchers have a need to include such an interaction in their work (similar to how many are aware of the modifications for constr_cell_relax.F when doing constrained relaxations).

Thank you,
Andrew


P.S. I did find at least one paper that explicitly mentions these modifications being performed in a VASP calculation to explore effects of different vdW approximations:
M. Li, J. R. Reimers, J. F. Dobson, and T. Gould, "Faraday cage screening reveals intrinsic aspects of the van der Waals attractions," Proc. Natl. Acad. Sci. U.S.A. 115, E10295 (2018)

andreas.singraber
Global Moderator
Global Moderator
Posts: 236
Joined: Mon Apr 26, 2021 7:40 am

Re: Grimme's DFT-D3 with three-body term

#2 Post by andreas.singraber » Thu Apr 28, 2022 2:00 pm

Hello Andrew,

thank you very much for this insightful suggestion about the three-body D3 terms and for working out the difference in the default selection between QE and VASP! I would strongly advocate for a solution based on INCAR tags but as you mentioned at least a hint about the source modification should be present in the Wiki. I will discuss this with my colleagues to clarify if there are any obstacles that I may not be aware of and will report back.

Thanks again for your contribution!

All the best,

Andreas Singraber

Locked