tkwant.leads.AnalyzeReflectionMonomial¶
-
class
tkwant.leads.
AnalyzeReflectionMonomial
(lead, num_cells, strength, degree, params=None)[source]¶ Analyze the the reflection for a lead for the special case of a monomial absorbing potential.
Notes
The reflection amplitude is calculated with analytic expressions derived in 1. Good agreement with the exact numerical result (via
AnalyzeReflection
) can only be expected if \(k * l >> 1\). The length \(l\) corresponds to num_cells and the momentum \(k\) is the distance from a local extremum of the spectrum.- Parameters
lead (
kwant.system.InfiniteSystem
orkwantspectrum.BandSketching
) – Kwant lead or BandSketching instance of the lead, for which the reflection should be calculated.num_cells (int) – number of cells for a finite lead taken into account
degree (int) – order of the moniminal absorbing boundary potential.
strength (float) – The strength of the boundary conditions. Formally this is the area underneath the monomial curve.
params (dict, optional) – Extra parameters for Hamiltonian value functions of
lead
.params
is only considered iflead
is an instance ofkwant.system.InfiniteSystem
.
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.