GW¶
General¶
This page describes the basic procedure, usage and scope of a GW calculation. Technical details of the algorithm can be tweaked in the MBPT input block. Note, that evGW and evGW0 calculations are only available in AMS2021.1. G0W0 is also available in AMS2020.
See also
Tutorial: Accurate Ionization Potential and Electron Affinity with G0W0
Example: G0W0@PBE calculation: H2O, Example: G0W0@PBE0 calculation: Phenol, Example: G0W0@PBE0 calculation: O3 and Example: evGW@M06-2X calculation: H2O
The GW method is a relatively accurate method to obtain information about so-called charged excitations, or single-particle excitations. We refer to them as Quasi-particle energies. These are especially important to interpret and predict the outcome of direct and inverse photo-emission spectroscopy and can be used to obtain e.g. very accurate ionization potentials and electron affinities which gives access to the so-called fundamental gap (not to be confused with the optical gap).
Should not be used for open shell systems.
GW can be used icw scalar relativistic effects within the ZORA
, X2C
, or RA-X2C
formalism, but can not be used icw spin-orbit coupling.
In practice, fully self-consistent GW is rarely used for molecular systems. Instead, perturbative approximations, so called quasi-particle GW methods are used since they are cheaper and also more accurate than fully self-consistent GW. The most popular approach is G0W0 [1], in which quasi-particle energies are obtained as a one-shot perturbative correction to KS eigenvalues. A downside of this approach is the rather pronounced starting-point dependence. This can be overcome to a large extend in eigenvalue-only self-consistent GW (evGW), in which the quasi-particle energies (but not the density) are iteratively updated until self-consistency is reached. In practice, usually 5-10 iterations are needed for convergence, which makes this approach a factor of 5 to 10 more expensive than G0W0.
A G0W0 calculation as implemented in ADF proceeds in five steps. This is also known as the as G0W0 space-time method. Our implementation is closely related to the scheme outlined in [4].
A DFT single-point calculation is performed. This can be an LDA, GGA or hybrid calculation. At the moment, ADF does not support the use of LibXC and XCfun. Valid choices could be LDA, PBE, BLYP, PBE0, BHandHLYP and many more. The default is LDA. As usual, the functional to be used during the SCF is requested in the XC input block block. The following requests a G0W0 calculation with default settings using a PBE reference:
XC GGA PBE END GW End
From the KS orbitals and orbital energies, a Green’s function (G) is evaluated and from the Green’s function the so-called independent-particle polarizability is calculated. This is done in imaginary time.
The polarizability is Fourier transformed to the imaginary frequency axis where the screened Coulomb potential (W) is evaluated using the Coulomb potential and the polarizability.
The screened Coulomb potential is Fourier transformed to imaginary time. Here, the self-energy is calculated using G and W (that why it is called GW) which gives access to spectroscopic properties.
The self-energy is transformed to the molecular orbital basis from where it is Fourier transformed to the imaginary frequency axis from where it is analytically continued to the complex plane. Along the real frequency axis, the quasi-particle energies are evaluated.
In case of evGW, the input KS eigenvalues are replaced by the quasi-particle energies from the previous iteration and the scheme is iterated until self-consistency in the quasi-particle energies is reached. By default, DIIS is used to accelerate and stabilize convergence, but a linear-mixing scheme can also be used.
The GW space-time method has the distinct advantage that it can be very fast, while a full frequency, conventional GW calculation scales to the 6th power of the system size and is prohibitive for systems larger than a few tens of atoms. ADF used advanced density fitting options to accelerate the space-time method further and in practice nearly quadratic scaling can be reached. This enables the routine application of the method to systems of several hundreds of atoms. A G0W0 calculation (without the preceding SCF) is usually not much slower than a hybrid calculation. The downside of the approach is that the analytical continuation technique produces large errors (up to several eV) for core states which are in example important in X-ray spectroscopy. Thus, the GW implementation in ADF should only be used to predict quasi-particle energies for states in the valence-region. In fact, we have only tested it for HOMO and LUMO states (which are arguably most important)
The states of interest can be requested in the GW block
GW
nStates 5
End
is the default and calculates 5 occupied and five unoccupied states.
GW
nStates 1
End
calculates the HOMO and LUMO quasi-particle energy only.
An evGW calculation is requested by
GW
SelfConsistency evGW
End
One can also only iterate G by keep W fixed which reduces the cost of each iteration by roughly 50 %. This is requested by
GW
SelfConsistency evGW0
End
On the other hand, much of the starting point dependence of the G0W0 method remains in the evGW0 method and it is generally not recommended.
The self-consistency can be controlled by a few parameters: For example
GW
Converge HOMO=5e-3
End
requests that the evGW(0) calculation is considered converged if the difference between the HOMO quasi-particle energies of 2 consecutive iterations does not change by more than 5 meV. The default is 1 meV which is in practice usually a little too tight. We recommend to adjust this parameter according to your requirements, for example the experimental resolution you would like to match.
GW
linearmixing 0.2
End
turns of DIIS and request to use linear mixing instead with a mixing parameter of 0.2. This can be useful if for some reason, convergence using DIIS cannot be achieved. However, it is usually better to adjust the number of vectors in the DIIS expansion. This is achieved by
GW
DIIS 5
End
The default are 10 expansion vectors.
Recommendations¶
Basis sets¶
The recommended numerical settings depend strongly on the basis set. The recommended basis set depends on system size and the property of interest. The following are recommendations:
Basis sets
For highly accurate results we recommend to perform an extrapolation to the complete basis set limit: For this, perform 2 calculations using the Corr/TZ3P and Corr/QZ6P. The basis set limit is then calculated according to
The values for \(N^{TZ}_{bas}\) and \(N^{QZ}_{bas}\) can be found in the adf.log file in the GW
section under the entry nBas
.
Numerical aspects¶
According to the choice of basis set, the recommended numerical settings can differ. For a discussion, see the MBPT page.
The implemented GW algorithm is very sensitive to numerical noise and depending on the numerical settings and/or the underlying exchange-correlation functional, (occupied) quasi-particle energies from partially self-consistent GW calculations performed on different hardware can differ by a few meV. The discrepancies are generally more pronounced for core states for which the analytical continuation technique is rather inaccurate.
In our experience, these differences only occur with large basis sets (QZ4P or larger) and when Minnesota functionals (we tested M06, M06-2X and M06-HF) are used to calculate the KS reference. When the DIIS algorithm is used to converge the quasi-particle energies, the number of iterations needed for convergence can then differ as well.
Choosing the KS reference¶
As for ground-state properties, it is far from trivial to recommend a universal functional. However, for G0W0 calculations, a few general guidelines can be offered. A good discussion is found in [2]. It should be noted, that GGA functional should not be used, even though a PBE starting point is a popular choice. We rather recommend to use a hybrid functional. The relevant parameter in the choice of the hybrid is usually the fraction of exact exchange. In our experience, PBE0 with 40-50 % exact exchange is a good choice. You might also use a range-separated hybrid via LibXC, for example LRC-wPBEH.
Troubleshooting¶
Dependency
key to a larger value or you ned to increase the numerical qualityGW key¶
GW
nStates integer
SelfConsistency [G0W0 | EVGW0 | EVGW]
nIterations integer_list
Converge
HOMO float
End
LinearMixing float_list
DIIS integer
End
GW
Type: Block Description: Instruct ADF to perform a G0W0 calculation. nStates
Type: Integer Default value: 5 GUI name: N states Description: Number of Quasiparticle States to be printed to output. The default is 5 states which in this case means that min(5, Number of particle states) occupied and min(5, Number of hole states) hole states are printed. The whole list of states can be printed by setting this parameter to -1’ SelfConsistency
Type: Multiple Choice Default value: G0W0 Options: [G0W0, EVGW0, EVGW] Description: Sets the level of self-consistency in a GW calculation. G0W0 calculates a a on-shot, perturbative correction to the KS eigenvalues. In evGW and evGW0, the quasi-particle energies are updated until self-consistency is reached. evGW0 requests that the Green’s function is evaluated self-consistently but not the screened interaction. nIterations
Type: Integer List Default value: [50] GUI name: Number of iterations Description: The maximum number of iterations within the (partially or fully) self-consistent GW calculation has to converge. Ignored when Formalism is set to G0W0 Converge
Type: Block Description: Sets convergence criteria for the GW calculation in self-consistent case HOMO
Type: Float Default value: 0.001 Unit: eV GUI name: HOMO energy convergence Description: Criterion for self-consistency procedure to terminate. The self-consistent GW calculation terminates, when the difference between the HOMO QP energies between 2 consecutive iterations is below this number. The LUMO energy converged faster than the HOMO energy so when the HOMO energy is converged according to this criterion, the LUMO energy will be converged as well. In non-selfconsistent Calculation, this criterion is ignored.
LinearMixing
Type: Float List Description: Requests to use linear mixing instead of DIIS and sets the mixing parameter for linear mixing of Green’s function in case of self-consistency. It is ignored in non-selfconsistent calculation and overwritten by DIIS when DIIS is also present. DIIS
Type: Integer Default value: 10 Description: Requests to use DIIS. This is the Default. Number of expansion coefficients can be requested as well. Ignored in non-selfconsistent calculation
References
[1] | Arno Förster, Lucas Visscher, Low-order scaling G0W0 by pair atomic density fitting, Journal of Chemical Theory and Computation 16 (12), 7381–7399 (2020) |
[2] | F. Bruneval, M.A.L., Marques, Benchmarking the starting points of the GW approximation for molecules, Journal of Chemical Theory and Computation 9 (1), 324-329 (2013) |
[3] | M.J. Van Setten, F. Caruso S. Sharifzadeh X. Ren M. Scheffler F. Liu J. Lischner L. Lin J. Deslippe S.G. Louie C. Yang F. Weigend J.B. Neaton F. Evers P. Rinke, GW100: Benchmarking G0W0 for Molecular Systems, Journal of Chemical Theory and Computation 11 (12), 5665-5687 (2015) |
[4] | J. Wilhelm, D. Golze, L. Talirz, J. Hutter, C.A. Pignedoli, Toward GW Calculations on Thousands of Atoms, Journal of Physical Chemistry Letters 9 (2), 306-312 (2012) |