pub struct RadiationDamage {
pub displacement_energy: f64,
pub pka_energy: f64,
pub atomic_number: u32,
pub atomic_mass: f64,
}Expand description
Radiation damage model for crystalline metals.
Implements the NRT (Norgett-Robinson-Torrens) displacement model, Kinchin-Pease approximation, cascade statistics, recombination, and void swelling correlations relevant to structural materials in fission and fusion reactors.
Fields§
§displacement_energy: f64Threshold displacement energy Ed [eV] for the host lattice atom.
pka_energy: f64Primary knock-on atom (PKA) kinetic energy [eV].
atomic_number: u32Atomic number of the target atom.
atomic_mass: f64Atomic mass of the target atom [amu].
Implementations§
Source§impl RadiationDamage
impl RadiationDamage
Sourcepub fn new(
displacement_energy: f64,
pka_energy: f64,
atomic_number: u32,
atomic_mass: f64,
) -> Self
pub fn new( displacement_energy: f64, pka_energy: f64, atomic_number: u32, atomic_mass: f64, ) -> Self
Create a new radiation damage model.
§Arguments
displacement_energy– Ed in eV (typical: 25–40 eV for metals).pka_energy– PKA recoil energy in eV.atomic_number– Z of host lattice.atomic_mass– M of host lattice in amu.
Sourcepub fn nrt_dpa(&self, fluence: f64) -> f64
pub fn nrt_dpa(&self, fluence: f64) -> f64
NRT displacements per atom (dpa) for a given neutron fluence.
dpa = 0.8 · ν_NRT · fluence / (2 · Ed) where ν_NRT is the number of displacements from one PKA event.
§Arguments
fluence– Neutron fluence [n/m²].
Sourcepub fn kinchin_pease(&self, energy: f64) -> usize
pub fn kinchin_pease(&self, energy: f64) -> usize
Kinchin-Pease number of displacements from a single PKA.
Returns the integer number of Frenkel pairs produced:
- 0 if energy < Ed
- 1 if Ed ≤ energy < 2Ed
- energy/(2Ed) otherwise (integer division)
§Arguments
energy– PKA kinetic energy in eV.
Sourcepub fn cascade_size(&self, energy: f64) -> usize
pub fn cascade_size(&self, energy: f64) -> usize
Estimate the number of atoms in a displacement cascade.
Uses an empirical power law: N_cascade ≈ (E_PKA / Ed)^0.75.
§Arguments
energy– PKA energy in eV.
Sourcepub fn recombination_fraction(&self) -> f64
pub fn recombination_fraction(&self) -> f64
Recombination fraction of Frenkel pairs in a cascade.
Based on Brinkman’s model: f_rec = 1 − 1/(1 + α·ν) where α = 0.15.
Sourcepub fn swelling(&self, dpa: f64) -> f64
pub fn swelling(&self, dpa: f64) -> f64
Void swelling as a function of cumulative damage in dpa.
Empirical model: ΔV/V ≈ A · (dpa − dpa_inc)^n for dpa > dpa_inc, with A = 1.5e-3 %/dpa^n, dpa_inc = 5 dpa (incubation dose), n = 1.5.
Returns swelling in percent.
§Arguments
dpa– Cumulative dose in displacements per atom.
Trait Implementations§
Source§impl Clone for RadiationDamage
impl Clone for RadiationDamage
Source§fn clone(&self) -> RadiationDamage
fn clone(&self) -> RadiationDamage
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more