A tool for modelling unstable dark matter particles

Download Project


Last semester, in my Phys117 (Prosjektoppgave i Fysikk) project, my project had the aim to explore one particular candidate for DM, which happened to be an unstable particle with mass 100 Gev/c^2, decaying into one neutrino and one photon, each with an energy of 50 Gev. This was done by integrating over the galactic density profile, and applying a simple decay model to estimate the photon flux observed on earth. This theoretical photon flux was then compared to observed photon flux at the same energies, and the lifetime of the DM-particles were adjusted to fit the observations.

However, I was having a really hard time trying to figure out how to calculate the integral over the density profile, as I hadn't really dealt with double integrals and numeric integration too much from before. As a result, I only did a line integral over one sightline, and not a double integral over a segment of the galactic disc. While sufficient for providing an estimate for that project, it was not satisfactory for me to know that I had butchered parts of the project. While doing research for the project, I realized that a lot of physicists used UNIX systems running root to do these calculations, and I attempted to run some existing programs unsuccessfully. I don't really like to leave things behind half finished or unsatisfactory, so making sure I could do the project justice with a proper tool to make models for unstable DM became my goal for this project.

What does the program do?

The program can be instructed to simulate virtually any galaxy and any mass particle that decays into a photon of any energy, given that the mass density profiles accurately describe the massdistribution of the DM in the galaxy. Additionally, it integrates over the arc-section of the galactic disc representing a certain LOS, not just one line-integral.Further, the program can integrate over 2pi, getting all the DM in the galaxy, or just a small segment of it. It can also calculate the photon flux from far away.Although this is in no way a program that can compete with the already existing programs out there doing similar things, it is a simple way to play withdifferent models for unstable dark matter particles, their photon flux and their lifetime. It can also be used to play with the different density profiles NFW and Einasto.

Similar to the previous investigation, it ultimately calculates the photon flux and adjusts the lifetime of an unstable DM particle x, so that it fits with the existing data (referred to as EGRET LINE). The program has the corresponding EGRET line energy stored in a function defined for energies 0.5·10^4-10^8keV, which is also the accepted energy range for the photon energy input. It will then find the matching lifetime that corresponds to the EGRET energy at that photon flux calculation.


Data from observed photon flux

As of right now, the program only compares the theoretical calculations from the mass density profiles with the EGRET data with its limited energy range. This observation is specific to the earth, and the milkyway, so it pretty much limits the lifetime estimate to only be valid for calculations made on the milkyway with data from th earth. While the mass density profiles can be modified to fit pretty much any galaxy, the resulting fitting of the theoretical model with the observations are limited to only the specific case already mention. However, the functionality which calculated photon flux and plots mass density profiles etc are still valid for cases different than the earth-milkyway case.


The program says nothing about uncertainty and error, mainly because it is a speculative tool in nature. It makes little sense to say something about certainty about a model, when we don't even know if the particle in question exists or not. This is just a tool to explore a theoretical model, and nothing else.


Input parameters from a text file

The input parameters are read from a text file, as it is rather tedious to adjust 11 parameters every time you want to run the program. In the readme they are described in more detail.


The program will generate a graphic representation of the geometry of the system, showing the circle segment where the line of sight integral is evaluated, and the distance between the observer and the galactic centre.

Customize the density profile of the galactic halo

The program current supports both the NFW-profile:

and the Einasto-profile:

and will do all the calculations for both of them. The NFW-profile can be adjusted with two parameters, while the Einasto-profile also has the alpha shape variable. For some applications one profile is used, while other times the other one is used, so I figured I'd add them both.:

From the perspective of the observer however, the density along a sightline l is dependent on the angle, or what part of the nightsky is observed. It is simplified as a flat disc, and each sighline around 2pi is shown:

The peak is at the galactic centre 8.5 kpc away from the observer. In this example, the shape parameter alpha is set to a value where it is similar to the NFW profile, so not much difference in these two surfaces. However, it can be changed quite dramatically and show very different results.

Change the mass, "guess"-lifetime and decay-photon energy for the DM-particle.

While the default parameters describe the scenario with an estimated guess lifetime of 10^26 seconds, a mass m_x=100Gev/c^2 decaying into a photon with energy E=50GeV, these parameters can be changed to explore different parameters. There is no upper or lower boundry on the mass or lifetime, however the lifetime adjustment based on comparison with observed data is limited, as alrady mentioned, to the EGRET data from 0.5·10^4 to 10^8keV.


This program takes input from a text file, and simulates a galactic dark matter disc based on the input parameters. From the resulting density profile, a line of sight integral of the theoretical observed photon flux from the decaying dark matter particle described in the input parameters is calculated, and compared to real observations. Then, the lifetime of the particle is adjusted to match the observed photon flux.

The program is a tool for exploring different scenarios, and trying to get an understanding of unstable DM-particle models. However, this is a very simplified program, and other programs exist that do much better and more accurate simulations and calculations, taking into account the complexity of particle decay and and dark matter distribution beyond the models used here.

Download Project