Dark Matter Halos (skypy.halos)

You can reproduce figure 2 in Sheth and Tormen 1999 and plot the collapse functions for different halo models. For this, you can use a python script, for example.

import numpy as np
from astropy.cosmology import Planck15
from skypy.power_spectrum import eisenstein_hu
from skypy.halos.mass import _sigma_squared

# Power spectrum and amplitude of perturbations at redshift 0
growth_0 = 1.0
A_s, n_s = 2.1982e-09, 0.969453
k = np.logspace(-3, 1, num=1000, base=10.0)
mass = 10**np.arange(9.0, 15.0, 0.1)

pk0 = eisenstein_hu(k, A_s, n_s, Planck15, kwmap=0.02, wiggle=True)
sigma = np.sqrt(_sigma_squared(mass, k, pk0, growth_0, Planck15))

# Collapse functions
from skypy.halos import mass

params_ellipsoidal = (0.3, 0.7, 0.3, 1.686)

ST = mass.sheth_tormen_collapse_function(sigma)
PS = mass.press_schechter_collapse_function(sigma)
EM = mass.ellipsoidal_collapse_function(sigma, params=params_ellipsoidal)
../_images/index-2.png

You can also sample halos using their mass function. For this, you can use a config file and run the pipeline, for example.

cosmology: !astropy.cosmology.default_cosmology.get []
power_spectrum: !skypy.power_spectrum.eisenstein_hu
  wavenumber: !numpy.logspace [-3, 1, 100]
  A_s: 2.1982e-09
  n_s: 0.969453
  cosmology: $cosmology
sheth-tormen: !skypy.halos.mass.sheth_tormen
  m_min: 1.0E+10
  m_max: 1.0E+13
  resolution: 10000
  wavenumber: !numpy.logspace [-3, 1, 100]
  power_spectrum: $power_spectrum
  growth_function: 1.0
  cosmology: $cosmology
  size: 10000
press-schechter: !skypy.halos.mass.press_schechter
  m_min: 1.0E+10
  m_max: 1.0E+13
  resolution: 10000
  wavenumber: !numpy.logspace [-3, 1, 100]
  power_spectrum: $power_spectrum
  growth_function: 1.0
  cosmology: $cosmology
  size: 10000
../_images/index-3.png

Halos (skypy.halos)

Halos module.

This module contains methods that model the properties of dark matter halo populations.

Models

colossus_mf

Sample halo redshifts and masses from a COLOSSUS mass function.

Abundance Matching (skypy.halos.abundance_matching)

Abundance matching module.

This module provides methods to perform abundance matching between catalogs of galaxies and dark matter halos.

Models

vale_ostriker

Vale & Ostriker abundance matching.

Mass (skypy.halos.mass)

Halo mass sampler. This code samples halos from their mass function.

Models

colossus_mass_sampler

Colossus halo mass sampler.

ellipsoidal_collapse_function

Ellipsoidal collapse function.

halo_mass_function

Halo mass function.

halo_mass_sampler

Halo mass sampler.

number_subhalos

Number of subhalos.

press_schechter

Halo mass sampler.

press_schechter_collapse_function

Ellipsoidal collapse function.

press_schechter_mass_function

Halo mass function.

sheth_tormen

Halo mass sampler.

sheth_tormen_collapse_function

Ellipsoidal collapse function.

sheth_tormen_mass_function

Halo mass function.

subhalo_mass_sampler

Subhalo mass sampler.

Quenching (skypy.halos.quenching)

Galaxy quenching.

This module implements models for environment and mass quenching by dark matter halos.

Models

environment_quenched

Environment quenching function.

mass_quenched

Mass quenching function.