pub struct ElectronEnergyBudget {Show 20 fields
pub incident_ev: f64,
pub deposited_ev: f64,
pub escaped_ev: f64,
pub trapped_ev: f64,
pub inelastic_ev: f64,
pub residual_ev: f64,
pub escaped_front_ev: f64,
pub escaped_back_ev: f64,
pub escaped_side_ev: f64,
pub no_interaction_ev: f64,
pub absorbed_ev: f64,
pub event_cap_ev: f64,
pub fermi_sea_ev: f64,
pub barrier_ev: f64,
pub phonon_emitted_ev: f64,
pub phonon_absorbed_ev: f64,
pub polaron_ev: f64,
pub ionisation_ev: f64,
pub lattice_ev: f64,
pub relative_imbalance: f64,
}Expand description
The energy balance, eV, summed over all histories and every electron of
them (see the module docs):
incident + fermi_sea + phonon_absorbed = deposited + escaped + trapped + barrier, with
deposited = inelastic + residual + phonon_emitted + polaron: energy left in the solid at inelastic events, plus the energy electrons had left when they fell below the stopping threshold, plus theħωgiven to the lattice at LO-phonon emissions, plus the whole remaining energy of electrons trapped as polarons;phonon_absorbed: theħωelectrons took from the lattice at LO-phonon absorptions (a source; zero without the insulator channels);escaped = escaped_front + escaped_back + escaped_side;trapped = no_interaction + absorbed + event_cap: energy still carried by electrons that ended in the target without falling below the threshold (no interaction available, absorbed at the back face, or cut off by the collision cap);fermi_sea: the kinetic energy liberated secondaries already had (a source; zero without a secondary model);barrier: the kinetic energy taken by the potential steps at the faces, the sum of-ΔU(signed; zero with transparent faces).
Fields§
§incident_ev: f64Energy of the primaries.
deposited_ev: f64Deposited in the target, measured from the band bottom. With a
secondary model in a layer with a Fermi energy this includes the
Fermi-sea energy of liberated conduction electrons (fermi_sea_ev),
so it can exceed the energy the beam imparted; the net energy imparted
is incident_ev - escaped_ev = deposited_ev + trapped_ev + barrier_ev - fermi_sea_ev - phonon_absorbed_ev (see
the module docs).
escaped_ev: f64Carried out of the target.
trapped_ev: f64Carried by electrons that ended in the target at or above the stopping threshold.
inelastic_ev: f64Energy left in the solid at inelastic events (part of
deposited_ev): the loss W without a secondary model; with one,
SecondaryEvent::deposited_ev plus any positive
SecondaryEvent::binding_ev.
residual_ev: f64Remaining energy of electrons that fell below the stopping threshold
(part of deposited_ev).
escaped_front_ev: f64Out of the front face (part of escaped_ev).
escaped_back_ev: f64Out of the back face (part of escaped_ev).
escaped_side_ev: f64Out of a lateral face of a voxel target (part of escaped_ev); zero
for a stack.
no_interaction_ev: f64Electrons with no interaction and no face to reach (part of
trapped_ev).
absorbed_ev: f64Electrons absorbed at the back face (part of trapped_ev).
event_cap_ev: f64Electrons cut off by the collision cap (part of trapped_ev).
fermi_sea_ev: f64Energy the liberated secondaries brought with them, the sum of
-binding_ev over events where it is negative (a source).
barrier_ev: f64Kinetic energy taken by the potential steps, the sum of -ΔU over
face transmissions (signed).
phonon_emitted_ev: f64ħω given to the lattice by LO-phonon emission (part of
deposited_ev).
phonon_absorbed_ev: f64ħω taken from the lattice by LO-phonon absorption (a source).
polaron_ev: f64Remaining energy of electrons trapped as polarons (part of
deposited_ev).
ionisation_ev: f64Ionisation channel of deposited_ev: inelastic_ev + residual_ev
(the residual is placed here by convention, see
the channel split).
lattice_ev: f64Lattice channel of deposited_ev: phonon_emitted_ev + polaron_ev.
relative_imbalance: f64|deposited + escaped + trapped + barrier - incident - fermi_sea| / (incident + fermi_sea) (0 with no incident energy).
Trait Implementations§
Source§impl Clone for ElectronEnergyBudget
impl Clone for ElectronEnergyBudget
Source§fn clone(&self) -> ElectronEnergyBudget
fn clone(&self) -> ElectronEnergyBudget
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ElectronEnergyBudget
Source§impl Debug for ElectronEnergyBudget
impl Debug for ElectronEnergyBudget
Source§impl<'de> Deserialize<'de> for ElectronEnergyBudget
impl<'de> Deserialize<'de> for ElectronEnergyBudget
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for ElectronEnergyBudget
impl PartialEq for ElectronEnergyBudget
Source§impl Serialize for ElectronEnergyBudget
impl Serialize for ElectronEnergyBudget
impl StructuralPartialEq for ElectronEnergyBudget
Auto Trait Implementations§
impl Freeze for ElectronEnergyBudget
impl RefUnwindSafe for ElectronEnergyBudget
impl Send for ElectronEnergyBudget
impl Sync for ElectronEnergyBudget
impl Unpin for ElectronEnergyBudget
impl UnsafeUnpin for ElectronEnergyBudget
impl UnwindSafe for ElectronEnergyBudget
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more