Skip to content

Commit 8742863

Browse files
authored
Merge pull request #1 from skumblex/dev
v1.1
2 parents 3c8a04d + e528799 commit 8742863

21 files changed

+873
-3835
lines changed

.gitignore

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
# Database files
2-
*.db*
1+
# Exclude scan results
2+
/plots/data/*
3+
/plots/*.pdf
4+
/plots/*
35

46
# Byte-compiled / optimized / DLL files
57
__pycache__

CHANGELOG

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
v1.1
2+
- For the source terms it is now possible to specify arbitrary monochromatic and continuous contributions, meaning that the latter one is no longer limited to only final-state radiation of photons
3+
- By including additional JIT compilation steps, the runtime without database files was drastically increased (by approximately a factor 15)
4+
- The previously mentioned performance improvements also allowed to drop the large database files alltogether, which results in a better user experience (all database files are now part of the git repo and no additional download is required) and a significantly reduced RAM usage (~900MB -> ~20MB)
5+
- Fixed a bug, which could lead to NaNs when calculating heavily suppressed spectra with E0 >> me2/(22*T)
6+
- Added a unified way to print the final abundances in order to declutter the wrapper scripts. This makes it easier to focus on the actual important parts when learning how to use ACROPOLIS
7+
- Moved from bytecode to simple text files for the remaining database file, as the former leads to unexpected behaviour on some machines
8+
- Added additional info and warning messages for the user's convenience
9+
10+
v1.0
11+
- Initial release

README.md

Lines changed: 71 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,75 @@
11
# ACROPOLIS
22

3-
## A generiC fRamework fOr Photodisintegration Of LIght elementS
3+
**A generiC fRamework fOr Photodisintegration Of LIght elementS**
4+
5+
![Language: Python3](https://img.shields.io/badge/language-Python3-blue.svg?style=flat-square)
6+
![Version: 1.1](https://img.shields.io/badge/current_version-1.1-blue.svg?style=flat-square)
7+
8+
When using this code, please cite the following papers
9+
10+
- https://arxiv.org/abs/2011.06518
11+
- https://arxiv.org/abs/2011.06519
12+
- https://arxiv.org/abs/1808.09324
13+
14+
The most recent version of the manual can always be found on GitHub at manual/manual.pdf. The respective publication on arXiv might be out-of-date, especially when new versions of the code become available.
15+
16+
# Abstract
417

518
The remarkable agreement between observations of the primordial light element abundances and the corresponding theoretical predictions within the standard cosmological history provides a powerful method to constrain physics beyond the standard model of particle physics (BSM). For a given BSM model these primordial element abundances are generally determined by (i) Big Bang Nucleosynthesis and (ii) possible subsequent disintegration processes. The latter potentially change the abundance values due to late-time high-energy injections which may be present in these scenarios. While there are a number of public codes for the first part, no such code is currently available for the second. Here we close this gap and present ACROPOLIS, A generiC fRamework fOr Photodisintegration Of LIght elementS. The widely discussed cases of decays as well as annihilations can be run without prior coding knowledge within example programs. Furthermore, due to its modular structure, ACROPOLIS can easily be extended also to other scenarios.
19+
20+
# Changelog
21+
22+
v1.1
23+
- For the source terms it is now possible to specify arbitrary monochromatic and continuous contributions, meaning that the latter one is no longer limited to only final-state radiation of photons
24+
- By including additional JIT compilation steps, the runtime without database files was drastically increased (by approximately a factor 15)
25+
- The previously mentioned performance improvements also allowed to drop the large database files alltogether, which results in a better user experience (all database files are now part of the git repo and no additional download is required) and a significantly reduced RAM usage (~900MB -> ~20MB)
26+
- Fixed a bug, which could lead to NaNs when calculating heavily suppressed spectra with E0 >> me2/(22*T)
27+
- Added a unified way to print the final abundances in order to declutter the wrapper scripts. This makes it easier to focus on the actual important parts when learning how to use ACROPOLIS
28+
- Moved from bytecode to simple text files for the remaining database file, as the former leads to unexpected behaviour on some machines
29+
- Added additional info and warning messages for the user's convenience
30+
31+
v1.0
32+
- Initial release
33+
34+
# Install the dependencies
35+
36+
ACROPOLIS is written in Python3.7 (remember that Python2 is dead) and depends on the following packages (older versions might work, but have not been thoroughly testes)
37+
38+
- NumPy (> 1.19.1)
39+
- SciPy (>1.5.2)
40+
- Numba (> 0.51.1)
41+
42+
The most recent versions of these packages can be collectively installed at user-level, i.e. without the need for root access, by executing the command
43+
44+
```
45+
python3 -m pip install numpy, scipy, numba --user
46+
```
47+
48+
If these dependencies conflict with those for other programs in your work environment, it is strongly advised to utilise the capabilities of Python's virtual environments.
49+
50+
# Use the example models
51+
52+
Within the ACROPOLIS main directory there are two executables, ``decay`` and ``annihilation``, which wrap the scenarios discussed in section 4.1 and section 4.2 from the manual, respectively. Both of these files need to be called with six command-line arguments each, a list of which can be obtained by running the command of choice without any arguments at all. On that note, the following command runs the process of photodisintegration for an unstable mediator with a mass of 10MeV and a lifetime of 1e5s that decays exclusively into photons and has an abundance of 1e-10 relative to photons at a reference temperature of 10MeV
53+
54+
```
55+
./decay 10 1e5 10 1e-10 0 1
56+
```
57+
58+
On a similar note, the following command runs the process of photodisintegration for residual s-wave annihilations of a dark matter particle with a mass of 10MeV and a cross-section of 10e-25 cm³/s that annihialtes exclusively into photons
59+
60+
```
61+
./annihilation 10 1e-25 0 0 0 1
62+
```
63+
64+
# Supported platforms
65+
66+
ACROPOLIS has been tested on the following platforms (but lets be honest, it should run on every OS with a Python implementation)
67+
68+
| OS | Version | Arch |
69+
| --------------- | :-------: | :----: |
70+
| Ubuntu | 20.04 | x86_64 |
71+
| KDE neon | 5.20 | x86_64 |
72+
| Kali GNU/Linux | 2020.04 | x86_64 |
73+
| macOS | 10.15 | x86_64 |
74+
| Windows 10 | 20H2 | x86_64 |
75+
| Android | 10.0 | arm64 |

acropolis/.hidden

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
__pycache__

0 commit comments

Comments
 (0)