grplinst
grplinst (“group–plasma instabilities”) is an extension for the CRPropa 3 propagation code.
It models the energy losses that plasma instabilities induced by interactions of cascade electron–positron pairs interacting with the intergalactic medium (IGM).
The module supplies:
- a family of
PlasmaInstability*modules that plug straight into a CRPropaModuleList, each implementing a different literature prescription for the instability cooling time; Flowclasses that describe the pair-beam density the cascade drives into the IGM;MediumDensityandMediumTemperatureclasses that describe the ambient plasma;- helper functions such as
plasmaFrequencyandmaximumLinearGrowthFrequency; - full Python bindings through SWIG, so every component can be configured, sub-classed, and combined from Python.
A word of caution. Plasma instabilities in a dilute relativistic pair beam are a genuinely hard kinetic problem.
grplinstdoes not solve it from first principles; it wraps a set of effective cooling prescriptions taken from the literature and lets you compare them within the same cascade simulation. A fully self-consistent treatment requires particle-in-cell (PIC) methods. Please read the Physics Background page before drawing quantitative conclusions.
Where to go next
| Page | What it covers |
|---|---|
| Getting Started | Prerequisites, building against CRPropa, running the tests. |
| Physics Background | Blazar cascades, pair beams, why instabilities matter, the effective-cooling approximation, and its limits. |
| Models | Every implemented prescription, its cooling-time formula, regimes, and inputs. |
| Usage | Python and C++ integration patterns, parameter scans, and custom profiles. |
| API Reference | Class hierarchy, methods, parameters, units, and redshift conventions. |
| References | The method paper (please cite it) and the source of each model. |
A thirty-second example
from crpropa import *
from grplinst import *
# ambient intergalactic medium and pair beam
temperature = MediumTemperatureHomogeneous(1e4) # K
density = MediumDensityHomogeneous(0.1) # m^-3
beam = FlowHomogeneous(1e38, Vector3d(0, 0, 0)) # source luminosity in W
# one instability prescription, ready to drop into a ModuleList
plinst = PlasmaInstabilityBroderick2012(beam, density, temperature)
sim = ModuleList()
sim.add(SimplePropagation(1e-3 * kpc, 10 * Mpc))
sim.add(Redshift())
sim.add(plinst)
A complete, physically meaningful pipeline (with pair production and inverse-Compton scattering) is given on the Usage page and in examples/testPlugin.py.
Citing grplinst
If grplinst contributes to your work, please cite the method paper:
“Simulations of Electromagnetic Cascades in the Intergalactic Medium with Plasma Instabilities: the
grplinstcode”
R. Alves Batista, A. Saveliev
[doi] || [arXiv]
See References for the full bibliography, including the origin of each instability model.