tkwant.leads.AnalyzeReflection

class tkwant.leads.AnalyzeReflection(lead, num_absorb_cells, imaginary_potential, spectrum=None, params=None)[source]

Analyze the the reflection for a lead.

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

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

  • imaginary_potential (callable) – absorbing potential function

  • spectrum (BandSketching, optional) – kwant.physics.BandSketching instance of the lead. This is mainly for performance. If not present, it will be calculated on the fly from lead.

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

Methods

around_extremum(kmin, kmax, band, nq=20, dq=0.001, gridtype='log')[source]

Calculate the reflection amplitude \(r\) within the momentum interval [kmin, kmax] around a local extremum of the dispersion.

Parameters
  • kmax (kmin,) – momentum interval [kmin, kmax] including the a single local dispersion minimum or maximum located at k0.

  • band (int) – band index

  • nq (int, optional) – number of sample gridpoints between [kmin, k0 - dq] and between [k0 + dq, kmax]. The total number of sample points is 2 * nq.

  • dq (float, optional) – Offset around extrema located at momentum k0.

  • gridtype (string, optional) –

    lin : use a linear grid between [kmin, k0] and [k0, kmax]

    loguse a log grid between [kmin, k0] and [k0, kmax].

    The log-grid is choosen dense around k0.

Returns

  • reflect (numpy array, shape(2 * nq, )) – Reflection amplitude \(r\)

  • energies (numpy array, shape(2 * nq, )) – Mode energies

  • vel (numpy array, shape(2 * nq, )) – mode velocities

  • k (numpy array, shape(2 * nq, )) – mode momenta

  • e0 (float) – dispersion energy at the local minimum or maximum

  • k0 (float) – momentum of the local minimum or maximum

Notes

The local extremum of the dispersion k0 must be inside the interval [kmin, kmax], such that kmin <= k0 <= kmax. Otherwise, a ValueError is thrown.