Dear all

I'm new to kwant and I'm trying to use kwant to replicate the result of zigzag graphene nanoribbons.

I noticed the result get from "smatrix.transmission" is in the unit of e^2/h, which is the conductance. In some other software, the value to represent the transmission is called "transmission coefficient".

I found in some of the papers(http://iopscience.iop.org/article/10.7567/JJAP.52.06GD05/meta), the conductance G can be changed to transmission coefficient by an intermediate function Kn
Inline images 1
Inline images 2

My question is: 

1. Are the results I get from "smatrix.transmission" equivalent to the transmission coefficient? if not, how can I change the conductance to transmission coefficient? Can I change the conductance representation into transmission coefficient by the above equation? The reason I want to do this is that I can easily get the current/voltage curve by integrating the transmission coefficient. 

2. Can I get transmission coefficient by intrinsic function already implemented in kwant?

3. I remember in some other quantum transport software, I need to set temperature for the transport calculation. But i notice I don't need to consider temperature in kwant. If I want to take temperature into account (fermi distribution), how can I do it?(Using the above equation?)

4. I calculate the zigzag graphene nanoribbon using kwant. I set onsite energy =0 and hopping =-2.74. I noticed my results are a bit wired. The major difference is I don't have an transmission peak in fermi energy. Is this because I didn't passivate my edge with hydrogen?

Thanks for advance.


PS: One thing I need to mention in my codes is: if I set energy equals to 0.0, "kwant.smatrix(sca, energy)" will return an error. So i replace 0.0 with 1e-5.
My kwant calculation:
Inline images 5
reference
Inline images 4
(reference  https://www.quantumwise.com/documents/tutorials/latest/BasicGrapheneTutorial/index.html/chap.zigzag_transport.html). 

kwant codes is attached.
#===================

import kwant
from matplotlib import pyplot
from math import sin, cos, tan, sqrt
import numpy as np

l_a=1.0
zgnr=kwant.lattice.general([(sqrt(3)*l_a,0),(0,3*l_a)],
                        [(0,0),(0.5*sqrt(3)*l_a,l_a/2),(0.5*sqrt(3)*l_a,3*l_a/2),(0,2*l_a)])

a,b,c,d=zgnr.sublattices

ld=kwant.TranslationalSymmetry(zgnr.vec((-1,0)))

rd=kwant.TranslationalSymmetry(zgnr.vec((1,0)))
h=4
w=h

def shape1(pos):
    x,y=pos
    return (-h+2<y<h and abs(x)<w)

left_lead=kwant.Builder(ld)

left_lead[zgnr.shape(shape1,(0,0))]=0

left_lead[[kwant.builder.HoppingKind((0,0),a,b)]]=-2.74
left_lead[[kwant.builder.HoppingKind((0,0),b,c)]]=-2.74
left_lead[[kwant.builder.HoppingKind((0,0),c,d)]]=-2.74

left_lead[[kwant.builder.HoppingKind((-1,0),b,a)]]=-2.74
left_lead[[kwant.builder.HoppingKind((-1,0),c,d)]]=-2.74
left_lead[[kwant.builder.HoppingKind((0,1),a,d)]]=-2.74
kwant.plot(left_lead);

right_lead=kwant.Builder(rd)

right_lead[zgnr.shape(shape1,(0,0))]=0

right_lead[[kwant.builder.HoppingKind((0,0),a,b)]]=-2.74
right_lead[[kwant.builder.HoppingKind((0,0),b,c)]]=-2.74
right_lead[[kwant.builder.HoppingKind((0,0),c,d)]]=-2.74

right_lead[[kwant.builder.HoppingKind((-1,0),b,a)]]=-2.74
right_lead[[kwant.builder.HoppingKind((-1,0),c,d)]]=-2.74
right_lead[[kwant.builder.HoppingKind((0,1),a,d)]]=-2.74



sca=kwant.Builder()
sca[zgnr.shape(shape1,(0,0))]=0
sca[[kwant.builder.HoppingKind((0,0),a,b)]]=-2.74
sca[[kwant.builder.HoppingKind((0,0),b,c)]]=-2.74
sca[[kwant.builder.HoppingKind((0,0),c,d)]]=-2.74

sca[[kwant.builder.HoppingKind((-1,0),b,a)]]=-2.74
sca[[kwant.builder.HoppingKind((-1,0),c,d)]]=-2.74
sca[[kwant.builder.HoppingKind((0,1),a,d)]]=-2.74

sca.attach_lead(left_lead)
sca.attach_lead(right_lead)

sca=sca.finalized()
kwant.plot(sca);

#bands=kwant.physics.Bands(left_lead);

#mom=np.linspace(-np.pi,np.pi,101)
#ee=[bands(k) for k in mom]

#pyplot.plot(mom, ee);
#pyplot.grid('on')
#pyplot.ylim(-2.2,2.2)
momenta = [-np.pi + 0.02 * np.pi * i for i in xrange(101)]
bands = kwant.physics.Bands(sca.leads[0])
ee = [bands(k) for k in momenta]


pyplot.plot(momenta, ee)


energies = []
data = []
for ie in xrange(501):
    energy = ie * 0.01-2.5
    if energy ==0.0:
        energy = 1e-5
    # compute the scattering matrix at a given energy
    smatrix = kwant.smatrix(sca, energy)

    # compute the transmission probability from lead 0 to
    # lead 1
    energies.append(energy)
    data.append(smatrix.transmission(1, 0))

    

pyplot.figure()
pyplot.plot(energies, data)
pyplot.xlabel("energy [t]")
pyplot.ylabel("conductance [e^2/h]")
pyplot.show()


#===========================