Skip to main content

Vector space integration for dark matter direct detection

Project description

vsdm

By Benjamin Lillard

Vector space dark matter rate calculation

arXiv arXiv

DESCRIPTION:

VSDM is the Python implementation of the wavelet-harmonic integration method, designed for the efficient calculation of dark matter direct detection scattering rates in anisotropic detectors, and for arbitrary dark matter velocity distributions. Each input function is projected onto a basis of orthogonal functions (spherical harmonics and wavelets), so that the scattering rate calculation becomes a linear operation on the vector space representations of the functions. This method is introduced in arXiv:2310.01480, with the relevant details worked out in arXiv:2310.01483.

Version 0.3 of this code introduces an adaptive integration method for projecting 3d functions onto the wavelet-harmonic basis, based on the "wavelet extrapolation" identified in arXiv:2310.01483. The new AdaptiveFn and WaveletFnlm routines use a polynomial approximation (at linear, cubic, or 7th order) to predict the next generation of wavelet coefficients. In the "refining" stage of the calculation, WaveletFnlm selectively evaluates additional wavelet coefficients until the predictions from the local polynomial expansions match the results from numerical integration everywhere in the space, within some specified precision goal.

The spherical harmonic functions are also improved in this version. The new normalized associated Legendre function in utilities.py uses just-in-time compilation and an iterative numerical method to gain a factor of 20-25 in speed compared to v0.1, while permitting precise calculations at much larger values of (l, m). Accuracy has been verified out to $\ell = 1800$, where the absolute accuracy on $P_\ell^m(x)$ is better than $10^{-10}$ for all $m$ and $x$.

Version 0.4 adds support for velocity-dependent cross sections, of the form $\sigma(q, v) = \sigma_0 (q/q_r)^a (v / v_r)^b$ for arbitrary powers $a$ and $b$. The reference momentum $q_r$ and velocity $v_r$ are defined in units.py as q0_fdm and v0_fdm, respectively, with default values $q_r = \alpha m_e c$ and $v_r = c$.

A few explanatory notebooks are included in the 'tools' directory:

  • Calculating Coefficients: demonstrates how to calculate the wavelet-harmonic coefficients using the Fnlm and EvaluateFnlm classes, and how to import saved coefficients from a csv file.
  • Rate Calculation: provides a few examples of how to perform the rate calculation for arbitrary detector orientations with respect to the dark matter velocity distribution.
  • Wigner D and G: a brief introduction to the Wigner $D^{(\ell)}$ and $G^{(\ell)}$ matrices, which encode the action of rotations on complex or real spherical harmonics (respectively).

The 'tools' directory also includes three sample Python codes:

  • demo_fs2.py: uses the WaveletFnlm method to calculate batches of wavelet-harmonic coefficients $\langle f_s^2 | n \ell m \rangle$, for the particle-in-a-box momentum form factors $f_s^2({q})$ used in the demonstration notebooks and arXiv:2310.01483.
  • demo_gX.py: calculates $\langle g_\chi | n \ell m \rangle$ for a velocity distribution example $g_\chi({v})$, defined as the sum of four Gaussians with different average velocities and dispersions. This is the velocity distribution used in "Calculating Coefficients" and "Rate Calculation".
  • SHM_gX.py: this tool calculates the wavelet-harmonic expansion for the Standard Halo Model (SHM) velocity distribution, as a function of galactic frame Earth velocity, using the adaptive WaveletFnlm method.

Four CSV files are included in the 'demo' directory:

  • 'demo_fs2.csv' and 'demo_fs2_alt.csv', with the values of $\langle f_s^2 | n \ell m \rangle$ for the ${n} = (1, 1, 2)$ and ${n} = (3, 2, 1)$ excited states, respectively, of the particle-in-a-box model.
  • 'gX_model4.csv': $\langle g_\chi | n \ell m \rangle$ for the four-gaussian velocity distribution.
  • 'SHM_v250.csv': $\langle g_\chi | n \ell m \rangle$ for the Standard Halo Model, with a dark matter wind speed of 250 km/s. The galactic escape velocity and local group circular speed are set to 544 km/s and 238 km/s, respectively.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vsdm-0.4.3.tar.gz (69.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vsdm-0.4.3-py3-none-any.whl (72.7 kB view details)

Uploaded Python 3

File details

Details for the file vsdm-0.4.3.tar.gz.

File metadata

  • Download URL: vsdm-0.4.3.tar.gz
  • Upload date:
  • Size: 69.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for vsdm-0.4.3.tar.gz
Algorithm Hash digest
SHA256 fa5268bb79cf853b761f7308aba529413ceee815afa9490dc3cbb7bcea1d2fe0
MD5 414afa4c1c22718e191322b1435c33c0
BLAKE2b-256 f41e9b66f70493cdee3dc6adcabb3ffd39bb4a081a9ce401e865af0885a6983d

See more details on using hashes here.

File details

Details for the file vsdm-0.4.3-py3-none-any.whl.

File metadata

  • Download URL: vsdm-0.4.3-py3-none-any.whl
  • Upload date:
  • Size: 72.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for vsdm-0.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 977d6fe30af3c58b2e6d6572b5a14ef9623a17ae2cf561540bbbc32cf6ffa4fb
MD5 59523b4e4877fde58b47c1526c567971
BLAKE2b-256 dce352cd806e5ec51a69d2234f9d71f6a57003b12cb1b623646939dc4409919d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page