sciforge-lib 0.0.4

Scientific computing library — mathematics, physics, chemistry, biology, astronomy, geology, meteorology.
Documentation
#[derive(Debug, Clone, Copy)]
pub struct BindingEnergy {
    pub isotope: &'static str,
    pub mass_number: u32,
    pub binding_energy_mev: f64,
    pub binding_per_nucleon_mev: f64,
}

pub const TABLE: &[BindingEnergy] = &[
    BindingEnergy { isotope: "H",  mass_number:   1, binding_energy_mev:    0.0,    binding_per_nucleon_mev: 0.000 },
    BindingEnergy { isotope: "D",  mass_number:   2, binding_energy_mev:    2.224,  binding_per_nucleon_mev: 1.112 },
    BindingEnergy { isotope: "T",  mass_number:   3, binding_energy_mev:    8.482,  binding_per_nucleon_mev: 2.827 },
    BindingEnergy { isotope: "He", mass_number:   3, binding_energy_mev:    7.718,  binding_per_nucleon_mev: 2.573 },
    BindingEnergy { isotope: "He", mass_number:   4, binding_energy_mev:   28.296,  binding_per_nucleon_mev: 7.074 },
    BindingEnergy { isotope: "Li", mass_number:   6, binding_energy_mev:   31.994,  binding_per_nucleon_mev: 5.332 },
    BindingEnergy { isotope: "Li", mass_number:   7, binding_energy_mev:   39.245,  binding_per_nucleon_mev: 5.606 },
    BindingEnergy { isotope: "Be", mass_number:   9, binding_energy_mev:   58.165,  binding_per_nucleon_mev: 6.463 },
    BindingEnergy { isotope: "B",  mass_number:  10, binding_energy_mev:   64.751,  binding_per_nucleon_mev: 6.475 },
    BindingEnergy { isotope: "B",  mass_number:  11, binding_energy_mev:   76.205,  binding_per_nucleon_mev: 6.928 },
    BindingEnergy { isotope: "C",  mass_number:  12, binding_energy_mev:   92.162,  binding_per_nucleon_mev: 7.680 },
    BindingEnergy { isotope: "C",  mass_number:  13, binding_energy_mev:   97.108,  binding_per_nucleon_mev: 7.470 },
    BindingEnergy { isotope: "N",  mass_number:  14, binding_energy_mev:  104.659,  binding_per_nucleon_mev: 7.476 },
    BindingEnergy { isotope: "N",  mass_number:  15, binding_energy_mev:  115.492,  binding_per_nucleon_mev: 7.699 },
    BindingEnergy { isotope: "O",  mass_number:  16, binding_energy_mev:  127.619,  binding_per_nucleon_mev: 7.976 },
    BindingEnergy { isotope: "O",  mass_number:  18, binding_energy_mev:  139.807,  binding_per_nucleon_mev: 7.767 },
    BindingEnergy { isotope: "F",  mass_number:  19, binding_energy_mev:  147.801,  binding_per_nucleon_mev: 7.779 },
    BindingEnergy { isotope: "Ne", mass_number:  20, binding_energy_mev:  160.645,  binding_per_nucleon_mev: 8.032 },
    BindingEnergy { isotope: "Na", mass_number:  23, binding_energy_mev:  186.564,  binding_per_nucleon_mev: 8.111 },
    BindingEnergy { isotope: "Mg", mass_number:  24, binding_energy_mev:  198.257,  binding_per_nucleon_mev: 8.261 },
    BindingEnergy { isotope: "Al", mass_number:  27, binding_energy_mev:  224.952,  binding_per_nucleon_mev: 8.331 },
    BindingEnergy { isotope: "Si", mass_number:  28, binding_energy_mev:  236.537,  binding_per_nucleon_mev: 8.448 },
    BindingEnergy { isotope: "P",  mass_number:  31, binding_energy_mev:  262.917,  binding_per_nucleon_mev: 8.481 },
    BindingEnergy { isotope: "S",  mass_number:  32, binding_energy_mev:  271.781,  binding_per_nucleon_mev: 8.493 },
    BindingEnergy { isotope: "Cl", mass_number:  35, binding_energy_mev:  298.210,  binding_per_nucleon_mev: 8.520 },
    BindingEnergy { isotope: "Ar", mass_number:  40, binding_energy_mev:  343.811,  binding_per_nucleon_mev: 8.595 },
    BindingEnergy { isotope: "Ca", mass_number:  40, binding_energy_mev:  342.052,  binding_per_nucleon_mev: 8.551 },
    BindingEnergy { isotope: "Ti", mass_number:  48, binding_energy_mev:  418.700,  binding_per_nucleon_mev: 8.723 },
    BindingEnergy { isotope: "Cr", mass_number:  52, binding_energy_mev:  456.349,  binding_per_nucleon_mev: 8.776 },
    BindingEnergy { isotope: "Mn", mass_number:  55, binding_energy_mev:  482.075,  binding_per_nucleon_mev: 8.765 },
    BindingEnergy { isotope: "Fe", mass_number:  56, binding_energy_mev:  492.254,  binding_per_nucleon_mev: 8.790 },
    BindingEnergy { isotope: "Fe", mass_number:  58, binding_energy_mev:  509.945,  binding_per_nucleon_mev: 8.792 },
    BindingEnergy { isotope: "Ni", mass_number:  62, binding_energy_mev:  545.259,  binding_per_nucleon_mev: 8.795 },
    BindingEnergy { isotope: "Ni", mass_number:  58, binding_energy_mev:  506.460,  binding_per_nucleon_mev: 8.732 },
    BindingEnergy { isotope: "Cu", mass_number:  63, binding_energy_mev:  551.382,  binding_per_nucleon_mev: 8.752 },
    BindingEnergy { isotope: "Zn", mass_number:  64, binding_energy_mev:  559.094,  binding_per_nucleon_mev: 8.736 },
    BindingEnergy { isotope: "Kr", mass_number:  84, binding_energy_mev:  732.257,  binding_per_nucleon_mev: 8.717 },
    BindingEnergy { isotope: "Mo", mass_number:  98, binding_energy_mev:  846.243,  binding_per_nucleon_mev: 8.635 },
    BindingEnergy { isotope: "Ag", mass_number: 107, binding_energy_mev:  915.265,  binding_per_nucleon_mev: 8.554 },
    BindingEnergy { isotope: "Sn", mass_number: 120, binding_energy_mev: 1020.546,  binding_per_nucleon_mev: 8.505 },
    BindingEnergy { isotope: "Xe", mass_number: 132, binding_energy_mev: 1112.448,  binding_per_nucleon_mev: 8.428 },
    BindingEnergy { isotope: "Ba", mass_number: 138, binding_energy_mev: 1158.297,  binding_per_nucleon_mev: 8.393 },
    BindingEnergy { isotope: "W",  mass_number: 184, binding_energy_mev: 1472.935,  binding_per_nucleon_mev: 8.005 },
    BindingEnergy { isotope: "Au", mass_number: 197, binding_energy_mev: 1559.401,  binding_per_nucleon_mev: 7.916 },
    BindingEnergy { isotope: "Hg", mass_number: 202, binding_energy_mev: 1595.179,  binding_per_nucleon_mev: 7.897 },
    BindingEnergy { isotope: "Pb", mass_number: 208, binding_energy_mev: 1636.430,  binding_per_nucleon_mev: 7.867 },
    BindingEnergy { isotope: "Th", mass_number: 232, binding_energy_mev: 1766.703,  binding_per_nucleon_mev: 7.615 },
    BindingEnergy { isotope: "U",  mass_number: 235, binding_energy_mev: 1783.870,  binding_per_nucleon_mev: 7.591 },
    BindingEnergy { isotope: "U",  mass_number: 238, binding_energy_mev: 1801.694,  binding_per_nucleon_mev: 7.570 },
    BindingEnergy { isotope: "Pu", mass_number: 239, binding_energy_mev: 1806.921,  binding_per_nucleon_mev: 7.560 },
    BindingEnergy { isotope: "Pu", mass_number: 244, binding_energy_mev: 1836.054,  binding_per_nucleon_mev: 7.525 },
];

pub fn by_isotope(isotope: &str, mass_number: u32) -> Option<&'static BindingEnergy> {
    TABLE.iter().find(|b| b.isotope == isotope && b.mass_number == mass_number)
}