6.3 Exchange-Correlation Functionals Available
The following exchange-correlation functionals are available:
LDAs: S-VWN, PWLDA
GGAs: B-VWN, B-LYP, B-P, PBE, revPBE, SOGGA11, KT3
MGGA: TPSS, SCAN, r2SCAN, r4SCAN, r++SCAN, TASK, LAK, revTPSS, PKZB, Tao-Mo, M06-L, M11-L, MN12-L, MN15-L
hybrid functionals: BH-LYP, B3-LYP, PBE0, TPSSh, revTPSSh, r2SCANh, r2SCAN0, r2SCAN50, BMK, B97M(-V), SOGGA11-X, M05, M06, M06-2X, MN12, MN15, PW6B95
range-separated hybrid functionals: CAM-B3LYP, HSE06, M11, revM11, MN12-SX, \(\omega\)B97(X)(-V), \(\omega\)B97M-V, LRC-\(\omega\)PBE, LC-\(\omega\)PBE class, CAM-QTP-00, CAM-QTP-01, CAM-QTP-02
double–hybrid functional: B2-PLYP, B2GP-PLYP and XYG3 (energy calculations only, geometry optimization with numerical gradient)
local hybrid functionals: Lh07t-SVWN, Lh07s-SVWN, Lh12ct-SsirPW92, Lh12ct-SsifPW92, Lh14t-calPBE, LH20t, PSTS, mPSTS, LHJ14, LHJ-HF, LHJ-HFcal, TMHF, TMHF-3P, CHYF (CHYF-PBE), CHYF-B95, scLH21ct-SVWN-m, scLH22t, scLH22ta, scLH23t-mBR, scLH23t-mBR-P
range-separated local hybrid functionals: \(\omega\)LH22t, \(\omega\)LH23td, \(\omega\)LH23tX where X=B,E,P, \(\omega\)LH23tdX where X=B,E,P., \(\omega\)LH23ct-sir
locally range-separated hybrid functionals, i.e., functionals in which the range-separation is governed by a density functional: \(\omega\)BT21 and \(\omega\)BT23.
For EXX and LHF, see Chapter 23
The XCFun library (Arbitrary-Order Exchange-Correlation Functional Library) by Ulf Ekström and co-workers has been included [89] and some of the functionals implemented there can now be utilized. Among them are the empirically fitted MGGAs M06 and M06-2X from the Truhlar group [90]. XCFun functionals are available for energy, gradient, vibrational frequencies, and TDDFT excited state energy calculations - with and without RI approximation. For details and the license of XCFun please refer to its web site https://github.com/dftlibs/xcfun
The LibXC 6.2.2 library has been included [91] and some of the functionals implemented there can now be utilized directly. Among them are the empirically fitted MGGAs from the Truhlar group as well as the range-separated wB97(X) group of Head-Gordon [92] and the r2SCAN hybrids or the CAM-QPT functional family. Note that the usage of LibXC is stated in the output with the required references. For details and the license of LibXC, please refer to its web site of the project https://libxc.gitlab.io/
See the next chapters for available functionals from LibXC and XCFun. For range-separated hybrid functionals see the notes and restrictions in the corresponding section.
In detail, the Turbomole own functional library consists of:
The 1980 correlation functional (functional V in the paper) of Vosko, Wilk, and Nusair only (VWN) [95].
A combination of the Slater–Dirac exchange and Vosko, Wilk, and Nusair 1980 (functional V) correlation functionals (S-VWN) [93, 94, 95].
The S-VWN functional with VWN functional III in the paper. This is the same functional form as available in the Gaussian program [93, 94, 95].
A combination of the Slater–Dirac exchange and Perdew-Wang (1992) correlation functionals [93, 94, 96].
A combination of the Slater–Dirac exchange and Becke’s 1988 exchange functionals (B88) [93, 94, 97].
Lee, Yang, and Parr’s correlation functional (LYP) [98].
The B-LYP exchange-correlation functional (B88 exchange and LYP correlation functionals) [93, 94, 97, 98].
The B-VWN exchange-correlation functional (B88 exchange and VWN (V) correlation functionals) [93, 94, 97, 95].
The B-P86 exchange-correlation functional (B88 exchange, VWN(V) and Perdew’s 1986 correlation functionals) [93, 94, 97, 95, 99].
The Perdew, Burke, and Ernzerhof (PBE) exchange-correlation functional [93, 94, 96, 100].
The Tao, Perdew, Staroverov, and Scuseria functional (Slater–Dirac, TPSS exchange and Perdew-Wang (1992) and TPSS correlation functionals) [93, 94, 96, 101].
The Strongly Constrained and Appropriately Normed (SCAN) meta-GGA functional[102].
The regularized-restored SCAN (r2SCAN) meta-GGA functional[103].
The r2SCAN-3c meta-GGA functional including Grimme dispersion and basis-set superposition error corrections (-3c) [104].
The TASK meta-GGA (TASK meta-GGA exchange combined with LDA correlation) [105] for pronounced ultra-nonlocality and band-gap prediction.
The LAK meta-GGA [106] for atomization energies, band-gap prediction and weak interactions.
TMHF first-principles local hybrid functional [107].
TMHF-3P modified version of TMHF with less parameters [107].
CHYF (CHYF-PBE or CHYF-B95) first-principles local hybrid functional, generalized fermions functional [108].
The locally range-separated hybrids \(\omega\)BT21 [109] and \(\omega\)BT23 [110] adhering to exact constraints.
For the SCAN functional, be advised that the convergence of the total energy and energy gradients with respect to the radial grid used to integrate the exchange-correlation energy and potential is slower than previous non-empirical functionals[111]. A radial grid size of 40 is typically needed to converge the total energy (dscf or ridft) to \(\mu\)H accuracy, while a radial grid size of 50 is typically needed to converge the energy gradients (grad or rdgrad). Convergence with respect to the angular grids remains unchanged. The radial grid size can be set in the control file through the radsize keyword.
For details on the integration grids, please see Sec. 25.2.10. Generally, gridsize 3 is recommended for (time-dependent) DFT calculations. The multiple grids such as gridsize m3 or m4 are often sufficient for energies and geometry gradients. For hybrid density functionals, the multiple grids do not result in a notable reduction of the computational costs and the standard grids are a better choice.
For the r2SCAN and r2SCAN-3c functionals used for geometry optimizations a gridsize of m4 is usually sufficient if the radsize keyword is set to 8.
Additionally, for all four modules (dscf, grad, ridft, and rdgrad) the following hybrid functionals are available (a mixture of Hartree–Fock exchange with DFT exchange-correlation functionals):
The BH-LYP exchange-correlation functional (Becke’s half-and-half exchange in a combination with the LYP correlation functional) [93, 94, 97, 98, 112].
The B3-LYP exchange-correlation functional (Becke’s three-parameter functional) with the form, \[\begin{align} 0.8S + 0.72B88 + 0.2HF + 0.19VWN(V) + 0.81LYP \end{align}\](6.3) where HF denotes the Hartree-Fock exchange [93, 94, 97, 98, 113].
The B3-LYP exchange-correlation functional with VWN functional V in the paper. This is the same functional form as available in the Gaussian program.
The 1996 hybrid functional of Perdew, Burke, and Ernzerhof, with the form, \[\begin{align} 0.75(S + PBE(X)) + 0.25HF + PW + PBE(C) \end{align}\](6.4) where PBE(X) and PBE(C) are the Perdew–Burke–Ernzerhof exchange and correlation functionals and PW is the Perdew–Wang correlation functional [93, 94, 96, 100, 114].
The TPSSH exchange-correlation functional of Staroverov, Scuseria, Tao and Perdew with the form, \[\begin{align} 0.9 (S + TPSS(X)) + 0.1 HF + PW + TPSS(C) \end{align}\](6.5) where HF denotes the Hartree–Fock exchange [93, 94, 96, 101, 115].
6.3.1 Double-Hybrid Functionals and Adiabatic Connection Models
In the fifth-rung of the DFT Jacob-ladder we find functionals which include the Kohn-Sham second-order perturbation theory correlation energy (KS-PT2) [116, 117]. \[\begin{equation} E_c^{KS-PT2} \approx \frac{1}{2} \sum_{ia}\sum_{jb}\frac{(ia|jb)[(ia|jb)-(ib|ja)]} {e_i+e_j-e_a-e_b}. \end{equation}\](6.6) which is a Møller-Plesset like term based on the KS orbitals. Note that the full \(E_c^{KS-PT2}\) includes also a singly-excited term[118], which is zero in the case of HF ground-state, and it is also neglected here.
The Double-Hybrid Functionals (DHDF)[119] include a linear mixing of the \(E_c^{KS-PT2}\) energy, in addition to a non-local exchange contribution (as in conventional hybrid-GGAs) . The mixing is described by two empirical parameters \(a_x\) and \(a_c\) in the following manner: \[\begin{align} E_{xc}^{DHDF} = (1-a_x) E_x^{GGA} + a_x E_x^{HF} \\+ (1-a_c) E_x^{GGA} + a_c E_c^{KS-PT2}, \end{align}\](6.7) where \(E_c^{GGA}\) is the energy of a conventional exchange functional, \(E_c^{GGA}\) is the energy of a conventional correlation functional and \(E_x^{HF}\) is the Hartree-Fock exchange. The method is self-consistent only with respect to the first three terms in Eq. (6.7): a SCF using a conventional hybrid-GGA is performed first and using these orbitals \(E_c^{KS-PT2}\) is evaluated afterwards and added to the total energy. Thus an MP2 calculation is required after the DFT step to get the correct DHDF energy.
In TURBOMOLE the following DHDFs are currently supported:
B2-PLYP: In the B2-LYP functional[120] the B88 exchange[97] and LYP correlation[98] are used with the parameters \(a_x=0.53\) and \(a_c=0.27\). Due to the relatively large Fock-exchange fraction, self-interaction error related problems are alleviated in B2-PLYP while unwanted side effects of this (reduced account of static correlation) are damped or eliminated by the PT2 term.
In the following options/restrictions in the present version of this method:
single point calculations only (computed with the dscf/ridft and rimp2/ricc2 modules).
UKS treatment for open-shell cases.
can be combined with resolution-of-identity approximation for the SCF step (RI-JK or RI-J option).
can be combined with the dispersion correction (DFT-D method, \(s_6\)(B2-PLYP)=0.55).
How to use B2-PLYP:
during preparation of your input with Define select
b2-plypin the DFT menu.carry out a Dscf run. Prepare and run a RI-MP2 calculation with either rimp2 or ricc2 program modules.
the RI-MP2 program directly prints the B2PLYP energy if this functional has been chosen before
Or use the b2plypprep script to setup up the calculation.
define coord and basis set
(optional: switch on ri or rijk and define jbasis or jkbasis)
run b2plypprep
run dscf (or ridft) and ricc2
Or use the hfacm script.
B2GP-LYP The B2GP-PLYP[121] is very similar to the B2-PLYP functional but the coefficients are \(a_x=0.65\) and \(a_c=0.36\). The B2GP-PLYP is supported by the hfacm script.
XYG3: For the XYG3 functional[122] the following steps are required
A SCF calculation with the b3-lyp functional.
Setting the XYG3 in the control file.
One scf-step with Dscf or Ridft to extract the required XYG3 energy.
A final MP2 run.
The calculations for steps ii) and iii) can be carried out with the xyg3 scripts, which print out the total energy and update the energy file.
Or use the hfacm script described hereafter.
Hartee-Fock Adiabatic Connection Model
The Hartee-Fock Adiabatic Connection Model (HFACM)[123] mixes the MP2 correlation energy with semilocal functionals for the strong-correlation (SC) limit[124] which are indicated as \(W_\infty\) and \(W'_\infty\). The HFACM theory is based on the exact HF ground-state. The general expression for the XC energy can be written as: \[\begin{equation} E_{xc}^{HFACM}= F( E_c^{MP2}, E_x^{HF}, W_\infty, W'_\infty) \end{equation}\](6.8) where F is a complicated non-linear formula, with the following two limits: \[\begin{align} E_{xc}^{HFACM} &\rightarrow E_x^{HF}+ E_c^{MP2} \;\;\; {\rm for } \; E_c^{MP2} \rightarrow 0 \\ E_{xc}^{HFACM} &\rightarrow W_\infty \;\;\;\; \;\;\;\;\; {\rm for } \; E_c^{MP2} \rightarrow -\infty \end{align}\](6.9–6.10) Thus HFACMs can be also applied to metallic and strong-correlated systems with vanishing energy-gap, where DHDFs fail.
Calculations with an HFACM functionals require:
an HF ground-state,
a DFT step for the calculation of the SC functionals,
a MP2 run.
All calculations can be done with the hfacm script which also supports all the DHDFs. The hfacm script requires:
a converged SCF calculation (HF for ACMs or DFT for DHDFs), but only with the RI-J (or RI-JK) approach.
the selection of the MP2 model in the $ricc2 group and the specification of the $cbas auxiliary basis set.
Main options for the hfacm script are:
-f or --formulastring-
select the formula among mp2, b2-plyp, xyg3 ,isi, revisi, spl, lb ,spl2, mpacf1. Default is isi.
-w or --wfuncstring-
select the SC functional among pc, mpc, hpc. Default is hpc.
-scf-
rerun calculation for scf orbitals
-s-
rerun all calculations
-ro-
read previous outputs and recompute energies. Useful to check different ACM formulas.
-help-
shows a short description of the commands above
One of the most know ACM functional is the Interaction Strength Interpolation (ISI).[125, 126] The most recent ACM functionals are spl2 and mpacf1[127], which work very well for dispersion energies (without the addition of any empirical dispersion correction). The most recent SC functional is the Harmonium point-charge-plus-continuum (hpc)[128].
Options can also be specified in the control file:
$hfacm
formula <formula>
wfunc <wfun>
which is read and/or set by the hfacm script.
The output of the hfacm script (with default options) contains (e.g. for the water molecule):
RESULTS:
ACM-isi-hpc Correlation energy: -0.2882062729
ACM-isi-hpc Exchange-correlation energy: -9.1330417810
ACM-isi-hpc Total energy: -76.3310361448
For the B2-PLYP functional the output contains:
RESULTS:
B2-PLYP Correlation energy: -0.3795686158
B2-PLYP SCF Correlation energy: -0.1034395676
B2-PLYP Exchange-correlation energy: -9.2140304015
B2-PLYP Total energy: -76.4193775803
where the “B2-PLYP Correlation” is the difference with the HF total energy (with B2-PLYP orbitals), whereas “B2-PLYP SCF Correlation” is the difference with the B2-PLYP SCF total energy, which is added as “MP2” correction to the energy file.
Geometry optimization can be done using a numerical gradient, i.e.
jobex -ri -level NumGrad
using
$numgrad
level hfacm
Interaction energies of fragments can be computed with the hfacm_int script, which is based on the jobbsse functionality. The hfacm_int options are the same of the hfacm script. The hfacm_int script requires
a converged SCF calculation (HF for ACMs or DFT for DHDFs), but only with the RIJ or RIJK approach.
the selection of the MP2 model in the $ricc2 group and the specification of the $cbas auxiliary basis set.
Spefication of fragments and the
jobbsserun with the RI approach.
The output of the hfacm_int script (with default options) contains (e.g. for the He-Ne):
=== FINAL INTERACTION RESULTS ===
with Size-consistency Correction (SCC)
ACM-isi-hpc-SCC Correlation interaction energy: -0.0000640020
ACM-isi-hpc-SCC XC interaction energy: -0.0001725929
ACM-isi-hpc-SCC Total interaction energy: -0.0000382602
The Size-consistency Correction (SCC)[129] is required as HFACM are non-linear formulas. For DHDFs, SCC is zero.
6.3.2 Local Hybrid Functionals
Local hybrid functionals[130, 131, 132] (LHs) feature an admixture of the exact-exchange energy density to a (semi-)local exchange energy density in real space managed by a local mixing function (LMF). They can therefore be viewed as a more flexible generalization of global hybrid functionals. The LH exchange-correlation energy is defined by:
\[\begin{equation} E_{\mathrm{xc}}^{\mathrm{LH}}=E_{\mathrm{x}}^{\mathrm{exx}} + \sum_{\sigma=\alpha, \beta} \int\left[1-a_\sigma(\mathbf{r})\right] \left(e_{\mathrm{x}, \sigma}^{\mathrm{sl}}(\mathbf{r})+G_\sigma(\mathbf{r})-e_{\mathrm{x}, \sigma}^{\mathrm{exact}}(\mathbf{r})\right) \mathrm{d} \mathbf{r}+E_{\mathrm{c}}^{\mathrm{sl}} \end{equation}\](6.11) where \(a_\sigma(\mathbf{r})\) represents the LMF. In the context of unrestricted open-shell calculations, we distinguish between spin-channel LMFs (\(a_\alpha\neq a_\beta\)), and the more commonly successful common LMFs (\(a_\alpha = a_\beta\)). With \(a_\sigma(\mathbf{r})=\text{const.}\) one obtains a global hybrid functional. \(e_{\mathrm{x}, \sigma}^{\mathrm{sl}}(\mathbf{r})\) is the semi-local exchange-energy density. \(E_{\mathrm{c}}^{\mathrm{sl}}\) is the semi-local correlation energy, and \(G_\sigma(\mathbf{r})\) is a so-called calibration function (CF) used to mitigate the so-called gauge problem of LHs. The exact-exchange energy density is defined in terms of the molecular orbitals (MOs) \(\varphi_{p,\sigma}^\ast\left(\mathbf{r}\right)\) and the ground-state spin-density matrix \(D^\sigma\) as \[\begin{equation} e_{x, \sigma}^{e x}(\mathbf{r})=-\frac{1}{2} \sum_{p q r s} D_{p q}^\sigma D_{r s}^\sigma \int \frac{\varphi_{p, \sigma}^*(\mathbf{r}) \varphi_{s, \sigma}(\mathbf{r}) \varphi_{r, \sigma}^*\left(\mathbf{r}^{\prime}\right) \varphi_{q, \sigma}\left(\mathbf{r}^{\prime}\right)}{\left|\mathbf{r}-\mathbf{r}^{\prime}\right|} \mathrm{d} \mathbf{r}^{\prime} \end{equation}\](6.12) A further extension of the LH approach are range-separated local hybrids (RSLH)[133], defined as: \[\begin{equation} E_{\mathrm{xc}}^{\omega \mathrm{LH}}=E_{\mathrm{x}}^{\mathrm{exact}}+\sum_{\sigma=\alpha, \beta} \int[1-a_\sigma(\mathbf{r})] \left(e_{\mathrm{x}, \sigma}^{ \mathrm{sl, SR}, \omega}(\mathbf{r})-e_{\mathrm{x}, \sigma}^{\mathrm{exact}, \mathrm{SR}, \omega}(\mathbf{r})+G_\sigma(\mathbf{r})\right) \mathrm{d} \mathbf{r}+E_{\mathrm{c}}^{sl} \end{equation}\](6.13) That is, the semi-local exchange-energy density corrects only short-range exchange interactions, leaving full long-range exact exchange, thereby reducing self-interaction errors (delocalization errors) and providing the correct asymptotic potential, important for good-quality orbital energies and accurate charge-transfer excitations in TDDFT calculations[134, 135].
Recent strong-correlation-corrected LHs (scLHs)[136, 137, 138] are defined as: \[\begin{equation} E_{\mathrm{xc}}^{\mathrm{scLH}}=E_{\mathrm{x}}^{\mathrm{exx}} + \sum_{\sigma=\alpha, \beta} \int 2q_{AC}(\mathbf{r})\left\{\left[1-a_\sigma(\mathbf{r})\right] \left(e_{\mathrm{x}, \sigma}^{\mathrm{sl}}(\mathbf{r})+G_\sigma(\mathbf{r})-e_{\mathrm{x}, \sigma}^{\mathrm{exact}}(\mathbf{r})\right)+e_{\mathrm{c}}^{\mathrm{sl}}(\mathbf{r})\right\} \mathrm{d} \mathbf{r} \end{equation}\](6.14) Inspired by the adiabatic connection, \(q_{AC}(\mathbf{r})\) lowers the values of the LMF, in some cases even to negative values, in areas where substantial static correlations are identified in real space. This adjustment is necessary for the accurate description of strongly correlated systems, e.g., for the spin-restricted dissociation of bonds. Extending the scLH ideas to RSLHs leads to strong-correlation-corrected range-separated local hybrids (scRSLHs)[139]. This new class of functionals provides an escape from the so-called zero-sum game between the reduction of delocalization and static correlation errors[132].
So far, LH and RSLH functionals are available in the modules ridft, dscf[140, 134], grad, rdgrad[141, 134], escf[142, 38, 143, 144, 145, 134], and mpshift[146, 145]. Additionally some LHs are implemented in egrad[147]. So far scLHs and scRSLHs are implemented in the modules ridft, dscf, grad, rdgrad[136, 139] and also in mpshift[148].
Non-standard exact-exchange integrals occurring in these types of functionals are computed using semi-numerical integration[149]. The screening procedure is outlined in [144] and the parallelization is described in [144] and [145]. The usual DFT grids are employed for this task. As the computational effort therefore scales linearly with grid size (and quadratically with basis-set size), moderately large grids are recommended if possible. In escf-calculations, a larger amount of main memory is required for the semi-numerical integration. Therefore, additional main memory of approximately \(0.0004\cdot N_{BF}^2\) MB should be provided (for each CPU).
The following LHs, RSLHs, scLHs, and scRSLHs are available so far:
Lh07t-SVWN:[150] Slater-Dirac exchange[93, 94] and VWN[95] with t-LMF (prefactor \(0.48\)).
Lh07s-SVWN:[151] Slater-Dirac exchange[93, 94] and VWN[95] with s-LMF.
Lh12ct-SsirPW92:[152] Slater-Dirac exchange[93, 94] and short-range self-correlation-reduced PW92 correlation with common t-LMF (prefactor \(0.646\)).
Lh12ct-SsifPW92:[152] Slater-Dirac exchange[93, 94] and short-range self-correlation-free PW92 correlation with common t-LMF (prefactor \(0.709\)).
Lh14t-calPBE:[153] PBE exchange and correlation[93, 94, 96, 100] with t-LMF (prefactor \(0.5\)) and pig1 CF.[154]
LH20t:[155] PBE exchange and reparameterized B95 correlation[93, 94, 96, 100, 156] with common t-LMF (prefactor \(0.715\)) and pig2 CF[154].
PSTS and mPSTS: [157, 145] (modified) functional of Perdew, Staroverov, Tao, and Scuseria (PSTS-LMF). Use option mpsts-noa2 for closed-shell systems.
LHJ14: [158, 145] Johnson’s local hybrid functional based on the correlation length (z-LMF).
LHF-HF: [107] Reparameterized version of LHJ14 with Becke95 correlation.
LHF-HFcal: [107] LHJ-HF with calibration function.
TMHF: [107] First-principles local hybrid functional of Holzer and Franzke.
TMHF-3P: [107] Alternative version of TMHF with 3 theoretically derived parameters.
sLH21ct-SVWN-m: [136] early scLH using Slater-Dirac exchange[93, 94] and VWN[95] correlation with t-LMF and \(q_{AC}\) constructed in the KP16/B13 manner.
scLH22ta:[137] scLH based on LH20t using PBE exchange and reparameterized B95 correlation,[93, 94, 96, 100, 156] t-LMF and pig2 CF,[154] and \(q_{AC}\) constructed in the KP16/B13 manner.
scLH22t:[137] scLH based on LH20t, using PBE exchange and reparameterized B95 correlation,[93, 94, 96, 100, 156] t-LMF and pig2 CF,[154] damped \(q_{AC}\) constructed in the KP16/B13 manner, original LH20t parameters.
scLH23t-mBR:[138] scLH based on LH20t, using PBE exchange and reparameterized B95 correlation[93, 94, 96, 100, 156] with t-LMF and pig2 CF,[154] and a simplified error function form of \(q_{AC}\) using the ratio between the semi-local and exact-exchange energy density, original LH20t parameters.
scLH23t-mBR-P:[138] scLH based on LH20t, using PBE exchange and reparameterized B95 correlation,[93, 94, 96, 100, 156] t-LMF and pig2 CF,[154] and a simplified Padé form of \(q_{AC}\) using the ratio between semi-local and exact-exchange energy density, original LH20t parameters.
\(\omega\)LH22t: [134] RSLH extension of LH20t with short-range PBE exchange and reparameterized B95 correlation[93, 94, 96, 100, 156] with t-LMF and pig2 CF[154].
\(\omega\)LH23ct-sir: [159] Range-separated local hybrid based on Lh12ct-SsirPW92.
\(\omega\)LH23td: [139] RSLH variant of \(\omega\)LH22t with additional delocalization-error correction in abnormal open-shell regions.
\(\omega\)LH23tX, X = B, E, P: [139] scRSLH variants of \(\omega\)LH22t with different types of strong-correlation corrections.
\(\omega\)LH23tdX, X = B, E, P: [139] scRSLH variants of \(\omega\)LH23td with different types of strong correlation corrections, and with with delocalization-error corrections in abnormal open-shell regions.
D4 and D3 parameters (D3 only for selected functionals) for the t-LMF based local hybrid functionals have been implemented[160]. PSTS and mPSTS use the D3 parameters of TPSSh. So far only LHs without CF are available in egrad. LHs with CF require somewhat larger numerical grids in escf-calculations. For gradient calculations it is strongly recommended to use the weight derivatives keyword in the $dft data group to avoid numerical inaccuracies.
6.3.3 Locally Range Separated Hybrid Functionals
Range-separation splits the Coulomb interaction into a long-range and a short range part, typically in the form \[\begin{equation} \frac{1}{|\mathbf{r}-\mathbf{r}'|}= \frac{\mathrm{erf} \left(\omega |\mathbf{r}-\mathbf{r}'|\right)}{|\mathbf{r}-\mathbf{r}'|} + \frac{1-\mathrm{erf} \left(\omega |\mathbf{r}-\mathbf{r}'|\right)}{|\mathbf{r}-\mathbf{r}'|}. \end{equation}\](6.15) When the long-range part of this separation is used inside the exact (Fock-) exchange integral and the short-range part is modeled by a local or semi-local approximation, then the range-separated functional recovers the correct long-range asymptotic behavior of the xc potential. Many xc approximations use this general idea by choosing a value for the range-separation parameter \(\omega\) empirically, or determine it by optimal tuning. The decisive idea of local range separation is to go from one value of \(\omega\) to a density functional \(\omega([n];\mathbf{r})\). The general form of such a functional is \[\begin{equation} E_{\mathrm{xc}}^{\mathrm{lRSH}}=E_{\mathrm{x,exact}}^{\mathrm{lr}}+E_{\mathrm{x,DFA}}^{\mathrm{sr}}+E_{\mathrm{c,DFA}}, \end{equation}\](6.16) where \(E_{\mathrm{c,DFA}}\) is a local or semilocal density functional approximation for correlation, \(E_{\mathrm{x,DFA}}^{\mathrm{sr}}\) is a local or semilocal density functional approximation for short-range exchange, and \[\begin{align} E_\mathrm{x,exact}^\mathrm{lr}&= -\frac{e^2}{2}\sum_{\sigma=\uparrow,\downarrow}\sum_{i,j=1}^{N_\sigma} \int d^3 r \int d^3r' \varphi^*_{i\sigma}(\mathbf{r})\varphi^*_{j\sigma}(\mathbf{r}') \\ & \frac{\mathrm{erf} \left(\omega_\sigma([n];\mathbf{r}) |\mathbf{r}-\mathbf{r}'|\right)}{|\mathbf{r}-\mathbf{r}'|} \varphi_{i\sigma}(\mathbf{r}')\varphi{j\sigma}(\mathbf{r}) \end{align}\](6.17) is the long-range part of the exact exchange energy in which the density functional \(\omega_\sigma([n];\mathbf{r})\) for the local range separation per spin-channel is used.
Local range-separation brings decisive advantages: The functional \(\omega([n];\mathbf{r})\) can be designed such that important exact constraints are fulfilled, e.g., the homogeneous electron gas limit, the second order gradient expansion, and the requirement of eliminating one-electron self interaction. A detailed discussion can be found in Ref. [109]. Two locally range-separated hybrid functionals are directly available in Turbomole via pre-defined functional names,
\(\omega\)BT21 [109] and \(\omega\)BT23 [110]. The first has been designed for accurate atomization energies and reaction barrier heights, the second for the non-empirical prediction of fundamental gaps. Other locally range-separated hybrid functionals, e.g., combinations of local range-separation and local hybrids [161], are
available via custom functional input. Non-standard exchange-integrals occurring in these types of functionals are evaluated using semi-numerical integration, similar to the techniques used for local hybrid functionals.
6.3.4 Exchange-Correlation Functionals from LibXC library
The LibXC library is taken from https://libxc.gitlab.io/
The current TURBOMOLE version uses a LibXC 6.2.2. that has been adapted and checked for the provided functionals. All listed functionals support up to 3rd derivatives.
For some functionals included in LibXC shortcuts have been set. If a shortcut is present LibXC functionals can be similar to TURBOMOLE own functionals
$dft
functional wb97x
Shortcuts are available for the following functionals:
wb97 -- wb97 range-separated hybrid GGA
wb97x -- wb97x range-separated hybrid GGA
wb97x-v -- wB97X range-separated hybrid GGA with VV10 non-local correlation
wb97m-v -- wB97X range-separated hybrid metaGGA with VV10 non-local correlation
wb97x-d -- wB97X range-separated hybrid metaGGA with dispersion correction
sogga11 -- sogga11 GGA
sogga-11x -- sogga-11x hybrid GGA
m05 -- M05 hybrid metaGGA
m05-2x -- M05 hybrid metaGGA with doubled exact exchange
m06 -- M06 hybrid metaGGA
m06-2x -- M06 hybrid metaGGA with doubled exact exchange
m06-l -- M06-L metaGGA
m11 -- M11 hybrid metaGGA
m11-l -- M11-L metaGGA
revM11 -- revised M11 hybrid metaGGA
mn12-l -- MN12-L metaGGA
mn12-sx -- MN12-SX short-range-separated metaGGA
mn15 -- MN15 hybrid metaGGA
mn15-l -- MN15-L metaGGA
pkzb -- Perdew-Kurth-Zupan-Blaha metaGGA
task -- ultra-nonlocal metaGGA (TASK exchange + PW92 correlation)
bmk -- BMK hybrid metaGGA
scan-libxc -- SCAN metaGGA functional
scan0 -- hybrid metaGGA functional based on SCAN
cam-b3lyp -- CAM-B3LYP range-separated hybrid GGA
tuned-cam-b3lyp -- CAM-B3LYP range-separated hybrid GGA tuned for excitations
cam-qtp-00 -- CAM-QTP-00 functional
cam-qtp-01 -- CAM-QTP-01 functional
cam-qtp-02 -- CAM-QTP-02 functional
hse06-libxc -- HSE06 short-range-separated GGA
lr-wpbe -- range-separated range-separated GGA based on PBE
lrc-wpbeh -- long-range corrected range-separated hybrid GGA based on PBE
mpsts -- modified PSTS functional
mpsts-noa2 -- modified PSTS functional for closed-shell systems
lhj14 -- Johnson's local hybrid functional
kt3 -- third generation Keal-Tozer functional for NMR
r2scanh -- r2SCAN hybrid with 10% exact exchange
r2scan0 -- r2SCAN hybrid with 25% exact exchange
r2scan50 -- r2SCAN hybrid with 50% exact exchange
tao-mo -- metaGGA of Tao and Mo
tmhf -- Tao-Mo-Holzer-Franzke
tmhf-3p -- 3 parameter Tao-Mo-Holzer-Franzke
Since TURBOMOLE V7.5 certain range-separated functionals can be modified using the following functional shortcuts and specifying the according parameters:
lc-wpbe_own omega
cam-b3lyp_own alpha beta omega
lrc-wpbeh_own alpha beta omega
hse_own alpha beta omega
alpha, beta, omega are real numbers. alpha specifies the amount of exact exchange in the short-range limit, while in the long-range limit alpha+beta is used. The screening parameter omega determines how fast the long-range limit will be obtained and is defined as usual. Note that beta may be negative, converting a long-range corrected into a short-range corrected functional.
Other functionals from the LibXC may be accessed using the index numbers from LibXC Readme or from the Turbomole user forum. To trigger the usage of LibXC functionals, use the keyword libxc in the $dft section.
$dft
functional libxc <index_of_main_exchange_functionals>
functional libxc add <no. of add. func.> <index_of_add_funcs>
functional libxc factors fac1 fac2 ... fac <no. of func.>
functional libxc set-rangesep alpha beta mu
functional libxc set-hybrid exx
Apart from the first line all following lines are optional. fac1, fac2... are real numbers specifying the weight of each component of the defined functionals in exactly the order they have been specified. fac1 refers to the main functionals, while fac2 etc. refer to the additional functionals. If more than one functionals is specified set-rangesep and set-hybrid always refer to the main functionals given in the first line. If range-sep is specified the main functional must support range-separation, otherwise the program will stop.
The M11 hybrid metaGGA for example may be specified by the following lines
$dft
functional libxc 297
functional libxc add 1 76
In the first line the number (297) specifies the index number of the exchange part of the M11 functional. As LibXC has stores the definition of a functional (amount of HF exchange, range-separation parameters etc.) on the exchange part of a functional it is mandatory to first specify the exchange part and add the correlation part. The second line then specifies how many and which further functional parts are added. The first number (1) specifies that one additional part is used. The number (76) is the index number of the correlation part of the M11 functional. A maximum of three additional X/C functionals may be specified. If exchange and correlation are specified together then the second line can be skipped. A example for this case is the Keal-Tozer 1 functional with index number (167):
$dft
functional libxc 167
The functionals described in this section can be used in all modules of TURBOMOLE earlier limitations have been removed. This also applies to self-defined functionals.
Upon request a dynamically linked TURBOMOLE version which allows to use your own version of LibXC may be requested from support@turbomole.com.
Using a dynamically linked version one has to take special care of the second derivatives of metaGGAs, where the Fortran interface of LibXC is inconsistent. In TURBOMOLE the following ordering of second derivatives in the mGGA case is expected: v2rho2, v2sigma2, v2lapl2, v2tau2, v2rhosigma, v2rholapl, v2rhotau, v2sigmalapl, v2sigmatau, v2lapltau. This does only affect second derivatives of metaGGAs and may change upon future versions.
6.3.5 Exchange-Correlation Functionals from XCFun library
The XCFun library is taken from: https://github.com/dftlibs/xcfun
The current TURBOMOLE version uses XCFun 1.99 and enables the usage of individual mixtures of the available exchange and correlation functionals.
To trigger the usage of XCFun functionals, use the keyword xcfun in the $dft section:
$dft
functional xcfun set-gga
functional xcfun <name1> <factor1>
functional xcfun <name2> <factor2>
In addition to the name of the functional, it is necessary to tell TURBOMOLE whether the used functional is of GGA or MGGA type. Pure LDA functionals are currently not supported.
Available settings are:
functional xcfun set-gga– sets a GGA functionalfunctional xcfun set-mgga– sets a meta-GGA functionalfunctional xcfun set-hybrid 0.2– defines a hybrid functional with a portion of 0.2 of Hartree-Fock exchange
Add the switch for either GGA or meta-GGA but not both in the same input!
List of available XCFun functionals (copied from XCFun documentation), in arbitrary order:
slaterx -- Slater exchange
beckex -- Becke exchange
beckecorrx -- Becke GGA exchange
ktx -- Keal-Tozer exchange
pbex -- Perdew-Burke-Ernzerhof exchange
tpssx -- TPSS original exchange functional
m05x -- Truhlar M05 exchange
m05x2x -- Truhlar M05-2X exchange
m06x -- Truhlar M06 exchange
m06x2x -- Truhlar M06-2X exchange
m06lx -- Truhlar M06L exchange
m06hfx -- M06-HF Meta-Hybrid Exchange Functional
b97x -- B97 exchange
b97_1x -- B97-1 exchange
b97_2x -- B97-2 exchange
b97_dx -- B97-D exchange ($disp3 in addition required)
optx -- OPTX Handy & Cohen exchange GGA exchange functional
optxcorr -- OPTX Handy & Cohen exchange -- correction part only
brx -- Becke-Roussells exchange with jp dependence
brxc -- Becke-Roussells exchange and correlation with jp dependence
pw86xtot -- Perdew-Wang 86 GGA exchange including Slater part
pw91x -- Perdew-Wang 1991 GGA Exchange Functional
ldaerfx -- Short range exchange LDA functional
cam-b3lyp-xcfun -- range-separated hybrid version of B3LYP
vwn5c -- VWN5 correlation
vwn3c -- VWN3 correlation
lypc -- LYP correlation
pw91c -- PW91 Correlation
pw92c -- PW92 LDA correlation
pz81c -- PZ81 LDA correlation
pbec -- PBE correlation functional
vwn_pbec -- PBE correlation functional with VWN LDA correlation
spbec -- Simplified PBE correlation functional for use with the SSB functionals
tpssc -- TPSS original correlation functional
revtpssc -- Revised TPSS correlation functional
p86c -- P86C GGA correlation
m05c -- M05 Meta-Hybrid Correlation Functional
m05x2c -- M05-2X Meta-Hybrid Correlation Functional
m06c -- M06 Meta-Hybrid Correlation Functional
m06lc -- M06-L Meta GGA Correlation Functional
m06x2c -- M06-2X Meta-Hybrid Correlation Functional
csc -- Colle-Salvetti correlation functional
brc -- Becke-Roussells correlation with jp dependence
b97_1c -- B97-1 correlation
b97_2c -- B97-2 correlation
b97_dc -- B97-D correlation ($disp3 in addition required)
b97c -- B97 correlation
ldaerfc -- Short range correlation LDA functional
pw91k -- PW91 GGA Kinetic Energy Functional
btk -- Borgoo-Tozer kinetic energy functional
tfk -- Thomas-Fermi Kinetic Energy Functional
vW -- von Weizsaecker kinetic energy
Some common functionals are pre-defined in XCFun and their individual parts do not have to be set manually. Those aliases can be directly used as names with a following factor of 1.0:
blyp, pbe, bp86, kt1, kt2, kt3, pbe0, b3lyp, m06, m06-2x, m06L, b3lyp-g, b3p86, b97, b97d, olyp and some more.
Note that if the functional needs a portion of HF exchange, this has to be added manually in the control file using functional xcfun set-hybrid <number>
Example for B3-LYP using VWN3 instead of VWN5:
$dft
functional xcfun set-gga
functional xcfun b3lyp-g 1.0
functional xcfun set-hybrid 0.2
CAM-B3LYP from the XCfun may be used by using the shortcut:
$dft
functional cam-b3lyp
The functionals described in this section can be used for ground state energies, gradients and frequency calculations as well as TDDFT spectra. TDDFT analytic gradients are not yet supported up to TURBOMOLE version 7.4, please use the TURBOMOLE own functionals instead. Later versions of TURBOMOLE will support TDDFT analytic gradients from XCfun functionals.
Notes about range-separated hybrid functionals
TURBOMOLE now support RSHs in all modules. With RSHs the use of RI-K is not supported. Seminumerical ($senex etc.) exchange is fully supported for RSHs. For comments on local range separation see 6.3.3.
Notes about VV10 non-local correlation dependent functionals
For functionals using VV10 non-local correlation the following hints should be noted: VV10 can be included non-self-consistently (default) or self-consistently (keyword $doscnl). For energies non-self-consistent VV10 (default) usually is sufficient, while for geometry optimizations VV10 should be included self-consistently. define will automatically add $doscnl if the \(\omega\)b97x-V or \(\omega\)b97m-V functionals are selected. escf, egrad, mpshift and aoforce simply ignore VV10 non-local contributions which should be an excellent approximation in most cases. If $doscnl is added we strongly recommend the use of m-grids (e.g. m3 which is the default).
Notes about DFT-D3, gCP and functionals using those corrections
For details about the options of DFT-D3 please see section 6.8.
In the original TURBOMOLE implementation of the B97-D functional only energy and gradient calculations are possible due to missing higher derivatives of the functional itself. Using the XCFun version of B97-D, analytic 2nd derivatives using aoforceand TDDFT excited state energies are possible. The names in the $dft section are b97-d for the TURBOMOLE own version and b97d for the XCFun version. However, the total energies of those two flavours are slightly different due to the fact that the parameters used are either the originally published ones (TURBOMOLE) or re-computed (XCFun). For properties like geometries and frequencies the differences are negligible, but one should not mix the total energies.
The PBEh-3c functional needs, besides the functional name pbeh-3c also DFT-D3 dispersion correction including the three-body term and geometrical counterpoise correction method called gCP. For details see: Stefan Grimme, University Bonn. In order to get the full version of PBEh-3c, your control file has to include:
$dft
functional pbeh-3c
gridsize m4
$disp3 -bj -abc
Note: gcp is automatically added if pbeh-3c functional is used, but the D3 part has to be switched on manually by adding $disp3 as given above. It is, however, sufficient to use $disp3 -bj since the abc term is added automatically for PBEh-3c and B97-3c.
To use HF-3c ( R. Sure, S. Grimme, J. Comput. Chem. 2013, 34, 1672–1685), an input without DFT functional (and without $dft keyword) but with DFT-D3 correction is required. Calculations with and without RI are possible to perform, but due to the very small basis set non-RI calculations are usually as efficient as those with RI. Note that it is important to use the ’Minix’ basis set and to select hf-3c as functional name for DFT-D3:
$disp3 -bj func hf-3c
The gCP correction (H. Kruse, S. Grimme, J. Chem. Phys. 2012, 136, 154101) will by default be added to the DFT-D3 correction term if pbeh-3c or hf-3c is selected.