pub struct LinearElastic {
pub young_modulus: f64,
pub poisson_ratio: f64,
}Expand description
Linear elastic (isotropic) material defined by Young’s modulus and Poisson’s ratio.
Fields§
§young_modulus: f64Young’s modulus (Pa)
poisson_ratio: f64Poisson’s ratio (dimensionless, typically 0..0.5)
Implementations§
Source§impl LinearElastic
impl LinearElastic
Sourcepub fn new(young_modulus: f64, poisson_ratio: f64) -> Self
pub fn new(young_modulus: f64, poisson_ratio: f64) -> Self
Create a new linear elastic material.
Sourcepub fn bulk_modulus(&self) -> f64
pub fn bulk_modulus(&self) -> f64
Bulk modulus K = E / (3 * (1 - 2*nu)).
Sourcepub fn shear_modulus(&self) -> f64
pub fn shear_modulus(&self) -> f64
Shear modulus G = E / (2 * (1 + nu)).
Sourcepub fn p_wave_modulus(&self) -> f64
pub fn p_wave_modulus(&self) -> f64
P-wave (constrained) modulus M = E*(1-nu) / ((1+nu)(1-2nu)).
Sourcepub fn lame_lambda(&self) -> f64
pub fn lame_lambda(&self) -> f64
First Lame parameter lambda = E * nu / ((1 + nu) * (1 - 2*nu)).
Sourcepub fn stress_strain_matrix_3d(&self) -> [[f64; 6]; 6]
pub fn stress_strain_matrix_3d(&self) -> [[f64; 6]; 6]
6x6 stress-strain (stiffness) matrix in Voigt notation for 3-D isotropic elasticity.
Order: [sigma_xx, sigma_yy, sigma_zz, sigma_yz, sigma_xz, sigma_xy].
Sourcepub fn compliance_matrix_voigt(&self) -> [f64; 36]
pub fn compliance_matrix_voigt(&self) -> [f64; 36]
6x6 compliance matrix S = C⁻¹ in Voigt notation.
Voigt order: [eps_xx, eps_yy, eps_zz, eps_yz, eps_xz, eps_xy].
Trait Implementations§
Source§impl Clone for LinearElastic
impl Clone for LinearElastic
Source§fn clone(&self) -> LinearElastic
fn clone(&self) -> LinearElastic
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 moreSource§impl Debug for LinearElastic
impl Debug for LinearElastic
impl Copy for LinearElastic
Auto Trait Implementations§
impl Freeze for LinearElastic
impl RefUnwindSafe for LinearElastic
impl Send for LinearElastic
impl Sync for LinearElastic
impl Unpin for LinearElastic
impl UnsafeUnpin for LinearElastic
impl UnwindSafe for LinearElastic
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