sciforge-lib 0.0.4

Scientific computing library — mathematics, physics, chemistry, biology, astronomy, geology, meteorology.
Documentation
#[derive(Debug, Clone, Copy)]
pub struct YieldStrength {
    pub material: &'static str,
    pub yield_pa: f64,
    pub ultimate_pa: f64,
    pub elongation_pct: f64,
}

pub const TABLE: &[YieldStrength] = &[
    YieldStrength { material: "Fe",         yield_pa: 1.65e8, ultimate_pa: 3.50e8, elongation_pct: 30.0 },
    YieldStrength { material: "Cu",         yield_pa: 0.70e8, ultimate_pa: 2.20e8, elongation_pct: 45.0 },
    YieldStrength { material: "Al",         yield_pa: 1.10e7, ultimate_pa: 9.00e7, elongation_pct: 50.0 },
    YieldStrength { material: "Au",         yield_pa: 1.00e8, ultimate_pa: 2.20e8, elongation_pct: 45.0 },
    YieldStrength { material: "Ag",         yield_pa: 5.50e7, ultimate_pa: 1.70e8, elongation_pct: 50.0 },
    YieldStrength { material: "Ni",         yield_pa: 1.40e8, ultimate_pa: 4.95e8, elongation_pct: 40.0 },
    YieldStrength { material: "Ti",         yield_pa: 1.40e8, ultimate_pa: 2.20e8, elongation_pct: 54.0 },
    YieldStrength { material: "Mg",         yield_pa: 2.10e7, ultimate_pa: 9.00e7, elongation_pct: 11.0 },
    YieldStrength { material: "W",          yield_pa: 7.50e8, ultimate_pa: 1.51e9, elongation_pct:  4.0 },
    YieldStrength { material: "Pb",         yield_pa: 5.00e6, ultimate_pa: 1.20e7, elongation_pct: 50.0 },
    YieldStrength { material: "Zn",         yield_pa: 1.50e8, ultimate_pa: 2.00e8, elongation_pct: 65.0 },
    YieldStrength { material: "Sn",         yield_pa: 1.10e7, ultimate_pa: 2.20e7, elongation_pct: 55.0 },
    YieldStrength { material: "AISI_1020",  yield_pa: 3.50e8, ultimate_pa: 4.50e8, elongation_pct: 25.0 },
    YieldStrength { material: "AISI_1045",  yield_pa: 5.30e8, ultimate_pa: 6.25e8, elongation_pct: 16.0 },
    YieldStrength { material: "AISI_4140",  yield_pa: 6.55e8, ultimate_pa: 1.02e9, elongation_pct: 17.7 },
    YieldStrength { material: "AISI_316",   yield_pa: 2.05e8, ultimate_pa: 5.15e8, elongation_pct: 40.0 },
    YieldStrength { material: "AISI_304",   yield_pa: 2.15e8, ultimate_pa: 5.05e8, elongation_pct: 70.0 },
    YieldStrength { material: "Al_6061_T6", yield_pa: 2.76e8, ultimate_pa: 3.10e8, elongation_pct: 12.0 },
    YieldStrength { material: "Al_7075_T6", yield_pa: 5.03e8, ultimate_pa: 5.72e8, elongation_pct: 11.0 },
    YieldStrength { material: "Al_2024_T3", yield_pa: 3.45e8, ultimate_pa: 4.83e8, elongation_pct: 18.0 },
    YieldStrength { material: "Ti_6Al_4V",  yield_pa: 8.80e8, ultimate_pa: 9.50e8, elongation_pct: 14.0 },
    YieldStrength { material: "Inconel_718",yield_pa: 1.03e9, ultimate_pa: 1.24e9, elongation_pct: 12.0 },
    YieldStrength { material: "Cu_brass",   yield_pa: 1.24e8, ultimate_pa: 3.30e8, elongation_pct: 45.0 },
    YieldStrength { material: "Cu_bronze",  yield_pa: 1.50e8, ultimate_pa: 3.50e8, elongation_pct: 30.0 },
    YieldStrength { material: "concrete",   yield_pa: 0.0,    ultimate_pa: 4.00e7, elongation_pct:  0.4 },
    YieldStrength { material: "wood_pine",  yield_pa: 4.00e7, ultimate_pa: 5.00e7, elongation_pct:  1.0 },
    YieldStrength { material: "PE",         yield_pa: 2.60e7, ultimate_pa: 3.30e7, elongation_pct: 600.0 },
    YieldStrength { material: "PP",         yield_pa: 3.50e7, ultimate_pa: 4.00e7, elongation_pct: 200.0 },
    YieldStrength { material: "PS",         yield_pa: 4.50e7, ultimate_pa: 5.00e7, elongation_pct:  3.0 },
    YieldStrength { material: "PVC",        yield_pa: 5.50e7, ultimate_pa: 6.50e7, elongation_pct: 25.0 },
    YieldStrength { material: "PET",        yield_pa: 5.50e7, ultimate_pa: 7.50e7, elongation_pct: 70.0 },
    YieldStrength { material: "PMMA",       yield_pa: 7.20e7, ultimate_pa: 7.50e7, elongation_pct:  4.0 },
];

pub fn by_material(material: &str) -> Option<&'static YieldStrength> {
    TABLE.iter().find(|y| y.material == material)
}