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.InfiniteSystemorkwantspectrum.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.
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 ifleadsis an instance ofkwant.system.InfiniteSystem(or a sequence thereof). If provided,paramsmust 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
boundariesis similar to the length ofleads.- Return type
list of
MonomialAbsorbingBoundaryorSimpleBoundary
Notes
The routine returns
MonomialAbsorbingBoundaryorSimpleBoundaryconditions depending on which one is estimated to be computationally more efficient.
