sciforge-lib 0.0.4

Scientific computing library — mathematics, physics, chemistry, biology, astronomy, geology, meteorology.
Documentation
#[derive(Debug, Clone, Copy)]
pub struct Superconductor {
    pub formula: &'static str,
    pub critical_temperature_k: f64,
    pub critical_field_t: f64,
    pub critical_current_density_a_m2: f64,
    pub kind: &'static str,
}

pub const TABLE: &[Superconductor] = &[
    Superconductor { formula: "Al",    critical_temperature_k: 1.20,  critical_field_t: 0.010,  critical_current_density_a_m2: 1.0e9,  kind: "I"  },
    Superconductor { formula: "Pb",    critical_temperature_k: 7.20,  critical_field_t: 0.080,  critical_current_density_a_m2: 1.0e9,  kind: "I"  },
    Superconductor { formula: "Hg",    critical_temperature_k: 4.15,  critical_field_t: 0.041,  critical_current_density_a_m2: 1.0e9,  kind: "I"  },
    Superconductor { formula: "Sn",    critical_temperature_k: 3.72,  critical_field_t: 0.031,  critical_current_density_a_m2: 1.0e9,  kind: "I"  },
    Superconductor { formula: "Nb",    critical_temperature_k: 9.25,  critical_field_t: 0.206,  critical_current_density_a_m2: 1.0e10, kind: "II" },
    Superconductor { formula: "NbTi",  critical_temperature_k: 9.50,  critical_field_t: 14.5,   critical_current_density_a_m2: 3.0e9,  kind: "II" },
    Superconductor { formula: "Nb3Sn", critical_temperature_k: 18.30, critical_field_t: 25.0,   critical_current_density_a_m2: 3.0e9,  kind: "II" },
    Superconductor { formula: "Nb3Ge", critical_temperature_k: 23.20, critical_field_t: 38.0,   critical_current_density_a_m2: 1.0e9,  kind: "II" },
    Superconductor { formula: "MgB2",  critical_temperature_k: 39.00, critical_field_t: 74.0,   critical_current_density_a_m2: 1.0e10, kind: "II" },
    Superconductor { formula: "YBCO",  critical_temperature_k: 92.00, critical_field_t: 120.0,  critical_current_density_a_m2: 3.0e10, kind: "II" },
    Superconductor { formula: "BSCCO", critical_temperature_k: 110.0, critical_field_t: 200.0,  critical_current_density_a_m2: 1.0e10, kind: "II" },
    Superconductor { formula: "TBCCO", critical_temperature_k: 138.0, critical_field_t: 200.0,  critical_current_density_a_m2: 1.0e10, kind: "II" },
    Superconductor { formula: "H3S",   critical_temperature_k: 203.0, critical_field_t: 88.0,   critical_current_density_a_m2: 0.0,    kind: "II" },
];

pub fn by_formula(formula: &str) -> Option<&'static Superconductor> {
    TABLE.iter().find(|s| s.formula == formula)
}