Hi all,
I have made a one dimensional system with 3 sub-lattices. However, in order to 
attach leads I have to make a lead and manually attach it to sublattice A. But, 
apparently this code below is not working. Any suggestion will be help full.


def make_system(nlattice):
    
    lat = kwant.lattice.Polyatomic([(1, 0), (0, 1)], [(0, 0), (1/3.0, 0), 
(2/3.0, 0)])
    sub_a, sub_b, sub_c = lat.sublattices

    # central scattering region
    syst = kwant.Builder()
    syst[(sub_a(x,0) for x in range(nlattice))] = 4
    syst[(sub_b(x,0) for x in range(nlattice))] = 4
    syst[(sub_c(x,0) for x in range(nlattice))] = 4
    syst[lat.neighbors()] = -1
    
    # add leads
    lat_lead = kwant.lattice.square()
    sym_lead1 = kwant.TranslationalSymmetry((-1, 0))

    lead1 = kwant.Builder(sym_lead1)
    lead1[lat_lead(-1, 0)] = 4
    lead1[lat_lead.neighbors()] = -1
    
    syst[lat_lead(-1,0)] = 4
    syst[lat_lead(-1,0), sub_a(0,0)] = -1
    syst.attach_lead(lead1)
    syst.attach_lead(lead1.reversed())
    
    kwant.plot(lead1)
    return syst
    
    
fsyst = make_system(nlattice=10).finalized()
kwant.plot(sys, fig_size=[10,8], site_size=0.2)

Shashank Kumar

Reply via email to