pub struct RadiationDamage {
pub threshold_energy_ev: f64,
pub atomic_density: f64,
pub yield_strength_initial: f64,
pub dpa: f64,
pub void_fraction: f64,
pub helium_conc_appm: f64,
}Expand description
Radiation damage material model.
Tracks displacement per atom (dpa), void swelling, embrittlement, and He bubble growth.
Fields§
§threshold_energy_ev: f64Displacement threshold energy Ed (eV).
atomic_density: f64Atomic density n (atoms/m³).
yield_strength_initial: f64Initial yield strength σy0 (Pa).
dpa: f64Accumulated dpa (displacement per atom).
void_fraction: f64Void swelling fraction (dimensionless).
helium_conc_appm: f64Helium concentration (appm).
Implementations§
Source§impl RadiationDamage
impl RadiationDamage
Sourcepub fn compute_dpa(&self, flux: f64, cross_section: f64, time: f64) -> f64
pub fn compute_dpa(&self, flux: f64, cross_section: f64, time: f64) -> f64
Irradiation dose in dpa from neutron flux and cross-section.
dpa = φ * σ_d * t / (n * Ed * 2).
Sourcepub fn irradiation_hardening(&self, k_hardening: f64) -> f64
pub fn irradiation_hardening(&self, k_hardening: f64) -> f64
Yield strength increase due to irradiation hardening.
Δσy ≈ α * μ * b * sqrt(N_d), where N_d ~ dpa density (simplified to Δσy = k * sqrt(dpa)).
Sourcepub fn yield_strength(&self, k_hardening: f64) -> f64
pub fn yield_strength(&self, k_hardening: f64) -> f64
Total yield strength (initial + hardening).
Sourcepub fn void_swelling_rate(
&self,
temperature_k: f64,
a_coeff: f64,
b_coeff: f64,
) -> f64
pub fn void_swelling_rate( &self, temperature_k: f64, a_coeff: f64, b_coeff: f64, ) -> f64
Void swelling rate: dS/ddpa ≈ A * exp(-B/T) (temperature-dependent).
Sourcepub fn bubble_radius(&self, bubble_density: f64) -> f64
pub fn bubble_radius(&self, bubble_density: f64) -> f64
Helium bubble growth: r ~ (3 * C_He / (4π * n_b))^(1/3).
Sourcepub fn dbtt_shift_k(&self) -> f64
pub fn dbtt_shift_k(&self) -> f64
Ductile-to-brittle transition temperature shift (DBTT shift ~ 20°C/dpa).
Trait Implementations§
Source§impl Clone for RadiationDamage
impl Clone for RadiationDamage
Source§fn clone(&self) -> RadiationDamage
fn clone(&self) -> RadiationDamage
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more