Dielectric properties of Si using BSE

From VASP Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Task

Description: Calculate the dielectric function of Si including excitonic effects by solving the Bethe-Salpeter equation (BSE) on top of GW0.

Input

POSCAR

Si
 5.4300
0.5 0.5 0.0
0.0 0.5 0.5
0.5 0.0 0.5
2
cart
0.00 0.00 0.00 
0.25 0.25 0.25 

INCAR

  • This is the INCAR file for the basic DFT calculation:
System  = Si
PREC = Normal ; ENCUT = 250.0
ISMEAR = 0 ; SIGMA = 0.01
KPAR = 2
EDIFF = 1.E-8

KPOINTS

Automatic
 0
Gamma
 6 6 6 
 0 0 0

Calculation

  • The workflow of GW0+BSE calculations is given in doall.sh and consists of the following consecutive steps:
  1. "Standard" DFT groundstate calculation.
  2. Obtain virtual orbitals: needs WAVECAR file from step 1.
  3. The GW0 calculation: need WAVECAR and WAVEDER from step 2.
  4. Optional step: use LOPTICS=.TRUE. to plot dielectric function in the independent particle approximation (IPA) using GW0 quasiparticle energies instead of DFT energies.
  5. The BSE calculation: needs WAVECAR from step 3 and WAVEDER from step 2.

Step 1: DFT groundstate calculation

  • We perform standard DFT calculation using the INCAR.DFT file.

Step 2: Obtain DFT "virtual" orbitals (empty states)

  • This step uses the INCAR.DIAG file:
System  = Si
PREC = Normal ; ENCUT = 250.0
ALGO = EXACT ; NELM = 1
ISMEAR = 0 ; SIGMA = 0.01
KPAR = 2
NBANDS = 128
LOPTICS = .TRUE. ; LPEAD = .TRUE.
OMEGAMAX = 40
  • We use exact diagonalization for this step (ALGO=EXACT) and keep 128 bands after diagonalization (NBANDS=128).
  • With LPEAD=.TRUE. we use an alternative way of computing the derivates of the orbitals with respect to the Bloch wave vectors.
  • It is important that this calculations needs the orbitals (WAVECAR file) written in step 1.

Step 3: RPA quasiparticles with single-shot GW (G0W0)

  • This step uses the INCAR.GW0 file:
System  = Si
PREC = Normal ; ENCUT = 250.0
ALGO = GW0  
ISMEAR = 0 ; SIGMA = 0.01 
ENCUTGW = 150 ; NELM = 1 ;  NOMEGA =  50 ;  OMEGATL = 280
KPAR = 2
#NBANDSO=4 ; NBANDSV=8 ; LADDER=.TRUE. ; LUSEW=.TRUE.
NBANDS = 128
NBANDSGW = 12
LWAVE = .TRUE.
PRECFOCK = Normal
  • We select the G0W0 method by specifying ALGO=GW0 and NELM=1.
  • The energy cut off for the response function is select by ENCUTGW.
  • The number of point used in the frequency integration is given by NOMEGA.
  • Use the same number of bands (NBANDS) as in step 2, otherwise the WAVEDER file is not read correctly.
  • The quasiparticle energies are calculated for the first few bands given by NBANDSGW.
  • It is important that this calculation needs the orbitals (WAVECAR file) and the derivatives of the orbitals with respect to the Bloch vectors (WAVEDER file).
  • The quasiparticle energies can be found in the OUTCAR file (saved as OUTCAR.GW0 in this example):
  QP shifts <psi_nk| G(iteration)W_0 |psi_nk>: iteration 1
for sc-GW calculations column KS-energies equals QP-energies in previous step
and V_xc(KS)=  KS-energies - (<T + V_ion + V_H > + <T+V_H+V_ion>^1  + <V_x>^1)
 
k-point   1 :       0.0000    0.0000    0.0000
 band No.  KS-energies  QP-energies   sigma(KS)   V_xc(KS)     V^pw_x(r,r')   Z            occupation

Step 4 (optional): Plot IPA dielectric function using GW0 quasiparticle energies

  • This step uses the INCAR.NONE file:
System  = Si
PREC = Normal ; ENCUT = 250.0
ALGO = Nothing ; NELM = 1
ISMEAR = 0 ; SIGMA = 0.01
KPAR = 2
NBANDS = 128
LWAVE = .FALSE.
LOPTICS = .TRUE. ; LPEAD = .TRUE.
OMEGAMAX = 40  
  • By specyfing ALGO=Nothing we do nothing except reading the WAVECAR file.
  • Using LOPTICS=.TRUE. and LPEAD=.TRUE. we compute the dielectric function in the IPA.

Step 5: The BSE calculation

  • This step uses the INCAR.BSE file:
PREC = Normal ; ENCUT = 250.0
ALGO = BSE 
ANTIRES = 0
ISMEAR = 0 ; SIGMA = 0.01
ENCUTGW = 150
EDIFF = 1.E-8
NBANDS = 128
NBANDSO = 4
NBANDSV = 8
OMEGAMAX = 20
PRECFOCK = Normal
  • By specifying ANTIRES=0 we use the Tamm-Dancoff approximation.
  • ENCUTGW=150 specifies the energy cut-off of the response function.
  • NBANDSO and NBANDSV define the number of valence and conduction bands in the calculations.
  • This calculation needs the orbitals (WAVECAR file) from step 3 and the derivative of the orbitals with respect to the Bloch vectors (WAVEDER file) written in step 2.
  • By using the script ./plotall.sh we get the absorption spectra within the independent particle picture and with BSE:

  • The calculated dielectric function of Si is at this point (GW+BSE) already in much better agreement with experiment. However we can do even better as shown in the following figure:

  • The problem comes from the coarse k-point grid that we have used. A denser grid samples more (direct) transitions between the bands.

  • Simply using a denser grid is mostly not an option because of the computational expense.

Download

Si_BSE.tgz