Double hybrid

In DFT, a double hybrid functional includes a certain amount of HF exchange and PT2 correlation (thus double hybrid). This idea was first proposed by Donald Truhlar in 2004 and more well-known, by Stefan Grimme in 2006. In a certain way it is the fifth step in Jacob's ladder for DFT, where unoccupied KS orbitals are included in the calculation. The exchange-correlation energy can then be expressed as:

$$E_{XC}=\left( 1-a_{X} \right)E_{X}^{DFT}+a_{X}E_{X}^{HF}+\left( 1-a_{C} \right)E_{C}^{DFT}+a_{C}E_{C}^{PT2}$$

Usually the amount of exact exchange is much bigger in these methods compared to the simple hybrids, since the perturbational correlation can correct for HF deficiencies while improving the self-interaction error. In this way kinetic barriers and diffuse orbitals can be improved. At the same time dispersion forces (Van der Waals) can be more accurately computed because of the perturbational term (HF and DFT traditionally fails with this), although it still predict weaker dispersion forces. Specific care must be taken in unrestricted calculations where HF introduces high spin contamination.

For Grimme's B2-PLYP aX = 0.53 and aC = 0.27. Martin et.al. used aX = 0.42 and aC = 0.72 in the B2K-PLYP (good for kinetics) and aX = 0.31, aC = 0.60 for B2T-PLYP (for thermodynamics). There is also B2GP-PLYP for general purpose calculations.

The convergence of the double hybrid can be more difficult than with simpler functionals. The running time is roughly twice of a B3LYP job, but can be improved if a good initial guess is provided. It must be taken into consideration that because of the perturbation the double hybrids need bigger basis sets. With RI-MP2 approximation timing can be improved without much loss in accuracy.

Programs that implement double hybrids: ORCA, NWChem 5.2+, Gaussian09. In Gaussian03 it is possible to do it with lots of specific keywords.