Double-hybrid density functional theory327, 855, 952, 64, 1103 (DH-DFT) has demonstrated tremendous potential for approaching the chemical accuracy with a computational cost comparable to the second-order Møller-Plesset perturbation theory (MP2). In a DH-DFT, a Kohn-Sham (KS) DFT calculation is performed first, followed by a treatment of non-local orbital correlation energy at the level of second-order Møller-Plesset perturbation theory (MP2).665 This MP2 correlation correction includes a a same-spin (ss) component, , as well as an opposite-spin (os) component, , which are added to the total energy obtained from the KS-DFT calculation. Two scaling parameters, and , are introduced in order to avoid double-counting correlation:
A starting point for understanding where a functional form like Eq. (5.53) might come from is the adiabatic connection formula that provides a rigorous way to define double-hybrid functionals. One considers an adiabatic path between the fictitious non-interacting KS reference system () and the real physical system (), while holding the electron density fixed at its value for the real system, for all . Then
where is the exchange-correlation energy at a coupling strength , meaning that the exchange-correlation energy if the electron–electron terms in the Hamiltonian had the form rather than . Using a linear model of this quantity,
one obtains the popular hybrid functional that includes the HF exchange (or occupied orbitals) such as B3LYP.54, 918 If one further uses the Gorling-Levy’s perturbation theory (GL2) to define the initial slope at = 0, one obtains the doubly hybrid functional form in Eq. (5.53) that includes MP2 type perturbative terms (PT2) involving virtual orbitals:474
The adiabatic connection formula has been used to develop double hybrid functionals such as XYG3.1103 Note that XYG3 as implemented in Q-Chem uses B3LYP orbitals to generate the density and evaluate the PT2 terms. This is different from B2PLYP, an earlier doubly hybrid functional from Grimme.327 The latter uses truncated KS orbitals while XYG3 uses converged KS orbitals to evaluate the PT2 terms. The performance of XYG3 is not only comparable to that of the G2 or G3 theory for thermochemistry, but barrier heights and non-covalent interactions, including stacking interactions, are also very well described by XYG3.1103
Note: The recommended basis set for XYG3 is 6-311+G(3df,2p).
Due to the inclusion of PT2 terms, the cost of double-hybrid calculations is formally , as in conventional MP2, thereby not applicable to large systems and partly losing DFT’s cost advantages. However, the highly successful SOS-MP2 and local SOS-MP2 algorithms in Q-Chem can be leveraged to develop double-hybrid functionals based on these methods. A version of XYG3 that uses SOS-MP2 is the XYGJ-OS functional.1097 This functional has 4 parameters that are optimized using thermochemical data. It is not only faster than XYG3, but comparable to XYG3 (or perhaps slightly better) in accuracy. If the local SOS-MP2 algorithm is applied, the scaling of XYGJ-OS is further reduced to . Recently, XYGJ-OS became the first double-hybrid functional whose analytic energy gradient has been derived and implemented.434
Other more empirical double-hybrid functionals have been implemented in Q-Chem. Among the B97 series of functionals, B97X-2148 is a long-range corrected double hybrid that can greatly reduce the self-interaction errors (due to its high fraction of HF exchange), and has been shown significantly superior to other functionals for systems with both bonded and non-bonded interactions. Due to the sensitivity of PT2 correlation energy with respect to the choices of basis sets, B97X-2 was parameterized with two different basis sets: the B97X-2(LP) was parameterized for use with 6-311++G(3df,3pd), while B97X-2(TQZ) was parameterized with the T/Q (triple-/quadruple-) extrapolation to the basis set limit. A careful reading of Ref. 148 is highly advised before using either of these two functionals.
Job control variables for double-hybrid DFT are described below. Note that the PT2 correlation energy can also be computed with the efficient resolution-of-identity (RI) methods. Since Q-Chem 5.2, RIMP2 can be invoked simply by specifying auxiliary basis set using AUX_BASIS_CORR. See Section 6.6.
The following to $rem variables pertain to the B97X-2(LP) and B97X-2(TQZ) functionals.
$comment Single-point calculation on LiH without RI, followed by a single-point calculation with RI. $end $molecule 0 1 H Li H 1.6 $end $rem JOBTYPE sp EXCHANGE B2PLYP BASIS cc-pvtz $end @@@ $molecule read $end $rem JOBTYPE sp EXCHANGE B2PLYP BASIS cc-pvtz AUX_BASIS rimp2-cc-pvtz $end
$comment Single-point calculation on LiH (with RI). $end $molecule 0 1 H Li H 1.6 $end $rem JOBTYPE sp EXCHANGE omegaB97X-2(TQZ) BASIS cc-pvqz AUX_BASIS rimp2-cc-pvqz $end @@@ $comment Single-point calculation on LiH (without RI). $end $molecule read $end $rem JOBTYPE sp EXCHANGE omegaB97X-2(TQZ) BASIS cc-pvqz $end
In the following example of XYG3, Q-Chem automatically performs a B3LYP calculation first, then uses the resulting orbitals to evaluate the PT2 correlation terms. Once can also use XYG3 combined with the RI approximation; use EXCHANGE = XYG3RI to do so, along with an appropriate choice of auxiliary basis set.
$molecule 0 1 N 0.000000 0.000000 0.547775 N 0.000000 0.000000 -0.547775 $end $rem EXCHANGE xyg3 BASIS 6-311+G(3df,2p) $end
The next example illustrates XYGJ-OS. This functional uses the RI approximation by default, so it is necessary to specify an auxiliary basis set.
$molecule 0 1 N 0.000000 0.000000 0.547775 N 0.000000 0.000000 -0.547775 $end $rem EXCHANGE xygjos BASIS 6-311+G(3df,2p) AUX_BASIS rimp2-cc-pVtZ PURECART 1111 TIME_MP2 true $end
The final example uses the local version of XYGJ-OS, which is the same as the original XYGJ-OS but with the use of the attenuated Coulomb metric to solve the RI coefficients. Here, the keyword omega determines the locality of the metric.
$molecule 0 1 N 0.000 0.000 0.54777500 N 0.000 0.000 -0.54777500 $end $rem EXCHANGE lxygjos OMEGA 200 BASIS 6-311+G(3df,2p) AUX_BASIS rimp2-cc-pVtZ PURECART 1111 $end