Hi Martin,

Your interpretation of the conservation law is correct, and so does
your implementation of it. However I see that you create the graphene
lattice as having 2 orbitals, whereas if you have spin and
particle-hole, you should have 4 orbitals instead.
That is also what the error message says.
I usually define all matrix-valued functions via np.kron, so that I
remember which Pauli matrix refers to which degree of freedom.

Best,
Anton

On Wed, 19 Aug 2020 at 14:03, Martin Fonnum Jakobsen
<[email protected]> wrote:
>
> Hello,
>
>
>
> I have recently started using KWANT. I hope this is the correct way to ask 
> questions.
>
>
>
> I’m interested in reproducing Fig. 4 in PRL 97, 067007 (2006) – Specular 
> Andreev Reflection in Graphene. This has been done in KWANT in the PhD thesis 
> of Tibor Sekera – “Quantum transport of fermions in honeycomb lattices and 
> cold atomic systems”, chapter 4. The problem is similar to tutorial 2.6.
>
>
>
> In my problem, I have a tight-binding Hamiltonian living on a hexagonal 
> lattice, from which I can construct a discrete BdG equation (See attachment). 
> In addition, to electron-hole degrees of freedom I’m also interested in 
> including spin because later I will add magnetic fields and such.
>
>
>
> I consider a normal metal lead attached to a superconducing scattering region 
> with zero barrier at the interface. Since I have both electron-hole and spin 
> degrees of freedom my BdG equation is 4x4. To account for electron-hole 
> degrees of freedom I have specified that at each site there should be two 
> orbitals. In the tutorial 2.6 it is emphasized that it is important to 
> specify the correct conservation law in the N lead when  we want to calculate 
> the conductance. My question is how should the conservation law (and particle 
> hole symmetry) in the normal-metal lead look like for my case?
>
>
>
> I have tried the standard expression L_0 = 
> kwant.Builder(sym,conservation_law=s_z) where s_z is the Pauli matrix 
> [[1,0],[0,-1]]. In this case I obtain a dimension mismatch error.
>
>
>
> I have also tried a generalized 4x4 matrix version of this
>
> L_0 = 
> kwant.Builder(sym,conservation_law=tinyarray.array([[1,0,0,0],[0,-1,0,0],[0,0,1,0],[0,0,0,-1]]))
>
> Or
>
> L_0 = 
> kwant.Builder(sym,conservation_law=tinyarray.array([[1,0,0,0],[0,1,0,0],[0,0,-1,0],[0,0,0,-1]])).
>
> In these cases I obtain the error “Single `onsite` matrix of shape (4, 4) 
> provided but there are 2 orbitals per site in the system”.
>
>
>
> I think my issue is that I do not fully understand what the Conservation law 
> actually does. Initially I thought the conservation law was a matrix C such 
> that C.H.C^-1 should return a block diagonal matrix, where the eigenvalues of 
> C refers to each block. Is this not an accurate interpretation?
>
>
>
> I have attached a PDF with the BdG equation, and my python code as a .py and 
> .txt file. The content of the .py and .txt file are identical, which format 
> do you prefer in the future?
>
> I hope this is OK, and not too overwhelming.
>
>
>
> I also tried to subscribe (with this e-mail) to the mailing list, but I’m not 
> sure that it worked.
>
>
>
> Yours sincerely,
>
> Martin F Jakobsen
>
>

Reply via email to