#[derive(Debug, Clone, Copy)]
pub struct CriticalPoint {
pub formula: &'static str,
pub tc_k: f64,
pub pc_pa: f64,
pub vc_m3_per_mol: f64,
pub acentric_factor: f64,
pub zc: f64,
}
pub const TABLE: &[CriticalPoint] = &[
CriticalPoint { formula: "H2", tc_k: 33.18, pc_pa: 1.313e6, vc_m3_per_mol: 6.42e-5, acentric_factor: -0.220, zc: 0.305 },
CriticalPoint { formula: "He", tc_k: 5.19, pc_pa: 0.227e6, vc_m3_per_mol: 5.74e-5, acentric_factor: -0.390, zc: 0.301 },
CriticalPoint { formula: "Ne", tc_k: 44.40, pc_pa: 2.760e6, vc_m3_per_mol: 4.16e-5, acentric_factor: -0.041, zc: 0.311 },
CriticalPoint { formula: "Ar", tc_k: 150.86, pc_pa: 4.898e6, vc_m3_per_mol: 7.46e-5, acentric_factor: -0.002, zc: 0.291 },
CriticalPoint { formula: "Kr", tc_k: 209.40, pc_pa: 5.500e6, vc_m3_per_mol: 9.12e-5, acentric_factor: 0.005, zc: 0.288 },
CriticalPoint { formula: "Xe", tc_k: 289.74, pc_pa: 5.840e6, vc_m3_per_mol: 1.180e-4, acentric_factor: 0.008, zc: 0.286 },
CriticalPoint { formula: "N2", tc_k: 126.20, pc_pa: 3.390e6, vc_m3_per_mol: 8.95e-5, acentric_factor: 0.039, zc: 0.289 },
CriticalPoint { formula: "O2", tc_k: 154.58, pc_pa: 5.043e6, vc_m3_per_mol: 7.34e-5, acentric_factor: 0.022, zc: 0.288 },
CriticalPoint { formula: "Cl2", tc_k: 416.90, pc_pa: 7.991e6, vc_m3_per_mol: 1.230e-4, acentric_factor: 0.090, zc: 0.275 },
CriticalPoint { formula: "F2", tc_k: 144.30, pc_pa: 5.215e6, vc_m3_per_mol: 6.60e-5, acentric_factor: 0.054, zc: 0.288 },
CriticalPoint { formula: "Br2", tc_k: 588.00, pc_pa: 1.034e7, vc_m3_per_mol: 1.350e-4, acentric_factor: 0.132, zc: 0.286 },
CriticalPoint { formula: "AIR", tc_k: 132.45, pc_pa: 3.774e6, vc_m3_per_mol: 8.48e-5, acentric_factor: 0.035, zc: 0.291 },
CriticalPoint { formula: "CO", tc_k: 132.92, pc_pa: 3.499e6, vc_m3_per_mol: 9.31e-5, acentric_factor: 0.066, zc: 0.295 },
CriticalPoint { formula: "CO2", tc_k: 304.13, pc_pa: 7.377e6, vc_m3_per_mol: 9.40e-5, acentric_factor: 0.225, zc: 0.274 },
CriticalPoint { formula: "H2O", tc_k: 647.10, pc_pa: 22.064e6, vc_m3_per_mol: 5.59e-5, acentric_factor: 0.345, zc: 0.229 },
CriticalPoint { formula: "H2O2", tc_k: 728.00, pc_pa: 2.092e7, vc_m3_per_mol: 7.79e-5, acentric_factor: 0.358, zc: 0.268 },
CriticalPoint { formula: "NH3", tc_k: 405.50, pc_pa: 11.350e6, vc_m3_per_mol: 7.25e-5, acentric_factor: 0.250, zc: 0.244 },
CriticalPoint { formula: "H2S", tc_k: 373.40, pc_pa: 8.963e6, vc_m3_per_mol: 9.85e-5, acentric_factor: 0.090, zc: 0.284 },
CriticalPoint { formula: "SO2", tc_k: 430.80, pc_pa: 7.884e6, vc_m3_per_mol: 1.220e-4, acentric_factor: 0.245, zc: 0.269 },
CriticalPoint { formula: "SO3", tc_k: 491.00, pc_pa: 8.200e6, vc_m3_per_mol: 1.270e-4, acentric_factor: 0.422, zc: 0.255 },
CriticalPoint { formula: "NO", tc_k: 180.00, pc_pa: 6.480e6, vc_m3_per_mol: 5.78e-5, acentric_factor: 0.583, zc: 0.250 },
CriticalPoint { formula: "NO2", tc_k: 431.40, pc_pa: 1.013e7, vc_m3_per_mol: 1.700e-4, acentric_factor: 0.834, zc: 0.480 },
CriticalPoint { formula: "N2O", tc_k: 309.60, pc_pa: 7.245e6, vc_m3_per_mol: 9.74e-5, acentric_factor: 0.165, zc: 0.274 },
CriticalPoint { formula: "SF6", tc_k: 318.69, pc_pa: 3.760e6, vc_m3_per_mol: 1.985e-4, acentric_factor: 0.215, zc: 0.282 },
CriticalPoint { formula: "HCl", tc_k: 324.65, pc_pa: 8.310e6, vc_m3_per_mol: 8.10e-5, acentric_factor: 0.133, zc: 0.249 },
CriticalPoint { formula: "HF", tc_k: 461.00, pc_pa: 6.480e6, vc_m3_per_mol: 6.90e-5, acentric_factor: 0.382, zc: 0.117 },
CriticalPoint { formula: "HBr", tc_k: 363.15, pc_pa: 8.551e6, vc_m3_per_mol: 1.000e-4, acentric_factor: 0.063, zc: 0.283 },
CriticalPoint { formula: "HI", tc_k: 423.95, pc_pa: 8.314e6, vc_m3_per_mol: 1.310e-4, acentric_factor: 0.038, zc: 0.310 },
CriticalPoint { formula: "HCN", tc_k: 456.65, pc_pa: 5.390e6, vc_m3_per_mol: 1.390e-4, acentric_factor: 0.407, zc: 0.197 },
CriticalPoint { formula: "CS2", tc_k: 552.00, pc_pa: 7.900e6, vc_m3_per_mol: 1.730e-4, acentric_factor: 0.111, zc: 0.293 },
CriticalPoint { formula: "Hg", tc_k: 1750.00, pc_pa: 1.720e8, vc_m3_per_mol: 4.30e-5, acentric_factor: -0.166, zc: 0.510 },
CriticalPoint { formula: "CH4", tc_k: 190.56, pc_pa: 4.599e6, vc_m3_per_mol: 9.86e-5, acentric_factor: 0.011, zc: 0.286 },
CriticalPoint { formula: "C2H2", tc_k: 308.30, pc_pa: 6.139e6, vc_m3_per_mol: 1.130e-4, acentric_factor: 0.187, zc: 0.271 },
CriticalPoint { formula: "C2H4", tc_k: 282.34, pc_pa: 5.041e6, vc_m3_per_mol: 1.310e-4, acentric_factor: 0.087, zc: 0.281 },
CriticalPoint { formula: "C2H6", tc_k: 305.32, pc_pa: 4.872e6, vc_m3_per_mol: 1.456e-4, acentric_factor: 0.099, zc: 0.279 },
CriticalPoint { formula: "C3H6", tc_k: 365.00, pc_pa: 4.580e6, vc_m3_per_mol: 1.810e-4, acentric_factor: 0.142, zc: 0.275 },
CriticalPoint { formula: "C3H8", tc_k: 369.83, pc_pa: 4.248e6, vc_m3_per_mol: 2.000e-4, acentric_factor: 0.152, zc: 0.276 },
CriticalPoint { formula: "C4H10", tc_k: 425.12, pc_pa: 3.796e6, vc_m3_per_mol: 2.550e-4, acentric_factor: 0.200, zc: 0.274 },
CriticalPoint { formula: "C4H8", tc_k: 419.50, pc_pa: 4.020e6, vc_m3_per_mol: 2.400e-4, acentric_factor: 0.194, zc: 0.277 },
CriticalPoint { formula: "C5H12", tc_k: 469.70, pc_pa: 3.370e6, vc_m3_per_mol: 3.110e-4, acentric_factor: 0.252, zc: 0.270 },
CriticalPoint { formula: "C6H14", tc_k: 507.60, pc_pa: 3.025e6, vc_m3_per_mol: 3.710e-4, acentric_factor: 0.301, zc: 0.266 },
CriticalPoint { formula: "C7H16", tc_k: 540.20, pc_pa: 2.740e6, vc_m3_per_mol: 4.280e-4, acentric_factor: 0.350, zc: 0.261 },
CriticalPoint { formula: "C8H18", tc_k: 568.70, pc_pa: 2.490e6, vc_m3_per_mol: 4.860e-4, acentric_factor: 0.399, zc: 0.256 },
CriticalPoint { formula: "C6H6", tc_k: 562.05, pc_pa: 4.895e6, vc_m3_per_mol: 2.560e-4, acentric_factor: 0.212, zc: 0.268 },
CriticalPoint { formula: "C7H8", tc_k: 591.75, pc_pa: 4.108e6, vc_m3_per_mol: 3.160e-4, acentric_factor: 0.263, zc: 0.264 },
CriticalPoint { formula: "C8H10", tc_k: 617.15, pc_pa: 3.541e6, vc_m3_per_mol: 3.690e-4, acentric_factor: 0.302, zc: 0.259 },
CriticalPoint { formula: "CH3OH", tc_k: 512.50, pc_pa: 8.084e6, vc_m3_per_mol: 1.170e-4, acentric_factor: 0.566, zc: 0.222 },
CriticalPoint { formula: "C2H5OH", tc_k: 514.00, pc_pa: 6.137e6, vc_m3_per_mol: 1.680e-4, acentric_factor: 0.644, zc: 0.241 },
CriticalPoint { formula: "C3H6O", tc_k: 508.10, pc_pa: 4.700e6, vc_m3_per_mol: 2.090e-4, acentric_factor: 0.307, zc: 0.233 },
CriticalPoint { formula: "CHCl3", tc_k: 536.40, pc_pa: 5.472e6, vc_m3_per_mol: 2.390e-4, acentric_factor: 0.218, zc: 0.293 },
CriticalPoint { formula: "CCl4", tc_k: 556.40, pc_pa: 4.560e6, vc_m3_per_mol: 2.760e-4, acentric_factor: 0.193, zc: 0.272 },
CriticalPoint { formula: "CF4", tc_k: 227.51, pc_pa: 3.750e6, vc_m3_per_mol: 1.400e-4, acentric_factor: 0.186, zc: 0.277 },
];
pub fn by_formula(formula: &str) -> Option<&'static CriticalPoint> {
TABLE.iter().find(|c| c.formula == formula)
}