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.
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
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 zf.
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]])</pre>
How to cite COMMAH? If you use COMMAH for a publication, please cite Correa et al. (2015c), Correa et al. (2015b) and Correa et al. (2015a).