pub struct EffectiveMedium {
pub phi: f64,
pub e1: f64,
pub nu1: f64,
pub e2: f64,
pub nu2: f64,
}Expand description
Effective elastic moduli of a two-phase composite using mixing rules.
Fields§
§phi: f64Volume fraction of phase 2 (inclusions).
e1: f64Young’s modulus of matrix (phase 1) [Pa].
nu1: f64Poisson’s ratio of matrix.
e2: f64Young’s modulus of inclusion (phase 2) [Pa].
nu2: f64Poisson’s ratio of inclusion.
Implementations§
Source§impl EffectiveMedium
impl EffectiveMedium
Sourcepub fn new(phi: f64, e1: f64, nu1: f64, e2: f64, nu2: f64) -> Self
pub fn new(phi: f64, e1: f64, nu1: f64, e2: f64, nu2: f64) -> Self
Create a new effective medium model.
Sourcepub fn voigt_modulus(&self) -> f64
pub fn voigt_modulus(&self) -> f64
Voigt (upper bound) effective Young’s modulus (rule of mixtures).
E_V = (1-φ)·E1 + φ·E2
Sourcepub fn reuss_modulus(&self) -> f64
pub fn reuss_modulus(&self) -> f64
Reuss (lower bound) effective Young’s modulus.
1/E_R = (1-φ)/E1 + φ/E2
Sourcepub fn hill_modulus(&self) -> f64
pub fn hill_modulus(&self) -> f64
Hill (arithmetic mean) effective modulus.
E_H = (E_Voigt + E_Reuss) / 2
Sourcepub fn voigt_bulk_modulus(&self) -> f64
pub fn voigt_bulk_modulus(&self) -> f64
Voigt (rule of mixtures) effective bulk modulus.
Sourcepub fn reuss_bulk_modulus(&self) -> f64
pub fn reuss_bulk_modulus(&self) -> f64
Reuss effective bulk modulus.
Sourcepub fn voigt_shear_modulus(&self) -> f64
pub fn voigt_shear_modulus(&self) -> f64
Voigt effective shear modulus.
Sourcepub fn bounds_satisfied(&self) -> bool
pub fn bounds_satisfied(&self) -> bool
Check that Reuss ≤ Voigt (always true for positive moduli).
Trait Implementations§
Source§impl Clone for EffectiveMedium
impl Clone for EffectiveMedium
Source§fn clone(&self) -> EffectiveMedium
fn clone(&self) -> EffectiveMedium
Returns a duplicate of the value. Read more
1.0.0 · 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 EffectiveMedium
impl Debug for EffectiveMedium
impl Copy for EffectiveMedium
Auto Trait Implementations§
impl Freeze for EffectiveMedium
impl RefUnwindSafe for EffectiveMedium
impl Send for EffectiveMedium
impl Sync for EffectiveMedium
impl Unpin for EffectiveMedium
impl UnsafeUnpin for EffectiveMedium
impl UnwindSafe for EffectiveMedium
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