MBPT scheme


This page describes technical aspects of the MBPT (Many-Body Perturbation Theory) module which is used in double-hybrid and MP2, RPA and G0W0 calculations. In order to use double-hybrids, MP2 or RPA in your calculation you should request it in the XC input block. In order to perform a G0W0 calculation, you should request it with the GW input block.


The RPA correlation energy is calculated incorrectly in AMS2020.101-AMS2020.103. The RPA correlation energy in these versions was calculated a factor 2 too large. This bug is fixed in the bug fix release of AMS2020 with revision number r95864 or later.

ADF implements RPA, G0W0, and SOS-MP2 (spin-opposite-scaled) using a newly designed algorithm which in all cases scales quadratically with system size [1] [3]. Full MP2 is at the moment only implemented using the canonical RI-algorithm which scales to the fifth power with system size. Thus, we strongly discourage using full MP2 or double-hybrids employing full MP2 for system larger than 1000-15000 basis functions. At the moment ADF features a large number of double-hybrids using SOS-MP2 only (For a list of implemented functionals see XC input block) which are significantly faster than conventional double-hybrids while offering the same level of accuracy [2].

RPA can not be used icw relativistic effects. G0W0, MP2 and double-hybrid functionals can be used icw scalar relativistic effects within the ZORA formalism, but can not be used icw spin-orbit coupling.

The Formalism used in the double-hybrid calculation can be changed using the Formalism key. By default, ADF selects the most appropriate algorithm for your system and functional.

The calculation of the independent-particle polarizability or Kohn-Sham density response function in imaginary time is the key step in SOS-MP2, RPA and G0W0. The equations are solved in the atomic orbital basis exploiting sparsity via advanced density fitting techniques (so-called pair-atomic resolution of the identity or pair-atomic density fitting). In case of a SOS-MP2 or RPA calculation, the polarizability is than contracted with the Coulomb potential. For SOS-MP2, the correlation energy is then immediately evaluated in imaginary time while in a RPA calculation the product of Coulomb potential and polarizability is Fourier transformed to the imaginary frequency axis where the correlation energy is evaluated using a matrix logarithm. In a G0W0 calculation, the polarizability is Fourier transformed to the imaginary frequency axis as well where the so-called screened interaction is calculated. The QP states are then evaluated along the real-frequency axis using analytical continuation techniques.

The sizes of the imaginary time and imaginary frequency grids can be controlled with the nTime and nFrequency keys. In case of SOS-MP2, nFrequency is ignored. Since RPA and G0W0 usually required more grids for converged energies or quasi-particle energies, respectively, the default for both grids is set to 12 points. For SOS-MP2, the default is 9 points. These defaults guarantee convergence for most molecules. The number of grid-points should be increased in case of a small HOMO-LUMO gap and/or all-electron calculation including heavy elements (starting from 4th rows of the periodic table). Note, that ADF adjusts the grid-sizes at run-time when the grids do not converge, which can happen when not enough grid-points are requested. However, when default settings are used, this procedure is hidden from the user. Only when grid-sizes are requested in the MBPT block, a warning is printed, stating that different grids have been used than requested in the input.

   Formalism [Auto | RI | LT | All]
   nTime integer
   nFrequency integer
   FitSetQuality [Auto | VeryBasic | Basic | Normal | Good | VeryGood]
   IntegrationQuality [VeryBasic | Basic | Normal | Good | VeryGood]
   ThresholdQuality [VeryBasic | Basic | Normal | Good | VeryGood]
Description:Technical aspects of the MP2 algorithm.
Type:Multiple Choice
Default value:Auto
Options:[Auto, RI, LT, All]
Description:Specifies the formalism for the calculation of the MP2 correlation energy. ‘LT’ means Laplace Transformed MP2 (also referred to as AO-PARI-MP2), ‘RI’ means that a conventional RI-MP2 is carried out. If ‘Auto’, LT will be used in case of DOD double hybrids and SOS MP2, and RI will be used in all other cases. ‘All’ means that both RI and LT formalisms are used in the calculation. For a RPA or GW calculation, the formalism is always LT, irrespective of the formalism specified with this key.
GUI name:Number of time points
Description:Number of imaginary time points (only relevant in case the Laplace Transformed (LT) formalism is used). In the many-body-perturbation theory module in ADF, the polarizability (or Kohn-Sham density response function) is evaluated in imaginary time to exploit sparsity in the AO basis. For MP2, this is often referred to as a Laplace transform. For MP2, 9 points are the default. This is a safe choice, guaranteeing accuracies higher than 1 Kj/mol for most systems (For many simple organic systems, 6 points are sufficient for good accuracy). Only for systems with a very small HOMO-LUMO gap or low-lying core states (heavy elements starting from the 4th row of the periodic table) more points might be necessary. In principle, the same considerations apply for RPA and GW as well, however, the accuracy requirements are somewhat higher and 12 point is the default. Using less than 9 points is strongly discouraged except for the simplest molecules. In ADF2019, it can happen that the algorithm determining the imaginary time grid does not converge. In this case, the usual reason is that the number of points is too small and more points need to be specified. Starting from AMS2020, this does not happen any more. In case the imaginary time grid does not converge, the number of points is automatically adjusted until it does. The computation time of AO-PARI-MP2, RPA, and GW scales linearly with the number of imaginary time points.
Default value:12
Description:Number of imaginary frequency points. This key is only relevant for RPA and GW and will be ignored if used in an AO-PARI-MP2 calculation. As for the imaginary time grids, the default is 12 points. It is technically possible to use a different number of imaginary frequency points than for imaginary time. The maximum number of points which can be used for imaginary frequency integration is 19. Important note: The compuation time and memory requirements roughyl scale linearly with the number of imaginary frequency points. However, memory can be an issue for RPA and GW when the number of imaginary frequency points is high. In case a job crashes, it is advised to increase the number of nodes since the necessary memory distributes over all nodes.
Type:Multiple Choice
Default value:Auto
Options:[Auto, VeryBasic, Basic, Normal, Good, VeryGood]
Description:Specifies the fit set to be used in the MP2 calculation. ‘Normal’ quality is generally sufficient for basis sets up to and including TZ2P. For larger basis sets (or for benchmarking purposes) a ‘VeryGood’ fit set is recommended. Note that the FitSetQuality heavily influences the computational cost of the calculation. If not specified or ‘Auto’, the RIHartreeFock%FitSetQuality is used.
Type:Multiple Choice
Options:[VeryBasic, Basic, Normal, Good, VeryGood]
Description:Specifies the integration quality to be used in the MP2 calculation. If not specified, the RIHartreeFock%IntegrationQuality is used.
Type:Multiple Choice
Options:[VeryBasic, Basic, Normal, Good, VeryGood]
Description:Controls the distances between atomic centers for which the product of two basis functions is not fitted any more. Especially for spatially extended, large systems, ‘VERYBASIC’ and ‘BASIC’ can lead to large computational savings, but the fit is also more approximate. This keyword is only meaningful when the LT formalism is used. If not specified, the RIHartreeFock%ThresholdQuality is used.


[1]A. Förster, M. Franchini, E. van Lenthe, L. Visscher, A Quadratic Pair Atomic Resolution of the Identity Based SOS-AO-MP2 Algorithm Using Slater Type Orbitals, Journal of Chemical Theory and Computation 16 875-891 (2020)
[2]A. Förster, L. Visscher, Double hybrid DFT calculations with Slater type orbitals, Journal of Computational Chemistry 41 1660-1684 (2020)
[3]A. Förster, L. Visscher, Low-Order Scaling G0W0 by Pair Atomic Density Fitting, Journal of Chemical Theory and Computation XX XXX (2020)