pub struct ProcessWindow {
pub theoretical_density: f64,
pub e_low: f64,
pub e_high: f64,
pub hardness_full_dense: f64,
pub hall_petch_k: f64,
pub grain_size_opt: f64,
}Expand description
Process-window model mapping energy density to part quality metrics.
Fields§
§theoretical_density: f64Material density of the fully dense material (kg/m³).
e_low: f64Lower bound energy density for good densification (J/m³).
e_high: f64Upper bound energy density before keyhole formation (J/m³).
hardness_full_dense: f64Vickers hardness at theoretical density (HV).
hall_petch_k: f64Fitted Hall–Petch coefficient (HV·m^0.5).
grain_size_opt: f64Grain size at optimal energy density (m).
Implementations§
Source§impl ProcessWindow
impl ProcessWindow
Sourcepub fn new(
theoretical_density: f64,
e_low: f64,
e_high: f64,
hardness_full_dense: f64,
hall_petch_k: f64,
grain_size_opt: f64,
) -> Self
pub fn new( theoretical_density: f64, e_low: f64, e_high: f64, hardness_full_dense: f64, hall_petch_k: f64, grain_size_opt: f64, ) -> Self
Construct a ProcessWindow.
Sourcepub fn relative_density(&self, energy_density: f64) -> f64
pub fn relative_density(&self, energy_density: f64) -> f64
Predicted relative density (0–1) as a function of energy_density (J/m³).
Uses a sigmoidal model: ρ_rel = 1 / (1 + exp(−k · (E − E_mid))).
Sourcepub fn hardness_prediction(&self, energy_density: f64, grain_size: f64) -> f64
pub fn hardness_prediction(&self, energy_density: f64, grain_size: f64) -> f64
Predicted Vickers hardness at a given energy_density (J/m³).
Combines density-based degradation with a Hall–Petch grain-size term.
Sourcepub fn is_in_window(&self, energy_density: f64) -> bool
pub fn is_in_window(&self, energy_density: f64) -> bool
True if energy_density lies within the acceptable process window.
Sourcepub fn window_width(&self) -> f64
pub fn window_width(&self) -> f64
Window width in J/m³.
Trait Implementations§
Source§impl Clone for ProcessWindow
impl Clone for ProcessWindow
Source§fn clone(&self) -> ProcessWindow
fn clone(&self) -> ProcessWindow
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 moreAuto Trait Implementations§
impl Freeze for ProcessWindow
impl RefUnwindSafe for ProcessWindow
impl Send for ProcessWindow
impl Sync for ProcessWindow
impl Unpin for ProcessWindow
impl UnsafeUnpin for ProcessWindow
impl UnwindSafe for ProcessWindow
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