darkmatter 0.0.2

Dark matter simulation engine — gravitational fields, particle dynamics, halo stability, and cosmological constants
Documentation
use darkmatter::cosmology::boltzmann::{
    coannihilation_effective_sigma_v, entropy_injection_ratio, freeze_in_relic_density,
    freeze_out_x_from_solution, relic_density_from_solution, solve_boltzmann_freeze_out,
};

fn main() {
    let m_dm = 100.0;
    let sigma_v = 3e-26;
    let g_dm = 2.0;

    let solution = solve_boltzmann_freeze_out(m_dm, sigma_v, g_dm, 1.0, 50.0, 5000);
    let (x_f, y_f) = solution.last().copied().unwrap();
    let omega_h2 = relic_density_from_solution(y_f, m_dm, x_f);
    let x_fo = freeze_out_x_from_solution(&solution, g_dm, m_dm);

    let sigma_eff = coannihilation_effective_sigma_v(3e-26, 2e-26, 1e-26, 2.0, 2.0, 0.1, 20.0);

    let omega_fi = freeze_in_relic_density(1e-12, 1000.0, 10.0);

    let s_ratio = entropy_injection_ratio(1e4, 1e2);

    let check = omega_h2 + x_fo + sigma_eff + omega_fi + s_ratio + solution.len() as f64;
    assert!(check.is_finite());
}