Frequently Asked Questions about GW and BS calculations.
Copyright (C) 2000-2012 ABINIT group (MG)
This file is distributed under the terms of the GNU General Public License, see
~abinit/COPYING or
http://www.gnu.org/copyleft/gpl.txt .
For the initials of contributors, see ~abinit/doc/developers/contributors.txt .
Goto : ABINIT home Page | Suggested acknowledgments | List of input variables | Tutorial home page | Bibliography
Help files : New user's guide | Abinit (main) | Abinit (respfn) | Mrgddb | Anaddb | AIM (Bader) | Cut3D | Optic
FAQ about GW and BS calculations:
- How can I run the KSS generation in parallel with the paralkgb algorithm?
- How can I reduce the memory requirements in GW calculations?
- Is there any automatic procedure to produce quasi-particle band structures?
- Why does the code complain when norm-conserving pseudopotentials with more than one projector are used to perform GW or BSE calculations?
- What is the difference between the RPA optical calculation done with optdriver=3 and the one performed with optdriver=99 ?
Q) How can I run the KSS generation in parallel with the paralkgb algorithm? Although the routines used to generate the KSS file do not support the paralkgb option it is possible to bypass this limitation by using a two-step procedure.
In the first step, one performs a NSCF calculation in parallel with paralkbg thus producing the WFK file with the states that will be used for the GW calculation. The KSS file can then be obtained by running a sequential calculation that reads the previous WFK file and produces the KSS file using getwfk, nbandkss, kssform=3 and nstep=0.
This trick is particularly useful in the case of gamma-only calculations or when the number of k-points is much smaller than the number of processors available. The main limitation of this approach is that the second step has to be done in sequential and the node should have enough memory to store the full set of wavefunctions. For very large KSS files, one might use mkmem=0 to avoid the storage of the wavefunctions.
Q) How can I reduce the memory requirements in GW calculations? Use gwmem to avoid the storage of the real space orbitals, set fftgw to 11 to decrease the size of the FFT mesh or just use more processors ;) For very large systems it is possible to compile the code so that single precision arithmetics is used (see the configure option --enable-gw-dpc).
Q) Is there any automatic procedure to produce quasi-particle band structures? For the time being the answer is no. One can calculate the QP corrections only for the k-points that are contained in the KSS file. To obtain the QP band dispersion for arbitrary k-points in the Brillouin zone, one can employ two different methods:
- Since the GW corrections are usually smooth when plotted versus the initial Kohn-Sham energy, it is possible to perform a linear interpolation of the corrections as a function of the KS energy. Once the two parameters of the linear fit are known, one can easily obtain an approximated QP dispersion by applying the correction on top of a Kohn-Sham band structure obtained along an arbitrary k-path.
- Another more involved method employs Wannier functions to interpolate the matrix elements of the self-energy. We refer to the Wannier tutorial and the test file ??? for a more detailed description of the technique.
Q) Why does the code complain when norm-conserving pseudopotentials with more than one projector are used to perform GW or BSE calculations? The correct evaluation of the q → 0 component of the inverse dielectric matrix requires the calculation of the commutator of the nonlocal part of the Hamiltonian with the position operator.
Unfortunately only norm-conserving pseudopotentials with one projector per angular channel are presently supported. This means that optical properties obtained with pseudopotentials with more than one projector are affected by errors. This error is of minor importance if we are only interested in quasi-particle corrections in crystalline systems since only the screening matrix at q=0 is affected by the commutator. Note, however, that the error in the QP corrections is expected to be larger in the case of isolated systems where, due to the reduced dimensionality of the problem.
Q) What is the difference between the RPA optical calculation done with optdriver=3 and optdriver=99 and the one performed with optdriver=99 ? The main difference between the RPA calculation executed with optdriver=3 and the one performed with optdriver=99 is that the BS code expands the RPA polarizability in the transition space instead of using the much more efficient approach based on the sum over states.
Goto : ABINIT home Page | Suggested acknowledgments | List of input variables | Tutorial home page | Bibliography
Help files : New user's guide | Abinit (main) | Abinit (respfn) | Mrgddb | Anaddb | AIM (Bader) | Cut3D | Optic