sisl_toolbox.btd.DownfoldSelfEnergy

class sisl_toolbox.btd.DownfoldSelfEnergy(name, se, pivot, Hdevice, eta_device=0, bulk=True, bloch=(1, 1, 1))[source]

Bases: PivotSelfEnergy

Methods

broadening_matrix(*args, **kwargs)

Calculate the broadening matrix by first calculating the self-energy

se2broadening(SE)

Calculate the broadening matrix from the self-energy

self_energy(E[, k])

__init__(name, se, pivot, Hdevice, eta_device=0, bulk=True, bloch=(1, 1, 1))[source]

Self-energy class for constructing a self-energy.

broadening_matrix(*args, **kwargs)[source]

Calculate the broadening matrix by first calculating the self-energy

Any arguments that is passed to this method is directly passed to self_energy.

See self_energy for details.

This corresponds to:

\[\boldsymbol\Gamma = i(\boldsymbol\Sigma - \boldsymbol \Sigma ^\dagger)\]

Examples

Calculating both the self-energy and the broadening matrix.

>>> SE = SelfEnergy(...)
>>> self_energy = SE.self_energy(0.1)
>>> gamma = SE.broadening_matrix(0.1)

For a huge performance boost, please do:

>>> SE = SelfEnergy(...)
>>> self_energy = SE.self_energy(0.1)
>>> gamma = SE.se2broadening(self_energy)

Notes

When using both the self-energy and the broadening matrix please use se2broadening after having calculated the self-energy, this will be much, MUCH faster!

See also

se2broadening

converting the self-energy to the broadening matrix

self_energy

the used routine to calculate the self-energy before calculating the broadening matrix

static se2broadening(SE)

Calculate the broadening matrix from the self-energy

\[\boldsymbol\Gamma = i(\boldsymbol\Sigma - \boldsymbol \Sigma ^\dagger)\]
Parameters

SE (matrix) – self-energy matrix

self_energy(E, k=(0, 0, 0), *args, **kwargs)[source]