pub struct PhysicsSpec {
pub potential: PotentialChoice,
pub screening_length: Option<LengthChoice>,
pub stopping: StoppingChoice,
pub free_path: FreePathChoice,
pub min_cm_angle_deg: Option<f64>,
pub weak_collisions: u8,
pub primary_cutoff_ev: f64,
pub recoil_cutoff_ev: f64,
pub follow_recoils: bool,
pub primary_surface_binding_ev: f64,
pub energies: BTreeMap<String, EnergyOverride>,
pub tuning: String,
}Expand description
[physics]: model choices, cutoffs and energy overrides.
Fields§
§potential: PotentialChoiceScreening function. Default "zbl".
screening_length: Option<LengthChoice>Screening length. Default: the length conventionally paired with the
screening function (Screening::default_length); filled in on
resolution and echoed.
stopping: StoppingChoiceElectronic stopping. Default "lindhard-scharff".
free_path: FreePathChoiceFree-path convention. Default "constant".
min_cm_angle_deg: Option<f64>Smallest centre-of-mass deflection treated as a collision, degrees;
required with free_path = "energy-dependent", rejected otherwise.
weak_collisions: u8Weak collisions per collision step, 0..=3
(crate::ion::bca::BcaConfig::weak_collisions); constant free path
only. Default 0.
primary_cutoff_ev: f64The primary stops below this energy, eV. Required.
recoil_cutoff_ev: f64Recoils stop below this energy, eV. Required. Keep it below the
smallest E_s when sputtering matters.
follow_recoils: boolFollow displaced atoms as full cascades. Default true.
primary_surface_binding_ev: f64Planar surface barrier for the beam species, eV. Default 0.
energies: BTreeMap<String, EnergyOverride>E_d/E_b/E_s overrides by element symbol, applied to that element
in every layer after the material’s own values (so they win).
tuning: StringOpt-in phenomenological calibration: "none" (default) or the name of
a versioned factor set (TuningSet). Not a published model choice.
See TuningSet for what it scales and where it applies.
Trait Implementations§
Source§impl Clone for PhysicsSpec
impl Clone for PhysicsSpec
Source§fn clone(&self) -> PhysicsSpec
fn clone(&self) -> PhysicsSpec
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PhysicsSpec
impl Debug for PhysicsSpec
Source§impl<'de> Deserialize<'de> for PhysicsSpec
impl<'de> Deserialize<'de> for PhysicsSpec
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 PhysicsSpec
impl PartialEq for PhysicsSpec
Source§impl Serialize for PhysicsSpec
impl Serialize for PhysicsSpec
impl StructuralPartialEq for PhysicsSpec
Auto Trait Implementations§
impl Freeze for PhysicsSpec
impl RefUnwindSafe for PhysicsSpec
impl Send for PhysicsSpec
impl Sync for PhysicsSpec
impl Unpin for PhysicsSpec
impl UnsafeUnpin for PhysicsSpec
impl UnwindSafe for PhysicsSpec
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