Currently a Kwant symmetry stores the extra directions that describe how it handle various lattices. If you don't do anything, the choice of the extra directions happens automatically, and a Bravais lattice vector is chosen. However you can manually override this by using the add_site_family method of the TranslationalSymmetry (see http://kwant-project.org/doc/1.0/reference/generated/kwant.lattice.Translati... for details). I know several people have used this to solve exactly the problem that you currently encounter.
On Thu, Oct 23, 2014 at 4:40 PM, David Abergel firstname.lastname@example.org wrote:
I am having a problem defining a system which matches what I want.
I start by defining a rectangular graphene lattice of size 0<=x<L in the x direction and 0<=x<W in the y direction. (By "rectangular" I mean in the real space coordinates, not the crystallographic coordinates.)
I want to attach a lead to the left-had end of this rectangle, going to minus infinity. Therefore, I define a lead with translational symmetry (-1,0) and the appropriate hopping. I attach the lead and plot the system.
When I plot the system, I find that the lead has been attached along the (0,1) crystallographic direction (so, that is along the (1/2, sqrt(3)/3) real space vector). A triangle of extra sites have been added for x<0 (real space) so that the total shape of the scattering region is now not rectangular.
If I attach another lead with lead.reversed(), a similar thing happens on the right of the sample so that my scattering region is now a parallelogram.
As I understand it, this should not affect the physics in any way, since the lead is semi-infinite. But, if I want to draw pictures, plot functions over the scattering region, and gain physical understanding, it is a bit of a pain. So, my question is whether there is any way to make the lead attach along the (0,1) real space direction (which is the same as the (-1,2) crystallographic direction) and yet maintain the (-1,0) translational symmetry?
If you require a sample program which reproduces this behavior then I can easily provide that, but I thought I should not extend an already long post unnecessarily.
Thanks in advance.