tkwant.manybody.calc_energy_cutoffs¶

tkwant.manybody.
calc_energy_cutoffs
(occupations)[source]¶ Extract upper and lower energy cutoffs from the lead occupations.
We give an example how this routine works: Let be energy_range = [(None, 1), (2, 3)] for one lead, where each tuple has a meaning of an energy interval. For this lead, the largest energy interval, including all these intervals is (None, 3). Note that None as the first tuple elements is interpreted as  infinity. The same is done now for all elements of the
occupations
sequence, which represent the leads. The(emin, emax)
values returned by this routine is the largest interval, that contain all energy intervals of the leads. If a lead is not present, the corresponding element of theoccupations
sequence must be None, such that it does contribute. Pay attention that None has double meaning: As an energy interval (None, 0) or (0, None) it is interpreted as  infinity, respectively + infinity. For theoccupations
sequence, None means absence, such that emin/emax are not changed by the corresponding lead. If all lead elements are None,(None, None)
is returned. Parameters
occupation (
tkwant.manybody.Occupation
or sequence thereof) –Lead occupation, see
lead_occupation
for details. If a lead is not occupied, the corresponding element must be set to None. Otherwise, each element of theoccupations
sequence must have at least the following attribute:energy_range : energy integration range (see
lead_occupation
)
 Returns
emin (float or None) – Lower energy cutoff, None means a cutoff of  infinity.
emin (float or None) – Upper energy cutoff, None means a cutoff of + infinity.