#[derive(Debug, Clone, Copy)]
pub struct HeatCapacity {
pub formula: &'static str,
pub cp_j_molk_298: f64,
pub cv_j_molk_298: f64,
pub phase: &'static str,
}
pub const TABLE: &[HeatCapacity] = &[
HeatCapacity { formula: "AIR", cp_j_molk_298: 29.107, cv_j_molk_298: 20.793, phase: "gas" },
HeatCapacity { formula: "H2", cp_j_molk_298: 28.836, cv_j_molk_298: 20.522, phase: "gas" },
HeatCapacity { formula: "N2", cp_j_molk_298: 29.124, cv_j_molk_298: 20.810, phase: "gas" },
HeatCapacity { formula: "O2", cp_j_molk_298: 29.378, cv_j_molk_298: 21.064, phase: "gas" },
HeatCapacity { formula: "O3", cp_j_molk_298: 39.20, cv_j_molk_298: 30.886, phase: "gas" },
HeatCapacity { formula: "Cl2", cp_j_molk_298: 33.949, cv_j_molk_298: 25.635, phase: "gas" },
HeatCapacity { formula: "F2", cp_j_molk_298: 31.302, cv_j_molk_298: 22.988, phase: "gas" },
HeatCapacity { formula: "He", cp_j_molk_298: 20.786, cv_j_molk_298: 12.472, phase: "gas" },
HeatCapacity { formula: "Ne", cp_j_molk_298: 20.786, cv_j_molk_298: 12.472, phase: "gas" },
HeatCapacity { formula: "Ar", cp_j_molk_298: 20.786, cv_j_molk_298: 12.472, phase: "gas" },
HeatCapacity { formula: "Kr", cp_j_molk_298: 20.786, cv_j_molk_298: 12.472, phase: "gas" },
HeatCapacity { formula: "Xe", cp_j_molk_298: 20.786, cv_j_molk_298: 12.472, phase: "gas" },
HeatCapacity { formula: "CO", cp_j_molk_298: 29.142, cv_j_molk_298: 20.828, phase: "gas" },
HeatCapacity { formula: "CO2", cp_j_molk_298: 37.135, cv_j_molk_298: 28.821, phase: "gas" },
HeatCapacity { formula: "H2O", cp_j_molk_298: 33.577, cv_j_molk_298: 25.263, phase: "gas" },
HeatCapacity { formula: "NH3", cp_j_molk_298: 35.640, cv_j_molk_298: 27.326, phase: "gas" },
HeatCapacity { formula: "H2S", cp_j_molk_298: 34.192, cv_j_molk_298: 25.878, phase: "gas" },
HeatCapacity { formula: "SO2", cp_j_molk_298: 39.870, cv_j_molk_298: 31.556, phase: "gas" },
HeatCapacity { formula: "SO3", cp_j_molk_298: 50.670, cv_j_molk_298: 42.356, phase: "gas" },
HeatCapacity { formula: "NO", cp_j_molk_298: 29.844, cv_j_molk_298: 21.530, phase: "gas" },
HeatCapacity { formula: "NO2", cp_j_molk_298: 36.974, cv_j_molk_298: 28.660, phase: "gas" },
HeatCapacity { formula: "N2O", cp_j_molk_298: 38.450, cv_j_molk_298: 30.136, phase: "gas" },
HeatCapacity { formula: "SF6", cp_j_molk_298: 97.280, cv_j_molk_298: 88.966, phase: "gas" },
HeatCapacity { formula: "CH4", cp_j_molk_298: 35.690, cv_j_molk_298: 27.376, phase: "gas" },
HeatCapacity { formula: "C2H6", cp_j_molk_298: 52.490, cv_j_molk_298: 44.176, phase: "gas" },
HeatCapacity { formula: "C3H8", cp_j_molk_298: 73.600, cv_j_molk_298: 65.286, phase: "gas" },
HeatCapacity { formula: "C4H10",cp_j_molk_298: 98.490, cv_j_molk_298: 90.176, phase: "gas" },
HeatCapacity { formula: "C2H4", cp_j_molk_298: 42.886, cv_j_molk_298: 34.572, phase: "gas" },
HeatCapacity { formula: "C2H2", cp_j_molk_298: 44.036, cv_j_molk_298: 35.722, phase: "gas" },
HeatCapacity { formula: "H2O", cp_j_molk_298: 75.327, cv_j_molk_298: 74.539, phase: "liquid" },
HeatCapacity { formula: "CH3OH", cp_j_molk_298: 81.080, cv_j_molk_298: 67.400, phase: "liquid" },
HeatCapacity { formula: "C2H5OH", cp_j_molk_298: 112.40, cv_j_molk_298: 95.000, phase: "liquid" },
HeatCapacity { formula: "C3H8O3", cp_j_molk_298: 218.90, cv_j_molk_298: 205.60, phase: "liquid" },
HeatCapacity { formula: "C6H6", cp_j_molk_298: 135.69, cv_j_molk_298: 116.50, phase: "liquid" },
HeatCapacity { formula: "C7H8", cp_j_molk_298: 157.30, cv_j_molk_298: 137.10, phase: "liquid" },
HeatCapacity { formula: "C8H10", cp_j_molk_298: 181.50, cv_j_molk_298: 161.20, phase: "liquid" },
HeatCapacity { formula: "CHCl3", cp_j_molk_298: 114.25, cv_j_molk_298: 96.000, phase: "liquid" },
HeatCapacity { formula: "CH2Cl2", cp_j_molk_298: 100.00, cv_j_molk_298: 82.000, phase: "liquid" },
HeatCapacity { formula: "CCl4", cp_j_molk_298: 132.59, cv_j_molk_298: 113.50, phase: "liquid" },
HeatCapacity { formula: "C3H6O", cp_j_molk_298: 125.45, cv_j_molk_298: 107.20, phase: "liquid" },
HeatCapacity { formula: "Hg", cp_j_molk_298: 27.983, cv_j_molk_298: 24.300, phase: "liquid" },
HeatCapacity { formula: "Fe", cp_j_molk_298: 25.10, cv_j_molk_298: 25.10, phase: "solid" },
HeatCapacity { formula: "Al", cp_j_molk_298: 24.20, cv_j_molk_298: 24.20, phase: "solid" },
HeatCapacity { formula: "Cu", cp_j_molk_298: 24.44, cv_j_molk_298: 24.44, phase: "solid" },
HeatCapacity { formula: "Au", cp_j_molk_298: 25.42, cv_j_molk_298: 25.42, phase: "solid" },
HeatCapacity { formula: "Ag", cp_j_molk_298: 25.35, cv_j_molk_298: 25.35, phase: "solid" },
HeatCapacity { formula: "Ni", cp_j_molk_298: 26.07, cv_j_molk_298: 26.07, phase: "solid" },
HeatCapacity { formula: "Ti", cp_j_molk_298: 25.06, cv_j_molk_298: 25.06, phase: "solid" },
HeatCapacity { formula: "Mg", cp_j_molk_298: 24.87, cv_j_molk_298: 24.87, phase: "solid" },
HeatCapacity { formula: "Zn", cp_j_molk_298: 25.39, cv_j_molk_298: 25.39, phase: "solid" },
HeatCapacity { formula: "Pb", cp_j_molk_298: 26.65, cv_j_molk_298: 26.65, phase: "solid" },
HeatCapacity { formula: "C", cp_j_molk_298: 8.517, cv_j_molk_298: 8.517, phase: "solid" },
HeatCapacity { formula: "Si", cp_j_molk_298: 19.789, cv_j_molk_298: 19.789, phase: "solid" },
HeatCapacity { formula: "SiO2", cp_j_molk_298: 44.43, cv_j_molk_298: 44.43, phase: "solid" },
HeatCapacity { formula: "Al2O3", cp_j_molk_298: 79.04, cv_j_molk_298: 79.04, phase: "solid" },
HeatCapacity { formula: "Fe2O3", cp_j_molk_298: 103.85, cv_j_molk_298: 103.85, phase: "solid" },
HeatCapacity { formula: "CaCO3", cp_j_molk_298: 83.47, cv_j_molk_298: 83.47, phase: "solid" },
HeatCapacity { formula: "NaCl", cp_j_molk_298: 50.50, cv_j_molk_298: 50.50, phase: "solid" },
HeatCapacity { formula: "MgO", cp_j_molk_298: 37.03, cv_j_molk_298: 37.03, phase: "solid" },
HeatCapacity { formula: "TiO2", cp_j_molk_298: 55.06, cv_j_molk_298: 55.06, phase: "solid" },
HeatCapacity { formula: "Ni", cp_j_molk_298: 26.07, cv_j_molk_298: 26.07, phase: "solid" },
HeatCapacity { formula: "W", cp_j_molk_298: 24.27, cv_j_molk_298: 24.27, phase: "solid" },
HeatCapacity { formula: "Mo", cp_j_molk_298: 24.06, cv_j_molk_298: 24.06, phase: "solid" },
HeatCapacity { formula: "Pt", cp_j_molk_298: 25.86, cv_j_molk_298: 25.86, phase: "solid" },
HeatCapacity { formula: "Sn", cp_j_molk_298: 27.11, cv_j_molk_298: 27.11, phase: "solid" },
HeatCapacity { formula: "Cr", cp_j_molk_298: 23.35, cv_j_molk_298: 23.35, phase: "solid" },
HeatCapacity { formula: "Mn", cp_j_molk_298: 26.32, cv_j_molk_298: 26.32, phase: "solid" },
HeatCapacity { formula: "Co", cp_j_molk_298: 24.81, cv_j_molk_298: 24.81, phase: "solid" },
HeatCapacity { formula: "U", cp_j_molk_298: 27.665, cv_j_molk_298: 27.665, phase: "solid" },
HeatCapacity { formula: "Li", cp_j_molk_298: 24.860, cv_j_molk_298: 24.860, phase: "solid" },
HeatCapacity { formula: "Na", cp_j_molk_298: 28.230, cv_j_molk_298: 28.230, phase: "solid" },
HeatCapacity { formula: "K", cp_j_molk_298: 29.600, cv_j_molk_298: 29.600, phase: "solid" },
HeatCapacity { formula: "Ca", cp_j_molk_298: 25.929, cv_j_molk_298: 25.929, phase: "solid" },
HeatCapacity { formula: "S", cp_j_molk_298: 22.75, cv_j_molk_298: 22.75, phase: "solid" },
HeatCapacity { formula: "P", cp_j_molk_298: 23.84, cv_j_molk_298: 23.84, phase: "solid" },
HeatCapacity { formula: "I2", cp_j_molk_298: 54.44, cv_j_molk_298: 54.44, phase: "solid" },
HeatCapacity { formula: "KCl", cp_j_molk_298: 51.30, cv_j_molk_298: 51.30, phase: "solid" },
HeatCapacity { formula: "CaF2", cp_j_molk_298: 67.03, cv_j_molk_298: 67.03, phase: "solid" },
HeatCapacity { formula: "ZnO", cp_j_molk_298: 40.30, cv_j_molk_298: 40.30, phase: "solid" },
HeatCapacity { formula: "CuO", cp_j_molk_298: 42.30, cv_j_molk_298: 42.30, phase: "solid" },
HeatCapacity { formula: "Br2", cp_j_molk_298: 36.05, cv_j_molk_298: 27.74, phase: "gas" },
HeatCapacity { formula: "I2", cp_j_molk_298: 36.90, cv_j_molk_298: 28.59, phase: "gas" },
HeatCapacity { formula: "HCl", cp_j_molk_298: 29.14, cv_j_molk_298: 20.83, phase: "gas" },
HeatCapacity { formula: "HF", cp_j_molk_298: 29.13, cv_j_molk_298: 20.82, phase: "gas" },
HeatCapacity { formula: "HBr", cp_j_molk_298: 29.14, cv_j_molk_298: 20.83, phase: "gas" },
HeatCapacity { formula: "HI", cp_j_molk_298: 29.16, cv_j_molk_298: 20.85, phase: "gas" },
HeatCapacity { formula: "HCN", cp_j_molk_298: 35.86, cv_j_molk_298: 27.55, phase: "gas" },
HeatCapacity { formula: "CS2", cp_j_molk_298: 45.40, cv_j_molk_298: 37.09, phase: "gas" },
HeatCapacity { formula: "CH2O", cp_j_molk_298: 35.39, cv_j_molk_298: 27.08, phase: "gas" },
HeatCapacity { formula: "CF4", cp_j_molk_298: 61.05, cv_j_molk_298: 52.74, phase: "gas" },
HeatCapacity { formula: "CH3OH", cp_j_molk_298: 43.89, cv_j_molk_298: 35.58, phase: "gas" },
HeatCapacity { formula: "C2H5OH", cp_j_molk_298: 65.44, cv_j_molk_298: 57.13, phase: "gas" },
HeatCapacity { formula: "C5H12", cp_j_molk_298: 120.20, cv_j_molk_298: 111.89, phase: "gas" },
HeatCapacity { formula: "C6H14", cp_j_molk_298: 143.10, cv_j_molk_298: 134.79, phase: "gas" },
HeatCapacity { formula: "C7H16", cp_j_molk_298: 165.20, cv_j_molk_298: 156.89, phase: "gas" },
HeatCapacity { formula: "C8H18", cp_j_molk_298: 188.87, cv_j_molk_298: 180.56, phase: "gas" },
HeatCapacity { formula: "C6H6", cp_j_molk_298: 82.44, cv_j_molk_298: 74.13, phase: "gas" },
HeatCapacity { formula: "C7H8", cp_j_molk_298: 103.64, cv_j_molk_298: 95.33, phase: "gas" },
HeatCapacity { formula: "PH3", cp_j_molk_298: 37.11, cv_j_molk_298: 28.80, phase: "gas" },
HeatCapacity { formula: "SiH4", cp_j_molk_298: 42.84, cv_j_molk_298: 34.53, phase: "gas" },
HeatCapacity { formula: "BF3", cp_j_molk_298: 50.46, cv_j_molk_298: 42.15, phase: "gas" },
HeatCapacity { formula: "C5H12", cp_j_molk_298: 167.20, cv_j_molk_298: 167.20, phase: "liquid" },
HeatCapacity { formula: "C6H14", cp_j_molk_298: 195.61, cv_j_molk_298: 195.61, phase: "liquid" },
HeatCapacity { formula: "C7H16", cp_j_molk_298: 224.64, cv_j_molk_298: 224.64, phase: "liquid" },
HeatCapacity { formula: "C8H18", cp_j_molk_298: 254.77, cv_j_molk_298: 254.77, phase: "liquid" },
HeatCapacity { formula: "Br2", cp_j_molk_298: 75.69, cv_j_molk_298: 75.69, phase: "liquid" },
HeatCapacity { formula: "CS2", cp_j_molk_298: 76.41, cv_j_molk_298: 76.41, phase: "liquid" },
HeatCapacity { formula: "C2H4O2", cp_j_molk_298: 123.10, cv_j_molk_298: 123.10, phase: "liquid" },
HeatCapacity { formula: "CH2FCF3", cp_j_molk_298: 85.40, cv_j_molk_298: 77.09, phase: "gas" },
HeatCapacity { formula: "R410A", cp_j_molk_298: 56.80, cv_j_molk_298: 49.10, phase: "gas" },
HeatCapacity { formula: "CH2F2", cp_j_molk_298: 44.42, cv_j_molk_298: 36.10, phase: "gas" },
HeatCapacity { formula: "C2HF5", cp_j_molk_298: 95.65, cv_j_molk_298: 87.34, phase: "gas" },
HeatCapacity { formula: "C3H2F4", cp_j_molk_298: 107.76, cv_j_molk_298: 99.45, phase: "gas" },
];
pub fn by_formula(formula: &str) -> Option<&'static HeatCapacity> {
TABLE.iter().find(|h| h.formula == formula)
}
pub fn by_formula_phase(formula: &str, phase: &str) -> Option<&'static HeatCapacity> {
TABLE.iter().find(|h| h.formula == formula && h.phase == phase)
}