tkwant.manybody.calc_intervals¶
-
tkwant.manybody.
calc_intervals
(spectra, occupations, interval_type=<class 'tkwant.manybody.Interval'>)[source]¶ Return a list of momentum intervals to perform the manybody integration.
- Parameters
spectra (
kwantspectrum.spectrum
or sequence thereof) – Energy dispersion \(E_n(k)\) of one lead or sequence thereof in case of several leads.occupations (
tkwant.manybody.Occupation
or sequence thereof) –Each sequence element represents the occupation of a lead. If
occupations
consistst of only one element or if the sequence has only one element, the occupation is assumed to be identical in each lead. Ifoccupations
is a sequence with more than one element, such that the occupation for each lead is different,occupations
must have the same length asspectra
. If a lead is occupied, the correspondingoccupations
element must have the following two attributes:energy_range : sequence of energy bounds in form (emin, emax) (emin \(\leq E_n(k) \leq\) emax), no bound if emin and/or emax is set to None.
bands : list of int, bands to be considered, all bands considered if None
If a lead is not occupied, the corresponding element of
occupations
must be None or False.interval_type (
dataclass
, optional) – Data format to store an interval in the returnedintervals
list. Default:tkwant.manybody.Interval
- Returns
intervals – All momentum intervals to perform the statistical average. Attributes of each
intervals
element that are modified by this routine:lead : int, lead index
band : int, band index (n)
kmin : float, lower momentum (\(k\)) bound
kmax : float, upper momentum (\(k\)) bound
- Return type
list of
interval_type