Dear Alexander, just to add: You did mention correctly how to construct the cell and hopping Hamiltonian. You don't need to do this manually though: A finalized lead (InfiniteSystem) contains methods to get both the cell and hopping Hamiltonian, as well as convenience functions to obtain self-energy and the modes (http://www.kwant-project.org/doc/1.0/reference/generated/kwant.system.Infini...). You can get the finalized lead in two ways: 1. You finalize a Builder that has TranslationalSymmetry (as in Tutorial 2.4.1) 2. A finalized system has all its finalized leads in a list in sys.leads I should also mention that if you want to use the cell and hopping Hamiltonian directly in selfenergy and modes, then you need to pass h_cell - en * unit matrix to get the modes/selfenergy at energy en. Best, Michael
Am 18 okt. 2013 um 10:17 schrieb christoph.groth@cea.fr:
Anton Akhmerov writes:
While what you want is not implemented directly in Kwant, but you can get * Wave functions, momenta and velocities of the propagating modes, from the function kwant.physics.modes
Alexander Croy writes:
Excuse my possibly stupid question, but how would I go about constructing h_cell and h_hop? For example, for a square lattice (2 sites in transversal direction for simplicity) I would use
h_cell = [[0,-1],[-1,0]], h_hop = [[-1, 0],[0,-1]]
Right? I just want to make sure I understand how things are supposed to be represented.
Exactly. Whenever some Kwant function takes h_cell and h_hop, these two matrices describe a quasi-1d chain. h_cell is the Hamiltonian of a single link of that chain (two neighboring sites in transversal direction in your example), and h_hop is the hopping matrix between two links.