{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# The 2-halo Term\n", "\n", "In this notebook we show how to compute the 2-halo term for the gas and dark matter density profiles." ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [], "source": [ "# preamble\n", "from __future__ import annotations\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pyccl as ccl\n", "from init_halo_model import bM, cM_relation, cosmo, hmc, hmd # halo model\n", "\n", "import glasz" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We define the halo model using `pyccl`" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [], "source": [ "# CMASS PARAMETERS\n", "z_lens = 0.55 # Mean z for CMASS\n", "a_sf = 1 / (1 + z_lens)\n", "\n", "# constituent fractions\n", "fb = cosmo[\"Omega_b\"] / cosmo[\"Omega_m\"] # Baryon fraction\n", "fc = cosmo[\"Omega_c\"] / cosmo[\"Omega_m\"] # CDM fraction\n", "\n", "# arrays for k, a, and r\n", "k_arr = np.geomspace(1e-4, 1e4, 128) # Wavenumber array\n", "a_arr = np.linspace(0.1, 1, 16) # Scale factor array\n", "r_arr = np.geomspace(1e-2, 1e2, 100) # Distance array" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We then compute the matter-matter correlation function (2-halo term)" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [], "source": [ "xi_mm_2h = glasz.profiles.calc_xi_mm_2h(\n", " cosmo, hmd, cM_relation, hmc, k_arr, a_arr, r_arr, a_sf\n", ")" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f, ax = plt.subplots(1, 1, figsize=(6, 4))\n", "ax.loglog(r_arr, xi_mm_2h(r_arr))\n", "ax.set_xlabel(r\"$r$ [Mpc]\")\n", "ax.set_ylabel(r\"$\\xi^{\\rm 2h}_{\\rm mm}(r)$\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With this correlation function, we can then input this into our profile functions. More on this in the `profiles` section of the documentation." ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [], "source": [ "# Halo Mass\n", "M_halo = 3e13\n", "\n", "# 2-halo Amplitude\n", "A_2h = 1.0\n", "\n", "# GNFW Parameters\n", "alpha = 1.0\n", "beta = 3.0\n", "gamma = 0.2\n", "x_c = 0.5\n", "\n", "Rb = 10 * hmd.get_radius(cosmo, M_halo, a_sf)\n", "\n", "# COMPUTE GNFW AMPLITUDE\n", "prof_nfw = ccl.halos.HaloProfileNFW(\n", " mass_def=hmd, concentration=cM_relation, truncated=False, fourier_analytic=True\n", ")\n", "\n", "prof_baryons = glasz.profiles.HaloProfileGNFW(\n", " hmd,\n", " rho0=1.0,\n", " alpha=alpha,\n", " beta=beta,\n", " gamma=gamma,\n", " x_c=x_c,\n", ")\n", "\n", "prof_baryons.normalize(cosmo, Rb, M_halo, a_sf, prof_nfw)\n", "\n", "\n", "# COMPUTE 3D DENSITY PROFILES\n", "def rho_2h(r):\n", " return (\n", " xi_mm_2h(r)\n", " * bM(cosmo, M_halo, a_sf)\n", " * ccl.rho_x(cosmo, a_sf, \"matter\", is_comoving=True)\n", " * A_2h\n", " )\n", "\n", "\n", "prof_baryons.rho_2h = rho_2h # add 2-halo term to baryon profile\n", "\n", "prof_matter = glasz.profiles.MatterProfile(\n", " mass_def=hmd, concentration=cM_relation, rho_2h=rho_2h\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We end up with profiles for the baryons, dark matter, and total matter all at once. These can be decomposed into their 1-halo and 2-halo terms respectively. " ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f, ax = plt.subplots(1, 1, figsize=(6, 4))\n", "\n", "ax.loglog(\n", " r_arr,\n", " prof_matter.real(cosmo, r_arr, M_halo, a_sf),\n", " color=\"black\",\n", " label=\"Total Matter\",\n", ") # full\n", "\n", "ax.loglog(\n", " r_arr,\n", " (prof_nfw.real(cosmo, r_arr, M_halo, a_sf) + rho_2h(r_arr)) * fc,\n", " color=\"blue\",\n", " ls=\"-\",\n", " label=\"Dark Matter\",\n", ") # full\n", "ax.loglog(\n", " r_arr, prof_nfw.real(cosmo, r_arr, M_halo, a_sf) * fc, color=\"blue\", ls=\"-.\"\n", ") # 1-halo\n", "ax.loglog(r_arr, rho_2h(r_arr) * fc, color=\"blue\", ls=\"--\") # 2-halo\n", "\n", "ax.loglog(\n", " r_arr,\n", " prof_baryons.real(cosmo, r_arr, M_halo, a_sf) * fb,\n", " color=\"red\",\n", " label=\"Baryons\",\n", ") # full\n", "ax.loglog(\n", " r_arr,\n", " (prof_baryons.real(cosmo, r_arr, M_halo, a_sf) - rho_2h(r_arr)) * fb,\n", " color=\"red\",\n", " ls=\"-.\",\n", ") # 1-halo\n", "ax.loglog(r_arr, rho_2h(r_arr) * fb, color=\"red\", ls=\"--\") # 2-halo\n", "\n", "ax.set_xlabel(r\"$r$ [Mpc]\")\n", "ax.set_ylabel(r\"$\\rho(r)$ [M$_\\odot$/Mpc$^3$]\")\n", "ax.set_xlim(1e-2, 1e2)\n", "ax.legend()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "test", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.11" } }, "nbformat": 4, "nbformat_minor": 2 }