Dear Jonas, I believe a better solution for you would be to subclass the kwant MonoatomicLattice, and replace its pos method that calculates the site position with one that includes the lattice distortion.
Alternatively you can just not bother changing what Kwant knows about the site positions, implement a function pos_transform(x, y) that gives the coordinates of sites in the distorted lattice, and then define hoppings similar to: def hop(site1, site2, ...): r1 = pos_transform(site1.pos) r2 = pos_transform(site2.pos) return f(r1 - r2) Best, Anton On Fri, Oct 2, 2015 at 8:10 PM, Jonas Nascimento <jo...@fisica.ufc.br> wrote: > > Hi, my friends. > > Recently, I studied, on Kwant, the transport properties of a graphene > nanoribbon without dificulty. Now, I wanted to obtain the same thing, but > applying a strain, as suggested by this reference: > http://arxiv.org/abs/1409.6666 > > In the presence strain, the hopping is modified by the deformation of the > lattice, which must now be > > t_ij=t_0*exp(d/a - 1), > > where d is the strain-modified distance between lattice sites and t_0 is > hopping in absence of strain. Note that the network is no longer > crystalline. That way, I can not define the vectors of a single cell and > repeat it to obtain my lattice. In this case, I guess I'll have to build > every atom of the network and add the hopping according with the relation > above to the nearest neighbors. Obviously, this not is good idea. Someone > help me with a simpler solution? > > Thank you so much. > > Jonas Nascimento