Bethe-Salpeter-equations calculations

From VASP Wiki

VASP offers a powerful and highly predictive module for Bethe-Salpeter[1][2] BSE 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 ielectric function, however, the electron-hole ladder diagrams are either approximated by the screened exchange or by calculated in a 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 step

In 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.2

In 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 = BSE

For ALGO=BSE, the particle-hole ladders are approximated by the calculated in the preceding GW calculations. To this end, vasp writes the following files during the GW step

W0001.tmp  W0002.tmp  W0003.tmp

and

WFULL0001.tmp  WFULL0002.tmp  WFULL0003.tmp

The files W000?.tmp store only the diagonal elements of the screened exchange , and are therefore fairly small, whereas the files WFULL000?.tmp store the full matrix (the integer corresponds to the k-point index). During the BSE calculations, VASP will first try to read the WFULL000?.tmp files and then, if these are missing, the W000?.tmp files. For small isotropic (yellium like) bulk systems, results with the more approximate files W000?.tmp might be similar to the results obtained using WFULL000?.tmp, however, for molecules and atoms as well as surfaces it is strictly required to use the full screened Coulomb kernel .

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 WAVEDER 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 LPEAD=.TRUE. is strictly required and enforces a "numerical" differentiation of the orbitals with respect to . Calculating the derivatives of the orbitals with respect to analytically is not possible at this point, since the Hamiltonian that was used to determine the orbitals is unknown (to VASP) at this point.

Related Tags and Sections

ALGO, LOPTICS, LHFCALC

Examples that use this tag

References


Contents