class tkwant.leads.AnalyzeReflectionMonomial(lead, num_absorb_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_absorb_cells and the momentum $$k$$ is the distance from a local extremum of the spectrum.

1

J. Weston and X. Waintal, Phys. Rev. B 93, 134506 (2016)

Parameters

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.