Dark Matter Particle

Class providing the physical properties of the dark matter particle, primarily its mass (in keV). The particle mass is relevant for warm dark matter (WDM) models for example, where free-streaming suppresses the power spectrum on small scales. Different implementations specify different dark matter candidates such as cold dark matter (CDM), WDM, sterile neutrinos, or axion-like particles.

Default implementation: darkMatterParticleCDM

Methods

massdouble precision

Return the mass of the dark matter particle in units of keV.

darkMatterParticleCDM

Provides a cold dark matter particle with effectively infinite mass and negligible free-streaming length, representing the standard collisionless CDM model in which structure grows hierarchically from small scales upward.

(Default implementation)

darkMatterParticleDecayingDarkMatter

Provides a decaying dark matter particle candidate in which the parent particle decays to a lighter daughter particle plus radiation. The particle is characterized by its [lifetime] in Gyr, the [massSplitting] between parent and daughter, and the [velocityKick] imparted to the daughter particle upon decay.

Methods

  • lifetime — Return the lifetime of the dark matter particle.

  • massSplitting — Return the mass splitting of the decay.

  • velocityKick — Return the velocity kick imparted by the decay.

Parameters

  • [lifetime] (real) — The mean lifetime (in Gyr) of the decaying dark matter particle before it decays into lighter daughter particles, controlling the timescale over which dark matter density is reduced by decay.

  • [massSplitting] (real) — The fractional mass splitting \(\epsilon = \Delta m / m\) between the parent and daughter dark matter particles in the decay, used to compute the velocity kick imparted to the daughter particle.

  • [velocityKick] (real) — The velocity kick (in km/s) imparted to the daughter dark matter particle when the parent decays, which heats and disrupts the dark matter distribution in halos over time.

darkMatterParticleFuzzyDarkMatter

Provides a fuzzy dark matter particle, representing an ultralight axion-like boson whose quantum pressure suppresses structure on small scales. The particle mass in units of \(10^{-22}\) eV is set by [mass], and the fraction of the total dark matter density in this component by [densityFraction].

Methods

  • densityFraction — Return the density fraction of the fuzzy dark matter with respect to the total dark matter density.

Parameters

  • [mass] (real; default 1.0d0) — The mass (in units of \(10^{-22}\) eV) of the fuzzy dark matter particle.

  • [densityFraction] (real; default 1.0d0) — The density fraction of the fuzzy dark matter with respect to the total dark matter density.

darkMatterParticleSelfInteractingDarkMatter

Provides a self-interacting dark matter particle candidate in which dark matter undergoes elastic scattering, modifying halo density profiles on small scales. The elastic self-interaction cross section per unit mass in units of cm\(^2\) g\(^{-1}\) is set by [crossSectionSelfInteraction].

Methods

  • tabulate — Tabulate the virial density contrast as a function of mass and time.

  • restoreTable — Restore a tabulated solution from file.

  • storeTable — Store a tabulated solution to file.

darkMatterParticleSelfInteractingDarkMatterConstant

Provides a selfInteracting dark matter particle.

Methods

  • crossSectionSelfInteraction — Return the self-interaction cross section, \(\sigma\), of the dark matter particle in units of cm\(^2\) g\(^{-1}\).

  • crossSectionSelfInteractionDifferential — Return the differential self-interaction cross section, \(\mathrm{d}\sigma/\mathrm{d}\Omega\), of the dark matter particle in units of cm\(^2\) g\(^{-1}\) ster\(^{-1}\).

  • crossSectionSelfInteractionMomentumTransfer — Return the momentum transfer self-interaction cross section, \(\sigma\), of the dark matter particle in units of cm\(^2\) g\(^{-1}\).

  • crossSectionSelfInteractionViscosity — Return the viscosity self-interaction cross section, \(\sigma\), of the dark matter particle in units of cm\(^2\) g\(^{-1}\).

Parameters

  • [crossSectionSelfInteraction] (real) — The self-interaction cross section in units of cm\(^2\) g\(^{-1}\).

darkMatterParticleSIDMVelocityDependent

Provides a self-interacting dark matter particle with velocity dependent cross section. Specifically:

\[\frac{\mathrm{d}\sigma}{\mathrm{d}\theta} = \frac{1}{2} \sigma_0 \sin\theta \frac{w^4}{[w^2+v^2(1-\cos\theta)/2]^2},\]

where \(w\) is a characteristic velocity.

Note that this form has an analytic solution for the effective cross-section (the integral of the cross-section over the Maxwell-Boltzmann velocity distribution weighted by \(v^5\)—see Yang et al. (2024)) of:

\[\sigma_\mathrm{eff} = - \sigma_0 \frac{w^4}{64 v^6} \left[ 4 v^2 + (4 v^2 + w^2) E_\mathrm{i}\left(-\frac{w^2}{4 v^2}\right) \exp \left(\frac{w^2}{4v^2}\right) \right]\]

It is not implemented here as the generic tabulation approach is computationally faster.

Methods

  • crossSectionSelfInteraction — Return the self-interaction cross section, \(\sigma\), of the dark matter particle in units of cm\(^2\) g\(^{-1}\).

  • crossSectionSelfInteractionDifferential — Return the differential self-interaction cross section, \(\mathrm{d}\sigma/\mathrm{d}\Omega\), of the dark matter particle in units of cm\(^2\) g\(^{-1}\) ster\(^{-1}\).

  • crossSectionSelfInteractionMomentumTransfer — Return the momentum transfer self-interaction cross section, \(\sigma\), of the dark matter particle in units of cm\(^2\) g\(^{-1}\).

  • crossSectionSelfInteractionViscosity — Return the viscosity self-interaction cross section, \(\sigma\), of the dark matter particle in units of cm\(^2\) g\(^{-1}\).

  • velocityCharacteristic — Return the characteristic velocity scale, \(v_\mathrm{c}\), of the velocity-dependent cross section, in units of km s\(^{-1}\).

Parameters

  • [velocityCharacteristic] (real; default 1.0d0) — The characteristic velocity scale, \(v_\mathrm{c}\), above which the self-interaction becomes velocity-suppressed. The total cross section is \(\sigma(v) = \sigma_0 \, v_\mathrm{c}^2/(v_\mathrm{c}^2+v^2)\), which is approximately constant for \(v \ll v_\mathrm{c}\) and falls as \(v^{-2}\) for \(v \gg v_\mathrm{c}\).

  • [sigma0] (real; default 2.4d4) — Below the characteristic velocity the scattering is roughly isotropic with \(\sigma\) \(\approx\) sigma0.

darkMatterParticleWDMThermal

Provides a thermal relic warm dark matter particle whose free-streaming length suppresses small-scale structure formation. The particle mass in keV is set by [mass], and the effective number of relativistic degrees of freedom at freeze-out by [degreesOfFreedomEffective].

Methods

  • degreesOfFreedomEffective — Return the effective number of degrees of freedom of the thermal wark dark matter particle.

  • degreesOfFreedomEffectiveDecoupling — Return the effective number of relativistic degrees of freedom in the universe at the time at which the thermal wark dark matter particle decoupled.

Parameters

  • [mass] (real; default 1.0d0) — The mass (in keV) of the thermal warm dark matter particle, which determines the free-streaming length and the suppression of small-scale structure relative to cold dark matter; smaller masses give stronger suppression.

  • [degreesOfFreedomEffective] (real; default 1.5d0) — The effective number of degrees of freedom for the thermal warm dark matter particle.