For B3LYP, Gaussian and GAMESS use the correlation functionals VWN_3 and VWN_5, respectively, instead of Psi4’s default VWNrpa_3. Of course, total energies of identical geometries differ between the applications.
If the ./python/functional.py:build_b3lyp_superfunctional() is modified accordingly, Gaussian and GAMESS energies are reproduced with 7 decimal point agreement for a few small test molecules.
The B3LYP_5 builder is currently commented out, noted as broken, although it was to have used the RPA parameterization of VWN_5.
Does it make sense to proliferate two more B3LYP variants?
What am I missing?
As far as I knew, Psi4 was using the industry-standard vwn3 for its b3lyp. The b3lyp5 is commented out because although nothing looked wrong with the setup in functional.py, b3lyp3 and b3lyp5 energies were (wrongly) equal. I wasn’t aware that there was any proliferation of two more b3lyp variants. Guess will have to investigate. You say psi4’s b3lyp (w/vwn_3) matches gaussian’s to 7 and psi4’s b3lyp (w/vwn_5) matches gamess’s to 7. How many decimals does psi4’s b3lyp (w/vwnrpa_3) match gaussian’s to?
For water at 6-31G(2df,p), they differ by 0.03 Ha , about 20 kcal in an isodesmic reaction.
For small molecules, GAMESS and Gaussian’s B3LYP @ (random basis set) values are often the same to 6 decimals. GAMESS includes a Gaussian compliant version named B3LYPv3. Nwchem doesn’t bother but permits a completely user-defined functional, viz.,
I noticed this when implementing G4 and G4(MP2) under Nwchem since the optimization+ZPE steps require B3LYP. A good exegesis on B3LYP variabilty, B3LYP and WAH – the confusion, is at the Lindqvist blog.
The minimal addition is to copy build_b3lyp_3_superfunctional() from the default b3lyp and change ‘VWNRPA_3’ to ‘VWN_3’.
Backstory: Curtiss used Gaussian-94 while authoring the G4 and G4(MP?) methods. Its B3LYP was apparently different from the g03 and g09 standard.
The Lindqvist blog shows that “B3LYP” is an arbitrary term, the sort where you squint your eyes shut, massage your temples, and dose with Advil. As I attempt to replicate G4,G4(MP2) in Psi4, the phrase “defect compatibility” seems more factual than confrontational.
Here are some values for water at 6-31G(2df,p) using the same geometry:
rOH = 0.9622
aHOH = 103.84
Sloppy table follows. Pardon my unfamiliarity with this forum’s markup.
Thanks everyone for your helpful reference values and sorting out of some issues. @hokru, what basis set are your numbers at?
I’ve started to fix this issue at https://github.com/psi4/psi4/pull/339 . Basically, fixed up B3LYP5 so it gives the right answers and re-enabled it. Just still uncertain on the reasoning behind some psi4 internals.
We’ve nearly got this straightened out. If anyone with access to Gamess, Turbomole, Gaussian would run open-shell calcs at the geom and basis described here and report back energies, I’d be obliged. UKS, not ROKS.