Dear Michael,
> I would like to compute the band structure of a honeycomb lattice with > a periodic field of periodicity d, with /d>a /(/a/ the lattice > constant). What I have thought is to impose a translation symmetry to > the leads with a period /d/ instead of /a/, as written below. Can > kwant do this Kwant does, of course, allow you to do this. You only need to make sure that the translational symmetry you define is commensurate with the lattices of any sites you add to the system (i.e. that the symmetry operations are also valid lattice translations). > is this the correct way to do it? > > sym0 = kwant.TranslationalSymmetry((-d, 0.)) > sym1 = kwant.TranslationalSymmetry((d, 0.)) This looks correct, although I am not sure why you are defining two symmetries in opposite directions. If you want to add sites from the honeycomb lattice to a system that has this symmetry you will need to ensure that the symmetry is commensurate with the lattice (i.e. that realspace vector (-d, 0) is an integer linear combination of the honeycomb lattice vectors). > > sym0.add_site_family(A, other_vectors=[(-d, 2*d)]) > sym0.add_site_family(B, other_vectors=[(-d, 2*d)]) > > sym1.add_site_family(A, other_vectors=[(-d, 2*d)]) > sym1.add_site_family(B, other_vectors=[(-d, 2*d)]) I am not entirely sure what you want to do here. "add_site_family" is a low-level functionality of symmetries that is related to how Kwant will choose the unit cell of the symmetry. It is usually used when defining a lead that will later be attached to a finite scattering region, to avoid "ears" getting added to the scattering region (see the images in https://kwant-project.org/doc/1/tutorial/graphene for an example of what I mean). As all you want to compute is band structure (no attaching), I am unsure as to why you would need this. Happy Kwanting, Joe
signature.asc
Description: OpenPGP digital signature