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

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to