maxwell_boltzmann
Module for classes and utilities for the Maxwell-Boltzmann distribution and the velocity (G) integrals
MBDistribution(grid, omega, m_chi, v_e)
Class for truncated Maxwell-Boltzmann distribution
Source code in darkmagic/maxwell_boltzmann.py
16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
v_minus
property
Computes v_minus = min(|v_star|, Vesc) for each (q, omega) pair q: numpy array of shape (n_q, 3), momentum transfer omega: 2D numpy array of shape (n_q, n_modes), eigenmodes m_chi: float, DM mass v_e: vector, lab frame velocity of earth
G0
property
Computes the G0 integral for each (q, omega) pair See Eq. C9 in EFT paper (2009.13534)
G1
property
Computes the g1 integral for each (q, omega) pair. See Eq. C11 in EFT paper (2009.13534). Note that my definition here is slightly different from that equation. See formalism notes.
TODO: update this docstring with all the equations.
The result is a 3D array of shape (n_q, n_modes, 3) (i.e., for each q-point and mode, we get a 3-vector)
This integral is equivalent to
this is defined slightly differently in the original
PhonoDark. Specifically,
where R is a matrix that rotates \hat{q} to lie along the z-axis
G2
property
Computes the g2 integral for each (q, omega) pair. See Eq. C14 in EFT paper (2009.13534). Note that my definition here is slightly different, see the formalism notes.
TODO: update this with all the equations
The result is a 4D array of shape (n_q, n_modes, 3, 3) (i.e., for each q-point and mode, we get a 3x3 matrix)
This suffers from a similar problem to g1, the definition in PhonoDark is quite different from the paper (including the definition of what I call F below) and I don't know how to reconcile them. It also invovles a rotation, like in g1.
F
property
Computes the very last term of Eq. (C14) in the EFT paper (2009.13534) This is the term that multiplies (1 - qhat \otimes qhat) in the g2 integral
X
property
Computes the X vector for each (q, omega) pair
The result is a 3D array of shape (n_q, n_modes, 3)
eye_minus_qhat_qhat
property
Computes the (3x3) matrix (1 - qhat \otimes qhat) for each q-point The result is a 3D array of shape (n_q, 3, 3)