I am trying to replicate the results of this study; See the supplementary information for a list of DFTs (it’s open access I think).
The paper lists the following DFTs:
B97 - A global hybrid GGA, citation A. D. Becke, The Journal of Chemical Physics 107, 8554 (1997).
B97-D - A local GGA, citation S.Grimme, Journal of Computational Chemistry 27, 1787 (2006).
B97-Danything - All of these are listed as local GGAs based on B97-D.
LibXC has the following DFTs:
GGA_XC_B97 - Same citation as B97 above; Seems to be the same fnctl
GGA_XC_B97_D - Same citation as B97-D above; Seems to be the same fnctl
Psi4 is consistent in its definitions of B97-D*
– These are all based on B97-D, as suggested by the paper.
However, things start getting weird when I look for B97. First of all, there is a duplicate definition of B97-D2 in the libxc functionals file. Then, it seems that B97 in LibXC and most papers has been renamed to B97-0. So I could just add an alias from B97->B97-0? Not quite… A comment in the code says:
# empirical_dispersion_resources.dashcoeff now defines 'b97' (<-'b97-d') as Grimme's GGA
# functional, so one could just define
# funcs.append({
# "name": "B97",
# "xc_functionals": {
# "GGA_XC_B97_D": {}
# }})
# and let the dict_builder fill out -D2, -D3(BJ), etc. Leaving the
# explicit definitions below so plain 'b97' isn't further confused.
…which doesn’t make any sense, since B97 is a different functional from B97-D.
I’m reading this to mean that QCEngine renamed B97 → B97-0, and B97-D → B97 so that the dashcoeffs automatically generate properly. Hence, any of my code should refer to B97 as B97-0. Is this correct?