BSE Bethe-Salpeter calculations

VASP offers a powerful and highly predictive module for BSE (Bethe-Salpeter)[116,117] and time-dependent Hartree-Fock calculations (TDHF). It can be used to calculate the response function including excitonic effects on top of GW or hybrid functional calculations. We will first introduce a typical calculation and then report on the required flags in more detail.

To calculate spectra beyond the independent particle approximation and
beyond the random phase approximation (RPA) the flag `ALGO` needs
to be set to `ALGO = TDHF ` or `ALGO = BSE `. Internally
`ALGO = TDHF ` and `ALGO = BSE ` use
identical routines to calculate the dielectric function,
however, the electron-hole ladder diagrams are either
approximated by the screened exchange or by
) calculated in
preceding GW calculations.

The first case, `ALGO = TDHF ` is simpler. The calculations need
to be done in two steps. The first step is a standard DFT or hybrid
functional calculation, where the number of bands is increased
to include the relevant conduction bands in the calculation:

System = Si NBANDS = 16 ! or any larger desired value ISMEAR = 0 ; SIGMA = 0.05 ALGO = D LHFCALC = .TRUE. ; AEXX = 0.3 ; HFSCREEN = 0.2 LOPTICS = .TRUE. ! can also be done in an additional intermediate stepIn the second step, the dielectric function is evaluated by solving the Cassida equation

System = Si NBANDS = 16 ISMEAR = 0 ; SIGMA = 0.05 ALGO = TDHF LHFCALC = .TRUE. ; AEXX = 0.3 ; HFSCREEN = 0.2In this case the exchange kernel, as selected in the fifth line, should be identical to the previous groundstate calculations. The present implementation can be used for spin-polarized as well as non-collinear (spin-orbit) cases. There is, however, one caveat. The local exchange-correlation kernel is not exactly included and approximated by the density-density part only. This makes predictions for spin polarized systems less accurate then for non-spin polarized systems.

The calculation of the dielectric function is also possible after GW type calculations (GW+BSE).
Make certain that in the preceding GW calculations,
the flag `LWAVE=.TRUE.` is set, so that the WAVECAR file
is updated to store the updated one-electron GW energies
and possibly the updated one-electron orbitals as determined in the scGW calculations.
The BSE calculation is initiated using:

System = Si NBANDS = same as in GW calculation ISMEAR = 0 ; SIGMA = 0.05 ALGO = BSEFor

W0001.tmp W0002.tmp W0003.tmpand

WFULL0001.tmp WFULL0002.tmp WFULL0003.tmpThe files

In both cases, `ALGO = TDHF ` and `ALGO = BSE`, the dielectric
function, as well as the calculated pair-excitation energies can be found in
the file vasprun.xml.

Common issues: if the dielectric matrix contains only zeros in the
vasprun.xml file, the `WAVEDER` file was not read or is incompatible
to the `WAVECAR` file. This requires a recalculation of the
the `WAVEDER` file. This can be achieved even after GW calculations
using the following intermediate step:

ALGO = Nothing LOPTICS = .TRUE. ; LPEAD = .TRUE.The flag