Dear professionals, I am a beginner and I have encountered a problem with my Haldane 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 from math import pi, sqrt, tanh from matplotlib import pyplot #HIDDEN_BEGIN_makesyst Haldane = kwant.lattice.honeycomb() a, b = Haldane.sublattices L=10 W=20 M=2/3 t=1 t2=1/3 phi=np.pi/4 def rec(pos): x, y = pos return 0<=x<=L and 0<=y<=W syst = kwant.Builder() syst[Haldane.shape(rec, (0, 0))] = M syst[Haldane.neighbors()] = t # add second neighbours hoppings syst[Haldane.a.neighbors()] = t2*np.exp(1j*phi) syst[Haldane.b.neighbors()] = t2*np.exp(-1j*phi) syst.eradicate_dangling() sym0 = kwant.TranslationalSymmetry(Haldane.vec((-1, 0))) def lead0_shape(pos): x, y = pos return (0<y<W) sym0.add_site_family(Haldane.sublattices[0] , other_vectors=[(1,-2)]) sym0.add_site_family(Haldane.sublattices[1] , other_vectors=[(1,-2)]) lead0 = kwant.Builder(sym0) lead0[Haldane.shape(lead0_shape, (0, 0))] = M lead0[Haldane.neighbors()] = t # add second neighbours hoppings lead0[Haldane.a.neighbors()] = t2*np.exp(-1j*phi) lead0[Haldane.b.neighbors()] = t2*np.exp(1j*phi) lead0.eradicate_dangling() syst.attach_lead(lead0) syst.attach_lead(lead0.reversed()) #kwant.plot(syst) syst = syst.finalized() bands = kwant.physics.Bands(syst.leads[0]) j=np.linspace(0, 5, 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()