Dear Kwant developers and users,
I'm trying to add disorder on graphene by method below. I randomly add on-site
energy on lattice point. Now I want to make disorder smooth by using moving
average. What I thought is first print the Hamiltonian matrix , then moving
average the on-site energy elements , then replace the old matrix with the new
one for calculating conductance , but I have no idea how to print the
Hamiltonian matrix and re place the matrix or there are better ways to
simulating smooth disorder. Could you please help me? Thanks a lot for reading
my questions!
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
def makeSystem(W, L): #L = 99.5
# the geomertry of scattering matrix
def rectangle(pos):
x, y = pos
return x > 0 and x < W and y > 0 and y < L
def disorder(site, params):
(x, y) = site.pos
if(y > L/2):
y = L - y
e = np.random.normal(0, 5 * params.U0 / 3 * np.exp(-y/L*20) + params.U0
/ 3 / 2)
# params.sum += np.abs(e)
return e
def lead0_shape(pos):
x, y = pos
return (0 < y < L)
# modeling bilayer graphene scattering region
syst = kwant.Builder()
syst[graphene.shape(rectangle, (0, 0))] = disorder
syst[[kwant.builder.HoppingKind(*hopping) for hopping in hoppings]] = t
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Best,
JC Lee