Hopping parameters for multilayered system

Dear all, Could you please explain me how I can put hopping parameters for a multilayered system with kwant.builder.HoppingKind(). The difficulty is that the intralayer hopping parameters are different for each layer and depend on the layer's position z. T he hopping integrals between neighbouring layers are the same. Thank you in advance. Cheers, Sergey

Sergey Nikolaev wrote:
Could you please explain me how I can put hopping parameters for a multilayered system with kwant.builder.HoppingKind(). The difficulty is that the intralayer hopping parameters are different for each layer and depend on the layer's position z. T he hopping integrals between neighbouring layers are the same. Thank you in advance.
That should be possible. Let's say that you use a cubic lattice: cubic = kwant.lattice.general(np.identity(3)) The nearest neighbor hoppings (as given by cubic.neigbhors()) are: HoppingKind((1, 0, 0), cubic) HoppingKind((0, 1, 0), cubic) HoppingKind((0, 0, 1), cubic) You do not have to use these three hopping kinds together. You can separately set the intralayer hoppings: system[ [HoppingKind((1, 0, 0), cubic), HoppingKind((0, 1, 0), cubic)] ] = intralayer and the interlayer hoppings: system[ HoppingKind((0, 0, 1), cubic) ] = interlayer “interlayer” should be a function that depends on the z value. “intralayer” can be either a constant, or also a function that formally depends also on z, but in fact ignores this parameter. (In Kwant 1, all value functions of a system must take the same parameters.) Does this solve your problem? Christoph
participants (2)
-
Christoph Groth
-
Sergey Nikolaev