Minnesota MN15 functional (and the others) – SIE!

One of the main “feature” of Kohn-Sham DFT (KS-DFT) is the approximation of the exact exchange-correlation functional, leading to a zoo of functionals with many flaws. One such flaw is the self-interaction error (SIE), i.e. an electron can interact with itself! Reducing SIE is one of the goal when “designing” a new modern functional (by slowly crawling the Jacob’s ladder to heaven).



However, it’s not easy to quantify the SIE, except for H atom, when there is only one electron and the exact energy is -0.5 Ha. Because of SIE, the total energy of H calculated with KS-DFT will be different from the exact solution (e.g. -0.50239 Ha by B3LYP). In my opinion, one simple way to estimate the SIE is using ε = (EDFTEexact)/N where N is the number of electrons. A better functional (or closer to the exact functional) is the one having smaller |ε|, consequently smaller SIE.

This post is inspired by this paper (thanks to my fabulous friend), in which the authors evaluated the Minnesota 2006 functionals against some “challenging” problems in DFT. The authors “discovered” that because of SIE, these functionals (I quote) “cannot calculate the energy of a hydrogen atom well” (duh?). You can judge the quality of the paper yourself.  Anyway, it gives me an idea for this post: “benchmarking” the total energy of light atoms (from H to F, Z=1-9) by different functionals against the exact energy, including my three favorite modern functionals: MN15, SCAN0, and ωB97M-V. (Do you know that by including the word “benchmark” in your paper, it will be cited more?). This post is also inspired by the work of Lehtola et al. and the SIE problem my less fabulous friend (Dr. Matas) is trying to solve. So, let’s start.

Calculations of single atoms are quite straightforward. In this post, I used aug-cc-pCVQZ basis set, no approximation for the electron integrals, and a DFT grid (99,590). All calculations were done with unrestricted KS-DFT and different functionals: B3LYP(Gaussian), M06, M06-HF, PBE, MN15, SCAN0, and ωB97M-V. The exact, non-relativistic energies are taken from the paper of Brown et al.


What I can see:

  • I can reproduce the results of Lehtola et al with the PBE functional: the error is around 5 kcal/mol/electron.
  • M06 error is enormous(!). For example in C, the error is up to 20 kcal/mol/electron. Someone predicted that M06 will be the “future” B3LYP, i.e. it will be used in most of computational chemistry papers as a standard. I have my doubts.
  • M06-HF that can “avoid the error of self-interaction at long-range” cannot fix the problem of M06.
  • The other functionals: B3LYP, PBE, MN15, SCAN0, and ωB97M-V have smaller errors, so let’s zoom in and only focus on the three modern functionals.

image (1)

For some reasons, the calculation of Li with SCAN0 does not converge, so you can see missing data in the graph.

  • In my opinion, all the functionals perform well, especially in the region of Z=6-8: C, N, O. Should this be the reason for the fact that these functionals perform well(?) for main-group chemistry?
  • MN15 is really better than M06! This functional has a larger potential to be the “future” B3LYP instead of M06, especially when Gaussian 16 becomes more popular.


So, the question is: Which functional is the best?

I don’t know. Always be skeptical!


PS. From now on, I will add the word “benchmark” in the tags! (see below)

PS2. the paper: “The Schrödinger equation can be solved for an H atom exactly, giving an exact electronic energy of 0.5000 Hartree” – what’s wrong with the peer-review process?


1 thought on “Minnesota MN15 functional (and the others) – SIE!”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s