As a lead I want to use the left boundary atoms of graphene (please see attached photo).

I use class kwant.builder.BuilderLead(builder, interface).


I define a builder in the following way:

#The tight-binding system of a left lead.

left_lead = kwant.Builder()
left_lead[lat(-90.26501, 13.2107)] = 1.5
left_lead[lat(-91.60269, 12.67463)] = 1.5
left_lead[lat(-91.59045, 11.58774)] = 1.5
left_lead[lat(-90.26237, 11.08828)] = 1.5 
etc.

And add hoppings
left_lead[lat(-91.60269, 12.67463), lat(-90.26501, 13.2107)] = 2j
left_lead[lat(-91.59045, 11.58774), lat(-91.60269, 12.67463)] = 2j
left_lead[lat(-90.26237, 11.08828), lat(-91.59045, 11.58774)] = 2j
left_lead[lat(-90.26083, 10.04835), lat(-90.26237, 11.08828)] = 2j
etc

The same way I define the interface (which called left_sequence) but without the hoppings.

left_sequence = kwant.Builder()

left_sequence[lat(-88.99753, 12.6423)] = 1.5
left_sequence[lat(-89.0014, 11.61135)] = 1.5
left_sequence[lat(-88.9998, 9.535691)] = 1.5
left_sequence[lat(-89.00571, 8.504004)] = 1.5
left_sequence[lat(-88.99628, 6.424798)] = 1.5
etc

l_lead = kwant.builder.BuilderLead(left_lead, left_sequence)

sys.leads.append(l_lead)

kwant.plot(sys)

While I try to plot sys I have encountered an error:  IndexError: Index 0 out of range (-0 <= index < 0) in dimension 0.

I think that this error may appear because I incorrectly pass parameters builder and interface to a class.


С уважением, Татьяна Григоренко