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 GW calculation, you should request it in the GW input block.
The RPA correlation energy is calculated incorrectly in AMS2021.101-AMS2021.102. The RPA correlation energy in these versions was calculated a factor 2 too large. This bug is fixed in the bug fix release of AMS2021 with revision number r95877 or later.
ADF implements RPA, GW, and SOS-MP2 (spin-opposite-scaled) using a newly designed algorithm which in all cases scales quadratically with system size  . 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-1500 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 .
GW, MP2, RPA 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.
Recommended numerical settings¶
For all calculations using the MBPT scheme (which includes GW, RPA, MP2, and double hybrids), we recommend to consider the following points:
Always remove linear dependencies, using the
Dependency key. For example
DEPENDENCY BAS 5e-04 END
There is also the option to choose a different numerical quality for the MBPT and the preceding DFT calculation:
MBPT NumericalQuality Good END
sets the numerical quality to Good only for the GW calculation. More info can be found in the MBPT input block section.
The sizes of the imaginary time and imaginary frequency grids can be controlled with the
nFrequency keys. For example:
MBPT nTime 32 nFrequency 32 END
In case of SOS-MP2,
nFrequency is ignored. For SOS-MP2, the default is 9 points. The numerical quality automatically sets the number of grid points for imaginary time and frequency integration in case of a GW or RPA calculation:
|“Numerical quality”||“Number of points”|
For a MP2 or double hybrid calculation, see default is always 9 points, independently of the numerical quality. Note, that the requirements for this parameter are in general lower than for a GW or RPA calculation.
Note the following: The number of points actually used in a calculation can differ. At runtime, the MBPT algorithm decides what is the maximum number of integration points which is reasonable to use. So the actual number of points which has been used will be equal or smaller. In case the number of points is set by hand, some info is printed in the output. In case of a GW calculation, the numbers of points can also be found in adf.log file in the
GW section under the names
Changing the defaults can be necessary in case your system contains 4th row elements or heavier and/or your basis set is very large and/or your system has a very small HOMO-LUMO gap. For a GW calculation, 24 points should be sufficient for 5th row elements. 32 points might be required for 6th row elements. The maximum number of points which can be used is 42. For a MP2 calculation, 16 points will usually be sufficient if your systems contains 4th row elements, and 20 points will usually suffice in case of 5th row elements. Note, that also a very small HOMO-LUMO
MBPT Formalism [Auto | RI | LT | All] nTime integer nFrequency integer FitSetQuality [Auto | VeryBasic | Basic | Normal | Good | VeryGood | Excellent] IntegrationQuality [VeryBasic | Basic | Normal | Good | VeryGood] ThresholdQuality [VeryBasic | Basic | Normal | Good | VeryGood] End
Type: Block 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.
Type: Integer 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 are the default for RPA. In a GW calculation, the number of points is adjusted according to the numerical quality. 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.
Type: Integer 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. 12 Points is the default for a RPA calculation. 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 requested for imaginary frequency integration is 42. Important note: The computation 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, Excellent] Description: Specifies the fit set to be used in the MBPT 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 MBPT 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, 2) 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)|
|||A. Förster, L. Visscher, Double hybrid DFT calculations with Slater type orbitals, Journal of Computational Chemistry 41 1660-1684 (2020)|
|||A. Förster, L. Visscher, Low-order scaling |G0W0| by pair atomic density fitting, Journal of Chemical Theory and Computation 16 (12), 7381 (2020)|