HSE|HSE Functional for Band Structures in VASP

Related Reading

VASP the GUIDE: Hartree-Fock (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
【HSE|HSE Functional for Band Structures in VASP】Band structures using hybrid functionals have to be calculated the following way:
  1. First perform a selfconsistent Hartree-Fock/HSE calculation using a conventional KPOINTS file.
  2. Copy the IBZKPT file to KPOINTS, and explicitely add all desired k-points along high-symmetry 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 k-points to 0.
  3. Do not forget to set the number of k-points in KPOINTS correctly (to the number of the k-points used in the standard mesh PLUS the number of the k-points along the lines), such that all k-points are used for the calculations.
  4. NKRED can not be used.
  5. Perform a second VASP run:
    It is recommended to use the Davidson algorithm, since it converges that eigen energies at the new k-points 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 k-points 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 scf-steps IMIX = 1 ! Use simple charge mixer, since

Pulay might blow up
  1. The KS-eigenvalues of the states along the high-symmetry lines are written in OUTCAR, EIGENVAL, vasprun.xml; please cut the k-points 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 bandstructure-plots)
Note: A Hartee-Fock calculation can NOT be continued from an existing CHGCAR file, since the non-local exchange is not determined by the charge density but by the density matrix and/or the KS-orbitals.
HSE06 calculated records 1. Gamma-scf After structural optimization opt
cp -rf opt Gamma-scf

INCAR
SYSTEM=x ISTART=0 ENCUT=350 EDIFF=1E-5 IBRION=2 POTIM=0.25 NSW=0 EDIFFG=-1E-2 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. 1hse-scf
cp -rf Gamma-scf 1hse-scf

INCAR
SYSTEM=x ISTART=1 ENCUT=350 EDIFF=1E-5 IBRION=2 POTIM=0.25 NSW=0 EDIFFG=-1E-2 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. 2hse-scf
cp -rf 1hse-scf 2hse-scf

INCAR
SYSTEM=x ISTART=1 ENCUT=350 EDIFF=1E-5 IBRION=2 POTIM=0.25 NSW=0 EDIFFG=-1E-2 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 2hse-scf hseband

INCAR
SYSTEM=x ISTART=1 ICHARG=11 LORBIT=10 ENCUT=350 EDIFF=1E-5 IBRION=2 POTIM=0.25 NSW=0 EDIFFG=-1E-2 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
  1. Use script gk.x and file syml to output file inp.kpt. If the file has a few lines of zero, then delete.
  2. Add the contents of inp.kpt at the end of the IBZKPT file, set the weights of these added k-points to 0.
  3. Set the number of k-points correctly. For this example, the number is 1 + rows of file ink.kpt.
  4. Copy the IBZKPT file to KPOINTS.
Automatically generated mesh 81 Reciprocal lattice 0.000000000000000.000000000000000.000000000000001 0.0000000.0000000.0000000 0.0250000.0000000.0000000 0.0500000.0000000.0000000 0.0750000.0000000.0000000 0.1000000.0000000.0000000 0.1250000.0000000.0000000 .........

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 k-points correctly.
12012011 0.4622031E+020.1284000E-080.1040630E-080.4151000E-080.2500000E-15 1.000000000000000E-004 CAR GeS@SnS 600803640.0000000E+000.0000000E+000.0000000E+000.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/t-3723568-1 http://muchong.com/t-4232787-1

    推荐阅读