sciforge-lib 0.0.4

Scientific computing library — mathematics, physics, chemistry, biology, astronomy, geology, meteorology.
Documentation
pub fn dowson_higginson_film_thickness(
    reduced_radius_m: f64,
    reduced_modulus_pa: f64,
    velocity_m_per_s: f64,
    eta0_pa_s: f64,
    pressure_viscosity_coeff_per_pa: f64,
    load_n: f64,
) -> f64 {
    let u = eta0_pa_s * velocity_m_per_s / (reduced_modulus_pa * reduced_radius_m);
    let g = pressure_viscosity_coeff_per_pa * reduced_modulus_pa;
    let w = load_n / (reduced_modulus_pa * reduced_radius_m * reduced_radius_m);
    2.65 * reduced_radius_m * u.powf(0.7) * g.powf(0.54) * w.powf(-0.13)
}

pub fn hamrock_dowson_central_film(
    reduced_radius_m: f64,
    reduced_modulus_pa: f64,
    velocity_m_per_s: f64,
    eta0_pa_s: f64,
    alpha_per_pa: f64,
    load_n: f64,
    ellipticity_k: f64,
) -> f64 {
    let u = eta0_pa_s * velocity_m_per_s / (reduced_modulus_pa * reduced_radius_m);
    let g = alpha_per_pa * reduced_modulus_pa;
    let w = load_n / (reduced_modulus_pa * reduced_radius_m * reduced_radius_m);
    reduced_radius_m
        * 3.63
        * u.powf(0.68)
        * g.powf(0.49)
        * w.powf(-0.073)
        * (1.0 - (-0.68 * ellipticity_k).exp())
}

pub fn pressure_viscosity_barus(eta0_pa_s: f64, alpha_per_pa: f64, pressure_pa: f64) -> f64 {
    eta0_pa_s * (alpha_per_pa * pressure_pa).exp()
}

pub fn pressure_viscosity_roelands(
    eta0_pa_s: f64,
    pressure_pa: f64,
    z_factor: f64,
) -> f64 {
    let p0 = 1.96e8;
    let exponent = (-1.0 + (1.0 + pressure_pa / p0).powf(z_factor))
        * (eta0_pa_s.ln() + 9.67);
    eta0_pa_s * exponent.exp() / eta0_pa_s.powi(0)
}