sciforge-lib 0.0.4

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

pub const TABLE: &[Polarizability] = &[
    Polarizability { formula: "H",    alpha_angstrom3: 0.667 },
    Polarizability { formula: "He",   alpha_angstrom3: 0.205 },
    Polarizability { formula: "Li",   alpha_angstrom3: 24.30 },
    Polarizability { formula: "Be",   alpha_angstrom3: 5.60  },
    Polarizability { formula: "C",    alpha_angstrom3: 1.760 },
    Polarizability { formula: "N",    alpha_angstrom3: 1.100 },
    Polarizability { formula: "O",    alpha_angstrom3: 0.802 },
    Polarizability { formula: "F",    alpha_angstrom3: 0.557 },
    Polarizability { formula: "Ne",   alpha_angstrom3: 0.396 },
    Polarizability { formula: "Na",   alpha_angstrom3: 24.10 },
    Polarizability { formula: "Mg",   alpha_angstrom3: 10.60 },
    Polarizability { formula: "Al",   alpha_angstrom3: 6.800 },
    Polarizability { formula: "Si",   alpha_angstrom3: 5.380 },
    Polarizability { formula: "P",    alpha_angstrom3: 3.630 },
    Polarizability { formula: "S",    alpha_angstrom3: 2.900 },
    Polarizability { formula: "Cl",   alpha_angstrom3: 2.180 },
    Polarizability { formula: "Ar",   alpha_angstrom3: 1.642 },
    Polarizability { formula: "K",    alpha_angstrom3: 43.40 },
    Polarizability { formula: "Ca",   alpha_angstrom3: 22.80 },
    Polarizability { formula: "Br",   alpha_angstrom3: 3.050 },
    Polarizability { formula: "Kr",   alpha_angstrom3: 2.484 },
    Polarizability { formula: "I",    alpha_angstrom3: 4.700 },
    Polarizability { formula: "Xe",   alpha_angstrom3: 4.044 },
    Polarizability { formula: "H2",   alpha_angstrom3: 0.806 },
    Polarizability { formula: "N2",   alpha_angstrom3: 1.740 },
    Polarizability { formula: "O2",   alpha_angstrom3: 1.581 },
    Polarizability { formula: "Cl2",  alpha_angstrom3: 4.610 },
    Polarizability { formula: "F2",   alpha_angstrom3: 1.380 },
    Polarizability { formula: "Br2",  alpha_angstrom3: 6.900 },
    Polarizability { formula: "CO2",  alpha_angstrom3: 2.911 },
    Polarizability { formula: "CO",   alpha_angstrom3: 1.953 },
    Polarizability { formula: "H2O",  alpha_angstrom3: 1.450 },
    Polarizability { formula: "NH3",  alpha_angstrom3: 2.260 },
    Polarizability { formula: "H2S",  alpha_angstrom3: 3.780 },
    Polarizability { formula: "SO2",  alpha_angstrom3: 3.720 },
    Polarizability { formula: "NO",   alpha_angstrom3: 1.700 },
    Polarizability { formula: "N2O",  alpha_angstrom3: 3.030 },
    Polarizability { formula: "CH4",  alpha_angstrom3: 2.593 },
    Polarizability { formula: "C2H6", alpha_angstrom3: 4.470 },
    Polarizability { formula: "C2H4", alpha_angstrom3: 4.252 },
    Polarizability { formula: "C2H2", alpha_angstrom3: 3.330 },
    Polarizability { formula: "C6H6", alpha_angstrom3: 10.32 },
    Polarizability { formula: "CCl4", alpha_angstrom3: 10.50 },
    Polarizability { formula: "SF6",  alpha_angstrom3: 6.540 },
    Polarizability { formula: "CH3OH",alpha_angstrom3: 3.290 },
    Polarizability { formula: "C2H5OH",alpha_angstrom3:5.110 },
    Polarizability { formula: "C3H6O",alpha_angstrom3: 6.330 },
    Polarizability { formula: "CHCl3",alpha_angstrom3: 8.500 },
];

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