tkwant.leads.AnalyzeReflection¶
-
class
tkwant.leads.
AnalyzeReflection
(lead, num_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_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 atk0
.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 is2 * 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
.
- loguse a log grid between
- Returns
reflect (numpy array, shape(
2 * nq
, )) – Reflection amplitude \(r\)energies (numpy array, shape(
2 * nq
, )) – Mode energiesvel (numpy array, shape(
2 * nq
, )) – mode velocitiesk (numpy array, shape(
2 * nq
, )) – mode momentae0 (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 thatkmin <= k0 <= kmax
. Otherwise, aValueError
is thrown.