pub struct MagicConstants {
pub c: [f64; 5],
}Expand description
Constants of the Biersack-Haggmark magic formula for one screening function.
Fields§
§c: [f64; 5]C1 .. C5 of the fit, in the published order (gamma = (C4 + eps) / (C5 + eps)).
Implementations§
Source§impl MagicConstants
impl MagicConstants
Sourcepub const ZBL: Self
pub const ZBL: Self
Fit to the universal (ZBL) potential, Ziegler, Biersack, Littmark (1985),
Ch. 2. Verified against J. F. Ziegler, J. P. Biersack, M. D. Ziegler,
SRIM: The Stopping and Range of Ions in Matter (SRIM Co., 2015),
Fig. 2-21, p. 2-42, which labels them 0.9923 0.01162 0.007122 9.307 14.81: these values to that rounding, with the last two listed in the
other order. Our order is the one that fits the formula (Eq. 2-105):
the swap fails magic_formula_check_rejects_wrong_constants. Also
cross-checked against the MIT-licensed ir2-lab/screened_coulomb
(commit f84c3c8), which carries the same five values in our order.
Sourcepub const MOLIERE: Self
pub const MOLIERE: Self
Fit to the Moliere potential, Biersack and Haggmark, Nucl. Instrum.
Methods 174 (1980) 257, doi:10.1016/0029-554X(80)90440-1. Verified
digit for digit against J. F. Ziegler, J. P. Biersack, M. D. Ziegler,
SRIM: The Stopping and Range of Ions in Matter (SRIM Co., 2015),
Table 4-1, p. 7-6 (the 1980 paper itself is not open access). Also
tested against the quadrature (magic_formula_tracks_quadrature_for_moliere),
which rejects the ZBL set and a C4/C5 swap. See
docs/data-provenance.md.
Sourcepub fn for_screening(s: Screening) -> Option<Self>
pub fn for_screening(s: Screening) -> Option<Self>
The constant set published for a screening function, if one exists.
Trait Implementations§
Source§impl Clone for MagicConstants
impl Clone for MagicConstants
Source§fn clone(&self) -> MagicConstants
fn clone(&self) -> MagicConstants
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 MagicConstants
Source§impl Debug for MagicConstants
impl Debug for MagicConstants
Source§impl PartialEq for MagicConstants
impl PartialEq for MagicConstants
impl StructuralPartialEq for MagicConstants
Auto Trait Implementations§
impl Freeze for MagicConstants
impl RefUnwindSafe for MagicConstants
impl Send for MagicConstants
impl Sync for MagicConstants
impl Unpin for MagicConstants
impl UnsafeUnpin for MagicConstants
impl UnwindSafe for MagicConstants
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