D3 correction: VDW-parameter VDW_S8=0 not accepted

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


Moderators: Global Moderator, Moderator

Post Reply
Message
Author
beck
Newbie
Newbie
Posts: 19
Joined: Tue Jun 14, 2005 3:22 pm

D3 correction: VDW-parameter VDW_S8=0 not accepted

#1 Post by beck » Mon Jun 15, 2015 1:26 pm

Hello,

I tried to use the M06L-functional in combination with D3 dispersion correction (IVDW=11). Therefore, I had to specify the VDW-parameters in the INCAR file, as follows:

VDW_S6=1.00
VDW_S8=0.00
VDW_SR=1.581
(parameters taken from http://www.thch.uni-bonn.de/tc/download ... onals.html)

After running this INCAR, I grepped the VDW-parameters from the OUTCAR:

IVDW = 11
VDW_S6 = 1.0000
VDW_S8 = 0.7220
VDW_SR = 1.5810

VDW_SR and VDW_S6 were set correctly. VDW_S8 was set to the value for the PBE functional. Testing shows, that it is not possible to set it to 0.

Is there a reason for excluding the 0 from the range of possible parameters? Or could that be a bug?

Thank you very much in advance.
Beck

kelum
Newbie
Newbie
Posts: 42
Joined: Wed Jul 27, 2011 12:22 pm
Location: Vienna

Re: D3 correction: VDW-parameter VDW_S8=0 not accepted

#2 Post by kelum » Tue Jun 16, 2015 6:53 pm

Dear Beck,

I looked quickly at the code and you are correct, the value of VDW_S8 supplied in INCAR needs to be larger than 0:
(line 252 in subdftd3.F)
IF ((IERR==0).AND.(RDUM>0.0).AND.(RDUM<10.0)) THEN
s18=RDUM
ELSE

although for some functionals it was chosen to be 0. If you have access to the code, then you can change RDUM>0.0 to RDUM>=0.0,
otherwise you'd probably have to pick some tiny value (1.E-300, better to check) to fix it for the time being.

Best,
Jiri

Post Reply