problem about Z2pack

黄伟杰 lan1232356 at gmail.com
Thu Nov 7 08:55:45 CET 2019


Dear greschd,
   I am a greenhand in z2pack. I have read the tutorial and written a
program according to PRL 111, 056402 (2013) .However, I don't get the
correct answer. I guess some problems in program. The article and program
is in appendix.
Best wishes
Weijie Huang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.phys.ethz.ch/pipermail/z2pack/attachments/20191107/e1deac96/attachment.html>
-------------- next part --------------
import z2pack
import numpy as np
import math as c

def hamiltonian(k):
    kx,ky,kz=k
    #t=10,mu=10,r=5,A0=A1=2
    return np.array([
        [-2*10*(c.cos(kx)+c.cos(ky))-10,-2*5*c.sin(ky)-2*1j*5*c.sin(kx),2+2*2*(c.cos(kx)+c.cos(ky)),0],
        [-2*5*c.sin(ky)+2*1j*5*c.sin(kx),-2*10*(c.cos(kx)+c.cos(ky))-10,0,2+2*2*(c.cos(kx)+c.cos(ky))],
        [2+2*2*(c.cos(kx)+c.cos(ky)),0,2*10*(c.cos(kx)+c.cos(ky))+10,2*5*c.sin(ky)-2*1j*5*c.sin(kx)],
        [0,2+2*2*(c.cos(kx)+c.cos(ky)),2*5*c.sin(ky)+2*1j*5*c.sin(kx),2*10*(c.cos(kx)+c.cos(ky))+10]
    ])
system = z2pack.hm.System(hamiltonian,bands=4)

result=z2pack.surface.run(
    system=system,
    surface=lambda t1,t2:[t1,t2,0],
    num_lines=100,
    min_neighbour_dist=0.0001
)

print(z2pack.invariant.chern(result))
print(z2pack.invariant.z2(result))


More information about the Z2Pack mailing list