This thread is locked.Only browsing is available.
Top Page > Browsing
DFT-D3 energy changes between v3.9 and v3.8
Date: 2020/04/22 01:27
Name: Milica Todorovic   <>

Dear Ozaki-sensei and team,

I am trying to reproduce some older surface adsorption calculations and I am using DFT-D3 method. In the past I have employed OpenMX v3.8.0 because patched v3.8.5 produced nan energies (maybe this was my compilation or platform). Now I am re-computing the same structures with v3.9.2, and the same input file & basis set (DFT-D3 keywords are the same). The total energy is very well reproduced, apart from the UvdW which is more than 1.5Ha higher with v3.9.2. This is causing a difference in the computed adsorption energy. I have checked the difference between v3.9 and v3.8 energies on the molecule and surface separately, and the molecule energies are the same - the changes are found only with the periodic system.

The differences are so large, I am not sure which version to trust. I cannot find that any keywords or related defaults have changed in the code, and I cannot find anything in the v3.9 release notes. Perhaps you can advise me on how to proceed. Below, I list my DFT-D3 settings & respective energy list.

scf.dftD on # on|off, default=off
version.dftD 3 # 2|3, default=2
DFTD3.damp bj # zero|bj, default=bj
DFTD.Unit Ang # Ang|AU
DFTD.rcut_dftD 200.0 # default=100 (DFTD.Unit)
DFTD.cncut_dftD 40 # default=40 (DFTD.Unit)
DFTD.IntDirection 1 1 0 # default=1 1 1 (1:on 0:off)

Uele. -438.763070193117
Ukin. 8165.819529912867
UH0. -62157.929710023593
UH1. 1.271833068727
Una. -3377.307468119584
Unl. -3792.775938507577
Uxc0. -1056.624622225746
Uxc1. -1056.624622225746
Ucore. 56447.868453071977
Uhub. 0.000000000000
Ucs. 0.000000000000
Uzs. 0.000000000000
Uzo. 0.000000000000
Uef. 0.000000000000
UvdW -1.817523400790
Utot. -6828.120068449466

Uele. -438.763070078453
Ukin. 8165.819529874530
UH0. -62157.929710023564
UH1. 1.271833069208
Una. -3377.307468139274
Unl. -3792.775938452585
Uxc0. -1056.624622226977
Uxc1. -1056.624622226977
Ucore. 56447.868453071977
Uhub. 0.000000000000
Ucs. 0.000000000000
Uzs. 0.000000000000
Uzo. 0.000000000000
Uef. 0.000000000000
UvdW. -0.075717467476
Uch. 0.000000000000
Utot. -6826.378262521136
UpV. 0.000000000000
Enpy. -6826.378262521136

Many thanks in advance!
Page: [1]

Re: DFT-D3 energy changes between v3.9 and v3.8 ( No.1 )
Date: 2020/04/22 13:04
Name: Kylin

Dear Todorovic,

Actually, there are some program bug on DFT-D3 module with DFTD3.damp=bj and Periodic conditions in the last version (v3.8).
I think the new versions has fixed such problem.

For more discussion, refer to this post:


Re: DFT-D3 energy changes between v3.9 and v3.8 ( No.2 )
Date: 2020/04/22 17:20
Name: Milica Todorovic  <>

Dear Kylin,

Many thanks for the quick response and the recommended post "(Maybe) fixing Vdw-d3(bj)", I read it carefully.

Just to clarify: I did not use openmx v3.8.5, where VdW energy is really nan (as in the other post). I used v3.8, where I obtained a reasonable -1.817523400790 Ha. With v3.9.2 I obtained -0.075717467476 Ha, which is not so reasonable for a large aromatic molecule (7 benzene rings). Of course, the structures are from earlier work with openmx, but usually openmx backwards compatibility is good and energies and forces are similar. Such large changes are uncommon and I am not sure what to trust.

I know that DFT-D3 energy value in v3.8 was benchmarked against VASP DFT-D3 bj implementation. So I don't know why the v.3.9.2 number is so different - has it been checked or benchmarked? Are there any technical notes on this?

Many thanks and all the best, Milica.
Re: DFT-D3 energy changes between v3.9 and v3.8 ( No.3 )
Date: 2020/04/28 06:00
Name: Jhon W. Gonzalez  <>

Hi Milica,

Just out of curiosity...
When you relax the structures with both versions, do the equilibrium distances also change significantly?


Re: DFT-D3 energy changes between v3.9 and v3.8 ( No.4 )
Date: 2020/06/10 16:39
Name: T. Ozaki

Hi Milica-san,

Sorry for my late response.

I performed benchmark calculations of DFT-D3 using v3.8, v3.8.5, and v3.9.2 for a molecular and bulk systems,
and obtained almost the same value of DFT-D3 energy for all the versions.

So, I wonder that some unexpected issue must be happening for your system.

The difference between v3.8.5 and v3.9.2 related to DFT-D3 is the folllowing small modification:

v3.8.5: line 3738 in Total_Energy.c

fdamp = (a1_dftD*sqrt(C8/C6)+a2_dftD);

v3.9.2: line 3406 in Total_Energy.c

fdamp = (a1_dftD*sqrt(C8C6)+a2_dftD);

v3.9.2 analytically evaluates C8/C6 and stores it into the variable: C8C6 so that the division by C6 of zero can
be avoided. If the ill-defined calculation does not appear, both the versions should give the same energy.

To fix the problem you have, could you share your input file with us?

Thank you very much for your cooperation in advance.

Best regards,


Page: [1]