Local fields

From The Yambo Project
Revision as of 15:06, 29 March 2017 by Conor (talk | contribs)
Jump to navigation Jump to search

In this tutorial you will learn how to calculate the macroscopic dielectric function for bulk hBN (i.e. including local field effects- LFE) by solving the Dyson equation for X:

Yambo tutorial image

The microscopic dielectric function is related to X by:

Yambo tutorial image

and the macroscopic dielectric function is obtained by taking the (0,0) component of the inverse microscopic one:

Yambo tutorial image

Here we will use the RPA level: thus f xc=0 in the above (Hartree kernel).

Prerequisites

  • You must first complete the "How to use Yambo" tutorial

You will need:

  • The SAVE databases for 2D hBN
  • The yambo executable
  • gnuplot, for plotting spectra

Choosing input parameters

Enter the folder for 2D hBN that contains the SAVE directory, and generate the input file. From yambo -H you should understand that the correct option is yambo -o c -k hartree. Let's start by running the calculation for light polarization q in the plane of the BN sheet:

$ cd YAMBO_TUTORIALS/hBN-2D/YAMBO
$ yambo -F yambo.in_RPA -V RL -J q100 -o c -k hartree

and make sure to set/modify all of the following variables to:

FFTGvecs=     6        Ry    # [FFT] Plane-waves
Chimod= "Hartree"            # [X] IP/Hartree/ALDA/LRC/BSfxc
NGsBlkXd= 3            Ry    # [Xd] Response block size
% QpntsRXd
 1 |  1 |                   # [Xd] Transferred momenta
%
% EnRngeXd
 0.00000 | 20.00000 | eV    # [Xd] Energy range
%
% DmRngeXd
0.200000 | 0.200000 | eV    # [Xd] Damping range
%
ETStpsXd= 2001               # [Xd] Total Energy steps
% LongDrXd
1.000000 | 0.000000 | 0.000000 |        # [Xd] [cc] Electric Field
%

In this input file, we have the following:

  • A q perpendicular to the sheet
  • A wider energy range than before, and more broadening
  • Selected the Hartree kernel, and expanding G-vectors up to 3 Ry (about 85 G-vectors)

Run the code

$ yambo -F yambo.in_RPA -V RL -J q100 

and let's compare the absorption with and without the local fields included. By inspecting the 'o-q100.eps_q1_inv_rpa_dyson' file it's clear we need the 2nd and 4th columns, respectively:

#  E/ev[1]     EPS-Im[2]   EPS-Re[3]   EPSo-Im[4]  EPSo-Re[5]

Plotting the result:

$ gnuplot
gnuplot > plot "o-q100.eps_q1_inv_rpa_dyson" u 1:2 t "q||x RPA-LFE" w l,"o-q100.eps_q1_inv_rpa_dyson" u 1:4 t "q||x noLFE" w l
Yambo tutorial image

It is clear that there is little influence of local fields in this case. We have also plotted the EELS spectrum for comparison.

Now let's switch to q perpendicular to the BN plane:

$ yambo -F yambo.in_RPA -V RL -J q001 -o c -k hartree        and set
...
% LongDrXd
0.000000 | 0.000000 | 1.000000 |        # [Xd] [cc] Electric Field
%
...
$ yambo -F yambo.in_RPA -V RL -J q001

Plotting the output file:

$ gnuplot
gnuplot> plot "o-q001.eps_q1_inv_rpa_dyson" u 1:2 t "RPA-LFE {/Symbol e}_2 q||z" w l,"o-q001.eps_q1_inv_rpa_dyson" u 1:4 t "noLFE {/Symbol e}_2 q||z" w l
Yambo tutorial image

In this case, the absorption is strongly blueshifted. Furthermore, the influence of local fields is striking, and quenches the spectrum strongly.

In order to understand this, we plot the electron energy loss spectrum for this component and compare with the absorption:

$ gnuplot
gnuplot > plot "o-q001.eps_q1_inv_rpa_dyson" u 1:2 t "q||z {/Symbol e}_2" w l,"o-q001.eel_q1_inv_rpa_dyson" u 1:2 t "q||z EELS" w l
Yambo tutorial image

The conclusion is that the dielectric function and EELS coincide for isolated systems, while this is not the case for periodic systems.

Summary

From this tutorial you've learned:

  • How to compute a simple optical spectrum
  • How to reduce the computational load through reducing the G-vector/energy cut off and removing the Vnl term
  • How to plot different components of the dielectric tensor
  • How to use the -J option to neatly label and organise files and databases

Links