Here I report some advices to choose reasonable parameters in order to converge different kind of calculations with the Yambo code. The following parameters are a reasonable recommendation. However you have to remember that convergence can be different from system to system, so you should check your calculations and not use the following parameters blindly.
Yambo works only with Norm-conserving pseudopotentials. In case of heavy atoms, or hard pseudo-potentials plane-waves convergence can be tough. Fortunately in a recent paper Hammand proposed a new kind of norm-conserving pseudo-potentials the Optimized norm-conserving Vanderbilt pseudopotentials, PRB 88 085117(2013) or Dojo Pseudopotentials that are as soft as the ultra-soft ones thanks to the use of more projects in the pseudo.
This is the best choice for calculations with Yambo, you can download this pseudo for QuantumEspresso Dojo PseudoPotentials or Abinit Dojo Psedopotentials .
Setup your calculations
Many-body calculations in general are less sensitive to the G-vectors than DFT ones. So at the beginning of your calculations you can reduce number of G-vectors in your wave-function. Once you created the SAVE folder do
to check how many G-vectors there are in your wave-function
... Components [wavefunctions]: 63494 ...
Then do the setup with the command yambo -i -V RL and reduce the number of G-vetors to one-half or one-third of the previous value, or even less if you have memory problems (you have to check that results do not change).
In the simplest calculation of optics in the independent particle approximation (IPA), corresponding to yambo -o c you should converge only the number of bands that enter in the dielectric constant:
% BndsRnXd 1 | 99 | # [Xd] Polarization function bands %
Notice that the imaginary part of the dielectric constant converges much faster than the real one. If you are interested only in the absorption (imaginary part) you can start with a number of conduction bands equal to the number of valence one, and probably this is enough and often even too much. If you are interested in the real-part of the dielectric constant probably you should increase the number of conduction bands and carefully check convergence.
The same it is true when you want to converge optics in the RPA approximation with the command yambo -o c -k Hartree. But in this case you should converge the size of the dielectric constant too. I advice you to change units from RL to mHa in the input file and start with a reasonable value for the BlockSize:
NGsBlkXd= 2000 mHa # [Xd] Response block size
The cut-off in mHa respect to RL has the advantage to be independent from the cell size and shape. Then you can increase it by steps of 500 mHa and check when the result is converged, usually around 5000 mHa.
Finally there is the convergence with the number of k-points. Optics requires more k-points than standard DFT. You should increase the k-points number until your spectra no longer changes. In general systems with a large gap or a large super-cell require less k-points while systems with small gaps are more demanding from the point of view of k-points. In Yambo it is also implemented an efficient technique to speed up convergence with k-points see Yambo double-grid and the paper PRB 86, 125203 (2012).
Once you converged the number of k-points, bands and G-vectors in optics you can start a GW calculation.
In a G0W0 calculation convergence is more complicated because you have to converge the dielectric constant that enters in W and the Green’s function G. For the convergence of the dielectric constant the parameters are:
%BndsRnXp 1 | 400 | # [Xp] Polarization function bands % NGsBlkXp= 3012 mHa # [Xp] Response block size
You can find them by performing a simple calculation of optics in RPA (see previous section) for a couple of frequencies and converging the real-part of the dielectric constant. Usually you need a number of conduction bands equal or larger to three/four times the valence ones.
Then there is the number of bands used to expand the Green’s function G:
% GbndRnge 1 | 400 | # [GW] G[W] bands range %
The number of conductions bands in G is usually larger than the one in the dielectric constant, you can converge it just performing different GW calculations for the gap at a given k-point and see when it does not change any more. You can speed up convergence in GW calculations adding the flag:
that is activated with the verbosity -V resp. In this way Yambo will use the method developed by F. Bruneval et al in PRB 78(8), 085125 (2008).
Then there are the number of bands/kpoints on which you want to calculate the GW correction. You can specify them giving the exact bands and k-points range:
%QPkrange # [GW] QP generalized Kpoint/Band indices 1| 60| 78| 99| %
or giving the k-points range and an energy range in eV for the bands:
%QPerange # [GW] QP generalized Kpoint/Energy indices 1| 60| 1.0| 6.0| %
If you want to perform optics or interpolate the bands after the GW, you need to calculate the GW corrections for all the k-points. Instead if you are interested only in the gap you can calculated the correction only on the k-points you are interested in, even if they are not in the initial grid of k-points (see the page How to calculate GW correction in a generic k-point).
For the BSE you can use the same dielectric constant you used in GW so generate the input using the command yambo -o b -k sex -y h -p p -V qp and remove the flag
em1s # [R Xs] Static Inverse Dielectric Matrix
in such a way that Yambo will use the dielectric constant of GW without recalculate it.
Then read the QuasiParticle band structure you calculated in GW changing
KfnQPdb= "none" # [EXTQP BSK BSS] Database
KfnQPdb= "E < SAVE/ndb.QP" # [EXTQP BSK BSS] Database.
Now you have to converge the number of bands in BSE:
% BSEBands 78 | 97 | # [BSK] Bands range %
you can use the same number you used in the RPA calculation of optics for the imaginary part of the dielectric constant.
That’s all 🙂
- For Optics:
Electrodynamics of Solids: Optical Properties of Electrons in Matter
Martin Dressel, George Grüner
Semiconductor Optics and Transport Phenomena (Advanced Texts in Physics)
Wilfried Schäfer, Martin Wegener
- For GW:
Lecture notes on GW method (powered by FreeScience.info)
- For the BSE:
Application of the Green’s functions method to the study of the optical properties of semiconductors
G Strinati, La Rivista del Nuovo Cimento 11 (12), 1-86 (1988)
Effects of the Electron–Hole Interaction on the Optical Properties of Materials: the Bethe–Salpeter Equation
G. Bussi, Phys. Scr. T109, 141(2004)