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 or kwantspectrum.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 if leads is an instance of kwant.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 of leads.

Return type

list of MonomialAbsorbingBoundary or SimpleBoundary

Notes

The routine returns MonomialAbsorbingBoundary or SimpleBoundary conditions depending on which one is estimated to be computationally more efficient.