Celebrating two years and having fun with machine-learned DFT functionals

It’s two years since my first post. Yay!

images

This first post was about the performance of some recently developed DFT functionals on the relative energy between the singlet and quintet of two metal complexes. So, why not celebrate the birthday of my blog by doing this, again? But this time, which functional?

Introducing the so-called machine-learning functionals developed by Nagai et al. (I guess Nagai (長い) means long in Japanese).

In a nutshell, the authors trained some neural network (NN) functionals, with a training dataset of only three molecules H2O, NH3, and NO. The goal is to obtain a functional that can reproduce the atomization energy (G2 composite method) and electron density (CCSD) of these three molecules. Is that simple? Notice that this approach is not new!

The authors gave us four NN functionals: NN-LSDA, NN-GGA, NN-meta-GGA, and last but not least, a so-called “near region approximation” functional (NN-NRA). You can find them in their github: https://github.com/ml-electron-project/NNfunctional

Let’s start! Keep in mind that I don’t have high hopes for these functionals. I’m doing something very “dangerous” and “absurd” because the functionals were developed with three simple molecules. So I will be gentle.

2dfaf2ee343705bac8642b5a4906ee6647de293a27a859f213d231fbc5b75e30

The elephant of the room, what is the correct value for the quintet-triplet gap of [Fe(NCH)6]2+?

According to CCSD(T)/CBS calculated by Daku et al., it is around 6 kcal/mol.

According to diffusion Monte Carlo (DMC) shown in several papers (see my previous post), it is around 27 kcal/mol. I don’t believe this number.

I quote a recent study on benchmarking quantum chemistry methods for iron complexes against experimental data of Radon:

“… the present author believes that the DMC value of adiabatic spin gap for [Fe(NCH)6]2+ given in ref. 35 (and similar values given elsewhere106,107) cannot be reliable.

I “rephrase” his sentence to

… the present author believes that the DMC value of adiabatic spin gap for [Fe(NCH)6]2+ given in ref. 35 (and similar values given elsewhere106,107) are BS.

So I will use the CCSD(T) value (~6 kcal/mol) and compare DFT results to it.

All calculations were done with pyscf.

Table 0: Quintet-triplet gap of [Fe(NCH)6]2+ calculated by some random functionals. Reference = 6 kcal/mol (CCSD(T)). All values are in kcal/mol (duh?)

Functional Type My results Daku et al.
SVWN5 LSDA 60.5
NN-LSDA LSDA 31.3
BLYP GGA 18.0 18.0
BP86 GGA 26.5 26.6
NN-GGA GGA 20.6
PBE GGA 24.2 24.2
SCAN GGA 20.4
B3LYP (Gaussian) Hybrid -5.2 -4.9
MN15 Hybrid -3.1
PBE0 Hybrid -9.3 -9.0
SCAN0 Hybrid -9.3
TPSSH Hybrid 10.1 10.3
ωB97M-V Hybrid -5.9
TPSS meta-GGA 24.0 24.1
NN-mGGA meta-GGA 45.9
NN-NRA NRA 39.1

 

Let me first correct my first post. The BP86 value there is 23.9 kcal/mol while it is 26.5 kcal/mol here. The reason is that, I just found out, in Turbomole the P86 correlation functional is based on the VWN5 LSDA functional, while in other codes, P86 is based on PZ81. Turbomole, come on!!! Change the name of your functional to B-VP86 like in Gaussian (BVP86).

2x1gp5

 

Now, all of my results are in excellent agreements with the value of Daku et al.

The good news: NN-LSDA is better than the standard LSDA functional.

The OK news: NN-GGA behaves like a standard GGA functional.

The bad news: both supposedly better functionals, NN-mGGA and NN-NRA, give me worse results.

Nevermind, I am still happy that at least all NN functionals do not produce garbage. They are bad, off by 14 to 33 kcal/mol, but still better than an error of hundreds of kcal/mol.

I hope that the authors can improve their functionals in the near future. Machine-learning arouses me and I am curious to test them all.

eumeme
Credit: iStock/Antonio Guillem/Getty/Joe Sohm/Visions of America

PS: EU’s Article 13 has been passed. I might be in danger using memes now. But I don’t care. I live in Lesotho.

 

Leave a comment