armchair nanoribbon with defect
Dear all, I am trying to make an armchair nanoribbon as following: import kwant from math import sqrt import matplotlib.pyplot as plt import tinyarray import numpy as np import math import cmath #import scipy.linalg as la import matplotlib d=1.42; a1=d*math.sqrt(3); #on-site energy................................................... t=-2.7; latt = kwant.lattice.general([(0,a1),(a1*math.sqrt(3)/2,a1*0.5)], [(-d/2,a1/2),(d/2,a1/2)]) a,b = latt.sublattices syst= kwant.Builder() def rectangle(pos): x, y = pos return -2.4*a1<x<2.4*a1 and -3*d<y<3*d syst[latt.shape(rectangle, (1,1))]=0 #nearest neighbors............................................................. syst[[kwant.builder.HoppingKind((0,0),a,b)]] =t syst[[kwant.builder.HoppingKind((0,1),a,b)]] =t syst[[kwant.builder.HoppingKind((-1,1),a,b)]] =t ax=kwant.plot(syst); sym = kwant.TranslationalSymmetry(latt.vec((-1,2))) lead = kwant.Builder(sym) def lead_shape(pos): x, y = pos return -3*d<y<3*d lead[latt.shape(lead_shape, (1,1))]=0 lead[[kwant.builder.HoppingKind((0,0),a,b)]]=t lead[[kwant.builder.HoppingKind((0,1),a,b)]]=t lead[[kwant.builder.HoppingKind((-1,1),a,b)]]=t syst.attach_lead(lead,add_cells=0) syst.attach_lead(lead.reversed(),add_cells=0) ax=kwant.plot(syst); It is ok and I have no problem with it. I have problem when I tried to make a defect (like making a hole) on the scattering rigion and also lead. I used a same method for making a defect on both scattering region and lead but the results are not same. Would you please help me what is a problem. Would you please let me know if symmetry vector (sym = kwant.TranslationalSymmetry(latt.vec((-1,2)))) used is ok? Best wishes, Sajad
Dear Saj, I just answered the same question a few days ago on the kwant forum [1]. You can find other answers there too. I hope this helps, Adel [1] https://www.mail-archive.com/kwant-discuss@kwant-project.org/msg02066.html On Sun, Oct 27, 2019 at 2:26 PM Saj.ZiaBorujeni < saj.ziaborujeni.sci@iauctb.ac.ir> wrote:
Dear all,
I am trying to make an armchair nanoribbon as following:
import kwant from math import sqrt import matplotlib.pyplot as plt import tinyarray import numpy as np import math import cmath #import scipy.linalg as la import matplotlib d=1.42; a1=d*math.sqrt(3);
#on-site energy................................................... t=-2.7;
latt = kwant.lattice.general([(0,a1),(a1*math.sqrt(3)/2,a1*0.5)], [(-d/2,a1/2),(d/2,a1/2)]) a,b = latt.sublattices syst= kwant.Builder()
def rectangle(pos): x, y = pos return -2.4*a1<x<2.4*a1 and -3*d<y<3*d
syst[latt.shape(rectangle, (1,1))]=0
#nearest neighbors............................................................. syst[[kwant.builder.HoppingKind((0,0),a,b)]] =t syst[[kwant.builder.HoppingKind((0,1),a,b)]] =t syst[[kwant.builder.HoppingKind((-1,1),a,b)]] =t
ax=kwant.plot(syst);
sym = kwant.TranslationalSymmetry(latt.vec((-1,2)))
lead = kwant.Builder(sym)
def lead_shape(pos): x, y = pos return -3*d<y<3*d
lead[latt.shape(lead_shape, (1,1))]=0
lead[[kwant.builder.HoppingKind((0,0),a,b)]]=t lead[[kwant.builder.HoppingKind((0,1),a,b)]]=t lead[[kwant.builder.HoppingKind((-1,1),a,b)]]=t
syst.attach_lead(lead,add_cells=0) syst.attach_lead(lead.reversed(),add_cells=0) ax=kwant.plot(syst);
It is ok and I have no problem with it. I have problem when I tried to make a defect (like making a hole) on the scattering rigion and also lead.
I used a same method for making a defect on both scattering region and lead but the results are not same.
Would you please help me what is a problem. Would you please let me know if symmetry vector (sym = kwant.TranslationalSymmetry(latt.vec((-1,2))))
used is ok?
Best wishes,
Sajad
-- Abbout Adel
participants (2)
-
Abbout Adel
-
Saj.ZiaBorujeni