Skip to main content

CeramicMatrixCompositeExtended

Struct CeramicMatrixCompositeExtended 

Source
pub struct CeramicMatrixCompositeExtended {
    pub df: f64,
    pub vf: f64,
    pub ef: f64,
    pub em: f64,
    pub tau_i: f64,
    pub sigma_fu: f64,
    pub sigma_mc: f64,
    pub bn_thickness_nm: f64,
    pub pullout_length: f64,
    pub density: f64,
}
Expand description

Extended CMC model: matrix cracking, fiber pullout, BN interphase.

Fields§

§df: f64

Fiber diameter df (μm).

§vf: f64

Fiber volume fraction Vf.

§ef: f64

Fiber modulus Ef (GPa).

§em: f64

Matrix modulus Em (GPa).

§tau_i: f64

Interface sliding stress τi (MPa).

§sigma_fu: f64

Fiber strength σfu (MPa).

§sigma_mc: f64

Matrix cracking stress σmc (MPa).

§bn_thickness_nm: f64

BN interphase thickness (nm).

§pullout_length: f64

Fiber pullout length lp (mm).

§density: f64

Composite density (kg/m³).

Implementations§

Source§

impl CeramicMatrixCompositeExtended

Source

pub fn hi_nicalon_sic_sic() -> Self

Hi-Nicalon SiC/SiC with BN interphase.

Source

pub fn tyranno_sa() -> Self

Tyranno SA C/SiC.

Source

pub fn composite_modulus(&self) -> f64

Composite modulus (rule of mixtures) (GPa).

Source

pub fn ack_matrix_cracking_stress(&self, gamma_m: f64) -> f64

Matrix cracking stress using ACK model (MPa). σ_mc = (12 * τi * Ef * Vf^2 * Γm * Ec / (Em^2 * df * (1-Vf)))^(1/3)

Source

pub fn pullout_energy(&self) -> f64

Fiber pullout energy per unit area (J/m²).

Source

pub fn ultimate_strength(&self) -> f64

Composite ultimate tensile strength (MPa) using GLS model.

Source

pub fn thermal_shock_r_prime(&self, k: f64, cte: f64) -> f64

Thermal shock resistance parameter R’ (K) = σ_mc * k / (E * CTE).

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.