Weiyuan Tong wrote:
I want to calculate the conductance and the band structure of a bulk graphene system.
Finalized systems in current Kwant can only handle a single direction of translational symmetry. We are working on removing this restriction, but this unfortunately requires modifying some deep internals of Kwant.
There is, however, a workaround: I just finished a little code that makes it possible (and quite easy) to work with bulk systems in current Kwant. The code takes a Kwant builder with an arbitrary number of translational symmetries and returns an equivalent builder with 1 or 0 symmetries that can be finalized. The symmetries that are removed are replaced by momentum parameters that are added to the system.
The code is available here: https://gitlab.kwant-project.org/cwg/wraparound. It should be completely general, i.e. it should work with _any_ builder that uses _any_ values. It should be also reasonably efficient. The code seems to work well, but I did only some basic testing so far.
With this hack one can now do transport through systems with periodic BCs, transport across infinite planes, and calculate multi-dimensional band structures. The provided example (function "demo") plots the band structure of bulk graphene. To try it out, simply execute "python wraparound.py".
As always, I’m happy to hear comments and suggestions.