Symmetryadapted perturbation theory (SAPT) is a theory of intermolecular interactions. When computing intermolecular interaction energies one typically computes the energy of two molecules infinitely separated and in contact, then computes the interaction energy by subtraction. SAPT, in contrast, is a perturbative expression for the interaction energy itself. The various terms in the perturbation series are physically meaningful, and this decomposition of the interaction energy can aid in the interpretation of the results. A brief overview of the theory is given below; for additional technical details, the reader is referred to Jeziorski et al. [772, 752]. Additional context can be found in a pair of more recent review articles [753, 773].
In SAPT, the Hamiltonian for the dimer is written as
(12.9) 
where and are MøllerPlesset fluctuation operators for fragments and , whereas consists of the intermolecular Coulomb operators. This part of the perturbation is conveniently expressed as
(12.10) 
with
(12.11) 
The quantity is the nuclear interaction energy between the two fragments and
(12.12) 
describes the interaction of electron with nucleus .
Starting from a zerothorder Hamiltonian and zerothorder wave functions that are direct products of monomer wave functions, , the SAPT approach is based on a symmetrized RayleighSchrödinger perturbation expansion [772, 752] with respect to the perturbation parameters , , and in Eq. eq:H_SAPT. The resulting interaction energy can be expressed as[772, 752]
(12.13) 
Because it makes no sense to treat and at different orders of perturbation theory, there are only two indices in this expansion: for the monomer fluctuations potentials and for the intermolecular perturbation. The terms are known collectively as the polarization expansion, and these are precisely the same terms that would appear in ordinary RayleighSchrödinger perturbation theory, which is valid when the monomers are wellseparated. The polarization expansion contains electrostatic, induction and dispersion interactions, but in the symmetrized RayleighSchrödinger expansion, each term has a corresponding exchange term, , that arises from an antisymmetrizer that is introduced in order to project away the Pauliforbidden components of the interaction energy that would otherwise appear [752].
The version of SAPT that is implemented in QChem assumes that , an approach that is usually called SAPT0 [773]. Within the SAPT0 formalism, the interaction energy is formally expressed by the following symmetrized RayleighSchrödinger expansion [772, 752]:
(12.14) 
The antisymmetrizer in this expression can be written as
(12.15) 
where and are antisymmetrizers for the two monomers and is a sum of all oneelectron exchange operators between the two monomers. The operator in Eq. eq:AB_antisymmetrizer denotes all of the threeelectron and higherorder exchanges. This operator is neglected in what is known as the “singleexchange” approximation [772, 752], which is expected to be quite accurate at typical van der Waals and larger intermolecular separations, but sometimes breaks down at smaller intermolecular separations [774].
Only terms up to in Eq. eq:E(SRS)—that is, second order in the intermolecular interaction—have been implemented in QChem. It is common to relabel these loworder terms in the following way [cf. Eq. eq:triple_pert]:
(12.16) 
The electrostatic part of the firstorder energy correction is denoted and represents the Coulomb interaction between the two monomer electron densities [752]. The quantity is the corresponding firstorder (i.e., HartreeFock) exchange correction. Explicit formulas for these corrections can be found in Ref. Jeziorski:1993. The secondorder term from the polarization expansion, denoted in Eq. eq:SAPT_interaction, consists of a dispersion contribution (which arises for the first time at second order) as well as a secondorder correction for induction. The latter can be written
(12.17) 
where the notation , for example, indicates that the frozen charge density of polarizes the density of . In detail,
(12.18) 
where
(12.19) 
and . The second term in Eq. eq:E(2)_ind, in which polarizes , is obtained by interchanging labels [751]. The secondorder dispersion correction has a form reminiscent of the MP2 correlation energy:
(12.20) 
The induction and dispersion corrections both have accompanying exchange corrections (exchangeinduction and exchangedispersion) [772, 752].
The similarity between Eq. eq:E(2)_disp and the MP2 correlation energy means that SAPT jobs, like MP2 calculations, can be greatly accelerated using resolutionofidentity (RI) techniques, and an RI version of SAPT is available in QChem. To use it, one must specify an auxiliary basis set. The same ones used for RIMP2 work equally well for RISAPT, but one should always select the auxiliary basis set that is tailored for use with the primary basis of interest, as in the RIMP2 examples in Section 5.5.1.
It is common to replace and in Eq. eq:SAPT_interaction with their “response” () analogues, which are the infiniteorder correction for polarization arising from a frozen partner density [772, 752]. Operationally, this substitution involves replacing the secondorder induction amplitudes, in Eq. eq:E(2)_ind_A<B, with amplitudes obtained from solution of the coupledperturbed HartreeFock equations [499]. (The perturbation is simply the electrostatic potential of the other monomer.) In addition, it is common to correct the SAPT0 binding energy for higherorder polarization effects by adding a correction term of the form [752, 773]
(12.21) 
to the interaction energy. Here, is the counterpoisecorrected HartreeFock binding energy for . Both the response corrections and the correction are optionall available in QChem’s implementation of SAPT.
It is tempting to replace HartreeFock MOs and eigenvalues in the SAPT0 formulas with their KohnSham counterparts, as a lowcost means of introducing monomer electron correlation. The resulting procedure is known as SAPT(KS) [775], and does offer an improvement on SAPT0 for some strongly hydrogenbonded systems [520]. Unfortunately, SAPT(KS) results are generally in poor agreement with benchmark dispersion energies [520], owing to incorrect asymptotic behavior of approximate exchangecorrelation potentials [776]. The dispersion energies can be greatly improved through the use of longrange corrected (LRC) functionals in which the rangeseparation parameter, , is “tuned” so as to satisfy the condition , where is the HOMO energy and “IP" represents the ionization potential [777]. Monomerspecific values of , tuned using the individual monomer IPs, substantially improve SAPT(KS) dispersion energies, though the results are still not of benchmark quality [777]. Other components of the interaction energy, however, can be described quite accurately SAPT(KS) in conjunction with a tuned version of LRCPBE [777]. Use of monomerspecific values is controlled by the variable XPOL_OMEGA in the $rem section, and individual values are entered via an $lrc_omega input section. The omega values of monomers at geometries optimized at RIMP2/augccpVDZ using LRCPBE functional based on condition are listed in Table 12.1.
Monomer 
/ 
adenine 
0.271 
2aminopyridine 
0.293 
benzene 
0.280 
ethyne 
0.397 
ethene 
0.359 
methane 
0.454 
formamide 
0.460 
formic acid 
0.412 
water 
0.502 
HCN 
0.452 
indole 
0.267 
ammonia 
0.440 
phenol 
0.292 
pyrazine 
0.367 
2pyridoxine 
0.294 
thymine 
0.284 
uracil 
0.295 

0.397 

0.438 

0.453 

0.381 
cyclopentane 
0.420 
neopentane 
0.287 
pentane 
0.365 
peptide 
0.341 
pyridine 
0.316 
F 
0.480 
Cl 
0.372 
SO 
0.344 
Li 
2.006 
Na 
1.049 
K 
0.755 
Finally, some discussion of basis sets is warranted. Typically, SAPT calculations are performed in the socalled dimercentered basis set (DCBS) [778], which means that the combined basis set is used to calculate the zerothorder wave functions for both and . This leads to the unusual situation that there are more MOs than basis functions: one set of occupied and virtual MOs for each monomer, both expanded in the same (dimer) AO basis. As an alternative to the DCBS, one might calculate using only ’s basis functions (similarly for ), in which case the SAPT calculation is said to employ the monomercentered basis set (MCBS) [778]. However, MCBS results are generally of poorer quality. As an efficient alternative to the DCBS, Jacobson and Herbert [751] introduced a projected (“proj”) basis set, borrowing an idea from dualbasis MP2 calculations [233]. In this approach, the SCF iterations are performed in the MCBS but then Fock matrices for fragments and are constructed in the dimer () basis set and “pseudocanonicalized", meaning that the occupiedoccupied and virtualvirtual blocks of these matrices are diagonalized. This procedure does not mix occupied and virtual orbitals, and thus leaves the fragment densities and and zerothorder fragment energies unchanged. However, it does provide a larger set of virtual orbitals that extend over the partner fragment. This larger virtual space is then used to evaluate the perturbative corrections. All three of these basis options (MCBS, DCBS, and projected basis) are available in QChem.
QChem’s implementation of SAPT0 was designed from the start as a correction for XPol calculations, a functionality that is described in Section 12.9. As such, a SAPT calculation is requested by setting both of the $rem variable SAPT and XPOL to TRUE. (Alternatively, one may set RISAPT=TRUE to use the RI version of SAPT.) If one wishes to perform a traditional SAPT calculation based on gasphase SCF monomer wave functions rather than XPol monomer wave functions, then the $rem variable XPOL_MPOL_ORDER should be set to GAS.
SAPT energy components are printed separately at the end of a SAPT job. If EXCHANGE = HF, then the calculation corresponds to SAPT0, whereas a SAPT(KS) calculation is requested by specifying the desired density functional. [Note that metaGGAs are not yet available for SAPT(KS) calculations in QChem.] At present, only singlepoint energies for closedshell (restricted) calculations are possible. Frozen orbitals are also unavailable.
Researchers who use QChem’s SAPT code are asked to cite Refs. Jacobson:2011 and Herbert:2012.
SAPT
Requests a SAPT calculation.
TYPE:
BOOLEAN
DEFAULT:
FALSE
OPTIONS:
TRUE
Run a SAPT calculation.
FALSE
Do not run SAPT.
RECOMMENDATION:
If SAPT is set to TRUE, one should also specify XPOL=TRUE and XPOL_MPOL_ORDER=GAS.
RISAPT
Requests an RISAPT calculation
TYPE:
BOOLEAN
DEFAULT:
FALSE
OPTIONS:
TRUE
Compute fourindex integrals using the RI approximation.
FALSE
Do not use RI.
RECOMMENDATION:
Set to TRUE if an appropriate auxiliary basis set is available, as RISAPT is much faster and affords negligible errors (as compared to ordinary SAPT) if the auxiliary basis set is matched to the primary basis set. (The former must be specified using AUX_BASIS.)
SAPT_ORDER
Selects the order in perturbation theory for a SAPT calculation.
TYPE:
STRING
DEFAULT:
SAPT2
OPTIONS:
SAPT1
First order SAPT.
SAPT2
Second order SAPT.
ELST
Firstorder RayleighSchrödinger perturbation theory.
RSPT
Secondorder RayleighSchrödinger perturbation theory.
RECOMMENDATION:
SAPT2 is the most meaningful.
SAPT_EXCHANGE
Selects the type of firstorder exchange that is used in a SAPT calculation.
TYPE:
STRING
DEFAULT:
S_SQUARED
OPTIONS:
S_SQUARED
Compute first order exchange in the singleexchange (“") approximation.
S_INVERSE
Compute the exact first order exchange.
RECOMMENDATION:
The singleexchange approximation is expected to be adequate except possibly at very short intermolecular distances, and is somewhat faster to compute.
SAPT_BASIS
Controls the MO basis used for SAPT corrections.
TYPE:
STRING
DEFAULT:
MONOMER
OPTIONS:
MONOMER
Monomercentered basis set (MCBS).
DIMER
Dimercentered basis set (DCBS).
PROJECTED
Projected basis set.
RECOMMENDATION:
The DCBS is more costly than the MCBS and can only be used with XPOL_MPOL_ORDER=GAS (i.e., it is not available for use with XPol). The PROJECTED choice is an efficient compromise that is available for use with XPol.
SAPT_CPHF
Requests that the secondorder corrections and be replaced by their infiniteorder “response” analogues, and .
TYPE:
BOOLEAN
DEFAULT:
FALSE
OPTIONS:
TRUE
Evaluate the response corrections and use and
FALSE
Omit these corrections and use and .
RECOMMENDATION:
Computing the response corrections requires solving CPHF equations for pair of monomers, which is somewhat expensive but may improve the accuracy when the monomers are polar.
SAPT_DSCF
Request the correction
TYPE:
BOOLEAN
DEFAULT:
FALSE
OPTIONS:
TRUE
Evaluate this correction.
FALSE
Omit this correction.
RECOMMENDATION:
Evaluating the correction requires an SCF calculation on the entire (super)system. This corrections effectively yields a “HartreeFock plus dispersion” estimate of the interaction energy.
SAPT_PRINT
Controls level of printing in SAPT.
TYPE:
INTEGER
DEFAULT:
1
OPTIONS:
Integer print level
RECOMMENDATION:
Larger values generate additional output.
Example 12.282 Example showing a SAPT0 calculation using the RI approximation in a DCBS.
$rem BASIS AUGCCPVDZ AUX_BASIS RIMP2AUGCCPVDZ METHOD HF RISAPT TRUE XPOL TRUE XPOL_MPOL_ORDER GAS ! gasphase monomer wave functions SAPT_BASIS DIMER SYM_IGNORE TRUE $end $molecule 0 1  formamide 0 1 C 2.018649 0.052883 0.000000 O 1.452200 1.143634 0.000000 N 1.407770 1.142484 0.000000 H 1.964596 1.977036 0.000000 H 0.387244 1.207782 0.000000 H 3.117061 0.013701 0.000000  formamide 0 1 C 2.018649 0.052883 0.000000 O 1.452200 1.143634 0.000000 N 1.407770 1.142484 0.000000 H 1.964596 1.977036 0.000000 H 0.387244 1.207782 0.000000 H 3.117061 0.013701 0.000000 $end