I am trying to calculate the Green's function for each layer/slice of a ribbon/wire. I can find the self energy and surface Green's function from which (in principle, I have not tried yet) it is possible find the Green's function for successive layer using RGF algorithm as discussed in this thread (http://thread.gmane.org/gmane.comp.science.kwant.user/647).
From the GreensFunction documentation, it looks like there is a way to specify the slice/block of the system and directly find the Green's function, but I don't find any example of that. Is there any way to do that ? ( http://kwant-project.org/doc/1/reference/generated/kwant.solvers.common.Gree... )
For example consider this graphene ribbon. I added a random impurity to
break the translational symmetry so that I can distinguish each slice. I
can find the Green's function for the sites which are connected to leads
only. How do I calculate the Green's function for each slice?
Best,
Sumit
------------------------------------------------------
from __future__ import division
from math import sqrt
from matplotlib import pyplot
import kwant
import numpy as np
sin_30, cos_30 = (1 / 2, sqrt(3) / 2)
graphene = kwant.lattice.general([(1, 0), (sin_30, cos_30)],
[(0, 0), (0, 1 / sqrt(3))])
a, b = graphene.sublattices
L=3;W=3;
def box(pos): #scattering region
x, y = pos
return -L