hello everyone,
I am trying to simulate the Kane and mele like crossover of bands in Zigzag
geometry.
But my bans are not spillting or not I dont get.Bcoz bandstructure show that
they are overlapping at all,as shown by colors.Here is my code.
# -*- coding: utf-8 -*-
# <nbformat>3.0</nbformat>
# <codecell>
#required files are imported
import kwant
import matplotlib.pyplot
import math
import numpy as np
from cmath import exp
import tinyarray
# <codecell>
#lattice defined A,B are sublattices.
lat = kwant.lattice.general([(2.46,0), (1.23,1.23*math.sqrt(3))],[(0,0),
(0,2.46/ math.sqrt(3))])
A,B= lat.sublattices
# All pauli matrices to define spin degree of freedom.
s_0=np.identity(2)
s_z =np.array([[1, 0], [0, -1]])
s_x = np.array([[0, 1], [1, 0]])
s_y = np.array([[0, -1j], [1j, 0]])
for x in xrange(1):
def make(a=50,b=11,t=1,alpha =.09):
sym0 = kwant.TranslationalSymmetry(lat.vec((-1,0)))
#system building
def shape(pos):
x, y = pos
return (0<= y <=b)
sys = kwant.Builder(sym0)
#onsite enegies
for j in range(b):
sys[A(0,j+1)] =.1*s_0
sys[B(0,j)] = -.1*s_0
sys[kwant.builder.HoppingKind((0, 0), A,B )]= - t *s_0 + 1j * alpha
*s_z # hopping in y direction
sys[kwant.builder.HoppingKind((-1,1), A,B )] =-t *s_0 - 1j * alpha
*s_x# hopping in x direction
sys[kwant.builder.HoppingKind((0,1), A,B )] = -t *s_0 + 1j * alpha
*s_y# hopping in x direction
#sys[lat.neighbors()]= -t
#sys[lat.neighbors()]= -2.6*s_z
return sys
#main() function call
def main():
sys= make().finalized()
#plotting a band structure
kwant.plotter.bands(sys,momenta= np.linspace(-5,5,1000),show = False)
matplotlib.pyplot.xlabel("S_momentum")
matplotlib.pyplot.ylabel("S_energy [t]")
matplotlib.pyplot.show()
if __name__ == '__main__':
main()