[SPAM] Troubles calculating Z2 (graphene)

Dominik Gresch greschd at phys.ethz.ch
Mon Nov 21 17:32:17 CET 2016

Hi Jimena,

First of all, I think your problem might just be this: The surface 
should be lambda t1, t2: [t1, t2 / 2, 0] not lambda t1, t2: [t1, t2, 0]. 
This is because the Z2 invariant is calculated between the two 
time-reversal invariant lines, not across the full BZ.

Here are a few other remarks:

As Liucus noted, a problem arises when the direct band gap is very 
small. In principle the Z2 invariant can be calculated whenever the 
direct band gap is not zero anywhere on the surface you are calculating. 
However, the default values for the convergence parameters are better 
suited for common "well-behaved" systems. When the band gap is very 
small at some point, the Wannier charge centers can move very quickly. 
As a consequence, you should use a large number of starting lines 
(you've done that already), and 'min_neighbour_dist' should usually be 
rather small (this is just the smallest possible distance between 
calculated Wannier charge center lines before the iteration stops).

Note that the 'gap_tol' doesn't check for the band gap -- the gap in 
question here is the gap in the Wannier charge center spectrum (the 
check makes sure the middle of the gap is not too close to a 
neighbouring WCC). Z2Pack doesn't have knowledge of the band gap itself, 
but it just so happens that systems where the band gap is small are also 
troublesome for the 'gap_tol' check.

I tried to run your input files, but it seems the nscf and pw2wan input 
files are missing. If the problem persists, please send me these so I 
can try to solve the problem.

Best regards,


On 21.11.2016 01:52, liubi at mail.ustc.edu.cn wrote:
> Hello Asar,
>     I don't think graphene is a good example since the graphene is 
> nearly gapless even with SOC. The gap check in Z2PACK will always fail.
> Liucus
> 在2016-11-18 19:49:37,Jimena Olmos Asarjimenaolmos at gmail.com 
> <mailto:jimenaolmos at gmail.com>写道:
>     Good morning,
>     I am trying to learn how to run the Z2Pack, since it would be
>     really useful for my research project. After some trials, I could
>     get the expected results for two examples you offer: Bi and
>     Bi2Se3. Now I would like to test some known system, like graphene,
>     to check if what I'm doing is correct. Well, it may not be the
>     case, since I can't get Z2=1. Would you, please, give me a hint? I
>     attach the "run.py" file, scf and wannier90 inputs. I also add the
>     pseudopotential (it was generated using the code by Andrea del
>     Corso, within the QE package).
>     Thanks in advance,
>     Jimena Olmos Asar

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.phys.ethz.ch/private/z2pack/attachments/20161121/8c779b95/attachment.html>

More information about the Z2Pack mailing list