hi Anant,

could you explain in a bit more detail what you are trying to accomplish? which model are you using specifically? Perhaps you made a mistake implementing the tight binding hamiltonian?

cheers,
Robert

On Sat, Nov 22, 2014 at 1:27 PM, ANANT <avterminator@gmail.com> wrote:
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()