367 lines
168 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The autoreload extension is already loaded. To reload it, use:\n",
" %reload_ext autoreload\n"
]
}
],
"source": [
"# automatically reflect changes in imported modules\n",
"%load_ext autoreload\n",
"%autoreload 2\n",
"\n",
"from pathlib import Path\n",
"import numpy as np\n",
"import utils\n",
"import matplotlib.pyplot as plt\n",
"\n",
"import utils.logging_config\n",
"import logging\n",
"logger = logging.getLogger(\"task1\")"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"DATA_ROOT = Path('data')\n",
"DATA_NAME = 'data.txt'\n",
"# DATA_NAME = 'data0.txt'\n",
"# DATA_NAME = 'data1.txt'\n",
"NBINS = 100"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"13:55:14 - utils.load - Loaded 50010 rows and 10 columns from data/data.txt\n",
"13:55:14 - task1 - Fetched 50010 points, columns: ['ID', 'MASS', 'X', 'Y', 'Z', 'VX', 'VY', 'VZ', 'SOFTENING', '?']\n"
]
}
],
"source": [
"points, columns = utils.load_data(DATA_ROOT / DATA_NAME)\n",
"logger.debug(f\"Fetched {points.shape[0]} points, columns: {columns}\")\n",
"# reorder the columns to match the expected order (x, y, z, mass)\n",
"particles = points[:, [2, 3, 4, 1]]\n",
"\n",
"particles = particles[::10, ...]\n",
"# particles = particles[:5000, ...]\n",
"# TODO: remove this\n",
"\n",
"# particles = utils.remove_outliers(particles)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# plot the distribution of the particles\n",
"fig = plt.figure()\n",
"ax = fig.add_subplot(111, projection='3d')\n",
"ax.scatter(particles[:,0], particles[:,1], particles[:,2], cmap='viridis', c=particles[:,3])\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/remy/.local/share/virtualenvs/projects-X-9bmgL6/lib/python3.12/site-packages/numpy/_core/function_base.py:314: RuntimeWarning: overflow encountered in power\n",
" return _nx.power(base, y)\n",
"/home/remy/Documents/Uni/HS24/Computational Astrophysics/projects/nbody/utils/particles.py:19: RuntimeWarning: overflow encountered in power\n",
" volume = 4/3 * np.pi * (r_bins[1:]**3 - r_bins[:-1]**3)\n",
"/home/remy/Documents/Uni/HS24/Computational Astrophysics/projects/nbody/utils/particles.py:19: RuntimeWarning: invalid value encountered in subtract\n",
" volume = 4/3 * np.pi * (r_bins[1:]**3 - r_bins[:-1]**3)\n",
"/home/remy/Documents/Uni/HS24/Computational Astrophysics/projects/nbody/utils/model.py:11: RuntimeWarning: overflow encountered in power\n",
" rho = M / (2 * np.pi) * a / (r_bins * (r_bins + a)**3)\n",
"/home/remy/Documents/Uni/HS24/Computational Astrophysics/projects/nbody/utils/model.py:11: RuntimeWarning: overflow encountered in multiply\n",
" rho = M / (2 * np.pi) * a / (r_bins * (r_bins + a)**3)\n",
"/home/remy/.local/share/virtualenvs/projects-X-9bmgL6/lib/python3.12/site-packages/matplotlib/scale.py:255: RuntimeWarning: overflow encountered in power\n",
" return np.power(self.base, values)\n"
]
},
{
"data": {
"image/png": "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ddddp/DwcK1evVrXXnutrr/++p+tpX379nr00Uc1f/58jRw5UsOHD9fHH3+sd955x/56iaps3bpVU6ZM0Z133qmrr75aZWVlWrFihdzd3XXHHXc41L1lyxYtWLBAISEh6tatm2JiYqpzqZyEh4crISHB4dUPkjR37lx7n1/+8pf6/e9/r6SkJE2bNk3nz5/XSy+9pKuvvtohqNWktvbt22vmzJmaO3euhg4dqttvv115eXl68cUXNWDAgGoFW6BZc+FfQgKoZxV/0l/x8fT0NIKDg41bb73VeO6554yioqJKt/viiy+M8ePHG8HBwUaLFi2MTp06GSNHjjTWrFnjtO+fvtLhp69M2L17t3HXXXcZoaGhhpeXl9GhQwdj5MiRDq80MAznVz8YhmE88cQTRqdOnQw3N7dKXwPx17/+1ZBkzJs3r9rXxGazGXPnzjU6duxo+Pj4GHFxccbevXuNrl27XvbVD19++aUxadIk46qrrjK8vb2Ntm3bGvHx8caWLVsc9r9//37jlltuMXx8fBxeJ1HxKoaTJ0861VTVqx8eeughY+XKlUbPnj0NLy8v47rrrrPX82ObNm0ywsPDDU9PT6NXr17GypUrK91nVbX99NUPFRYuXGhcc801RosWLYygoCDjgQceMM6cOePQZ9CgQUafPn2caqrqlRRAc2AxDGYsAmgannvuOT3yyCM6cuSI019FAoCrELYANAmGYSgiIkLt2rXTtm3bXF0OANgxZwtAo1ZSUqL169dr27Zt+vTTT/Xmm2+6uiQAcMCTLQCN2pEjR9StWze1bt1aDz74oP785z+7uiQAcEDYAgAAMBHv2QIAADARYQsAAMBETJCvY+Xl5fr222/VqlWrOv2aDgAAYB7DMHTu3DmFhITIza1un0URturYt99+qy5duri6DAAAUAtHjx5V586d63SfhK06VvGlvEePHpW/v7+LqwEAANVRVFSkLl262O/jdYmwVccqhg79/f0JWwAANDJmTAFigjwAAICJCFsAAAAmImwBAACYiLAFAABgIsIWAACAiQhbAAAAJiJsAQAAmIiwBQAAYCLClkmyvjwtW7nh6jIAAICLEbZMMmn5Lt301FZt3Hvc1aUAAAAXImyZ6ETh93pg5W4CFwAAzRhhy0QVg4hz/+9zhhQBAGimCFsmMyQdL/xeWYdPu7oUAADgAh6uLqC5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Pz9fwcHBLqoKAADAWaMMW56enoqKilJGRoa9rby8XBkZGZUO9QEAALhKgx1GLC4u1qFDh+zLhw8fVm5urtq2bavQ0FClpKQoOTlZ/fv3V3R0tFJTU1VSUqKJEye6sGoAAABHDTZsZWdnKz4+3r6ckpIiSUpOTlZaWprGjRunkydPatasWTpx4oQiIyO1ceNGp0nzAAAArtQo3rPVmJj5ng4AAGAO3rMFAADQSBG2AAAATETYAgAAMBFhCwAAwESELQAAABMRtgAAAExE2AIAADARYQsAAMBEhC0AAAATEbYAAABMRNgCAAAwEWELAADARIQtAAAAExG2AAAATETYAgAAMBFhCwAAwESELQAAABMRtgAAAExE2AIAADARYQsAAMBEhC0AAAATEbYAAABMRNgCAAAwEWELAADARIQtAAAAExG2AAAATETYAgAAMBFhCwAAwETNImwlJSWpTZs2Gjt2rEP70aNHFRcXp969e6tfv35avXq1JCkvL0+RkZH2j4+Pj9atW+eCygEAQGNnMQzDcHURZsvMzNS5c+e0fPlyrVmzxt5+/Phx5efnKzIyUidOnFBUVJQOHDggPz8/e5/i4mKFhYXpq6++cmivSlFRkQICAlRYWCh/f39TzgcAANQtM+/fzeLJVlxcnFq1auXU3rFjR0VGRkqSgoODFRgYqNOnTzv0Wb9+vYYMGVKtoAUAAPBTLg9b27dvV2JiokJCQmSxWCodrlu0aJHCwsLk7e2tmJgYZWVl1XkdOTk5stls6tKli0P7qlWrNG7cuDo/HgAAaB48XF1ASUmJIiIiNGnSJI0ZM8ZpfXp6ulJSUrR48WLFxMQoNTVVCQkJysvLU4cOHSRJkZGRKisrc9p206ZNCgkJ+dkaTp8+rfHjx+vll192aC8qKtKHH36oN954o8ptS0tLVVpa6rANAABABZeHrWHDhmnYsGFVrl+wYIEmT56siRMnSpIWL16st956S6+88opmzJghScrNza318UtLSzV69GjNmDFDAwcOdFj35ptv6rbbbpO3t3eV28+fP19z586t9fEBAEDT5vJhxMu5ePGicnJyZLVa7W1ubm6yWq3auXPnFe/fMAxNmDBBgwcP1j333OO0vjpDiDNnzlRhYaH9c/To0SuuCwAANB0NOmydOnVKNptNQUFBDu1BQUE6ceJEtfdjtVp155136u2331bnzp3tQW3Hjh1KT0/XunXr7K95+PTTTyVJhYWFysrKUkJCwmX37eXlJX9/f4cPAABABZcPI9aHLVu2VNp+0003qby8vNJ1AQEBys/PN7MsAADQDDToJ1uBgYFyd3d3Cj35+fkKDg52UVUAAADV16DDlqenp6KiopSRkWFvKy8vV0ZGhmJjY11YGQAAQPW4fBixuLhYhw4dsi8fPnxYubm5atu2rUJDQ5WSkqLk5GT1799f0dHRSk1NVUlJif2vEwEAABoyl4et7OxsxcfH25dTUlIkScnJyUpLS9O4ceN08uRJzZo1SydOnFBkZKQ2btzoNGkeAACgIWoW341Yn/huRAAAGh++GxEAAKCRImwBAACYiLAFAABgIsIWAACAiQhbAAAAJiJsAQAAmIiwBQAAYKJah6333ntPiYmJ6tGjh3r06KHbb79d77//fl3WBgAA0OjVKmytXLlSVqtVvr6+mjZtmqZNmyYfHx8NGTJEr7/+el3XCAAA0GjV6g3y1157re677z498sgjDu0LFizQyy+/rH379tVZgY0Nb5AHAKDxaXBvkP/yyy+VmJjo1H777bfr8OHDV1wUAABAU1GrsNWlSxdlZGQ4tW/ZskVdunS54qIAAACaCo/abPTb3/5W06ZNU25urgYOHChJ2rFjh9LS0vTcc8/VaYEAAACNWa3C1gMPPKDg4GA9++yzWrVqlaQf5nGlp6dr1KhRdVogAABAY1arCfKoGhPkAQBofMy8f9fqyVaFixcvqqCgQOXl5Q7toaGhV1QUAABAU1GrsHXw4EFNmjRJH374oUO7YRiyWCyy2Wx1UhwAAEBjV6uwNWHCBHl4eGjDhg3q2LGjLBZLXdcFAADQJNQqbOXm5ionJ0fXXHNNXdcDAADQpNTqPVu9e/fWqVOn6roWAACAJqfaYauoqMj+eeqpp/S73/1OmZmZ+u677xzWFRUVmVkvAABAo1LtYcTWrVs7zM0yDENDhgxx6MMEeQAAAEfVDlvbtm2TJJWWlmro0KFavHixevXqZVphAAAATUG1w9agQYPs/92uXTvFx8erZ8+ephQFAADQVNRqgvzdd9+tpUuX1nUtAAAATU6tXv1QVlamV155RVu2bFFUVJT8/Pwc1i9YsKBOigMAAGjsahW29u7dq+uvv16SdODAAYd1vOAUAADgv2oVtiomyzcWSUlJyszM1JAhQ7RmzRqHdYcPH9akSZOUn58vd3d3/ec//9GlS5dktVpVVlamsrIyTZ8+XZMnT3ZR9QAAoDGzGIZhuLoIs2VmZurcuXNavny5U9gaNGiQnnzySd188806ffq0/P39ZbFYVFpaKl9fX5WUlCg8PFzZ2dlq167dzx7LzG8NBwAA5jDz/l2rCfKNTVxcnFq1auXU/tlnn6lFixa6+eabJUlt27aVh4eH3N3d5evrK+mHV10YhqFmkEkBAIAJXB62tm/frsTERIWEhMhisWjdunVOfRYtWqSwsDB5e3srJiZGWVlZdXLsgwcPqmXLlkpMTNT111+vefPm2dedPXtWERER6ty5sx577DEFBgbWyTEBAEDz4vKwVVJSooiICC1atKjS9enp6UpJSdHs2bO1e/duRUREKCEhQQUFBfY+kZGRCg8Pd/p8++23lz12WVmZ3n//fb344ovauXOnNm/erM2bN0v64Y35e/bs0eHDh/X6668rPz+/0n2UlpbydUUAAKBKtZogX5eGDRumYcOGVbl+wYIFmjx5siZOnChJWrx4sd566y298sormjFjhiQpNze3Vsfu1KmT+vfvry5dukiShg8frtzcXN166632PkFBQYqIiND777+vsWPHOu1j/vz5mjt3bq2ODwAAmj6XP9m6nIsXLyonJ0dWq9Xe5ubmJqvVqp07d17x/gcMGKCCggKdOXNG5eXl2r59u6699lrl5+fr3LlzkqTCwkJt3769yq8mmjlzpgoLC+2fo0ePXnFdAACg6XD5k63LOXXqlGw2m4KCghzag4KCtH///mrvx2q1as+ePSopKVHnzp21evVqxcbGysPDQ/PmzdMtt9wiwzB02223aeTIkcrKytJ9991nnxg/depU9e3bt9J9e3l5ycvL64rOEwAANF0NOmzVlS1btlS5rrJhzOjo6FoPTQIAAPxYgx5GDAwMlLu7u9Pk9Pz8fAUHB7uoKgAAgOpr0GHL09NTUVFRysjIsLeVl5crIyNDsbGxLqwMAACgelw+jFhcXKxDhw7Zlw8fPqzc3Fy1bdtWoaGhSklJUXJysvr376/o6GilpqaqpKTE/teJAAAADZnLw1Z2drbi4+PtyykpKZKk5ORkpaWlady4cTp58qRmzZqlEydOKDIyUhs3bnSaNA8AANAQNYvvRqxPfDciAACND9+NCAAA0EgRtgAAAExE2AIAADARYQsAAMBEhC0AAAATEbYAAABMRNgCAAAwEWELAADARIQtAAAAExG2AAAATETYAgAAMBFhCwAAwESELQAAABMRtgAAAExE2AIAADARYQsAAMBEhC0AAAATEbYAAABMRNgCAAAwEWELAADARIQtAAAAExG2AAAATETYAgAAMBFhCwAAwESELQAAABMRtgAAAExE2AIAADARYQsAAMBEzSJsJSUlqU2bNho7dqzTumeeeUZ9+vRReHi4Vq5c+bPtAAAANdEswtb06dP16quvOrV/+umnev3115WTk6Ndu3Zp4cKFOnv2bJXtAAAANdUswlZcXJxatWrl1L5v3z7FxsbK29tbPj4+ioiI0MaNG6tsBwAAqCmXh63t27crMTFRISEhslgsWrdunVOfRYsWKSwsTN7e3oqJiVFWVladHDs8PFyZmZk6e/aszpw5o8zMTB07dqzKdgAAgJrycHUBJSUlioiI0KRJkzRmzBin9enp6UpJSdHixYsVExOj1NRUJSQkKC8vTx06dJAkRUZGqqyszGnbTZs2KSQkpMpj9+7dW9OmTdPgwYMVEBCgG264Qe7u7lW2V6a0tFSlpaX25aKioppeAgAA0IRZDMMwXF1EBYvForVr12r06NH2tpiYGA0YMEALFy6UJJWXl6tLly6aOnWqZsyYUe19Z2ZmauHChVqzZk2Vfe69914lJSVpxIgR1WqXpDlz5mju3LlO7YWFhfL39692fQAAwHWKiooUEBBgyv3b5cOIl3Px4kXl5OTIarXa29zc3GS1WrVz5846OUZBQYEkKS8vT1lZWUpISLhs+0/NnDlThYWF9s/Ro0frpC4AANA0uHwY8XJOnTolm82moKAgh/agoCDt37+/2vuxWq3as2ePSkpK1LlzZ61evVqxsbGSpFGjRqmwsFB+fn5atmyZPDw8Ltv+U15eXvLy8qrlGQIAgKauQYeturJly5Yq11X1hKyunpwBAIDmrUEPIwYGBsrd3V35+fkO7fn5+QoODnZRVQAAANXXoMOWp6enoqKilJGRYW8rLy9XRkaGfRgQAACgIXP5MGJxcbEOHTpkXz58+LByc3PVtm1bhYaGKiUlRcnJyerfv7+io6OVmpqqkpISTZw40YVVAwAAVI/Lw1Z2drbi4+PtyykpKZKk5ORkpaWlady4cTp58qRmzZqlEydOKDIy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z5+vbt26ycfHRxEREVqzZs1lz62goECJiYny8fFRt27d9Nprrzn1udw5ZmZmauLEiSosLLSfy5w5cyRJK1asUP/+/dWqVSsFBwfrV7/6lQoKCmpy6QEAjRyPDxoJW7mhuf/3uSobMDQkWSTN/b/PdWvvYLm7WUyvx8fHR999950kyc3NTc8//7y6deumL7/8Ug8++KB+97vf6cUXX7T3P3/+vJ566in94x//ULt27dSxY0dduHBBRUVFWrZsmSSpbdu2+vbbbx2Oc+zYMd1yyy2Ki4vT1q1b5e/vrx07dlQ5hDl//nytXLlSixcvVs+ePbV9+3bdfffdat++vQYNGlTpNhMmTNC3336rbdu2qUWLFpo2bZpTILrcOQ4cOFCpqamaNWuW8vLyJEktW7aUJF26dElPPPGEevXqpYKCAqWkpGjChAl6++23a3HVAQCNEWGrkcg6fFrHC7+vcr0h6Xjh98o6fFqxV7UzrQ7DMJSRkaF3331XU6dOlSQ9/PDD9vVhYWF68skndf/99zuErUuXLunFF19URESEvc3Hx0elpaUKDg6u8niLFi1SQECA3njjDbVo0UKSdPXVV1fat7S0VPPmzdOWLVsUGxsrSerevbs++OADLVmypNKwdeDAAb3zzjvKysrSgAEDJElLly7Vtdde69Dvcufo6empgIAAWSwWp3OZNGmS/b+7d++u559/XgMGDFBxcbE9kAEAmjbCViNRcK7qoFWbfjW1YcMGtWzZUpcuXVJ5ebl+9atf2YfKtmzZovnz52v//v0qKipSWVmZvv/+e50/f16+vr6SJE9PT/Xr16/Gx83NzdXNN99sD1qXc+jQIZ0/f1633nqrQ/vFixd13XXXVbrNvn375OHhoaioKHvbNddc4zTZvTrnWJmcnBzNmTNHe/bs0ZkzZ+xz1b7++mv17t37Z88JAND4MWerkejQyrtO+9VUfHy8cnNzdfDgQV24cEHLly+Xn5+fjhw5opEjR6pfv37617/+pZycHC1atEjSDyGngo+PjyyWmg9v+vj4VLtvxRyqt956S7m5ufbP559//rPzti6nuuf4UyUlJUpISJC/v79ee+017dq1S2vXrv3Z7QAATQtPthqJ6G5t1THAWycKv6903pZFUnCAt6K7tTXl+H5+furRo4dTe05OjsrLy/Xss8/Kze2H7L5q1apq7dPT01M2m+2yffr166fly5fr0qVLP/t0q2Ly/ddff13l/Kyfuuaaa1RWVqacnBz7MGJeXp7Onj1r71Odc6zsXPbv36/vvvtOf/nLX9SlSxdJUnZ2drXqAgA0HTzZaiTc3SyanfjDsNNPnw9VLM9O7F0vk+N/rEePHrp06ZJeeOEFffnll1qxYoUWL15crW3DwsL0ySefKC8vT6dOndKlS5ec+kyZMkVFRUX65S9/qezsbB08eFArVqywT0T/sVatWunRRx/VI488ouXLl+uLL77Q7t279cILL2j58uWV1tCrVy8NHTpUv/nNb/TRRx8pJydH9957r8MTteqcY1hYmIqLi5WRkaFTp07p/PnzCg0Nlaenp3279evX64knnqjWtQEANB2ErUZkaHhHvXT39erg7+XQHhzgrZfuvl5DwzvWe00RERFasGCBnnrqKYWHh+u1117T/Pnzq7Xt5MmT1atXL/Xv31/t27fXjh07nPq0a9dOW7duVXFxsQYNGqSoqCi9/PLLVT7leuKJJ/T4449r/vz5uvbaazV06FC99dZb6tatW5V1LFu2TCEhIRo0aJDGjBmj++67Tx06dKjROQ4cOFD333+/xo0bp/bt2+uvf/2r2rdvr7S0NK1evVq9e/fWX/7yFz3zzDPVujYAgKbDYhiGua8fb2aKiooUEBCgwsJC+fv7O6z7/vvvdfjwYXXr1k3e3rWfW3Xu+0vqO2eTJClt4gDd3LN9vT/RQsNVVz9nANCcXO7+faV4stUI/ThYRXdrS9ACAKABY4J8I+Tr6aEjfxnh6jIAAEA18GQLAADARIQtAAAAExG2XIC/SYCZ+PkCgIaFsFWPKl5XcP78eRdXgqas4uerOl9xBAAwHxPk65G7u7tat26tgoICSZKvr2+tvsIGqIxhGDp//rwKCgrUunVrubu7u7okAIAIW/UuODhYkuyBC6hrrVu3tv+cAQBcj7BVzywWizp27KgOHTpU+vU0wJVo0aIFT7QAoIEhbLmIu7s7N0UAAJoBJsgDAACYiLAFAABgIsIWAACAiZizVccqXihZVFTk4koAAEB1Vdy3zXgxNGGrjn333XeSpC5duri4EgAAUFPfffedAgIC6nSfhK061rZtW0nS119/Xef/WGi+BgwYoF27drm6jCaruV7fxn7eDbn+hlCbK2qoj2OadYzCwkKFhoba7+N1ibBVx9zcfpgGFxAQIH9/fxdXg6bC3d2dnycTNdfr29jPuyHX3xBqc0UN9XFMs49RcR+v033W+R4B1LmHHnrI1SU0ac31+jb2827I9TeE2lxRQ30csyFc25qyGGbMBGvGioqKFBAQoMLCQpf/VgMAAKrHzPs3T7bqmJeXl2bPni0vLy9XlwIAAKrJzPs3T7YAAABMxJMtAAAAExG2AAAATETYAgAAMBFhC2iGNmzYoF69eqlnz576xz/+4epympTmem2b63nXB65t48cEeaCZKSsrU+/evbVt2zYFBAQoKipKH374odq1a+fq0hq95nptm+t51weubdPAk616xG8naAiysrLUp08fderUSS1bttSwYcO0adMmV5fVJDTXa9tcz7s+cG0bjqSkJLVp00Zjx46t8baErXpSVlamlJQUbd26VR9//LGefvpp+5dWo2mYP3++BgwYoFatWqlDhw4aPXq08vLy6vQY27dvV2JiokJCQmSxWLRu3bpK+y1atEhhYWHy9vZWTEyMsrKy7Ou+/fZbderUyb7cqVMnHTt2rE7rrGsvvfSS+vXrJ39/f/n7+ys2NlbvvPNOnR6joV/bv/zlL7JYLHr44YfrZH8VGvp5m+nYsWO6++671a5dO/n4+Khv377Kzs6us/0352vbFE2fPl2vvvpqrbYlbNUTfjtp+t577z099NBD+s9//qPNmzfr0qVLuu2221RSUlJp/x07dujSpUtO7Z9//rny8/Mr3aakpEQRERFatGhRlXWkp6crJSVFs2fP1u7duxUREaGEhAQVFBTU7sQagM6dO+svf/mLcnJylJ2drcGDB2vUqFH67LPPKu3f1K7trl27tGTJEvXr1++y/ZraeZvpzJkzuvHGG9WiRQu98847+vzzz/Xss8+qTZs2lfbn2iIuLk6tWrWq3cYGquW9994zRo4caXTs2NGQZKxdu9apz8KFC42uXbsaXl5eRnR0tPHRRx/Z161evdp46KGH7Mt//etfjaeffro+SoeLFBQUGJKM9957z2mdzWYzIiIijLFjxxplZWX29v379xtBQUHGU0899bP7r+rnMDo62uFnzWazGSEhIcb8+fMNwzCMHTt2GKNHj7avnz59uvHaa6/V5NQahDZt2hj/+Mc/nNqb2rU9d+6c0bNnT2Pz5s3GoEGDjOnTp1far6mdt9l+//vfGzfddFO1+nJtG78r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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"all_r = utils.r_distribution(particles)\n",
"rbins = np.logspace(np.min(all_r), np.max(all_r), NBINS)\n",
"rho, err = utils.density_distribution(rbins, particles, ret_error=True)\n",
"rho_t = utils.model_density_distribution(rbins)\n",
"\n",
"\n",
"plt.figure()\n",
"plt.title('Density distribution')\n",
"# set the scale to log-log\n",
"plt.xscale('log')\n",
"plt.yscale('log')\n",
"plt.xlabel('r')\n",
"plt.ylabel('rho')\n",
"plt.errorbar(rbins, rho, yerr=err, fmt='o', label=\"Particle data\")\n",
"plt.plot(rbins, rho_t, 'r-', label=\"Analytic model\")\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Choice of units"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"# Set G = 1\n",
"G = 1\n",
"\n",
"# Since we have an elliptical galaxy, we can use typical values\n",
"M_TOT = 1e12 # Msol\n",
"R_TOT = 100 # kpc\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"13:56:50 - utils.particles - Half mass radius: 0.18508311314012416 for 2499th particle of 5001\n",
"13:56:50 - utils.particles - Number of particles within half mass radius: 2499 of 5001\n",
"13:56:50 - task1 - Mean interparticle distance: 0.021985731180436525\n",
"13:56:50 - utils.forces_basic - Computing forces for 5001 particles using n^2 algorithm (using softening=np.float64(2.1985731180436524e-05))\n",
"13:56:50 - utils.forces_basic - Particle 0 done\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[1.e-03 1.e-02 1.e-01 1.e+00 1.e+01 1.e+02 1.e+03]\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"13:56:51 - utils.forces_basic - Particle 5000 done\n",
"13:56:51 - utils.forces_basic - Computing forces for 5001 particles using n^2 algorithm (using softening=np.float64(0.00021985731180436527))\n",
"13:56:51 - utils.forces_basic - Particle 0 done\n",
"13:56:53 - utils.forces_basic - Particle 5000 done\n",
"13:56:53 - utils.forces_basic - Computing forces for 5001 particles using n^2 algorithm (using softening=np.float64(0.0021985731180436527))\n",
"13:56:53 - utils.forces_basic - Particle 0 done\n",
"13:56:54 - utils.forces_basic - Particle 5000 done\n",
"13:56:54 - utils.forces_basic - Computing forces for 5001 particles using n^2 algorithm (using softening=np.float64(0.021985731180436525))\n",
"13:56:54 - utils.forces_basic - Particle 0 done\n",
"13:56:55 - utils.forces_basic - Particle 5000 done\n",
"13:56:55 - utils.forces_basic - Computing forces for 5001 particles using n^2 algorithm (using softening=np.float64(0.21985731180436524))\n",
"13:56:55 - utils.forces_basic - Particle 0 done\n",
"13:56:56 - utils.forces_basic - Particle 5000 done\n",
"13:56:56 - utils.forces_basic - Computing forces for 5001 particles using n^2 algorithm (using softening=np.float64(2.1985731180436523))\n",
"13:56:56 - utils.forces_basic - Particle 0 done\n",
"13:56:58 - utils.forces_basic - Particle 5000 done\n",
"13:56:58 - utils.forces_basic - Computing forces for 5001 particles using n^2 algorithm (using softening=np.float64(21.985731180436524))\n",
"13:56:58 - utils.forces_basic - Particle 0 done\n",
"13:56:59 - utils.forces_basic - Particle 5000 done\n",
"13:56:59 - utils.forces_basic - Computing forces for 5001 particles using spherical approximation\n",
"13:56:59 - utils.forces_basic - Particle 0 done\n",
"13:56:59 - utils.forces_basic - Particle 5000 done\n"
]
}
],
"source": [
"### Direct N body force computation and comparison with analytical model\n",
"epsilon = utils.mean_interparticle_distance(particles)\n",
"logger.info(f\"Mean interparticle distance: {epsilon}\")\n",
"\n",
"\n",
"# TODO: compute this in a threaded way\n",
"epsilon_range = np.logspace(-3, 3, 7)\n",
"n_squared_forces = []\n",
"for e in epsilon_range:\n",
" f = utils.n_body_forces(particles, G, e * epsilon)\n",
" n_squared_forces.append(f)\n",
"\n",
"\n",
"analytical_force = utils.analytical_forces(particles)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"\"\"\"## compare the two force calculations\n",
"# since the forces were computed for each particle, rather than comparing them directly we compare the relative error in the magnitude and direction of the forces\n",
"\n",
"\n",
"# f_diff = f_nsquare_1e - f_analytical\n",
"f_diff = f_nsquare_2e - f_analytical\n",
"diff_mag = np.linalg.norm(f_diff, axis=1)\n",
"\n",
"\n",
"# plot the distribution of the error\n",
"# create 4 stacked histograms, sharing the same x axis\n",
"fig, ax = plt.subplots(4, sharex=True)\n",
"ax[0].hist(diff_mag, bins=NBINS)\n",
"ax[0].set_title('Magnitude of the force difference')\n",
"ax[0].set_yscale('log')\n",
"\n",
"ax[1].hist(f_diff[:,0], bins=NBINS)\n",
"ax[1].set_title('X component of the force difference')\n",
"ax[1].set_yscale('log')\n",
"\n",
"ax[2].hist(f_diff[:,1], bins=NBINS)\n",
"ax[2].set_title('Y component of the force difference')\n",
"ax[2].set_yscale('log')\n",
"\n",
"ax[3].hist(f_diff[:,2], bins=NBINS)\n",
"ax[3].set_title('Z component of the force difference')\n",
"ax[3].set_yscale('log')\n",
"\n",
"plt.title('Error in forces')\n",
"plt.show()\n",
"\"\"\""
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"## Plot the radial force behaviour\n",
"r = np.linalg.norm(particles[:,:3], axis=1)\n",
"\n",
"plt.figure()\n",
"plt.title('Radial force behaviour')\n",
"plt.xscale('log')\n",
"plt.yscale('log')\n",
"plt.xlabel('$r$')\n",
"plt.ylabel('$F_r(r)$')\n",
"\n",
"plt.plot(r, np.linalg.norm(analytical_force, axis=1), 'o', label=\"Analytical\", zorder=10)\n",
"\n",
"for e, f in zip(epsilon_range, n_squared_forces):\n",
" plt.plot(r, np.linalg.norm(f, axis=1), '.', label=f\"N^2 - {e:.1g} * epsilon\")\n",
"\n",
"\n",
"plt.legend()\n",
"plt.show()\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Takeaways:**\n",
"- basic $N^2$ matches analytical solution without dropoff. but: noisy data from \"bad\" samples\n",
"- $N^2$ with softening matches analytical solution but has a dropoff. No noisy data.\n",
" - softening $\\approx 1 \\varepsilon$ is a sweet spot since the dropoff is \"late\""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Relation time"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# "
]
}
],
"metadata": {
"kernelspec": {
"display_name": "projects-X-9bmgL6",
"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.12.7"
}
},
"nbformat": 4,
"nbformat_minor": 2
}