# mBJ-LDA band structure calculation using VASP

I tried to create a band structure with the mBJ-LDA method using VASP. I found information that the KPOINTS file should be created according to the "0-weight (Fake) SC procedure" (as for HSE).

I have a problem because when I approach the $$\mathbf{k}$$-points corresponding to the second block, I get a structure in which only the points from the second block are contained, not the path between them. How can I increase the accuracy of the mapping of the band structure? Thank you for your help, it's very important to me.

• +1. Thanks for asking here, and we hope to see much more of you! Thank you for taking ProfM's advice and asking this as a separate question rather than trying to ask it in a comment to someone else's question. Aug 15 '20 at 18:42

Here I will take Mg3Sb2 from Materials Project as an example to demonstrate the bandstructure calculation flow with the MBJ method.

• (I) structure relaxation

• (II) PBE band calculation based on the relaxed structure

• (a) self-consistent (SCF) calculation [10_scf_cal].
• (b) band calculation based on converged charge density at (II-a) [11_band_cal].
• (c) read and plot EIGENVALUE.

• (III) MBJ band calculation based on step (II).

• (a) PBE SCF calculation with zero weight k-points.

### HOW TO WRITE KPOINTS

 (1) Copy the IBZKPT at step (II-a) into KPOINTS
(2) Find all k-points from OUTCAR at step (II-b) and add to the KPOINTS with zero weight.


### INCAR

 ISTART=0
ICHARG=2
ENCUT=400
EDIFF=1E-6
NELM=300
ISMEAR=-5
IALGO=38

• (b) MBJ SCF calculation with zero weight k-points.

### INCAR

 ### Read PBE wavefunction
ISTART=1
ICHARG=0
ENCUT=400
EDIFF=1E-6
NELM=300
ISMEAR=-5

###MBJ:
METAGGA=MBJ
LASPH=.TRUE.
LMAXMIX=4
GGA=CA
#CMBJ=XXX

• (c) read and plot the EIGENVALE with zero weight k-point.

• PS: all related input files can be accessed through this link: https://github.com/Kohn-X/MBJ_cal

• could you also please provide us with the INCAR settings during this procedure ? Feb 2 '21 at 14:36
• @ChiKou Later I will add the INCAR file.
– Jack
Feb 2 '21 at 22:44
• @ChiKou All related input cards have been attached.
– Jack
Feb 4 '21 at 3:19
• @ChiKou I have detailed my answer again.
– Jack
Feb 16 '21 at 3:40
• @ChiKou All input files have been attached: github.com/Kohn-X/MBJ_cal
– Jack
Feb 18 '21 at 4:46

If you give the explicit points in the KPOINTS file in VASP for a band structure calculation, for example as required for hybrid functionals, the bands will only be calculated at the explicit $$\mathbf{k}$$-points you list. For example, if you have a cubic cell and want the path between $$\Gamma$$ at $$(0,0,0)$$ and X at $$(0.5,0,0)$$, then simply writing:

$$0.0 \,\, 0.0 \,\, 0.0 \\ 0.5 \,\, 0.0 \,\, 0.0$$

in your KPOINTS file will calculate the bands at these two points, but not at the $$\mathbf{k}$$-points in between. To get more $$\mathbf{k}$$-points between these two points, you need to explicitly include them in your list. For example, to include five points when going from $$\Gamma$$ to X in the cubic cell you should write:

$$0.0 \,\, 0.0 \,\, 0.0 \\ 0.1 \,\, 0.0 \,\, 0.0 \\ 0.2 \,\, 0.0 \,\, 0.0 \\ 0.3 \,\, 0.0 \,\, 0.0 \\ 0.4 \,\, 0.0 \,\, 0.0 \\ 0.5 \,\, 0.0 \,\, 0.0$$

This will calculate the bands at each of these points. For finer $$\mathbf{k}$$-point sampling, you simply need to increase the number of divisions between the path end-points.

If you are not using a hybrid functional, then you can use the "Line-mode" in the KPOINTS file where you only need to specify the end points of the path and VASP automatically calculates the bands at the extra points between the end points.

• I think this is not an easy job to prepare the KPOINTS file for the hybrid calculations. I still doubt how can we prepare this file for some different K-points, like (0.0 0 0) to 0.3333, 0.5 0.5). Can we use vaspkit for it? some people use these points from OUTCAR of fake-scf calculations. Please generalize your answer so that we can learn it more. Sep 22 '21 at 6:10