pub struct NrtDamage {
pub pka_count: u64,
pub pka_energy_ev: f64,
pub damage_energy_ev: f64,
pub nrt_displacements: f64,
pub kinchin_pease_displacements: f64,
}Expand description
Displacement-model estimates (NRT and Kinchin-Pease) from the PKA damage
energies. Not a count of simulated defects: see CascadeDefects
and crate::ion::damage for why the two are kept apart.
In a layer with more than one element, the Lindhard partition uses the
PKA’s own Z1/A1 and the layer’s atom-fraction mean Z2/A2. NRT is
defined for monatomic targets, so this is an approximation and this
crate’s own convention: see
the compound-target section
of crate::ion::damage.
Fields§
§pka_count: u64Primary knock-on atoms: target atoms displaced by the beam particle.
pka_energy_ev: f64Sum of the PKA energies T (energy transferred, before the lattice
binding is subtracted), eV.
damage_energy_ev: f64Sum of the PKA damage energies T_dam (Lindhard partition), eV.
nrt_displacements: f64Sum of the NRT displacements N_NRT(T_dam) over PKAs.
kinchin_pease_displacements: f64Sum of the Kinchin-Pease displacements N_KP(T_dam) over PKAs.
Trait Implementations§
impl Copy for NrtDamage
Source§impl<'de> Deserialize<'de> for NrtDamage
impl<'de> Deserialize<'de> for NrtDamage
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>,
impl StructuralPartialEq for NrtDamage
Auto Trait Implementations§
impl Freeze for NrtDamage
impl RefUnwindSafe for NrtDamage
impl Send for NrtDamage
impl Sync for NrtDamage
impl Unpin for NrtDamage
impl UnsafeUnpin for NrtDamage
impl UnwindSafe for NrtDamage
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