13 Fragment-Based Methods

13.14 Energy Decomposition Analysis based on SAPT/cDFT

Many schemes for decomposing quantum chemical calculations of intermolecular interaction energies into physically meaningful components can be found in the literature, but the definition of the charge-transfer (CT) contribution has proven particularly vexing to define in a satisfactory way and typically depends strongly on the choice of basis set,790, 776, 528 because as virtual orbitals on monomer A start to extend significantly over monomer B as the basis set approaches completeness, the distinction between polarization (excitations localized on A, introduced by the perturbing influence of B) and CT (excitations from A to B) becomes blurred.528 This ambiguity renders orbital-dependent definitions of CT highly dependent on the choice of atomic orbital basis set. On the other hand, constrained density functional theory (cDFT, Section 5.13),445 by means of which a CT-free reference state can be defined based on “promolecule” densities, affords a definition of CT that is scarcely dependent on the basis set and is in accord with chemical intuition in simple cases.528

For intermolecular interactions, the cDFT definition of CT can be combined with a definition of the remaining components of the interaction energy (electrostatics, induction, Pauli repulsion, and van der Waals interactions) based on symmetry-adapted perturbation theory (SAPT, Section 13.12). In traditional SAPT, the CT interaction energy resides within the induction energy (also known as the polarization energy), which is therefore itself highly dependent upon the basis set. However, using cDFT to define the CT component and subtracting this out of the SAPT induction energy, both the CT and the remaining induction energies are largely independent of basis set.528 SAPT/cDFT therefore provides a stable and physically-motivated energy decomposition.

While the cDFT definition of CT exhibits only a very mild basis-set dependence, its quantitative details do depend upon how the charge constraints in cDFT are defined relative to fragment populations (Section 5.13). For SAPT/cDFT, both atomic Becke66 and fragment-based Hirshfeld776 (FBH) charge partitioning methods are available. The former involves construction of atomic cell functions that amount to smoothed Voronoi polyhedra centered about each atom. A switching function defines the atomic cell of atom a, and falls rapidly from 1 near the nucleus for atom a, to 0 near any other nucleus. Becke66 defined atomic cell functions Pa(𝐫) that are products of switching functions and that can be used to define the cDFT integration weight for monomer A by summing over atoms aA:

wABecke(𝐫)=aAPa(𝐫)bPb(𝐫). (13.51)

The sum in the denominator runs over all atoms in both monomers, A and B. Becke populations, however, are rooted in a somewhat arbitrarily-defined topology, based in part on assumed atomic radii, whereas FBH partitioning derives physical significance from isolated monomer densities ρ~A(𝐫) and ρ~B(𝐫). The cDFT weight function for monomer A is776

wAFBH(𝐫)=ρ~A(𝐫)ρ~A(𝐫)+ρ~B(𝐫), (13.52)

which is the same “stockholder” scheme used to define atomic Hirshfeld populations (Section 11.2.1), but applied here to the entire monomer. In the language of cDFT, the denominator in this expression would be called the promolecule density for the dimer A+B. In order to set a molecular fragment constraint, simply retain the existing syntax in the $cdft input section (as described in Section 5.13) and specify all atoms within a given molecular fragment.

Due to the fact that Becke populations are rooted in a topological scheme based in part on assumed atomic radii, it is highly recommended that if CDFT_POP is set to BECKE, the rem variable BECKE_SHIFT should be set to use either the empirically derived Bragg-Slater radii843 or ab initio derived radii based on the universal density criterion693 (see Section 11.2.1 for more details). Using the UNSHIFTED (default) scheme can lead to highly unphysical results, including a charge-transfer vector that points in the opposite direction.

To perform SAPT/cDFT energy decomposition analysis, the user must request a normal SAPT or XSAPT calculation (JOBTYPE = XSAPT), and in addition specify the keyword CDFT-EDA in the $sapt input section. Users of this method are asked to cite Ref. 528.

CDFT-EDA
       Requests a SAPT/cDFT-based energy decomposition analysis.
INPUT SECTION: $sapt
TYPE:
       None
DEFAULT:
       Not specified
OPTIONS:
       The analysis is performed if the keyword is set.
RECOMMENDATION:
       None

As shown in the example below, a $cdft input section is also required in order to specify the monomer charges and spins for the cDFT part of the calculation. The CDFT_POP variable may be set (in the $rem section) in order to specify the electron-counting mechanism for cDFT. The options are either to use atomic Becke populations (as in traditional cDFT calculations445), summed up for each monomer, or else fragment-based Hirshfeld partitioning in which promolecule densities for the monomers are used to obtain a whole-molecule version of Hirshfeld atomic charges.

CDFT_POP
       Sets the charge partitioning scheme for cDFT in SAPT/cDFT
TYPE:
       STRING
DEFAULT:
       FBH
OPTIONS:
       FBH Fragment-Based Hirshfeld partitioning BECKE Atomic Becke partitioning
RECOMMENDATION:
       None

Example 13.30  Energy decomposition analysis for the water dimer using AO-SAPT+aiD3/cDFT. The $cdft input section is required in order to specify the monomer charges and spins for the cDFT segment of the calculation.

$molecule
0 1
--
   0 1
   O   -0.702196054  -0.056060256   0.009942262
   H   -1.022193224   0.846775782  -0.011488714
   H    0.257521062   0.042121496   0.005218999
--
0 1
   O    2.220871067   0.026716792   0.000620476
   H    2.597492682  -0.411663274   0.766744858
   H    2.593135384  -0.449496183  -0.744782026
$end

$rem
   JOBTYPE            XSAPT
   EXCHANGE           gen
   BASIS              aug-cc-pvdz
   LRC_DFT            true
   CDFT_POP           FBH ! Fragment-Based Hirshfeld charge partitioning
$end

$xpol
  embed     none
  print     3
  dft-lrc
$end

$sapt
  algorithm     AO
  EmpiricalDisp 3
  order         2
  basis         dimer
  cdft-eda
  print         3
$end

$xc_functional
   x   wPBE   1.0
   c    PBE   1.0
$end

$lrc_omega
   500
   500
$end

$cdft
   0
   1 1 3
   0
   1 1 3 s
$end