Dear all, thanks a lot for your very extensive replies! I tried to implement the RGF calculation myself some time ago, but didn't finish it. I'll keep you updated if I manage to implement it using Kwant's framework - it appears to be pretty straightforward. Best, Jan On 10/30/2017 03:58 PM, Christoph Groth wrote:
Jan Behrends schrieb:
As far as I understand how the scattering matrix calculation works internally, it shouldn't take much longer to compute these intermediate values than just getting the final conductance. No, this is not how Kwant's standard solvers work (see Joe's reply for details). A RGF-like (Recursive Green's Function) solver could produce the results that you have in mind in one go, and would be also more efficient for long systems.
There are no public RGF solvers for Kwant because the default solver is much faster for common systems. However, there's also a conceptual problem. Kwant doesn't really allow to express the concept of a quasi-1d system with two leads that is growing as a function of a parameter. The closest thing that one can do naturally in Kwant is Joe's suggestion of making the size of the disordered region depend on a paramter, but that's inefficient. I don't quite see how a general RGF solver for Kwant could help you even if it existed.
However, I think that I can propose you a simple solution to your particular problem. I assume that your geometry is quasi-1d, i.e. the leads and the system has the same width. Doing RGF in that case is a matter of a single loop of a couple of lines, the only difficulty is setting up the Hamiltonian and especially calculating the self-energy. But Kwant will happily provide you all this: you only have to build a lead that corresponds to your system without disorder. The finalized lead will give you all that you need (the on-site Hamiltonian, the hopping matrix, the self energy), there are even ready-to-use methods for that.
The RGF code that you need to write would start with the self-energy of the left lead, then progressively add slices of the scattering region (Kwant gives you the Hamiltonian of a clean slice of the system to which you add your disorder), and compute the conductance/noise at any stage.
I should even have an old RGF prototype for Kwant somewhere in the attic that you could use to get started... Actually, such 1d-RGF would be interesting for inclusion to Kwant. Please keep us updated if you decide to go this way.
Christoph
-- Jan Behrends Max-Planck-Institut für Physik komplexer Systeme Nöthnitzer Straße 38, 01187 Dresden, Germany E-Mail: jb@pks.mpg.de