finite-barrier heterostructures (Ben Daniel-Duke)
·
5 commits
to main
since this release
New module heterostructure: the finite-barrier gate named in the README is closed.
assemble_heterostructure: material parameters and valence band edge become functions of z, discretized in the symmetrized Ben Daniel-Duke form (midpoint kz^2 coefficients, arithmetic-mean kz coupling), so the matrix is exactly Hermitian for arbitrary layer stacks and reduces exactly - to machine precision, asserted in the tests - to the uniform assembly when every point carries the same material.-
layered_profile: per-point profiles from a (thickness, params, band_edge) layer stack, with tiling validation.
-
solve_heterostructure: subbands and envelopes with the package's usual conventions.
Validation against closed forms: the decoupled single-band well reproduces the textbook finite-square-well transcendental levels with second-order grid convergence; the envelope decays in the barrier with the analytic decay constant to better than a percent; the deep-barrier limit approaches the hard-wall solver monotonically.
No default band offsets are shipped, on purpose: band alignments are material- and strain-specific and must be supplied with a citation, like every other number in this package. The self-consistent loop remains hard-wall for now; the README Status section states this scope plainly.