sisl.physics.self_energy module

Self-energy class for calculating self-energies.

class sisl.physics.self_energy.SelfEnergy(*args, **kwargs)[source]

Bases: object

Self-energy object able to calculate the dense self-energy for a given Hamiltonian.

The self-energy object contains a Hamiltonian object which, in it-self contains the geometry.

This is the base class for self-energies.

Methods

__call__(*args, **kwargs) Return the calculated self-energy

Self-energy class for constructing a self-energy.

Methods

__call__(*args, **kwargs) Return the calculated self-energy
class sisl.physics.self_energy.SemiInfinite(hamiltonian, infinite, eta=1e-06, bloch=None)[source]

Bases: sisl.physics.self_energy.SelfEnergy

Self-energy object able to calculate the dense self-energy for a given Hamiltonian in a semi-infinite chain.

The self-energy object contains a Hamiltonian object which, in it-self contains the geometry.

Methods

__call__(E[, k, eta, dtype, eps]) Return a dense matrix with the self-energy at energy E and k-point k (default Gamma).

Create a SelfEnergy object from a Hamiltonian.

This enables the calculation of the self-energy for a semi-infinite chain.

Parameters:

hamiltonian : Hamiltonian

the Hamiltonian of the semi-infinite chain

infinite : str

axis specification for the semi-infinite direction (+A/-A/+B/-B/+C/-C)

eta : float=1e-6

the default imaginary part of the self-energy calculation

bloch : array_like=[1,1,1]

Bloch-expansion for each of the lattice vectors (1 for no expansion) The resulting self-energy will have dimension equal to hamiltonian.no * np.product(bloch).

Methods

__call__(E[, k, eta, dtype, eps]) Return a dense matrix with the self-energy at energy E and k-point k (default Gamma).