Dear Adel,

Thank You very much for your answer. It seems the problem is in my deriving Landauer-Buttiker formula. I should find out why the approach stated in the jpg file doesn't work. I need to derive this formula by myself because my next step is to chek the chain with second- and third-neighbour hoppings. I want to be certain that I set the topology of hoppings in Kwant correctly.

Thank You once again, suppose I'll be back with new questions in some time)

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