
chong wang wrote:
I am trying to calculate transport across infinite planes. Can you show me an example?
It should be quite easy with the wraparound module: let's say that you want to compute transmission in the z direction while x and y are the transversal directions. You create a builder with three translational symmetries and use wraparound to turn the two transversal symmetries into k_x and k_y parameters (see the source code of wraparound for how to use it). The builder returned by wraparound can be finalized and used with Kwant as usual, for example to calculate transmission. Whenever using for calculations it you have to provide values for the two additional parameters (k_x and k_y) in addition to any other parameters that you might have used in your value functions. If you set both of k_x and k_y to 0 that's equivalent to having periodic boundary conditions along the transversal directions. If you want to compute transmission across the plane, you will have to integrate over the Fermi surface. I haven't ever done this myself, but I believe that you simply have to calculate this: T_total = ∫ dk_x ∫ dk_y T(E_f, k_x, k_y), where T() is the transmission as given by Kwant. To do the integral, you could use something like scipy.integrate.dblquad. It could take a while to evaluate, especially since there's no easy way to parallelize adaptive integration. (But I'm working on this!) Cheers, Christoph