pub struct HallPetchModel {
pub sigma_0_mpa: f64,
pub k_hp_mpa_sqrt_nm: f64,
pub d_critical_nm: f64,
}Expand description
Hall-Petch and inverse Hall-Petch (breakdown at nanoscale).
Describes grain-size-dependent yield strength.
Fields§
§sigma_0_mpa: f64Friction stress (yield strength of a single crystal) σ₀ (MPa).
k_hp_mpa_sqrt_nm: f64Hall-Petch slope k (MPa·√nm).
d_critical_nm: f64Critical grain size below which inverse HP (softening) occurs (nm).
Implementations§
Source§impl HallPetchModel
impl HallPetchModel
Sourcepub fn new(sigma_0_mpa: f64, k_hp_mpa_sqrt_nm: f64, d_critical_nm: f64) -> Self
pub fn new(sigma_0_mpa: f64, k_hp_mpa_sqrt_nm: f64, d_critical_nm: f64) -> Self
Creates a Hall-Petch model.
Sourcepub fn yield_strength_classical_mpa(&self, grain_size_nm: f64) -> f64
pub fn yield_strength_classical_mpa(&self, grain_size_nm: f64) -> f64
Yield strength (MPa) using the classical Hall-Petch equation.
σy = σ₀ + k / √d
Sourcepub fn yield_strength_mpa(&self, grain_size_nm: f64) -> f64
pub fn yield_strength_mpa(&self, grain_size_nm: f64) -> f64
Yield strength (MPa) with inverse Hall-Petch softening for d < d_critical.
Uses a bilinear model: classical HP for d ≥ d_c, then linear softening.
Sourcepub fn optimal_grain_size_nm(&self) -> f64
pub fn optimal_grain_size_nm(&self) -> f64
Grain size (nm) at which yield strength is maximised.
Trait Implementations§
Source§impl Clone for HallPetchModel
impl Clone for HallPetchModel
Source§fn clone(&self) -> HallPetchModel
fn clone(&self) -> HallPetchModel
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for HallPetchModel
impl Debug for HallPetchModel
impl Copy for HallPetchModel
Auto Trait Implementations§
impl Freeze for HallPetchModel
impl RefUnwindSafe for HallPetchModel
impl Send for HallPetchModel
impl Sync for HallPetchModel
impl Unpin for HallPetchModel
impl UnsafeUnpin for HallPetchModel
impl UnwindSafe for HallPetchModel
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
Mutably borrows from an owned value. Read more