darkmatter 0.0.1

Dark matter simulation engine — gravitational fields, particle dynamics, halo stability, and cosmological constants
Documentation
use darkmatter::detection::gravitational_waves::{
    characteristic_strain, dynamical_friction_gw_dephasing, graviton_energy,
    gw_energy_density_phase_transition, gw_energy_from_dm_annihilation, gw_spectrum_sound_waves,
    gw_strain_from_dm_halo, inspiral_chirp_mass, inspiral_gw_strain, lisa_sensitivity_strain,
    peak_frequency_phase_transition, quantum_gw_detector_noise_floor, snr_stochastic_background,
};

fn main() {
    let omega = gw_energy_density_phase_transition(0.1, 100.0, 100.0, 100.0);
    let f_peak = peak_frequency_phase_transition(100.0, 100.0, 100.0);
    let sw = gw_spectrum_sound_waves(f_peak, f_peak, omega);

    let dp = dynamical_friction_gw_dephasing(1e6, 10.0, 1e-20, 1e-3, 3.156e7);
    let h_halo = gw_strain_from_dm_halo(1e12, 200.0, 1e-3, 100.0);
    let s_lisa = lisa_sensitivity_strain(1e-3);
    let snr = snr_stochastic_background(1e-10, 1e-4, 1e-1, 3.156e7, 100);

    let e_ann = gw_energy_from_dm_annihilation(3e-26, 0.3, 100.0, 1e-5);
    let hc = characteristic_strain(1e-10, 1e-3);

    let mc = inspiral_chirp_mass(30.0, 30.0);
    let h_insp = inspiral_gw_strain(mc, 100.0, 400.0);

    let e_graviton = graviton_energy(100.0);
    let h_quantum = quantum_gw_detector_noise_floor(100.0, 40.0, 4e6);

    let total = omega
        + f_peak
        + sw
        + dp
        + h_halo
        + s_lisa
        + snr
        + e_ann
        + hc
        + mc
        + h_insp
        + e_graviton
        + h_quantum;
    assert!(total.is_finite());
}