Dear Khani, I don't understand which comparaison are you talking about, but I can see that you are not defining the angle theta correctly: Theta is the angle made by the vector k and the x-axis so, it should be k=sqrt(kx**2+ky**2) Theta=180/pi *arcsin(kx/k)
You should notice that E= vf * |k|, so the expression you wrote is not correct. I hope this helps, Adel On Sun, Sep 6, 2020 at 12:23 PM Khani Hosein <hoseinkhani...@gmail.com> wrote: > Dear all, > I want to calculate the transmission vs incident angle in graphene with a > potential barrier. I use sys = kwant.wraparound.wraparound(sys) and lead > = kwant.wraparound.wraparound(lead, keep=0) to construct the periodical > system. I almost get the correct results, but I find that the definition of > angle is different. Could you please help me to find out the reason. The > results comparison is also attached. > Regards, > Khani Hosein > my code is: > import numpy as np > import matplotlib.pyplot as plt > from numpy import pi,sqrt > import kwant > import sys > from numpy import pi > from math import asin > from matplotlib import pyplot > > a = 1. > V0 = 0.0 > W = 2. > L = 448 > t = 3 > > def Rectangle(pos): > x,y=pos > return 0<=x<=L and -0.5<=y<=W > > sin_30, cos_30 = (1 / 2, sqrt(3) / 2) > lat = kwant.lattice.general([(1, 0), (sin_30, cos_30)], > [(0, 0), (1/2, 1 / (2*sqrt(3)))]) > a,b= lat.sublattices > > > sys = kwant.Builder(kwant.TranslationalSymmetry(lat.vec((-1, 2)))) > sys[lat.shape(Rectangle,(0,0.6))]= 0.2 > sys[lat.neighbors(1)] = -t > sys = kwant.wraparound.wraparound(sys) > > def lead_shape(pos): > x,y=pos > return -0.5<=y<=W > > lead = kwant.Builder(kwant.TranslationalSymmetry((1, 0), lat.vec((-1, 2)))) > lead[lat.shape(lead_shape,(0,0.6))] = 0. > lead[lat.neighbors(1)] = -t > > lead = kwant.wraparound.wraparound(lead, keep=0) > kwant.plot(sys) > > sys.attach_lead(lead) > sys.attach_lead(lead.reversed()) > > kwant.plot(sys) > sys = sys.finalized() > > ky=0. > momenta = [-2*pi + 0.002 * 2*pi * i for i in range(1001)] > bands = kwant.physics.Bands(sys.leads[0],[ky]) > energies = [bands(k) for k in momenta] > > pyplot.figure() > pyplot.plot(momenta, energies) > pyplot.xlabel("momentum [(lattice constant)^-1]") > pyplot.ylabel("energy [t]") > pyplot.show() > > > kys = np.arange(-0.08, 0.08, 0.0002) > kysp =np.arange(-90, 90, 0.225) > energy=0.08 > transmission = [] > num_prop = [] > thetap=[] > > for ky in kys: > theta=180.*asin(ky/energy)/pi > thetap.append(theta) > smatrix = kwant.smatrix(sys, energy, [ky]) > transmission.append(smatrix.transmission(1, 0)) > num_prop.append(smatrix.num_propagating(0)) > print (ky) > > plt.plot(thetap, transmission) > plt.show() > > > > -- Abbout Adel