tkwant.leads.AbsorbingReflectionSolver

class tkwant.leads.AbsorbingReflectionSolver(lead, num_cells, imaginary_potential, params=None)[source]

Calculate the reflection amplitude \(r\) for a lead with imaginary absorbing potential.

Examples

>>> num_cells = 100
>>> def my_imaginary_potential(x):
        return 50 * x**4
>>> reflect = AnalyzeReflection(lead, num_cells, my_imaginary_potential)
>>> energies = numpy.linspace(0, 0.5, 101)
>>> r = reflect(energies)

Notes

An instance of this class can be called like a method to calculate the reflection amplitude \(r\) of all open modes at a given energy. The reflection amplitude is calculated by a static kwant calculation.

Parameters
  • lead (kwant.system.InfiniteSystem) – Kwant lead, for which the reflection should be calculated.

  • num_cells (int) – number of cells for a finite lead taken into account

  • imaginary_potential (callable) – absorbing potential function

  • params (dict, optional) – Extra parameters for Hamiltonian value functions of lead.

Methods