mirror of
https://github.com/Richard-Sti/csiborgtools.git
synced 2024-12-23 02:58:01 +00:00
141 lines
179 KiB
Text
141 lines
179 KiB
Text
|
{
|
||
|
"cells": [
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 1,
|
||
|
"id": "5a38ed25",
|
||
|
"metadata": {
|
||
|
"ExecuteTime": {
|
||
|
"end_time": "2023-04-12T14:25:46.519408Z",
|
||
|
"start_time": "2023-04-12T14:25:03.003304Z"
|
||
|
},
|
||
|
"scrolled": true
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"import sys\n",
|
||
|
"import numpy as np\n",
|
||
|
"import matplotlib.pyplot as plt\n",
|
||
|
"\n",
|
||
|
"sys.path.append(\"../\")\n",
|
||
|
"import csiborgtools\n",
|
||
|
"\n",
|
||
|
"%matplotlib widget \n",
|
||
|
"%load_ext autoreload\n",
|
||
|
"%autoreload 2"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 2,
|
||
|
"id": "06a5b2ff",
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"paths = csiborgtools.read.CSiBORGPaths(**csiborgtools.paths_glamdring)\n",
|
||
|
"partreader = csiborgtools.read.ParticleReader(paths)\n",
|
||
|
"\n",
|
||
|
"\n",
|
||
|
"nsim = 7444\n",
|
||
|
"nsnap = max(paths.get_snapshots(nsim))\n",
|
||
|
"box = csiborgtools.read.BoxUnits(nsnap, nsim, paths)\n",
|
||
|
"\n",
|
||
|
"particle_archive = np.load(paths.split_path(nsnap, nsim))\n",
|
||
|
"clumpsarr = partreader.read_clumps(nsnap, nsim, cols=[\"index\", 'x', 'y', 'z'])\n",
|
||
|
"clumpid2arrpos = {ind: ii for ii, ind in enumerate(clumpsarr[\"index\"])}"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 8,
|
||
|
"id": "382c5341",
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"nsim = 7492\n",
|
||
|
"cat = csiborgtools.read.ClumpsCatalogue(nsim, paths)"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 9,
|
||
|
"id": "b1a84840",
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"application/vnd.jupyter.widget-view+json": {
|
||
|
"model_id": "5350561d0be1413d98e3227df70d0e18",
|
||
|
"version_major": 2,
|
||
|
"version_minor": 0
|
||
|
},
|
||
|
"image/png": "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
|
||
|
"text/html": [
|
||
|
"\n",
|
||
|
" <div style=\"display: inline-block;\">\n",
|
||
|
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
|
||
|
" Figure\n",
|
||
|
" </div>\n",
|
||
|
" <img src='data:image/png;base64,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
|
||
|
" </div>\n",
|
||
|
" "
|
||
|
],
|
||
|
"text/plain": [
|
||
|
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
}
|
||
|
],
|
||
|
"source": [
|
||
|
"ismain = cat.ismain\n",
|
||
|
"\n",
|
||
|
"plt.figure()\n",
|
||
|
"plt.scatter(cat['totpartmass'][ismain], cat['mass_cl'][ismain], s=3, label=\"Ultimate parent halos\")\n",
|
||
|
"plt.scatter(cat['totpartmass'][~ismain], cat['mass_cl'][~ismain], s=3, label=\"Not ultimate parent halos\")\n",
|
||
|
"\n",
|
||
|
"\n",
|
||
|
"t = np.linspace(1e12, 1e15, 1000)\n",
|
||
|
"plt.plot(t, t, c=\"red\", ls=\"--\")\n",
|
||
|
"plt.xlabel(\"Total particle mass\")\n",
|
||
|
"plt.ylabel(\"Clump pass\")\n",
|
||
|
"plt.legend()\n",
|
||
|
"plt.xscale(\"log\")\n",
|
||
|
"plt.yscale(\"log\")\n",
|
||
|
"\n",
|
||
|
"plt.show()"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": null,
|
||
|
"id": "2d9ac81d",
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": []
|
||
|
}
|
||
|
],
|
||
|
"metadata": {
|
||
|
"kernelspec": {
|
||
|
"display_name": "venv_galomatch",
|
||
|
"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.8.0"
|
||
|
}
|
||
|
},
|
||
|
"nbformat": 4,
|
||
|
"nbformat_minor": 5
|
||
|
}
|