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
k0must be inside the interval[kmin, kmax], such thatkmin <= k0 <= kmax. Otherwise, aValueErroris thrown.
