Hi All, I am trying to reproduce Fig. 4 in PRL 97, 067007 (2006) - Specular Andreev Reflection in Graphene. This had been done in KWANT in the PhD thesis of Tibor Sekera - "Quantum transport of fermions in honeycomb lattices and cold atomic systems", chapter 4. My code is the following. Can Anyone help me? I am not getting same result. I am trying the same code this question has been asked before here (https://mail.python.org/archives/list/kwant-discuss@python.org/thread/3JH5W2YUYPVPDVTAE6I57JFLG4UDAZN5/), but no fruitful outcome was gained. I shall be highly grateful if anyone can help me.
################################################################ import kwant, tinyarray from math import pi, sqrt from matplotlib import pyplot as plt import numpy as np plt.rcParams['figure.dpi']=150 ####___Fundamental Constants___#### e = 1.60217662 * (10**-19) hbar = 1.0545718 * (10**-34) h = 6.62607004 * (10**-34) e_hb = e / hbar ################################### # Specifying 2x2 Pauli matrices acting on spin s_x = tinyarray.array([[0, 1], [1, 0]]) s_y = tinyarray.array([[0, -1j], [1j, 0]]) s_z = tinyarray.array([[1, 0], [0, -1]]) s_0 = tinyarray.array([[1, 0], [0, 1]]) # Specifying 2x2 Pauli matrices acting on particle-hole tau_0 = tinyarray.array([[1, 0], [0, 1]]) tau_x = tinyarray.array([[0, 1], [1, 0]]) tau_y = tinyarray.array([[0, -1j], [1j, 0]]) tau_z = tinyarray.array([[1, 0], [0, -1]]) #Fix hopping, Fermi energy, and superconducting gap t = 1 # Ef = 0 Ef_S=2 Delta= 2 a=1 V0=0.5 #Length and Width of scattering region (the superconductor) L = 20 W = 10 def make_system(): lat = kwant.lattice.general([(sqrt(3)*0.5,0.5),(0,1)],[(0,0),(1/(2*sqrt(3)),1/2)],norbs = 4) a, b = lat.sublattices def channel(pos): x, y = pos return -W <= y <= W and -L <= x <= L syst = kwant.Builder() syst[lat.shape(channel, (0, 0))] = Ef_S * -1 * np.kron(tau_z, s_0) syst[lat.neighbors()] = t * -1 * np.kron(tau_z, s_0) syst.eradicate_dangling() def lead0_shape(pos): # left lead x, y = pos return -W <=y <=W sym_up = kwant.TranslationalSymmetry(lat.vec((-2,1))) # Symmetry along the x-axis # Normal graphene lead-0 lead0 = kwant.Builder(sym_up, conservation_law=np.kron(tau_z, s_0), particle_hole=np.kron(tau_x, s_0)) lead0[lat.shape(lead0_shape, (0, 0))] = Ef_S * -1 * np.kron(tau_z, s_0) lead0[lat.neighbors()] = t * -1 * np.kron(tau_z, s_0) ######################################################################################################################## def lead1_shape(pos): # right x, y = pos return -W <=y <=W sym_down = kwant.TranslationalSymmetry(lat.vec((2, -1))) # Superconducting graphene lead-1 lead1 = kwant.Builder(sym_down) lead1[lat.shape(lead1_shape, (0, 0))] = (Ef_S + V0) * -1 * np.kron(tau_z, s_0) + Delta * np.kron(tau_z, s_0) lead1[lat.neighbors()] = t * -1 * np.kron(tau_z, s_0) return syst, [lead0, lead1] def plot_conductance(syst, energies): # Compute conductance data = [] for energy in energies: smatrix = kwant.smatrix(syst, energy) # Conductance is N - R_ee + R_he data.append(smatrix.submatrix((0, 0), (0, 0)).shape[0] - smatrix.transmission((0, 0), (0, 0)) + smatrix.transmission((0, 1), (0, 0))) plt.figure() plt.plot(energies, data,'*-r') plt.xlabel("energy [t]") plt.ylabel("conductance [e^2/h]") plt.show() #Plot the band in the lead #Make my system and attach the leads def main(): system, leads = make_system() # plot_system(system, a) # Attach the leads to the system. for lead in leads: system.attach_lead(lead) # # Plot system with leads # def family_colors(site): # return 0 if site.family == a else 1 # # kwant.plot(system, site_color=family_colors, site_lw=0.1, lead_site_lw=0, colorbar=False) # Finalize the system. kwant.plot(system,fig_size=(5,5)) system = system.finalized() # #Evaluate the band in the lead L_1 = leads[0].finalized() # bands = kwant.physics.Bands(L_1) # #Plot the band in the lead # ks = np.linspace(-pi,pi,num=101) # energies=[bands(k) for k in ks] # f, ax = plt.subplots() # ax.plot(ks,energies) # plt.show() plot_conductance(system, energies=[0.01 * i+0.00001 for i in range(200)]) main()