The '**CO**ncentration-**M**ass relation and **M**ass **A**ccretion **H**istory' (**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Ć10^{12}h^{-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 10^{11}M_{⨀}, 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

or,

git clone https://github.com/astroduff/commah

You need to have installed the free version control system git. The last option is to download the code here.

**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 [1]: import commah

In [2]: output = commah.run('WMAP1',zi=0.,Mi=1e12,z=[0.0,1.0,1.5,3.0,5.0])

In [3]: output['c']

Out[3]: array([[8.84952006,6.41136808,5.5846723,4.24172252,3.53294106]])

In [4]: output['Mz']

Out[4]: array([[1.00000e+12,6.02554e+11,4.52997e+11,1.82783e+11,5.14619e+10]])

In [5]: output['dMdt']

Out[5]: array([[31.88483435,83.06488935,106.30413759,138.85684425,109.70682285]])

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 z_{f}.

The user can also request the concentration and accretion rate of dark matter halos of mass Mi at a particular redshift zi.

In [1]: import commah

In [2]: output = commah.run('WMAP1',zi=2.,Mi=[1e12,5e11,1e11,5e10])

In [3]: output['c']

Out[3]: array([[4.6732888],[4.87151256],[5.37096703],[5.59182459]])

In [5]: output['dMdt']

Out[5]: array([[406.86787551],[192.92677084],[34.29907519],[16.37394805]])

Find a detailed documentation here with examples, cosmology setting, functions description, etc.

**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

$IDL> run,/COM

$IDL> run,/MAH

The following files were created using COMMAH. Each file contains columns of redshift, concentration, halo mass (in units of Log_{10}[M_{⨀}]), mass variance (σ), peak height (ν) and accretion rate (in units of Log_{10}[M_{⨀}/yr]). The concentration and halo mass definition correspond to M_{200}, defined as all matter within a virial radius for which the mean internal density is 200 times the critical density.

Cosmology | Ω_{m} | Ω_{Λ} | h | σ_{8} | n_{s} | c-M File | |
---|---|---|---|---|---|---|---|

Planck | 0.317 | 0.683 | 0.67 | 0.834 | 0.962 | c-M Planck | |

WMAP9 | 0.282 | 0.718 | 0.70 | 0.817 | 0.964 | c-M WMAP9 | |

WMAP5 | 0.258 | 0.742 | 0.72 | 0.796 | 0.963 | c-M WMAP5 | |

WMAP3 | 0.238 | 0.762 | 0.73 | 0.74 | 0.951 | c-M WMAP3 | |

WMAP1/MILL | 0.25 | 0.75 | 0.73 | 0.90 | 1.000 | c-M WMAP1 |

**Analytic model**

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 Log_{10}[M_{⨀}]), accretion rate (in units of Log_{10}[M_{⨀}/yr]), halo concentration (c_{200}), virial radius (r_{200} in units of Log_{10}[Mpc]) and scale radius (in units of Log_{10}[Mpc]).

Cosmology | Ω_{m} | Ω_{Λ} | h | σ_{8} | n_{s} | Files |
---|---|---|---|---|---|---|

Planck | 0.317 | 0.683 | 0.67 | 0.834 | 0.962 | MAHPlanck_{} |

WMAP9 | 0.282 | 0.718 | 0.70 | 0.817 | 0.964 | MAHWMAP9_{} |

WMAP5 | 0.258 | 0.742 | 0.72 | 0.796 | 0.963 | MAHWMAP5_{} |

WMAP3 | 0.238 | 0.762 | 0.73 | 0.74 | 0.951 | MAHWMAP3_{} |

WMAP1 | 0.25 | 0.75 | 0.73 | 0.90 | 1.000 | MAHWMAP1_{} |

**Semi-analytic model**

In the COMMAH code, all the calculations have been based on a halo mass defined as the mass of all matter within the radius r_{200} at which the mean internal density <ρ>(< r_{200}) is a factor of Δ = 200 times the critical density of the universe, ρ_{crit} (from now on we denote this halo mass by M_{200}).

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 M_{200}. Second, we use M_{mean}, which is the mass within the radius rmean for which the mean internal density is 200 times the mean background density. Finally, M_{vir} is the mass within the radius r_{vir} 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.

Cosmology | Ω_{m} | Ω_{Λ} | h | σ_{8} | n_{s} | Files |
---|---|---|---|---|---|---|

WMAP5 | 0.258 | 0.742 | 0.72 | 0.796 | 0.963 | MAHWMAP5 M M M |

© 2014 Camila A. Correa | Design by TEMPLATED