HSE Functional for Band Structures in VASP
chempeng / 20170624
Related Reading
VASP the GUIDE: HartreeFock (HF) type and hybrid functional calculations
VASPwiki: Tutorial on hybrid functionals
Related discussion: How can I calculate the DOS by using HSE06 in vasp?
These instructions are taken from the Vasp forum
Band structures using hybrid functionals have to be calculated the following way:

First perform a selfconsistent HartreeFock/HSE calculation using a conventional KPOINTS file.

Copy the IBZKPT file to KPOINTS, and explicitely add all desired kpoints along highsymmetry lines of the BZ that are needed for the bandstructure plot. Add the points at the end of the KPOINTS file, but set the weights of these added kpoints to 0.

Do not forget to set the number of kpoints in KPOINTS correctly (to the number of the kpoints used in the standard mesh PLUS the number of the kpoints along the lines), such that all kpoints are used for the calculations.

NKRED can not be used.

Perform a second VASP run: It is recommended to use the Davidson algorithm, since it converges that eigen energies at the new kpoints fastest. Since VASP terminates when the total energy is converged to a certain threshold, it is important to force VASP to do a minimum number of steps, so that the orbitals at the new kpoints are fully converged (note: since their weight is zero, they do not contribute to the total energy). This can be done using e.g.
ALGO = N ; NELMIN = 5 ! Davidson, minimum 5 scfsteps
IMIX = 1 ! Use simple charge mixer, since
Pulay might blow up
 The KSeigenvalues of the states along the highsymmetry lines are written in OUTCAR, EIGENVAL, vasprun.xml; please cut the kpoints required for the bandstructure from one of these files and proceed as usual (using p4vasp or any other graphics tool you usually use to produce bandstructureplots)
Note: A HarteeFock calculation can NOT be continued from an existing CHGCAR file, since the nonlocal exchange is not determined by the charge density but by the density matrix and/or the KSorbitals.
HSE06 calculated records
1. Gammascf
After structural optimization opt
[1]
cp rf opt Gammascf
INCAR
SYSTEM=x
ISTART=0
ENCUT=350
EDIFF=1E5
IBRION=2
POTIM=0.25
NSW=0
EDIFFG=1E2
ISMEAR=0
SIGMA=0.05
PREC=ACCURATE
ISIF=2
NPAR=4
#LWAVE=FALSE
#LCHARG=FALSE
LREAL=Auto
#IALGO=48
ISYM=0
KPOINTS
auto
0
Gamma
1 1 1
0 0 0
POSCAR
cp ../opt/CONTCAR POSCAR
2. 1hsescf
cp rf Gammascf 1hsescf
INCAR
SYSTEM=x
ISTART=1
ENCUT=350
EDIFF=1E5
IBRION=2
POTIM=0.25
NSW=0
EDIFFG=1E2
ISMEAR=0
SIGMA=0.05
PREC=ACCURATE
ISIF=2
NPAR=4
#LWAVE=FALSE
#LCHARG=FALSE
LREAL=Auto
#IALGO=48
ISYM=0
LHFCALC=.TRUE.
HFSCREEN=0.2
ALGO=Damped
TIME=0.4
3. 2hsescf
cp rf 1hsescf 2hsescf
INCAR
SYSTEM=x
ISTART=1
ENCUT=350
EDIFF=1E5
IBRION=2
POTIM=0.25
NSW=0
EDIFFG=1E2
ISMEAR=0
SIGMA=0.05
PREC=ACCURATE
ISIF=2
NPAR=4
#LWAVE=FALSE
#LCHARG=FALSE
LREAL=Auto
#IALGO=48
ISYM=0
LHFCALC=.TRUE.
HFSCREEN=0.2
#ALGO=Damped
#TIME=0.4
4. Hseband
cp rf 2hsescf hseband
INCAR
SYSTEM=x
ISTART=1
ICHARG=11
LORBIT=10
ENCUT=350
EDIFF=1E5
IBRION=2
POTIM=0.25
NSW=0
EDIFFG=1E2
ISMEAR=0
SIGMA=0.05
PREC=ACCURATE
ISIF=2
NPAR=4
LWAVE=FALSE
#LCHARG=FALSE
LREAL=Auto
#IALGO=48
ISYM=0
LHFCALC=.TRUE.
HFSCREEN=0.2
#ALGO=Damped
#TIME=0.4
KPOINTS
 Use script
gk.x
and filesyml
to output fileinp.kpt
. If the file has a few lines of zero, then delete.  Add the contents of
inp.kpt
at the end of the IBZKPT file, set the weights of these added kpoints to 0.  Set the number of kpoints correctly. For this example, the number is 1 + rows of file
ink.kpt
.  Copy the IBZKPT file to KPOINTS.
Automatically generated mesh
81
Reciprocal lattice
0.00000000000000 0.00000000000000 0.00000000000000 1
0.000000 0.000000 0.000000 0
0.025000 0.000000 0.000000 0
0.050000 0.000000 0.000000 0
0.075000 0.000000 0.000000 0
0.100000 0.000000 0.000000 0
0.125000 0.000000 0.000000 0
... ... ...
Submit the job, then the EIGENVAL file will generate after the calculation. Modify the contents of the EIGENVAL: Remove high symmetry points whose weights are not zero and set the number of kpoints correctly.
120 120 1 1
0.4622031E+02 0.1284000E08 0.1040630E08 0.4151000E08 0.2500000E15
1.000000000000000E004
CAR
GeS@SnS
600 80 364
0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00
1 15.982521
2 15.834306
3 15.615449
4 15.458326
5 15.457173
6 15.366968
. ....
Use script pbnf.x
to output file bnd.dat
and highk.dat
. Import the data into origin and plot band structure.
NOTE: There is a problem. In the step Hseband, the ICHARG parameter in the INCAR file needs to be set to 11 or 2? This needs to be tested.
Related discussion: http://muchong.com/t37235681 http://muchong.com/t42327871
Reference
[1] VASP能带计算与绘图