Skip to main content

Galactic elements Q-Matrix generator

Project description

Build status Documentation Status Coverage status MIT License Intergalactic in PyPi

Intergalactic is a Q-Matrices generator.

Based on explicit values for solar abundances, z and IMF, Intergalactic calculates matrices Q(i,j) of masses of elements i ejected to the galactic medium as element j, for a complete range of stellar masses, accounting for supernovas of types Ia and II. You can read more about the Matrices Q formalism in Ferrini et al. 1992.

Intergalactic computes the contribution matrix of 15 elements:

H D He3 He4 C C13 N O n.r. Ne Mg Si S Ca Fe


The easiest way to install the package is using pip:

$ pip install intergalactic

This will also install some dependencies if they are not found in the system: numpy, scipy and yaml

A previous installation can be upgraded to the latest version with:

$ pip install --upgrade intergalactic


Use intergalactic running:

$ intergalactic --config FILENAME

where FILENAME is the path to the config yaml file.

Running intergalactic will produce a directory with three output files:

  • mass_intervals: all the mass intervals used to integrate for all the mass range
  • imf_supernova_rates: the initial mass functions for the supernova rates for each mass interval
  • qm-matrices: the Q(m) matrices for every mass interval defined in the mass_intervals file

Input params

Intergalactic reads a config file where several options can be set in yaml format:

z: 0.0200               # metallicity
sol_ab: as09            # solar abundances
imf: kroupa             # initial mass function (IMF)
imf_m_low: 0.15         # lower mass limit for the IMF
imf_m_up: 100           # upper mass limit for the IMF
total_time_steps: 300   # number of time steps (will result in a Q Matrix per step)
m_min: 0.98             # min value for stellar mass
m_max: 40               # max value for stellar mass
binary_fraction: 0.15   # rate of binary stars
dtd_sn: rlp             # delay time distribution for supernovas

Intergalactic will use its internal default values for all params for which no values are provided.

If you want to use an existent configuration file as template for your own, you can run:

$ intergalactic --generate-config

That command will create a config-example.yml file in the current dir.

Initial mass function

The imf param in the config file can be set to use any of the predefined IMFs from different papers/authors:

salpeter:Salpeter 1955
starburst:Starburst 1999 (a Salpeter with mass limits in [1, 120])
miller_scalo:Miller & Scalo 1979
ferrini:Ferrini, Palla & Penco 1998
kroupa:Kroupa 2002
chabrier:Chabrier 2003
maschberger:Maschberger 2012

The default value is kroupa. If you want to use your own IMF you can do so subclassing the IMF class.

The IMF will be normalized integrating in the [imf_m_low, imf_m_up] mass interval (default: [0.15, 100], except Starburst: [1, 120]).

Solar abundances

The sol_ab param in the config file can be set to use any of the available abundances datasets from different papers/authors:

ag89:Anders & Grevesse 1989
gs98:Grevesse & Sauval 1998
as05:Asplund et al. 2005
as09:Asplund et al. 2009
he10:Heger 2010

The default value is as09. If you want to use your own abundances data you can do so subclassing the Abundances class.

Delay Time Distributions

The dtd_sn param in the config file can be set to use any of the available Delay Time Distributions for supernova rates from different papers/authors:

rlp:Supernova rates from Ruiz-Lapuente et al. 2000
mdvp:DTD from Mannucci, Della Valle, Panagia 2006
maoz:DTD of Type Ia supernovae from Maoz & Graur (2017)
castrillo:DTD of Type Ia supernovae from Castrillo et al. (2020)

Test suite

Intergalactic includes a test suite located in the /src/intergalactic/tests directory. The current state of the build is publicly tracked by Travis CI. You can run the latest tests locally and get information on code coverage if you clone the code to your local machine, install its development dependencies and use pytest:

$ git clone
$ cd intergalactic
$ pip install -e .[dev]
$ pytest -v --cov=intergalactic


If you want to play with the latest code present in this repository even if it has not been released yet, you can do it by cloning the repo locally and instructing pip to install it:

$ git clone
$ cd intergalactic
$ pip install -e .


Copyright © 2020 Juanjo Bazán, released under the MIT license.


Intergalactic is built upon a long list of previous works from different authors/papers:

  • Ferrini et al.,1992, ApJ, 387, 138
  • Ferrini & Poggiantti, 1993, ApJ, 410, 44F
  • Portinari, Chiosi & Bressan,1998,AA,334,505P
  • Galli et al., 1995, ApJ, 443, 536G
  • Mollá et al., 2015, MNRAS, 451, 3693-3708
  • Iwamoto et al., 1999, ApJS, 125, 439
  • Matteucci & Greggio, 1986, A&A, 154, 279M
  • Mollá et al., 2017, MNRAS, 468, 305-318
  • Gavilan, Mollá & Buell, 2006, A&A, 450, 509
  • Raiteri C.M., Villata M. & Navarro J.F., 1996, A&A 315, 105-115
  • Mannucci, Della Valle, Panagia, 2006, MNRAS, 370, 773M
  • Ruiz-Lapuente, P., Canal, R., 2000,
  • Maoz, D. & Graur, O. 2017, ApJ, 848, 25M
  • Castrillo, A. et al 2020, MNRAS (in preparation)

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for intergalactic, version 1.2.0
Filename, size File type Python version Upload date Hashes
Filename, size intergalactic-1.2.0-py3-none-any.whl (23.8 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size intergalactic-1.2.0.tar.gz (23.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page