Dear Sir,

I am new to kwant.

How to attach a lead to a particular portion(upper side of the square) of the 
honeycomb structure.

 

sym1 = kwant.TranslationalSymmetry(lat.vec((0,1)))

lead1 = kwant.Builder(sym1)

def lead2_shape(pos):

    x, y = pos

    return 0<x<10 

lead1[lat.shape(lead2_shape, (2,0))]=3

lead1[lat.neighbors()] = -1

 
I used the above code to attach the second lead but it didn’t attach to the 
correct place.

I want to attach the lead to the upper side of the square.

main code 

Wnr=10
lnr=10
a=1
lat=kwant.lattice.honeycomb(a)

def rect(pos):
    x,y=pos
    return 0<x<lnr and 0<y<Wnr
model1 = kwant.Builder()
model1[lat.shape(rect,(1,1))] = 3
model1[lat.neighbors()] =-1
##########lead shape function
def lead1_shape(pos):
    x, y = pos
    return 0 < y < 10
def lead2_shape(pos):
    x, y = pos
    return 0<x<10  
##########1st lead##########
sym = kwant.TranslationalSymmetry(lat.vec((-1,0))) #from the left
sym.add_site_family(lat.sublattices[0], other_vectors=[(-1, 2)])
sym.add_site_family(lat.sublattices[1], other_vectors=[(-1, 2)])
lead = kwant.Builder(sym)
lead[lat.shape(lead1_shape, (1,1))]=3
lead[lat.neighbors()] = -1
model1.attach_lead(lead)
##########problem in 2nd lead, from this below code it attach to other 
position##########
sym1 = kwant.TranslationalSymmetry(lat.vec((0,1)))
lead1 = kwant.Builder(sym1)
lead1[lat.shape(lead2_shape, (2,0))]=3
lead1[lat.neighbors()] = -1
model1.attach_lead(lead1)

kwant.plot(model1)



Anyone, please help

please see this image in below link, I want to attach the second lead in the 
red-circled position of the figure

https://drive.google.com/file/d/15ORyo4j_tAvgC8jaT5lQxmQNS6e0QoOF/view?usp=sharing

Reply via email to