# HSE Functional for Band Structures in VASP

### chempeng / 2017-06-24

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

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[1]

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.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 k-points correctly.

  120  120    1    1
0.4622031E+02  0.1284000E-08  0.1040630E-08  0.4151000E-08  0.2500000E-15
1.000000000000000E-004
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/t-3723568-1 http://muchong.com/t-4232787-1

[1] VASP能带计算与绘图