Bandgap of Si using different DFT+HF methods: Difference between revisions

From VASP Wiki
No edit summary
No edit summary
Line 78: Line 78:
     bandgap = min(cband) - max(vband)  
     bandgap = min(cband) - max(vband)  
</pre>
</pre>
== Used INCAR Tags ==
{{TAG|AEXX}}, {{TAG|AGGAC}}, {{TAG|AGGAX}}, {{TAG|ALDAC}}, {{TAG|ALGO}}, {{TAG|GGA}}, {{TAG|HFSCREEN}}, {{TAG|ISMEAR}}, {{TAG|LHFCALC}}, {{TAG|SIGMA}}


== Download ==
== Download ==

Revision as of 15:02, 14 March 2017

Description: Bandgap of Si using different DFT+HF schemes (PBE, B3LYP, PBE0, HSE06, and HF)


## Better preconverge with PBE first
## and use the WAVECAR file as inout for the DFT+HF calculation
   
## Selects the B3LYP hybrid function
#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 function
#LHFCALC = .TRUE. ; 
#ALGO = D ; TIME = 0.4 
   
## Selects the HSE06 hybrid function
#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

k-points
0
Gamma
  6  6  6
  0  0  0
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
  • 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


To the list of examples or to the main page