the bandstructures of Kane-Mele model

Dear professionals, I am a beginner and I have encountered a problem with my Kane-Mele model. The band structure I obtained with this parameter is different from the ones obtained by others. I am not sure where the error lies and I would appreciate it if you could help me look into it. Thank you for your time and assistance. I am looking forward to hearing from you. My codes are as follows: import kwant import numpy as np import cmath from matplotlib import pyplot # Pauli matrices s0 = np.identity(2) sz = np.diag([1, -1]) graphene = kwant.lattice.honeycomb() a, b = graphene.sublattices nnn_hoppings_a = (((-1, 0), a, a), ((0, 1), a, a), ((1, -1), a, a)) nnn_hoppings_b = (((1, 0), b, b), ((0, -1), b, b), ((-1, 1), b, b)) nnn_hoppings = nnn_hoppings_a + nnn_hoppings_b W=10 M=0 t1=1 t2=-0.06 phi=np.pi/2 spin_orbit = 1j *t2*cmath.exp(1j*phi)* sz def graphene_shape(pos): x, y = pos return (0<y<W) def onsite(site): return s0 * M bulk_kane_mele = kwant.Builder(kwant.TranslationalSymmetry([1, 0])) bulk_kane_mele[graphene.shape(graphene_shape, (0, 0))] = onsite bulk_kane_mele[graphene.neighbors(1)] = s0*t1 bulk_kane_mele[[kwant.builder.HoppingKind(*hopping) for hopping in nnn_hoppings]] = spin_orbit syst = bulk_kane_mele.finalized() bands = kwant.physics.Bands(syst) j=np.linspace(0, 6, 101) energies = [bands(k) for k in j] pyplot.figure() pyplot.plot(j, energies) pyplot.xlabel("momentum [(lattice constant)^-1]") pyplot.ylabel("energy [t]") pyplot.show()
participants (1)
-
1833356804@qq.com