darkmatter 0.0.2

Dark matter simulation engine — gravitational fields, particle dynamics, halo stability, and cosmological constants
Documentation
pub use sciforge::hub::prelude::constants::{CMB_TEMPERATURE, HUBBLE_CONSTANT};

pub const HUBBLE_CONSTANT_KM_S_MPC: f64 = HUBBLE_CONSTANT;

pub const HUBBLE_CONSTANT_SI: f64 = HUBBLE_CONSTANT * 1e3 / super::physical::MPC;

pub const OMEGA_DM: f64 = 0.265;

pub const OMEGA_BARYON: f64 = 0.049;

pub const OMEGA_LAMBDA: f64 = 0.685;

pub const OMEGA_MATTER: f64 = OMEGA_DM + OMEGA_BARYON;

pub const CMB_TEMPERATURE_K: f64 = CMB_TEMPERATURE;

pub const DARK_MATTER_DENSITY_KG_M3: f64 = 2.25e-27;

pub const REDSHIFT_MATTER_RADIATION_EQ: f64 = 3_402.0;

pub const REDSHIFT_RECOMBINATION: f64 = 1_089.0;

pub const AGE_OF_UNIVERSE_S: f64 = 13.787e9 * 365.25 * 86_400.0;

pub fn critical_density(hubble_si: f64) -> f64 {
    3.0 * hubble_si * hubble_si / (8.0 * std::f64::consts::PI * super::physical::G)
}

pub fn dark_matter_fraction() -> f64 {
    OMEGA_DM / OMEGA_MATTER
}

pub fn comoving_distance_approx(redshift: f64) -> f64 {
    super::physical::C * redshift / HUBBLE_CONSTANT_SI
}