Dear Camilla,

For a Hamiltonian with degeneracies due to a conservation law, the
scattering states will in general not have a definite value of the
conservation law. In your case, Kwant returns scattering states that are
arbitrary linear combinations of spin up and down, so it is not possible to
label the amplitudes in the scattering matrix by spin.

However, in Kwant 1.3 a feature will be added that allows for the
construction of scattering states with definite values of a conservation
law. See here
<https://www.mail-archive.com/kwant-discuss@kwant-project.org/msg01025.html>
for
an explanation of the basic idea behind the algorithm.

We're currently working on implementing this feature in Kwant itself. The
good news is that we're practically done - here
<https://gitlab.kwant-project.org/anton-akhmerov/kwant> is a link to a git
repo with a functioning implementation. After you clone the repo, check out
the branch cons_laws_combined, which contains a version of Kwant with
conservation laws implemented. This
<http://nbviewer.jupyter.org/urls/dl.dropbox.com/s/9fr8pq65ujmtr20/symm_modes.ipynb>
notebook
contains a simple example to illustrate how to work with conservation laws
and the scattering matrix.

I invite you and anyone else who is interested to give it a try. We'd
appreciate any feedback!

In your case specifically, there would be two projectors in the new
implementation - P0 which projects out the spin up block, and P1 that
projects out the spin down block. If they are specified in this order, then
the spin up and down blocks in the Hamiltonian have block indices 0 and 1,
respectively. In the new implementation, it is possible to ask for
subblocks of the scattering matrix relating not only any two leads, but
also any two conservation law blocks in any leads. To get the reflection
amplitude of an incident spin up electron from lead 0 into an outgoing spin
down electron in lead 0, you could simply do smat.submatrix((0, 1), (0,
0)). Here, the arguments are tuples of indices (lead index, block index).

Best regards,
Tómas

On Fri, Jan 6, 2017 at 3:46 PM, Camilla Espedal <camilla.espe...@ntnu.no>
wrote:

> Hi again,
>
>
>
> This question is basically the same as this: https://www.mail-archive.com/
> kwant-discuss@kwant-project.org/msg00076.html
>
>
>
> I want to calculate some things using the scattering matrix. I started out
> with a very simple system, most basic two-terminal system. For some energy
> there is one propagating mode. I now add matrix structure to the mix (just
> multiply by s_0 everywhere) and there are now 2 propagating modes (which
> makes sense).
>
>
>
> Now, if I look at the reflection coefficients for lead 0 by using
> submatrix(0,0), it is now a 2x2 matrix after I introduced the matrices. How
> are the elements ordered? Is it
>
>
>
> [[r_upup, r_updown],[r_downup, r_downdown]]
>
>
>
> I know that I could make two lattices, but since I do not plan to use the
> other functions such as transmission. I  just want the smatrix.
>
>
>
> Hope you can help me, and thanks in advance.
>
>
>
> Best regards,
>
> Camilla
>

Reply via email to