A weird result of 1D quantum wire
Dear Adel Many thanks for your informative reply. Now I think I have resolved the problem here. The result kwant obtained is correct. One thing is that for odd L, the transmission is always unity, not extinction. This quite counter-intuitive. As even the hopping is given as for example J_0(2.4048) (zeros of Bessel function), it still gives unity transmission. For analytic details please refer to PRB 78, 045428. Best regards, feng Abbout Adel <abbout.adel@gmail.com>于2017年9月6日周三 上午6:29写道:
Dear Liu,
I think that there is no problem in your result. It is the expected physical result!
This behaviour is due to the fact that you are near the middle of the conduction band.
To see it better, put the energy exactly =0. you will find that the conductance is zero for odd numbers and oscillating for even.
In fact, for Ef=0, you have the wavenumber k=pi/2 and Lambda=2pi/k=4 (E=-2t cos(k), whatever is the value of t, when E=0, k=pi/2 )
The system is like a tunneling barrierand therefore we will have maximum transmission if L= N *lambda/2 (like for a quantum point contact) with N Integer and expect extinction if N is half integer.
example: L=30, lambda =4 ===> N=15 oscillating at E=0. L=31 ====>N=15+1/2 extinction.
Since you are using an energy E=0.0001 a little bit different from 0 so you do not see the full extinction. This is due to the fact that wavelength lambda is not integer anymore
If you use an energy far from the middle of the band, even and odd systems will behave the same way.
take more values of das=np.linspace(0,10,201) to see correctly the oscillating behaviour of the conductance.
I hope this helps Adel
On Tuesday, September 5, 2017, Liu Feng <ruserzzz@gmail.com> wrote:
Dear All,
I have met a strange problem in computing conductance of 1D quantum wire. The setup is as follows: The hopping of the quantum wire is given by the first kind of Bessel function, for example, J0(A). The coupling of the lead is set as 1. As we know in this case the transmission should be proportional to J0(A)^2. However, I get very different results for wire of even and odd sites numbers as shown in the attachment... Is this a bug or do I miss something else?
source code ------------------------------------------ """ @author: liu """ #import the plot function from matplotlib import pyplot import numpy as np #turn on kwant import kwant import scipy.special as sp #Bessel function
def family_color(site): if site.tag[0] in defect: return 'magenta' else: return 'black'
def conduct(mu,da):
sys=kwant.Builder() a=1 lat=kwant.lattice.square(a) t=sp.jn(0,da) W=1 L=31 #da=1.0 # mu=0.0 for i in range(L): for j in range(W): # sys[lat(i,j)]=4*t if i in defect: sys[lat(i,j)]=mu+da else: sys[lat(i,j)]=mu
if j>0: sys[lat(i, j), lat(i, j-1)]=-t if i>0: sys[lat(i, j), lat(i-1, j)]=-t
#build the lead sys_left_lead=kwant.TranslationalSymmetry((-a,0)) left_lead=kwant.Builder(sys_left_lead)
#define the hopping in the lead, it is enough to only add one unit cell hopping #translational symmetry takes care the remainings.
for j in range(W): left_lead[lat(-1, j)]=mu if j>0: left_lead[lat(0, j), lat(0, j-1)]=-1.0 left_lead[lat(-1, j), lat(-2, j)]=-1.0
#attach the left lead sys.attach_lead(left_lead)
#similarly we define the right lead sym_right_lead=kwant.TranslationalSymmetry((a,0)) right_lead=kwant.Builder(sym_right_lead) for j in range(W): right_lead[lat(L,j)]=mu if j>0: right_lead[lat(L,j),lat(L,j+1)]=-1.0; right_lead[lat(L,j),lat(L+1,j)]=-1.0; sys.attach_lead(right_lead)
#plot system # kwant.plot(sys,site_color=family_color) # kwant.plotter.bands(left_lead.finalized())
#finalize the system for conductivity computation sys=sys.finalized() return energies,kwant.smatrix(sys,0.0001).transmission(1,0)
das=np.linspace(0,10,51)
ts=[] defect=[1000] #energies,data,t=conduct(mu=0.0,da=0.0) #pyplot.plot(energies,data) for tda in das: energies,t=conduct(mu=0,da=tda) ts.append(t)
#plot the conductance
#pyplot.ylim([0,1]) pyplot.show() pyplot.figure() pyplot.plot(das,ts) pyplot.xlabel('A') pyplot.ylabel('conductance[e^2/h]')
Best regards, Feng Liu
-- Abbout Adel
participants (1)
-
Liu Feng