Besides the line-mode K-path, VASPKIT can also generate K-path with uniformed spacing between K points in units of 2$\pi$*Å-1, which can be used for hybrid functional band structure calculations. Such KPOINTS file contains two parts. First part is same as the self-consistent calculation with symmetry weighted K-points in Irreducilbe Brillouin Zone. And Second part is the 0-weighted K-points alone the k-path. To generate this KPOINTS file:
(1) Same as pure functional calculation. Do geometry optimization. Run 302 (for 2D materials) or 303 (for 3D materials) to get:
standardized primitive cell (PRIMCELL.vasp)
line-mode k-path for pure functional band structure calculation (KPATH.in)
(2) Run 251 to generate KPOINTS file for hybrid functional band-structure calculations. Input the KPT resolution values to determine density of k-mesh for SCF calculation and k-path for band structure calculation. Then VASPKIT will read KPATH.in file and generate the KPOINTS file for hybrid functional band-structure calculation.
(3) Optional. Do a PBE SCF calculations based on the new generated KPOINTS file and get the wavefunctions, which can be read for next step hybrid functional calculation. Sometimes, this step reduce the SCF time of the next step hybrid functional calculation.
(4) Do hybrid functional band structure calculation.
302 +-------------------------- Warm Tips --------------------------+ See An Example in VASPKIT/examples/seek_kpath/graphene_2D. This feature is still experimental & check the PRIMCELL.vasp file. +---------------------------------------------------------------+ -->> (1) Reading Structural Parameters from POSCAR File... +-------------------------- Summary ----------------------------+ The vacuum slab is supposed to be along c axis Prototype: AB2 Total Atoms in Input Cell: 3 Lattice Constants in Input Cell: 3.184 3.184 18.410 Lattice Angles in Input Cell: 90.000 90.000 120.000 Total Atoms in Primitive Cell: 3 Lattice Constants in Primitive Cell: 3.184 3.184 18.410 Lattice Angles in Primitive Cell: 90.000 90.000 120.000 2D Bravais Lattice: Hexagonal Space Group: 187 Point Group: 26 [ D3h ] International: P-6m2 Symmetry Operations: 12 Suggested K-Path: (shown in the next line) [ GAMMA-M-K-GAMMA ] +---------------------------------------------------------------+ -->> (2) Written PRIMCELL.vasp file. -->> (3) Written KPATH.in File for Band-Structure Calculation. -->> (4) Written HIGH_SYMMETRY_POINTS File for Reference.
Replace the old POSCAR by the new generated PRIMCELL.vasp: cp PRIMCELL.vasp POSCAR
1 2 3 4 5 6 7 8 9 10 11
Primitive Cell 1.000000 3.18401832481292 0.00000000000000 0.00000000000000 -1.59200916240646 2.75744075540316 0.00000000000000 0.00000000000000 0.00000000000000 18.40999984740000 S Mo 2 1 DIRECT 0.0000000000000000 0.0000000000000000 0.4151505217091287 S1 0.0000000000000000 0.0000000000000000 0.5848494782908713 S2 0.6666666666666666 0.3333333333333333 0.5000000000000000 Mo1
KPATH.in is line-mode KPOINTS file:
1 2 3 4 5 6 7 8 9 10 11 12
K-Path Generated by VASPKIT. 20 Line-Mode Reciprocal 0.0000000000 0.0000000000 0.0000000000 GAMMA 0.5000000000 0.0000000000 0.0000000000 M
0.5000000000 0.0000000000 0.0000000000 M 0.3333333333 0.3333333333 0.0000000000 K
0.3333333333 0.3333333333 0.0000000000 K 0.0000000000 0.0000000000 0.0000000000 GAMMA
(2) Run 251 to generate KPOINTS file for hybrid functional band-structure calculations. Select (1) Monkhorst-Pack Scheme or (2) Gamma Scheme to generate k-mesh for SCF calculation.
Then input the resolution value of normal weighted K-Mesh and 0-weighted K-path, respectively. VASPKIT will write a new KPOINTS according to users’ input.
251 -->> (1) Reading Structural Parameters from POSCAR File... ======================= K-Mesh Scheme ========================== 1) Monkhorst-Pack Scheme 2) Gamma Scheme 0) Quit 9) Back ------------->> 2 +-------------------------- Warm Tips --------------------------+ Input Resolution Value to Determine K-Mesh for SCF Calculation: (Typical Value: 0.03-0.04 is Generally Precise Enough) ------------>> 0.05 Input Resolution Value along K-Path for Band Calculation: (Typical Value: 0.02-0.04 for DFT and 0.04-0.06 for hybrid DFT) ------------>> 0.05 +---------------------------------------------------------------+ -->> (2) Reading K-Paths From KPATH.in File... +-------------------------- Summary ----------------------------+ K-Mesh for SCF Calculation: 7 7 1 The Number of K-Point along K-Path 1: 22 The Number of K-Point along K-Path 2: 13 The Number of K-Point along K-Path 3: 26 +---------------------------------------------------------------+ -->> (3) Written KPOINTS File!
Here, the resolution value of normal weighted K-Mesh and 0-weighted K-path is set to be 0.05. Output K-mesh for SCF Calculation: 7 7 1. And the number of k-points along each line of k-path: $\Gamma$-> M : 22, M -> K : 13, K -> $\Gamma$ : 26. The KPOINTS file:
#### HSE #### LHFCALC = .TRUE. AEXX = 0.25 HFSCREEN = 0.2 ALGO = ALL # or Damped TIME = 0.4
3.4 Post-process Band Structure (hybrid functional)
(5) Extract band structure information by 252. band data is saved in BAND.dat and BAND-REFORMATTED.dat files. High-symmetry points positions on band structure figures are saved in KLABELS.
(Note: bug in 0.73 version, please use new version)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
252 -->> (01) Reading Input Parameters From INCAR File... -->> (02) Reading Fermi-Energy from DOSCAR File... ooooooooo The Fermi Energy will be set to zero eV ooooooooooooooo -->> (03) Reading Energy-Levels From EIGENVAL File... -->> (04) Reading Structural Parameters from POSCAR File... -->> (05) Reading K-Paths From KPATH.in File... -->> (06) Written BAND.dat File! -->> (07) Written BAND_REFORMATTED.dat File! -->> (08) Written KLINES.dat File! -->> (09) Written KLABELS File! -->> (10) Written BAND_GAP File! If you want use the default setting, type 0, if modity type 1 0 -->> (11) Graph has been generated!
if the python and matplotlib enviornment is set correctly. VASPKIT will draw a band figure band.png automatically. Following parameters should be set in ~/.VASPKIT file.
1 2
PYTHON_VERSION 3 PLOT_MATPLOTLIB .TURE.
You can also draw the figure from BAND.dat or BAND_REFORMATTED.dat by ORIGIN, which is described in Section 3.2.
By comparing with the line-mode of KPOINTS (option 302 and 303). The biggest advantages of 25 is that the k spacing along K-path is averaged, so that saves computational cost.
Versions prior to 0.72 took the same number of K-points for energy line, resulting in uneven K-distribution on different paths, as shown in the lift figure below. The latest version of VASPKIT supports automatic determination of K-points number on different energy band paths based on a given k-point interval, thus ensuring uniform spattering throughout the band calculation, as shown in right Figure below.
KPOINTS generated from VASPKIT 251 keeps the spacing between every k points. So, one can use less 0-weighted k points to get a similar qualified band structure, and thus, take less time when doing band structure calculations.
To get projected hybrid functional band structure, please use 253,254,255:
Ensure the LORBIT = 10 or LORBIT = 11 parameter in INCAR to output projection information.
1 2 3
253) Get Projected Band-Structure for Selected Atoms 254) Get Projected Band-Structure for Each ELement 255) Get the Sum of Projected Band-Structure for Selected Atoms
For example: by using 253, a free format input is available. You can input any atoms by its index and any elements symbol. Projected band structure will saved for each elements one by one.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
-->> (01) Reading Input Parameters From INCAR File... -->> (02) Reading Fermi-Energy from DOSCAR File... ooooooooo The Fermi Energy will be set to zero eV ooooooooooooooo -->> (03) Reading Structural Parameters from POSCAR File... -->> (04) Reading Energy-Levels From EIGENVAL File... -->> (05) Reading Band-Weights From PROCAR File... -->> (06) Reading K-Paths From KPATH.in File... |---------------------------------------------------------------| Input the element-symbol and/or atom-index to SUM [Total-atom: 3] (Free Format is OK, e.g., C Fe H 1-4 7 8 24)
------------>> 1-3 -->> (07) Written SELECTED_ATOM_LIST File! -->> (08) Written PBAND_A1.dat File! -->> (09) Written PBAND_A2.dat File! -->> (10) Written PBAND_A3.dat File! -->> (11) Written KLINES.dat File! -->> (12) Written KLABELS File!
Elements projected band structure obtained by using 254,
1 2 3 4 5 6 7 8 9 10 11 12
254 -->> (01) Reading Input Parameters From INCAR File... -->> (02) Reading Fermi-Energy from DOSCAR File... ooooooooo The Fermi Energy will be set to zero eV ooooooooooooooo -->> (03) Reading Structural Parameters from POSCAR File... -->> (04) Reading Energy-Levels From EIGENVAL File... -->> (05) Reading Band-Weights From PROCAR File... -->> (06) Reading K-Paths From KPATH.in File... -->> (07) Written PBAND_S.dat File! -->> (08) Written PBAND_Mo.dat File! -->> (09) Written KLINES.dat File! -->> (10) Written KLABELS File!
All your input atoms will be sumed up and are projected to the band structure by using 255:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
255
-->> (01) Reading Input Parameters From INCAR File... -->> (02) Reading Fermi-Energy from DOSCAR File... ooooooooo The Fermi Energy will be set to zero eV ooooooooooooooo -->> (03) Reading Structural Parameters from POSCAR File... -->> (04) Reading Energy-Levels From EIGENVAL File... -->> (05) Reading Band-Weights From PROCAR File... -->> (06) Reading K-Paths From KPATH.in File... |---------------------------------------------------------------| Input the element-symbol and/or atom-index to SUM [Total-atom: 3] (Free Format is OK, e.g., C Fe H 1-4 7 8 24)
------------>> 1-2 -->> (07) Written SELECTED_ATOM_LIST File! -->> (08) Written PBAND_SUM.dat File! -->> (09) Written KLINES.dat File! -->> (10) Written KLABELS File!
supplementary: band structure can also be down by pymatgen package: