question about the surface Parameters
hello developers , I get some questions about the surface Parameters. I use the TBmodels constructing model manually which is 2D materials Hamilton . Then I use the Z2pack to calculate the Z2 invariant. When I use "surface = lambda s,t2: [s/2, t2, 0] " , I can get the Z2=1,but when I use "surface = lambda s,t2: [s, t2, 0] ", I get the Z2=0. What is the problem?
For the Z2 invariant, the chosen surface should only cover half the Brillouin zone (between two time-reversal invariant lines).
If it covers the whole Brillouin zone (as with lambda s,t2: [s, t2, 0]), it effectively calculates twice the Z2 invariant. Because it's only defined modulo 2, that will always be zero.
So I use "surface = lambda s,t2: [s/2, t2, 0] " to calculate the Z2 invariant which is correct because it covers the half of Brillouin zone? Thank you for your help!