pub struct SpringPot {
pub quasi_property: f64,
pub alpha: f64,
}Expand description
Scott-Blair (springpot) element: intermediate between spring and dashpot.
The springpot constitutive law uses the fractional Caputo derivative:
σ(t) = C · D^α ε(t)
where α ∈ [0, 1] interpolates between a purely elastic spring (α=0) and a purely viscous dashpot (α=1).
For sinusoidal excitation ε = ε₀ exp(iωt) the complex modulus is:
E*(ω) = C · (iω)^α
giving storage and loss moduli:
E’(ω) = C ω^α cos(α π/2) E’’(ω) = C ω^α sin(α π/2)
Fields§
§quasi_property: f64Quasi-property C (Pa·s^α).
alpha: f64Fractional order α ∈ [0, 1].
Implementations§
Source§impl SpringPot
impl SpringPot
Sourcepub fn storage_modulus(&self, omega: f64) -> f64
pub fn storage_modulus(&self, omega: f64) -> f64
Storage modulus E’(ω) = C ω^α cos(απ/2).
Sourcepub fn loss_modulus(&self, omega: f64) -> f64
pub fn loss_modulus(&self, omega: f64) -> f64
Loss modulus E’’(ω) = C ω^α sin(απ/2).
Sourcepub fn loss_tangent(&self) -> f64
pub fn loss_tangent(&self) -> f64
Loss tangent tan δ = E’’ / E’ = tan(απ/2).
Note: independent of frequency — a hallmark of fractional models.
Sourcepub fn complex_modulus_magnitude(&self, omega: f64) -> f64
pub fn complex_modulus_magnitude(&self, omega: f64) -> f64
Complex modulus magnitude |E*(ω)| = C ω^α.
Sourcepub fn phase_angle(&self) -> f64
pub fn phase_angle(&self) -> f64
Phase angle δ = α π/2 (radians).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SpringPot
impl RefUnwindSafe for SpringPot
impl Send for SpringPot
impl Sync for SpringPot
impl Unpin for SpringPot
impl UnsafeUnpin for SpringPot
impl UnwindSafe for SpringPot
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