Bandgap of Si using different DFT+HF methods

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

Calculation of the band gap in Si using different DFT+HF schemes (PBE, B3LYP, PBE0, HSE06, and HF).

Input

POSCAR

System: Si                             
 5.430 
 0.5 0.5 0.0
 0.0 0.5 0.5
 0.5 0.0 0.5
   1  
Cartesian
0    0    0
0.25 0.25 0.25

INCAR

## Better preconverge with PBE first
## and use the WAVECAR file as inout for the DFT+HF calculation
   
## Selects the B3LYP hybrid functional
#LHFCALC = .TRUE. ; GGA = B3 ; AEXX = 0.2 ; AGGAX = 0.72 
#AGGAC = 0.81 ; ALDAC = 0.19
#ALGO = D ; TIME = 0.4 
   
## Selects the PBE0  hybrid functional
#LHFCALC = .TRUE. ; 
#ALGO = D ; TIME = 0.4 
   
## Selects the HSE06 hybrid functional
#LHFCALC = .TRUE. ; HFSCREEN = 0.2 ; 
#ALGO = D ; TIME = 0.4 
   
## Selects HF 
#LHFCALC = .TRUE. ; AEXX = 1.0 ; ALDAC = 0.0 ; AGGAC = 0
#ALGO = D ; TIME = 0.4 
   
## Leave this in
ISMEAR =  0
SIGMA  =  0.01
GGA    = PE

KPOINTS

k-points
0
Gamma
  6  6  6
  0  0  0

Calculation

  • script to extract eigenvalues and calculate the bandgap
homo=`awk '/NELECT/ {print $3/2}' $1`
lumo=`awk '/NELECT/ {print $3/2+1}' $1`
nkpt=`awk '/NKPTS/ {print $4}' $1`

e1=`grep "     $homo     " $1 | head -$nkpt | sort -n -k 2 | tail -1 | awk '{print $2}'`
e2=`grep "     $lumo     " $1 | head -$nkpt | sort -n -k 2 | head -1 | awk '{print $2}'`

echo "HOMO: band:" $homo " E=" $e1
echo "LUMO: band:" $lumo " E=" $e2
type
./gap.sh OUTCAR


  • README.txt
For each HF+DFT method (B3LYP, PBE0, HSE06, and HF) compute the bandgap of Si
adopting the following procedure:

i) Perform a standard PBE calculation
ii) Perform a HF+DFT run (VASP reads in the WAVECAR from run (i)
iii) Calculate the value of the bandgap by running the script 'gap': 
     bandgap = min(cband) - max(vband) 

Download

Si_hybrids_gap.tgz

Back to the main page.