Jerry xhm wrote:

> sym.add_site_family(lat, other_vectors=[v]) with v orthogonal to the
> translation symmetry vector places the lead in the way I expected.
> Still, there are one supercell's extra sites added in blue connecting
> the original central region and the lead.

All you can do with ‘add_site_family’ and its ‘other_vectors’ parameter
is change the orientation of the interface between unit cells.  It will
always remain straight and its particular rasterization will be
according to the lattice module’s own idea.

For example, if you had a round central region and you insisted that
‘attach_lead’ adds no additional sites, that would mean that the
delimitation between lead unit cells would have to be round and not
straight.  While this is supported by Kwant’s data structures it’s not
something that the builder module can do currently.  You would have to
build your low-level system manually instead of finalizing a builder.

> If I put disorder in the central region, I presume these added sites
> although in blue color will be the same as the lead Hamiltonian and
> thus do not have disorder?  If so, I guess it might only very slightly
> affect the physics once the central region is not too small.

The physics should be absolutely identical since the Hamiltonian of the
added sites is taken verbatim from the corresponding sites of the lead.

> And these extra sites are currently unavoidable?

Everything is possible...

The fundamental problem is that the code that finalizes a lead
(kwant.builder.InfiniteSystem.__init__) insists on modeling the unit
cell of the finalized lead after the fundamental domain of the
translational symmetry.  (See, both concepts are in principle unrelated,
but we thought back then that it was a nice simplification to do it this
way, since the shape of the unit cell has no physical consequence.)

One way to resolve this would be to enhance said constructor (and the
related ‘BuilderLead’) to support arbitrary user-specified shapes of
unit cells.

Another way would be to add a custom symmetry (an alternative to
‘kwant.TranslationalSymmetry’) whose fundamental domain has the shape
that you would like to have.

But both are not easy and require a good understanding of the internals
of Kwant.

Perhaps in your particular case the best is to embrace the imposed shape
of the unit cell and simply lay out your central system such that no
padding is added.

Christoph

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to