The ‘COncentration-Mass relation and Mass Accretion History’ (COMMAH) code follows the model of Correa et al. (2015c). COMMAH calculates dark matter halo concentrations as a function of halo mass and redshift. It is a semi-analytic model intimately based on hierarchical structure formation. It uses an analytic model for the halo mass accretion history, based on extended Press Schechter (EPS) theory (see Correa et al. 2015a), and an empirical relation between concentration and an appropriate definition of formation time obtained through fits to the results of numerical simulations (see Correa et al. 2015b). The resulting concentration-mass relations are tested against the simulations and do not exhibit an upturn at high masses or high redshifts as claimed by recent works. Because our semi-analytic model is based on EPS theory, it can be applied to wide ranges in mass and redshift as shown in the figure below.
Figure 1. Predicted concentration-mass relation for the WMAP5 cosmology over a wide range of halo masses and redshifts. The solid lines correspond to our c-M model obtained from the halo MAH as described in Section 4 of Correa et al. 2015c. The lines are coloured as a function of redshift as indicated. The dashed lines correspond to power-law fits to the high-mass c−M relation at z = 0, 1, 2 and 3, and are in good agreement with the empirical relation from Duffy et al. (2008) (c = 6.71(M/2×1012h-1 M⨀)−0.091(1+z)−0.44).
Interestingly, it predicts a break in the z=0 concentration-mass (hereafter, c-M) relation at a mass scale of 1011M⨀, which we find to be produced by the varying power in the density perturbations.
COMMAH is available in IDL and python:
Python code was written and is maintained by Alan Duffy.
Download: COMMAH has been included in the pypi python package. To download COMMAH using pip type
pip install commah
In addition, COMMAH is hosted in both BitBucket and github repositories. You can clone any of the repositories by typing
git clone https://bitbucket.org/astroduff/commah
git clone https://github.com/astroduff/commah
Basic usage: COMMAH.py requires the following standard libraries: numpy, scipy and cosmolopy. In the python shell you can begin with the following calling sequence
In : import commah
In : output = commah.run(‘WMAP1’,zi=0.,Mi=1e12,z=[0.0,1.0,1.5,3.0,5.0])
In : output[‘c’]
In : output[‘Mz’]
In : output[‘dMdt’]
In the example above the user input the cosmology WMAP1, the initial redshift zi, the mass at the initial redshift Mi and the output redshift z. After that the user asked for the dark matter halo concentrations at the output redshifts (‘c’), for the halo mass at the output redshifts (‘Mz’) and for the accretion rate at the requested reshifts (‘dMdt’). In addition, the user can also request the rms of the primordial density field σ, the peak height ν, and the formation redshift zf.
The user can also request the concentration and accretion rate of dark matter halos of mass Mi at a particular redshift zi.
In : import commah
In : output = commah.run(‘WMAP1’,zi=2.,Mi=[1e12,5e11,1e11,5e10])
In : output[‘c’]
In : output[‘dMdt’]
Find a detailed documentation here with examples, cosmology setting, functions description, etc.
IDL code was written and is maintained by Camila Correa.
Installation: no need for installation, you can just download the code here.
Basic Usage: The code performs two different calculations: it looks for the concentration-mass relation for a particular redshift and mass range, or calculates the halo mass history for a given initial halo mass and redshift range.
COMMAH.pro requires two input files: COM.in and MAH.in. To calculate the concentration-mass relation, the user needs to specify the cosmology, the redshift, the initial and final halo mass and the step or mass interval in the file COM.in. As a result the COMMAH.pro will output 5 columns: concentration, halo mass, rms of primordial density field, peak height and accretion rate. To calculate the halo mass history, the user has to specify the cosmology, the initial mass, the initial redshift, final redshift and step or mass interval in the file MAH.in. Consequently, COMMAH.pro will output 6 columns: redshift, halo mass, accretion rate, concentration, virial radius and scale radius.
To run the code modify the input files and type
The following files were created using COMMAH. Each file contains columns of redshift, concentration, halo mass (in units of Log10[M⨀]), mass variance (σ), peak height (ν) and accretion rate (in units of Log10[M⨀/yr]). The concentration and halo mass definition correspond to M200, defined as all matter within a virial radius for which the mean internal density is 200 times the critical density.
Halo Mass Accretion Histories
The COMMAH code includes the calculation of halo mass accretion histories (MAH), following the analytic halo MAH model introduced in Correa et al. (2015a) and extended in Correa et al. (2015c). This analytic model is based on EPS theory, is physically motivated, can be extrapolated to very low masses and is suitable for any cosmology.
The following files were created using COMMAH. Each file contains columns of redshift, halo mass (M(z), in units of Log10[M⨀]), accretion rate (in units of Log10[M⨀/yr]), halo concentration (c200), virial radius (r200 in units of Log10[Mpc]) and scale radius (in units of Log10[Mpc]).
In the COMMAH code, all the calculations have been based on a halo mass defined as the mass of all matter within the radius r200 at which the mean internal density <ρ>(< r200) is a factor of Δ = 200 times the critical density of the universe, ρcrit (from now on we denote this halo mass by M200).
However, in the literature a number of values have been used for Δ. For that reason in Correa et al. (2015b), my collaborators and I studied how the halo mass accretion histories depend on the adopted mass definition. We analysed halo mass histories of relaxed halos using three different halo mass definitions. First, we use M200. Second, we use Mmean, which is the mass within the radius rmean for which the mean internal density is 200 times the mean background density. Finally, Mviris the mass within the radius rvir for which the mean internal density is Δvir times the critical density as determined by Bryan & Norman (1998).
The code SemiAnalyticMAH calculates the halo mass accretion histories for the three halo mass definitions mentioned above.