sciforge-lib 0.0.4

Scientific computing library — mathematics, physics, chemistry, biology, astronomy, geology, meteorology.
Documentation
pub fn reynolds_pressure_1d(
    eta_pa_s: f64,
    velocity_m_per_s: f64,
    film_thickness_m: f64,
    film_thickness_gradient: f64,
    length_m: f64,
) -> f64 {
    6.0 * eta_pa_s * velocity_m_per_s * length_m * film_thickness_gradient
        / film_thickness_m.powi(3)
}

pub fn sommerfeld_number(
    radius_m: f64,
    clearance_m: f64,
    angular_velocity_rad_per_s: f64,
    eta_pa_s: f64,
    load_per_area_pa: f64,
) -> f64 {
    let ratio = radius_m / clearance_m;
    ratio * ratio * eta_pa_s * angular_velocity_rad_per_s / load_per_area_pa
}

pub fn petroff_friction_torque(
    eta_pa_s: f64,
    angular_velocity_rad_per_s: f64,
    radius_m: f64,
    length_m: f64,
    clearance_m: f64,
) -> f64 {
    use std::f64::consts::PI;
    4.0 * PI * PI * eta_pa_s * angular_velocity_rad_per_s
        * radius_m.powi(3)
        * length_m
        / clearance_m
}

pub fn slider_bearing_load(
    eta_pa_s: f64,
    velocity_m_per_s: f64,
    length_m: f64,
    width_m: f64,
    h_inlet_m: f64,
    h_outlet_m: f64,
) -> f64 {
    let k = h_inlet_m / h_outlet_m;
    let factor = (k - 1.0).ln() - 2.0 * (k - 1.0) / (k + 1.0);
    6.0 * eta_pa_s * velocity_m_per_s * length_m * length_m * width_m
        / ((k - 1.0).powi(2) * h_outlet_m * h_outlet_m)
        * factor
}