Hello Adel and Christoph,
Thanks for the suggestion and explanation! 
I finally found a workaround to avoid any additionally added sites. Every lead 
is connected just as expected. The trick is to define each lead and attach 
their reversed() only. I put the modified part of the code here in case that 
anyone else finds it helpful.

neg_direc = [(-mx,-my),(my,-mx)] # (negative) X-axis & Y-axis rotated from old 
x- & y-axis
pos_direc = [(mx,my),(-my,mx)] # (positive) X-axis & Y-axis rotated from old x- 
& y-axis
direcI = 0 # lead along which rotated axis: 0 for X, 1 for Y
direcIp = 1 # the other axis
...
    sym0 = kwant.TranslationalSymmetry(neg_direc[direcI])
    sym0.add_site_family(lat, other_vectors=[neg_direc[direcIp]])
    sym1 = kwant.TranslationalSymmetry(pos_direc[direcI])
    sym1.add_site_family(lat, other_vectors=[pos_direc[direcIp]])
    syms = [sym0, sym1]
    for sym in syms:
        lead = kwant.Builder(sym)
        lead[lat.shape(lead_reg, (0,0))] = 4*t # (0,0) should work for I-leads 
as they fully cover the boundary surface
        lead[kwant.builder.HoppingKind((1, 0), lat, lat)] = t
        lead[kwant.builder.HoppingKind((0, 1), lat, lat)] = t
        syst.attach_lead(lead.reversed()) # this avoids additionally added sites

Reply via email to