Bandgap of Si using different DFT+HF methods

From VASP Wiki

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.