pub struct BcaConfig {
pub mean_free_path: MeanFreePath,
pub electronic: ElectronicLoss,
pub weak_collisions: u8,
pub follow_recoils: bool,
pub primary_cutoff_ev: f64,
pub recoil_cutoff_ev: f64,
pub primary_surface_binding_ev: f64,
pub seed: u64,
pub chunk_size: u64,
}Expand description
Run configuration.
Fields§
§mean_free_path: MeanFreePathFree-path convention. Default MeanFreePath::Constant.
electronic: ElectronicLossElectronic-loss treatment. Default ElectronicLoss::NonLocal.
weak_collisions: u8Number of simultaneous weak collisions per collision step, 0..=3
(MeanFreePath::Constant only; see the module docs, “Weak
collisions”). Default 0, the single-collision convention of Biersack
and Haggmark (1980).
follow_recoils: boolFollow displaced atoms as full cascades. If false, a displaced atom
stops where it was created and its energy counts as rest energy (an
ion-only run). Default true.
primary_cutoff_ev: f64The primary stops when its energy falls below this, eV.
recoil_cutoff_ev: f64Recoils stop when their energy falls below this, eV. A recoil cutoff
above the surface binding energies suppresses sputtering, so keep it
below the smallest E_s when sputtering matters (Eckstein 1991).
primary_surface_binding_ev: f64Planar surface barrier for the primary’s species at both faces, eV.
Default 0 (backscattered ions are not bound). Target atoms use the
E_s of the material at the face (see Bca::new).
seed: u64Run seed for crate::rng::stream.
chunk_size: u64Histories per work chunk for crate::rng::run_particles; fixes the summation
order, so keep it independent of the thread count. Default 64.
Implementations§
Trait Implementations§
impl Copy for BcaConfig
impl StructuralPartialEq for BcaConfig
Auto Trait Implementations§
impl Freeze for BcaConfig
impl RefUnwindSafe for BcaConfig
impl Send for BcaConfig
impl Sync for BcaConfig
impl Unpin for BcaConfig
impl UnsafeUnpin for BcaConfig
impl UnwindSafe for BcaConfig
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