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

Fun with a Hydrogen chain:
the obscure(?) reasons for the failure of the ALDA
by Andrea Marini

[Tutorial pdf document]

In the "Fantastic dimensions tutorial" we learned how to calculate the response function in the TDDFT scheme.

You should have noticed that the performance of the ALDA gradually worsens moving from 0 to 3 dimensions. This means that the drawbacks of the approximation are somehow due to possibility that the electrons move in "wider" regions of space.
The subject of this tutorial is to show how yambo can be used to pin down the reasons for the failure of the ALDA in a simple system. The conclusions of this tutorial do not mean to be general, but they should convince you that there is a link between the local assumption of the ALDA and the polarization of electrons in extended directions.

The system used in this tutorial is an infinite H2 molecular chain. This is a very simple physical system consisting of H atoms that are distributed in sets of two atoms placed at a variable distance X from each other.


The physical properties of the chain are functions of the distance X. When X=2. a.u. the system is metallic. By increasing X the chain becomes semiconducting with increasing gap.

First of all, after having downloaded the zip files of the tutorial yambo databases you should have six folders corresponding to the six values of X (2.05, 2.1, 2.2., 2.3, 2.4 and 2.5).

The ALDA failure

The first step of this tutorial is to run the calculation of the dynamical absorption in the TDLDA approximation.
We will describe here only the case of X=2.05 a.u.. You are invited to repeat the calculation for X=2.5 and, if you wish, for all the other cases.

Enter the 2.05 directory and run the setup launching yambo

localhost> cd 2.05
localhost> yambo

Editing the r_setup file we notice that the system has a small (0.27 eV) gap.
Now we can directly run the TDLDA calculation by typing

localhost>  yambo -o b -k alda -y d
You are now redirected to the editing of the yambo.in input file.
optics                       # [R OPT] Optics
bse                          # [R BSK] Bethe Salpeter Equation.
tddft                        # [R   K] Use TDDFT kernel
bsk                          # [R BSK] Bethe Salpeter Equation kernel
bss                          # [R BSS] Bethe Salpeter Equation solver
BSEmod= "causal"             # [BSE] resonant/causal/coupling
BSKmod= "ALDA"               # [BSE] IP/Hartree/HF/ALDA/SEX/BSfxc
BSSmod= "d"                  # [BSS] (h)aydock/(d)iagonalization/(i)nversion/(t)ddft`
KfnQPdb= "none"              # [EXTQP BSK BSS] Database
KfnQP_N= 1                   # [EXTQP BSK BSS] Interpolation neighbours
% KfnQP_E
 0.000000 | 1.000000 | 1.000000 |      # [EXTQP BSK BSS] E parameters (c/v)
% KfnQP_W
 0.000    | 0.000    | 0.000    | 0.000    |     # [EXTQP BSK BSS] W parameters  (c/v)
KfnQP_Z= ( 1.000000 , 0.000000 )       # [EXTQP BSK BSS] Z factor  (c/v)
% BSEBands
  1 | 20 |                   # [BSK] Bands range
BSENGexx=  7659        RL    # [BSK] Exchange components
% BEnRange
  0.00000 | 10.00000 | eV    # [BSS] Energy range
% BDmRange
  0.10000 |  0.10000 | eV    # [BSS] Damping range
BEnSteps= 100                # [BSS] Energy steps
% BLongDir
 1.000000 | 0.000000 | 0.000000 |      # [BSS] [cc] Electric Field
Please change the highlighted values to ...
% KfnQP_E
 3.500000 | 1.000000 | 1.000000 |      # [EXTQP BSK BSS] E parameters (c/v)
% BSEBands
  1 | 2 |
BEnSteps= 1000                # [BSS] Energy steps

Now use the resp verbosity to activate the flag needed to dump to file the eigenvectors of the BS Hamiltonian:

localhost>  yambo -o b -k alda -y d -V resp

and remove the # to the flag

#WRbsWF                      # [BSS] Write to disk excitonic the FWs

Now run yambo. In the folder ./BSE you will find the absorption spectra (o-BSE.eps_q001-bd) calculated using the Many-Body based Bethe-Salpeter(BS) equation. If you wish you can find here a dedicated section about the BS calculation.
For the moment we will keep the results of the Bethe-Salpeter equation as a reference for our calculations. The BS equation leads indeed a proper and accurate description of the optical properties of the H2 molecular chains.
If you plot the ALDA result against the BS one you will find that there is a reasonable agreement between the two curves.

Now, please, repeat the same procedure in the 2.5 folder

localhost> cd ../2.5
localhost> yambo
localhost>  yambo -o b -k alda -y d -V resp

If you plot again the ALDA result against the BS one you will find that in this case the performance of the ALDA is much worse.

The question now is ...

A closer look: plots

At this stage we need to get some more information from the TDLDA calculations that can be compared with the "exact" BS results. Let's proceed by plotting the electronic density and the wavefunction corresponding to the most intense peak in the dynamical polarizability.

A long-range kernel beyond the TDLDA

So, we realized the a simple plot of the excitation wavefunction can pin down the possible reasons for the breakdown of the ALDA. In general if you know the problem, you should be half way through the quest for a solution. Is it true?

The Bethe-Salpeter equation: tricks and tips of the 1D systems

The tricky case of the H2 chain. When the BS equation can be (even) more complicated!

Additional Exercises

Repeat the whole tutorial for the other intra-atomic distances, whose databases are provided in the tutorial zip file.