Explores the effects of dark matter (DM) on stellar evolution. Includes: (1) a module written to incorporate the effects of DM energy transport into the stellar evolution code MESA (Modules for Experiments in Stellar Astrophysics), and (2) supporting code to facilitate running MESA + DM models. This code was written for MESA version 12115. It is not compatible with more recent MESA versions, mostly due to a change to the star_info
type.
Code used for the paper The Effects of Asymmetric Dark Matter on Stellar Evolution I: Spin-Dependent Scattering (Raen et al., 2021) is in the Raen2020
branch. The paper used MESA version 12115 and MESA SDK version 20190830.
- Install MESA by following the instructions here.
- Clone this repo
git clone https://github.com/troyraen/DM-in-Stars.git
- Change settings in the
inlist
as desired (optional) - Alter DM properties in
inlist_DM
as desired (optional, see below for details) - Run a MESA + DM model using the following:
cd DM-in-Stars
./clean
./mk
./rn
Alternately, if one has existing code running MESA models, this DM module can be incorporated by copying inlist_DM
and the contents of the src
directory from this repo.
The following are accessed through inlist_DM
:
- DM mass (
mxGeV [GeV]
) - DM-proton cross section (
sigmaxp [cm^2]
) - Boost in DM capture rate relative to the solar environment (
cboost
, dimensionless). It encapsulates the environment's DM density and velocity dispersion. This variable is$\Gamma_B$ in the Raen 2020 paper. - Spin dependent or independent scattering (
spindep
, Boolean). Currently, only the spin dependent option is fully functional.
The following is computed (src/DM/DM_module.f90
) for each time step in a MESA run:
- Total number of DM particles captured.
- Number density of DM as a function of distance from the center.
- DM temperature.
- Amount of energy transported as a result of DM-nucleon scattering events, as a function of distance from the center of the star. This quantity is then passed to MESA via the
other_energy_implicit
hook (src/run_star_extras.f
).