Skip to main content

lindhard/electron/
mod.rs

1//! Electron transport (milestone M1, `docs/architecture.md`).
2//!
3//! [`data`] holds the validated types the electron engine consumes (optical
4//! energy-loss functions, subshell binding energies and precomputed
5//! cross-section tables). [`elastic`] solves the radial Dirac equation for one
6//! screened potential at one energy (phase shifts, Mott cross sections), with
7//! optional Furness-McCarthy exchange and correlation-polarization corrections
8//! built from an explicit atomic electron density (both off by default);
9//! [`elastic::table`] turns it into elastic cross-section tables for a
10//! material.
11//! [`inelastic`] holds the dielectric-function models of inelastic
12//! scattering; so far the single-pole Penn algorithm, with its IMFP, stopping
13//! power and the sum rules of the optical input. [`transport`] is the
14//! event-by-event loop over layered stacks on those tables; [`secondary`] makes
15//! secondary electrons at its inelastic events and [`boundary`] holds the
16//! per-layer band parameters and the potential step at faces. [`phonon`] holds
17//! the opt-in insulator channels the loop can add per layer (Fröhlich
18//! LO-phonon scattering, polaron trapping). The models that fill the tables
19//! from first principles are later work. [`knock_on`] is the displacement
20//! threshold test of a beam energy against each element's `E_d` (pure
21//! kinematics, no transport).
22
23pub mod boundary;
24pub mod data;
25pub mod elastic;
26pub mod inelastic;
27pub mod knock_on;
28pub mod phonon;
29pub mod secondary;
30pub mod transport;