5.6 Range-Separated Hybrid Density Functionals

5.6.2 User-Defined RSH Functionals

As pointed out in Ref. 234 and elsewhere, the description of charge-transfer excited states within density functional theory (or more precisely, time-dependent DFT, which is discussed in Section 7.3) requires full (100%) non-local HF exchange, at least in the limit of large donor–acceptor distance. Hybrid functionals such as B3LYP54, 918 and PBE05 that are well-established and in widespread use, however, employ only 20% and 25% HF exchange, respectively. While these functionals provide excellent results for many ground-state properties, they cannot correctly describe the distance dependence of charge-transfer excitation energies, which are enormously underestimated by most common density functionals. This is a serious problem in any case, but it is a catastrophic problem in large molecules and in non-covalent clusters, where TDDFT often predicts a near-continuum of spurious, low-lying charge transfer states.528, 530 The problems with TDDFT’s description of charge transfer are not limited to large donor–acceptor distances, but have been observed at 2 Å separation, in systems as small as uracil–(H2O)4.528 Rydberg excitation energies also tend to be substantially underestimated by standard TDDFT.

One possible avenue by which to correct such problems is to parameterize functionals that contain 100% HF exchange, though few such functionals exist to date. An alternative option is to attempt to preserve the form of common GGAs and hybrid functionals at short range (i.e., keep the 25% HF exchange in PBE0) while incorporating 100% HF exchange at long range, which provides a rigorously correct description of the long-range distance dependence of charge-transfer excitation energies, but aims to avoid contaminating short-range exchange-correlation effects with additional HF exchange. The separation is accomplished using the range-separation ansatz that was introduced in Section 5.3. In particular, functionals that use 100% HF exchange at long range (cx,LR=1 in Eq. (5.13)) are known as “long-range-corrected” (LRC) functionals. An LRC version of PBE0 would, for example, have cx,SR=0.25.

To fully specify an LRC functional, one must choose a value for the range separation parameter ω in Eq. (5.12). In the limit ω0, the LRC functional in Eq. (5.13) reduces to a non-RSH functional where there is no “SR” or “LR”, because all exchange and correlation energies are evaluated using the full Coulomb operator, r12-1. Meanwhile the ω limit corresponds to a new functional, ExcRSH=Ec+ExHF. Full HF exchange is inappropriate for use with most contemporary GGA correlation functionals, so the latter limit is expected to perform quite poorly. Values of ω>1.0 bohr-1 are likely not worth considering, according to benchmark tests.534, 825

Evaluation of the short- and long-range HF exchange energies is straightforward,9 so the crux of any RSH functional is the form of the short-range GGA exchange functional, and several such functionals are available in Q-Chem. These include short-range variants of the B88 and PBE exchange described by Hirao and co-workers,413, 900 called μB88 and μPBE in Q-Chem,819 and an alternative formulation of short-range PBE exchange proposed by Scuseria and co-workers,370 which is known as ωPBE. These functionals are available in Q-Chem thanks to the efforts of the Herbert group.825, 826 By way of notation, the terms “μPBE”, “ωPBE”, etc., refer only to the short-range exchange functional, Ex,SRDFT in Eq. (5.13). These functionals could be used in “screened exchange” mode, as described in Section 5.3, as for example in the HSE03 functional,380 therefore the designation “LRC-ωPBE”, for example, should only be used when the short-range exchange functional ωPBE is combined with 100% Hartree-Fock exchange in the long range.

In general, LRC-DFT functionals have been shown to remove the near-continuum of spurious charge-transfer excited states that appear in large-scale TDDFT calculations.534 However, certain results depend sensitively upon the value of the range-separation parameter ω,534, 825, 826, 530, 978 especially in TDDFT calculations (Section 7.3) and therefore the results of LRC-DFT calculations must therefore be interpreted with caution, and probably for a range of ω values. This can be accomplished by requesting a functional that contains some short-range GGA exchange functional (ωPBE or μPBE, in the examples mentioned above), in combination with setting the $rem variable LRC_DFT = TRUE, which requests the addition of 100% Hartree-Fock exchange in the long-range. Basic job-control variables and an example can be found below. The value of the range-separation parameter is then controlled by the variable OMEGA, as shown in the examples below.

LRC_DFT
       Controls the application of long-range-corrected DFT
TYPE:
       LOGICAL
DEFAULT:
       FALSE
OPTIONS:
       FALSE (or 0) Do not apply long-range correction. TRUE (or 1) Add 100% long-range Hartree-Fock exchange to the requested functional.
RECOMMENDATION:
       The $rem variable OMEGA must also be specified, in order to set the range-separation parameter.

OMEGA
       Sets the range-separation parameter, ω, also known as μ, in functionals based on Hirao’s RSH scheme.
TYPE:
       INTEGER
DEFAULT:
       No default
OPTIONS:
       n Corresponding to ω=n/1000, in units of bohr-1
RECOMMENDATION:
       None

COMBINE_K
       Controls separate or combined builds for short-range and long-range K
TYPE:
       LOGICAL
DEFAULT:
       FALSE
OPTIONS:
       FALSE (or 0) Build short-range and long-range K separately (twice as expensive as a global hybrid) TRUE (or 1) Build short-range and long-range K together ( as expensive as a global hybrid)
RECOMMENDATION:
       Most pre-defined range-separated hybrid functionals in Q-Chem use this feature by default. However, if a user-specified RSH is desired, it is necessary to manually turn this feature on.

HFK_SR_COEF
       Sets the coefficient for short-range HF exchange
TYPE:
       INTEGER
DEFAULT:
       0
OPTIONS:
       n Corresponding to n/100000000
RECOMMENDATION:
       None

HFK_LR_COEF
       Sets the coefficient for long-range HF exchange
TYPE:
       INTEGER
DEFAULT:
       100000000
OPTIONS:
       n Corresponding to n/100000000
RECOMMENDATION:
       None

Example 5.6  Application of LRC-BOP to (H2O)2-.

$comment
The value of omega is 0.47 by default but can
be overwritten by specifying OMEGA.
$end

$molecule
-1 2
O           1.347338    -0.017773    -0.071860
H           1.824285     0.813088     0.117645
H           1.805176    -0.695567     0.461913
O          -1.523051    -0.002159    -0.090765
H          -0.544777    -0.024370    -0.165445
H          -1.682218     0.174228     0.849364
$end

$rem
   EXCHANGE      LRC-BOP
   BASIS         6-31(1+,3+)G*
   LRC_DFT       TRUE
   OMEGA         300      ! = 0.300 bohr**(-1)
$end

Rohrdanz et al.826 published a thorough benchmark study of both ground- and excited-state properties using the LRC-ωPBEh functional, in which the “h” indicates a short-range hybrid (i.e., the presence of some short-range HF exchange). Empirically-optimized parameters of cx,SR=0.2 (see Eq. (5.13)) and ω=0.2 bohr-1 were obtained,826 and these parameters are taken as the defaults for LRC-ωPBEh. Caution is warranted, however, especially in TDDFT calculations for large systems, as excitation energies for states that exhibit charge-transfer character can be rather sensitive to the precise value of ω.530, 826 In such cases (and maybe in general), the “tuning” procedure described in Section 5.6.3 is recommended.

Example 5.7  Application of LRC-ωPBEh to the C2H4C2F4 dimer at 5 Å separation.

$comment
    This example uses the "optimal" parameter set discussed above.
    It can also be run by setting METHOD = LRC-wPBEh.
$end

$molecule
0 1
C           0.670604    0.000000    0.000000
C          -0.670604    0.000000    0.000000
H           1.249222    0.929447    0.000000
H           1.249222   -0.929447    0.000000
H          -1.249222    0.929447    0.000000
H          -1.249222   -0.929447    0.000000
C           0.669726    0.000000    5.000000
C          -0.669726    0.000000    5.000000
F           1.401152    1.122634    5.000000
F           1.401152   -1.122634    5.000000
F          -1.401152   -1.122634    5.000000
F          -1.401152    1.122634    5.000000
$end

$rem
   EXCHANGE      GEN
   BASIS         6-31+G*
   LRC_DFT       TRUE
   OMEGA         200      ! = 0.2 a.u.
   CIS_N_ROOTS   4
   CIS_TRIPLETS  FALSE
$end

$xc_functional
   C  PBE   1.00
   X  wPBE  0.80
   X  HF    0.20
$end

Both LRC functionals and also the asymptotic corrections that will be discussed in Section 5.10.1 are thought to reduce self-interaction error in approximate DFT. A convenient way to quantify—or at least depict—this error is by plotting the DFT energy as a function of the (fractional) number of electrons, N, because E(N) should in principle consist of a sequence of line segments with abrupt changes in slope (the so-called derivative discontinuity175, 667) at integer values of N, but in practice these E(N) plots bow away from straight-line segments.175 Examination of such plots has been suggested as a means to adjust the fraction of short-range exchange in an LRC functional,26 while the range-separation parameter is tuned as described in Section 5.6.3.

FRACTIONAL_ELECTRON
       Add or subtract a fraction of an electron.
TYPE:
       INTEGER
DEFAULT:
       0
OPTIONS:
       0 Use an integer number of electrons. n Add n/1000 electrons to the system.
RECOMMENDATION:
       Use only if trying to generate E(N) plots. If n<0, a fraction of an electron is removed from the system.

Example 5.8  Example of a DFT job with a fractional number of electrons. Here, we make the -1.x anion of fluoride by subtracting a fraction of an electron from the HOMO of F2-.

$comment
   Subtracting a whole electron recovers the energy of F-.
   Adding electrons to the LUMO is possible as well.
$end

$rem
   EXCHANGE              b3lyp
   BASIS                 6-31+G*
   FRACTIONAL_ELECTRON  -500   ! divide by 1000 to get the fraction, -0.5 here.
   GEN_SCFMAN            FALSE ! not yet available in new scf code
$end

$molecule
-2 2
F
$end