tkwant.leads.automatic_boundary¶
-
tkwant.leads.
automatic_boundary
(leads, tmax, refl_max=1e-06, degree=6, emin=None, emax=None, params=None)[source]¶ Routine to find automatically a boundary condition such that the reflection amplitude \(r\) for a lead stays below a given value.
- Parameters
leads (
kwant.system.InfiniteSystem
orkwantspectrum.BandSketching
) – Kwant lead or BandSketching instance of the lead, for which the boundary condition is intended.tmax (int or float) – Maximal time for a tkwant simulation to run. Must be positive > 0.
refl_max (float, optional) – maximal allowed reflection amplitude \(r\), must be in (0, 1) interval. Default=1E-7
degree (int, optional) – order of the monominal absorbing boundary potential. Must be positive > 0. Default=4.
emin (float, optional) – lower energy cutoff. If set, only modes with energies above emin are considered. Defaut=None
emax (float, optional) – upper energy cutoff. If set, only modes with energies below emax are considered. Defaut=None
params (dict, optional) – Extra arguments to pass to the Hamiltonian of
leads
. Might only be provided ifleads
is an instance ofkwant.system.InfiniteSystem
(or a sequence thereof). If provided,params
must include the time argument at initial time explicitly, if the lead Hamiltonian is explicitly time dependent.
- Returns
boundaries – List of boundary conditions. The length of
boundaries
is similar to the length ofleads
.- Return type
list of
MonomialAbsorbingBoundary
orSimpleBoundary
Notes
The routine returns
MonomialAbsorbingBoundary
orSimpleBoundary
conditions depending on which one is estimated to be computationally more efficient.