I used VASP to do the band structure calculation on Graphene. Originally I would expect that the Dirac cone can be observed in the K point. If we watched qualitatively, we can see this behavior. enter image description here But when I zoom in the region where the conduction band touches with the valences band, a bandgap can be observed as shown in the figure. enter image description here That's weird because I've already adjusted my K point meshing to be an odd number and increase the number of meshing, it doesn't help. The upper band was still lifted.

  • 1
    $\begingroup$ Can you please clarify what you mean by "adjusting" you k-point grid? Does this mean that in the self-consistent part of the calculation the K symmetry point is explicitly calculated? $\endgroup$
    – ProfM
    Jun 27, 2020 at 8:08
  • $\begingroup$ In the self-consistent calculation, I use Monkhorst-Pack to do the meshing with around 279 meshing grid $\endgroup$
    – JensenPang
    Jun 27, 2020 at 9:10
  • $\begingroup$ @JensenPang, thanks for the clarification, but I need a little more: if you look at the coordinates of the K point, is that point in the list of 279 points that you have in your mesh? $\endgroup$
    – ProfM
    Jun 27, 2020 at 10:45
  • $\begingroup$ @JensenPang have you implemented smearing? Since graphene doesn't have a gap, you need to implement smearing to deal with some BZ integrations that can cause trouble. You should look into that or post your vasp input files here - I remember calculating band structure of graphene long back with vasp, so I should be able to help $\endgroup$
    – Xivi76
    Jun 27, 2020 at 19:17
  • $\begingroup$ Re Xivi76: I implemented the gaussian smearing when I do my calculation, I think it is probably caused by other reason. Anyway thanks your help $\endgroup$
    – JensenPang
    Jun 28, 2020 at 1:48

1 Answer 1


The reason why graphene has Dirac points at K and $-$K is because of a combination of time reversal and inversion symmetries. Therefore, if you impose these symmetries in your VASP calculation, there is no reason why there should be a gap at K. Even if you do not impose these symmetries explicitly, you should be able to get the degeneracy to very high accuracy (better than what you are showing) if you do a well converged calculation in terms of the number of $\mathbf{k}$-points that you are using to sample the Brillouin zone.

So what could be going wrong? From the partial information that you provide, my best guess is that: (i) you don't include the symmetries in the calculation, (ii) the $\mathbf{k}$-point grid you are using for the self-consistent part of the calculation is not fine enough, and in particular it does not explicitly include the K point, and (iii) when you then do the non-self-consistent calculation to obtain the band structure along the high-symmetry lines, then you have very few points along the lines and the code simply naively interpolates between them to generate the plot.

So what would I suggest you do? The first thing is to impose the relevant symmetries. The second is to make sure that the $\mathbf{k}$-point you are using in the self-consistent calculations is large enough, and in particular that it explicitly includes the K point, and (iii) that in the non-self-consistent calculation you include a large number of $\mathbf{k}$-points along the high symmetry points near K.

All of this is based on my interpretation of the partial information you provide.

The discussion above is somewhat different if you included spin-orbit coupling. In that case, a gap develops at the K point in graphene, an observation that led to the field of topological insulators. However, I don't think that this explains your results, because spin-orbit coupling in graphene is very small, on the $\mu$eV scale, orders of magnitude smaller than what you are seeing. For this reason spin-orbit coupling can be neglected when doing calculations for graphene, so I imagine that this is what you are doing.

  • $\begingroup$ Agree with the discussion about K point mesh, but I have a hunch that OP has not implemented smearing. Absence of smearing can easily cause this issue in my opinion. $\endgroup$
    – Xivi76
    Jun 27, 2020 at 19:15
  • $\begingroup$ As ProfM and others explained very well, it could also be that you can try Gamma centered k-mesh to check the results. Slight buckling can also cause, check your POSCAR also to see if everything is alright. $\endgroup$ Jun 27, 2020 at 20:16
  • $\begingroup$ Re ProfM and Shahid Sattar : Thank you guys helps. Now Im trying to follow the guideline provided by ProM and check whether there is some mistake in my calculation. I will post my mistake once I found the problem. I am very appreciate you guys help! $\endgroup$
    – JensenPang
    Jun 28, 2020 at 1:51
  • $\begingroup$ Ive solved the problem completely! Actually I made 2 mistake. 1. As ProfM said, The K point didn't lying on the K-meshing grid point. 2. When I do the calculate in the band structure , I made a low level mistake which the parameter of KPOINTS file are not good enough. I didn't take enough decimal place for the location of KPOINTS. Therefore the sampling location are deviated from the exact location. $\endgroup$
    – JensenPang
    Jun 28, 2020 at 11:20

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .