Expand description
Secondary-electron generation at inelastic events.
The model is Kieft and Bosch’s, J. Phys. D: Appl. Phys. 41, 215310 (2008),
doi:10.1088/0022-3727/41/21/215310, as written out by T. Verduin,
Quantum Noise Effects in e-Beam Lithography and Metrology, PhD thesis,
Delft University of Technology (2017),
doi:10.4233/uuid:f214f594-a21f-4318-9f29-9776d60ab06c (“Verduin” below,
with the thesis’s printed page and equation numbers). The kinematics are
ported from Nebula, source/physics/kieft/inelastic.h at commit
a50a8e83207980ed221ac83cfe874751d39b86a9
(https://github.com/Nebula-simulator/nebula), BSD-3-Clause,
Copyright (c) 2020, Nebula-simulator; the notice is in
THIRD_PARTY_LICENSES.md.
§Energy
An inelastic event takes W from the primary (from the inelastic
CrossSectionTable) and
lifts an electron of binding energy B (measured below the Fermi level)
into the conduction band with kinetic energy
E_SE = E_F + W - B (Verduin Eq. 3.86, p. 78), measured, like every
kinetic energy inside a material, from the band bottom
(crate::electron::boundary). For a valence event (no shell channel
supplies B):
- in a metal,
B = 0: the electron comes from the Fermi level (Nebula’s handling when no binding energy applies), and every event withW > 0makes one. A band built withBandStructure::with_valence_binding_evsetsBto that value instead (the rule of Azzolini et al., arXiv:1809.00859, p. 6; cited there), and then only an event withW > Bmakes one, a lossW <= Bstaying in the solid as below;B = 0is the default unchanged; - in a semiconductor or insulator,
B = E_gwhenW > E_g, an excitation across the gap (Verduin p. 78; Nebula sets the binding energy to the band gap); an event withW <= E_gmakes no secondary and its energy stays in the solid (Verduin p. 78 and section 3.4 assign it to optical phonons).
The bookkeeping of one event is a SecondaryEvent, which satisfies
loss = secondary + binding + deposited with binding = B - E_F, the
energy that the liberated electron’s initial state lies below the band
bottom (negative for a conduction electron, which already had E_F).
§Inner-shell events
A loss ω drawn from the channel of inner shell j
(crate::electron::transport::Transport::with_inner_shells) uses the
same Eq. 3.86 with B = B_j, the shell’s binding energy:
E_SE = E_F + ω - B_j. This is the shell-resolved form of de Vera et al.,
Int. J. Mol. Sci. 23, 6121 (2022), eqs. (32) and (35) (the reference of
crate::electron::inelastic::inner_shell): a loss ω = W + B_j in shell
j gives the emitted electron W = ω - B_j, which here is its kinetic
energy above the Fermi level, so E_SE = E_F + W on the band-bottom axis.
Binding reference. Eq. 3.86 measures B below the Fermi level, and so
does this module for a shell: B_j is used as given, as a binding energy
below E_F. The subshell energies of a
crate::electron::data::SubshellBindingTable (EADL) are free-atom
values; they are not converted to a solid-state, Fermi-referenced edge
(no work-function or chemical shift is applied). The event’s
SecondaryEvent::binding_ev is B_j - E_F, positive for every shell
that lies below the Fermi level, and the tallies keep it in the solid at
the event (tally::electron): atomic relaxation (Auger electrons,
fluorescence photons) is not transported.
Limits. The transport draws ω within [B_j, E - E_F] (E the
primary’s band-bottom energy), so E_SE lies in [E_F, E - B_j] and is
never negative; a shell channel is closed when E - E_F <= B_j. Every
shell event liberates an electron (no gap test); the electron is followed
only if E_SE reaches the stopping threshold, else its energy is
deposited, as for a valence event.
Direction. The Ivanchenko transformation below with B = B_j
(Verduin Eqs. 3.105-3.111 are written for a bound electron of any
binding).
§Direction
The method of Ivanchenko, as used by Kieft and Bosch (Verduin pp. 82-85):
the binding is transformed away, E -> E - E_F + 2B (Eq. 3.105) and
ΔE -> W + B (Eq. 3.106), and the free-electron binary-collision angle of
the secondary, cos β = sqrt(ΔE / E) (Eq. 3.100, non-relativistic), gives
its direction about the primary’s with a uniform azimuth (Eq. 3.107).
Optionally a randomly oriented instantaneous momentum of relative size
sqrt(B / ΔE) is added (Eq. 3.108), and the primary is deflected to
conserve momentum, p̂'_i ∝ p̂_i - cos β p̂''_t (Eq. 3.111). Both options
are on in Nebula’s defaults and in SecondaryModel::KIEFT_BOSCH. The
secondary starts at the primary’s position (no delocalisation, Verduin
p. 85).
Structs§
- Secondary
Event - The energy bookkeeping of one inelastic event under a secondary model, all
in eV.
loss_ev = secondary_ev + binding_ev + deposited_evup to rounding.
Enums§
- Secondary
Model - Whether and how inelastic events make secondary electrons.