[Kwant] Onsite and hopping values in QHE

2018-06-15 Thread elchatz

Hello everyone,

I am trying to reproduce the QHE bar device calculations

http://nbviewer.jupyter.org/github/topocm/topocm_content/blob/master/w3_pump_QHE/Laughlinargument.ipynb

However, I am having difficulty with the onsite and hopping values as  
I am using TBModels


https://github.com/Z2PackDev/TBmodels

and therefore the values are not the same for all sites.

The problem is that after the scalar values have been passed on to the  
Builder, these will then be overriden when using functions for the  
position-dependent Hamiltonian.


I tried making a deep copy of the model, which would then serve as a  
data structure where to draw the scalar values from when calling the  
Onsite and Hopping functions. The problem with this is


a) I am getting a KeyError which I am still not sure why it happens
b) It does not feel very memory-efficient.

I am wondering if there is another way that this could be done on the  
Kwant side that I have not been able to think of.



Regards

--
Dr. Eleni Chatzikyriakou
Computational Physics lab
Aristotle University of Thessaloniki
elch...@auth.gr - tel:+30 2310 998109



Re: [Kwant] Josephson current in a lattice between two superconductors

2018-06-15 Thread Joseph Weston
HI Ville,


> I'm trying to use Kwant to investigate behavior of a lattice between
> two superconductors, namely trying to figure out the Josephson
> current. The task is basically to diagonalize the related
> Bogoliubov-de Gennes Hamiltonian and use the eigenvectors and
> eigenvalues to calculate the current in the lattice. I basically
> follow the example 2.6. in Kwant documentation to build up the
> Hamiltonian but let the both leads be superconductors and establish
> the system in between. I introduce the phase difference between the
> leads by multiplying the Delta parameter of the other lead by e^(i
> phi). However, I'm a bit stuck there as I don't know how to utilize
> the obtained eigenvectors to make wave functions which I could input
> to t current operator in Kwant.
>

To get the correct Josephson current you'll need to include the
contribution from the Andreev bound states that form in the Junction. As
these are true bound states you won't be able to get them by using
'kwant.wave_function', as the latter only calculates the *scattering*
states.

Some of the Kwant Authors recently published a paper that describes how
to calculate bound states for general scattering systems [1] (i.e.
systems with leads). We're working to implement this in Kwant, but it's
not there yet.

As far as I am aware the following are possible approaches to calculate
the bound state spectrum are:

+ truncate the leads after some (large) length and diagonalize the
resulting system. You'll have to identify "by eye" which states
correspond to the true bound states of the infinite system you are
approximating.  The leads will need to be truncated far enough away from
the scattering region that the bound state wavefunction is nearly vanishing.

+ Replace the leads with a self-energy term and diagonalize the
resulting matrix. I can't remember what guarantees one gets about using
this approach, as you make your Hamiltonian non-Hermitian by doing this.

+ Construct your system as 3 parts: an SN interface, an N-N interface
(include any disorder or whatever here), and an NS interface. Calculate
the scattering matrices of the 3 parts separately, and then the bound
states can be found by combining the scattering matrices in a particular
way and solving for zero determinant (I can't remember the details, but
it's in section 2 of [2], and references therein).


Basically everyone in our group in Delft calculates Josephson currents
as a matter of course, so they're probably in a better position to tell
you which way to go. I thought I'd give my 2 cents anyway.

Happy Kwanting!

Joe

[1]: https://arxiv.org/pdf/1711.08250.pdf
[2]: https://arxiv.org/pdf/cond-mat/0406127.pdf


[Kwant] Josephson current in a lattice between two superconductors

2018-06-15 Thread Pyykkönen Ville
Hi,


I'm trying to use Kwant to investigate behavior of a lattice between two 
superconductors, namely trying to figure out the Josephson current. The task is 
basically to diagonalize the related Bogoliubov-de Gennes Hamiltonian and use 
the eigenvectors and eigenvalues to calculate the current in the lattice. I 
basically follow the example 2.6. in Kwant documentation to build up the 
Hamiltonian but let the both leads be superconductors and establish the system 
in between. I introduce the phase difference between the leads by multiplying 
the Delta parameter of the other lead by e^(i phi). However, I'm a bit stuck 
there as I don't know how to utilize the obtained eigenvectors to make wave 
functions which I could input to t current operator in Kwant.

I would really appreciate some help with this or, perhaps, some example code if 
readily available.


Thanks in advance!


Regards,

Ville Pyykkönen