Skip to content

DM-Colgate/evaporation

Repository files navigation

NOTE: This research is still in progress, code is stll under development, and any plots, results or data are preliminary.

Background

Documentation

Dependencies

  • py_mesa_reader
    • To install, simply clone the repo (https://github.com/wmwolf/py_mesa_reader), move into the clone (cd py_mesa_reader), and run: pip install ..
  • scipy
    • To install run: pip install scipy.
  • matplotlib
    • To install run: pip install matplotlib.

ref.ipynb

This notebook contains Caleb's evaporation code extracted from the PRD/PRL 2021 repository. This just makes it easy to reference and run without bumping into errors or missing data files.

Usage

Execute from the command line, in the directory that contains MESA log directories like so:

├── DM_evap_MESA.py
└── mesa_1
    ├── history_1.data
    ├── profiles.index
    ├── profile1.index
    ...
    └── profile31.index

Specify the directory using the -D flag, then the index of profile file you wish to use with the -p flag:

./DM_evap_MESA.py -D mesa_1 -p 725 -E.

The CSV files TM4_***.CSV are data files containing DM temperature verus DM mass. These are calculated for the Ilie4 star. The way it is set up now, the program will automatically pick the correct profile based on the profile index pass it. As of now you still have to manually change the TM4 to something else if you wish to calculate for another star.

These indices can be found inside the profiles.index file.

The current command line arguments are:

usage: DM_evap_MESA.py [-h] [-D DIREC] [-p PROFILE] [-T] [-M MESA] [-E] [-P] [-e] [-R R311] [-H]

optional arguments:
  -h, --help            show this help message and exit
  -D DIREC, --direc DIREC
                        directory containing MESA profile and history files
  -p PROFILE, --profile PROFILE
                        index of the profile to use
  -T, --TchiMchi        use MESA data files to solve for DM temperature with Eq. 4.10 from Spergel and Press 1985
  -M MESA, --MESA MESA  mass of DM in GeV to use, plot stellar params from MESA
  -E, --Evap            calculate and plot DM evaporation rate using MESA data files
  -P POLY, --poly POLY  calc the evap polytrope, give the CSV file holding the tau vs. mu data for an N=3 polytrope
  -S STAR, --star STAR  100, 300, or 1000
  -e, --evapcsv         plot DM evaporation rate using previously calculated csv file
  -R R311, --R311 R311  mass of DM in GeV to use, plot Goulde Eq. 3.11
  -H, --heatmap         plot heatmaps for alpha, beta, and gamma

These can be printed with ./DM_evap_MESA.py -h.

Issues/To Do

  • Precision issues in scipy quad integrals?
  • Automate plotting multiple models and/or multiple stars.

quad error

IntegrationWarning: The maximum number of subdivisions (50) has been achieved. If increasing the limit yields no improvement it is advised to analyze the integrand in order to determine the difficulties. If the position of a local difficulty can be determined (singularity, discontinuity) one will probably gain from splitting up the interval and calling the integrator on the subranges. Perhaps a special-purpose integrator should be used.
IntegrationWarning: The occurrence of roundoff error is detected, which prevents the requested tolerance from being achieved. The error may be underestimated.

ZAMS

The closest profiles to zero age main sequence are

4 -> 725
5 -> 400
6 -> 400

About

using MESA to estimate the rate at which captured dark matter in stars evaporates

Resources

Stars

Watchers

Forks

Contributors