pub struct DelamCriterion {
pub z_t: f64,
pub s_xz: f64,
pub s_yz: f64,
pub g1c: f64,
pub g2c: f64,
pub g3c: f64,
pub bk_eta: f64,
}Expand description
Delamination fracture criterion for composite laminates.
Implements:
- Quadratic stress criterion (interlaminar stresses).
- Linear fracture mechanics criterion (G vs G_c).
- Benzeggagh-Kenane (B-K) mixed-mode criterion.
Fields§
§z_t: f64Interlaminar tensile strength Z_t (Pa).
s_xz: f64Interlaminar shear strength S_xz (Pa).
s_yz: f64Interlaminar shear strength S_yz (Pa).
g1c: f64Mode I critical ERR G_Ic (J/m²).
g2c: f64Mode II critical ERR G_IIc (J/m²).
g3c: f64Mode III critical ERR G_IIIc (J/m²).
bk_eta: f64Benzeggagh-Kenane exponent η (C/E: ≈ 1.75).
Implementations§
Source§impl DelamCriterion
impl DelamCriterion
Sourcepub fn new(
z_t: f64,
s_xz: f64,
s_yz: f64,
g1c: f64,
g2c: f64,
g3c: f64,
bk_eta: f64,
) -> Self
pub fn new( z_t: f64, s_xz: f64, s_yz: f64, g1c: f64, g2c: f64, g3c: f64, bk_eta: f64, ) -> Self
Constructs a DelamCriterion.
Sourcepub fn carbon_epoxy_default() -> Self
pub fn carbon_epoxy_default() -> Self
Returns default values for carbon/epoxy (T300/914).
Sourcepub fn quadratic_stress_index(&self, stress: InterlaminaStress) -> f64
pub fn quadratic_stress_index(&self, stress: InterlaminaStress) -> f64
Computes the quadratic interlaminar stress criterion.
(⟨σ_z⟩/Z_t)² + (τ_xz/S_xz)² + (τ_yz/S_yz)² ≥ 1 → delamination
where ⟨·⟩ is the Macaulay bracket (only tensile σ_z contributes).
Sourcepub fn stress_delamination(&self, stress: InterlaminaStress) -> bool
pub fn stress_delamination(&self, stress: InterlaminaStress) -> bool
Returns true if the quadratic stress criterion is violated.
Sourcepub fn linear_err_index(&self, err: EnergyReleaseRate) -> f64
pub fn linear_err_index(&self, err: EnergyReleaseRate) -> f64
Computes the linear ERR criterion.
G_I/G_Ic + G_II/G_IIc + G_III/G_IIIc ≥ 1 → delamination
Sourcepub fn err_delamination(&self, err: EnergyReleaseRate) -> bool
pub fn err_delamination(&self, err: EnergyReleaseRate) -> bool
Returns true if the linear ERR criterion is violated.
Sourcepub fn bk_criterion(&self, err: EnergyReleaseRate) -> f64
pub fn bk_criterion(&self, err: EnergyReleaseRate) -> f64
Computes the mixed-mode B-K criterion (Benzeggagh–Kenane 1996).
G_Ic + (G_IIc − G_Ic) * (G_shear/G_total)^η = G_c(mm) Delamination when G_total ≥ G_c(mm).
Sourcepub fn bk_delamination(&self, err: EnergyReleaseRate) -> bool
pub fn bk_delamination(&self, err: EnergyReleaseRate) -> bool
Returns true if B-K criterion is violated.
Sourcepub fn stress_intensity_mode1(&self, sigma_z: f64, half_crack: f64) -> f64
pub fn stress_intensity_mode1(&self, sigma_z: f64, half_crack: f64) -> f64
Computes the mode I stress intensity factor K_I from σ_z and half-crack a (m).
K_I = σ_z √(π a)
Sourcepub fn g1c_from_k1c(k1c: f64, ez: f64) -> f64
pub fn g1c_from_k1c(k1c: f64, ez: f64) -> f64
Returns the critical G_I from mode I fracture toughness K_Ic using G = K²/E.
G_Ic = K_Ic² / E_z where E_z is the through-thickness modulus (Pa).
Sourcepub fn j_integral_proxy(&self, err: EnergyReleaseRate) -> f64
pub fn j_integral_proxy(&self, err: EnergyReleaseRate) -> f64
Computes the crack driving force (J-integral proxy) from ERR (J/m²).
Trait Implementations§
Source§impl Clone for DelamCriterion
impl Clone for DelamCriterion
Source§fn clone(&self) -> DelamCriterion
fn clone(&self) -> DelamCriterion
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more