Skip to content

v0.3.0: dispersion and mass utilities

Choose a tag to compare

@Tanvir-Mahmud-Mahim Tanvir-Mahmud-Mahim released this 20 Aug 09:00
· 15 commits to main since this release
52e66f7

Adds dispersion and effective-mass utilities, because a hole mass is not one number: subband_dispersion solves the envelope problem along an in-plane path at any angle and around any self-consistent potential, and local_mass converts any dispersion, subband or bulk, into the local finite-difference effective mass along the path.

Asserted in the test suite, not claimed: the path solver at a single k point equals solve_subbands exactly; the decoupled demo set returns exactly 1/|A| m0 at every momentum and well level (1e-10); applied to the bulk Rinke 2008 GaN bands, the utility reproduces the quasi-cubic asymptotic masses m0/|A2+A4-A5| = 1.89 m0 and m0/|A2+A4+A5| = 0.180 m0 at large k_t (with the asymptote's own residual stated as the tolerance, not machine precision); and a locally flat branch reports an infinite mass rather than raising, because a diverging mass is physics. 15 tests total.

Install: pip install kpenvelope