Module for the CRPropa code to calculate the effect of plasma instabilities on the development of electromagnetic cascades. It is described in:
"Simulations of Electromagnetic Cascades in the Intergalactic Medium with Plasma Instabilities: the
grplinstcode"
R. Alves Batista, A. Saveliev
[doi] || [arXiv]
If you make use of grplinst, please consider citing the above paper.
Full, pedagogical documentation is available at rafaelab.github.io/grplinst:
- Getting Started — building and testing.
- Physics Background — blazar cascades, pair beams, and the effective-cooling approximation.
- Models — the implemented prescriptions and their cooling-time formulae.
- Usage — Python and C++ integration.
- API Reference — classes, methods, and units.
This code was designed to study the effects of plasma instabilities on the development of blazar-induced gamma-ray cascades in the intergalactic medium.
It provides approximate descriptions for some plasma-instability models found in the literature. They are modelled as a cooling term for electrons/positrons. Note that this is a very rough approximation and a detailed calculation would require particle-in-cell (PIC) simulations.
To install grplinst you need CRPropa 3 installed. Go to https://github.com/CRPropa/CRPropa3/ and follow the instructions.
Then install this module:
-
Download the latest version of the code:
git clone https://github.com/rafaelab/grplinst.git cd grplinst -
Configure and build with CMake:
cmake -S . -B build cmake --build build --parallel 4If you do not have CRPropa installed, you can let CMake fetch and build it for you by adding
-DUSE_OWN_CRPROPA=Onto the first command. -
If the code compiled, you are ready to go. Make sure the build directory (where the
grplinstPython module is created) is on yourPYTHONPATH, or add it tosys.pathin your script.
See the Getting Started page for build options, dependencies, and how to run the tests.
This program is provided 'as is', without warranties of any kind. Please use your discernment to interpret the results obtained with it.
We thank Michael Kachelrieß and Jacob Benestad for providing feedback that led us to finding a few bugs.