pub struct TuningSet {
pub name: &'static str,
pub version: u32,
pub ions: &'static [&'static str],
pub energy_range_ev: (f64, f64),
pub e_s_factors: &'static [(&'static str, f64)],
pub provenance: &'static str,
}Expand description
A named, immutable, versioned set of phenomenological surface-binding energy multipliers (the pilot of the opt-in “experiment-tuned” mode).
This is calibration, not a published model choice: the factors stand for
the uncertain planar-barrier convention (E_s = cohesive energy). Each
record names its measured source data and fit recipe in provenance
(and in docs/data-provenance.md). Rules, all enforced on resolution:
- Only
[physics] tuning = "<name>"selects a set; omission and"none"change nothing, and the echoed input is then identical to an untuned one. - A factor multiplies the resolved
E_sof its element (the explicit[physics.energies]/ material value if present, else the elemental default), exactly once per layer component, after overrides. The global element table and the collision algorithm are never touched. - Pilot scope: ion runs on single-element layers only, with a beam species
the set was fitted for (
TuningSet::ions) and a target element the set lists. Compounds, a[dynamic]target, other beams, unlisted elements and electron input are rejected. A beam energy outside the fitted range or a tilted beam is allowed but warned about (an extrapolation). - Both the original and the effective energies are reported in
summary.json(physics.tuning).
Fields§
§name: &'static strName used in [physics] tuning. Names are never reused: a new version
ships under a new name, so a name always selects the same factors.
version: u32Version of this set; a changed factor is a new version, never an edit.
ions: &'static [&'static str]Beam species (element symbols) the factors were fitted for.
energy_range_ev: (f64, f64)Beam energies (eV, inclusive) the fit data covered, at normal incidence.
e_s_factors: &'static [(&'static str, f64)]E_s multiplier by element symbol; a target element not listed is
rejected.
provenance: &'static strSource measurements and fit procedure, in one line.
Trait Implementations§
impl Copy for TuningSet
impl StructuralPartialEq for TuningSet
Auto Trait Implementations§
impl Freeze for TuningSet
impl RefUnwindSafe for TuningSet
impl Send for TuningSet
impl Sync for TuningSet
impl Unpin for TuningSet
impl UnsafeUnpin for TuningSet
impl UnwindSafe for TuningSet
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,
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