Electron-energy-loss spectrum: Difference between revisions

From VASP Wiki
Line 169: Line 169:
</syntaxhighlight>
</syntaxhighlight>
and plotting the EELS result can also be done with gnuplot.   
and plotting the EELS result can also be done with gnuplot.   
[[File:EELS bulk Si BSE TDHF Q2 result.png|400px|left|Imaginary part of the inverse macroscopic dielectric function for bulk Si from both BSE and TDHF for {{TAG|KPOINT_BSE}}=2. In this example it corresponds to the coordinates <math>(0.5,0.0,0.0)</math> in reciprocal space.]]
[[File:EELS bulk Si BSE TDHF Q2 result.png|thumbnail|400px|left|Imaginary part of the inverse macroscopic dielectric function for bulk Si from both BSE and TDHF for {{TAG|KPOINT_BSE}}=2. In this example it corresponds to the coordinates <math>(0.5,0.0,0.0)</math> in reciprocal space.]]


=Plotting using py4vasp=
=Plotting using py4vasp=

Revision as of 16:43, 26 February 2025

One of the many ways with which is possible to probe neutral excitations in a material is by injecting electrons into the sample. These are called electron-energy-loss spectroscopy experiments, where the incoming electron can create bound electron-hole pairs (i.e. excitons), plasmons, or even higher-order multi-pair excitations.

The incoming electron acts as an external potential, , which induces a charge density in the material, . Within linear-response theory these two quantities can be related by the reducible polarisability function, , via a Green-Kubo relation

If the external potential is taken as proportional to a plane-wave of momentum , then the electron energy-loss spectrum (EELS) can be taken from the imaginary part of the inverse dielectric function, , since

Inclusion of local fields

In general, the microscopic quantity is a function of two coordinates, i.e. . This has important consequences on inhomogeneous systems where a homogeneous, constant, external electric field can induce fluctuations at the interatomic scale, and thus create microscopic fields. A direct consequence from the inhomogeneous character of the system is that in reciprocal space has to be written as , where is a reciprocal lattice vector. The microscopic fields are then the components of the tensor.

From it is possible to see that a problem arises when , i.e. the optical limit. In reciprocal space this equation becomes

where is the Coulomb potential. At , all components without microscopic fields are divergent. To circumvent this issue, the evaluation of is replaced the Coulomb potential with

leaving the component to be dealt with separately and then added at the end.

Micro-macro connection and relation to measured quantities

It is important to note that the actual measured quantity, , does not depend on the microscopic fields. To connect both the microscopic and macroscopic quantities, an averaging procedure is taken out, so that

Since VASP computes the macroscopic function, EELS can be extracted from the final result via

Note that the inclusion of local fields and the connection to the macroscopic observable must be considered regardless of the level of approximation to the polarisability function, . Within VASP, this can be done at several levels of approximation, which are discussed in the next section.

Computing EELS with VASP

EELS from density functional theory (DFT)

The simplest calculation that yields a the macroscopic dielectric function is a ground state calculation using DFT, with the tags NBANDS and LOPTICS. Using bulk silicon as an example with the following INCAR

SYSTEM = Si
NBANDS = 48
ISMEAR = 0 ; SIGMA = 0.1
ALGO = N
LOPTICS = .TRUE.
CSHIFT = 0.4

the macroscopic dielectric function can be extracted from the vasprun.xml file at the end of the calculation by first running the following script

awk 'BEGIN{i=0} /<dielectricfunction comment="density-density">/,\
                /<\/dielectricfunction>/ \
                 {if ($1=="<r>") {a[i]=$2 ; b[i]=($3+$4+$5)/3 ; c[i]=$4 ; d[i]=$5 ; i=i+1}} \
     END{for (j=0;j<i/2;j++) print a[j],b[j],b[j+i/2]}' vasprun.xml > dielectric_function.DFT.dat

which writes the trace of the tensor to a file called dielectric_function.DFT.dat. Plotting the EEL spectrum can be done with visualisation software like gnuplot, using the instruction

p 'dielectric_function.DFT.dat' u 1:($2/($2**2+$3**2)) w l lc rgb 'black' t 'DFT'
Imaginary part of the inverse macroscopic dielectric function for bulk Si from DFT
Imaginary part of the inverse macroscopic dielectric function for bulk Si from DFT

The main feature in the EEL spectrum is peak at close to 17.5 eV, which would correspond to the plasmon energy in bulk Si.

The results form this DFT calculation should be analysed with the following considerations in mind. Firstly, this calculation is performed only for , with no local fields taken into account. Because of that, the expression for is often called the independent particle random-phase approximation dielectric function. Also, there are no interactions between electrons and holes taken into account. To account for both local-field effects and the electron-hole interaction, approximations beyond DFT must be taken into account.

EELS from time-dependent density functional theory (TDDFT)

VASP can compute the macroscopic dielectric function form TDDFT calculations using different functionals. Such calculations not only account for the electron-hole interaction beyond the independent particle level, but also include local-fields and can be performed at points in the Brillouin zone other than .

The evaluation of is performed via Casida's equation, set with ALGO=TDHF in the INCAR. If the following INCAR is used as an example

SYSTEM    = Si
ISMEAR    = 0 
SIGMA     = 0.1
NBANDS    = 48     
ALGO      = TDHF
CSHIFT    = 0.4
IBSE      = 0
NBANDSO   = 4       ! number of occupied bands
NBANDSV   = 8       ! number of unoccupied bands
LHARTREE  = .TRUE.
LADDER    = .TRUE.
LFXC      = .FALSE.
LMODELHF  = .TRUE. 
AEXX      = 0.083
HFSCREEN  = 1.22

at the end of the calculation the dielectric function can be extracted using

awk 'BEGIN{i=0} /<dielectricfunction>/,\
                /<\/dielectricfunction>/ \
                 {if ($1=="<r>") {a[i]=$2 ; b[i]=($3+$4+$5)/3 ; c[i]=$4 ; d[i]=$5 ; i=i+1}} \
     END{for (j=0;j<i/2;j++) print a[j],b[j],b[j+i/2]}' vasprun.xml > dielectric_function.TDHF.dat

EELS from many-body perturbation theory

Calculations at finite momentum

Warning: With VASP, finite momentum calculations at TDDFT or BSE level, i.e. ALGO=TDHF or BSE, must always use ANTIRES=2 regardless of the solver, functional, or approximation used for the electron-hole interaction. Otherwise results will be unphysical!

The macroscopic dielectric function can be evaluated at other points in the Brillouin zone. First, it is important to check the point list in the OUTCAR or IBZKPT from the ground-state calculation. In the OUTCAR the points are listed in this section

 Subroutine IBZKPT returns following result:
 ===========================================

 Found     16 irreducible k-points:

 Following reciprocal coordinates:
            Coordinates               Weight
  0.000000  0.000000  0.000000      1.000000
  0.166667  0.000000  0.000000      8.000000
  0.333333  0.000000  0.000000      8.000000
...

with the first three entries being the reduced coordinates, the fourth entry being the weight of the respective point. The same information is also repeated in the IBZKPT file, where the points are listed as

Automatically generated mesh
      16
Reciprocal lattice
    0.00000000000000    0.00000000000000    0.00000000000000             1
    0.16666666666667    0.00000000000000    0.00000000000000             8
    0.33333333333334    0.00000000000000    0.00000000000000             8
...

The point at which is going go be computed is then selected in the INCAR file with the tag KPOINT_BSE. The syntax is

 KPOINT_BSE = index_of_k-point  n1 n2 n3

where the first entry is the index of the point on the list found in the OUTCAR or IBZKPT files, and optional integer arguments. If present, these three indices can be used the evaluate the dielectric function at a k point outside of the first Brillouin zone corresponding to

Still using bulk silicon as an example, the following INCAR evaluates at the second k-point on the list

SYSTEM = Si
NBANDS = 48
NBANDSO = 4 ; NBANDSV = 8
ISMEAR = 0 ; SIGMA = 0.1
EDIFF = 1E-8
ALGO = BSE
LADDER = .TRUE.
LHARTREE = .TRUE.
ANTIRES = 2
CSHIFT = 0.4
IBSE = 2
KPOINT_BSE = 2
OMEGAMAX = 30

Extracting the dielectric function from the vasprun.xml file is done in the same way as before, using the script

awk 'BEGIN{i=0} /<dielectricfunction>/,\
                /<\/dielectricfunction>/ \
                 {if ($1=="<r>") {a[i]=$2 ; b[i]=($3+$4+$5)/3 ; c[i]=$4 ; d[i]=$5 ; i=i+1}} \
     END{for (j=0;j<i/2;j++) print a[j],b[j],b[j+i/2]}' vasprun.xml > dielectric_function.TDHF.dat

and plotting the EELS result can also be done with gnuplot.

Imaginary part of the inverse macroscopic dielectric function for bulk Si from both BSE and TDHF for KPOINT_BSE=2. In this example it corresponds to the coordinates in reciprocal space.

Plotting using py4vasp