pub struct PyFatigueMaterial {
pub basquin_coefficient: f64,
pub basquin_exponent: f64,
pub endurance_limit: f64,
}Expand description
Fatigue material described by the Basquin (S–N) power law.
Fields§
§basquin_coefficient: f64Basquin coefficient A (stress intercept at N = 1).
basquin_exponent: f64Basquin exponent b (negative slope of the S–N curve).
endurance_limit: f64Endurance limit σ_e (Pa). Below this stress fatigue life is infinite.
Implementations§
Source§impl PyFatigueMaterial
impl PyFatigueMaterial
Sourcepub fn new(
basquin_coefficient: f64,
basquin_exponent: f64,
endurance_limit: f64,
) -> Self
pub fn new( basquin_coefficient: f64, basquin_exponent: f64, endurance_limit: f64, ) -> Self
Create a new fatigue material.
Sourcepub fn cycles_to_failure(&self, stress_amplitude: f64) -> f64
pub fn cycles_to_failure(&self, stress_amplitude: f64) -> f64
Estimate cycles to failure N_f for a given stress amplitude σ_a (Pa).
Returns f64::INFINITY when σ_a ≤ endurance_limit.
Uses the Basquin relation: N_f = (A / σ_a)^(1/b).
Sourcepub fn miner_damage(&self, n_cycles: f64, stress_amplitude: f64) -> f64
pub fn miner_damage(&self, n_cycles: f64, stress_amplitude: f64) -> f64
Miner’s rule damage increment for one block of n_cycles at stress_amplitude.
Trait Implementations§
Source§impl Clone for PyFatigueMaterial
impl Clone for PyFatigueMaterial
Source§fn clone(&self) -> PyFatigueMaterial
fn clone(&self) -> PyFatigueMaterial
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 PyFatigueMaterial
impl Debug for PyFatigueMaterial
Source§impl Default for PyFatigueMaterial
impl Default for PyFatigueMaterial
Source§impl<'de> Deserialize<'de> for PyFatigueMaterial
impl<'de> Deserialize<'de> for PyFatigueMaterial
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for PyFatigueMaterial
impl RefUnwindSafe for PyFatigueMaterial
impl Send for PyFatigueMaterial
impl Sync for PyFatigueMaterial
impl Unpin for PyFatigueMaterial
impl UnsafeUnpin for PyFatigueMaterial
impl UnwindSafe for PyFatigueMaterial
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.