Second-order Møller–Plesset Perturbation Theory (MP2) corrects errors introduced by the mean-field ansatz of the Hartree–Fock (HF) theory. The perturbation operator is the difference the full electronic Hamiltonian and the Fock operator for occupied/occupied and virtual/virtual block. The MP2 energy is (in spin orbitals) given by:
with the doubles amplitudes
i and j denote occupied, a and b virtual orbitals, ϵp are the corresponding orbital energies, and ⟨ij||ab⟩ = ⟨ij|ab⟩-⟨ij|ba⟩ are four-center two-electron repulsion integrals.
MP2 gradients (necessary for optimisation of structure parameters) are calculated as analytical derivatives of the MP2 energy with respect to nuclear coordinates. Calulation of these derivatives also yields the first order perturbed wave function, expressed as “MP2 density matrix”, in analogy to the HF density matrix. MP2 corrections to first-order properties like electric moments or atomic populations are obtained from the density matrix in the same way as for Hartree-Fock.
The “resolution of the identity (RI) approximation” means expansion of products of virtual and occupied orbitals in a basis of auxiliary functions. The calculation and transformation of the four-center two-electron integrals (see above) is replaced by that of three-center integrals, which leads to computational savings of RI-MP2 compared to a conventional MP2 calculations by a factor of ca. 5 (small basis sets like SVP) to ca. 10 (large basis sets like TZVPP) and more (for quadruple-ζ and larger basis sets). The RI errors—i.e. the errors due to the RI approximation—are with optimised auxliliary basis sets small and well documented [131,132]. The use of the mpgrad program is therefore only recommended for reference calculations or if suitable auxiliary basis sets are not available.
The OSV-PNO-MP2 implementation in the pnoccsd program is meant for large systems with ≿ 100 atoms where the costs for RI-MP2 calculations become unreasonable large. The OSV-PNO-MP2 implementation uses four additional approximations to reduce the scaling of the computational costs with the system size to about (3):
|∑ bDabijd bbij = n bijd abij||(9.3)|
|∑ bDabiid bi = nid ai||(9.4)|