Skip to content

Code for evaluating the effect of stellar encounters on the annihilation luminosities of prompt cusps

License

Notifications You must be signed in to change notification settings

jstuecker/cusp-encounters

Repository files navigation

cusp-encounters

Code for evaluating the effect of stellar encounters on prompt cusps. For details please read Stücker et al. (2023).

You can find a explanatory YouTube video here:

Watch the video

Prompt cusps are dark matter haloes which have masses of order earth masses, extents of order 1000 AU (astronomical units) and steep -3/2 powerlaw density profiles. In the central ~2AU there is a finite core with a maximum density due to the primordial velocity dispersion of dark matter. Prompt cusps are expected to be extremely abundant -- e.g. we expect that 10^16 such objects are orbiting inside the Milky Way -- much larger than the number of stars or planets.

When a star closely passes by a prompt cusp, it causes a shock, almost instantaneously modifying the velocities of particles. A typical stellar encounter takes 100-1000 years whereas the orbital time-scales inside the prompt cusp are of order 10k years or much more. This causes many of the particles to escape the system and only a smaller remnant remains.

This code can be used to

  • Create distributions of prompt cusps
  • Integrate their orbits in a Milky Way environment
  • Sample the distribution of shocks from stellar encounters
  • Evaluate the effect of such stellar encounters on the annihilation radiation expected from prompt cusps
  • Generate initial conditions for idealized simulations of prompt cusps

Content:

Getting Started:

Please clone the repository with the option "--recurse-submodules". E.g.

git clone --recurse-submodules https://github.com/jstuecker/cusp-encounters.git

If you forget to add this option when cloning, you can also get the submodules afterwards with

git submodule init
git submodule update

Afterwards you should execute the following short shell script. You may want to check the contents and execute things line by line. If something does not work, some of the comments might help you.

./init.sh

This installs some packages and downloads some precomputed results. In principle you can recompute these results by yourself. However, especially the orbit integration will take a while (~ a few ours on multiple CPUs). If you download the precomputed caches most things can be executed within a couple of minutes.

After reading the paper, I recommend going through the notebooks above, roughly in the order that they are listed.

Requirements:

  • pip The following packages can be installed automatically
  • numpy
  • scipy
  • matplotlib
  • classy
  • h5py
  • gdown (optional)
  • mpi4py (optional)

Acknowledgement:

If you use this code, please cite the paper Stücker et al. (2023). Additionally there are other works used inside of this repository. Therefore, you should cite these as well if you use the corresponding parts of the code:

About

Code for evaluating the effect of stellar encounters on the annihilation luminosities of prompt cusps

Resources

License

Stars

Watchers

Forks

Packages

No packages published