sciforge-core 0.0.4

Shared engineering primitives: materials, fasteners, fluids, propulsion taxonomies, std components.
Documentation
use crate::moleculars::Material;
use sciforge_hub::prelude::physics::solid_mechanics::viscoelasticity as sf_visc;

impl Material {
    pub fn maxwell_relaxation_pa(
        &self,
        stress_initial_pa: f64,
        time_s: f64,
        relaxation_time_s: f64,
    ) -> f64 {
        sf_visc::maxwell_relaxation(stress_initial_pa, time_s, relaxation_time_s)
    }

    pub fn kelvin_voigt_strain(
        &self,
        stress_pa: f64,
        time_s: f64,
        retardation_time_s: f64,
    ) -> f64 {
        sf_visc::kelvin_voigt_creep(stress_pa, self.young_modulus_pa, time_s, retardation_time_s)
    }

    pub fn standard_linear_solid_strain(
        &self,
        stress_pa: f64,
        e2_pa: f64,
        eta_pa_s: f64,
        time_s: f64,
    ) -> f64 {
        sf_visc::standard_linear_solid(stress_pa, self.young_modulus_pa, e2_pa, eta_pa_s, time_s)
    }
}

pub fn wlf_shift_factor(t_k: f64, t_ref_k: f64, c1: f64, c2: f64) -> f64 {
    sf_visc::wlf_shift(t_k, t_ref_k, c1, c2)
}

pub fn prony_relaxation_pa(
    e_inf_pa: f64,
    coefficients_e_tau: &[(f64, f64)],
    time_s: f64,
) -> f64 {
    sf_visc::prony_series(e_inf_pa, coefficients_e_tau, time_s)
}