darkmatter 0.0.1

Dark matter simulation engine — gravitational fields, particle dynamics, halo stability, and cosmological constants
Documentation
use darkmatter::physics::sommerfeld::{
    boost_factor_cluster, boost_factor_dwarf, effective_cross_section, freeze_out_boost,
    saturation_velocity, sommerfeld_coulomb, sommerfeld_p_wave, sommerfeld_yukawa_resonant,
    sommerfeld_yukawa_s_wave, thermal_average_sommerfeld_coulomb, unitarity_bound,
    velocity_weighted_sigma_v,
};

fn main() {
    let alpha = 0.01;
    let v = 1e-3;

    let s_c = sommerfeld_coulomb(alpha, v);
    let s_yk = sommerfeld_yukawa_s_wave(alpha, 100.0, 1.0, v);
    let s_res = sommerfeld_yukawa_resonant(alpha, 100.0, 0.1, v, 1);
    let s_p = sommerfeld_p_wave(alpha, v);

    let ub = unitarity_bound(100.0, v);
    let sigma = effective_cross_section(1e-36, alpha, 200.0);
    let s_thermal = thermal_average_sommerfeld_coulomb(alpha, 25.0);
    let boost = freeze_out_boost(alpha, 100.0, 4.0);
    let sv = velocity_weighted_sigma_v(3e-26, alpha, 10.0);
    let b_dwarf = boost_factor_dwarf(alpha, 10.0);
    let b_cluster = boost_factor_cluster(alpha, 1000.0);
    let v_sat = saturation_velocity(alpha, 100.0, 1.0);

    let total = s_c
        + s_yk
        + s_res
        + s_p
        + ub
        + sigma
        + s_thermal
        + boost
        + sv
        + b_dwarf
        + b_cluster
        + v_sat;
    assert!(total.is_finite());
}