kwant.builder.InfiniteSystem

class kwant.builder.InfiniteSystem[source]

Bases: kwant.system.InfiniteSystem

Finalized infinite system, extracted from a Builder.

Notes

In infinite systems sites consists of 3 parts: sites in the fundamental domain (FD) with hoppings to neighboring cells, sites in the FD with no hoppings to neighboring cells, and sites in FD+1 attached to the FD by hoppings. Each of these three subsequences is individually sorted.

Attributes

sites (sequence) sites[i] is the Site instance that corresponds to the integer-labeled site i of the low-level system.
id_by_site (dict) The inverse of sites; maps from i to sites[i].

Methods

cell_hamiltonian(args=(), sparse=False, *, params=None)[source]

Hamiltonian of a single cell of the infinite system.

discrete_symmetry(args=(), *, params=None)[source]
hamiltonian(i, j, *args, params=None)[source]
hamiltonian_submatrix(self, args=(), to_sites=None, from_sites=None, sparse=False, return_norb=False, *, params=None)[source]

Return a submatrix of the system Hamiltonian.

Parameters:

args : tuple, defaults to empty

Positional arguments to pass to the hamiltonian method. Mutually exclusive with ‘params’.

to_sites : sequence of sites or None (default)

from_sites : sequence of sites or None (default)

sparse : bool

Whether to return a sparse or a dense matrix. Defaults to False.

return_norb : bool

Whether to return arrays of numbers of orbitals. Defaults to False.

params : dict, optional

Dictionary of parameter names and their values. Mutually exclusive with ‘args’.

Returns:

hamiltonian_part : numpy.ndarray or scipy.sparse.coo_matrix

Submatrix of Hamiltonian of the system.

to_norb : array of integers

Numbers of orbitals on each site in to_sites. Only returned when return_norb is true.

from_norb : array of integers

Numbers of orbitals on each site in from_sites. Only returned when return_norb is true.

Notes

The returned submatrix contains all the Hamiltonian matrix elements from from_sites to to_sites. The default for from_sites and to_sites is None which means to use all sites of the system in the order in which they appear.

inter_cell_hopping(args=(), sparse=False, *, params=None)[source]

Hopping Hamiltonian between two cells of the infinite system.

modes(energy=0, args=(), *, params=None)[source]

Return mode decomposition of the lead

See documentation of PropagatingModes and StabilizedModes for the return format details.

The wave functions of the returned modes are defined over the unit cell of the system, which corresponds to the degrees of freedom on the first cell_sites sites of the system (recall that infinite systems store first the sites in the unit cell, then connected sites in the neighboring unit cell).

pos(i)[source]
selfenergy(energy=0, args=(), *, params=None)[source]

Return self-energy of a lead.

The returned matrix has the shape (s, s), where s is sum(len(self.hamiltonian(i, i)) for i in range(self.graph.num_nodes - self.cell_size)).

Previous topic

kwant.builder.FiniteSystem

Next topic

kwant.builder.SiteFamily

This Page