Dear Adel (and other kwantazing people), I've found the way how to obtain the formula to which you pointed me. If someone is interested, its derivation in terms of scattering theory is in the picture attached. If there will be some issues with reproducing in kwant the solution of system with non-first-neighbour hoppings, I hope you help me once again. Sincerely, Jambulat 2017-06-01 1:14 GMT+03:00 Abbout Adel <abbout.adel@gmail.com>:
Dear Jambulat,
Your programs are well written but with no comments it is heavy to follow them.
For the system you propose, the analytical result is straightforward using the Landauer -Buttiker formula:
After simplification, we get: T= 4*Gamma1*Gamma2/(Gamma1+Gamma2)**2
with Gamma the broadening. You can check this as follows
import kwant from matplotlib import pyplot from numpy import *
t1,t2=1,1.5
lat = kwant.lattice.square(a) sys = kwant.Builder() sys[lat(0,0) ] = 0 ###system one site x==0
#define and attach the leads lead1 = kwant.Builder(kwant.TranslationalSymmetry((-a, 0))) lead1[lat(0, 0) ] = 0 lead1[lat.neighbors()] = -t1
lead2 = kwant.Builder(kwant.TranslationalSymmetry((+a, 0))) lead2[lat(1, 0) ] = 0 lead2[lat.neighbors()] = -t2
sys.attach_lead(lead1) sys.attach_lead(lead2)
#finalize system syst=sys.finalized() energies=linspace(-1.999,1.999,50)
#transmission calculated by Kwant transmission=[] for E in energies: smatrix=kwant.smatrix(syst,E) transmission.append(smatrix.transmission(0,1))
#the linewidth Gamma (Landauer Buttiker formula) def Gamma(E,t): return sqrt(4*t**2-E**2)
#analytical result of the conductance using Landauer Buttiker formula def T(E,t1,t2): return 4*Gamma(E,t1)*Gamma(E,t2)/abs(Gamma(E,t1)+Gamma(E,t2))**2
T=[T(E,1.,1.5) for E in energies]
pyplot.plot(energies,T) #kwant pyplot.plot(energies,transmission,'ro') #analytical result pyplot.ylabel('Transmission') pyplot.xlabel('Energy') pyplot.show()
Hope this helps. Adel
On Wed, May 31, 2017 at 7:34 PM, Jambulat Basaev <basaev.ja@gmail.com> wrote:
Dear Kwant Community,
In my research work I've come to the simple test problem which can be solved both using Kwant and analytically. It's about scattering of the electron wave in the chain of atoms in which hopping integral is t1 for x < 0 and t2 for x > 0. Almost all the solution is in the picture in the attachments. Realization of this analytical solution is presented in testChain.py which plots the dependence on scattering energy of the transmission coefficient |tau|**2 * v2/v1, vj = -2*tj*sin(phi_j) - velocity of the electron. The testChain-kwant.py also plots transmission coefficient versus energy in the same system, but the results are not coincide.
So, my question, is it possible to reach the accordance between the solutions in both cases?
P.S. Analytical solution seems to be correct, at least |rho|**2 + |tau|**2 * v2/v1 is 1 identically.
P.P.S. Is it possible to draw the different hopping kinds with different colors and line styles? It can be useful for controlling errors when building the geometries with hoppings between second-neighbors...
Sincerely, Jambulat
-- Abbout Adel