tkwant.manybody.calc_intervals¶
-
tkwant.manybody.calc_intervals(spectra, occupations, interval_type=<class 'tkwant.manybody.Interval'>, tol=1e-05)[source]¶ Return a list of momentum intervals to perform the manybody integration.
- Parameters
spectra (
kwantspectrum.spectrumor sequence thereof) – Energy dispersion \(E_n(k)\) of one lead or sequence thereof in case of several leads.occupations (
tkwant.manybody.Occupationor sequence thereof) –Each sequence element represents the occupation of a lead. If
occupationsconsistst of only one element or if the sequence has only one element, the occupation is assumed to be identical in each lead. Ifoccupationsis a sequence with more than one element, such that the occupation for each lead is different,occupationsmust have the same length asspectra. If a lead is occupied, the correspondingoccupationselement 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
occupationsmust be None or False.interval_type (
dataclass, optional) – Data format to store an interval in the returnedintervalslist. Default:tkwant.manybody.Intervaltol (intervals below width k < tol might be dropped, optional) –
- Returns
intervals – All momentum intervals to perform the statistical average. Attributes of each
intervalselement 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
