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.

See also: Examples GW

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 Quasiparticle 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).

GW can be used icw scalar relativistic effects within the "ZORA"
formalism.

In practice, fully self-consistent GW is rarely used for molecular
systems. Instead, perturbative approximations, so called quasiparticle
GW methods are used since they are cheaper and also more accurate than
fully self-consistent GW. The most popular approach is G_0W_0 [1], in
which quasiparticle 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 extent in eigenvalue-only self-consistent GW (evGW), in which
the quasiparticle energies (but not the density) are iteratively
updated until self-consistency is reached. In quasiparticle self-
consistent GW, also the density is updated in each iteration, so that
the results become completely starting point independent. The
partially self-consistent GW variants usually converge within 6-8
iterations which make these approaches a factor of 6 to 8 more
expensive than G_0W_0.

A GW calculation as implemented in BAND proceeds in five steps as has
been described in detail in a series of papers [1] [5] [6]. The
technique is also known as the as GW 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, BAND does not support the use
  of XCfun, but libXC is supported. 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 G_0W_0 calculation with
  default settings using a PBE reference:

     XC
        GGA PBE
     END

     GW
     End

Hybrid starting points can be requested with the "LibXC" key.

* 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 quasiparticle energies are evaluated.

* In case of evGW (evGW_0), the input KS eigenvalues are replaced by
  the quasiparticle energies from the previous iteration and the
  scheme is iterated until self-consistency in the quasiparticle
  energies is reached.

* In case of qsGW (qsGW_0), A non-local, hermitian, and static
  exchange-correlation potential is constructed from the self-energy.
  This exchange-correlation potential replaces the KS exchange-
  correlation potential. Diagonalization gives a new set of single-
  particle orbitals and quasiparticle energies. The procedure is
  repeated until self-consistency is reached.

* By default, the DIIS algorithm is used to accelerate and stabilize
  convergence of the self-consistent GW schemes. 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. BAND 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
G_0W_0 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 BAND should only be used
to predict quasiparticle 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 quasiparticle energy only.


Levels of self-consistency
==========================


Eigenvalue-only self-consistent GW
----------------------------------

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 G_0W_0
method remains in the evGW_0 method and it is generally not
recommended.


quasiparticle self-consistent GW
--------------------------------

An qsGW calculation is requested by

   GW
     SelfConsistency qsGW
   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 qsGW0
   End

On the other hand, much of the starting point dependence of the G_0W_0
method remains in the qsGW_0 method and it is generally not
recommended.

More options:

"QPHamiltonian"
   In quasiparticle self-consistent GW, the frequency-dependent self-
   energy is mapped to a static exchange-correlation in each
   iteration. The mapping is not unique and different schemes have
   been suggested. They differ in the way the frequency dependence of
   the self-energy is treated. In BAND, three variants can be used.
   KSF1 and KSF2 are from the paper by Kotani et al. [7]. KSF1 refers
   to eq. 10 therein and is most commonly implemented, KSF2 refers to
   eq. 11 therein. KSF2 is the default in BAND since it is numerically
   more stable. The variant denoted as Kutepov has been suggested bu
   Kutepov et al. [8] and uses a first-order expansion around the
   chemical potential.

"FixedGrids"
   Per default, the imaginary frequency and imaginary time grids used
   in the GW calculation are updated in each iteration in a qsGW
   calculation since this is necessary to make the results strictly
   starting point dependent. This can also be turned off, and fixed
   grids are used throughout. This might be helpful in case of
   convergence problems.


Convergence
-----------

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 quasiparticle 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.

For qsGW (qsGW_0), the change in the norm of the density matrix is
used as an additional criterion to control convergence. In evGW
(evGW_0) it is ignored.

   GW
     Converge Density=1e-07
   End

is the default. For very large systems and when QZ basis sets are
used, it is recommended to decrease that value, for example to

   GW
     Converge Density=1e-08
   End

   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 (for
example)

   GW
     DIIS 5
   End

The default are 10 expansion vectors. In case of difficulties
converging


Second-order self-energy
========================

Starting from ADF2BAND, it is possible to go beyond the GW
approximation for the self-energy (expansion in screened interaction
to first order) and also take into account the next term (expansion in
the screened interaction to second order). The algorithm has been
described in this paper. .. [10]

* This can be used with all variants of self-consistency.

* The second-order self-energy is always applied as a perturbative
  correction of the GW quasiparticle energies, using a statically
  screened interaction W. More precisely,

   \Sigma^{GW} = G(\omega) * W (\omega)

   \Sigma^{GW+G3W2} = G(\omega) * W(\omega) + G(\omega) * W (\omega =
   0) * G(\omega) * G(\omega) * W (\omega = 0)

* The second-order self-energy is activated by typing

   GW
     selfenergy G3W2
   End

* It has been shown that the second-order correction is especially
  accurate for electron affinities and HOMO-LUMO gaps. [10] Since it
  effectively scales as the fourth power of the system size, it should
  not be used for systems much larger than 50 atoms.


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 which should be seen as
guidelines and not as definite. We recommend to always verify the
basis set convergence of for the property of interest. Details about
basis set convergence can be found in this paper [10]

**Basis sets**

   **All-electron:**  All-electron calculations are always recommended.
   **Basis set size:** Larger basis sets are needed to achieve the same accuracy as in a DFT calculation
   **Augmented basis sets:** Should only be used if absolutely necessary. They are however often necessary for an accurate description of the electron affinity for molecules with LUMO above the vacuum level.

   **Ionization Potentials:** TZ2P or larger
   **Electron affinities, bound LUMO:** Corr/TZ3P or larger
   **Electron affinities, unbound LUMO:** AUG/ATZ2P or larger
   **Fundamental Gaps:** Triple-zeta quality basis sets are typically sufficient.

The GW-BSE excitation energies and the screened Coulomb interaction do
only depend on the QP gaps and not on their absolute values.
Therefore, triple-zeta quality basis sets are typically sufficient.

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

   \epsilon_n^{CBS} = \epsilon_n^{QZ} -  \frac{1}{N^{QZ}_{bas}
   }\frac{\epsilon_n^{QZ} - \epsilon_n^{TZ}}{\frac{1}{N^{QZ}_{bas}} -
   \frac{1}{N^{TZ}_{bas}}}

The values for N^{TZ}_{bas} and N^{QZ}_{bas} can be found in the
BAND.rkf file in the "GW" section under the entry "nBas". Additional
explanations can be found in the references [3] and [10]


Numerical aspects
-----------------

* According to the choice of basis set, the recommended numerical
  settings can differ. For a discussion, see the MBPT page.

* qsGW has the highest requirements on the numerical parameters than
  evGW and G_0W_0. Usually, it is necessary to use a larger value in
  the "Dependency" key, see the MBPT page. Note that starting from
  AMS2022 BAND will use a "Dependency bas=5e-3" and "RIHartreeFock
  DependencyThreshold=5e-3" in case of (any variant of) GW. One can
  override these values in the input.

* The implemented GW algorithm is very sensitive to numerical noise
  and depending on the numerical settings and/or the underlying
  exchange-correlation functional, (occupied) quasiparticle 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 quasiparticle energies, the
  number of iterations needed for convergence can then differ as well.

* For optimal accuracy, full cores should be used. Note, that frozen
  cores do not require in large computational savings for GW
  calculations.


Choosing the KS reference
-------------------------

* As for ground-state properties, it is far from trivial to recommend
  a universal functional. However, for G_0W_0 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.

* If in doubt, one of the partially self-consistent schemes should be
  used. evGW is almost starting point independent and qsGW is
  completely starting point independent. Therefore, for qsGW, it is in
  principle irrelevant what starting point is chosen. Convergence
  properties can in principle be affected, although the number of
  iterations until convergence is reached is also more or less
  independent of the starting point [6]. Also for evGW, starting from
  a hybrid functional or a range-separated functional usually results
  in the highest accuracy.


GW key
======

   GW
      nStates integer
      SelfEnergy [HF | GW | G3W2 | SOSEX | GWGamma | G3W2dynamic | GWGammaInf | GWGammaInfDyn]
      SelfConsistency [G0W0 | EVGW0 | EVGW | QSGW0 | QSGW]
      QPHamiltonian [KSF1 | KSF2 | SRG | LQSGW]
      nIterations integer_list
      Converge
         Density float_list
         HOMO float
      End
      LinearMixing float_list
      AdaptiveMixing float_list
      DIIS integer
      LinearizeQPequations Yes/No
      ScissorShift Yes/No
   End

"GW"
   Type:
      Block

   Description:
      Perform a GW calculation. G0W0 is the default for
      GW%SelfConsistency.

   "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'

   "SelfEnergy"
      Type:
         Multiple Choice

      Default value:
         GW

      Options:
         [HF, GW, G3W2, SOSEX, GWGamma, G3W2dynamic, GWGammaInf,
         GWGammaInfDyn]

      Description:
         Controls the form of the self-energy.
         GW is the default and corresponds to the standard GW
         calculation.                      G3W2 is a GW calculation
         plus a perturbative second-order statically screened exchange
         correction (second order expansion in the self-energy). Note,
         that there the self-energy is always static.

   "SelfConsistency"
      Type:
         Multiple Choice

      Default value:
         G0W0

      Options:
         [G0W0, EVGW0, EVGW, QSGW0, QSGW]

      Description:
         Sets the level of self-consistency in a GW calculation.
         G0W0 calculates a one-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.                      In qsGW, the density is
         updated as well, however, the self-energy is mapped to a
         static effective potential and the Dyson equation is solved
         by diagonalization instead of inversion. The results of a
         qsGW are independent of the choice of the underlying
         exchange-correlation functional and are usually the most
         accurate ones.                      The same is done in
         qsGW0, but the screened interaction is not updated.

   "QPHamiltonian"
      Type:
         Multiple Choice

      Default value:
         KSF2

      Options:
         [KSF1, KSF2, SRG, LQSGW]

      Description:
         The quasi-particle Hamiltonian can be constructed in
         different ways.                      KSF1 refers to the
         original construction by Kotani, Van Schilfgaarde anf Faleev
         (KSF) which is also implemented in TURBOMOLE.
         KSF2 refers to an alternative construction by KSF.
         KSF1 is not recommended since it is numerically less stable
         than KSF2 in case analytical continuation is used (the
         default).                      In case the analytical
         integration algorithm is used, only KSF1 is implemented.
         Therefore, make sure that KSF1 is specified. The results are
         typically very similar.                      The QP energies
         at which the matrix elements are evaluated can be tweaked
         further, see the two subsequent keys: However, KSF2 is
         recommended since it typically leads to QP energies with the
         best agreement with experiment.                      Ignored
         when not a quasi-particle self-consistent GW calculation is
         performed

   "nIterations"
      Type:
         Integer List

      Default value:
         [10]

      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

      "Density"
         Type:
            Float List

         Default value:
            [1e-08, 1e-05]

         Description:
            First Criterion for self-consistency procedure to
            terminate.                         Criterion is the trace
            of the density matrix. Ignored in non-selfconsistent
            Calculation and in eigenvalue self-consistent GW
            It is possible to run a qsGW calculation with an inner SCF
            loop which updates the static part of the elf-energy only.
            This can be useful to accelerate the convergence in case
            linear mixing is used. It is not recommended to use linear
            mixing, so it is also not recommended to use that inner
            loop as well. The second number in this list specifies the
            convergence criterion for the inner SCF loop.

      "HOMO"
         Type:
            Float

         Default value:
            0.003

         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.

   "AdaptiveMixing"
      Type:
         Float List

      Description:
         Requests to use adaptive mixing instead of DIIS and sets the
         staring mixing parameter for mixing of Green's function in
         case of self-consistency.                      Adapative
         mixing is recommended in case a qsGW calculation does not
         converge with DIIS.                      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

   "LinearizeQPequations"
      Type:
         Bool

      Default value:
         No

      Description:
         Instead of solving the non-linear QP equations in a G0W0 (or
         evGW calculation) by bisection exacly, linearize them by
         first-order Taylor expansion.                      This is
         not recommended since it does not save computational time
         when used together with analytical continuation (as
         implemented in AMS). It might however be useful for
         benchmarking or for validating results.
         If the results os the linearization differ by a lot (for
         instance, more than 0.1 eV in frontier QP energies) from the
         non-linearized results, this might indicate that the GW
         calculation is not reliable.

   "ScissorShift"
      Type:
         Bool

      Default value:
         No

      Description:
         Only calculate the HOMO and LUMO QP energies and shift the
         remaining QP energies by the same amount.
         This is a rather crude approximation and not recommended.
         It might again be useful for benchmarking purposes.

[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)

[5] Arno Förster, Lucas Visscher, *GW100: A Slater-Type Orbital
    Perspective*, Journal of Chemical Theory and Computation 17 (8),
    5080–5097 (2021)

[6] Arno Förster, Lucas Visscher, *Low-Order Scaling Quasiparticle
    Self-Consistent GW for Molecules*, frontiers in Chemistry 9,
    736591 (2021)

[7] A.L. Kutepov, V.S. Oudovenko, G. Kotliar, *Linearized self-
    consistent quasiparticle GW method: Application to semiconductors
    and simple metals*, Computer Physics Communications 407-414 (2017)

[8] Takao Kotani, Mark Van Schilfgaarde, Sergey V. Faleev,
    *Quasiparticle self-consistent GW method: A basis for the
    independent-particle approximation*, Physical Review B 76 (16)
    1-24 (2007)

[9] A. Förster, L. Visscher, *Exploring the statically screened G3W2
    correction to the GW self-energy : Charged excitations and total
    energies of finite systems*, Physical Review B 105, 125121 (2022)

[10] A. Förster, L. Visscher, *EGW100: A Slater-Type Orbital
     Perspective*, Journal of Chemical Theory and Computation 17(8),
     5080-5097 (2021)
