Lausanne 2017Version 4 out and rockingYambo-pyFLASH-IT

Main menu

HomeNewsPeopleDownloadRun the codeInput fileTutorials
Overview GW Lifetimes SiH4 Fantastic dimensions Hydrogen chain Electron Phonon KERR effect Surface spectroscopy GaSb Parallel Developing Yambo
DocumentationPublicationsEventsContactsRobots Forum

The Wikipedia Page of Yambo Yambo@Wiki

Fortran cafe The Fortran Cafe'

Bethe-Salpeter wine The Bethe-Salpeter-Equation (BSE) wine

A street entitled to Yambo in Rome
A bar entitled to Yambo in Rome
A bar entitled to Yambo in Rome Yambo road, bar & restaurant

Beyond the Plasmon-Pole approximation: real-axis GW and lifetimes
by Andrea Marini

[Tutorial pdf document]

Diamond lifetimes in a 2D picture.

The materials

Al LiF


The Plasmon-Pole approximation (PPA) is a quite robust and useful approach to tackle the QP properties of complex materials. To understand the reasons that are beyond the PPA success and to predict the cases where the PPA is expected to fail this tutorial describes how to perform a GW calculation on the real frequency axis.

The tutorial is split in two sections. In the first part we will calculate the electronic lifetimes in bulk aluminum. We will investigate the energy dependence of the lifetimes and their interpretation in terms of a fermi-liquid theory.

In the second section we will use LiF to test the accuracy of the PPA by comparing the results with the real-axis calculation. We will also discuss a non-perturbative solver of the Dyson equation in order to get a more deep insight in the definition of the QP energy and lifetime.

Electronic Lifetimes in Aluminum

We start from the simple case of bulk Aluminum (Al). Al is a metal with a jellium-like band structure. It can be used as a perfect test system to compare the GW results with the analytic expressions we know from the Many-Body Perturbation Theory textbooks.

In order to perform a GW calculation of the electronic linewidths in Al we move in the Al directory

localhost:> cd  ${PATH}/YAMBO_TUTORIALS/Solid_Al

Then we enter in the Yambo folder where a set of pre-calculated core databases is provided and launch yambo without arguments to do a setup run

localhost:> cd Yambo/
localhost:> yambo

The Yambo input file need to calculate the Al linewidths can be found in Inputs/01_Lifetimes. This input file can be used straight away or reproduced using the command

localhost:> yambo -l

At this point we can run the code by using, in the case the existing input file is used

localhost:> yambo -F Inputs/01_Lifetimes -J 01_Lifetimes

The result of the code is the file o-01_Lifetimes.qp that contains the electronic linewidths. These can be plotted using the columns 3 and 4. The result is displayed in the following picture:

Al liwnewidths and the comparison with two quadratic fits.

To understand the physical basis of the GW linewidths we first observe that the general behavior is correct. The linewidths change sign at the chemical potential (set to zero in the code). Moreover by performing a quadratic fit it is easy to see that the linewidths grow quadratically as a function of the distance from the Fermi level.


Beyond the Plasmon-Pole approximation in LiF

In this section we use LiF to perform calculations beyond the PPA in order to understand the limitations of the PPA. LiF has been already used in a previous tutorial. Therefore to avoid confusions we will number the input files starting from the last input of the LiF: excitons at work tutorial.

[08] QPs in the PPA: 02_QP_PPA (yambo -d -k hartree -g n -p p )

To run this example we enter the LiF directory

localhost:> cd  ${PATH}/YAMBO_TUTORIALS/Solid_LiF_QPs
where we find a folder containing the pre-compiled input files. We can run the code by using
localhost:>yambo -F Inputs/02_QP_PPA -J PPA

As a result of this run we will find a o-PPA.qp file containing QP corrections and other useful informations, like the renormalization factor Z, the correlation self-energy calculated on-mass shell and the HF self-energy. A section of the o-PPA.qp is reported in the following

#  K-point    Band       Eo         Eqp        E-Eo       LDA        HF         Sc(Eo)     Sc(Eqp)    Sc`(Eo)    Z        Width[meV]  Width[fs]
   1.00000    3.00000    0.00000   -2.78101   -2.78101  -22.71824  -30.24829    4.21262    4.74904   -0.19288    0.83831   17.26647   38.12081
   1.00000    4.00000    0.00000   -2.77990   -2.77990  -22.71824  -30.24824    4.21402    4.75009   -0.19283    0.83834   17.26712   38.11938
   1.00000    5.00000    9.00799   10.89507    1.88708  -11.07164   -5.98808   -2.96401   -3.19648   -0.12319    0.89032  -10.51030  -62.62542
   1.00000    6.00000   19.90535   22.26972    2.36438   -8.85663   -2.74568   -3.43248   -3.74658   -0.13285    0.88273   -9.10827  -72.26533

By plotting some of the o-PPA.qp columns it is possible to discuss some physical properties of the LiF QPs. Using columns 3 and 4 we can deduce the band gap renormalization and the stretching of the conduction/valence bands


Using columns 3 versus 11 wew can plot the renormalization factors. From the quite high mean value (around 0.9) we can infer that LiF is, indeed, a weakly correlated material.

Another crucial consequence of the relatively high renormalization factors is that they point to a possible good performance of the PPA, in this case.


[08] QPs in real-axis GW (Newton solver): 03_real_axis (yambo -g n -d -k hartree)

We can now go beyond the PPA by removing the -p p command line option. The calculation can be done by using

localhost:>yambo -F Inputs/03_real_axis -J Real_Axis

In this case Yambo needs to calculate the response function on a large energy range. The number of frequencies, therefore, is much larger then in the case of the PPA. As a consequence the calculation is more cumbersome and long. At the end of the run we can directly compare the results with the PPA case. In particular we can compare the columns 3:5 and the columns 3:11.

[10] QPs in real-axis GW (Secant solver): 04_real_axis_secant (yambo -g s -d -k hartree)

The QP equation is a non-linear equation whose solution must be found using a suitable numerical algorithm. The mostly used, based on the linearization of the self-energy operator is the Newton method. Yambo can also perform a search of the QP energies using a non-linear iterative method based on the Secant iterative method.

In numerical analysis, the secant method is a root-finding algorithm that uses a succession of roots of secant lines to better approximate a root of a function f. The secant method can be thought of as a finite difference approximation of Newton's method. However, the method was developed independent of Newton's method. The equation that defines the secant method is:

The first two iterations of the secant method are shown in the following picture. The red curve shows the function f and the blue lines are the secants.

localhost:>yambo -F Inputs/04_real_axis_secant -J Real_Axis

To see if there is any non-linear effect in the solution of the Dyson equation we compare the result of the calculation using the Newton solver with the present case.

Newton solver
#  K-point    Band       Eo         Eqp        E-Eo       LDA        HF          Sc(Eo)     Sc(Eqp)    Sc`(Eo)    Z          Width[meV] Width[fs]
   1.00000    3.00000    0.00000   -2.98562   -2.98562  -22.71824  -30.24829    3.97144    4.54443   -0.19191    0.83899   18.25441   36.05768
   1.00000    4.00000    0.00000   -2.98467   -2.98467  -22.71824  -30.24824    3.97259    4.54532   -0.19188    0.83901   18.25575   36.05503
   1.00000    5.00000    9.00799   11.03991    2.03192  -11.07164   -5.98808   -2.81392   -3.05165   -0.11699    0.89526  -10.40295  -63.27164
   1.00000    6.00000   19.90535   22.29816    2.39282   -8.85663   -2.74568   -3.34875   -3.71813   -0.15412    0.86636  -48.15936  -13.66737
Secant solver
#  K-point    Band       Eo         Eqp        E-Eo       LDA        HF          Sc(Eo)     Sc(Eqp)    Sc`(Eo)      Z      Width[meV] Width[fs]
   1.00000    3.00000    0.00000   -2.91498   -2.91498  -22.71824  -30.24829    4.61509    5.35346   -0.25328    0.79790   18.47852   35.62038
   1.00000    4.00000    0.00000   -2.91409   -2.91409  -22.71824  -30.24824    4.61592    5.35333   -0.25303    0.79806   18.48304   35.61166
   1.00000    5.00000    9.00799   11.02355    2.01556  -11.07164   -5.98808   -3.06799   -3.34492   -0.13739    0.87921  -10.47416  -62.84146
   1.00000    6.00000   19.90535   22.25859    2.35324   -8.85663   -2.74568   -3.75771   -4.19304   -0.18327    0.84370  -83.27873   -7.90372

From the comparison we see that the effect is of the order of 50-60 meV, of the same order of magnitude of the accuracy of the GW calculations.

[11] The frequency dependent Green's functions 05_rx_greenfunc (yambo -g g -d -k hartree)

By typing
localhost:>yambo -F Inputs/05_rx_greenfunc -J Real_Axis

Yambo will calculate the full frequency dependent Green's functions. These will allow us to see what is the real frequency dependence of the self-energy for occupied/empty states.

From the plot of the imaginary part of the self-energy we see that it correctly changes sign at the Fermi level. We also notice that the self-energy spectral function is characterized by a series of poles far away from the Fermi level. As a consequence the real part of the self-energy is dominated by the frequency dependence of the Hilbert transformation. This frequency dependence, together with the position of the poles, instead, explains the success of the PPA.