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