Hi all.

I would like to know how to compute Hall conductance in a honeycomb lattice using Kwant. In my attempt, I started with the construction of the honeycomb lattice:

import kwant
import matplotlib.pyplot as plt
import numpy
from cmath import exp
from kwant.digest import gauss

lat = kwant.lattice.honeycomb()
sys = kwant.Builder()

def rectangle(pos):
    x, y = pos
    return 0 < x < 40 and 0 < y < 20


sys[lat.shape(rectangle, (1, 1))] = 0
sys[lat.neighbors()] = -1

sym = kwant.TranslationalSymmetry((-1, 0))
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)

def lead_shape(pos):
    x, y = pos
    return 0 < y < 20

lead[lat.shape(lead_shape, (-1,1))] = 4
lead[lat.neighbors()] = -1

sys.attach_lead(lead)
sys.attach_lead(lead.reversed())

My questions are:
How to attach another pair of leads at 13 < x < 15 and 23 < x < 25 with y = 10 and y =0? I tried
# For the 2nd Lead
sym2 = kwant.TranslationalSymmetry((-1, 0))

sym2.add_site_family(lat.sublattices[0], other_vectors=[(-1, 2)])
sym2.add_site_family(lat.sublattices[1], other_vectors=[(-1, 2)])

lead2 = kwant.Builder(sym)

def lead2_shape(pos2):
    x, y = pos2
    return 13 < x < 15, 10 < y < 10

lead[lat.shape(lead2_shape, (1,1))] = 4
lead[lat.neighbors()] = -1

sys.attach_lead(lead2)
sys.attach_lead(lead2.reversed())

but nothing works.

Also How to calculate hall conductance from these leads (assuming hopping is by Peierls substitution where t is replaced by an exponential)?

I am very new to the kwant program, as this is for an undergraduate research.
Regards,
James