pub struct RubberElasticity {
pub n_chains: f64,
pub kt: f64,
pub crosslink_density: f64,
}Expand description
Neo-Hookean rubber elasticity model.
Models a crosslinked elastomer network in terms of chain density, thermal energy, and crosslink density.
Fields§
§n_chains: f64Number of network chains per unit volume (m⁻³).
kt: f64Thermal energy k_B T (J).
crosslink_density: f64Crosslink density ν (m⁻³); used in bulk modulus estimate.
Implementations§
Source§impl RubberElasticity
impl RubberElasticity
Sourcepub fn new(n_chains: f64, kt: f64, crosslink_density: f64) -> Self
pub fn new(n_chains: f64, kt: f64, crosslink_density: f64) -> Self
Create a new rubber elasticity model.
Sourcepub fn shear_modulus(&self) -> f64
pub fn shear_modulus(&self) -> f64
Shear modulus G = n·kT (Pa).
Sourcepub fn bulk_modulus(&self) -> f64
pub fn bulk_modulus(&self) -> f64
Bulk modulus K ≈ (2/3)·G + ν·kT (compressibility contribution).
Sourcepub fn strain_energy(&self, lambda: f64) -> f64
pub fn strain_energy(&self, lambda: f64) -> f64
Strain energy density W = (G/2)·(λ₁² + λ₂² + λ₃² − 3) for uniaxial stretch λ (incompressible: λ₂ = λ₃ = 1/√λ).
§Arguments
lambda– uniaxial stretch ratio (≥ 1 for extension).
Sourcepub fn stress_stretch(lambda: f64) -> f64
pub fn stress_stretch(lambda: f64) -> f64
Nominal (1st Piola-Kirchhoff) stress for uniaxial stretch λ.
σ = G·(λ − 1/λ²).
Trait Implementations§
Source§impl Clone for RubberElasticity
impl Clone for RubberElasticity
Source§fn clone(&self) -> RubberElasticity
fn clone(&self) -> RubberElasticity
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 moreAuto Trait Implementations§
impl Freeze for RubberElasticity
impl RefUnwindSafe for RubberElasticity
impl Send for RubberElasticity
impl Sync for RubberElasticity
impl Unpin for RubberElasticity
impl UnsafeUnpin for RubberElasticity
impl UnwindSafe for RubberElasticity
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