tkwant.manybody.lead_occupation

tkwant.manybody.lead_occupation(chemical_potential=0, temperature=0, bands=None, occupation_type=<class 'tkwant.manybody.Occupation'>)[source]

Set the occupation (\(T, \mu, f(E)\)) for one lead.

Routine to obtain the fermi function f(E) and the upper energy cutoff for a single lead, in order to calculate integrals of the form \(I = \int d E \, f(E) \ldots\). Energy cutoffs are estimated from the temperature and the chemical potential only, without knowledge of the band structure.

  • Fermi dirac distribution \(f(E) = (1 + \exp((E - \mu)/T))^{-1}\)

    For T = 0: \(f(E) = \theta(\mu - E)\) the chemical potential (Fermi energy) is a sharp upper cutoff, \(I = \int_{-\infty}^\mu d E \, \ldots\).

    For T > 0 we estimate an effective upper cutoff Eeff, such that \(f(E) \leq \varepsilon\) for \(E \geq Eeff\), \(I = \int_{-\infty}^{Eeff} d E \, f(E) \ldots\).

Parameters
  • chemical_potential (float or sequence of floats, optional) – chemical potential \(\mu\), zero by default If a sequence, it must have the same number of elements as bands per lead and acts as a cutoff per band. Setting chemical_potential to None is equivalent to + infinity.

  • temperature (float, optional) – temperature \(T\), default: zero temperature

  • bands (int or list of int, optional) – If present, only bands with band indices (n) present in the list are taken into account. By default, all bands are considered.

  • occupation_type (dataclass, optional) – Data format of the returnded occupation object to store the lead occupation. Default: tkwant.manybody.Occupation.

Returns

occupation – Lead occupation. Attributes of occupation that are modified by this routine:

  • distribution : callable, distribution function f(E), calling signature (energy)

  • energy_range : sequence, energy cutoffs

  • bands : list of int, bands to be considered

  • multivariate : bool, multivariate distribution function

Return type

occupation_type