12
$\begingroup$

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.

enter image description here

$\endgroup$
1
  • $\begingroup$ +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. $\endgroup$ Aug 15 '20 at 18:42
12
$\begingroup$

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.

enter image description here

  • (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. enter image description here

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

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

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.

$\endgroup$
1
  • $\begingroup$ 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. $\endgroup$
    – astha
    Sep 22 at 6:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.