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

Reply via email to