Dear Anton, thanks very much for your answer to my question.

`I actually found a slightly different solution, which I shall document`

`here in case it helps anyone else in the future.`

`My idea is to define a different unit cell for the graphene lattice`

`which allows lattice vectors to be defined in the x and y real space`

`directions. So, instead of using the standard graphene unit cell (which`

`I shall denote with a symbol | which is supposed to indicate the bond`

`joining the two carbon atoms) I used a unit cell that looks like \_/`

`which joins four carbon atoms in a short chain. Repeating this unit cell`

`will generate a graphene flake with armchair edges along the horizontal`

`direction, and zigzag edges along the vertical direction.`

`If a is the length of the lattice vector of the original (two-atom) unit`

`cell, then the lattice vectors of the new unit cell are:`

(sqrt(3)*a,0), and (0,a). The positions of the four atoms within the unit cell are: (0,a/2), (a/(2*sqrt(3), 0), (sqrt(3)*a/2, 0), and (2*a/sqrt(3),a/2).

`This can be easily defined using the kwant.lattice.general() method as`

`shown in the examples in the documentation. When leads are attached to`

`the left and right ends (with translational symmetry (Âħsqrt(3)*a,0)) of`

`a rectangular scattering region formed in this way, they do so in the`

`vertical direction, as desired.`

Hope that helps. David On 23/10/14 19:47, Anton Akhmerov wrote:

Dear David, 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.TranslationalSymmetry#kwant.lattice.TranslationalSymmetry.add_site_family for details). I know several people have used this to solve exactly the problem that you currently encounter. Best, Anton On Thu, Oct 23, 2014 at 4:40 PM, David Abergel <david.aber...@nordita.org> wrote:Dear all, 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. David

-- David Abergel Nordita david.aber...@nordita.org @David_Abergel