pub fn hydrogenic_shell_elf(
material: &str,
table: &SubshellBindingTable,
z: u8,
subshell: Subshell,
atoms_per_m3: f64,
grid: ShellElfGrid,
) -> Result<(InnerShell, OpticalElf), ElectronDataError>Expand description
The hydrogenic optical ELF of one inner shell (module docs): the shell
subshell of element z, with binding energy and occupancy from
table, for atoms_per_m3 atoms of that element per m³ in the target
material. Returns the InnerShell and its OpticalElf, ready for
super::ShellResolvedChannels::new: the ELF starts at the binding
energy and is zero below it.
K is built from the 1s formula, L1 from the 2s formula, and L2 and L3 each from the 2p formula with its own binding energy and occupancy.
Errors if the subshell is not K, L1, L2 or L3 (no hydrogenic formula is
implemented for the M shell and above), if (z, subshell) is not in
table, if atoms_per_m3 is
not finite and positive, or if the grid is invalid.