pub struct DefectModels {
pub relative_density: f64,
pub energy_density: f64,
pub lof_threshold: f64,
pub keyhole_threshold: f64,
pub uts: f64,
pub fracture_toughness: f64,
pub defect_size: f64,
}Expand description
Defect formation models for LPBF.
Fields§
§relative_density: f64Measured relative density (0–1).
energy_density: f64Volumetric energy density (J/m³).
lof_threshold: f64Threshold energy density below which lack-of-fusion pores form (J/m³).
keyhole_threshold: f64Threshold energy density above which keyhole pores form (J/m³).
uts: f64Ultimate tensile strength of the matrix material (Pa).
fracture_toughness: f64Fracture toughness of the matrix (Pa·√m).
defect_size: f64Characteristic defect size (m) — used for cracking criterion.
Implementations§
Source§impl DefectModels
impl DefectModels
Sourcepub fn new(
relative_density: f64,
energy_density: f64,
lof_threshold: f64,
keyhole_threshold: f64,
uts: f64,
fracture_toughness: f64,
defect_size: f64,
) -> Self
pub fn new( relative_density: f64, energy_density: f64, lof_threshold: f64, keyhole_threshold: f64, uts: f64, fracture_toughness: f64, defect_size: f64, ) -> Self
Construct a DefectModels struct.
Sourcepub fn has_lack_of_fusion(&self) -> bool
pub fn has_lack_of_fusion(&self) -> bool
True if the energy density is below the lack-of-fusion threshold.
Sourcepub fn has_keyhole_porosity(&self) -> bool
pub fn has_keyhole_porosity(&self) -> bool
True if the energy density is above the keyhole threshold.
Sourcepub fn porosity_fraction(&self) -> f64
pub fn porosity_fraction(&self) -> f64
Porosity fraction estimated from the relative density.
Sourcepub fn cracking_criterion(&self) -> bool
pub fn cracking_criterion(&self) -> bool
Cracking criterion using a stress-intensity-factor approach.
Returns true when the mode-I SIF exceeds the fracture toughness:
K_I = σ_UTS · √(π · a) > K_IC.
Sourcepub fn in_process_window(&self) -> bool
pub fn in_process_window(&self) -> bool
Quality flag: process is in the “sweet spot” (no LOF, no keyhole).
Trait Implementations§
Source§impl Clone for DefectModels
impl Clone for DefectModels
Source§fn clone(&self) -> DefectModels
fn clone(&self) -> DefectModels
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more