csiborgtools/notebooks/powerspectrum_H0.ipynb

113 lines
55 KiB
Plaintext
Raw Normal View History

2024-03-08 15:46:38 +01:00
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# $P(k, H_0)$\n",
"\n",
"Quick notebook to see how the power spectrum depends on $H_0$."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import camb\n",
"from camb import model\n",
"\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [],
"source": [
"def get_pk(h):\n",
" pars = camb.CAMBparams()\n",
"\n",
" pars.set_cosmology(H0=h*100, ombh2=0.04825 * h**2, omch2=(0.307 - 0.04825) * h**2)\n",
" pars.InitPower.set_params(ns=0.9611)\n",
" pars.set_matter_power(redshifts=[0.], kmax=40)\n",
"\n",
" #Non-Linear spectra (Halofit)\n",
" pars.NonLinear = model.NonLinear_both\n",
" results = camb.get_results(pars)\n",
" results.calc_power_spectra(pars)\n",
" kh_nonlin, z_nonlin, pk_nonlin = results.get_matter_power_spectrum(minkh=1e-3, maxkh=50, npoints = 200)\n",
"\n",
" return kh_nonlin, pk_nonlin[0]\n",
"\n",
"kh_nonlin, pk_nonlin_reference = get_pk(0.705)"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"\n",
"for h in [0.65, 0.70, 0.75]:\n",
" __, pk = get_pk(h)\n",
" plt.plot(kh_nonlnie, pk / pk_nonlin_reference, label=r\"$h = {}$\".format(h))\n",
"\n",
"plt.legend()\n",
"plt.xscale(\"log\")\n",
"plt.xlabel(r\"$k ~ [h / \\mathrm{Mpc}]$\")\n",
"plt.ylabel(r\"$P(k, h) / P(k, h=0.705)$\")\n",
"\n",
"plt.tight_layout()\n",
"plt.savefig(\"../plots/pk_h0_dependence.png\", dpi=450)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "venv_csiborg",
"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.7"
}
},
"nbformat": 4,
"nbformat_minor": 2
}