Hi devs, I am learning kwant alone, but i have doubts. I am trying to construct a system with a diatomic chain as scattering region and the leads as a monoatomic chain. But i am doing something wrong. Someone else can help me? Bellow i will show the code:
##################################################################################################################### from matplotlib import pyplot as plt from matplotlib import backends import kwant # Defining the parameters L = 5 # range of scattering region C = 2 # primitive vector # Definindo o parametro de Hopping t = 5 # hopping parameter lat = kwant.lattice.general([(C,0),(0,1)],[(0,0),(1,0)], norbs=1) a, b = lat.sublattices syst = kwant.Builder() # Scattering region for i in range(L): syst[a(i, 0)] = 0 syst[b(i, 0)] = 0 syst[kwant.builder.HoppingKind((0, 0), a, b)] = -t syst[kwant.builder.HoppingKind((1, 0), b, a)] = -t kwant.plot(syst) plt.show() # leaft lead (lead 1) lat_lead1 = kwant.lattice.chain(C, norbs=1) sym_lead1 = kwant.TranslationalSymmetry((-C, 0)) lead1 = kwant.Builder(sym_lead1) lead1[lat_lead(0,0)] = 4*t lead1[lat_lead1.neighbors()] = -t syst[(lat_lead1(-C, 0), a(0, 0))] = -t syst.attach_lead(lead1) kwant.plot(syst) --------------------------------------------------------------------------- ValueError Traceback (most recent call last) ~\anaconda3\lib\site-packages\kwant\builder.py in __new__(cls, family, tag, _i_know_what_i_do) 75 try: ---> 76 tag = family.normalize_tag(tag) 77 except (TypeError, ValueError) as e: ~\anaconda3\lib\site-packages\kwant\lattice.py in normalize_tag(self, tag) 475 if len(tag) != self.lattice_dim: --> 476 raise ValueError("Dimensionality mismatch.") 477 return tag ValueError: Dimensionality mismatch. During handling of the above exception, another exception occurred: ValueError Traceback (most recent call last) <ipython-input-46-3d36b05d2870> in <module> 8 lead1[lat_lead1.neighbors()] = -t 9 ---> 10 syst[(lat_lead1(-C, 0), a(0, 0))] = -t 11 12 syst.attach_lead(lead1) ~\anaconda3\lib\site-packages\kwant\builder.py in __call__(self, *tag) 195 raise ValueError('Use site_family(1, 2) instead of ' 196 'site_family((1, 2))!') --> 197 return Site(self, tag) 198 199 ~\anaconda3\lib\site-packages\kwant\builder.py in __new__(cls, family, tag, _i_know_what_i_do) 77 except (TypeError, ValueError) as e: 78 msg = 'Tag {0} is not allowed for site family {1}: {2}' ---> 79 raise type(e)(msg.format(repr(tag), repr(family), e.args[0])) 80 return tuple.__new__(cls, (family, tag)) 81 ValueError: Tag (-2, 0) is not allowed for site family kwant.lattice.Monatomic([[2.0]], [0.0], '', 1): Dimensionality mismatch. ############################################################################################# Thanks! Gabriel Garcia