- Rangel, Tonatiuh;
- Del Ben, Mauro;
- Varsano, Daniele;
- Antonius, Gabriel;
- Bruneval, Fabien;
- da Jornada, Felipe H;
- van Setten, Michiel J;
- Orhan, Okan K;
- O’Regan, David D;
- Canning, Andrew;
- Ferretti, Andrea;
- Marini, Andrea;
- Rignanese, Gian-Marco;
- Deslippe, Jack;
- Louie, Steven G;
- Neaton, Jeffrey B
Ab initio many-body perturbation theory within the GW approximation is a Green's function formalism widely used in the calculation of quasiparticle excitation energies of solids. In what has become an increasingly standard approach, Kohn–Sham eigenenergies, generated from a DFT calculation with a strategically-chosen exchange–correlation functional “starting point”, are used to construct G and W, and then perturbatively corrected by the resultant GW self-energy. In practice, there are several ways to construct the GW self-energy, and these can lead to variations in predicted quasiparticle energies. For example, for ZnO and TiO2, the GW fundamental gaps reported in the literature can vary by more than 1 eV depending on the GW code used. In this work, we calculate and analyze GW quasiparticle (QP) energies of these and other systems with three different GW codes: BERKELEYGW, ABINIT and YAMBO. Through a systematic analysis of the GW implementation of these three codes, we identify the primary origin of major discrepancies between codes reported in prior literature to be the different implementations the Coulomb divergence in the Fock exchange term and the frequency integration scheme of the GW self-energy. We then eliminate these discrepancies by using common numerical methods and algorithms, demonstrating that the same quasiparticle energies for a given material can be obtained with different codes, within numerical differences ascribable to the technical details of the underling implementations. This work will be important for users and developers in assessing the precision of future GW applications and methods.