Patch that implements D3 with three-body correction

Problems running VASP: crashes, internal errors, "wrong" results.


Moderators: Global Moderator, Moderator

Post Reply
Message
Author
ehermes
Newbie
Newbie
Posts: 11
Joined: Tue May 14, 2013 5:45 pm
License Nr.: 5-1579

Patch that implements D3 with three-body correction

#1 Post by ehermes » Mon Sep 14, 2015 6:57 pm

First of all, I apologize if this is in the wrong forum. I was unsure of where to submit this post, and I figured this was likely the best place.

I have developed a patch for VASP that is a whole-cloth rewrite of the Grimme D3 method that implements the three-body contributions and its resultant gradients and stress in a parallel, memory-efficient manner. With my patch, the three-body corrections can be accessed by setting the IVDW flag to 13 (for the zero-damping, i.e. IVDW=11) or 14 (for BJ damping, i.e. IVDW=12), with no other additions or changes to INCAR parameters. In addition, my code works correctly with the M06-L and TPSS meta-GGA functionals.

I would like to contribute this patch to VASP, but I am unsure of the correct channels for contributing code. Please let me know if you would like to add this patch to VASP, and if so, how to send you the patch.

admin
Administrator
Administrator
Posts: 2921
Joined: Tue Aug 03, 2004 8:18 am
License Nr.: 458

Re: Patch that implements D3 with three-body correction

#2 Post by admin » Tue Sep 22, 2015 10:33 am

Dear Eric, thank you for the offer. The code for the Grimme D3 method, inserted in vasp,
is developed by Jonas Moellmann in Grimme's group. We prefer using the original version
of the code. Your version (parallel, memory-efficient) can be useful, as well. The best channel
for getting improved code is when you contact Jonas Moellmann
(jonas.moellmann@uni-muenster.de), discuss details and eventually make improved
version of the code.
Best wishes, vasp-forum admin

ehermes
Newbie
Newbie
Posts: 11
Joined: Tue May 14, 2013 5:45 pm
License Nr.: 5-1579

Re: Patch that implements D3 with three-body correction

#3 Post by ehermes » Tue Sep 22, 2015 1:38 pm

Admin,

I can certainly try contacting Jonas Moellmann from the Grimme group about this. Please be aware that the primary improvement I have made over the current D3 implementation is the addition of the three-body Axilrod-Teller-Muto interactions and their analytical gradient and stress contributions, rather than any sort of efficiency improvements. These three-body contributions can be quite large for extended (periodic) systems, and tend to result in e. g. transition metal lattice constants that agree more closely with experiment. Many people who have tested D3 in its current implementation have come to the conclusion that the D3 correction results in overbinding, which is true only when the net repulsive three-body interactions are excluded. In our own test, we have found this three-body contribution to be critical to match experimental lattice constants and binding energies (for example, comparing to University of Washington Charles Campbell's microcalorimetric experiments). This is the reason I have developed the patch I am proposing, and the efficiency improvements were incidental.

Eric Hermes

Post Reply