pub struct LogNormalRetardation {
pub j0: f64,
pub j_lm: f64,
pub tau_c: f64,
pub sigma: f64,
}Expand description
Continuous retardation spectrum L(τ) modelled as a log-normal distribution.
Creep compliance: J(t) = J₀ + ∫ L(τ)/τ · (1 - exp(-t/τ)) d ln τ
For the log-normal spectrum:
L(τ) = J_lm / (σ √(2π)) · exp(-(ln(τ/τ_c))² / (2σ²))
The integral is evaluated numerically over a wide range of τ.
Fields§
§j0: f64Instantaneous compliance J₀ (1/Pa).
j_lm: f64Total creep compliance amplitude J_lm (1/Pa).
tau_c: f64Central retardation time τ_c (s).
sigma: f64Log-width σ (dimensionless, > 0).
Implementations§
Source§impl LogNormalRetardation
impl LogNormalRetardation
Sourcepub fn new(j0: f64, j_lm: f64, tau_c: f64, sigma: f64) -> Self
pub fn new(j0: f64, j_lm: f64, tau_c: f64, sigma: f64) -> Self
Create a new log-normal retardation model.
Sourcepub fn creep_compliance(&self, t: f64) -> f64
pub fn creep_compliance(&self, t: f64) -> f64
Creep compliance J(t) evaluated by Gauss-Legendre quadrature (20 pts) over ln τ ∈ [ln τ_c - 5σ, ln τ_c + 5σ].
Sourcepub fn storage_compliance(&self, omega: f64) -> f64
pub fn storage_compliance(&self, omega: f64) -> f64
Storage compliance J’(ω) = J₀ + ∫ L(τ)/(1 + (ωτ)²) d ln τ.
Sourcepub fn loss_compliance(&self, omega: f64) -> f64
pub fn loss_compliance(&self, omega: f64) -> f64
Loss compliance J’’(ω) = ∫ L(τ) ωτ/(1 + (ωτ)²) d ln τ.
Trait Implementations§
Source§impl Clone for LogNormalRetardation
impl Clone for LogNormalRetardation
Source§fn clone(&self) -> LogNormalRetardation
fn clone(&self) -> LogNormalRetardation
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 moreAuto Trait Implementations§
impl Freeze for LogNormalRetardation
impl RefUnwindSafe for LogNormalRetardation
impl Send for LogNormalRetardation
impl Sync for LogNormalRetardation
impl Unpin for LogNormalRetardation
impl UnsafeUnpin for LogNormalRetardation
impl UnwindSafe for LogNormalRetardation
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