From eadf7c7fcc2ca7e287982dbc39cb016589dbac1a Mon Sep 17 00:00:00 2001
From: dh00601 <dh00601@surrey.ac.uk>
Date: Sat, 18 Jun 2022 00:35:19 +0100
Subject: [PATCH] updated notebook and docs

---
 docs/build/doctrees/environment.pickle        | Bin 981266 -> 981595 bytes
 ...otebook_luminosity_function_single.doctree | Bin 65475 -> 93553 bytes
 .../notebook_luminosity_function_single.ipynb | 240 +++++++++++++-----
 ...tebook_luminosity_function_single_18_1.png | Bin 0 -> 15953 bytes
 ...tebook_luminosity_function_single_23_1.png | Bin 0 -> 17591 bytes
 ...tebook_luminosity_function_single_18_1.png | Bin 0 -> 15953 bytes
 ...tebook_luminosity_function_single_23_1.png | Bin 0 -> 17591 bytes
 .../utils/custom_logging_functions.html       |   2 +-
 .../_modules/binarycpython/utils/dicts.html   |   2 +-
 .../binarycpython/utils/ensemble.html         |   2 +-
 .../binarycpython/utils/functions.html        |   2 +-
 .../_modules/binarycpython/utils/grid.html    |   2 +-
 .../binarycpython/utils/plot_functions.html   |   2 +-
 .../utils/population_extensions/HPC.html      |   2 +-
 .../Moe_di_Stefano_2017.html                  |   2 +-
 .../population_extensions/analytics.html      |   2 +-
 .../utils/population_extensions/cache.html    |   2 +-
 .../utils/population_extensions/condor.html   |   2 +-
 .../utils/population_extensions/dataIO.html   |   2 +-
 .../distribution_functions.html               |   2 +-
 .../population_extensions/grid_logging.html   |   2 +-
 .../grid_options_defaults.html                |   2 +-
 .../utils/population_extensions/gridcode.html |   2 +-
 .../utils/population_extensions/metadata.html |   2 +-
 .../utils/population_extensions/slurm.html    |   2 +-
 .../spacing_functions.html                    |   2 +-
 .../population_extensions/version_info.html   |   2 +-
 .../utils/run_system_wrapper.html             |   2 +-
 .../binarycpython/utils/useful_funcs.html     |   2 +-
 docs/build/html/_modules/index.html           |   2 +-
 ...ebook_luminosity_function_single.ipynb.txt | 240 +++++++++++++-----
 docs/build/html/binary_c_parameters.html      |   2 +-
 docs/build/html/custom_logging_functions.html |   2 +-
 docs/build/html/dicts.html                    |   2 +-
 docs/build/html/ensemble.html                 |   2 +-
 docs/build/html/example_notebooks.html        |   2 +-
 docs/build/html/examples/notebook_BHBH.html   |   2 +-
 docs/build/html/examples/notebook_HRD.html    |   2 +-
 .../examples/notebook_api_functionality.html  |   2 +-
 .../notebook_common_envelope_evolution.html   |   2 +-
 .../examples/notebook_custom_logging.html     |   2 +-
 .../html/examples/notebook_ensembles.html     |   2 +-
 .../examples/notebook_extra_features.html     |   2 +-
 .../examples/notebook_individual_systems.html |   2 +-
 ...notebook_luminosity_function_binaries.html |   2 +-
 .../notebook_luminosity_function_single.html  | 219 +++++++++++-----
 .../notebook_luminosity_function_single.ipynb | 240 +++++++++++++-----
 .../examples/notebook_massive_remnants.html   |   2 +-
 .../html/examples/notebook_population.html    |   2 +-
 .../html/examples/notebook_solar_system.html  |   2 +-
 .../html/examples/old/basic_example.html      |   2 +-
 .../old/workshop_example_notebook.html        |   2 +-
 docs/build/html/functions.html                |   2 +-
 docs/build/html/genindex.html                 |   2 +-
 docs/build/html/grid.html                     |   2 +-
 .../build/html/grid_options_descriptions.html |   2 +-
 docs/build/html/index.html                    |   2 +-
 docs/build/html/modules.html                  |   2 +-
 docs/build/html/plot_functions.html           |   2 +-
 .../build/html/population_extensions/HPC.html |   2 +-
 .../Moe_di_Stefano_2017.html                  |   2 +-
 .../html/population_extensions/analytics.html |   2 +-
 .../html/population_extensions/cache.html     |   2 +-
 .../html/population_extensions/condor.html    |   2 +-
 .../html/population_extensions/dataIO.html    |   2 +-
 .../distribution_functions.html               |   2 +-
 .../population_extensions/grid_logging.html   |   2 +-
 .../grid_options_defaults.html                |   2 +-
 .../html/population_extensions/gridcode.html  |   2 +-
 .../html/population_extensions/metadata.html  |   2 +-
 .../html/population_extensions/slurm.html     |   2 +-
 .../spacing_functions.html                    |   2 +-
 .../population_extensions/version_info.html   |   2 +-
 docs/build/html/py-modindex.html              |   2 +-
 docs/build/html/readme_link.html              |   2 +-
 docs/build/html/run_system_wrapper.html       |   2 +-
 docs/build/html/search.html                   |   2 +-
 docs/build/html/searchindex.js                |   2 +-
 docs/build/html/stellar_types.html            |   2 +-
 docs/build/html/useful_funcs.html             |   2 +-
 docs/source/_templates/footer.html            |   2 +-
 .../notebook_luminosity_function_single.ipynb | 240 +++++++++++++-----
 82 files changed, 920 insertions(+), 401 deletions(-)
 create mode 100644 docs/build/doctrees/nbsphinx/examples_notebook_luminosity_function_single_18_1.png
 create mode 100644 docs/build/doctrees/nbsphinx/examples_notebook_luminosity_function_single_23_1.png
 create mode 100644 docs/build/html/_images/examples_notebook_luminosity_function_single_18_1.png
 create mode 100644 docs/build/html/_images/examples_notebook_luminosity_function_single_23_1.png

diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle
index d360aa2220e58df298323e35f990a68f1bfae47e..4033797eae174a13a45ac3c3f9773bed7e6a1bba 100644
GIT binary patch
delta 103840
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

delta 103474
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
bc;<=p__#}+nAq{N=f5&?qg8q`IQahonfgCO

diff --git a/docs/build/doctrees/examples/notebook_luminosity_function_single.doctree b/docs/build/doctrees/examples/notebook_luminosity_function_single.doctree
index 52b04d94e5fb2bfa5e699035c4b62237a8acc37c..20f3e55a10a47b90967f2e0d33e517cd44006ad3 100644
GIT binary patch
literal 93553
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

delta 8754
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
O@!Q%1{RJ*q3jYh0Z~t-t

diff --git a/docs/build/doctrees/nbsphinx/examples/notebook_luminosity_function_single.ipynb b/docs/build/doctrees/nbsphinx/examples/notebook_luminosity_function_single.ipynb
index 93e041531..0a19202d3 100644
--- a/docs/build/doctrees/nbsphinx/examples/notebook_luminosity_function_single.ipynb
+++ b/docs/build/doctrees/nbsphinx/examples/notebook_luminosity_function_single.ipynb
@@ -54,8 +54,7 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "adding: max_evolution_time=0.1 to BSE_options\n",
-      "adding: tmp_dir=/tmp/binary_c_python-izzard/notebooks/notebook_luminosity to grid_options\n",
+      "adding: tmp_dir=/tmp/binary_c_python-david/notebooks/notebook_luminosity to grid_options\n",
       "verbosity is 1\n"
      ]
     }
@@ -104,28 +103,6 @@
     "# help(population.add_grid_variable)"
    ]
   },
-  {
-   "cell_type": "markdown",
-   "id": "bd75cebe-2152-4025-b680-dc020b80889b",
-   "metadata": {},
-   "source": [
-    "All the distribution functions that we can use are stored in the `binarycpython.utils.distribution_functions` or `binarycpython/utils/distribution_functions.py` on git. If you uncomment the help statement below you can see which functions are available now:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 4,
-   "id": "048db541-3e92-4c5d-a25c-9c5a34b9c857",
-   "metadata": {
-    "scrolled": true,
-    "tags": []
-   },
-   "outputs": [],
-   "source": [
-    "import binarycpython.utils.distribution_functions\n",
-    "# help(binarycpython.utils.distribution_functions)"
-   ]
-  },
   {
    "cell_type": "markdown",
    "id": "2a9104fc-4136-4e53-8604-f24ad52fbe56",
@@ -141,7 +118,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 5,
+   "execution_count": 3,
    "id": "aba3fe4e-18f2-4bb9-8e5c-4c6007ab038b",
    "metadata": {},
    "outputs": [],
@@ -165,22 +142,10 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 6,
+   "execution_count": 4,
    "id": "47979841-2c26-4b26-8945-603d013dc93a",
    "metadata": {},
-   "outputs": [
-    {
-     "ename": "TypeError",
-     "evalue": "add_grid_variable() got an unexpected keyword argument 'resolution'",
-     "output_type": "error",
-     "traceback": [
-      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
-      "\u001b[0;31mTypeError\u001b[0m                                 Traceback (most recent call last)",
-      "\u001b[0;32m/tmp/ipykernel_519112/518757914.py\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m      4\u001b[0m     \u001b[0mtmp_dir\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mTMP_DIR\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      5\u001b[0m )\n\u001b[0;32m----> 6\u001b[0;31m population.add_grid_variable(\n\u001b[0m\u001b[1;32m      7\u001b[0m     \u001b[0mname\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"M_1\"\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      8\u001b[0m     \u001b[0mlongname\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"Primary mass\"\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
-      "\u001b[0;31mTypeError\u001b[0m: add_grid_variable() got an unexpected keyword argument 'resolution'"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "# Mass\n",
     "population = Population()\n",
@@ -191,8 +156,16 @@
     "    name=\"M_1\",\n",
     "    longname=\"Primary mass\",\n",
     "    valuerange=massrange,\n",
-    "    samplerfunc=\"const({min}, {max}, {res})\".format(min = massrange[0], max = massrange[1], res = resolution[\"M_1\"]),\n",
-    "    probdist=\"{probtot}/({max} - {min})\".format(probtot = total_probability, min = massrange[0], max = massrange[1]), # dprob/dm1 : all stars are equally likely so this is 1.0 / (Mmax - Mmin)\n",
+    "    samplerfunc=\"self.const_linear({min}, {max}, {res})\".format(\n",
+    "        min=massrange[0],\n",
+    "        max=massrange[1],\n",
+    "        res=resolution[\"M_1\"]\n",
+    "    ),\n",
+    "    probdist=\"{probtot}/({max} - {min})\".format(\n",
+    "        probtot=total_probability,\n",
+    "        min=massrange[0],\n",
+    "        max=massrange[1]\n",
+    "    ), # dprob/dm1 : all stars are equally likely so this is 1.0 / (Mmax - Mmin)\n",
     "    dphasevol=\"dM_1\",\n",
     "    parameter_name=\"M_1\",\n",
     "    condition=\"\",  # Impose a condition on this grid variable. Mostly for a check for yourself\n",
@@ -214,7 +187,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 5,
    "id": "0c986215-93b1-4e30-ad79-f7c397e9ff7d",
    "metadata": {},
    "outputs": [],
@@ -258,10 +231,18 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 15,
    "id": "fd197154-a8ce-4865-8929-008d3483101a",
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "adding: parse_function=<function parse_function at 0x7f6920fd2430> to grid_options\n"
+     ]
+    }
+   ],
    "source": [
     "# import the bin_data function so we can construct finite-resolution probability distributions\n",
     "# import the datalinedict to make a dictionary from each line of data from binary_c\n",
@@ -279,18 +260,15 @@
     "    for line in output.splitlines():\n",
     "        # obtain the line of data in dictionary form \n",
     "        linedata = datalinedict(line,parameters)\n",
-    "        \n",
+    "\n",
     "        # Check the header and act accordingly\n",
     "        if linedata['header'] == \"ZERO_AGE_MAIN_SEQUENCE_STAR\":\n",
-    "            \n",
+    "\n",
     "            # bin the log10(luminosity) to the nearest 0.1dex\n",
     "            binned_log_luminosity = bin_data(math.log10(linedata['luminosity']),\n",
     "                                             binwidth['luminosity'])\n",
-    "            \n",
     "            # append the data to the results_dictionary \n",
     "            self.grid_results['luminosity distribution'][binned_log_luminosity] += linedata['probability'] \n",
-    "            \n",
-    "            #print (self.grid_results)\n",
     "    \n",
     "    # verbose reporting\n",
     "    #print(\"parse out results_dictionary=\",self.grid_results)\n",
@@ -316,12 +294,42 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 16,
    "id": "8ea376c1-1e92-45af-8cab-9d7fdca564eb",
    "metadata": {
     "tags": []
    },
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "adding: verbosity=0 to grid_options\n",
+      "Do dry run? True\n",
+      "Doing dry run to calculate total starcount and probability\n",
+      "Grid has handled 39 stars with a total probability of 1\n",
+      "**************************\n",
+      "*         Dry run        *\n",
+      "*  Total starcount is 39 *\n",
+      "* Total probability is 1 *\n",
+      "**************************\n",
+      "\n",
+      "Do join of subprocesses ...\n",
+      "Joined subprocesses.\n",
+      "**********************************************************\n",
+      "*  Population-f9b28e4ed6ec4a67b17cd86c5a43c41c finished! *\n",
+      "*               The total probability is 1.              *\n",
+      "*  It took a total of 3.99s to run 39 systems on 2 cores *\n",
+      "*                   = 7.98s of CPU time.                 *\n",
+      "*              Maximum memory use 343.570 MB             *\n",
+      "**********************************************************\n",
+      "\n",
+      "No failed systems were found in this run.\n",
+      "Do analytics\n",
+      "Added analytics to metadata\n"
+     ]
+    }
+   ],
    "source": [
     "# set number of threads\n",
     "population.set(\n",
@@ -329,7 +337,7 @@
     "    verbosity=0,\n",
     "    # set number of threads (i.e. number of CPU cores we use)\n",
     "    num_cores=2,\n",
-    "    )\n",
+    ")\n",
     "\n",
     "# Evolve the population - this is the slow, number-crunching step\n",
     "analytics = population.evolve()  \n",
@@ -348,20 +356,51 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 19,
    "id": "e1f0464b-0424-4022-b34b-5b744bc2c59d",
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "{'population_id': 'f9b28e4ed6ec4a67b17cd86c5a43c41c', 'evolution_type': 'grid', 'failed_count': 0, 'failed_prob': 0, 'failed_systems_error_codes': [], 'errors_exceeded': False, 'errors_found': False, 'total_probability': 0.9999999999999999, 'total_count': 39, 'start_timestamp': 1655508316.7679594, 'end_timestamp': 1655508320.7581806, 'time_elapsed': 3.9902212619781494, 'total_mass_run': 1951.365, 'total_probability_weighted_mass_run': 50.035, 'zero_prob_stars_skipped': 0}\n"
+     ]
+    }
+   ],
    "source": [
     "print(analytics)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 18,
    "id": "05c6d132-abee-423e-b1a8-2039c8996fbc",
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[None]"
+      ]
+     },
+     "execution_count": 18,
+     "metadata": {},
+     "output_type": "execute_result"
+    },
+    {
+     "data": {
+      "image/png": "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3R7YwRXSMhJB59ixozz++N9ISmrMQw895rH/PDV1AQkJDRky5EwsFguNGzchNXUBN9/8R4/nnDhxMh988D5btmyiT59+ACxatJDhw0cSF1e5fEmLFi1Zu3Y1mZkZNGvW3L/foBf27NnNk08+wtSpFzNpUiwffjiL+++/h1tu+SMffTSbCy64kJMnT/DRR7N49tkneeml12s856xZ72K12rj88qs5fvwYH3/8AY899jBvvz2r7Jj587/h6acfo1evPtx6651kZBzm888/Zfv2rbz99myio6MpLi7m3nvvwGazMmPG5TRq1IjDhw+TlvYjeXnHiY+Pr/TaF1xwIdnZ2axevaJct2xcXByjRo1l6dJU7rjjHmw2W9m+RYu+JSIigvHjJ1b5PTmdTh588E9s2rSBqVMvokOHjvzwwzKefPLRGq/HmjUrefTRhxg9eiznnz8Nu93O7t2/s3nzRi655DJGjx7HwYP7WbjwW+68814aNUoEjK5l93N8990ipk2bTkJCAk2bNq3y9UpKSrjvvjtJ7tabS6/8A9s2reb1118B4IorrinXGqppulFV17Pq73UV9913J+3adeDGG2/l5MkTzJ37MbfeegMzZ35MUtKp76mkpIR7772dPn368cc/3sWaNav45JMPadOmLdOmXVzja9WWJCMRdP7xjyfIysrkxRdfIzEx0eMxqakLGDVqTFnXy5gx41i8eCF/+MNtHpNX585d6NIlmdTUBfTp04/s7CzWr1/L448/4/H8V1xxDc888wQzZkylT59+9O3bn8GDh9K7d1+s1sB3KOzdu4e33ppJz569AWjWrAWPPPIgr776Mp98Mq/sjbGkpIQPPnifw4cP0aJF5QEc7kpKSnjvvVll16xhw0a89NLz7Nr1G507J1NSUsLrr79CcnI3XnnlTaKijEofSnXn0Ucf4ptvvuDiiy9l9+5dpKcf4O23Z9GjR6+y81d3L6h377506NCR1atXVOqWPeusc1i06FvWr1/D4MFnlm1PTV3A0KHDyr5XT3788Xs2bFjPHXfcU9aCnjr1Yu6885ZqrwVAWtpPdOrUmaee+j+P+5OTu6JUDxYu/JaRI8fQqlXrSsfs27eXDz6YQ/v2Hcq2ubdy3RUUFHDG4BQuvfIWbDYr1199BffeewczZ77LtGnTiYk+1QovLqm+FVLd9fTktddeIjExkddf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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
    "source": [
     "# make a plot of the luminosity distribution using Seaborn and Pandas\n",
     "import seaborn as sns\n",
@@ -412,7 +451,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 22,
    "id": "1f37d2c0-1108-4ab9-a309-20b1e6b6e3fd",
    "metadata": {},
    "outputs": [],
@@ -420,16 +459,45 @@
     "# Update the probability distribution to use the three-part power law IMF \n",
     "population.update_grid_variable(\n",
     "    name=\"M_1\",\n",
-    "    probdist=\"three_part_powerlaw(M_1, 0.1, 0.5, 1.0, 150, -1.3, -2.3, -2.3)\",\n",
+    "    probdist=\"self.three_part_powerlaw(M_1, 0.1, 0.5, 1.0, 150, -1.3, -2.3, -2.3)\",\n",
     ")"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 23,
    "id": "6f4463e8-1935-45f2-8c5f-e7b215f8dc47",
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Do dry run? True\n",
+      "Doing dry run to calculate total starcount and probability\n",
+      "Grid has handled 39 stars with a total probability of 0.211729\n",
+      "**********************************\n",
+      "*             Dry run            *\n",
+      "*      Total starcount is 39     *\n",
+      "*  Total probability is 0.211729 *\n",
+      "**********************************\n",
+      "\n",
+      "Do join of subprocesses ...\n",
+      "Joined subprocesses.\n",
+      "**********************************************************\n",
+      "*  Population-1d1d556abeae4549aa28f9740807dc84 finished! *\n",
+      "*           The total probability is 0.211729.           *\n",
+      "*  It took a total of 3.90s to run 39 systems on 2 cores *\n",
+      "*                   = 7.80s of CPU time.                 *\n",
+      "*              Maximum memory use 519.211 MB             *\n",
+      "**********************************************************\n",
+      "\n",
+      "No failed systems were found in this run.\n",
+      "Do analytics\n",
+      "Added analytics to metadata\n"
+     ]
+    }
+   ],
    "source": [
     "# Clean and re-evolve the population \n",
     "population.clean()\n",
@@ -441,10 +509,33 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 24,
    "id": "cfe45a9e-1121-43b6-b6b6-4de6f8946a18",
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[None]"
+      ]
+     },
+     "execution_count": 24,
+     "metadata": {},
+     "output_type": "execute_result"
+    },
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaQAAAEdCAYAAABDiROIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAABEJElEQVR4nO3dd3hUVfrA8e+kBxJIgAAhIC3wgoCA0nsVxQYKYl97Wxu7lnV1f3ZXXfvaK7ZVwYoFpYnSq3Q80msCAUIJJJAyvz/uJEySSTITZnJnkvfzPDyTnHvmzjuXyX3nnHvuOQ6n04lSSilltzC7A1BKKaVAE5JSSqkgoQlJKaVUUNCEpJRSKihoQlJKKRUUIuwOIERFA92BNCDf5liUUipUhAPJwGLgWMmNmpAqpzsw2+4glFIqRPUH5pQs1IRUOWkAmZlHKCgI7H1c9evHsW9fVkBfo6bSYxs4emwDJ5SPbViYg8TE2uA6h5akCaly8gEKCpwBT0iFr6MCQ49t4OixDZxqcGw9XurQQQ1KKaWCgiYkpZRSQUETklJKqaCgCUkppVRQ0ISklFIqKOgouxCUnX2ErKwD5OfnFZXl5hWQX+AkOjIch8PG4ELInj1hFBQU2B1GtaTHNnCC8diGhYUTERFFfHwCkZFRld6PJqQQk519hMOHM0lISCIyMgqHw0FBgZNtuw9DONSuG0OdWpX/QNQkERFh5OUF1x92daHHNnCC7dg6nU4KCvI5diybzMw9xMcnEhtbu1L70i67EJOVdYCEhCSioqJxuJpCefknPpyHjxy3KzSlVA3kcDgID4+gVq14EhIacOTIwUrvSxNSiMnPzzupJrFSSgVKZGQ0eXm5lX6+JqQQ5NCLREqpIHSy5yZNSEoppYKCJiSllFJBQROSUgEyZsx5PPHEw7a89m233chtt91oy2sXSkvbRb9+3fjxx++C5vWfeOJhxow5z7bXPuusQQF/7bJePxTU2GHfIvIIMBZoB1xmjPnM5pBqrLS0XYwde36F9f75z4cYObL4yWTfvr1ceOE5FBQUMGnSdzRu3LjU82677UaWL19Gy5at+OijiaW2z5w5nf/7v38A8PLLb3D66d2Ktq1YsZwPP3yPjRvXc+jQQRISEklNbcuwYSM488yzfH2rNd6CBfNYs2YV1113k92heG316lUsXDiPiy++jPj4eLvDKSYUj2d5amxCAtYDdwKP2R1ITZeQkMi//vWox20FBQX8978vkJ19lDZtpNT2GTOmEhMTQ3h4BNOn/8QVV1ztcT9RUVFs3ryJDRvWk5rapti2adN+IioqmuPHiy9gOXPmdB566H7atGnL2LGXEB9fh7S0XSxfvozvvvs6qBPSCy+8ancING6czIwZc4mIOHGaWbhwPpMmfWrbCfS++x70+abStWtX8f77bzNy5HleJyRP7z0QyjqeVfX6/hZa0fqRMeZjABF5wO5YarrY2FhGjBjpcdu7777JoUMHue22u2jTpm2p7dOm/US/fgOJiopi2rSfy0xIp5zSgqNHjzB9+s/FElJWVhYLF86jd+++/PrrL8We8957b9GqVWvefHMCkZGRxbZlZu738V1WrZLx2sHhcBAdHW13GMUE+gSdn59Pfn4+UVFRtr73YDz23rD9GpKIJIvIUyLyi4gcFhGniAwqo260iDwtIrtEJFtEFojI0CoOWVWR5cuX8eGH79G7d1/Gjbu81Pbt27exbt1ahg49k6FDz2TjxvVs2rSxzP0NHXomM2ZMxek8sbjZrFkzcDgc9O8/qFT9Xbt2cOqpHT2e3BMT6/n8ft5990369etWqvzHH7+jX79upKXtKiobM+Y87r//7yxevIBrr72cIUP6cu21l7N27WoApkz5nksuuZAhQ/pw2203smvXzmL7LHkNadmyJfTr141ff53JhAnvMGrU2QwZ0oc777yFHTu2l4ppxoypXHPNZQwZ0odzzx3Ov//9KAcOHChWZ/v2bTzwwD2cf/4Ihgzpw+jRI3noofvJyrJWMy15HeOJJx5m0qRPAejXr1vRv6NHjzJsWD9efPHZUnFs376Nfv268dVXk8o9tocPH+aJJx5mxIiBnHXWIB5//CGysg6XqufpGtL06T9z7bVXMHz4AM48cyBXXTWOiROtON99901efvl5AMaOPb8o5sL/q379uvHSS88xZcr3XHbZRQwZ0ofVq1eWew1nx47t3HXXrQwb1o8LLzyHTz75oNj2wv+rZcuWFCsv3Of3308u93i61y35+kuWLOKWW65l6NC+nHXWYB588L5Sn53Ca127d6dz333jGT68P+eeO4xXXnmR/HyP6+r5TTC0kAS4D9gArAT6lFN3AnAR8KKr/tXAFBEZaIyZH9AoVZU6dOggjz76LxIT6/HAA494vL9h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PO4bICrK+nPNzDzo8SbTESPO4e23XyM/P58GDZLo3PmMCo9xz559+Oabr/jyyy+KBjXk5+czceJnpV6/5HE5ePBAqQETLVumAnD0aA55eQVFMR88eJCGDUu3/AoKKP036eG9F772xImfF12vKSgo4MsvJxEbG0vHjp3JyysgKakx4eHhLFu2lL59T4zN+uKLE7OMVHQ8S75+QkJ92rRpy/ffT+bSS68iLs76Mr127WpWrVrJuHGXl3mMTrxPz+Wlj0dBsXOWu7AwR7lf5EMpIaVhdduVVFgWuA5YFVB792bw9NNPEBtbi9TUNmVeOE1JaUqbNsJvv/1C9+69PHbJORwOevfuyy+/TCc7O5vY2NIN58TERK677qYKV968//6/k5zchL59B5CSkkJ2dg5Llixk7tzZtG9/alELzFs9evSiUaPGPPXUY1x66RbCwsL54YfJJCQksnt3esU7qAIRERHccsvtPPnkI9x++00MG3Yme/bs5osvPqdVq9acd95owEqqL7zwDIMGDeWUU5pTUJDPzz9PweFwMHDgkDL3L9IegBdf/A89e/YmLCyMYcNGFG0fPvws3njjv8yZ8xuXXHKFV6MZ+/YdQKdOnXn11ZfYuXMHzZu35Lfffim6H6o8Tz31OIcPH+L007vRsGFDdu+23mubNm1p0aKlK+Z2ALz11msMHXomERER9O07wONnqyIxMTHMmfMrhw8fQqQ98+bNYenSRdx0021FI+zi4uIYNGgoX3zxOeAgJaUp8+bNJjMzs9T+Kjqe7m699U7uvvsObrnlWs4553yOHDnCpEmfUb9+gzJvKK9qoZSQlgN3ikhciYENhVcfV1R9SMoftm3bWnQT41NPPV5mvbPPPpe+ffuTlZVFnz79yqzXt29/fvzxO2bP/vWkpve5774HmT37V2bOnMbevRk4nVa3ylVXXcsVV/zF57v+IyIiePLJZ3nuuad45503qFevPhdffCnx8XV48slHKh2nv40ceR5RUVF88skHvPrqS9SuXZvhw8/i5ptvL7r7PzW1DT169GLevNl8++1XxMTEkJrahmeffbnc0Yf9+w9k7NhLmTbtJ6ZOnYLT6Sx2Am3QoAFnnNHDNZT5bK/iDQsL4+mnn+ell57j559/xOFw0LfvAG677S6uuab0DdXuRow4m8mTv+brr78gK+sw9erVZ8iQYVx77Y1F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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
    "source": [
     "# plot luminosity distribution\n",
     "ldist = population.grid_results['luminosity distribution']\n",
@@ -491,10 +582,23 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 27,
    "id": "5956f746-e3b9-4912-b75f-8eb0af66d3f6",
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "ename": "ValueError",
+     "evalue": "Failed to rename grid variable M_1 to lnM_1.",
+     "output_type": "error",
+     "traceback": [
+      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+      "\u001b[0;31mValueError\u001b[0m                                Traceback (most recent call last)",
+      "Input \u001b[0;32mIn [27]\u001b[0m, in \u001b[0;36m<cell line: 2>\u001b[0;34m()\u001b[0m\n\u001b[1;32m      1\u001b[0m \u001b[38;5;66;03m# Rename the old variable (M_1) because we want it to be called lnM_1 now\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m \u001b[43mpopulation\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrename_grid_variable\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mM_1\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mlnM_1\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n",
+      "File \u001b[0;32m~/.pyenv/versions/3.9.9/envs/dev_binarycpython3.9.9/lib/python3.9/site-packages/binarycpython/utils/population_extensions/gridcode.py:965\u001b[0m, in \u001b[0;36mgridcode.rename_grid_variable\u001b[0;34m(self, oldname, newname)\u001b[0m\n\u001b[1;32m    963\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m    964\u001b[0m     msg \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mFailed to rename grid variable \u001b[39m\u001b[38;5;132;01m{}\u001b[39;00m\u001b[38;5;124m to \u001b[39m\u001b[38;5;132;01m{}\u001b[39;00m\u001b[38;5;124m.\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;241m.\u001b[39mformat(oldname, newname)\n\u001b[0;32m--> 965\u001b[0m     \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(msg)\n",
+      "\u001b[0;31mValueError\u001b[0m: Failed to rename grid variable M_1 to lnM_1."
+     ]
+    }
+   ],
    "source": [
     "# Rename the old variable (M_1) because we want it to be called lnM_1 now\n",
     "population.rename_grid_variable(\"M_1\",\"lnM_1\")"
@@ -520,8 +624,8 @@
     "# because  M * dprob/dM = dprob/dlnM\n",
     "population.update_grid_variable(\n",
     "    name=\"lnM_1\",\n",
-    "    samplerfunc=\"const(math.log({min}), math.log({max}), {res})\".format(min = massrange[0], max = massrange[1], res = resolution[\"M_1\"]),\n",
-    "    probdist=\"three_part_powerlaw(M_1, 0.1, 0.5, 1.0, 150, -1.3, -2.3, -2.3)*M_1\",\n",
+    "    samplerfunc=\"self.const_linear(math.log({min}), math.log({max}), {res})\".format(min = massrange[0], max = massrange[1], res = resolution[\"M_1\"]),\n",
+    "    probdist=\"self.three_part_powerlaw(M_1, 0.1, 0.5, 1.0, 150, -1.3, -2.3, -2.3)*M_1\",\n",
     "    dphasevol=\"dlnM_1\",\n",
     "    parameter_name=\"M_1\",\n",
     "    precode=\"M_1=math.exp(lnM_1)\",\n",
@@ -615,7 +719,7 @@
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -629,7 +733,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.6.4"
+   "version": "3.9.9"
   }
  },
  "nbformat": 4,
diff --git a/docs/build/doctrees/nbsphinx/examples_notebook_luminosity_function_single_18_1.png b/docs/build/doctrees/nbsphinx/examples_notebook_luminosity_function_single_18_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..010c0d71f33a94c881df5bc7102d35b9fc4bee39
GIT binary patch
literal 15953
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
B!ukLJ

literal 0
HcmV?d00001

diff --git a/docs/build/doctrees/nbsphinx/examples_notebook_luminosity_function_single_23_1.png b/docs/build/doctrees/nbsphinx/examples_notebook_luminosity_function_single_23_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..389ac14b102032a1bf1c0dfa6612d009812ab605
GIT binary patch
literal 17591
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
NSzbe~LdN{d{{bakIwAl7

literal 0
HcmV?d00001

diff --git a/docs/build/html/_images/examples_notebook_luminosity_function_single_18_1.png b/docs/build/html/_images/examples_notebook_luminosity_function_single_18_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..010c0d71f33a94c881df5bc7102d35b9fc4bee39
GIT binary patch
literal 15953
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
B!ukLJ

literal 0
HcmV?d00001

diff --git a/docs/build/html/_images/examples_notebook_luminosity_function_single_23_1.png b/docs/build/html/_images/examples_notebook_luminosity_function_single_23_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..389ac14b102032a1bf1c0dfa6612d009812ab605
GIT binary patch
literal 17591
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
NSzbe~LdN{d{{bakIwAl7

literal 0
HcmV?d00001

diff --git a/docs/build/html/_modules/binarycpython/utils/custom_logging_functions.html b/docs/build/html/_modules/binarycpython/utils/custom_logging_functions.html
index 9745bc288..1a1b520dd 100644
--- a/docs/build/html/_modules/binarycpython/utils/custom_logging_functions.html
+++ b/docs/build/html/_modules/binarycpython/utils/custom_logging_functions.html
@@ -552,7 +552,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/_modules/binarycpython/utils/dicts.html b/docs/build/html/_modules/binarycpython/utils/dicts.html
index 81e72aea1..2eab7d38e 100644
--- a/docs/build/html/_modules/binarycpython/utils/dicts.html
+++ b/docs/build/html/_modules/binarycpython/utils/dicts.html
@@ -963,7 +963,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/_modules/binarycpython/utils/ensemble.html b/docs/build/html/_modules/binarycpython/utils/ensemble.html
index 081d5d63f..aa9a9d83d 100644
--- a/docs/build/html/_modules/binarycpython/utils/ensemble.html
+++ b/docs/build/html/_modules/binarycpython/utils/ensemble.html
@@ -477,7 +477,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/_modules/binarycpython/utils/functions.html b/docs/build/html/_modules/binarycpython/utils/functions.html
index 83c6d450a..e11289f1e 100644
--- a/docs/build/html/_modules/binarycpython/utils/functions.html
+++ b/docs/build/html/_modules/binarycpython/utils/functions.html
@@ -1312,7 +1312,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/_modules/binarycpython/utils/grid.html b/docs/build/html/_modules/binarycpython/utils/grid.html
index 9963ffaca..24fc6c8c4 100644
--- a/docs/build/html/_modules/binarycpython/utils/grid.html
+++ b/docs/build/html/_modules/binarycpython/utils/grid.html
@@ -2513,7 +2513,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/_modules/binarycpython/utils/plot_functions.html b/docs/build/html/_modules/binarycpython/utils/plot_functions.html
index de250e932..573253c8d 100644
--- a/docs/build/html/_modules/binarycpython/utils/plot_functions.html
+++ b/docs/build/html/_modules/binarycpython/utils/plot_functions.html
@@ -715,7 +715,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/HPC.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/HPC.html
index 22c7c11b8..96fd86646 100644
--- a/docs/build/html/_modules/binarycpython/utils/population_extensions/HPC.html
+++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/HPC.html
@@ -825,7 +825,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/Moe_di_Stefano_2017.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/Moe_di_Stefano_2017.html
index 352526092..2cbea64e4 100644
--- a/docs/build/html/_modules/binarycpython/utils/population_extensions/Moe_di_Stefano_2017.html
+++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/Moe_di_Stefano_2017.html
@@ -1318,7 +1318,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/analytics.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/analytics.html
index c9af87f8d..4e45169a1 100644
--- a/docs/build/html/_modules/binarycpython/utils/population_extensions/analytics.html
+++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/analytics.html
@@ -208,7 +208,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/cache.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/cache.html
index edfbf9729..036049112 100644
--- a/docs/build/html/_modules/binarycpython/utils/population_extensions/cache.html
+++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/cache.html
@@ -454,7 +454,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/condor.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/condor.html
index 5a1a7f918..ad1ea2c28 100644
--- a/docs/build/html/_modules/binarycpython/utils/population_extensions/condor.html
+++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/condor.html
@@ -655,7 +655,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/dataIO.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/dataIO.html
index 825d42312..72ea21094 100644
--- a/docs/build/html/_modules/binarycpython/utils/population_extensions/dataIO.html
+++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/dataIO.html
@@ -902,7 +902,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/distribution_functions.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/distribution_functions.html
index e99f1eb56..65258c1bd 100644
--- a/docs/build/html/_modules/binarycpython/utils/population_extensions/distribution_functions.html
+++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/distribution_functions.html
@@ -2403,7 +2403,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/grid_logging.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/grid_logging.html
index bf905cb29..b2633a656 100644
--- a/docs/build/html/_modules/binarycpython/utils/population_extensions/grid_logging.html
+++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/grid_logging.html
@@ -555,7 +555,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/grid_options_defaults.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/grid_options_defaults.html
index 6c25bfb14..5da25e0a6 100644
--- a/docs/build/html/_modules/binarycpython/utils/population_extensions/grid_options_defaults.html
+++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/grid_options_defaults.html
@@ -717,7 +717,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/gridcode.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/gridcode.html
index ee0432e65..c1ab4bc71 100644
--- a/docs/build/html/_modules/binarycpython/utils/population_extensions/gridcode.html
+++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/gridcode.html
@@ -1236,7 +1236,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/metadata.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/metadata.html
index 0dbfd1476..cfa885915 100644
--- a/docs/build/html/_modules/binarycpython/utils/population_extensions/metadata.html
+++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/metadata.html
@@ -229,7 +229,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/slurm.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/slurm.html
index 06da36819..45e6cc2f3 100644
--- a/docs/build/html/_modules/binarycpython/utils/population_extensions/slurm.html
+++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/slurm.html
@@ -553,7 +553,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/spacing_functions.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/spacing_functions.html
index aa79bcb69..e49fe3d06 100644
--- a/docs/build/html/_modules/binarycpython/utils/population_extensions/spacing_functions.html
+++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/spacing_functions.html
@@ -776,7 +776,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/version_info.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/version_info.html
index d9fa98584..855e7e2d5 100644
--- a/docs/build/html/_modules/binarycpython/utils/population_extensions/version_info.html
+++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/version_info.html
@@ -522,7 +522,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/_modules/binarycpython/utils/run_system_wrapper.html b/docs/build/html/_modules/binarycpython/utils/run_system_wrapper.html
index 2ec29a905..2dfeafb0d 100644
--- a/docs/build/html/_modules/binarycpython/utils/run_system_wrapper.html
+++ b/docs/build/html/_modules/binarycpython/utils/run_system_wrapper.html
@@ -206,7 +206,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/_modules/binarycpython/utils/useful_funcs.html b/docs/build/html/_modules/binarycpython/utils/useful_funcs.html
index 9d91d4667..d2e13b7eb 100644
--- a/docs/build/html/_modules/binarycpython/utils/useful_funcs.html
+++ b/docs/build/html/_modules/binarycpython/utils/useful_funcs.html
@@ -472,7 +472,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/_modules/index.html b/docs/build/html/_modules/index.html
index 9074a1a98..b31aab06c 100644
--- a/docs/build/html/_modules/index.html
+++ b/docs/build/html/_modules/index.html
@@ -110,7 +110,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/_sources/examples/notebook_luminosity_function_single.ipynb.txt b/docs/build/html/_sources/examples/notebook_luminosity_function_single.ipynb.txt
index 93e041531..0a19202d3 100644
--- a/docs/build/html/_sources/examples/notebook_luminosity_function_single.ipynb.txt
+++ b/docs/build/html/_sources/examples/notebook_luminosity_function_single.ipynb.txt
@@ -54,8 +54,7 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "adding: max_evolution_time=0.1 to BSE_options\n",
-      "adding: tmp_dir=/tmp/binary_c_python-izzard/notebooks/notebook_luminosity to grid_options\n",
+      "adding: tmp_dir=/tmp/binary_c_python-david/notebooks/notebook_luminosity to grid_options\n",
       "verbosity is 1\n"
      ]
     }
@@ -104,28 +103,6 @@
     "# help(population.add_grid_variable)"
    ]
   },
-  {
-   "cell_type": "markdown",
-   "id": "bd75cebe-2152-4025-b680-dc020b80889b",
-   "metadata": {},
-   "source": [
-    "All the distribution functions that we can use are stored in the `binarycpython.utils.distribution_functions` or `binarycpython/utils/distribution_functions.py` on git. If you uncomment the help statement below you can see which functions are available now:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 4,
-   "id": "048db541-3e92-4c5d-a25c-9c5a34b9c857",
-   "metadata": {
-    "scrolled": true,
-    "tags": []
-   },
-   "outputs": [],
-   "source": [
-    "import binarycpython.utils.distribution_functions\n",
-    "# help(binarycpython.utils.distribution_functions)"
-   ]
-  },
   {
    "cell_type": "markdown",
    "id": "2a9104fc-4136-4e53-8604-f24ad52fbe56",
@@ -141,7 +118,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 5,
+   "execution_count": 3,
    "id": "aba3fe4e-18f2-4bb9-8e5c-4c6007ab038b",
    "metadata": {},
    "outputs": [],
@@ -165,22 +142,10 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 6,
+   "execution_count": 4,
    "id": "47979841-2c26-4b26-8945-603d013dc93a",
    "metadata": {},
-   "outputs": [
-    {
-     "ename": "TypeError",
-     "evalue": "add_grid_variable() got an unexpected keyword argument 'resolution'",
-     "output_type": "error",
-     "traceback": [
-      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
-      "\u001b[0;31mTypeError\u001b[0m                                 Traceback (most recent call last)",
-      "\u001b[0;32m/tmp/ipykernel_519112/518757914.py\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m      4\u001b[0m     \u001b[0mtmp_dir\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mTMP_DIR\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      5\u001b[0m )\n\u001b[0;32m----> 6\u001b[0;31m population.add_grid_variable(\n\u001b[0m\u001b[1;32m      7\u001b[0m     \u001b[0mname\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"M_1\"\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      8\u001b[0m     \u001b[0mlongname\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"Primary mass\"\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
-      "\u001b[0;31mTypeError\u001b[0m: add_grid_variable() got an unexpected keyword argument 'resolution'"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "# Mass\n",
     "population = Population()\n",
@@ -191,8 +156,16 @@
     "    name=\"M_1\",\n",
     "    longname=\"Primary mass\",\n",
     "    valuerange=massrange,\n",
-    "    samplerfunc=\"const({min}, {max}, {res})\".format(min = massrange[0], max = massrange[1], res = resolution[\"M_1\"]),\n",
-    "    probdist=\"{probtot}/({max} - {min})\".format(probtot = total_probability, min = massrange[0], max = massrange[1]), # dprob/dm1 : all stars are equally likely so this is 1.0 / (Mmax - Mmin)\n",
+    "    samplerfunc=\"self.const_linear({min}, {max}, {res})\".format(\n",
+    "        min=massrange[0],\n",
+    "        max=massrange[1],\n",
+    "        res=resolution[\"M_1\"]\n",
+    "    ),\n",
+    "    probdist=\"{probtot}/({max} - {min})\".format(\n",
+    "        probtot=total_probability,\n",
+    "        min=massrange[0],\n",
+    "        max=massrange[1]\n",
+    "    ), # dprob/dm1 : all stars are equally likely so this is 1.0 / (Mmax - Mmin)\n",
     "    dphasevol=\"dM_1\",\n",
     "    parameter_name=\"M_1\",\n",
     "    condition=\"\",  # Impose a condition on this grid variable. Mostly for a check for yourself\n",
@@ -214,7 +187,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 5,
    "id": "0c986215-93b1-4e30-ad79-f7c397e9ff7d",
    "metadata": {},
    "outputs": [],
@@ -258,10 +231,18 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 15,
    "id": "fd197154-a8ce-4865-8929-008d3483101a",
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "adding: parse_function=<function parse_function at 0x7f6920fd2430> to grid_options\n"
+     ]
+    }
+   ],
    "source": [
     "# import the bin_data function so we can construct finite-resolution probability distributions\n",
     "# import the datalinedict to make a dictionary from each line of data from binary_c\n",
@@ -279,18 +260,15 @@
     "    for line in output.splitlines():\n",
     "        # obtain the line of data in dictionary form \n",
     "        linedata = datalinedict(line,parameters)\n",
-    "        \n",
+    "\n",
     "        # Check the header and act accordingly\n",
     "        if linedata['header'] == \"ZERO_AGE_MAIN_SEQUENCE_STAR\":\n",
-    "            \n",
+    "\n",
     "            # bin the log10(luminosity) to the nearest 0.1dex\n",
     "            binned_log_luminosity = bin_data(math.log10(linedata['luminosity']),\n",
     "                                             binwidth['luminosity'])\n",
-    "            \n",
     "            # append the data to the results_dictionary \n",
     "            self.grid_results['luminosity distribution'][binned_log_luminosity] += linedata['probability'] \n",
-    "            \n",
-    "            #print (self.grid_results)\n",
     "    \n",
     "    # verbose reporting\n",
     "    #print(\"parse out results_dictionary=\",self.grid_results)\n",
@@ -316,12 +294,42 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 16,
    "id": "8ea376c1-1e92-45af-8cab-9d7fdca564eb",
    "metadata": {
     "tags": []
    },
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "adding: verbosity=0 to grid_options\n",
+      "Do dry run? True\n",
+      "Doing dry run to calculate total starcount and probability\n",
+      "Grid has handled 39 stars with a total probability of 1\n",
+      "**************************\n",
+      "*         Dry run        *\n",
+      "*  Total starcount is 39 *\n",
+      "* Total probability is 1 *\n",
+      "**************************\n",
+      "\n",
+      "Do join of subprocesses ...\n",
+      "Joined subprocesses.\n",
+      "**********************************************************\n",
+      "*  Population-f9b28e4ed6ec4a67b17cd86c5a43c41c finished! *\n",
+      "*               The total probability is 1.              *\n",
+      "*  It took a total of 3.99s to run 39 systems on 2 cores *\n",
+      "*                   = 7.98s of CPU time.                 *\n",
+      "*              Maximum memory use 343.570 MB             *\n",
+      "**********************************************************\n",
+      "\n",
+      "No failed systems were found in this run.\n",
+      "Do analytics\n",
+      "Added analytics to metadata\n"
+     ]
+    }
+   ],
    "source": [
     "# set number of threads\n",
     "population.set(\n",
@@ -329,7 +337,7 @@
     "    verbosity=0,\n",
     "    # set number of threads (i.e. number of CPU cores we use)\n",
     "    num_cores=2,\n",
-    "    )\n",
+    ")\n",
     "\n",
     "# Evolve the population - this is the slow, number-crunching step\n",
     "analytics = population.evolve()  \n",
@@ -348,20 +356,51 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 19,
    "id": "e1f0464b-0424-4022-b34b-5b744bc2c59d",
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "{'population_id': 'f9b28e4ed6ec4a67b17cd86c5a43c41c', 'evolution_type': 'grid', 'failed_count': 0, 'failed_prob': 0, 'failed_systems_error_codes': [], 'errors_exceeded': False, 'errors_found': False, 'total_probability': 0.9999999999999999, 'total_count': 39, 'start_timestamp': 1655508316.7679594, 'end_timestamp': 1655508320.7581806, 'time_elapsed': 3.9902212619781494, 'total_mass_run': 1951.365, 'total_probability_weighted_mass_run': 50.035, 'zero_prob_stars_skipped': 0}\n"
+     ]
+    }
+   ],
    "source": [
     "print(analytics)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 18,
    "id": "05c6d132-abee-423e-b1a8-2039c8996fbc",
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[None]"
+      ]
+     },
+     "execution_count": 18,
+     "metadata": {},
+     "output_type": "execute_result"
+    },
+    {
+     "data": {
+      "image/png": "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3R7YwRXSMhJB59ixozz++N9ISmrMQw895rH/PDV1AQkJDRky5EwsFguNGzchNXUBN9/8R4/nnDhxMh988D5btmyiT59+ACxatJDhw0cSF1e5fEmLFi1Zu3Y1mZkZNGvW3L/foBf27NnNk08+wtSpFzNpUiwffjiL+++/h1tu+SMffTSbCy64kJMnT/DRR7N49tkneeml12s856xZ72K12rj88qs5fvwYH3/8AY899jBvvz2r7Jj587/h6acfo1evPtx6651kZBzm888/Zfv2rbz99myio6MpLi7m3nvvwGazMmPG5TRq1IjDhw+TlvYjeXnHiY+Pr/TaF1xwIdnZ2axevaJct2xcXByjRo1l6dJU7rjjHmw2W9m+RYu+JSIigvHjJ1b5PTmdTh588E9s2rSBqVMvokOHjvzwwzKefPLRGq/HmjUrefTRhxg9eiznnz8Nu93O7t2/s3nzRi655DJGjx7HwYP7WbjwW+68814aNUoEjK5l93N8990ipk2bTkJCAk2bNq3y9UpKSrjvvjtJ7tabS6/8A9s2reb1118B4IorrinXGqppulFV17Pq73UV9913J+3adeDGG2/l5MkTzJ37MbfeegMzZ35MUtKp76mkpIR7772dPn368cc/3sWaNav45JMPadOmLdOmXVzja9WWJCMRdP7xjyfIysrkxRdfIzEx0eMxqakLGDVqTFnXy5gx41i8eCF/+MNtHpNX585d6NIlmdTUBfTp04/s7CzWr1/L448/4/H8V1xxDc888wQzZkylT59+9O3bn8GDh9K7d1+s1sB3KOzdu4e33ppJz569AWjWrAWPPPIgr776Mp98Mq/sjbGkpIQPPnifw4cP0aJF5QEc7kpKSnjvvVll16xhw0a89NLz7Nr1G507J1NSUsLrr79CcnI3XnnlTaKijEofSnXn0Ucf4ptvvuDiiy9l9+5dpKcf4O23Z9GjR6+y81d3L6h377506NCR1atXVOqWPeusc1i06FvWr1/D4MFnlm1PTV3A0KHDyr5XT3788Xs2bFjPHXfcU9aCnjr1Yu6885ZqrwVAWtpPdOrUmaee+j+P+5OTu6JUDxYu/JaRI8fQqlXrSsfs27eXDz6YQ/v2Hcq2ubdy3RUUFHDG4BQuvfIWbDYr1199BffeewczZ77LtGnTiYk+1QovLqm+FVLd9fTktddeIjExkddf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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
    "source": [
     "# make a plot of the luminosity distribution using Seaborn and Pandas\n",
     "import seaborn as sns\n",
@@ -412,7 +451,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 22,
    "id": "1f37d2c0-1108-4ab9-a309-20b1e6b6e3fd",
    "metadata": {},
    "outputs": [],
@@ -420,16 +459,45 @@
     "# Update the probability distribution to use the three-part power law IMF \n",
     "population.update_grid_variable(\n",
     "    name=\"M_1\",\n",
-    "    probdist=\"three_part_powerlaw(M_1, 0.1, 0.5, 1.0, 150, -1.3, -2.3, -2.3)\",\n",
+    "    probdist=\"self.three_part_powerlaw(M_1, 0.1, 0.5, 1.0, 150, -1.3, -2.3, -2.3)\",\n",
     ")"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 23,
    "id": "6f4463e8-1935-45f2-8c5f-e7b215f8dc47",
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Do dry run? True\n",
+      "Doing dry run to calculate total starcount and probability\n",
+      "Grid has handled 39 stars with a total probability of 0.211729\n",
+      "**********************************\n",
+      "*             Dry run            *\n",
+      "*      Total starcount is 39     *\n",
+      "*  Total probability is 0.211729 *\n",
+      "**********************************\n",
+      "\n",
+      "Do join of subprocesses ...\n",
+      "Joined subprocesses.\n",
+      "**********************************************************\n",
+      "*  Population-1d1d556abeae4549aa28f9740807dc84 finished! *\n",
+      "*           The total probability is 0.211729.           *\n",
+      "*  It took a total of 3.90s to run 39 systems on 2 cores *\n",
+      "*                   = 7.80s of CPU time.                 *\n",
+      "*              Maximum memory use 519.211 MB             *\n",
+      "**********************************************************\n",
+      "\n",
+      "No failed systems were found in this run.\n",
+      "Do analytics\n",
+      "Added analytics to metadata\n"
+     ]
+    }
+   ],
    "source": [
     "# Clean and re-evolve the population \n",
     "population.clean()\n",
@@ -441,10 +509,33 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 24,
    "id": "cfe45a9e-1121-43b6-b6b6-4de6f8946a18",
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[None]"
+      ]
+     },
+     "execution_count": 24,
+     "metadata": {},
+     "output_type": "execute_result"
+    },
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaQAAAEdCAYAAABDiROIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAABEJElEQVR4nO3dd3hUVfrA8e+kBxJIgAAhIC3wgoCA0nsVxQYKYl97Wxu7lnV1f3ZXXfvaK7ZVwYoFpYnSq3Q80msCAUIJJJAyvz/uJEySSTITZnJnkvfzPDyTnHvmzjuXyX3nnHvuOQ6n04lSSilltzC7A1BKKaVAE5JSSqkgoQlJKaVUUNCEpJRSKihoQlJKKRUUIuwOIERFA92BNCDf5liUUipUhAPJwGLgWMmNmpAqpzsw2+4glFIqRPUH5pQs1IRUOWkAmZlHKCgI7H1c9evHsW9fVkBfo6bSYxs4emwDJ5SPbViYg8TE2uA6h5akCaly8gEKCpwBT0iFr6MCQ49t4OixDZxqcGw9XurQQQ1KKaWCgiYkpZRSQUETklJKqaCgCUkppVRQ0ISklFIqKOgouxCUnX2ErKwD5OfnFZXl5hWQX+AkOjIch8PG4ELInj1hFBQU2B1GtaTHNnCC8diGhYUTERFFfHwCkZFRld6PJqQQk519hMOHM0lISCIyMgqHw0FBgZNtuw9DONSuG0OdWpX/QNQkERFh5OUF1x92daHHNnCC7dg6nU4KCvI5diybzMw9xMcnEhtbu1L70i67EJOVdYCEhCSioqJxuJpCefknPpyHjxy3KzSlVA3kcDgID4+gVq14EhIacOTIwUrvSxNSiMnPzzupJrFSSgVKZGQ0eXm5lX6+JqQQ5NCLREqpIHSy5yZNSEoppYKCJiSllFJBQROSUgEyZsx5PPHEw7a89m233chtt91oy2sXSkvbRb9+3fjxx++C5vWfeOJhxow5z7bXPuusQQF/7bJePxTU2GHfIvIIMBZoB1xmjPnM5pBqrLS0XYwde36F9f75z4cYObL4yWTfvr1ceOE5FBQUMGnSdzRu3LjU82677UaWL19Gy5at+OijiaW2z5w5nf/7v38A8PLLb3D66d2Ktq1YsZwPP3yPjRvXc+jQQRISEklNbcuwYSM488yzfH2rNd6CBfNYs2YV1113k92heG316lUsXDiPiy++jPj4eLvDKSYUj2d5amxCAtYDdwKP2R1ITZeQkMi//vWox20FBQX8978vkJ19lDZtpNT2GTOmEhMTQ3h4BNOn/8QVV1ztcT9RUVFs3ryJDRvWk5rapti2adN+IioqmuPHiy9gOXPmdB566H7atGnL2LGXEB9fh7S0XSxfvozvvvs6qBPSCy+8ancING6czIwZc4mIOHGaWbhwPpMmfWrbCfS++x70+abStWtX8f77bzNy5HleJyRP7z0QyjqeVfX6/hZa0fqRMeZjABF5wO5YarrY2FhGjBjpcdu7777JoUMHue22u2jTpm2p7dOm/US/fgOJiopi2rSfy0xIp5zSgqNHjzB9+s/FElJWVhYLF86jd+++/PrrL8We8957b9GqVWvefHMCkZGRxbZlZu738V1WrZLx2sHhcBAdHW13GMUE+gSdn59Pfn4+UVFRtr73YDz23rD9GpKIJIvIUyLyi4gcFhGniAwqo260iDwtIrtEJFtEFojI0CoOWVWR5cuX8eGH79G7d1/Gjbu81Pbt27exbt1ahg49k6FDz2TjxvVs2rSxzP0NHXomM2ZMxek8sbjZrFkzcDgc9O8/qFT9Xbt2cOqpHT2e3BMT6/n8ft5990369etWqvzHH7+jX79upKXtKiobM+Y87r//7yxevIBrr72cIUP6cu21l7N27WoApkz5nksuuZAhQ/pw2203smvXzmL7LHkNadmyJfTr141ff53JhAnvMGrU2QwZ0oc777yFHTu2l4ppxoypXHPNZQwZ0odzzx3Ov//9KAcOHChWZ/v2bTzwwD2cf/4Ihgzpw+jRI3noofvJyrJWMy15HeOJJx5m0qRPAejXr1vRv6NHjzJsWD9efPHZUnFs376Nfv268dVXk8o9tocPH+aJJx5mxIiBnHXWIB5//CGysg6XqufpGtL06T9z7bVXMHz4AM48cyBXXTWOiROtON99901efvl5AMaOPb8o5sL/q379uvHSS88xZcr3XHbZRQwZ0ofVq1eWew1nx47t3HXXrQwb1o8LLzyHTz75oNj2wv+rZcuWFCsv3Of3308u93i61y35+kuWLOKWW65l6NC+nHXWYB588L5Sn53Ca127d6dz333jGT68P+eeO4xXXnmR/HyP6+r5TTC0kAS4D9gArAT6lFN3AnAR8KKr/tXAFBEZaIyZH9AoVZU6dOggjz76LxIT6/HAA494vL9h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PO4bICrK+nPNzDzo8SbTESPO4e23XyM/P58GDZLo3PmMCo9xz559+Oabr/jyyy+KBjXk5+czceJnpV6/5HE5ePBAqQETLVumAnD0aA55eQVFMR88eJCGDUu3/AoKKP036eG9F772xImfF12vKSgo4MsvJxEbG0vHjp3JyysgKakx4eHhLFu2lL59T4zN+uKLE7OMVHQ8S75+QkJ92rRpy/ffT+bSS68iLs76Mr127WpWrVrJuHGXl3mMTrxPz+Wlj0dBsXOWu7AwR7lf5EMpIaVhdduVVFgWuA5YFVB792bw9NNPEBtbi9TUNmVeOE1JaUqbNsJvv/1C9+69PHbJORwOevfuyy+/TCc7O5vY2NIN58TERK677qYKV968//6/k5zchL59B5CSkkJ2dg5Llixk7tzZtG9/alELzFs9evSiUaPGPPXUY1x66RbCwsL54YfJJCQksnt3esU7qAIRERHccsvtPPnkI9x++00MG3Yme/bs5osvPqdVq9acd95owEqqL7zwDIMGDeWUU5pTUJDPzz9PweFwMHDgkDL3L9IegBdf/A89e/YmLCyMYcNGFG0fPvws3njjv8yZ8xuXXHKFV6MZ+/YdQKdOnXn11ZfYuXMHzZu35Lfffim6H6o8Tz31OIcPH+L007vRsGFDdu+23mubNm1p0aKlK+Z2ALz11msMHXomERER9O07wONnqyIxMTHMmfMrhw8fQqQ98+bNYenSRdx0021FI+zi4uIYNGgoX3zxOeAgJaUp8+bNJjMzs9T+Kjqe7m699U7uvvsObrnlWs4553yOHDnCpEmfUb9+gzJvKK9qoZSQlgN3ikhciYENhVcfV1R9SMoftm3bWnQT41NPPV5mvbPPPpe+ffuTlZVFnz79yqzXt29/fvzxO2bP/vWkpve5774HmT37V2bOnMbevRk4nVa3ylVXXcsVV/zF57v+IyIiePLJZ3nuuad45503qFevPhdffCnx8XV48slHKh2nv40ceR5RUVF88skHvPrqS9SuXZvhw8/i5ptvL7r7PzW1DT169GLevNl8++1XxMTEkJrahmeffbnc0Yf9+w9k7NhLmTbtJ6ZOnYLT6Sx2Am3QoAFnnNHDNZT5bK/iDQsL4+mnn+ell57j559/xOFw0LfvAG677S6uuab0DdXuRow4m8mTv+brr78gK+sw9erVZ8iQYVx77Y1FybBt23bcdNNf+eqrSSxcON81b+LkSiWkiIgInnvuvzz77L+ZMWMq8fF1uOmm27jyyquL1Rs//l7y8/P49tsviYyMYsiQYdx6651cddW4YvUqOp7uunfvybPPvsy7777JW2+9TlRUJN269eDWW+8M6OAcXzgqczEzUNzuQxpsjJlVYltPYAHF70OKxroPabcxpuwzlP+1ADbb0WWXnr6Vxo2Lj5Q5npvPrr1HAIiMCCMlqWqubYW6ilpIqvJO5tjee+940tJ2epwIVwX/59bTOaqQW5ddS2BLye1B0UISkQddP7Z3PV4pIv2AA8aYVwCMMQtFZBLwjIgkAxuxRsk15yQHJyilgsOePbtZuHAeN9xwi92hKBsERUKi9Izb17oetwKvuJVf5ap7FZCINdXQSGPM3IBHqJQKmF27drJq1Qq+/fYroqKiOffcUXaHpGwQFAnJGOPVQuzGmBzgHtc/pVQ1sXz5Mp588hEaN07mwQcfKXO6KFW9BUVCUkrVbCNHnldq8UVV89i+/IRSSikFmpCUUkoFCU1IISiYhuorpVShkz03aUIKMeHhEeTmHrc7DKWUKiU39xgREZVfisTrQQ0iUh9oaIxZ51bWEvgbUA/40Bjzc6UjUV6Ji0vgwIEMEhKSiIyMKnNmYKWUqgpOp5OCgnxycrI5cuQg8fGVn/XBl1F2LwFtgR4AIhIHzObEsg/jRGSIMea3SkejKhQba601c/DgXvLz8wDIy3eSlWVNaBkR5iA939MctKqksLCwKp3SvybRYxs4wXhsw8LCiYyMIjGxIZGRZa8vVhFfElJv4CO338dhJaORWPPMTQPuBTQhBVhsbO2ixASwfU8Wz3+9CICUpNo8dp33i4vVZCWnZVL+o8c2cKrzsfXlGlIjYLvb72cDS4wxPxlj0oEJWKu6qiqmnXZKqerAl4SUS/FF8AYCv7r9fgCo74eYlFJK1UC+dNn9CVwkIq8C52ENZJjhtr0ZsN+PsSmllKpBfElIr2J1y2UCtYBNFE9I/YFVfotMKaVUjeJ1l50x5kOs5R5mAB8DZxtjcqFoSHgCoAuYKKWUqhSvWkgiEg6kAD8YYz4qud0Ysw84w8+xKaWUqkG8bSFFYnXRXRfAWJRSStVgXiUk1zpEe4EjgQ1HKaVUTeXLsO8fgXMDFYiqPJ1qVSlVHfiSkO4FkkXkAxHpJCIxgQpKVZ7eJKuUClW+DPveg/VlvDNwBYCIlKzjNMboKrQ20taSUipU+ZI8PkTPd0FJW0VKqerA64RkjLk6gHEopZSq4XSBPqWUUkGhUtd7XGshJeAhoRljtp1kTEoppWognxKSiFwCPAi0L6da+ElFpJRSqkbyustOREYB/8NKYm9iXUv/FJiEtTTFUuBR/4eolFKqJvDlGtLdwDqgC/B/rrL3jDGXAN0AwVo5VimllPKZLwnpNOAD1zRChQu6hwMYY1YDbwH3+zc85Q0di6+Uqg58SUjhwD7Xz9mux7pu2w3Q0R9BqcrTe5KUUqHKl4S0A2gOYIzJxpq5wX3JCUEnX7WdtpaUUqHKl1F284BhnLh+NBm4S0SysRLbX4Hv/Bue8oa2ipRS1YEvLaTXgFkiEuv6/QGsbrqHsZLURqyBD0oppZTPfJk6aDGw2O33DKCLiJwG5APrjDEFZT1fKaWUKo8v9yENEJGkkuXGmJXGmDVAPREZ4NfolFJK1Ri+dNn9AgwvZ/tQVx2llFLKZ74kpIqunYdz4v4kpaqVAqeOX1Qq0Hyd7bu8v8o+wN6TiEVVkp4qA8fpdPKfT3/nntfmkXn4mN3hKFWtlTuoQUTuBO50K3pRRJ7wUDURqAO858fYVCXoEHD/2rTrEOu2ZgLw6fQ/uXV0J5sjUqr6qmiU3QFgq+vnFlgzNewuUccJrAYWAC/4MTalbHc870QvdFZ2ro2RKFX9lZuQjDEfAB8AiMhm4B/GmMlVEZiqHO2+U0qFKl/uQ2oZyECqkohEA29gjRqMB5YBt7mGr4cc7aZTSlUHXickEakPNDTGrHMrawn8DagHfGiM+dn/IQZEBLAJ6AWkYV0n+wZoY2NMSilVo/kyl91LQFugBxQtYz4baOLaPk5EhhhjfvNviP5njDkCPFb4u4i8AjwrIvWNMfvKfqZSSqlA8SUh9QY+cvt9HFYyGom1MN804F7Ap4QkIslYLZSeWAv9xQGDjTGzPNSNxlqV9kqskX0rgAeMMTN8eU0PegN7NBkppZR9fLkPqRGw3e33s4ElxpifjDHpwASgayViEOA+oCmwsoK6E4DxwMdYSawAmCIivSvxutaLiyRgLS74z8ruQyml1MnzpYWUC8S6/T4QK0EUOgDUr0QMS4EGxph9IjIK+NpTJRHpAVwCjDfGvOgq+xBryPnTwAC3urNc8XlyjzHmWVe9GOBb4HtjjN5DpZRSNvIlIf0JXCQirwLnYQ1kcO8qawbs9zUAY8xhL6uOwUqK77g9N0dE3gWeEJFkY0yaq3xQRTsTkXDgM6xWX0gvm6FDvZVS1YEvCelVrBZRJlALa5Sae0LqD6zyW2SldQX+MMZklShfhDXyuQvWiDlvvQ3EAGONMdXmnK5DwJVSocqX+5A+FBEnMAo4CDxpjMmFoiHhCViL+AVKMrDTQ3lhEmriYZtHItIcuAbIATJFpHDT2caY2d7up379OG+rnpSkpPhyt2flnphNICIivML66oSKjlXawZyinyMjI/TY+kCPVeBU12PrSwsJY8xHFB9pV1i+DzjDX0GVIRbwNLtljtt2rxhjtuKHxsS+fVkUFAS2cZWUFE9GRvm9mpmZR4t+zsvLr7C+snhzbA8cyC76OTc3T4+tl7w5tqpyQvnYhoU5yv0i7+ts33bKBqI9lMe4ba/xqk3fo1KqxgmlhJSG1W1XUmHZriqMJajodSOlVHUQSglpOdDONUOEu56uxxVVG45SSil/CqWE9AUQCVxfWOCaueEaYK4xpsa2kJRSqjrwaVBDoIjIg64f27serxSRfsABY8wrAMaYhSIyCXjGNd3QRuAvQHPg6ioOWSmllJ+VmZBEZBNwV+H6RyLyf8BXxpjVAYjjsRK/X+t63Aq84lZ+lavuVVhz2a0ERhpj5gYgJqWUUlWovBbSKVhrBRV6GNiANVWPXxljvLoub4zJAe5x/VMuOrIugJx6dJWqKuVdQ9oJdCpRpn+dQU5H3CmlQlV5LaRvgXtF5CxOzFH3oIjcUM5znMaYoX6LTimlVI1RXkK6D2veumFYAwecQBLWPHZK1QwObXMqVVXKTEjGmGzgIdc/RKQAa5DD/6ooNlUJ2qeqlApVvtyHdA0wL1CBqMrT7/BKqerAl9m+Pyj82TW7d0vXr5t16W+llFIny6cbY0WkM/Ay0K9E+WzgDmNMRUuQK6WUUh55nZBEpCMwB2t27W+BNa5NHbBWkJ0tIn2MMWvK2IVSKsD+3H6Aj6f+SZMGtejVoTEdW9YjIjyUZghTNZkvLaRHsZYQ71uyJeRKVr+56lzkv/CUUr6YvWIXOzKy2JGRxaJ1e4iLjaRH+4b06tCY1k3q4NBRgyqI+ZKQBgCveuqWM8asFpHXgJv9Fpnymo6sC6AQm6khr8SCkVnZucxctpOZy3aSlBBDr1Mb06tDI5Lr17YpQqXK5ktCqg2kl7M9zVVH2Ui//yqA+nWiuXBAa+avTWfN5v04nZBxIIfv5m3hu3lbaNE4nt4dGtPj1EbUrR1ld7hKAb4lpE3AucCrZWw/11VHKWWziPAwendsTO+OjTmYdYxF6/awYG06m9Ospa+3pB9mS/phPp+5gVNbJNK7Q2O6tm1ATFRQLACgaihfPn0fAv8Wkf8BTwB/uMrbA/cDZwL/8G94StmsGlxzqRsXzfDuzRjevRlp+46wYM1uFqxNJ+NADgVOJ6s372f15v1ERYZxepskenVoTIeWiYSH6WAIVbV8SUjPAqcDlwDjgAJXeRhWT9FE4Dm/RqeU8qvk+rUZPaAVo/q3ZOOuQyxYk86idXvIys7leG4BC9buZsHa3cTXiqRH+0b06tCIVsk6GEJVDV9ujM0HxonIO8AoTtwYuwn4xhgz3f/hKV+F1iV4ZReHw0FqSl1SU+pyydA2rN68nwVr0vl9/V5y8wo4fDSXGUt3MGPpDhomxtLr1Eb07tiYRok6laUKHJ87jI0x04BpAYhFVZJ+d1UnIyI8jC6pDeiS2oDsY3ks+zODBWvSWbs1E6cT9mRmM3nuFr6bu4Wxg1M5q+cpdoesqim9gqmUKhIbHUHfTsn07ZTMgaxjLFq7m/lrdrN192GcwMRfNhATHc6gLil2h6qqIU1ISimPEuKiObPHKZzZ4xQ2px3i+c+XcyQnj49+MtSKjqBH+0Z2h6iqGR1Go1Q14gzQjbwtk+sw/uIuREeG4wTe/m4tqzbpnMrKvzQhVQM6kCGAQmymhkBq1aQOt1/UiYhwB/kFTl79ahXrdxywOyxVjWhCqmZ0gIMCAnb/1Kkt6nHzBR1xOOB4XgEvTlrJtt2HA/JaqubxKiGJSKyIXCUiPQMdkFIquJ3eNolrR7YHIPtYHs9/vpz0/UdtjkpVB962kI4BbwNdAxiLUipE9O2UzKVD2wBw6Gguz332O/sP5dgclQp1XiUkY0wBsB2oE9hwlAoyOkNBmYZ3b8b5fVsAsO/QMZ77fDmHjh63NygV0ny5hvQBcKWIRAcqGHXy9BK8qkoX9GvJ0DOaApC27ygvTFxB9rE8m6NSocqX+5DmARcCy11rH60HSnUcG2N+81Nsykv6HV7ZxeFwcOmwNhzNyWP+mnS2ph/m5S9W8sRf+9kdmgpBviQk9+mCXqL0l3GHqyz8ZINSSoWOMIeDa0a2I/tYHss37MVsP8DTHy7mhnPa6/Lpyie+JKRrAhaFUiqkRYSHccuoDrwwcQV/bDvA4rW7CXfA9eeeSpheh1Ne8mW27w8CGYhSKrRFRoRz+0Wn8Z9Pf2dL+mEWrNlNregILh/eVpevUF7R9nQ1oAMZAkhnavBJbHQE4y/uTLNGcQDMXLaTb2ZvtjkqFSp8Skgi0kxE3hORHSJyXESGuMqTXOXdAxOm8pZ+D1Vg7+cgvlYUj97Yh/p1YgD4bt4Wpi7aZmNEKlR4nZBEpCWwBLgIWIPb4AVjTAbQDbje3wEqpUJPg4RY7r60C3VqRwHw2cwNzF6xy+aoVLDzpYX0BNay5R2Byyn9JexHQMd6KqUAaJRYi7+P60KtaOtS9YSf/mCp2WNzVCqY+ZKQhgGvGWO24/myxVagqV+iUipY6MX4k9KsYRx3je1MVGQYTie8OXkNa7bstzssFaR8SUh1gLRytkehC/7ZTi/Bq2CT2rQut43uRHiYg7x8J698uYqNOw/aHZYKQr4kpO1Ah3K29wI2nFw4qjL0O7wKdh1b1efG8zvgcMCx3HxenLSCHXuy7A5LBRlfEtJXwLUi0tGtzAkgIhcBY4GJfoxNKVWNdG/XkL+c1Q6AIzl5PPf5cvZk6rIV6gRfBzXsABYCH2Mlo3+IyHysRLQCeM7vESqlqo0BnZswdnBrAA4eOc6zny0n8/Axm6NSwcLrhGSMOQT0Bt7BGuLtAIYDArwGDDbG6IIoStkoFO7jPbtnc87p3RyAvQdzePqTZXwzexOrN+/jaI7OFF6T+TQIwZWU7gTuFJEkrKSUYYwJgT+DE0TkdWAUUBtrdOD9xpjvbQ3qJITUwQ81oXCGD0EXDmjFkZw8Zv2+kz0Hspk8dwtgnVBSkmqTmlKX1il1SW1al4YJsTr1UA1R6VFxrpthQ9VLwHhjTI6IdAOmi0hLY0ym3YGdLP2zVRD8o9UdDgdXDG9LQu0oFq7bTdo+61qSE9iRcYQdGUeYtdy6kTa+ViSpKXWLklSLxvFEReqiAtWRzwlJRC4GRgOtXEWbgK+NMSEzoMEY80eJomggGQj5hKRUqAgLc3B+v5ac368lWdm5bNx5kA07D7Jx50E2pR3ieG4BAIeP5vL7+r38vn4vAOFhDpo3ji+WpBLjdd3Q6sDrhCQitYFvgCFYX8QPuDZ1By4WkZuA840xR3zYZzJWF2BPrOtScVjXomZ5qBsNPApcCSRiDaJ4wBgzw9vXK7G/17CW1IgBvgfWVWY/SqmTFxcbSefUBnRObQBAXn4BOzKy2LDjRJLad8ga/JBf4GTTrkNs2nWIqYu3A9CgbsyJbr6UujRtWJvwMJ07OtT40kJ6AhgKvAw8ZYxJBxCRxsA/gDtcde7yYZ8C3Id1/9JKoE85dSdgzaP3oqv+1cAUERlojJnvw2sCYIy5VURuBwYDHULtOphS1VlEeBgtGtehReM6DOvWDID9h3LYuOtQUZLatvsw+QXWn+3egznsPZjDgrW7AYiODKdrmwZcOLAVDerG2vY+lG98SUjjgEnGmLvcC12J6S4RSXHVuav0U8u0FGhgjNknIqOArz1VEpEewCVY131edJV9CKwGngYGuNWdBQws4/XuMcY86xZ7Ptb1oztF5A9jzM8+xK5qgmC/GFOD1KsTQ706MXRv1xCA47n5bEk/zIadB4uSVFZ2LmDdfLtg7W6W/pnB2T1P4exezYnW605Bz5eEVAf4pZztM4GRvry4Meawl1XHALlYQ84Ln5sjIu8CT4hIsjEmzVU+yJcYXCKA1pV4XtDRZp6qKaIiw2nbLIG2zRIAcDqd7MnMZsPOgyzfsJelJoPcvAImz93CnFVpXDw4le7tGuqIvSDmS0JaCbQpZ3sbYNXJhVOmrsAfxpiSc40swrqe1YXy59krIiJxWEO+vwFygAuwuu3u9U+oVU//vJSyRu41qleLRvVq0bdTMn9uP8Cn09ezdfdh9h86xhvfrmHmsp1cNqwNpzSKtztc5YEvCelB4GsRmWWM+c59g4hcgLUW0ig/xuYuGdjpobwwCTXxYV9O4FrgFaxz+QbgUmOMz8m0fv04X59SKUlJ5f/xHMk70S6KCA+rsL46oaJjlXbwxL3ekZERQX9so11LPYQHwecgGF6/V5emTF+0jY+mrOVg1nH+3H6ARycs5sxeLbjirHbUjQvN0Xl2H9tAKTMhich7Hoo3A9+IiOHEqLT2WIMTVmGtkzTT30ECsYCn+UVy3LZ7xTUKcIg/gtq3L4uCgsB2kiUlxZORUX7PZub+EwMb8/ILKqyvLN4c2wMHsot+zs3NC/pjm3PMmukg3+bPgTfHtqqc3roe7a7vyeS5W5ixdAf5BU5+mr+F35bt4IJ+LRl8egoR4aEzIi+Yjq2vwsIc5X6RL6+FdHU529q5/rk7DegEXOdtcD7IxrpXqKQYt+01ll43CiCdqaFaqBUTySVD2zCgcxM+m7Ge1Zv3c/RYHp/OWM+vK3Zx6dA2dGhZz+4wa7wyE5IxJpi+MqRhdduVVFimayO76PUkpcrWpEFtxl/cmRUb9vHZjPXsOZDNrr1HeO7z5XRt04BxQ1JpmFjL7jBrrGBKOuVZDrRzDUhw19P1uKJqw1FKhSqHw0GXNg147PqejB3Umugoazj47+v38uA7C/ny143kHNdJXu0QKgnpCyASa+AEUDRzwzXAXGOMtpCUUj6JjAjj7F7N+feNvejbsTEAeflOfpi/lX++tYD5q9NxapdtlfJpLjsR6QP8FWuId31K9xA5jTE+3c8jIg+6fmzverxSRPoBB4wxrwAYYxaKyCTgGdd0QxuBvwDNKf9al1JKlSshLprrzj2VQaen8L9p69mcdogDWcd5+/u1zPx9B5cNa0vL5Dp2h1kj+DKX3Q3AG8BxwADb/BTDYyV+v9b1uBVraHahq1x1r8Kay24lMNIYM9dPcSilarDWTerywFVnMH91Ol/M2sjBI8fZuPMQj32whH6dkrloYKuQHSYeKnxpIf0T61rOCGPMXn8FYIzx6jq8a/G/e1z/VBm0g8HP9K7+GiXM4aBvp2ROb5vE9/O2MHXxdvILnMxZlcYSs4fz+7ZkWLemITVMPJT4clQbAe/6Mxkp/9BTplL+FRsdwdjBqTx+fU+6uGYgzzmez8RfNvDPtxYwZ2Ua+QUFNkdZ/fiSkNZhdZUppVSN0KheLe4Ycxp/u7gzyfWt4eB7D+bw3o/r+Nc7i1i0bjcFOvDBb3xJSE8At4qIL9P0qCqgfw6qiJ4cA6Jjq/o8cm0PrhwhJMRFAZC+/yhvfLuGR95fzPL1e3VEnh94fQ3JGPOViNQC1orIt8AWIL9ENacxpuQgBVWFtPvOz/Qko1wiwsMY3DWFvh0bM+v3nfywYCuHj+ayfU8WL3+5klZN6jB6QCtObZ6oM4pXki+j7NpirdhaB2vVVk+clB41p5SqYnpCDJyoyHDO7HEKA7o0YdqSHfy0cBvZx/LYtOsQz322HGmWwIUDW9GmaYLdoYYcX0bZvQY0xFpyfDaQGZCIlFIqBMRERXBenxYMOT2FnxdtY9riHRzLzcdsP8C/P15Gp1b1GT2gJS0a6z1M3vIlIfUG/mOM+W+gglFKqVBTOyaSCwe0Zli3Zvw4fyszl+0kL7+AVZv2sWrTPs5om8So/i1JSaqa5WpCmS8J6SCQEahAlFIqlNWpFcUlQ9swoscpfD9vC7+t2EV+gZOlf2aw7M8MenZoxAX9WtJIJ28tky+j7CYCFwYqEKWUqg4S46O5coTw5I296NupMQ6HdXF9wZrdPPDWQiZM+YP9h3Iq3E9N5EsL6U3gAxH5BngZa7G+kqPsMMb4a0ohVQk6JszPdHCAqqSkhFiuO+dURvZqzjezN7P4jz0UOJ38tmIX81anMahLCuf0aUHd2lF2hxo0fElIa7DOd92A88qpF35SESmf6SlTqeCVXL82t4zqyDm7D/PN7M0s37CXvHwn05fu4LeVuxh6RlPO7tmcuNhIu0O1nS8J6VH0C7hSSlXKKY3iuWPMaWzcdZCvf9vE2i2ZHM8tYMqCbcz6fRd/H9eFVk1q9og8X26MfTiAcaiToN8SAijEbowNrWhrptZN6nL3JV35Y2smX/22iQ07D5J9LI+JM9fzjyvOsDs8W+mUtdWMdt8pFRraNU/k/itOZ9gZTQH4c8dBtqYftjkqe/kyU8MAb+oZY36rfDhKKX/QLyahweFwcGaPZsxYtgOnE6Yv2c51555qd1i28eUa0iy86xHQQQ1KKeWlBnVjOaNtEktMBgvX7WbM4NQaO/LOl4R0TRnPb421jPgWrKHhSimlfDCsWzOWmAzy8p38+vtOzu/X0u6QbOHLoIYPytomIv8BlvklIqWUqmHaNK1L80bxbN19mF9+38nI3s1r5Kq0fnnHxphM4B3gXn/sTymlahKHw8GwbtbghoNHjrN43R6bI7KHP1NwJtDKj/tTSqkao0f7RtRxXTuatmR7jVzwzy8JSURisNZISvfH/lTl1byPcIDp1EGqikRGhDGoi7Ug95b0w2zcecjmiKqeL8O+3ytjUz2spSmSgHv8EZTyjZ4ylaoeBndN4Yf5W8kvcDJtyXZSm9a1O6Qq5csou6vLKN8P/AmMN8b876QjUj7TVlEAhVq3SYiFq4qrGxdNj/aNmL8mnaUmg/2HcqhXJ8busKqML6Psat6QjxCkrSUF6AchhA3v3pT5a9IpcDqZuWwnYwa1tjukKqNJRimlgkiLxnWKuup+Xb6TY7mlVvmptjQhKaVUkBnerRkAR3LyWLCm5owVK7fLTkQm+7g/pzHmgpOIRymlarzT2zagXp1o9h86xvQlOxjQuQmOGjDis6JrSOf6uD+9pKqUUicpPCyMIac35YtZG9m59whrt2bSoUU9u8MKuHITkjcDGURkIPAM0B1I81NcSilVow3o3ITJczZzPK+A6Yu314iEVOlrSCLSUUR+AGYCAvwLaOOvwJRSqiaLi42kd8fGAKzcuI/dmUdtjijwfE5IItJMRCYAvwNDgZeB1saYJ4wx2X6OT/lI+0z9rAb026vgVbh4nxOYsWSHvcFUAV9makgEHgBuBaKBT4EHjTFbAhOa8paeMpWqnlKS4ji1RSJrt2QyZ1UaowdU7+lCK0xIIhIN3AXcByQA04D7jDHLAxmY8p62igIoxGZqCK1olTeGdWvG2i2Z5BzPZ87KNC5rmmh3SAFTbpediFwHbACeBDYCw40xIzQZBS9tLSnQz0F1clrr+jRMjAVgxtId5BdU368dFbWQ3sb60rUEmAh0FpHO5dR3GmNe8FdwSilV04U5HAw9oymfTl/PngPZLF23m5YNa9sdVkB4cw3JgTWku7sXdZ2AJiSllPKjfp2S+fq3TeQcz2fy7I3cedFpdocUEBUlpMFVEoVSSqkyxUZH0O+0ZKYv2cGK9XvZkZFF06Q4u8Pyu4pujP21qgJRSilVtmFnNGXGkh04gelLdnD12e3sDsnvdHJVpZQKAQ0Ta9E5tQEA89ekk5Wda3NE/lejE5KI9BaRAhH5h92xKKVURYZ3s26Uzc0r4NflO22Oxv9qbEISkTCsARiL7Y7Fn6rvgFClVLvmiTRvHA/AzGU7ycsvsDki/6qxCQm4EVgIrLM7kJOl95wEkE4dpIKIw+HgvP7WCrKZh4+x7M8MmyPyL6+nDgoEEUkG7gR6At2AOGCwMWaWh7rRwKPAlUAisAJ4wBgzoxKvWx9r9olewIuViz54aKsogEJtpoYQi1f5btAZTZnw/RqysnOZvmQHPdo3sjskv7G7hSRYUxI1BVZWUHcCMB74GCuJFQBTRKR3JV73CeBFY8yBSjw3qOn3eWXRT0J1FR0ZzsAuTQDYsPMgm9MO2RyR/9jaQgKWAg2MMftEZBTwtadKItIDuAQYb4x50VX2IbAaeBoY4FZ3FjCwjNe7B5iBdZPvX/3yDpRSqooN7prClAXbKHA6mb5kOzec18HukPzC1oRkjDnsZdUxQC7wjttzc0TkXeAJEUk2xqS5ygeVtyMRuQurZbZTRADqAnki0sIYc7PPb0IppapYvToxdGuXxKJ1e1i0bg9jB6eSEBdtd1gnze4uO291Bf4wxmSVKF+E1TfRxYd9vQWkup7TBZgMvITVdaiUUiFhWLdmAOQXOJn1e/UYAm53l523kgFPR7xwyfQm3u7IGHMUKFp6UUSygSxjzEFfg6pfv2qm7khKii93e1buiaGfERHhFdZXJ1R0rHYdyCn6OSoqIuiPbXS09ScdERFme6x2v351lpQUT4MGcbSZtZH12w/w24o0rj6/I5ER4XaHdlJCJSHFAsc8lOe4ba8UY8zVlX3uvn1ZFAR4KvikpHgyMsrv2cx0W9o4Ly+/wvrK4s2xPXjgxLE9fjwv6I/tsWN5AOTlFdgaqzfHVlWO+7Ed1KUJ67cf4EDWMX74bSN9OyXbHF35wsIc5X6RD5Uuu2ysVWpLinHbrpRSNUr3dg2pGxcFwLQl20N+2H+oJKQ0rG67kgrLdlVhLEopFRQiwsMY3DUFgG27s1i/w+crD0ElVBLScqCdiJRs6/V0Pa6o2nCCV2h/PwpCOlODCnKDuqQQEW59Tqct2W5zNCcnVBLSF0AkcH1hgWvmhmuAucYYbSGpwAjxLhBV/dWpHUXPU63ZGpb9mcHeg6F7BcP2QQ0i8qDrx/auxytFpB9wwBjzCoAxZqGITAKecU03tBH4C9AcuLqKQw5q+n1egTbsaprh3Zoxd1U6Tqc16erFg1PtDqlSbE9IwGMlfr/W9bgVeMWt/CpX3auw5rJbCYw0xswNeIRKKRXETmkUT9tmCfy5/QC/Ld/FBX1bEh0VekPAbU9IxhivvssZY3Kwpv65J7ARKaVU6BnerSl/bj/A0WN5zFuTXjTYIZSEyjUkpZRS5ejaJon6daw7YaaH6BBwTUhKKVUNhIU5GHqGtaJs2r6jrNmy3+aIfKcJSSmlqon+nZOJirRO69OX7LA5Gt9pQlJKqWqidkwkfTta8wWs3LiPtH1HbI7IN5qQlFKqGhnWrWnRzzOWhlYrSRNSNRN6lzGVUv6UXL82HVvWA2DuqnSO5uTZHJH3NCEpVY2E4MAqFQCDT7eGfB/LzWfjrtCZ304TUjWjN+gr0M9BTee+emx+gJfI8SdNSEoppYKCJiSllFJBQROSUkqpoKAJSSmlVFDQhKSUUiooaEJSSikVFDQhKaWUCgq2r4cUosLBml23KlT0OlGR4TRMjAWgXt2YKourOqjoWEVHnTi2ifHRQX9sE+KjaZgYS7069n8O7H796syXc0JMVETQ/F+4xeFx9UBHKK6ZEQT6AbPtDkIppUJUf2BOyUJNSJUTDXQH0oB8m2NRSqlQEQ4kA4uBYyU3akJSSikVFHRQg1JKqaCgCUkppVRQ0ISklFIqKGhCUkopFRQ0ISmllAoKmpCUUkoFBU1ISimlgoImJKWUUkFB57ILQiISDTwKXAkkAiuAB4wxM2wNLMSJSHfgamAw0BzYB8wDHjTGbLAxtGpJRO4FngZWGGO62BxOyHN9fh8G+gCRwEbgBWPMBBvD8ittIQWnCcB44GPgTqAAmCIive0Mqhq4D7gQmI51XN8CBgG/i0h7G+OqdkSkMfAgcMTuWKoDETkbmIuViP4F/B3rc9zMzrj8TVtIQUZEegCXAOONMS+6yj4EVmN92xxgX3Qh73ngMmPM8cICEfkcWIWVrK62Ka7q6ClgCdaX3gR7QwltIlIX60vq68aYO20OJ6C0hRR8xgC5wDuFBcaYHOBdoJ+IJNsVWKgzxsxzT0ausvXAGkBbSH7i+lJ1BfA3u2OpJi7DSur/ByAi8SISHOtJ+JkmpODTFfjDGJNVonwR4AC6VHlE1ZjrD7sRsNfuWKoD1/H8L/CBMWa5zeFUF8OAP4CRIrIdOATsF5GnRMTjukKhSrvsgk8ysNNDeZrrsUkVxlITXA6kAA/YHUg1cRVwKjDK5jiqk1Ssa0UTgGeA34FzsbqZY4C77ArM3zQhBZ9YPKwTAuS4bVd+ICLtgFexFgr7yOZwQp6IxGNdO3rKGJNWUX3ltTis0bb/MMY87Sr7SkTigFtF5HFjTLVo4WuXXfDJxloAsKQYt+3qJLlGgf0AZAJjjTEFNodUHTwIHMcaPKL8p/Bv/tMS5Z9gjbrrUbXhBI62kIJPGla3XUmFZbuqMJZqyTVqaQpQF+hrjEm3OaSQ5xpscxfWkORGIlK4KQaIEpEWwEFjTKYtAYa2NKADsLtEeeHviVUbTuBoCyn4LAfauZrj7nq6HldUbTjVi4jEAN8BbYFzjTHG5pCqi0ZAFNatCZvd/vXEGsG4Geuah/LdUtdjSonypq7HjCqMJaA0IQWfL7Ca4dcXFrhmbrgGmGuM0RZSJblGJH0O9Mbqpltgc0jVyWZgtId/a4Atrp8/tCu4EDfJ9XhdYYFrNOP1WDceV5vPscPpdNodgypBRCZijVJ6AWt6kL8A3YHBxpi5NoYW0kTkRawZGr4DJpbYnGWM+aaqY6ruRGQWkKBTB50cEfkAayqxd4FlwDmuf/caY/5jZ2z+pNeQgtNVwGOux0RgJTBSk9FJ6+J6PM/1z91W4JuqDEYpH9wAbMP6cvoXYBNwszHmTVuj8jNtISmllAoKeg1JKaVUUNCEpJRSKihoQlJKKRUUNCEppZQKCpqQlFJKBQVNSEoppYKCJiSllFJBQROSUkqpoKAJSSmlVFDQhKRCiogMEhGniFxtdywnS0Q6ikieiAy3O5aaQEQuEJHjItLG7liUZ5qQlLLP81gzuE9zLxSReq6kO8WmuAJGRF4RkZ2u2arLqlP4peNuf762MeZbYBXWEhkqCGlCUsoGItIbGI7n1VVPdz0uq7qIAs+VhEYB3xpj7JpE8yVgtIh0sOn1VTk0ISllj1uBvcCPHrZVy4SEtYRKCvbOqv4VcBS42cYYVBl0+QlVLYhIA+AR4Hys1Ut3A5OB/zPG7CtRtwXwHFYLBeAXrOW3fwG2GGMGBTjWCKyWwvfGmFwPVaprQhoNHMA6zrYwxmSJyGxgDHC7XXEoz7SFpEKeiNQF5gG3AD9jJZefXL/PEZF4t7r1gdlY6yFNwFpW+wjWSbJ2FYV8BhAHLCpj++lApjFmcxXFU1VGAz+WkYSr0nygsYi0szkOVYK2kFR1cC/QBvirMea1wkIRWQ684tr+L1fxfUBT4ApjzCeustdF5BngniqK91TX48aSG1zJMxUbWxGBICLtAQEetDsWThz3DsAfdgaiitOEpKqD0UAG8FaJ8jeBh1zbCxPSeUAa8GmJus9SdQkpyfW438O2roCD6tddNwrIwWq5+pWINMZaXbkdsAeYZIxZWs5TCrtwG/o7FnVyNCGp6qAlsMQYk+deaIzJE5E/OXFNprDuImNMQYm6e0TkgHuZiFwM3IG19PleY0yLEtsjsK5FXYnV/f0lVistp4J4C0eYeRr6fIbrscyEJCL9AU9DwqOAcGNMeIn6r2F1X/YxxswvsW0WMBAYaYyZ4lZ+MfA58IMx5lxXWVvgGaAvEIPrOp0x5m9lxepmNDDdGJPlRV2vichFwBDgXeC/WEnmMhEZA/yzjNF8hcddl8sOMpqQlCpbJlaXXyNgvIft/wQGA52A41iDKJ7BSmLlyXA91vOwrcIBDcaY2VjXoIqISBNgiSte9/JY4DKs1tj1WNdPSvoDuI7iSe56Sndn/YA1Su0KrJFqrbGSU7lEpCnQDbihorq+EJGOQAtjzF/dircC/xaRXlgj6V738NTC457hYZuykQ5qUNXBJkBcLZYirt/burYX2gKkikhYiboNgQT3MmPMNGPMZ1gnOU+uB540xuw0xmQADwNXi0h4GfULrXY9epox4HQgC/izgn0UEZForEQxxxjzZInNY4ECrIEeF4tIHKVNBIaISJJrf82xWoXfuL1GA6xrW28YY7KMMQXGmPXGmAlehDgKqzUy2dv35KUL8XwfF8aYBUCDkp8Jl1TX42oP25SNNCGp6uAbrOsy15cov8FV/rVb2XdAMnBpibo+zQogIglAM2C5W/EyIB5oUcHTfwcOAb1K7LMW1oX/5T7eOPoGVhfa1R62XQ98hpV0coFLPNQ5jHWMrnL9fh3wP+BYYQVjzF5gHfCeiFwiIq19iG80VrL0d4vkaOFxEpHeIrJXRNwHTSzF+kJSUi9gtzHG+DkedZK0y05VB89gtQReFZHTsU74XbFOrMa1vdDTWF1Y74tID6xuqf5AH6wbVb1NBIVDyQ+4lR0osc0jY0y+iHwFjBKRaGNM4Ym/MxAOxIjIPzw8NcsYU7JL7g7gXKC7MeZoiW1tsd7bPcaYYyLyGdYxecfDvt8F3hGRF7ES2znARSXqDMJK3P8EThWRbcA/jDETy3qvIlIPGIA10tFXQ0UkxkP5XmPMGyXKOgP1Kd6FeIgS/xeuFmJ/4L1KxKMCTFtIKuQZYw5inYjeBEYCL7se3wD6GWMOu9XdC/QDvgeuxUpQtbGuBTmAbC9ftnCfdd3KEkpsK8/rrvrnupUVXj/qBvzbw7+x7jsQkcGu+McaY7Z4eI3rgT+MMQtdv08AenmaNscYMw/r/T8MpBtjVnmos8cYc68x5jSs6zCvAf+r4H6ec7G++H5dTp2ynAU85uHfXa7tsW5138Fqif3FrawzsL7EPi8CamF9VlSQ0RaSCinGmFl4GJ3m6g661fWvon1sxrr+UMR1w2x9YJuXcRwQke1Y11oKu366YiWjLV48f5GIFN7E+6Wr7FXgVW9e3zXbxESs1s8sD9sjsbrg6opIeonN1wGeRsa9i9WavMWL+A8Bz4rI/ZR/P89oYEUZCbOsfc/C8wjEkraISB9jzDzXCMtvCje4bpZuYYwpObT+TuBrY4xePwpCmpBUjSMiscaYki2hwi6yaW71woFI1z+Hq/vI6dbF9g5wv2sqmlys1sUEY0y+l6H8HVghImcaY6b6EH8trJPv5JJdeG7OAxKxkqT7SfkK4D4R+Ycx5niJ57yFdU1snofXTMS6T+sTrAEXYVhde7WwrtWUZT7wdrlvqPI+Bl4SkdruM6aLSEusllSxpCsio4COwLgAxaNOkiYkVRP9KCJbsQYhhAFDsbqW5lF84s8rgffdfs/GGnHXwvX7k0ADYI1rP19gzQThFWPMGir3N3gRVndUWxHxdHI9Fau77lNjzFr3DSLyBvAA1si3Ytd+XK2e6WW85nGgMdZIuUZYAx7WAOeX1/oxxjxT1raTZYxxishdwG0icj3WaMIwrBuf7yw5h6Ex5huse7VUkHI4nXpvmKpZROTvWN1ZLbCuQ+zAGjb9iPv1JqVU1dKEpJRSKijoKDullFJBQROSUkqpoKAJSSmlVFDQhKSUUiooaEJSSikVFDQhKaWUCgqakJRSSgUFTUhKKaWCwv8DfwO2Q+o/xrYAAAAASUVORK5CYII=\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
    "source": [
     "# plot luminosity distribution\n",
     "ldist = population.grid_results['luminosity distribution']\n",
@@ -491,10 +582,23 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 27,
    "id": "5956f746-e3b9-4912-b75f-8eb0af66d3f6",
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "ename": "ValueError",
+     "evalue": "Failed to rename grid variable M_1 to lnM_1.",
+     "output_type": "error",
+     "traceback": [
+      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+      "\u001b[0;31mValueError\u001b[0m                                Traceback (most recent call last)",
+      "Input \u001b[0;32mIn [27]\u001b[0m, in \u001b[0;36m<cell line: 2>\u001b[0;34m()\u001b[0m\n\u001b[1;32m      1\u001b[0m \u001b[38;5;66;03m# Rename the old variable (M_1) because we want it to be called lnM_1 now\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m \u001b[43mpopulation\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrename_grid_variable\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mM_1\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mlnM_1\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n",
+      "File \u001b[0;32m~/.pyenv/versions/3.9.9/envs/dev_binarycpython3.9.9/lib/python3.9/site-packages/binarycpython/utils/population_extensions/gridcode.py:965\u001b[0m, in \u001b[0;36mgridcode.rename_grid_variable\u001b[0;34m(self, oldname, newname)\u001b[0m\n\u001b[1;32m    963\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m    964\u001b[0m     msg \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mFailed to rename grid variable \u001b[39m\u001b[38;5;132;01m{}\u001b[39;00m\u001b[38;5;124m to \u001b[39m\u001b[38;5;132;01m{}\u001b[39;00m\u001b[38;5;124m.\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;241m.\u001b[39mformat(oldname, newname)\n\u001b[0;32m--> 965\u001b[0m     \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(msg)\n",
+      "\u001b[0;31mValueError\u001b[0m: Failed to rename grid variable M_1 to lnM_1."
+     ]
+    }
+   ],
    "source": [
     "# Rename the old variable (M_1) because we want it to be called lnM_1 now\n",
     "population.rename_grid_variable(\"M_1\",\"lnM_1\")"
@@ -520,8 +624,8 @@
     "# because  M * dprob/dM = dprob/dlnM\n",
     "population.update_grid_variable(\n",
     "    name=\"lnM_1\",\n",
-    "    samplerfunc=\"const(math.log({min}), math.log({max}), {res})\".format(min = massrange[0], max = massrange[1], res = resolution[\"M_1\"]),\n",
-    "    probdist=\"three_part_powerlaw(M_1, 0.1, 0.5, 1.0, 150, -1.3, -2.3, -2.3)*M_1\",\n",
+    "    samplerfunc=\"self.const_linear(math.log({min}), math.log({max}), {res})\".format(min = massrange[0], max = massrange[1], res = resolution[\"M_1\"]),\n",
+    "    probdist=\"self.three_part_powerlaw(M_1, 0.1, 0.5, 1.0, 150, -1.3, -2.3, -2.3)*M_1\",\n",
     "    dphasevol=\"dlnM_1\",\n",
     "    parameter_name=\"M_1\",\n",
     "    precode=\"M_1=math.exp(lnM_1)\",\n",
@@ -615,7 +719,7 @@
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -629,7 +733,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.6.4"
+   "version": "3.9.9"
   }
  },
  "nbformat": 4,
diff --git a/docs/build/html/binary_c_parameters.html b/docs/build/html/binary_c_parameters.html
index ba8d3ee3a..c62242eec 100644
--- a/docs/build/html/binary_c_parameters.html
+++ b/docs/build/html/binary_c_parameters.html
@@ -3555,7 +3555,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/custom_logging_functions.html b/docs/build/html/custom_logging_functions.html
index eb24e74c9..9ab5b016c 100644
--- a/docs/build/html/custom_logging_functions.html
+++ b/docs/build/html/custom_logging_functions.html
@@ -330,7 +330,7 @@ I recommend using this in function in combination with a function that generates
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/dicts.html b/docs/build/html/dicts.html
index c88f172ba..e4c86f81d 100644
--- a/docs/build/html/dicts.html
+++ b/docs/build/html/dicts.html
@@ -526,7 +526,7 @@ so that they don’t have to be calculated each time.</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/ensemble.html b/docs/build/html/ensemble.html
index ddbda3d3d..1d9b7aa39 100644
--- a/docs/build/html/ensemble.html
+++ b/docs/build/html/ensemble.html
@@ -276,7 +276,7 @@ and return its contents to as a Python dictionary.</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/example_notebooks.html b/docs/build/html/example_notebooks.html
index 1bddb0aaa..1ec5baea2 100644
--- a/docs/build/html/example_notebooks.html
+++ b/docs/build/html/example_notebooks.html
@@ -217,7 +217,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/examples/notebook_BHBH.html b/docs/build/html/examples/notebook_BHBH.html
index d9133f772..1c4970d05 100644
--- a/docs/build/html/examples/notebook_BHBH.html
+++ b/docs/build/html/examples/notebook_BHBH.html
@@ -5571,7 +5571,7 @@ system 2 / 100
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/examples/notebook_HRD.html b/docs/build/html/examples/notebook_HRD.html
index e91c40d18..c2c505aa0 100644
--- a/docs/build/html/examples/notebook_HRD.html
+++ b/docs/build/html/examples/notebook_HRD.html
@@ -1357,7 +1357,7 @@ very start.</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/examples/notebook_api_functionality.html b/docs/build/html/examples/notebook_api_functionality.html
index 47d396adf..bd7d9766c 100644
--- a/docs/build/html/examples/notebook_api_functionality.html
+++ b/docs/build/html/examples/notebook_api_functionality.html
@@ -722,7 +722,7 @@ MAXIMUM MASS RATIO 0.0141
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/examples/notebook_common_envelope_evolution.html b/docs/build/html/examples/notebook_common_envelope_evolution.html
index fb837f86a..e2fc4ac53 100644
--- a/docs/build/html/examples/notebook_common_envelope_evolution.html
+++ b/docs/build/html/examples/notebook_common_envelope_evolution.html
@@ -1131,7 +1131,7 @@ Text(0, 0.5, &#39;Number of stars&#39;)
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/examples/notebook_custom_logging.html b/docs/build/html/examples/notebook_custom_logging.html
index b91aaf480..f9198e2c4 100644
--- a/docs/build/html/examples/notebook_custom_logging.html
+++ b/docs/build/html/examples/notebook_custom_logging.html
@@ -794,7 +794,7 @@ EXAMPLE_SN             1.050651207308e+01 1.59452 9.34213 20 12 13 5 1 6.55458 4
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/examples/notebook_ensembles.html b/docs/build/html/examples/notebook_ensembles.html
index 8a8bd5267..7103580ad 100644
--- a/docs/build/html/examples/notebook_ensembles.html
+++ b/docs/build/html/examples/notebook_ensembles.html
@@ -402,7 +402,7 @@ div.rendered_html tbody tr:hover {
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/examples/notebook_extra_features.html b/docs/build/html/examples/notebook_extra_features.html
index 5091c7ae5..cf7b02f17 100644
--- a/docs/build/html/examples/notebook_extra_features.html
+++ b/docs/build/html/examples/notebook_extra_features.html
@@ -527,7 +527,7 @@ dict_keys([&#39;networks&#39;, &#39;isotopes&#39;, &#39;argpairs&#39;, &#39;ense
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/examples/notebook_individual_systems.html b/docs/build/html/examples/notebook_individual_systems.html
index ad101015b..1f9dd9071 100644
--- a/docs/build/html/examples/notebook_individual_systems.html
+++ b/docs/build/html/examples/notebook_individual_systems.html
@@ -833,7 +833,7 @@ SINGLE_STAR_LIFETIME 15 14.9927
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/examples/notebook_luminosity_function_binaries.html b/docs/build/html/examples/notebook_luminosity_function_binaries.html
index 6c291a1c1..b1b8629ec 100644
--- a/docs/build/html/examples/notebook_luminosity_function_binaries.html
+++ b/docs/build/html/examples/notebook_luminosity_function_binaries.html
@@ -1195,7 +1195,7 @@ Done population run!
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/examples/notebook_luminosity_function_single.html b/docs/build/html/examples/notebook_luminosity_function_single.html
index dbd4e3775..47e78f556 100644
--- a/docs/build/html/examples/notebook_luminosity_function_single.html
+++ b/docs/build/html/examples/notebook_luminosity_function_single.html
@@ -433,8 +433,7 @@ div.rendered_html tbody tr:hover {
 </div>
 <div class="output_area docutils container">
 <div class="highlight"><pre>
-adding: max_evolution_time=0.1 to BSE_options
-adding: tmp_dir=/tmp/binary_c_python-izzard/notebooks/notebook_luminosity to grid_options
+adding: tmp_dir=/tmp/binary_c_python-david/notebooks/notebook_luminosity to grid_options
 verbosity is 1
 </pre></div></div>
 </div>
@@ -452,16 +451,6 @@ verbosity is 1
 </pre></div>
 </div>
 </div>
-<p>All the distribution functions that we can use are stored in the <code class="docutils literal notranslate"><span class="pre">binarycpython.utils.distribution_functions</span></code> or <code class="docutils literal notranslate"><span class="pre">binarycpython/utils/distribution_functions.py</span></code> on git. If you uncomment the help statement below you can see which functions are available now:</p>
-<div class="nbinput nblast docutils container">
-<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[4]:
-</pre></div>
-</div>
-<div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">binarycpython.utils.distribution_functions</span>
-<span class="c1"># help(binarycpython.utils.distribution_functions)</span>
-</pre></div>
-</div>
-</div>
 <p>First let us set up some global variables that will be useful throughout.</p>
 <ul class="simple">
 <li><p>The resolution is the number of stars we simulate in our model population.</p></li>
@@ -470,7 +459,7 @@ verbosity is 1
 <li><p>The binwidth sets the resolution of the final distribution. If set to 0.5, the bins in log<em>L</em> are 0.5dex wide.</p></li>
 </ul>
 <div class="nbinput nblast docutils container">
-<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[5]:
+<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[3]:
 </pre></div>
 </div>
 <div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Set resolution and mass range that we simulate</span>
@@ -484,8 +473,8 @@ verbosity is 1
 </div>
 </div>
 <p>The next cell contains an example of adding the mass grid variable, sampling the phase space in linear mass <em>M</em>_1.</p>
-<div class="nbinput docutils container">
-<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[6]:
+<div class="nbinput nblast docutils container">
+<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[4]:
 </pre></div>
 </div>
 <div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Mass</span>
@@ -497,8 +486,16 @@ verbosity is 1
     <span class="n">name</span><span class="o">=</span><span class="s2">&quot;M_1&quot;</span><span class="p">,</span>
     <span class="n">longname</span><span class="o">=</span><span class="s2">&quot;Primary mass&quot;</span><span class="p">,</span>
     <span class="n">valuerange</span><span class="o">=</span><span class="n">massrange</span><span class="p">,</span>
-    <span class="n">samplerfunc</span><span class="o">=</span><span class="s2">&quot;const(</span><span class="si">{min}</span><span class="s2">, </span><span class="si">{max}</span><span class="s2">, </span><span class="si">{res}</span><span class="s2">)&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">min</span> <span class="o">=</span> <span class="n">massrange</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="nb">max</span> <span class="o">=</span> <span class="n">massrange</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="n">res</span> <span class="o">=</span> <span class="n">resolution</span><span class="p">[</span><span class="s2">&quot;M_1&quot;</span><span class="p">]),</span>
-    <span class="n">probdist</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">{probtot}</span><span class="s2">/(</span><span class="si">{max}</span><span class="s2"> - </span><span class="si">{min}</span><span class="s2">)&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">probtot</span> <span class="o">=</span> <span class="n">total_probability</span><span class="p">,</span> <span class="nb">min</span> <span class="o">=</span> <span class="n">massrange</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="nb">max</span> <span class="o">=</span> <span class="n">massrange</span><span class="p">[</span><span class="mi">1</span><span class="p">]),</span> <span class="c1"># dprob/dm1 : all stars are equally likely so this is 1.0 / (Mmax - Mmin)</span>
+    <span class="n">samplerfunc</span><span class="o">=</span><span class="s2">&quot;self.const_linear(</span><span class="si">{min}</span><span class="s2">, </span><span class="si">{max}</span><span class="s2">, </span><span class="si">{res}</span><span class="s2">)&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+        <span class="nb">min</span><span class="o">=</span><span class="n">massrange</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span>
+        <span class="nb">max</span><span class="o">=</span><span class="n">massrange</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span>
+        <span class="n">res</span><span class="o">=</span><span class="n">resolution</span><span class="p">[</span><span class="s2">&quot;M_1&quot;</span><span class="p">]</span>
+    <span class="p">),</span>
+    <span class="n">probdist</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">{probtot}</span><span class="s2">/(</span><span class="si">{max}</span><span class="s2"> - </span><span class="si">{min}</span><span class="s2">)&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+        <span class="n">probtot</span><span class="o">=</span><span class="n">total_probability</span><span class="p">,</span>
+        <span class="nb">min</span><span class="o">=</span><span class="n">massrange</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span>
+        <span class="nb">max</span><span class="o">=</span><span class="n">massrange</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
+    <span class="p">),</span> <span class="c1"># dprob/dm1 : all stars are equally likely so this is 1.0 / (Mmax - Mmin)</span>
     <span class="n">dphasevol</span><span class="o">=</span><span class="s2">&quot;dM_1&quot;</span><span class="p">,</span>
     <span class="n">parameter_name</span><span class="o">=</span><span class="s2">&quot;M_1&quot;</span><span class="p">,</span>
     <span class="n">condition</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span>  <span class="c1"># Impose a condition on this grid variable. Mostly for a check for yourself</span>
@@ -506,23 +503,6 @@ verbosity is 1
 </pre></div>
 </div>
 </div>
-<div class="nboutput nblast docutils container">
-<div class="prompt empty docutils container">
-</div>
-<div class="output_area docutils container">
-<div class="highlight"><pre>
-<span class="ansi-red-fg">---------------------------------------------------------------------------</span>
-<span class="ansi-red-fg">TypeError</span>                                 Traceback (most recent call last)
-<span class="ansi-green-fg">/tmp/ipykernel_519112/518757914.py</span> in <span class="ansi-cyan-fg">&lt;module&gt;</span>
-<span class="ansi-green-intense-fg ansi-bold">      4</span>     tmp_dir<span class="ansi-blue-fg">=</span>TMP_DIR<span class="ansi-blue-fg">,</span>
-<span class="ansi-green-intense-fg ansi-bold">      5</span> )
-<span class="ansi-green-fg">----&gt; 6</span><span class="ansi-red-fg"> population.add_grid_variable(
-</span><span class="ansi-green-intense-fg ansi-bold">      7</span>     name<span class="ansi-blue-fg">=</span><span class="ansi-blue-fg">&#34;M_1&#34;</span><span class="ansi-blue-fg">,</span>
-<span class="ansi-green-intense-fg ansi-bold">      8</span>     longname<span class="ansi-blue-fg">=</span><span class="ansi-blue-fg">&#34;Primary mass&#34;</span><span class="ansi-blue-fg">,</span>
-
-<span class="ansi-red-fg">TypeError</span>: add_grid_variable() got an unexpected keyword argument &#39;resolution&#39;
-</pre></div></div>
-</div>
 </section>
 <section id="Setting-logging-and-handling-the-output">
 <h2>Setting logging and handling the output<a class="headerlink" href="#Setting-logging-and-handling-the-output" title="Permalink to this heading"></a></h2>
@@ -531,7 +511,7 @@ works perfectly well.</p>
 <p>After configuring what will be printed, we need to make a function to parse the output. This can be done by setting the parse_function parameter in the population object (see also notebook <code class="docutils literal notranslate"><span class="pre">notebook_individual_systems.ipynb</span></code>).</p>
 <p>In the code below we will set up both the custom logging and a parse function to handle that output.</p>
 <div class="nbinput nblast docutils container">
-<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[ ]:
+<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[5]:
 </pre></div>
 </div>
 <div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Create custom logging statement</span>
@@ -565,8 +545,8 @@ works perfectly well.</p>
 </div>
 </div>
 <p>The parse function must now catch lines that start with “ZERO_AGE_MAIN_SEQUENCE_STAR” and process the associated data.</p>
-<div class="nbinput nblast docutils container">
-<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[ ]:
+<div class="nbinput docutils container">
+<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[15]:
 </pre></div>
 </div>
 <div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># import the bin_data function so we can construct finite-resolution probability distributions</span>
@@ -592,12 +572,9 @@ works perfectly well.</p>
             <span class="c1"># bin the log10(luminosity) to the nearest 0.1dex</span>
             <span class="n">binned_log_luminosity</span> <span class="o">=</span> <span class="n">bin_data</span><span class="p">(</span><span class="n">math</span><span class="o">.</span><span class="n">log10</span><span class="p">(</span><span class="n">linedata</span><span class="p">[</span><span class="s1">&#39;luminosity&#39;</span><span class="p">]),</span>
                                              <span class="n">binwidth</span><span class="p">[</span><span class="s1">&#39;luminosity&#39;</span><span class="p">])</span>
-
             <span class="c1"># append the data to the results_dictionary</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">grid_results</span><span class="p">[</span><span class="s1">&#39;luminosity distribution&#39;</span><span class="p">][</span><span class="n">binned_log_luminosity</span><span class="p">]</span> <span class="o">+=</span> <span class="n">linedata</span><span class="p">[</span><span class="s1">&#39;probability&#39;</span><span class="p">]</span>
 
-            <span class="c1">#print (self.grid_results)</span>
-
     <span class="c1"># verbose reporting</span>
     <span class="c1">#print(&quot;parse out results_dictionary=&quot;,self.grid_results)</span>
 
@@ -608,14 +585,22 @@ works perfectly well.</p>
 </pre></div>
 </div>
 </div>
+<div class="nboutput nblast docutils container">
+<div class="prompt empty docutils container">
+</div>
+<div class="output_area docutils container">
+<div class="highlight"><pre>
+adding: parse_function=&lt;function parse_function at 0x7f6920fd2430&gt; to grid_options
+</pre></div></div>
+</div>
 </section>
 <section id="Evolving-the-grid">
 <h2>Evolving the grid<a class="headerlink" href="#Evolving-the-grid" title="Permalink to this heading"></a></h2>
 <p>Now that we configured all the main parts of the population object, we can actually run the population! Doing this is straightforward: <code class="docutils literal notranslate"><span class="pre">population.evolve()</span></code></p>
 <p>This will start up the processing of all the systems. We can control how many cores are used by settings <code class="docutils literal notranslate"><span class="pre">num_cores</span></code>. By setting the <code class="docutils literal notranslate"><span class="pre">verbosity</span></code> of the population object to a higher value we can get a lot of verbose information about the run, but for now we will set it to 0.</p>
 <p>There are many grid_options that can lead to different behaviour of the evolution of the grid. Please do have a look at those: <a class="reference external" href="https://ri0005.pages.surrey.ac.uk/binary_c-python/grid_options_descriptions.html">grid options docs</a>, and try</p>
-<div class="nbinput nblast docutils container">
-<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[ ]:
+<div class="nbinput docutils container">
+<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[16]:
 </pre></div>
 </div>
 <div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># set number of threads</span>
@@ -624,7 +609,7 @@ works perfectly well.</p>
     <span class="n">verbosity</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
     <span class="c1"># set number of threads (i.e. number of CPU cores we use)</span>
     <span class="n">num_cores</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span>
-    <span class="p">)</span>
+<span class="p">)</span>
 
 <span class="c1"># Evolve the population - this is the slow, number-crunching step</span>
 <span class="n">analytics</span> <span class="o">=</span> <span class="n">population</span><span class="o">.</span><span class="n">evolve</span><span class="p">()</span>
@@ -634,17 +619,55 @@ works perfectly well.</p>
 </pre></div>
 </div>
 </div>
+<div class="nboutput nblast docutils container">
+<div class="prompt empty docutils container">
+</div>
+<div class="output_area docutils container">
+<div class="highlight"><pre>
+adding: verbosity=0 to grid_options
+Do dry run? True
+Doing dry run to calculate total starcount and probability
+Grid has handled 39 stars with a total probability of 1
+**************************
+*         Dry run        *
+*  Total starcount is 39 *
+* Total probability is 1 *
+**************************
+
+Do join of subprocesses ...
+Joined subprocesses.
+**********************************************************
+*  Population-f9b28e4ed6ec4a67b17cd86c5a43c41c finished! *
+*               The total probability is 1.              *
+*  It took a total of 3.99s to run 39 systems on 2 cores *
+*                   = 7.98s of CPU time.                 *
+*              Maximum memory use 343.570 MB             *
+**********************************************************
+
+No failed systems were found in this run.
+Do analytics
+Added analytics to metadata
+</pre></div></div>
+</div>
 <p>After the run is complete, some technical report on the run is returned. I stored that in <code class="docutils literal notranslate"><span class="pre">analytics</span></code>. As we can see below, this dictionary is like a status report of the evolution. Useful for e.g. debugging.</p>
-<div class="nbinput nblast docutils container">
-<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[ ]:
+<div class="nbinput docutils container">
+<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[19]:
 </pre></div>
 </div>
 <div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="nb">print</span><span class="p">(</span><span class="n">analytics</span><span class="p">)</span>
 </pre></div>
 </div>
 </div>
-<div class="nbinput nblast docutils container">
-<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[ ]:
+<div class="nboutput nblast docutils container">
+<div class="prompt empty docutils container">
+</div>
+<div class="output_area docutils container">
+<div class="highlight"><pre>
+{&#39;population_id&#39;: &#39;f9b28e4ed6ec4a67b17cd86c5a43c41c&#39;, &#39;evolution_type&#39;: &#39;grid&#39;, &#39;failed_count&#39;: 0, &#39;failed_prob&#39;: 0, &#39;failed_systems_error_codes&#39;: [], &#39;errors_exceeded&#39;: False, &#39;errors_found&#39;: False, &#39;total_probability&#39;: 0.9999999999999999, &#39;total_count&#39;: 39, &#39;start_timestamp&#39;: 1655508316.7679594, &#39;end_timestamp&#39;: 1655508320.7581806, &#39;time_elapsed&#39;: 3.9902212619781494, &#39;total_mass_run&#39;: 1951.365, &#39;total_probability_weighted_mass_run&#39;: 50.035, &#39;zero_prob_stars_skipped&#39;: 0}
+</pre></div></div>
+</div>
+<div class="nbinput docutils container">
+<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[18]:
 </pre></div>
 </div>
 <div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># make a plot of the luminosity distribution using Seaborn and Pandas</span>
@@ -677,25 +700,41 @@ works perfectly well.</p>
 </pre></div>
 </div>
 </div>
+<div class="nboutput docutils container">
+<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[18]:
+</pre></div>
+</div>
+<div class="output_area docutils container">
+<div class="highlight"><pre>
+[None]
+</pre></div></div>
+</div>
+<div class="nboutput nblast docutils container">
+<div class="prompt empty docutils container">
+</div>
+<div class="output_area docutils container">
+<img alt="../_images/examples_notebook_luminosity_function_single_18_1.png" src="../_images/examples_notebook_luminosity_function_single_18_1.png" />
+</div>
+</div>
 <p>Does this look like a reasonable stellar luminosity function to you? The implication is that the most likely stellar luminosity is 105.8 L☉! Clearly, this is not very realistic… let’s see what went wrong.</p>
 </section>
 <section id="ZAMS-Luminosity-distribution-with-the-initial-mass-function">
 <h2>ZAMS Luminosity distribution with the initial mass function<a class="headerlink" href="#ZAMS-Luminosity-distribution-with-the-initial-mass-function" title="Permalink to this heading"></a></h2>
 <p>In the previous example, all the stars in our grid had an equal weighting. This is very unlikely to be true in reality: indeed, we know that low mass stars are far more likely than high mass stars. So we now include an initial mass function as a three-part power law based on Kroupa (2001). Kroupa’s distribution is a three-part power law: we have a function that does this for us (it’s very common to use power laws in astrophysics).</p>
 <div class="nbinput nblast docutils container">
-<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[ ]:
+<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[22]:
 </pre></div>
 </div>
 <div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Update the probability distribution to use the three-part power law IMF</span>
 <span class="n">population</span><span class="o">.</span><span class="n">update_grid_variable</span><span class="p">(</span>
     <span class="n">name</span><span class="o">=</span><span class="s2">&quot;M_1&quot;</span><span class="p">,</span>
-    <span class="n">probdist</span><span class="o">=</span><span class="s2">&quot;three_part_powerlaw(M_1, 0.1, 0.5, 1.0, 150, -1.3, -2.3, -2.3)&quot;</span><span class="p">,</span>
+    <span class="n">probdist</span><span class="o">=</span><span class="s2">&quot;self.three_part_powerlaw(M_1, 0.1, 0.5, 1.0, 150, -1.3, -2.3, -2.3)&quot;</span><span class="p">,</span>
 <span class="p">)</span>
 </pre></div>
 </div>
 </div>
-<div class="nbinput nblast docutils container">
-<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[ ]:
+<div class="nbinput docutils container">
+<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[23]:
 </pre></div>
 </div>
 <div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Clean and re-evolve the population</span>
@@ -707,8 +746,37 @@ works perfectly well.</p>
 </pre></div>
 </div>
 </div>
-<div class="nbinput nblast docutils container">
-<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[ ]:
+<div class="nboutput nblast docutils container">
+<div class="prompt empty docutils container">
+</div>
+<div class="output_area docutils container">
+<div class="highlight"><pre>
+Do dry run? True
+Doing dry run to calculate total starcount and probability
+Grid has handled 39 stars with a total probability of 0.211729
+**********************************
+*             Dry run            *
+*      Total starcount is 39     *
+*  Total probability is 0.211729 *
+**********************************
+
+Do join of subprocesses ...
+Joined subprocesses.
+**********************************************************
+*  Population-1d1d556abeae4549aa28f9740807dc84 finished! *
+*           The total probability is 0.211729.           *
+*  It took a total of 3.90s to run 39 systems on 2 cores *
+*                   = 7.80s of CPU time.                 *
+*              Maximum memory use 519.211 MB             *
+**********************************************************
+
+No failed systems were found in this run.
+Do analytics
+Added analytics to metadata
+</pre></div></div>
+</div>
+<div class="nbinput docutils container">
+<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[24]:
 </pre></div>
 </div>
 <div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># plot luminosity distribution</span>
@@ -729,6 +797,22 @@ works perfectly well.</p>
 </pre></div>
 </div>
 </div>
+<div class="nboutput docutils container">
+<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[24]:
+</pre></div>
+</div>
+<div class="output_area docutils container">
+<div class="highlight"><pre>
+[None]
+</pre></div></div>
+</div>
+<div class="nboutput nblast docutils container">
+<div class="prompt empty docutils container">
+</div>
+<div class="output_area docutils container">
+<img alt="../_images/examples_notebook_luminosity_function_single_23_1.png" src="../_images/examples_notebook_luminosity_function_single_23_1.png" />
+</div>
+</div>
 <p>This distribution is peaked at low luminosity, as one expects from observations, but the resolution is clearly not great because it’s not smooth - it’s spiky!</p>
 <p>If you noticed above, the total probability of the grid was about 0.2. Given that the total probability of a probability distribution function should be 1.0, this shows that our sampling is (very) poor.</p>
 <p>We could simply increase the resolution to compensate, but this is very CPU intensive and a complete waste of time and resources. Instead, let’s try sampling the masses of the stars in a smarter way.</p>
@@ -737,8 +821,8 @@ works perfectly well.</p>
 <h2>A better-sampled grid<a class="headerlink" href="#A-better-sampled-grid" title="Permalink to this heading"></a></h2>
 <p>The IMF has many more low-mass stars than high-mass stars. So, instead of sampling M1 linearly, we can sample it in log space.</p>
 <p>To do this we first rename the mass grid variable so that it is clear we are working in (natural) logarithmic phase space.</p>
-<div class="nbinput nblast docutils container">
-<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[ ]:
+<div class="nbinput docutils container">
+<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[27]:
 </pre></div>
 </div>
 <div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Rename the old variable (M_1) because we want it to be called lnM_1 now</span>
@@ -746,6 +830,25 @@ works perfectly well.</p>
 </pre></div>
 </div>
 </div>
+<div class="nboutput nblast docutils container">
+<div class="prompt empty docutils container">
+</div>
+<div class="output_area docutils container">
+<div class="highlight"><pre>
+<span class="ansi-red-fg">---------------------------------------------------------------------------</span>
+<span class="ansi-red-fg">ValueError</span>                                Traceback (most recent call last)
+Input <span class="ansi-green-fg">In [27]</span>, in <span class="ansi-cyan-fg">&lt;cell line: 2&gt;</span><span class="ansi-blue-fg">()</span>
+<span class="ansi-green-intense-fg ansi-bold">      1</span> <span style="color: rgb(95,135,135)"># Rename the old variable (M_1) because we want it to be called lnM_1 now</span>
+<span class="ansi-green-fg">----&gt; 2</span> <span class="ansi-yellow-bg">population</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">rename_grid_variable</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">&#34;</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">M_1</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">&#34;</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">&#34;</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">lnM_1</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">&#34;</span><span class="ansi-yellow-bg">)</span>
+
+File <span class="ansi-green-fg">~/.pyenv/versions/3.9.9/envs/dev_binarycpython3.9.9/lib/python3.9/site-packages/binarycpython/utils/population_extensions/gridcode.py:965</span>, in <span class="ansi-cyan-fg">gridcode.rename_grid_variable</span><span class="ansi-blue-fg">(self, oldname, newname)</span>
+<span class="ansi-green-intense-fg ansi-bold">    963</span> <span class="ansi-bold" style="color: rgb(0,135,0)">else</span>:
+<span class="ansi-green-intense-fg ansi-bold">    964</span>     msg <span style="color: rgb(98,98,98)">=</span> <span style="color: rgb(175,0,0)">&#34;</span><span style="color: rgb(175,0,0)">Failed to rename grid variable </span><span class="ansi-bold" style="color: rgb(175,95,135)">{}</span><span style="color: rgb(175,0,0)"> to </span><span class="ansi-bold" style="color: rgb(175,95,135)">{}</span><span style="color: rgb(175,0,0)">.</span><span style="color: rgb(175,0,0)">&#34;</span><span style="color: rgb(98,98,98)">.</span>format(oldname, newname)
+<span class="ansi-green-fg">--&gt; 965</span>     <span class="ansi-bold" style="color: rgb(0,135,0)">raise</span> <span class="ansi-bold" style="color: rgb(215,95,95)">ValueError</span>(msg)
+
+<span class="ansi-red-fg">ValueError</span>: Failed to rename grid variable M_1 to lnM_1.
+</pre></div></div>
+</div>
 <p>Next, we change the spacing function so that it works in the log space. We also adapt the probability calculation so that it calculates dprob/dlnM = M * dprob/dM. Finally, we set the precode to compute M_1 because binary_c requires the actual mass, not the logarithm of the mass.</p>
 <div class="nbinput nblast docutils container">
 <div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[ ]:
@@ -756,8 +859,8 @@ works perfectly well.</p>
 <span class="c1"># because  M * dprob/dM = dprob/dlnM</span>
 <span class="n">population</span><span class="o">.</span><span class="n">update_grid_variable</span><span class="p">(</span>
     <span class="n">name</span><span class="o">=</span><span class="s2">&quot;lnM_1&quot;</span><span class="p">,</span>
-    <span class="n">samplerfunc</span><span class="o">=</span><span class="s2">&quot;const(math.log(</span><span class="si">{min}</span><span class="s2">), math.log(</span><span class="si">{max}</span><span class="s2">), </span><span class="si">{res}</span><span class="s2">)&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">min</span> <span class="o">=</span> <span class="n">massrange</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="nb">max</span> <span class="o">=</span> <span class="n">massrange</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="n">res</span> <span class="o">=</span> <span class="n">resolution</span><span class="p">[</span><span class="s2">&quot;M_1&quot;</span><span class="p">]),</span>
-    <span class="n">probdist</span><span class="o">=</span><span class="s2">&quot;three_part_powerlaw(M_1, 0.1, 0.5, 1.0, 150, -1.3, -2.3, -2.3)*M_1&quot;</span><span class="p">,</span>
+    <span class="n">samplerfunc</span><span class="o">=</span><span class="s2">&quot;self.const_linear(math.log(</span><span class="si">{min}</span><span class="s2">), math.log(</span><span class="si">{max}</span><span class="s2">), </span><span class="si">{res}</span><span class="s2">)&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">min</span> <span class="o">=</span> <span class="n">massrange</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="nb">max</span> <span class="o">=</span> <span class="n">massrange</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="n">res</span> <span class="o">=</span> <span class="n">resolution</span><span class="p">[</span><span class="s2">&quot;M_1&quot;</span><span class="p">]),</span>
+    <span class="n">probdist</span><span class="o">=</span><span class="s2">&quot;self.three_part_powerlaw(M_1, 0.1, 0.5, 1.0, 150, -1.3, -2.3, -2.3)*M_1&quot;</span><span class="p">,</span>
     <span class="n">dphasevol</span><span class="o">=</span><span class="s2">&quot;dlnM_1&quot;</span><span class="p">,</span>
     <span class="n">parameter_name</span><span class="o">=</span><span class="s2">&quot;M_1&quot;</span><span class="p">,</span>
     <span class="n">precode</span><span class="o">=</span><span class="s2">&quot;M_1=math.exp(lnM_1)&quot;</span><span class="p">,</span>
@@ -845,7 +948,7 @@ works perfectly well.</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/examples/notebook_luminosity_function_single.ipynb b/docs/build/html/examples/notebook_luminosity_function_single.ipynb
index 93e041531..0a19202d3 100644
--- a/docs/build/html/examples/notebook_luminosity_function_single.ipynb
+++ b/docs/build/html/examples/notebook_luminosity_function_single.ipynb
@@ -54,8 +54,7 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "adding: max_evolution_time=0.1 to BSE_options\n",
-      "adding: tmp_dir=/tmp/binary_c_python-izzard/notebooks/notebook_luminosity to grid_options\n",
+      "adding: tmp_dir=/tmp/binary_c_python-david/notebooks/notebook_luminosity to grid_options\n",
       "verbosity is 1\n"
      ]
     }
@@ -104,28 +103,6 @@
     "# help(population.add_grid_variable)"
    ]
   },
-  {
-   "cell_type": "markdown",
-   "id": "bd75cebe-2152-4025-b680-dc020b80889b",
-   "metadata": {},
-   "source": [
-    "All the distribution functions that we can use are stored in the `binarycpython.utils.distribution_functions` or `binarycpython/utils/distribution_functions.py` on git. If you uncomment the help statement below you can see which functions are available now:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 4,
-   "id": "048db541-3e92-4c5d-a25c-9c5a34b9c857",
-   "metadata": {
-    "scrolled": true,
-    "tags": []
-   },
-   "outputs": [],
-   "source": [
-    "import binarycpython.utils.distribution_functions\n",
-    "# help(binarycpython.utils.distribution_functions)"
-   ]
-  },
   {
    "cell_type": "markdown",
    "id": "2a9104fc-4136-4e53-8604-f24ad52fbe56",
@@ -141,7 +118,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 5,
+   "execution_count": 3,
    "id": "aba3fe4e-18f2-4bb9-8e5c-4c6007ab038b",
    "metadata": {},
    "outputs": [],
@@ -165,22 +142,10 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 6,
+   "execution_count": 4,
    "id": "47979841-2c26-4b26-8945-603d013dc93a",
    "metadata": {},
-   "outputs": [
-    {
-     "ename": "TypeError",
-     "evalue": "add_grid_variable() got an unexpected keyword argument 'resolution'",
-     "output_type": "error",
-     "traceback": [
-      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
-      "\u001b[0;31mTypeError\u001b[0m                                 Traceback (most recent call last)",
-      "\u001b[0;32m/tmp/ipykernel_519112/518757914.py\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m      4\u001b[0m     \u001b[0mtmp_dir\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mTMP_DIR\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      5\u001b[0m )\n\u001b[0;32m----> 6\u001b[0;31m population.add_grid_variable(\n\u001b[0m\u001b[1;32m      7\u001b[0m     \u001b[0mname\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"M_1\"\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      8\u001b[0m     \u001b[0mlongname\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"Primary mass\"\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
-      "\u001b[0;31mTypeError\u001b[0m: add_grid_variable() got an unexpected keyword argument 'resolution'"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "# Mass\n",
     "population = Population()\n",
@@ -191,8 +156,16 @@
     "    name=\"M_1\",\n",
     "    longname=\"Primary mass\",\n",
     "    valuerange=massrange,\n",
-    "    samplerfunc=\"const({min}, {max}, {res})\".format(min = massrange[0], max = massrange[1], res = resolution[\"M_1\"]),\n",
-    "    probdist=\"{probtot}/({max} - {min})\".format(probtot = total_probability, min = massrange[0], max = massrange[1]), # dprob/dm1 : all stars are equally likely so this is 1.0 / (Mmax - Mmin)\n",
+    "    samplerfunc=\"self.const_linear({min}, {max}, {res})\".format(\n",
+    "        min=massrange[0],\n",
+    "        max=massrange[1],\n",
+    "        res=resolution[\"M_1\"]\n",
+    "    ),\n",
+    "    probdist=\"{probtot}/({max} - {min})\".format(\n",
+    "        probtot=total_probability,\n",
+    "        min=massrange[0],\n",
+    "        max=massrange[1]\n",
+    "    ), # dprob/dm1 : all stars are equally likely so this is 1.0 / (Mmax - Mmin)\n",
     "    dphasevol=\"dM_1\",\n",
     "    parameter_name=\"M_1\",\n",
     "    condition=\"\",  # Impose a condition on this grid variable. Mostly for a check for yourself\n",
@@ -214,7 +187,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 5,
    "id": "0c986215-93b1-4e30-ad79-f7c397e9ff7d",
    "metadata": {},
    "outputs": [],
@@ -258,10 +231,18 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 15,
    "id": "fd197154-a8ce-4865-8929-008d3483101a",
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "adding: parse_function=<function parse_function at 0x7f6920fd2430> to grid_options\n"
+     ]
+    }
+   ],
    "source": [
     "# import the bin_data function so we can construct finite-resolution probability distributions\n",
     "# import the datalinedict to make a dictionary from each line of data from binary_c\n",
@@ -279,18 +260,15 @@
     "    for line in output.splitlines():\n",
     "        # obtain the line of data in dictionary form \n",
     "        linedata = datalinedict(line,parameters)\n",
-    "        \n",
+    "\n",
     "        # Check the header and act accordingly\n",
     "        if linedata['header'] == \"ZERO_AGE_MAIN_SEQUENCE_STAR\":\n",
-    "            \n",
+    "\n",
     "            # bin the log10(luminosity) to the nearest 0.1dex\n",
     "            binned_log_luminosity = bin_data(math.log10(linedata['luminosity']),\n",
     "                                             binwidth['luminosity'])\n",
-    "            \n",
     "            # append the data to the results_dictionary \n",
     "            self.grid_results['luminosity distribution'][binned_log_luminosity] += linedata['probability'] \n",
-    "            \n",
-    "            #print (self.grid_results)\n",
     "    \n",
     "    # verbose reporting\n",
     "    #print(\"parse out results_dictionary=\",self.grid_results)\n",
@@ -316,12 +294,42 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 16,
    "id": "8ea376c1-1e92-45af-8cab-9d7fdca564eb",
    "metadata": {
     "tags": []
    },
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "adding: verbosity=0 to grid_options\n",
+      "Do dry run? True\n",
+      "Doing dry run to calculate total starcount and probability\n",
+      "Grid has handled 39 stars with a total probability of 1\n",
+      "**************************\n",
+      "*         Dry run        *\n",
+      "*  Total starcount is 39 *\n",
+      "* Total probability is 1 *\n",
+      "**************************\n",
+      "\n",
+      "Do join of subprocesses ...\n",
+      "Joined subprocesses.\n",
+      "**********************************************************\n",
+      "*  Population-f9b28e4ed6ec4a67b17cd86c5a43c41c finished! *\n",
+      "*               The total probability is 1.              *\n",
+      "*  It took a total of 3.99s to run 39 systems on 2 cores *\n",
+      "*                   = 7.98s of CPU time.                 *\n",
+      "*              Maximum memory use 343.570 MB             *\n",
+      "**********************************************************\n",
+      "\n",
+      "No failed systems were found in this run.\n",
+      "Do analytics\n",
+      "Added analytics to metadata\n"
+     ]
+    }
+   ],
    "source": [
     "# set number of threads\n",
     "population.set(\n",
@@ -329,7 +337,7 @@
     "    verbosity=0,\n",
     "    # set number of threads (i.e. number of CPU cores we use)\n",
     "    num_cores=2,\n",
-    "    )\n",
+    ")\n",
     "\n",
     "# Evolve the population - this is the slow, number-crunching step\n",
     "analytics = population.evolve()  \n",
@@ -348,20 +356,51 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 19,
    "id": "e1f0464b-0424-4022-b34b-5b744bc2c59d",
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "{'population_id': 'f9b28e4ed6ec4a67b17cd86c5a43c41c', 'evolution_type': 'grid', 'failed_count': 0, 'failed_prob': 0, 'failed_systems_error_codes': [], 'errors_exceeded': False, 'errors_found': False, 'total_probability': 0.9999999999999999, 'total_count': 39, 'start_timestamp': 1655508316.7679594, 'end_timestamp': 1655508320.7581806, 'time_elapsed': 3.9902212619781494, 'total_mass_run': 1951.365, 'total_probability_weighted_mass_run': 50.035, 'zero_prob_stars_skipped': 0}\n"
+     ]
+    }
+   ],
    "source": [
     "print(analytics)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 18,
    "id": "05c6d132-abee-423e-b1a8-2039c8996fbc",
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[None]"
+      ]
+     },
+     "execution_count": 18,
+     "metadata": {},
+     "output_type": "execute_result"
+    },
+    {
+     "data": {
+      "image/png": "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3R7YwRXSMhJB59ixozz++N9ISmrMQw895rH/PDV1AQkJDRky5EwsFguNGzchNXUBN9/8R4/nnDhxMh988D5btmyiT59+ACxatJDhw0cSF1e5fEmLFi1Zu3Y1mZkZNGvW3L/foBf27NnNk08+wtSpFzNpUiwffjiL+++/h1tu+SMffTSbCy64kJMnT/DRR7N49tkneeml12s856xZ72K12rj88qs5fvwYH3/8AY899jBvvz2r7Jj587/h6acfo1evPtx6651kZBzm888/Zfv2rbz99myio6MpLi7m3nvvwGazMmPG5TRq1IjDhw+TlvYjeXnHiY+Pr/TaF1xwIdnZ2axevaJct2xcXByjRo1l6dJU7rjjHmw2W9m+RYu+JSIigvHjJ1b5PTmdTh588E9s2rSBqVMvokOHjvzwwzKefPLRGq/HmjUrefTRhxg9eiznnz8Nu93O7t2/s3nzRi655DJGjx7HwYP7WbjwW+68814aNUoEjK5l93N8990ipk2bTkJCAk2bNq3y9UpKSrjvvjtJ7tabS6/8A9s2reb1118B4IorrinXGqppulFV17Pq73UV9913J+3adeDGG2/l5MkTzJ37MbfeegMzZ35MUtKp76mkpIR7772dPn368cc/3sWaNav45JMPadOmLdOmXVzja9WWJCMRdP7xjyfIysrkxRdfIzEx0eMxqakLGDVqTFnXy5gx41i8eCF/+MNtHpNX585d6NIlmdTUBfTp04/s7CzWr1/L448/4/H8V1xxDc888wQzZkylT59+9O3bn8GDh9K7d1+s1sB3KOzdu4e33ppJz569AWjWrAWPPPIgr776Mp98Mq/sjbGkpIQPPnifw4cP0aJF5QEc7kpKSnjvvVll16xhw0a89NLz7Nr1G507J1NSUsLrr79CcnI3XnnlTaKijEofSnXn0Ucf4ptvvuDiiy9l9+5dpKcf4O23Z9GjR6+y81d3L6h377506NCR1atXVOqWPeusc1i06FvWr1/D4MFnlm1PTV3A0KHDyr5XT3788Xs2bFjPHXfcU9aCnjr1Yu6885ZqrwVAWtpPdOrUmaee+j+P+5OTu6JUDxYu/JaRI8fQqlXrSsfs27eXDz6YQ/v2Hcq2ubdy3RUUFHDG4BQuvfIWbDYr1199BffeewczZ77LtGnTiYk+1QovLqm+FVLd9fTktddeIjExkddf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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
    "source": [
     "# make a plot of the luminosity distribution using Seaborn and Pandas\n",
     "import seaborn as sns\n",
@@ -412,7 +451,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 22,
    "id": "1f37d2c0-1108-4ab9-a309-20b1e6b6e3fd",
    "metadata": {},
    "outputs": [],
@@ -420,16 +459,45 @@
     "# Update the probability distribution to use the three-part power law IMF \n",
     "population.update_grid_variable(\n",
     "    name=\"M_1\",\n",
-    "    probdist=\"three_part_powerlaw(M_1, 0.1, 0.5, 1.0, 150, -1.3, -2.3, -2.3)\",\n",
+    "    probdist=\"self.three_part_powerlaw(M_1, 0.1, 0.5, 1.0, 150, -1.3, -2.3, -2.3)\",\n",
     ")"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 23,
    "id": "6f4463e8-1935-45f2-8c5f-e7b215f8dc47",
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Do dry run? True\n",
+      "Doing dry run to calculate total starcount and probability\n",
+      "Grid has handled 39 stars with a total probability of 0.211729\n",
+      "**********************************\n",
+      "*             Dry run            *\n",
+      "*      Total starcount is 39     *\n",
+      "*  Total probability is 0.211729 *\n",
+      "**********************************\n",
+      "\n",
+      "Do join of subprocesses ...\n",
+      "Joined subprocesses.\n",
+      "**********************************************************\n",
+      "*  Population-1d1d556abeae4549aa28f9740807dc84 finished! *\n",
+      "*           The total probability is 0.211729.           *\n",
+      "*  It took a total of 3.90s to run 39 systems on 2 cores *\n",
+      "*                   = 7.80s of CPU time.                 *\n",
+      "*              Maximum memory use 519.211 MB             *\n",
+      "**********************************************************\n",
+      "\n",
+      "No failed systems were found in this run.\n",
+      "Do analytics\n",
+      "Added analytics to metadata\n"
+     ]
+    }
+   ],
    "source": [
     "# Clean and re-evolve the population \n",
     "population.clean()\n",
@@ -441,10 +509,33 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 24,
    "id": "cfe45a9e-1121-43b6-b6b6-4de6f8946a18",
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[None]"
+      ]
+     },
+     "execution_count": 24,
+     "metadata": {},
+     "output_type": "execute_result"
+    },
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaQAAAEdCAYAAABDiROIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAABEJElEQVR4nO3dd3hUVfrA8e+kBxJIgAAhIC3wgoCA0nsVxQYKYl97Wxu7lnV1f3ZXXfvaK7ZVwYoFpYnSq3Q80msCAUIJJJAyvz/uJEySSTITZnJnkvfzPDyTnHvmzjuXyX3nnHvuOQ6n04lSSilltzC7A1BKKaVAE5JSSqkgoQlJKaVUUNCEpJRSKihoQlJKKRUUIuwOIERFA92BNCDf5liUUipUhAPJwGLgWMmNmpAqpzsw2+4glFIqRPUH5pQs1IRUOWkAmZlHKCgI7H1c9evHsW9fVkBfo6bSYxs4emwDJ5SPbViYg8TE2uA6h5akCaly8gEKCpwBT0iFr6MCQ49t4OixDZxqcGw9XurQQQ1KKaWCgiYkpZRSQUETklJKqaCgCUkppVRQ0ISklFIqKOgouxCUnX2ErKwD5OfnFZXl5hWQX+AkOjIch8PG4ELInj1hFBQU2B1GtaTHNnCC8diGhYUTERFFfHwCkZFRld6PJqQQk519hMOHM0lISCIyMgqHw0FBgZNtuw9DONSuG0OdWpX/QNQkERFh5OUF1x92daHHNnCC7dg6nU4KCvI5diybzMw9xMcnEhtbu1L70i67EJOVdYCEhCSioqJxuJpCefknPpyHjxy3KzSlVA3kcDgID4+gVq14EhIacOTIwUrvSxNSiMnPzzupJrFSSgVKZGQ0eXm5lX6+JqQQ5NCLREqpIHSy5yZNSEoppYKCJiSllFJBQROSUgEyZsx5PPHEw7a89m233chtt91oy2sXSkvbRb9+3fjxx++C5vWfeOJhxow5z7bXPuusQQF/7bJePxTU2GHfIvIIMBZoB1xmjPnM5pBqrLS0XYwde36F9f75z4cYObL4yWTfvr1ceOE5FBQUMGnSdzRu3LjU82677UaWL19Gy5at+OijiaW2z5w5nf/7v38A8PLLb3D66d2Ktq1YsZwPP3yPjRvXc+jQQRISEklNbcuwYSM488yzfH2rNd6CBfNYs2YV1113k92heG316lUsXDiPiy++jPj4eLvDKSYUj2d5amxCAtYDdwKP2R1ITZeQkMi//vWox20FBQX8978vkJ19lDZtpNT2GTOmEhMTQ3h4BNOn/8QVV1ztcT9RUVFs3ryJDRvWk5rapti2adN+IioqmuPHiy9gOXPmdB566H7atGnL2LGXEB9fh7S0XSxfvozvvvs6qBPSCy+8ancING6czIwZc4mIOHGaWbhwPpMmfWrbCfS++x70+abStWtX8f77bzNy5HleJyRP7z0QyjqeVfX6/hZa0fqRMeZjABF5wO5YarrY2FhGjBjpcdu7777JoUMHue22u2jTpm2p7dOm/US/fgOJiopi2rSfy0xIp5zSgqNHjzB9+s/FElJWVhYLF86jd+++/PrrL8We8957b9GqVWvefHMCkZGRxbZlZu738V1WrZLx2sHhcBAdHW13GMUE+gSdn59Pfn4+UVFRtr73YDz23rD9GpKIJIvIUyLyi4gcFhGniAwqo260iDwtIrtEJFtEFojI0CoOWVWR5cuX8eGH79G7d1/Gjbu81Pbt27exbt1ahg49k6FDz2TjxvVs2rSxzP0NHXomM2ZMxek8sbjZrFkzcDgc9O8/qFT9Xbt2cOqpHT2e3BMT6/n8ft5990369etWqvzHH7+jX79upKXtKiobM+Y87r//7yxevIBrr72cIUP6cu21l7N27WoApkz5nksuuZAhQ/pw2203smvXzmL7LHkNadmyJfTr141ff53JhAnvMGrU2QwZ0oc777yFHTu2l4ppxoypXHPNZQwZ0odzzx3Ov//9KAcOHChWZ/v2bTzwwD2cf/4Ihgzpw+jRI3noofvJyrJWMy15HeOJJx5m0qRPAejXr1vRv6NHjzJsWD9efPHZUnFs376Nfv268dVXk8o9tocPH+aJJx5mxIiBnHXWIB5//CGysg6XqufpGtL06T9z7bVXMHz4AM48cyBXXTWOiROtON99901efvl5AMaOPb8o5sL/q379uvHSS88xZcr3XHbZRQwZ0ofVq1eWew1nx47t3HXXrQwb1o8LLzyHTz75oNj2wv+rZcuWFCsv3Of3308u93i61y35+kuWLOKWW65l6NC+nHXWYB588L5Sn53Ca127d6dz333jGT68P+eeO4xXXnmR/HyP6+r5TTC0kAS4D9gArAT6lFN3AnAR8KKr/tXAFBEZaIyZH9AoVZU6dOggjz76LxIT6/HAA494vL9h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PO4bICrK+nPNzDzo8SbTESPO4e23XyM/P58GDZLo3PmMCo9xz559+Oabr/jyyy+KBjXk5+czceJnpV6/5HE5ePBAqQETLVumAnD0aA55eQVFMR88eJCGDUu3/AoKKP036eG9F772xImfF12vKSgo4MsvJxEbG0vHjp3JyysgKakx4eHhLFu2lL59T4zN+uKLE7OMVHQ8S75+QkJ92rRpy/ffT+bSS68iLs76Mr127WpWrVrJuHGXl3mMTrxPz+Wlj0dBsXOWu7AwR7lf5EMpIaVhdduVVFgWuA5YFVB792bw9NNPEBtbi9TUNmVeOE1JaUqbNsJvv/1C9+69PHbJORwOevfuyy+/TCc7O5vY2NIN58TERK677qYKV968//6/k5zchL59B5CSkkJ2dg5Llixk7tzZtG9/alELzFs9evSiUaPGPPXUY1x66RbCwsL54YfJJCQksnt3esU7qAIRERHccsvtPPnkI9x++00MG3Yme/bs5osvPqdVq9acd95owEqqL7zwDIMGDeWUU5pTUJDPzz9PweFwMHDgkDL3L9IegBdf/A89e/YmLCyMYcNGFG0fPvws3njjv8yZ8xuXXHKFV6MZ+/YdQKdOnXn11ZfYuXMHzZu35Lfffim6H6o8Tz31OIcPH+L007vRsGFDdu+23mubNm1p0aKlK+Z2ALz11msMHXomERER9O07wONnqyIxMTHMmfMrhw8fQqQ98+bNYenSRdx0021FI+zi4uIYNGgoX3zxOeAgJaUp8+bNJjMzs9T+Kjqe7m699U7uvvsObrnlWs4553yOHDnCpEmfUb9+gzJvKK9qoZSQlgN3ikhciYENhVcfV1R9SMoftm3bWnQT41NPPV5mvbPPPpe+ffuTlZVFnz79yqzXt29/fvzxO2bP/vWkpve5774HmT37V2bOnMbevRk4nVa3ylVXXcsVV/zF57v+IyIiePLJZ3nuuad45503qFevPhdffCnx8XV48slHKh2nv40ceR5RUVF88skHvPrqS9SuXZvhw8/i5ptvL7r7PzW1DT169GLevNl8++1XxMTEkJrahmeffbnc0Yf9+w9k7NhLmTbtJ6ZOnYLT6Sx2Am3QoAFnnNHDNZT5bK/iDQsL4+mnn+ell57j559/xOFw0LfvAG677S6uuab0DdXuRow4m8mTv+brr78gK+sw9erVZ8iQYVx77Y1F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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
    "source": [
     "# plot luminosity distribution\n",
     "ldist = population.grid_results['luminosity distribution']\n",
@@ -491,10 +582,23 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 27,
    "id": "5956f746-e3b9-4912-b75f-8eb0af66d3f6",
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "ename": "ValueError",
+     "evalue": "Failed to rename grid variable M_1 to lnM_1.",
+     "output_type": "error",
+     "traceback": [
+      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+      "\u001b[0;31mValueError\u001b[0m                                Traceback (most recent call last)",
+      "Input \u001b[0;32mIn [27]\u001b[0m, in \u001b[0;36m<cell line: 2>\u001b[0;34m()\u001b[0m\n\u001b[1;32m      1\u001b[0m \u001b[38;5;66;03m# Rename the old variable (M_1) because we want it to be called lnM_1 now\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m \u001b[43mpopulation\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrename_grid_variable\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mM_1\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mlnM_1\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n",
+      "File \u001b[0;32m~/.pyenv/versions/3.9.9/envs/dev_binarycpython3.9.9/lib/python3.9/site-packages/binarycpython/utils/population_extensions/gridcode.py:965\u001b[0m, in \u001b[0;36mgridcode.rename_grid_variable\u001b[0;34m(self, oldname, newname)\u001b[0m\n\u001b[1;32m    963\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m    964\u001b[0m     msg \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mFailed to rename grid variable \u001b[39m\u001b[38;5;132;01m{}\u001b[39;00m\u001b[38;5;124m to \u001b[39m\u001b[38;5;132;01m{}\u001b[39;00m\u001b[38;5;124m.\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;241m.\u001b[39mformat(oldname, newname)\n\u001b[0;32m--> 965\u001b[0m     \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(msg)\n",
+      "\u001b[0;31mValueError\u001b[0m: Failed to rename grid variable M_1 to lnM_1."
+     ]
+    }
+   ],
    "source": [
     "# Rename the old variable (M_1) because we want it to be called lnM_1 now\n",
     "population.rename_grid_variable(\"M_1\",\"lnM_1\")"
@@ -520,8 +624,8 @@
     "# because  M * dprob/dM = dprob/dlnM\n",
     "population.update_grid_variable(\n",
     "    name=\"lnM_1\",\n",
-    "    samplerfunc=\"const(math.log({min}), math.log({max}), {res})\".format(min = massrange[0], max = massrange[1], res = resolution[\"M_1\"]),\n",
-    "    probdist=\"three_part_powerlaw(M_1, 0.1, 0.5, 1.0, 150, -1.3, -2.3, -2.3)*M_1\",\n",
+    "    samplerfunc=\"self.const_linear(math.log({min}), math.log({max}), {res})\".format(min = massrange[0], max = massrange[1], res = resolution[\"M_1\"]),\n",
+    "    probdist=\"self.three_part_powerlaw(M_1, 0.1, 0.5, 1.0, 150, -1.3, -2.3, -2.3)*M_1\",\n",
     "    dphasevol=\"dlnM_1\",\n",
     "    parameter_name=\"M_1\",\n",
     "    precode=\"M_1=math.exp(lnM_1)\",\n",
@@ -615,7 +719,7 @@
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -629,7 +733,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.6.4"
+   "version": "3.9.9"
   }
  },
  "nbformat": 4,
diff --git a/docs/build/html/examples/notebook_massive_remnants.html b/docs/build/html/examples/notebook_massive_remnants.html
index c15aca5d7..c7ba875ff 100644
--- a/docs/build/html/examples/notebook_massive_remnants.html
+++ b/docs/build/html/examples/notebook_massive_remnants.html
@@ -950,7 +950,7 @@ There were no errors found in this run.
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/examples/notebook_population.html b/docs/build/html/examples/notebook_population.html
index e6ba90c60..6df2341d5 100644
--- a/docs/build/html/examples/notebook_population.html
+++ b/docs/build/html/examples/notebook_population.html
@@ -1413,7 +1413,7 @@ time mass_1 zams_mass_1 mass_2 zams_mass_2 stellar_type_1 prev_stellar_type_1 st
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/examples/notebook_solar_system.html b/docs/build/html/examples/notebook_solar_system.html
index e56ef3ba0..36ea37b5f 100644
--- a/docs/build/html/examples/notebook_solar_system.html
+++ b/docs/build/html/examples/notebook_solar_system.html
@@ -617,7 +617,7 @@ div.rendered_html tbody tr:hover {
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/examples/old/basic_example.html b/docs/build/html/examples/old/basic_example.html
index a82efe9c0..4c264a965 100644
--- a/docs/build/html/examples/old/basic_example.html
+++ b/docs/build/html/examples/old/basic_example.html
@@ -458,7 +458,7 @@ div.rendered_html tbody tr:hover {
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/examples/old/workshop_example_notebook.html b/docs/build/html/examples/old/workshop_example_notebook.html
index 656443f80..4722e7dc6 100644
--- a/docs/build/html/examples/old/workshop_example_notebook.html
+++ b/docs/build/html/examples/old/workshop_example_notebook.html
@@ -889,7 +889,7 @@ Took 14.214274644851685s
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/functions.html b/docs/build/html/functions.html
index d433f046c..5b5a9e332 100644
--- a/docs/build/html/functions.html
+++ b/docs/build/html/functions.html
@@ -733,7 +733,7 @@ of all the binary_c parameters.</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/genindex.html b/docs/build/html/genindex.html
index 5ab3e6221..a04552838 100644
--- a/docs/build/html/genindex.html
+++ b/docs/build/html/genindex.html
@@ -1088,7 +1088,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/grid.html b/docs/build/html/grid.html
index f3c252b56..2e1649eda 100644
--- a/docs/build/html/grid.html
+++ b/docs/build/html/grid.html
@@ -378,7 +378,7 @@ in the self.grid_options</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/grid_options_descriptions.html b/docs/build/html/grid_options_descriptions.html
index de2651a81..ef254a363 100644
--- a/docs/build/html/grid_options_descriptions.html
+++ b/docs/build/html/grid_options_descriptions.html
@@ -647,7 +647,7 @@ q extrapolation (below 0.15) method
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/index.html b/docs/build/html/index.html
index 0cd71c485..768872082 100644
--- a/docs/build/html/index.html
+++ b/docs/build/html/index.html
@@ -332,7 +332,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/modules.html b/docs/build/html/modules.html
index d6d0e9124..1f285bc9e 100644
--- a/docs/build/html/modules.html
+++ b/docs/build/html/modules.html
@@ -174,7 +174,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/plot_functions.html b/docs/build/html/plot_functions.html
index b569d38ee..7d1b94106 100644
--- a/docs/build/html/plot_functions.html
+++ b/docs/build/html/plot_functions.html
@@ -378,7 +378,7 @@ This is not included in all the plotting routines.</p></li>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/population_extensions/HPC.html b/docs/build/html/population_extensions/HPC.html
index 5f9357a05..a8bf37876 100644
--- a/docs/build/html/population_extensions/HPC.html
+++ b/docs/build/html/population_extensions/HPC.html
@@ -375,7 +375,7 @@ and (if given) the string passed in.</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/population_extensions/Moe_di_Stefano_2017.html b/docs/build/html/population_extensions/Moe_di_Stefano_2017.html
index 208cf9dfe..97083e1d2 100644
--- a/docs/build/html/population_extensions/Moe_di_Stefano_2017.html
+++ b/docs/build/html/population_extensions/Moe_di_Stefano_2017.html
@@ -193,7 +193,7 @@ then set the distribution functions</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/population_extensions/analytics.html b/docs/build/html/population_extensions/analytics.html
index e11fdbb9c..d58bf110c 100644
--- a/docs/build/html/population_extensions/analytics.html
+++ b/docs/build/html/population_extensions/analytics.html
@@ -182,7 +182,7 @@ the time elapsed if otherwise or if force is True</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/population_extensions/cache.html b/docs/build/html/population_extensions/cache.html
index 15031ac9c..e85b2a4af 100644
--- a/docs/build/html/population_extensions/cache.html
+++ b/docs/build/html/population_extensions/cache.html
@@ -216,7 +216,7 @@ given caches of size self.grid_options[‘function_cache_size’][func]</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/population_extensions/condor.html b/docs/build/html/population_extensions/condor.html
index b032c04b9..bc8a3fac8 100644
--- a/docs/build/html/population_extensions/condor.html
+++ b/docs/build/html/population_extensions/condor.html
@@ -235,7 +235,7 @@ TODO: Comment this function better</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/population_extensions/dataIO.html b/docs/build/html/population_extensions/dataIO.html
index a4762bd32..a6ea7747e 100644
--- a/docs/build/html/population_extensions/dataIO.html
+++ b/docs/build/html/population_extensions/dataIO.html
@@ -394,7 +394,7 @@ passed to json.dumps)</p></li>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/population_extensions/distribution_functions.html b/docs/build/html/population_extensions/distribution_functions.html
index b4b5a72e4..94573485a 100644
--- a/docs/build/html/population_extensions/distribution_functions.html
+++ b/docs/build/html/population_extensions/distribution_functions.html
@@ -834,7 +834,7 @@ and is be given by dp/dlogP ~ (logP)^p for all other binary configurations (defa
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/population_extensions/grid_logging.html b/docs/build/html/population_extensions/grid_logging.html
index 6f677d9c7..4c4070aa8 100644
--- a/docs/build/html/population_extensions/grid_logging.html
+++ b/docs/build/html/population_extensions/grid_logging.html
@@ -180,7 +180,7 @@ system_number: the system number</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/population_extensions/grid_options_defaults.html b/docs/build/html/population_extensions/grid_options_defaults.html
index 5e296b3bd..8cbb156ba 100644
--- a/docs/build/html/population_extensions/grid_options_defaults.html
+++ b/docs/build/html/population_extensions/grid_options_defaults.html
@@ -243,7 +243,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/population_extensions/gridcode.html b/docs/build/html/population_extensions/gridcode.html
index 6c759ff03..a2f3ee6df 100644
--- a/docs/build/html/population_extensions/gridcode.html
+++ b/docs/build/html/population_extensions/gridcode.html
@@ -299,7 +299,7 @@ of the self.grid_options[“_grid_variables”] dictionary.</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/population_extensions/metadata.html b/docs/build/html/population_extensions/metadata.html
index f06ac0ebe..6d01e1849 100644
--- a/docs/build/html/population_extensions/metadata.html
+++ b/docs/build/html/population_extensions/metadata.html
@@ -168,7 +168,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/population_extensions/slurm.html b/docs/build/html/population_extensions/slurm.html
index 59fb9d27e..ea81ed221 100644
--- a/docs/build/html/population_extensions/slurm.html
+++ b/docs/build/html/population_extensions/slurm.html
@@ -236,7 +236,7 @@ TODO: Comment this function better</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/population_extensions/spacing_functions.html b/docs/build/html/population_extensions/spacing_functions.html
index fbef9c28c..f71fe688a 100644
--- a/docs/build/html/population_extensions/spacing_functions.html
+++ b/docs/build/html/population_extensions/spacing_functions.html
@@ -323,7 +323,7 @@ not that the integral is 1.0</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/population_extensions/version_info.html b/docs/build/html/population_extensions/version_info.html
index 14be9f76e..ce7ca146d 100644
--- a/docs/build/html/population_extensions/version_info.html
+++ b/docs/build/html/population_extensions/version_info.html
@@ -200,7 +200,7 @@ dictionary</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/py-modindex.html b/docs/build/html/py-modindex.html
index 5858d4449..c399b18c8 100644
--- a/docs/build/html/py-modindex.html
+++ b/docs/build/html/py-modindex.html
@@ -223,7 +223,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/readme_link.html b/docs/build/html/readme_link.html
index 4829d669d..4c515ce32 100644
--- a/docs/build/html/readme_link.html
+++ b/docs/build/html/readme_link.html
@@ -277,7 +277,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/run_system_wrapper.html b/docs/build/html/run_system_wrapper.html
index c596ef579..99cc07eb0 100644
--- a/docs/build/html/run_system_wrapper.html
+++ b/docs/build/html/run_system_wrapper.html
@@ -194,7 +194,7 @@ and returns what the parse_function returns</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/search.html b/docs/build/html/search.html
index 8fe420b01..87f0f7726 100644
--- a/docs/build/html/search.html
+++ b/docs/build/html/search.html
@@ -101,7 +101,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js
index 59a33114d..f534d8b7a 100644
--- a/docs/build/html/searchindex.js
+++ b/docs/build/html/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["binary_c_parameters", "custom_logging_functions", "dicts", "ensemble", "example_notebooks", "examples/notebook_BHBH", "examples/notebook_HRD", "examples/notebook_api_functionality", "examples/notebook_common_envelope_evolution", "examples/notebook_custom_logging", "examples/notebook_ensembles", "examples/notebook_extra_features", "examples/notebook_individual_systems", "examples/notebook_luminosity_function_binaries", "examples/notebook_luminosity_function_single", "examples/notebook_massive_remnants", "examples/notebook_population", "examples/notebook_solar_system", "examples/old/basic_example", "examples/old/workshop_example_notebook", "functions", "grid", "grid_options_descriptions", "index", "modules", "plot_functions", "population_extensions/HPC", "population_extensions/Moe_di_Stefano_2017", "population_extensions/analytics", "population_extensions/cache", "population_extensions/condor", "population_extensions/dataIO", "population_extensions/distribution_functions", "population_extensions/grid_logging", "population_extensions/grid_options_defaults", "population_extensions/gridcode", "population_extensions/metadata", "population_extensions/slurm", "population_extensions/spacing_functions", "population_extensions/version_info", "readme_link", "run_system_wrapper", "stellar_types", "useful_funcs"], "filenames": ["binary_c_parameters.rst", "custom_logging_functions.rst", "dicts.rst", "ensemble.rst", "example_notebooks.rst", "examples/notebook_BHBH.ipynb", "examples/notebook_HRD.ipynb", "examples/notebook_api_functionality.ipynb", "examples/notebook_common_envelope_evolution.ipynb", "examples/notebook_custom_logging.ipynb", "examples/notebook_ensembles.ipynb", "examples/notebook_extra_features.ipynb", "examples/notebook_individual_systems.ipynb", "examples/notebook_luminosity_function_binaries.ipynb", "examples/notebook_luminosity_function_single.ipynb", "examples/notebook_massive_remnants.ipynb", "examples/notebook_population.ipynb", "examples/notebook_solar_system.ipynb", "examples/old/basic_example.ipynb", "examples/old/workshop_example_notebook.ipynb", "functions.rst", "grid.rst", "grid_options_descriptions.rst", "index.rst", "modules.rst", "plot_functions.rst", "population_extensions/HPC.rst", "population_extensions/Moe_di_Stefano_2017.rst", "population_extensions/analytics.rst", "population_extensions/cache.rst", "population_extensions/condor.rst", "population_extensions/dataIO.rst", "population_extensions/distribution_functions.rst", "population_extensions/grid_logging.rst", "population_extensions/grid_options_defaults.rst", "population_extensions/gridcode.rst", "population_extensions/metadata.rst", "population_extensions/slurm.rst", "population_extensions/spacing_functions.rst", "population_extensions/version_info.rst", "readme_link.rst", "run_system_wrapper.rst", "stellar_types.rst", "useful_funcs.rst"], "titles": ["Binary_c parameters", "custom_logging_functions module", "dicts module", "ensemble module", "Example notebooks", "Example use case: Binary black hole systems", "Example use case: Hertzsprung-Russell diagrams", "Tutorial: Using the API functionality of binary_c-python", "Example use case: Common-envelope evolution", "Tutorial: Using custom logging routines with binary_c-python", "Tutorial: Generating and handling ensemble data", "Tutorial: Extra features and functionality of binary_c-python", "Tutorial: Running individual systems with binary_c-python", "Example use case: Zero-age stellar luminosity function in binaries", "Example use case: Zero-age stellar luminosity function", "Example use case: Massive star luminosity", "Tutorial: Running populations with binary_c-python", "Example use case: Solar system using the API functionality", "Basic example", "Binary_c and python example notebook", "functions module", "Population class module", "Population grid code options", "Welcome to binary_c-python\u2019s documentation!", "Binarycpython code", "plot_functions module", "Population class extension: HPC module", "Population class extension: Moe_di_Stefano_2017 module", "Population class extension: analytics module", "Population class extension: cache module", "Population class extension: condor module", "Population class extension: dataIO module", "Population class extension: distribution_functions module", "Population class extension: grid_logging module", "Population class extension: grid_options_defaults module", "Population class extension: gridcode module", "Population class extension: metadata module", "Population class extension: slurm module", "Population class extension: spacing_functions module", "Population class extension: version_info module", "Python module for binary_c", "run_system_wrapper module", "stellar_types module", "useful_funcs module"], "terms": {"The": [0, 1, 2, 3, 4, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 25, 26, 28, 29, 30, 31, 32, 33, 35, 37, 38, 40, 41], "follow": [0, 7, 9, 16, 19, 20, 22, 25, 32, 38], "chapter": [0, 22, 24], "contain": [0, 1, 2, 3, 7, 11, 12, 13, 14, 15, 16, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42], "all": [0, 1, 2, 3, 6, 7, 8, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 31, 32, 34, 38, 39, 40, 41], "current": [0, 2, 8, 9, 11, 13, 14, 15, 20, 21, 23, 26, 31, 40], "version": [0, 2, 7, 11, 16, 20, 21, 23, 39, 40], "can": [0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 25, 26, 31, 32, 35, 40, 41, 43], "handl": [0, 2, 3, 4, 7, 12, 20, 21, 22, 23, 26, 27, 35, 36, 39, 41, 43], "along": [0, 22, 23, 34, 40], "descript": [0, 7, 11, 20, 22, 27, 32, 34], "other": [0, 1, 2, 6, 11, 12, 13, 14, 15, 16, 20, 22, 23, 25, 26, 32, 34, 40], "properti": [0, 20, 22, 25, 35], "thi": [0, 1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43], "inform": [0, 1, 3, 4, 6, 9, 12, 13, 14, 15, 16, 20, 21, 22, 25, 26, 32, 34, 36, 39], "wa": [0, 6, 11, 12, 14, 15, 16, 21, 22, 23, 31, 32, 40], "obtain": [0, 6, 8, 13, 14, 15, 31], "build": [0, 1, 4, 7, 20, 26, 32], "git": [0, 13, 14, 15, 16, 20, 23, 40], "branch": [0, 6, 20, 23, 39, 40], "branch_david": 0, "revis": [0, 39], "6118": 0, "20220617": 0, "8463fa650": 0, "built": [0, 1, 20, 23, 40], "jun": 0, "17": [0, 5, 6, 8, 13, 15, 16, 17, 19], "2022": 0, "23": [0, 5, 13, 16], "20": [0, 5, 6, 8, 9, 13, 14, 15, 16, 17, 19, 38], "34": [0, 5, 6, 7, 8, 9, 12, 13, 14, 16, 17], "metal": [0, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 32, 43], "set": [0, 1, 2, 3, 4, 5, 9, 11, 12, 17, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 37, 38, 39, 40], "e": [0, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 20, 21, 22, 23, 26, 29, 30, 31, 32, 35, 37, 38, 40, 43], "amount": [0, 2, 7], "mass": [0, 1, 2, 4, 5, 6, 7, 8, 11, 12, 13, 16, 17, 19, 20, 22, 25, 32, 35, 38, 39, 41, 43], "matter": [0, 7], "which": [0, 1, 2, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 26, 30, 31, 32, 34, 35, 37, 38, 39, 40, 41, 43], "hydrogen": [0, 6, 7], "helium": [0, 6, 7], "If": [0, 2, 6, 7, 8, 13, 14, 15, 16, 20, 21, 22, 23, 25, 26, 27, 28, 30, 31, 32, 35, 37, 40, 41, 43], "you": [0, 1, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 31, 32, 34, 35, 38, 40, 43], "ar": [0, 1, 2, 3, 4, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 25, 29, 30, 31, 32, 34, 35, 37, 38, 39, 40, 43], "us": [0, 1, 2, 3, 4, 11, 12, 16, 20, 21, 22, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 37, 38, 39, 41, 43], "bse": [0, 7, 9, 16, 32], "must": [0, 2, 6, 7, 8, 12, 13, 14, 15, 16, 17, 31, 35, 38], "1e": [0, 7, 8, 9, 12, 13, 19], "4": [0, 1, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 19, 21, 31, 32, 38], "0": [0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 26, 27, 29, 32, 35, 38, 40, 43], "03": [0, 1, 5, 7, 8, 13], "see": [0, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 19, 21, 22, 23, 25, 29, 31, 32, 35, 39, 40], "also": [0, 4, 5, 6, 7, 8, 9, 13, 14, 15, 16, 19, 20, 21, 22, 23, 26, 28, 31, 34, 39, 40, 43], "nucsyn_metal": [0, 7], "effective_metal": [0, 7, 19], "type": [0, 1, 2, 3, 5, 8, 12, 13, 14, 15, 16, 19, 20, 21, 22, 25, 26, 31, 32, 34, 35, 38, 39, 42, 43], "float": [0, 2, 3, 5, 7, 11, 12, 17, 20, 32, 33, 38, 43], "default": [0, 1, 2, 3, 6, 7, 9, 11, 13, 14, 15, 16, 19, 20, 21, 22, 26, 27, 29, 30, 31, 32, 34, 37, 38, 39, 41], "valu": [0, 1, 2, 3, 6, 7, 11, 12, 13, 14, 15, 16, 19, 20, 21, 22, 25, 28, 29, 32, 34, 35, 38], "02": [0, 5, 6, 7, 8, 9, 12, 13, 16, 17, 19, 32, 43], "effect": [0, 5, 7, 9, 13, 22, 32], "routin": [0, 2, 4, 7, 23, 25, 41], "like": [0, 1, 6, 7, 8, 13, 14, 15, 16, 19, 20, 22, 23, 25, 31, 38, 40], "schneider": [0, 7], "wind": [0, 5, 6, 7, 13], "loss": [0, 5, 7, 12, 13, 17], "default_to_metal": [0, 7], "1": [0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 25, 26, 30, 31, 32, 33, 35, 37, 38, 40, 41, 43], "just": [0, 2, 6, 7, 8, 16, 19, 20, 21, 22, 23, 27, 31, 39, 40, 43], "same": [0, 2, 7, 12, 16, 22, 23, 32, 35, 40, 41], "main": [0, 1, 6, 7, 9, 13, 14, 15, 16, 19, 22, 23, 40], "differ": [0, 6, 7, 8, 13, 14, 15, 16, 19, 20, 22, 23, 25, 38, 40], "between": [0, 7, 22, 32, 38], "rang": [0, 6, 7, 8, 12, 13, 14, 15, 16, 22, 32, 35, 38], "valid": [0, 7, 9, 20, 32], "while": [0, 5, 6, 7, 8, 13], "s": [0, 2, 3, 5, 6, 7, 8, 12, 14, 15, 16, 17, 19, 20, 21, 22, 26, 28, 29, 31, 32, 36, 43], "limit": [0, 6, 7, 8, 13, 14, 15, 16, 22, 25], "stellar": [0, 4, 5, 7, 15, 22, 23, 25, 32, 38, 39, 40, 42], "evolut": [0, 1, 4, 5, 6, 7, 12, 13, 14, 15, 16, 19, 22, 23, 25, 38, 40], "so": [0, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 21, 22, 25, 26, 31], "macro": [0, 11, 20, 39], "m_1": [0, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 35, 41], "initi": [0, 4, 5, 7, 11, 12, 19, 21, 32], "one": [0, 2, 7, 11, 14, 15, 16, 17, 18, 19, 22, 25, 29, 31, 34, 38, 41], "solar": [0, 4, 6, 7, 8, 11, 23, 32, 43], "unit": [0, 6, 7, 11, 20, 43], "intern": [0, 7, 11, 22], "index": [0, 7, 11, 12, 16, 17, 22, 23, 26, 32, 35], "m_2": [0, 5, 6, 7, 8, 9, 12, 13, 16, 18, 19], "two": [0, 2, 6, 7, 9, 20, 23, 31, 33, 40, 42, 43], "m_3": [0, 7], "three": [0, 7, 14, 15, 16, 32], "2": [0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 19, 20, 22, 23, 25, 26, 30, 32, 37, 38, 40], "m_4": [0, 7], "four": [0, 7], "3": [0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 19, 20, 22, 23, 30, 32, 37, 38, 40], "vrot1": 0, "equatori": 0, "rotat": [0, 32], "veloc": [0, 32], "km": 0, "hurlei": 0, "et": [0, 32, 43], "al": [0, 32, 43], "2000": [0, 5], "2002": 0, "prescript": [0, 5, 16], "sequenc": [0, 6, 9, 13, 14, 15, 19], "truli": 0, "non": [0, 2, 14, 15, 22, 23, 31, 40], "someth": [0, 6, 8, 12, 13, 14, 15, 22, 43], "small": [0, 5, 14, 15], "g": [0, 1, 2, 5, 6, 8, 9, 12, 13, 14, 15, 16, 18, 19, 20, 22, 23, 26, 29, 30, 31, 32, 37, 38, 40], "001": [0, 5], "vrot2": 0, "vrot_bs": 0, "vrot_breakup": 0, "vrot_sync": 0, "vrot_non_rot": 0, "vrot3": 0, "vrot4": 0, "prot1": 0, "prot2": 0, "prot3": 0, "period": [0, 5, 7, 8, 9, 12, 13, 14, 15, 16, 17, 19, 25, 32, 43], "dai": [0, 5, 8, 9, 12, 13, 16, 19, 32, 43], "prot4": 0, "inclination1": 0, "inclin": 0, "degre": 0, "inclination2": 0, "inclination3": 0, "inclination4": 0, "b_1": 0, "magnet": 0, "field": [0, 23, 40], "gauss": 0, "b_2": 0, "b_3": 0, "b_4": 0, "b_inclination1": 0, "b_inclination2": 0, "b_inclination3": 0, "b_inclination4": 0, "stellar_type_1": [0, 16, 25], "usual": [0, 5, 6, 7, 13, 14, 15, 16, 20, 22, 31, 32], "main_sequ": [0, 13, 14, 15, 19], "note": [0, 5, 6, 13, 14, 15, 16, 19, 20, 22, 26, 31, 35, 38, 39], "onli": [0, 2, 6, 9, 13, 14, 15, 16, 17, 19, 20, 22, 23, 26, 27, 31, 38, 40, 43], "work": [0, 2, 3, 9, 12, 13, 14, 15, 16, 19, 20, 22, 23, 26, 31, 40], "both": [0, 2, 7, 13, 14, 15, 16], "ag": [0, 4, 5, 6, 8, 15, 23, 38], "core_mass": [0, 9], "white": [0, 6], "dwarf": [0, 6, 14, 15], "black": [0, 4, 6, 23], "hole": [0, 4, 6, 23], "neutrn": 0, "integ": [0, 6, 22, 38, 43], "low_mass_m": 0, "ms": [0, 5, 9, 13], "hg": 0, "giant_branch": 0, "cheb": 0, "eagb": [0, 5], "5": [0, 1, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 19, 20, 29, 31, 32, 35], "tpagb": [0, 6], "6": [0, 1, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 19, 23, 40], "hem": 0, "7": [0, 1, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 18, 19, 23, 32, 40], "hehg": 0, "8": [0, 3, 5, 6, 8, 9, 12, 13, 14, 15, 16, 19, 31, 32], "hegb": [0, 5], "9": [0, 5, 6, 7, 8, 9, 12, 13, 15, 16, 19, 23, 40], "hewd": 0, "10": [0, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 22, 32, 38, 41], "cowd": 0, "11": [0, 5, 6, 8, 9, 12, 13, 15, 16, 17, 19], "onewd": 0, "12": [0, 5, 6, 9, 12, 13, 15, 16, 17, 19, 20, 32], "ns": [0, 1, 8, 9, 16], "13": [0, 5, 6, 8, 9, 12, 13, 15, 16, 17, 19], "bh": [0, 5, 8], "14": [0, 5, 6, 9, 12, 13, 15, 16, 17, 19], "massless_remn": 0, "15": [0, 5, 8, 9, 12, 13, 15, 16, 17, 19, 22, 32], "low_mass_main_sequ": 0, "hertzsprung_gap": 0, "first_giant_branch": 0, "core_helium_burn": 0, "early_asymptotic_giant_branch": 0, "thermally_pulsing_asymptotic_giant_branch": 0, "naked_main_sequence_helium_star": 0, "naked_helium_star_hertzsprung_gap": 0, "naked_helium_star_giant_branch": 0, "helium_white_dwarf": 0, "carbon_oxygen_white_dwarf": 0, "oxygen_neon_white_dwarf": 0, "neutron_star": 0, "black_hol": 0, "star_with_no_mass": 0, "stellar_type_2": [0, 16, 25], "stellar_type_3": 0, "stellar_type_4": 0, "max_stellar_type_1": 0, "maximum": [0, 6, 7, 8, 9, 13, 14, 15, 16, 22, 32, 38, 43], "stop": [0, 6, 8, 13, 19, 20, 22], "when": [0, 1, 2, 3, 6, 7, 8, 11, 12, 16, 17, 20, 22, 23, 26, 28, 29, 30, 31, 32, 34, 37, 38, 40, 41], "reach": [0, 5, 6, 8], "neg": [0, 2, 38], "massless": 0, "remnant": [0, 6], "allow": [0, 2, 9, 18, 19, 22, 23, 29, 32, 40], "absolut": [0, 20, 38], "16": [0, 5, 8, 13, 15, 17, 19, 32], "max_stellar_type_2": 0, "max_stellar_type_3": 0, "max_stellar_type_4": 0, "probabl": [0, 1, 2, 6, 8, 9, 13, 14, 15, 16, 19, 21, 22, 25, 31, 32, 34, 35], "weight": [0, 14, 15, 22], "appli": 0, "base": [0, 2, 3, 8, 13, 14, 15, 16, 20, 21, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 43], "sai": [0, 6], "function": [0, 1, 2, 3, 4, 5, 6, 8, 9, 18, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43], "run": [0, 1, 4, 5, 6, 7, 8, 13, 14, 15, 18, 20, 21, 22, 26, 28, 30, 32, 35, 37, 41, 43], "grid": [0, 4, 12, 20, 21, 23, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 43], "simul": [0, 1, 6, 8, 9, 13, 14, 15, 16, 37], "sum": [0, 2], "should": [0, 1, 2, 5, 6, 8, 12, 13, 14, 15, 16, 19, 20, 22, 23, 25, 26, 30, 31, 32, 34, 37, 38, 40, 41], "phasevol": [0, 16], "system": [0, 4, 6, 7, 8, 9, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 25, 32, 33, 36, 40, 41, 43], "phase": [0, 6, 8, 13, 14, 15], "volum": 0, "binary_grid": 0, "null": [0, 6, 7, 8, 20], "stellar_structure_algorithm": 0, "structur": [0, 2, 8, 20, 22, 25], "modifi": [0, 2, 9, 23, 40], "none": [0, 1, 2, 3, 5, 6, 7, 8, 13, 15, 16, 17, 19, 20, 21, 22, 26, 27, 29, 30, 31, 32, 34, 35, 37, 38, 43], "extern": 0, "defin": [0, 1, 16, 17, 21, 25, 32, 35], "call": [0, 1, 2, 11, 12, 14, 15, 16, 17, 20, 21, 22, 25, 26, 30, 31, 33, 35, 37, 38, 39, 41], "code": [0, 1, 6, 8, 9, 12, 13, 14, 15, 16, 18, 19, 21, 25, 30, 31, 32, 34, 35, 37, 38, 41, 43], "yet": [0, 2, 19, 20, 22, 25], "implement": [0, 2, 22], "stellar_structure_algorithm_modified_bs": 0, "stellar_structure_algorithm_non": 0, "stellar_structure_algorithm_external_funct": 0, "stellar_structure_algorithm_mint": 0, "solver": 0, "forward": 0, "euler": 0, "could": [0, 3, 14, 15, 16, 19, 20, 39], "rk2": 0, "rk4": 0, "predictor": 0, "corretor": 0, "solver_forward_eul": 0, "solver_rk2": 0, "solver_rk4": 0, "solver_predictor_corrector": 0, "max_evolution_tim": [0, 1, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 19, 38], "myr": [0, 6, 8, 12, 13, 14, 15, 17, 38], "15000": [0, 5, 7, 9, 12, 16, 17, 19], "max_model_numb": 0, "number": [0, 2, 3, 5, 6, 8, 13, 14, 15, 16, 17, 19, 20, 21, 22, 26, 31, 32, 33, 34, 35, 38], "model": [0, 1, 6, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 22], "ignor": [0, 2, 9, 12, 16, 19, 22, 32, 35], "monte_carlo_kick": 0, "turn": [0, 2, 3, 5, 12, 16, 20], "mont": [0, 22], "carlo": [0, 22], "sn": [0, 5, 6, 8, 13, 14, 15, 17, 19], "kick": [0, 5, 19, 22], "On": [0, 16, 20, 31], "true": [0, 2, 3, 5, 6, 8, 11, 13, 14, 15, 16, 18, 19, 20, 21, 22, 25, 26, 28, 30, 31, 34, 35, 37, 38, 39], "inde": [0, 14, 15], "broken": 0, "fals": [0, 3, 5, 6, 8, 13, 15, 16, 17, 20, 21, 22, 25, 26, 28, 29, 30, 31, 35, 37, 38, 39], "disable_debug": 0, "disabl": [0, 16], "debug": [0, 5, 6, 8, 13, 14, 15, 16, 22, 33], "ha": [0, 1, 2, 5, 6, 8, 9, 11, 13, 14, 15, 16, 19, 20, 22, 28, 31, 35], "an": [0, 2, 3, 6, 7, 8, 11, 12, 13, 14, 15, 16, 19, 20, 22, 23, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 41], "requir": [0, 3, 8, 12, 13, 14, 15, 16, 17, 19, 20, 22, 25, 26, 32, 41], "rebuild": [0, 22, 23, 26, 40], "timestep_log": 0, "timestep": [0, 8, 9, 12, 13, 14, 15], "log": [0, 1, 4, 5, 7, 12, 17, 18, 20, 22, 23, 25, 31, 32, 33, 35, 38, 40, 41, 43], "rejects_in_log": 0, "show": [0, 4, 5, 6, 7, 8, 12, 13, 14, 15, 16, 19, 22, 25, 38], "reject": 0, "vandenheuvel_log": 0, "van": 0, "den": 0, "heuvel": 0, "custom_timeout_tim": 0, "custom": [0, 1, 2, 3, 4, 6, 7, 8, 12, 13, 14, 15, 16, 20, 21, 22, 23, 25, 32, 41], "timeout": 0, "time": [0, 1, 2, 3, 5, 6, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 25, 28, 31, 32, 33, 38], "compil": [0, 1, 9, 16, 19, 23, 40], "david_custom_timeout": 0, "100": [0, 5, 6, 8, 13, 14, 15, 32, 38], "evolution_split": 0, "split": [0, 5, 12, 16, 17, 19, 22, 30, 37], "evolutionari": [0, 12], "splitpoint": 0, "supernova": [0, 5, 8, 22], "occur": [0, 43], "disable_ev": 0, "whether": [0, 7, 16, 20, 21, 22, 25, 30, 31, 32, 34, 37, 38, 39, 43], "new": [0, 2, 6, 8, 12, 13, 14, 15, 16, 20, 21, 26, 31, 32, 35], "event": [0, 5, 6], "we": [0, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 26, 27, 28, 29, 30, 31, 32, 34, 37, 38, 40, 43], "evolution_splitting_sn_eccentricity_threshold": 0, "threshold": [0, 20, 22], "eccentr": [0, 7, 9, 12, 13, 14, 15, 16, 17, 19, 25, 32, 43], "abov": [0, 6, 9, 12, 14, 15, 16, 20, 21, 32], "happen": [0, 6, 8], "01": [0, 5, 6, 8, 9, 13, 16, 19], "evolution_splitting_sn_n": 0, "evolution_splitting_maxdepth": 0, "max": [0, 8, 9, 13, 14, 15, 16, 22, 32], "equation_of_state_algorithm": 0, "equat": 0, "state": [0, 31], "paczynski": 0, "equation_of_state_paczynski": 0, "opacity_algorithm": 0, "opac": 0, "ferguson": 0, "opal": 0, "opacity_algorithm_paczynski": 0, "opacity_algorithm_ferguson_op": 0, "opacity_algorithm_star": 0, "wind_mass_loss": [0, 5], "2018": [0, 1, 5], "sander": 0, "wink": 0, "2020": 0, "lbv": 0, "unsign": 0, "wind_algorithm_non": [0, 5], "wind_algorithm_hurley2002": 0, "wind_algorithm_schneider2018": 0, "wind_algorithm_binary_c_2020": [0, 5], "wind_algorithm_hendriks_2022": 0, "extra": [0, 4, 16, 22, 23, 33, 35, 41], "gbwind": 0, "first": [0, 2, 6, 8, 12, 13, 14, 15, 16, 17, 20, 23, 26, 31, 32, 40, 43], "red": [0, 6, 14, 15, 17], "giant": [0, 6, 17], "reimer": 0, "choos": [0, 6, 8, 9, 13, 19, 25, 26, 31], "gb_reimers_eta": 0, "rate": [0, 14, 15, 32], "schroeder": 0, "cuntz": 0, "2005": [0, 5], "gb_wind_reim": 0, "gb_wind_schroeder_cuntz_2005": 0, "gb_wind_goldman_etal_2017": 0, "gb_wind_beasor_etal_2020": 0, "postagbwind": 0, "special": [0, 16], "post": [0, 5, 6, 8, 9, 21], "A": [0, 2, 4, 16, 29, 43], "gb": 0, "postagb_wind_use_gi": 0, "mean": [0, 5, 20, 22, 23, 30, 32, 37, 38, 40], "whatev": [0, 9, 19, 20, 21, 23, 26, 31, 40], "prescrib": 0, "option": [0, 1, 2, 6, 8, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 26, 27, 29, 31, 32, 34, 35, 38, 40, 43], "includ": [0, 1, 2, 6, 9, 12, 14, 15, 16, 17, 20, 21, 23, 25, 31, 32, 40], "postagb_wind_non": 0, "postagb_wind_krticka2020": 0, "krticka": 0, "kub\u00e1t": 0, "krtickov\u00e1": 0, "635": [0, 13], "a173": 0, "postagb_wind_gi": 0, "teff_postagb_min": 0, "minimum": [0, 7, 20, 22, 32, 38, 39, 43], "temperatur": [0, 17, 25, 32], "teff_postagb_max": 0, "6000": 0, "k": [0, 6, 17, 32], "120000": 0, "mattsson_orich_tpagbwind": 0, "experiment": [0, 20], "mattsson": 0, "oxygen": [0, 6], "rich": 0, "mattsson_mass_loss": 0, "magnetic_braking_factor": 0, "multipli": [0, 2, 14, 15, 22, 38], "brake": 0, "angular": [0, 17, 25], "momentum": [0, 17], "magnetic_braking_gamma": 0, "gamma": 0, "factor": [0, 2, 22, 38], "rappaport": 0, "style": [0, 20, 33], "express": [0, 20], "magnetic_braking_algorithm": 0, "andronov": 0, "pinnsonneault": 0, "sill": 0, "2003": [0, 32], "barn": 0, "kim": 0, "2010": [0, 22, 32], "magnetic_braking_algorithm_hurley_2002": 0, "magnetic_braking_algorithm_andronov_2003": 0, "magnetic_braking_algorithm_barnes_2010": 0, "magnetic_braking_algorithm_rappaport_1983": 0, "helium_flash_mass_loss": 0, "lost": [0, 8, 19], "flash": 0, "multipl": [0, 2, 6, 22, 32], "cf": 0, "eta": [0, 8, 13], "formula": [0, 20], "4e": [0, 19], "8e": 0, "gbwindfac": 0, "tpagbwindfac": 0, "eagbwindfac": 0, "nieuwenhuijzen_windfac": 0, "nieuwenhuijzen": 0, "de": [0, 5], "jager": 0, "tpagbwind": 0, "dure": [0, 5, 19], "karaka": 0, "vassiliadi": 0, "wood": 0, "1993": 0, "bloecker": 0, "loon": 0, "rob": [0, 32, 43], "c": [0, 1, 5, 7, 9, 12, 16, 23, 40, 41], "variant": 0, "respect": [0, 30, 32, 37], "goldman": 0, "2017": [0, 13, 16, 22, 32], "beasor": 0, "tpagb_wind_vw93_karaka": 0, "tpagb_wind_vw93_orig": 0, "tpagb_wind_reim": 0, "tpagb_wind_bloeck": 0, "tpagb_wind_van_loon": 0, "tpagb_wind_rob_cwind": 0, "tpagb_wind_vw93_karakas_carbon_star": 0, "tpagb_wind_vw93_orig_carbon_star": 0, "tpagb_wind_mattsson": 0, "tpagb_wind_goldman_etal_2017": 0, "tpagb_wind_beasor_etal_2020": 0, "eagbwind": 0, "vw93": 0, "eagb_wind_bs": 0, "eagb_wind_goldman_etal_2017": 0, "eagb_wind_beasor_etal_2020": 0, "wind_gas_to_dust_ratio": 0, "ga": 0, "dust": 0, "ratio": [0, 6, 7, 8, 13, 14, 15, 16, 32, 43], "calcul": [0, 2, 6, 8, 13, 14, 15, 16, 20, 22, 28, 32, 35, 43], "typic": 0, "200": [0, 5], "milki": 0, "wai": [0, 2, 12, 14, 15, 21, 22, 26], "500": [0, 5], "magellan": 0, "cloud": 0, "approxim": [0, 6, 8], "mw": 0, "vwind_multipli": 0, "vwind_beta": 0, "beta": 0, "speed": [0, 29], "where": [0, 1, 2, 6, 13, 14, 15, 16, 20, 22, 23, 26, 28, 31, 32, 34, 38, 40], "vwind": 0, "sqrt": 0, "escap": 0, "125": [0, 5, 16], "from": [0, 2, 3, 5, 6, 8, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 25, 26, 30, 31, 32, 35, 37, 39, 43], "superwind_mira_switchon": 0, "In": [0, 2, 6, 8, 9, 11, 12, 13, 14, 15, 16, 19, 22, 31, 38], "agb": [0, 6], "superwind": 0, "given": [0, 1, 3, 7, 13, 14, 15, 18, 19, 20, 21, 22, 26, 29, 30, 31, 32, 35, 37, 38, 41, 43], "mira": 0, "vari": [0, 6, 8, 16], "switch": 0, "vw93_mira_shift": 0, "depend": [0, 6, 20, 22, 23, 25, 32, 40], "plu": 0, "offset": 0, "vw93_multipli": 0, "tpagb_reimers_eta": 0, "tout_pringle_1992_multipli": 0, "tout": [0, 43], "pringl": 0, "1992": 0, "artificial_mass_accretion_r": 0, "d": [0, 1, 5, 6, 8, 9, 12, 13, 16, 17, 20, 38], "constant": [0, 2, 14, 15, 25, 32, 38], "accret": [0, 5], "n": [0, 1, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 18, 19, 20, 22, 26, 32], "scanf": 0, "artificial_mass_accretion_rate_by_stellar_typ": 0, "artificial_angular_momentum_accretion_r": 0, "artificial_orbital_angular_momentum_accretion_r": 0, "orbit": [0, 5, 7, 8, 13, 17, 25, 32, 43], "artificial_accretion_start_tim": 0, "artifici": 0, "artificial_accretion_ignor": 0, "artificial_accretion_end_tim": 0, "end": [0, 5, 20, 22, 28, 32], "wr_wind": 0, "massiv": [0, 4, 5, 6, 8, 13, 17, 23, 32], "wr": 0, "maeder": 0, "meynet": 0, "nugi": 0, "lamer": 0, "john": 0, "eldridg": 0, "vink": 0, "earli": [0, 23, 40], "lynnett": 0, "drai": 0, "thesi": 0, "wr_wind_bs": 0, "wr_wind_maeder_meynet": 0, "wr_wind_nugis_lam": 0, "wr_wind_eldridg": 0, "wr_wind_fac": 0, "wrwindfac": 0, "synonym": 0, "instead": [0, 5, 14, 15, 20, 22], "bh_prescript": [0, 5], "prescrit": 0, "relat": 0, "newli": 0, "form": [0, 6, 7, 8, 13, 14, 15, 16, 21, 26, 31, 34, 39], "its": [0, 2, 3, 13, 14, 15, 16, 17, 20, 22, 23, 25, 26, 27, 31, 34, 38, 39, 40, 41], "progenitor": [0, 16], "co": [0, 5], "core": [0, 6, 8, 13, 14, 15, 16, 22, 25], "bh_hurley2002": 0, "bh_belczynski": [0, 5], "belczynski": 0, "bh_spera2015": 0, "spera": 0, "2015": [0, 5], "bh_fryer12_delai": 0, "fryer": 0, "2012": [0, 32], "delai": [0, 22], "bh_fryer12_rapid": [0, 5], "rapid": 0, "bh_fryer12_startrack": 0, "startrack": 0, "ppisn_prescript": 0, "pulsat": 0, "pair": [0, 2, 5, 20, 35, 39], "instabl": 0, "undergo": [0, 8], "ppisn": 0, "pisn": 0, "flag": [0, 1, 21, 22, 31, 38, 39], "binary_c_paramet": [0, 6, 13, 14, 15, 16], "h": [0, 5, 9, 20], "farmer": 0, "2019": [0, 5, 19], "hendrik": [0, 19, 23, 40], "21": [0, 1, 5, 6, 13, 16, 19], "prep": 0, "fit": [0, 2, 12, 32, 43], "data": [0, 3, 4, 5, 6, 7, 8, 12, 13, 14, 15, 16, 17, 19, 20, 22, 23, 26, 27, 31, 32, 35, 41, 43], "ppisn_non": 0, "ppisn_farmer19": 0, "ppisn_new_fit_21": 0, "ppisn_additional_massloss": 0, "addit": 0, "massloss": 0, "top": [0, 16, 35], "result": [0, 1, 2, 3, 6, 8, 12, 13, 14, 15, 16, 19, 20, 22, 23, 26, 31, 32, 38, 40], "posit": [0, 2, 8, 32], "ppisn_core_mass_range_shift": 0, "shift": 0, "taken": [0, 2, 9, 32], "account": [0, 22, 32], "remov": [0, 2, 8, 12, 16, 17, 20, 21], "lower": [0, 13, 16, 32, 35, 38], "higher": [0, 6, 8, 13, 14, 15, 16, 20, 22, 23, 32, 40], "ppisn_massloss_multipli": 0, "p": [0, 6, 8, 13, 14, 15, 17, 32, 34], "THe": [0, 21], "affect": [0, 6], "use_lwn_fallback": 0, "nazehdin": 0, "lovegrov": 0, "wooslei": 0, "envelop": [0, 4, 5, 6, 23], "eject": [0, 8, 17], "fail": [0, 6, 8, 13, 16, 20, 22, 23, 31, 40], "sn_kick_distribution_ii": 0, "distribut": [0, 2, 4, 8, 13, 16, 20, 26, 27, 32, 38], "ii": [0, 19], "collaps": 0, "fix": [0, 5, 12, 20, 21, 25, 31, 32, 33], "maxwellian": 0, "kick_velocity_fix": 0, "kick_velocity_maxwellian": 0, "kick_velocity_custom": 0, "sn_kick_distribution_ecap": 0, "electron": 0, "captur": [0, 20], "sn_kick_distribution_ns_n": 0, "neutron": [0, 6, 16], "surviv": [0, 17], "merger": [0, 5], "sn_kick_distribution_ibc": 0, "born": [0, 6, 13, 14, 15], "after": [0, 6, 8, 9, 13, 14, 15, 16, 21, 22, 31, 35, 38], "ib": [0, 5], "sn_kick_distribution_grb_collapsar": 0, "collapsar": 0, "sn_kick_distribution_tz": 0, "death": 0, "thorn": 0, "zytkow": 0, "object": [0, 2, 3, 4, 7, 11, 17, 20, 21, 22, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41], "sn_kick_distribution_aic_bh": 0, "induc": 0, "sn_kick_distribution_bh_bh": 0, "sn_kick_distribution_bh_n": 0, "sn_kick_distribution_ia_hybrid_hecowd": 0, "ani": [0, 3, 12, 16, 20, 21, 23, 26, 32, 35, 39, 40], "survivor": 0, "hybrid": 0, "he": [0, 5], "snia": 0, "explos": [0, 5, 6, 19], "sn_kick_distribution_ia_hybrid_hecowd_sublumin": 0, "sublumin": 0, "sn_kick_distribution_ppisn": 0, "sn_kick_distribution_pisn": 0, "sn_kick_distribution_phdi": 0, "phdi": 0, "sn_kick_dispersion_ii": [0, 5], "dispers": [0, 38], "190": [0, 5, 19], "sn_kick_dispersion_ecap": 0, "sn_kick_dispersion_ns_n": 0, "sn_kick_dispersion_ibc": [0, 5], "sn_kick_dispersion_grb_collapsar": [0, 5], "sn_kick_dispersion_tz": 0, "sn_kick_dispersion_aic_bh": 0, "sn_kick_dispersion_bh_bh": 0, "sn_kick_dispersion_bh_n": 0, "sn_kick_dispersion_ia_hybrid_hecowd": 0, "sn_kick_dispersion_ia_hybrid_hecowd_sublumin": 0, "sn_kick_dispersion_ppisn": 0, "sn_kick_dispersion_pisn": 0, "sn_kick_dispersion_phdi": 0, "sn_kick_companion_ia_h": 0, "algothim": 0, "companion": [0, 5, 19, 31], "ia": [0, 8], "liu": 0, "wheeler": 0, "1975": 0, "sn_impulse_non": 0, "sn_impulse_liu2015": 0, "sn_impulse_wheeler1975": 0, "sn_kick_companion_ia_eld": 0, "eld": 0, "sub": [0, 2, 20], "mch": 0, "sn_kick_companion_ia_chand": 0, "sn_kick_companion_a": 0, "sn_kick_companion_ecap": 0, "sn_kick_companion_ia_he_co": 0, "sn_kick_companion_ia_chand_co": 0, "sn_kick_companion_ns_n": 0, "sn_kick_companion_grb_collapsar": 0, "grb": 0, "rapidli": [0, 23, 40], "ibc": 0, "sn_kick_companion_hestaria": 0, "sn_kick_companion_ibc": 0, "sn_kick_companion_ii": 0, "sn_kick_companion_iia": 0, "iia": 0, "sn_kick_companion_wdkick": 0, "wd": 0, "sn_kick_companion_tz": 0, "sn_kick_companion_aic_bh": 0, "sn_kick_companion_bh_bh": 0, "merg": [0, 2, 5, 6, 8, 22, 26, 31, 32, 33], "sn_kick_companion_bh_n": 0, "sn_kick_companion_ia_hybrid_hecowd": 0, "sn_kick_companion_ia_hybrid_hecowd_sublumin": 0, "sn_kick_companion_ppisn": 0, "sn_kick_companion_pisn": 0, "sn_kick_companion_phdi": 0, "wd_sigma": 0, "thei": [0, 2, 5, 6, 8, 13, 16, 17, 21, 22, 25, 26, 30, 37, 38], "zero": [0, 1, 4, 5, 6, 8, 15, 20, 22, 23, 31], "wd_kick": 0, "wd_kick_direct": 0, "direct": [0, 21], "random": [0, 5, 7, 19, 22], "up": [0, 1, 4, 9, 12, 17, 20, 21, 26, 27, 29, 30, 32, 37], "backward": 0, "inward": 0, "outward": 0, "kick_random": 0, "kick_straight_up": 0, "kick_forward": 0, "kick_backward": 0, "kick_inward": 0, "kick_outward": 0, "wd_kick_when": 0, "decid": [0, 2, 9, 18, 19, 20, 21, 22, 26], "birth": 0, "rlof": [0, 5, 7, 43], "puls": [0, 6, 43], "wd_kick_pulse_numb": 0, "everi": [0, 8, 20, 22, 23, 40], "wd_kick_end_agb": 0, "wd_kick_first_rlof": 0, "wd_kick_at_given_puls": 0, "wd_kick_at_every_puls": 0, "desir": 0, "pre": [0, 5, 8, 16, 19, 25], "minimum_helium_ignition_core_mass": 0, "ignit": [0, 6], "case": [0, 2, 4, 7, 16, 20, 22, 23, 26, 31, 38, 40], "strip": [0, 7, 12, 17], "make": [0, 1, 2, 3, 5, 6, 8, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 25, 26, 30, 31, 32, 40, 41, 43], "sdb": 0, "sdo": 0, "total": [0, 2, 6, 8, 13, 14, 15, 16, 19, 20, 22, 25, 32, 35], "minimum_co_core_mass_for_carbon_ignit": 0, "carbon": [0, 5, 6], "assum": [0, 6, 8, 13, 17, 25, 38], "mc": [0, 5, 16, 19, 31], "bagb": 0, "6msun": 0, "around": [0, 9, 12, 18, 19], "08msun": 0, "pol": 0, "1998": [0, 5, 32], "08": [0, 5, 8, 13, 19], "minimum_co_core_mass_for_neon_ignit": 0, "neon": [0, 6], "42msun": 0, "have": [0, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 19, 20, 21, 22, 23, 25, 26, 30, 31, 34, 37, 40, 41], "explod": [0, 5], "electon": 0, "42": [0, 5, 8, 13, 16], "minimum_mcbagb_for_nondegenerate_carbon_ignit": 0, "degener": 0, "25msun": 0, "25": [0, 5, 8, 13, 19], "maximum_mcbagb_for_degenerate_carbon_ignit": 0, "max_neutron_star_mass": 0, "befor": [0, 2, 5, 6, 8, 13, 14, 15, 16, 21, 22, 23, 31, 32, 40], "2msun": 0, "chandrasekhar_mass": 0, "chandrasekhar": 0, "44msun": 0, "38": [0, 5, 8, 13, 16], "delta_mcmin": 0, "reduc": [0, 5], "third": [0, 17, 32, 38], "dredg": 0, "As": [0, 6, 8, 12, 13, 14, 15, 16], "izzard": [0, 6, 8, 13, 14, 15, 23, 40], "2004": [0, 5], "increas": [0, 5, 8, 13, 14, 15], "henc": [0, 8, 14, 15, 17], "lambda_min": 0, "effici": [0, 6, 8], "lambda": [0, 5, 8], "lambda_mult": 0, "impli": 0, "onc": [0, 38], "mcmin": 0, "lambda_multipli": 0, "minimum_envelope_mass_for_third_dredgeup": 0, "straniero": 0, "suggest": [0, 23, 40], "5msun": 0, "howev": [0, 9, 13, 14, 15, 16], "circumstanti": 0, "evid": 0, "2009": 0, "well": [0, 3, 9, 12, 13, 14, 15, 22, 23, 40], "newer": [0, 2, 23, 40], "stancliff": 0, "low": [0, 6, 8, 14, 15, 32], "nearer": 0, "more": [0, 1, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 38, 40], "appropri": [0, 16, 22, 26, 29, 30, 31, 35, 37], "mass_of_pmz": 0, "partial": 0, "mix": [0, 2, 22], "zone": 0, "tabl": [0, 32, 38], "ask": [0, 7, 43], "abat": 0, "detail": [0, 6, 12, 20, 22], "seri": [0, 38], "paper": 0, "2013": 0, "2014": [0, 5, 32], "use_tabular_intershell_abundances_karakas_2012": 0, "c13_eff": 0, "intershel": 0, "region": [0, 38], "process": [0, 6, 8, 13, 14, 15, 16, 18, 19, 20, 21, 22, 26, 30], "gallino": 0, "busso": 0, "lugaro": 0, "provid": [0, 16, 21, 22, 23, 26, 32, 40, 41], "maria": 0, "nucsyn_s_process": 0, "mc13_pocket_multipli": 0, "tides_convective_damp": 0, "tidal": [0, 5], "convect": 0, "damp": 0, "tides_hurley2002": 0, "zahn": 0, "197x": 0, "timescal": 0, "hut": 0, "tides_zahn1989": 0, "1989": [0, 13], "e2_prescript": 0, "how": [0, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 19, 22, 28, 32, 35], "e2": 0, "siess": 0, "e2_hurley_2002": 0, "e2_izzard": 0, "e2_mint": 0, "dtfac": 0, "decreas": 0, "hbbtfac": 0, "modul": [0, 7, 8, 11, 13, 14, 15, 16, 17, 22, 24], "hot": 0, "bottom": [0, 16, 35], "burn": 0, "wind_multiplier_": 0, "specifi": [0, 22, 26, 38], "intger": 0, "By": [0, 6, 13, 14, 15, 16, 19, 22], "wind_type_multiplier_": 0, "pre_main_sequ": 0, "rather": [0, 2, 9, 12, 16, 20, 22, 26, 39], "fraction": [0, 13, 19, 22, 32], "radii": [0, 43], "match": [0, 2, 6, 12, 13, 16, 17, 22, 25, 29], "railton": 0, "pre_main_sequence_fit_lob": 0, "forc": [0, 5, 22, 28], "roch": [0, 5, 8, 43], "lobe": [0, 5, 8, 43], "done": [0, 2, 5, 6, 13, 14, 15, 16, 19, 22, 23, 31, 40], "small_envelope_method": 0, "method": [0, 9, 11, 12, 13, 14, 15, 16, 19, 21, 22, 27, 31, 33, 34, 35, 39], "determin": [0, 7, 9, 13, 14, 15, 16, 21, 32, 35, 43], "radiu": [0, 1, 6, 9, 16, 18, 25, 43], "veri": [0, 5, 6, 7, 8, 9, 12, 14, 15, 16, 31, 35, 38], "thin": 0, "miller": 0, "bertolami": 0, "2016": 0, "small_envelope_method_bs": 0, "small_envelope_method_miller_bertolami": 0, "timestep_modul": 0, "global": [0, 2, 13, 14, 15, 20, 32, 38], "timestep_multipli": 0, "maximum_timestep": 0, "zoomfac_multiplier_decreas": 0, "zoomfac_multiplier_increas": 0, "zoom": [0, 38], "succe": 0, "maximum_timestep_factor": 0, "subsequ": 0, "maximum_nuclear_burning_timestep": 0, "nuclear": 0, "nova_retention_method": 0, "retain": 0, "nova": [0, 6, 8], "nova_retention_fract": 0, "pend": [0, 5], "nova_retention_algorithm_const": 0, "nova_retention_algorithm_claeys2014": 0, "nova_retention_algorithm_hillman2015": 0, "mint_metal": 0, "mint": 0, "It": [0, 6, 7, 8, 11, 12, 13, 14, 15, 16, 17, 19, 22, 23, 31, 34, 40], "normal": [0, 2, 21, 26, 38, 39], "gaia_teff_binwidth": 0, "log10": [0, 6, 8, 13, 14, 15, 16, 32, 38], "bin": [0, 8, 13, 14, 15, 20, 22, 23, 38, 40], "width": [0, 8, 20], "gaia": [0, 32], "hrd": [0, 6, 8], "gaia_l_binwidth": 0, "luminos": [0, 4, 6, 23, 25], "gaia_colour_transform_method": 0, "select": [0, 3, 12, 13, 17, 19, 20], "transform": [0, 3], "colour": 0, "scheme": 0, "gaia_conversion_ubvri_univariate_jordi2010": 0, "jordi": 0, "univari": 0, "ubvri": 0, "gaia_conversion_ubvri_bivariate_jordi2010": 0, "bivari": 0, "gaia_conversion_ugriz_univariate_jordi2010": 0, "gaia_conversion_ugriz_bivariate_jordi2010": 0, "ugriv": 0, "gaia_conversion_ubvri_univariate_evans2018": 0, "evan": 0, "dr2": 0, "gaia_conversion_ugriz_univariate_evans2018": 0, "gaia_conversion_ubvri_riello2020": 0, "riello": 0, "dr3": 0, "gaia_conversion_ugriz_riello2020": 0, "rotationally_enhanced_mass_loss": 0, "enabl": [0, 7], "rotation": 0, "enhanc": 0, "langer": 0, "rotationally_enhanced_massloss_langer_formula": 0, "rotationally_enhanced_expon": 0, "rotationally_enhanced_massloss_non": 0, "rotationally_enhanced_massloss_angmom": 0, "rotationally_enhanced_massloss_langer_formula_and_angmom": 0, "agb_core_algorithm": 0, "overshoot": 0, "agb_core_algorithm_default": 0, "agb_core_algorithm_hurlei": 0, "agb_core_algorithm_karaka": 0, "agb_radius_algorithm": 0, "agb_radius_algorithm_default": 0, "agb_radius_algorithm_hurlei": 0, "agb_radius_algorithm_karaka": 0, "agb_luminosity_algorithm": 0, "agb_luminosity_algorithm_default": 0, "agb_luminosity_algorithm_hurlei": 0, "agb_luminosity_algorithm_karaka": 0, "agb_3dup_algorithm": 0, "agb_third_dredge_up_algorithm_default": 0, "agb_third_dredge_up_algorithm_hurlei": 0, "agb_third_dredge_up_algorithm_karaka": 0, "agb_third_dredge_up_algorithm_stancliff": 0, "overspin_algorithm": 0, "what": [0, 1, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 19, 22, 23, 26, 32, 34, 38, 39, 40, 41], "do": [0, 1, 2, 5, 6, 7, 8, 9, 11, 13, 14, 15, 16, 19, 21, 22, 23, 25, 26, 31, 32, 34, 38, 40, 43], "breakup": 0, "overspin_bs": 0, "conserv": 0, "transfer": [0, 6, 22], "back": [0, 2, 5], "overspin_massloss": 0, "rotationally_enhanced_massloss": 0, "lose": [0, 19], "carri": 0, "awai": [0, 13], "expon": [0, 20], "power": [0, 8, 14, 15, 22, 23, 32, 40], "rais": [0, 2, 16, 20, 22], "batchmod": 0, "control": [0, 6, 13, 14, 15, 16, 22], "variabl": [0, 4, 6, 7, 8, 20, 22, 30, 31, 35], "know": [0, 1, 2, 7, 12, 14, 15, 22, 31, 34], "speedtest": 0, "off": [0, 5, 16, 19, 22], "use_fixed_timestep_": 0, "boolean": [0, 2, 7, 20, 21, 22, 25, 39, 43], "task": [0, 19, 20, 21, 25, 26, 29, 32, 38, 41, 43], "perform": [0, 31], "For": [0, 2, 9, 12, 13, 14, 15, 25], "binary_c_macro": 0, "particularli": 0, "binary_c_task_": 0, "orbiting_object": [0, 17], "usag": [0, 4], "spinrat": 0, "central_object": 0, "orbiting_objects_log": [0, 17], "orbiting_objects_wind_accretion_multipli": 0, "orbiting_objects_close_pc_threshold": 0, "close": [0, 5, 8, 14, 15, 17, 31], "percentag": 0, "orbiting_objects_tides_multipli": 0, "torqu": 0, "evaporate_escaped_orbiting_object": 0, "evapor": 0, "rlof_transition_objects_escap": 0, "otherwis": [0, 2, 20, 21, 22, 26, 28, 30, 31, 34, 37], "place": [0, 2, 13, 20, 22], "outsid": [0, 32], "stabl": [0, 23, 40], "pn_resolv": 0, "shorten": [0, 5], "resolv": [0, 13, 31], "better": [0, 2, 4, 7, 16, 26, 30, 31, 37, 43], "pn": 0, "pn_resolve_minimum_luminos": 0, "resolut": [0, 6, 8, 13, 14, 15, 16, 22, 35, 38], "pne": 0, "31": [0, 5, 7, 8, 13, 19], "62": [0, 5, 13], "pn_resolve_maximum_envelope_mass": 0, "below": [0, 4, 6, 7, 8, 9, 13, 14, 15, 16, 22, 32], "pn_resolve_minimum_effective_temperatur": 0, "12500": 0, "pn_fast_wind": 0, "fast": 0, "pn_fast_wind_dm_gb": 0, "pn_fast_wind_mdot_gb": 0, "06": [0, 5, 8, 9, 12, 13], "pn_fast_wind_dm_agb": 0, "pn_fast_wind_mdot_agb": 0, "hewd_hewd_ignition_mass": 0, "reignit": 0, "wind_nieuwenhuijzen_luminosity_lower_limit": 0, "activ": [0, 22, 23, 40], "4e3": 0, "lsun": [0, 25], "4000": [0, 13], "wind_lbv_luminosity_lower_limit": 0, "6e5": 0, "600000": 0, "num_ansi_colour": 0, "extend": [0, 8, 23, 39, 40], "ansi": [0, 20], "255": [0, 5], "src": [0, 7, 9, 23, 40], "ansi_colour": 0, "int": [0, 1, 2, 5, 7, 13, 16, 20, 21, 22, 26, 32, 33, 34, 35, 38, 43], "apply_darwin_radau_correct": 0, "darwin": 0, "radau": 0, "correct": [0, 12, 21, 23, 25, 32, 33, 40, 43], "moment": [0, 6, 9, 16, 19, 38], "inertia": 0, "take": [0, 2, 8, 13, 16, 19, 20, 22, 27, 31, 32, 35, 41], "degenerate_core_merger_nucsyn": 0, "degner": 0, "energi": 0, "gener": [0, 1, 4, 6, 7, 8, 9, 12, 13, 15, 16, 18, 19, 20, 21, 22, 25, 26, 31, 32, 34, 35, 38], "nucleosynthesi": [0, 39], "whole": [0, 8, 9, 21, 22], "disrupt": [0, 5, 19], "degenerate_core_helium_merger_ignit": 0, "r": [0, 1, 5, 6, 12, 16, 19, 23, 31, 40], "degenerate_core_merger_dredgeup_fract": 0, "separ": [0, 3, 5, 6, 7, 9, 12, 16, 17, 18, 19, 25, 31, 32, 43], "actual": [0, 3, 6, 8, 9, 12, 13, 14, 15, 16, 21, 22, 23, 25, 30, 32, 38, 40], "semi": 0, "major": 0, "axi": [0, 25], "indic": [0, 32], "want": [0, 2, 3, 5, 8, 9, 13, 14, 15, 16, 19, 20, 22, 23, 25, 26, 31, 32, 34, 35, 40], "either": [0, 2, 3, 13, 14, 15, 16, 19, 21, 22, 35, 39, 41], "separation_tripl": 0, "tripl": [0, 22, 32], "separation_quadrupl": 0, "quadrupl": [0, 22, 32], "orbital_period": [0, 5, 7, 8, 9, 12, 13, 16, 18, 19, 43], "orbital_period_tripl": 0, "orbital_period_quadrupl": 0, "outer": [0, 6], "quadrulpl": 0, "eccentricity_tripl": 0, "eccentricity_quadrupl": 0, "inclini": 0, "orbital_inclin": 0, "rel": 0, "incliniation_tripl": 0, "incliniation_quadrupl": 0, "orbital_inclinationi": 0, "orbital_phas": 0, "orbital_phase_tripl": 0, "orbital_phase_quadrupl": 0, "argument_of_periastron": 0, "argument": [0, 2, 7, 12, 14, 16, 17, 18, 19, 20, 21, 22, 26, 27, 32, 39, 41], "periastron": 0, "argument_of_periastron_tripl": 0, "argument_of_periastron_quadrupl": 0, "disc_timestep_factor": 0, "natur": [0, 14, 15], "disc": [0, 17], "white_dwarf_cooling_model": 0, "cool": [0, 6], "white_dwarf_cooling_mestel": 0, "mestel": 0, "white_dwarf_cooling_mestel_modifi": 0, "white_dwarf_cooling_carrasco2014": 0, "carrasco": 0, "white_dwarf_radius_model": 0, "perhap": [0, 6, 8, 21], "white_dwarf_radius_nauenberg1972": 0, "nauenberg": 0, "1972": 0, "white_dwarf_radius_mu": 0, "mu": 0, "white_dwarf_radius_carrasco2014": 0, "cbdisc_mass_loss_inner_viscous_accretion_method": 0, "inner": [0, 17], "edg": [0, 6, 16, 35], "circumbinari": 0, "goe": [0, 2, 9, 12, 25], "young": 0, "clark": 0, "gerosa": 0, "50": [0, 5, 8, 13, 15, 16], "cbdisc_mass_loss_inner_viscous_accretion_method_young_clarke_2015": 0, "cbdisc_mass_loss_inner_viscous_accretion_method_gerosa_2015": 0, "cbdisc_mass_loss_inner_viscous_accretion_method_equ": 0, "cbdisc_mass_loss_inner_viscous_accretion_method_non": 0, "cbdisc_inner_edge_strip": 0, "cbdisc_end_evolution_after_disc": 0, "cbdisc_no_wind_if_cbdisc": 0, "cbdisc_outer_edge_strip": 0, "disc_n_monte_carlo_guess": 0, "guess": [0, 32], "try": [0, 2, 5, 8, 12, 13, 14, 15, 16, 23, 26, 31, 35, 40], "list": [0, 1, 2, 3, 6, 8, 12, 13, 14, 15, 16, 17, 20, 22, 23, 26, 29, 32, 35, 38, 40, 41], "disc_log": 0, "disc_log_level_non": 0, "disc_log_level_norm": 0, "disc_log_level_subtimestep": 0, "disc_log_level_normal_first_disc_onli": 0, "disc_log_level_subtimestep_first_disc_onli": 0, "disc_log2d": 0, "2d": 0, "disc_log_dt": 0, "disc_log_directori": 0, "directori": [0, 4, 16, 20, 21, 22, 23, 26, 29, 30, 31, 34, 37, 40], "sent": 0, "exist": [0, 2, 6, 16, 19, 22, 26, 31, 34, 35], "string": [0, 1, 2, 3, 4, 7, 12, 13, 14, 15, 16, 17, 20, 21, 22, 25, 26, 30, 31, 34, 35, 37, 39, 41], "tmp": [0, 6, 8, 12, 13, 14, 15, 16, 17, 20, 23, 40], "post_ce_adaptive_menv": 0, "post_ce_objects_have_envelop": 0, "ce": [0, 8], "sit": 0, "insid": 0, "post_ce_envelope_dm_gb": 0, "post_ce_envelope_dm_eagb": 0, "post_ce_envelope_dm_tpagb": 0, "common": [0, 4, 5, 6, 9, 12, 13, 14, 15, 16, 23], "need": [0, 2, 7, 9, 12, 13, 14, 15, 16, 17, 19, 22, 23, 26, 32, 40, 43], "mai": [0, 8, 13, 31], "unstabl": [0, 5], "mani": [0, 6, 7, 8, 11, 13, 14, 15, 16, 22, 30], "cee": [0, 8], "pn_comenv_transition_tim": 0, "transit": 0, "year": [0, 32], "1e2": 0, "move": [0, 6], "teff": [0, 5, 32], "30e4": 0, "hall": 0, "minimum_time_between_pn": 0, "planetari": 0, "nebula": 0, "detect": [0, 5, 8, 17], "prevent": [0, 5, 6, 22], "trigger": 0, "pn_hall_fading_time_algorithm": 0, "45msun": 0, "fade": 0, "pn_hall_fading_time_algorithm_minimum": 0, "pn_hall_fading_time_algorithm_maximum": 0, "shown": [0, 25, 38], "fig": [0, 19, 32], "ppn_envelope_mass": 0, "cbdisc_eccentricity_pumping_method": 0, "variou": 0, "pump": 0, "cbdisc_eccentricity_pumping_non": 0, "cbdisc_eccentricity_pumping_dermin": 0, "cbdisc_viscous_photoevaporative_coupl": 0, "viscou": 0, "photoevapor": 0, "coupl": [0, 4], "cbdisc_viscous_photoevaporative_coupling_non": 0, "cbdisc_viscous_photoevaporative_coupling_inst": 0, "instant": 0, "cbdisc_viscous_photoevaporative_coupling_visc": 0, "slow": [0, 6, 8, 13, 14, 15], "cbdisc_inner_edge_stripping_timescal": 0, "long": [0, 6, 8, 16, 22, 28, 31, 35, 39, 42], "revap_in": 0, "disc_stripping_timescale_inst": 0, "disc_stripping_timescale_infinit": 0, "disc_stripping_timescale_visc": 0, "disc_stripping_timescale_orbit": 0, "cbdisc_outer_edge_stripping_timescal": 0, "revap_out": 0, "cbdisc_viscous_l2_coupl": 0, "l2": 0, "gravitational_radiation_model": 0, "gravit": [0, 6, 8, 16], "radiat": 0, "landau": 0, "lifshitz": 0, "1951": 0, "gravitational_radiation_bs": 0, "gravitational_radiation_bse_when_no_rlof": 0, "gravitational_radiation_non": 0, "gravitational_radiation_landau_lifshitz": 0, "gravitational_radiation_landau_lifshitz_when_no_rlof": 0, "nova_irradiation_multipli": 0, "radi": 0, "shara": 0, "1986": [0, 32], "gravitational_radiation_modulator_j": 0, "wave": [0, 6, 8, 16], "gravitational_radiation_modulator_": 0, "nova_faml_multipli": 0, "friction": 0, "rlof_angular_momentum_transfer_model": 0, "rlof_angular_momentum_transfer_model_bs": 0, "rlof_angular_momentum_transfer_model_conserv": 0, "post_sn_orbit_method": 0, "tauri": 0, "post_sn_orbit_bs": 0, "post_sn_orbit_tt98": 0, "singl": [0, 4, 5, 6, 7, 13, 14, 15, 18, 19, 21, 22, 23, 25, 26, 32, 40], "accretion_limit_eddington_steady_multipli": 0, "steadi": 0, "eddington": 0, "spheric": 0, "symmetr": 0, "known": [0, 6, 12, 13, 14, 15, 16, 21, 32, 41], "trade": 0, "anyth": [0, 13, 14, 15, 16, 20, 22, 38], "greater": 0, "than": [0, 2, 6, 8, 13, 14, 15, 16, 20, 22, 23, 26, 31, 32, 39, 40], "potenti": 0, "give": [0, 5, 8, 20, 21, 32, 43], "super": 0, "accretion_limit_eddington_lmms_multipli": 0, "accretion_limit_eddington_wd_to_remnant_multipli": 0, "onto": [0, 32], "anoth": [0, 26], "accretion_limit_thermal_multipli": 0, "accretor": [0, 5, 43], "thermal": [0, 6, 32, 43], "accretion_limit_dynamical_multipli": 0, "dynam": 0, "donor_limit_envelope_multipli": 0, "donor": [0, 5, 43], "per": [0, 5, 8, 12, 13, 16, 20, 22, 31, 43], "donor_limit_thermal_multipli": 0, "donor_limit_dynamical_multipli": 0, "bondi_hoyle_accretion_factor": 0, "bondi": 0, "hoyl": 0, "littleton": 0, "multiplc": 0, "tidal_strength_factor": 0, "strength": 0, "tide": [0, 17], "stronger": [0, 6], "hachisu_qcrit": 0, "critic": 0, "q": [0, 5, 8, 13, 16, 19, 22, 32, 43], "maccretor": [0, 5], "mdonor": [0, 5], "hachisu": 0, "disk": [0, 21], "hachisu_ignore_qcrit": 0, "hachisu_disk_wind": 0, "materi": [0, 6], "too": [0, 2, 6, 7, 14, 15, 17, 22, 23, 40, 41], "help": [0, 5, 7, 11, 12, 13, 14, 15, 16, 20, 34], "sneia": 0, "mass_accretion_for_eld": 0, "lit": 0, "deton": 0, "wdwd_merger_algorithm": 0, "peret": 0, "chen": 0, "todo": [0, 1, 2, 5, 10, 11, 16, 20, 21, 22, 25, 26, 30, 31, 32, 33, 34, 37, 38, 39, 41, 43], "wdwd_merger_algorithm_bs": 0, "wdwd_merger_algorithm_perets2019": 0, "wdwd_merger_algorithm_chen2016": 0, "type_ia_mch_supernova_algorithm": 0, "yield": [0, 38], "dd7": 0, "iwamoto": 0, "1999": 0, "seitenzahl": 0, "3d": 0, "hydro": 0, "seitenzahl2013_model": 0, "One": [0, 22], "n1": 0, "n3": 0, "n5": 0, "n10": 0, "n20": 0, "n40": 0, "n100l": 0, "n100": 0, "n100h": 0, "n150": 0, "n200": 0, "n300c": 0, "n1600": 0, "n1600c": 0, "n100_z0": 0, "type_ia_sub_mch_supernova_algorithm": 0, "unus": [0, 22], "max_hewd_mass": 0, "merger_mass_loss_fract": 0, "merger_angular_momentum_factor": 0, "spin": [0, 17], "smaller": [0, 38], "wind_angular_momentum_loss": 0, "lw": 0, "specif": [0, 11, 12, 25, 30, 37], "wind_djorb_fac": 0, "wind_angmom_loss_bs": 0, "wind_angmom_loss_lw": 0, "wind_angmom_loss_lw_hybrid": 0, "wind_angmom_loss_spherically_symmetr": 0, "vw93_eagb_wind_spe": 0, "vw93_tpagb_wind_spe": 0, "use_periastron_roche_radiu": 0, "circular": [0, 5], "treat": [0, 38], "properli": 0, "hopefulli": 0, "qcrit_lmm": 0, "stabil": 0, "overflow": [0, 5, 8], "qcrits_": 0, "qcrits_degenerate_": 0, "6944": 0, "qcrit_bs": 0, "qcrit_hjellming_webbink": 0, "qcrit_q_no_comenv": 0, "qcrit_chen_han_t": 0, "qcrit_chen_han_formula": 0, "qcrit_ge2015": 0, "qcrit_vos2018": 0, "qcrit_temmink2021": 0, "qcrit_gb_bs": 0, "qcrit_gb_hjellming_webbink": 0, "qcrit_gb_q_no_comenv": 0, "qcrit_gb_chen_han_t": 0, "qcrit_gb_chen_han_formula": 0, "qcrit_gb_ge2015": 0, "qcrit_gb_vos2018": 0, "qcrit_gb_temmink2021": 0, "qcrit_m": 0, "qcrit_hg": 0, "hertzsprung": [0, 4, 23], "gap": 0, "qcrit_gb": 0, "qcrit_cheb": 0, "qcrit_eagb": 0, "qcrit_tpagb": 0, "tp": 0, "qcrit_hem": 0, "qcrit_hehg": 0, "qcrit_hegb": 0, "78125": 0, "qcrit_hewd": 0, "qcrit_cowd": 0, "qcrit_onewd": 0, "qcrit_n": 0, "qcrit_bh": 0, "qcrit_degenerate_lmm": 0, "qcrit_degenerate_m": 0, "qcrit_degenerate_hg": 0, "7619": 0, "qcrit_degenerate_gb": 0, "qcrit_degenerate_cheb": 0, "qcrit_degenerate_eagb": 0, "qcrit_degenerate_tpagb": 0, "qcrit_degenerate_hem": 0, "qcrit_degenerate_hehg": 0, "qcrit_degenerate_hegb": 0, "qcrit_degenerate_hewd": 0, "625": [0, 5], "qcrit_degenerate_cowd": 0, "qcrit_degenerate_onewd": 0, "qcrit_degenerate_n": 0, "qcrit_degenerate_bh": 0, "mass_for_hestar_ia_upp": 0, "never": [0, 6, 14, 15, 22, 29], "mass_for_hestar_ia_low": 0, "alphacb": 0, "viscos": 0, "alpha": [0, 5], "minimum_donor_menv_for_comenv": 0, "msun": [0, 6, 9, 12, 13, 14, 15, 17, 19, 32, 38, 39], "comenv_prescript": 0, "paczy\u0144ski": 0, "neleman": 0, "alpha_c": [0, 5, 6, 8], "comenv_ms_accretion_mass": 0, "comenv_ms_accretion_fract": 0, "comenv_ns_accretion_fract": 0, "comenv_ns_accretion_mass": 0, "nelemans_gamma": 0, "nelemans_minq": 0, "nelemans_max_frac_j_chang": 0, "nelemans_n_comenv": 0, "lambda_c": [0, 5, 8], "lambda_ionis": 0, "comenv_undef": 0, "comenv_bs": 0, "comenv_nelemans_tout": 0, "comenv_nandez2016": 0, "comenv_ejection_spin_method": 0, "left": 0, "comenv_ejection_spin_method_do_noth": 0, "leav": [0, 22], "omega": [0, 5, 19], "enter": [0, 22], "comenv_ejection_spin_method_sychron": 0, "synchron": 0, "comenv_ejection_spin_method_synchron": 0, "comenv_merger_spin_method": 0, "comenv_merger_spin_method_specif": 0, "preserv": 0, "onset": 0, "comenv_merger_spin_method_conserve_angmom": 0, "supercrit": 0, "comenv_merger_spin_method_conserve_omega": 0, "frequenc": [0, 17], "comenv_merger_spin_method_breakup": 0, "some": [0, 1, 6, 8, 9, 11, 12, 13, 14, 15, 16, 19, 21, 22, 23, 25, 30, 32, 35, 36, 37, 40], "comenv_ms_accret": 0, "comenv_ns_accret": 0, "formal": 0, "bind": [0, 7, 9, 12, 17], "m": [0, 5, 6, 8, 13, 14, 15, 17, 19, 20, 32, 43], "menv": [0, 5], "lambda_ce_dewi_tauri": 0, "dewi": 0, "lambda_ce_wang_2016": 0, "wang": 0, "jia": 0, "li": 0, "lambda_ce_polytrop": 0, "polytrop": 0, "comenv_splitmass": 0, "lambda_ce_klencki_2020": 0, "klencki": 0, "point": [0, 3, 6, 20, 21, 22, 23, 31, 32, 38, 40], "nelemans_recalc_eccentr": 0, "recalcul": 0, "comenv_post_eccentr": 0, "remain": [0, 7, 20, 22], "05": [0, 5, 8, 9, 13, 16], "accord": [0, 6, 31, 32, 38], "75": [0, 5, 8, 13], "chang": [0, 1, 2, 5, 6, 8, 9, 13, 14, 15, 16, 19, 20, 21, 22, 23, 34, 35, 40], "standard": [0, 13, 14, 15, 30, 32, 37, 38], "recombin": 0, "big": [0, 22], "outcom": 0, "lambda_enthalpi": 0, "enthalpi": 0, "far": [0, 5, 6, 14, 15, 17], "cbdisc_albedo": 0, "albedo": 0, "cbdisc_gamma": 0, "cbdisc_alpha": 0, "cbdisc_kappa": 0, "kappa": 0, "cbdisc_minimum_evaporation_timescal": 0, "would": [0, 2, 14, 15, 16, 22, 25], "less": [0, 1, 4, 5, 31, 32], "simpli": [0, 14, 15], "immedi": [0, 6, 22], "1y": 0, "cbdisc_torquef": 0, "cbdisc_max_lifetim": 0, "lifetim": [0, 8, 13, 14, 15, 16, 38], "cbdisc_init_dm": 0, "cbdisc": 0, "start": [0, 1, 5, 6, 8, 12, 13, 14, 15, 16, 19, 20, 22, 28, 34, 35], "dm": [0, 5, 14, 15, 32, 38], "won": [0, 12, 23, 40], "t": [0, 1, 2, 5, 6, 12, 14, 15, 16, 20, 22, 23, 26, 31, 38, 40], "converg": 0, "cbdisc_init_djdm": 0, "dj": 0, "cbdisc_mass_loss_constant_r": 0, "cbdisc_mass_loss_fuv_multipli": 0, "fuv": 0, "cbdisc_mass_loss_xray_multipli": 0, "x": [0, 6, 9, 12, 17, 19, 20, 21, 25, 26, 32, 38], "rai": 0, "cbdisc_mass_loss_ism_ram_pressure_multipli": 0, "interstellar": 0, "medium": 0, "ram": [0, 22], "pressur": 0, "cbdisc_mass_loss_ism_pressur": 0, "boltzmann": 0, "kelvin": 0, "think": [0, 20, 21], "3000": [0, 17], "http": [0, 1, 2, 6, 16, 20, 21, 23, 31, 32, 40], "www": [0, 32], "astronomi": 0, "ohio": 0, "edu": 0, "pogg": 0, "ast871": 0, "intro": 0, "pdf": [0, 19, 23, 32, 40], "page": [0, 6, 16, 23, 40], "arxiv": [0, 32], "org": [0, 2, 32], "0902": 0, "0820": 0, "panel": 0, "cbdisc_mass_loss_inner_viscous_multipli": 0, "cbdisc_mass_loss_inner_viscous_angular_momentum_multipli": 0, "cbdisc_resonance_multipli": 0, "reson": 0, "interact": [0, 3, 5, 6, 8, 17, 19, 34], "cbdisc_resonance_damp": 0, "l": [0, 6, 13, 14, 15], "locat": [0, 22, 23, 32, 38, 40], "cbdisc_fail_ring_inside_separ": 0, "rring": 0, "cbdisc_mass_loss_inner_l2_cross_multipli": 0, "cross": 0, "cbdisc_minimum_luminos": 0, "becom": [0, 1, 2, 5, 9, 14, 15, 17, 20, 22], "dimmer": [0, 13], "instantli": 0, "cbdisc_minimum_mass": 0, "cbdisc_minimum_fr": 0, "fring": 0, "ring": 0, "ab": [0, 20], "rout": 0, "rin": 0, "comenv_disc_angmom_fract": 0, "deprec": [0, 21], "discs_circumbinary_from_comenv": 0, "comenv_disc_mass_fract": 0, "wind_disc_angmom_fract": 0, "discs_circumbinary_from_wind": 0, "wind_disc_mass_fract": 0, "wrlof_method": 0, "quadrat": 0, "wrlof_mass_transf": 0, "wrlof_non": 0, "wrlof_q_depend": 0, "wrlof_quadrat": 0, "minimum_timestep": 0, "timestep_solver_factor": 0, "timestep_limit": 0, "compar": [0, 8, 13, 16, 22], "dx": 0, "dt": [0, 1, 20, 29, 38], "lengthen": 0, "altern": [0, 22], "rlof_mdot_factor": 0, "rlof_mdot_modul": 0, "rlof_f": 0, "enlarg": 0, "nomin": 0, "becaus": [0, 2, 6, 7, 8, 12, 13, 14, 15, 17, 19, 21, 22, 23, 29, 31, 32, 40], "dermin": 0, "rlof_radiation_correct": 0, "minimum_separation_for_instant_rlof": 0, "evolv": [0, 4, 7, 9, 21, 22, 23, 40], "report": [0, 6, 8, 13, 14, 15, 16], "lead": [0, 6, 13, 14, 15, 16, 31, 32, 43], "minimum_orbital_period_for_instant_rlof": 0, "maximum_mass_ratio_for_instant_rlof": 0, "m1": [0, 5, 8, 9, 12, 13, 14, 15, 16, 19, 31, 32, 43], "rlof_method": 0, "adapt": [0, 14, 15], "rl": [0, 5], "ritter": 0, "claei": 0, "etal": 0, "rlof_method_bs": 0, "rlof_method_adapt": 0, "rlof_method_ritt": 0, "rlof_method_claei": 0, "rlof_method_adaptive2": 0, "rlof_interpolation_method": 0, "alwai": [0, 21, 22, 32, 38], "get": [0, 2, 3, 4, 6, 9, 12, 13, 14, 15, 16, 17, 19, 20, 21, 23, 26, 27, 30, 32, 34, 35, 37, 40, 41, 43], "within": [0, 2, 9, 11, 16, 20, 23, 32, 35, 40], "toler": 0, "rlof_entry_threshold": 0, "revers": [0, 25], "newton": 0, "doe": [0, 2, 6, 7, 9, 11, 12, 13, 14, 15, 16, 21, 22, 29, 31, 32, 35, 43], "repeat": [0, 22], "half": [0, 32], "until": [0, 2, 6, 31, 32], "latter": 0, "now": [0, 2, 5, 6, 8, 9, 12, 13, 14, 15, 16, 17, 19, 20, 26, 32, 33], "break": 0, "rlof_interpolation_binary_c": 0, "rlof_interpolation_bs": 0, "beta_reverse_nova": 0, "automat": [0, 1, 9, 16, 18, 19, 22, 23, 29, 31, 34, 35, 40], "geometr": 0, "beta_reverse_novae_geometri": 0, "wd_accretion_rate_novae_upper_limit_hydrogen_donor": 0, "upper": [0, 32, 38], "donor_rate_algorithm_claeys2014": 0, "donor_rate_algorithm_bs": 0, "wd_accretion_rate_novae_upper_limit_helium_donor": 0, "wd_accretion_rate_novae_upper_limit_other_donor": 0, "neither": [0, 21], "nor": 0, "wd_accretion_rate_new_giant_envelope_lower_limit_hydrogen_donor": 0, "format": [0, 2, 3, 5, 7, 8, 9, 12, 13, 14, 15, 16, 17, 19, 20, 22, 30, 31, 32, 35, 38], "wd_accretion_rate_new_giant_envelope_lower_limit_helium_donor": 0, "wd_accretion_rate_new_giant_envelope_lower_limit_other_donor": 0, "crap_paramet": 0, "eggleton": [0, 43], "subject": 0, "bb": 0, "individual_nova": 0, "each": [0, 2, 8, 13, 14, 15, 16, 17, 20, 22, 26, 35, 38], "separta": 0, "nova_timestep_accelerator_num": 0, "acceler": 0, "exce": [0, 13], "nova_timestep_accelerator_index": 0, "nova_timestep_accelerator_max": 0, "larger": [0, 6], "longer": [0, 6, 8], "cap": 0, "nonconservative_angmom_gamma": 0, "NOT": [0, 35, 38, 41], "momenta": [0, 25], "rlof_nonconservative_gamma_donor": 0, "rlof_nonconservative_gamma_isotrop": 0, "max_stellar_angmom_chang": 0, "maxmimum": 0, "third_dup": 0, "nucsyn_third_dredge_up": 0, "third_dup_multipli": 0, "f": [0, 5, 12, 16, 19, 32], "abund": 0, "element": [0, 1, 11, 17, 22, 25, 39], "nenamg": 0, "reaction": 0, "network": [0, 11], "nucsyn_hbb": 0, "nucsyn_network": 0, "nucsyn_network_error": 0, "error": [0, 2, 6, 8, 13, 14, 15, 20, 22, 23, 26, 31, 40], "nucreacmult": 0, "z": [0, 6, 8, 19, 21, 32, 43], "04": [0, 5, 13, 19], "That": [0, 6], "said": 0, "been": [0, 2, 11, 21, 22, 26, 28, 30, 37], "warn": [0, 12, 16, 22, 26], "nucsyn_solv": 0, "kaps_rentrop": 0, "kap": 0, "rentrop": 0, "great": [0, 14, 15, 22], "stiff": 0, "problem": [0, 13], "lsoda": 0, "adam": 0, "bsf": 0, "switcher": 0, "cvode": 0, "librari": [0, 1, 6, 9, 19, 21, 22, 41], "comput": [0, 6, 13, 14, 15], "llnl": 0, "gov": 0, "project": [0, 23, 40], "sundial": 0, "initial_abundance_mix": 0, "mixtur": [0, 13], "ag89": 0, "lodder": 0, "asplund": 0, "avail": [0, 7, 8, 9, 13, 14, 15, 16, 20, 22, 23, 28, 40], "garcia": 0, "berro": 0, "grevess": 0, "noel": 0, "init_abund": 0, "isotop": [0, 11, 39], "init_abund_mult": 0, "init_abund_dex": 0, "dex": [0, 8, 38], "init_abunds_onli": 0, "exit": [0, 20, 21, 22, 26, 30, 31, 37], "initial_abunds_onli": 0, "no_thermohaline_mix": 0, "thermohalin": 0, "lithium_gb_post_heflash": 0, "lithium": 0, "lithium_t": 0, "lithium_gb_post_1dup": 0, "lithium_hbb_multipli": 0, "hbb": 0, "fishlock": 0, "angelou_lithium_decay_funct": 0, "describ": [0, 19, 22, 32], "li7": 0, "decai": 0, "nucsyn_angelou_lithium": 0, "choic": [0, 25, 32], "expoenti": 0, "angelou_lithium_decay_tim": 0, "angelou_lithium_lmms_tim": 0, "manufactur": 0, "angelou_lithium_ms_tim": 0, "angelou_lithium_hg_tim": 0, "angelou_lithium_gb_tim": 0, "angelou_lithium_cheb_tim": 0, "angelou_lithium_eagb_tim": 0, "angelou_lithium_tpagb_tim": 0, "angelou_lithium_lmms_decay_tim": 0, "surfac": 0, "angelou_lithium_ms_decay_tim": 0, "angelou_lithium_hg_decay_tim": 0, "angelou_lithium_gb_decay_tim": 0, "angelou_lithium_cheb_decay_tim": 0, "angelou_lithium_eagb_decay_tim": 0, "angelou_lithium_tpagb_decay_tim": 0, "angelou_lithium_lmms_massfrac": 0, "angelou_lithium_ms_massfrac": 0, "angelou_lithium_hg_massfrac": 0, "angelou_lithium_gb_massfrac": 0, "angelou_lithium_cheb_massfrac": 0, "angelou_lithium_eagb_massfrac": 0, "angelou_lithium_tpagb_massfrac": 0, "angelou_lithium_vrot_trigg": 0, "angelou_lithium_vrotfrac_trigg": 0, "keplerian": 0, "david_logging_funct": 0, "kind": [0, 7], "david": [0, 2, 7, 12, 16, 19, 23, 40], "david_tzo_log": 0, "tzo": 0, "david_ppisn_log": 0, "david_ppisn_single_log": 0, "underw": 0, "david_rlof_episode_log": 0, "episod": 0, "david_rlof_ensemble_log": 0, "ensembl": [0, 4, 7, 11, 22, 23, 24, 31, 35, 36, 39], "cf_amanda_log": 0, "amanda": 0, "float_overflow_check": 0, "check": [0, 6, 8, 13, 14, 15, 16, 19, 20, 21, 22, 26, 30, 31, 32, 34, 37, 41, 43], "stderr": [0, 22], "failur": [0, 20, 26], "save_pre_events_stardata": 0, "save": [0, 1, 6, 8, 9, 13, 14, 15, 16, 22, 26, 31, 32, 38], "copi": [0, 8, 14, 15, 22, 43], "stardata": [0, 1, 6, 8, 9, 12, 13, 14, 15, 16, 18, 19], "pre_events_stardata": 0, "disable_end_log": 0, "ensemble_filters_off": 0, "filter": [0, 2, 20], "ensemble_filter_": 0, "ensemble_macro": 0, "ensemble_legacy_ensembl": 0, "legaci": 0, "popul": [0, 3, 4, 7, 11, 23, 24, 40, 41], "legacy_yield": 0, "ensemble_def": 0, "defer": 0, "ensemble_dt": 0, "store": [0, 2, 4, 6, 8, 12, 13, 14, 15, 16, 20, 21, 22, 23, 31, 38, 40, 43], "ensemble_logdt": 0, "ensemble_startlogtim": 0, "logensembletim": 0, "storag": 0, "ensemble_logtim": 0, "act": [0, 14, 15, 16, 22], "linear": [0, 13, 14, 15, 22, 32, 38], "postagb_legacy_log": 0, "disc_legacy_log": 0, "emp_logg_maximum": 0, "logg": [0, 6], "emp": 0, "cemp_cfe_minimum": 0, "nemp_nfe_minimum": 0, "emp_minimum_ag": 0, "emp_feh_maximum": 0, "fe": 0, "cemp": 0, "nemp_cfe_minimum": 0, "nemp": 0, "thick_disc_start_ag": 0, "lookback": 0, "thick": 0, "13e3": 0, "thick_disc_end_ag": 0, "thick_disc_logg_min": 0, "thick_disc_logg_max": 0, "escape_veloc": 0, "construct": [0, 1, 6, 8, 12, 13, 14, 15, 17, 19, 22], "galact": [0, 38], "chemic": [0, 38], "gce": 0, "nucsyn_gce_outflow_check": 0, "1e9": 0, "escape_fract": 0, "colour_log": 0, "thelog": 0, "file_log": 0, "log_filenam": [0, 5, 12, 19, 41], "filenam": [0, 1, 3, 5, 12, 16, 20, 21, 22, 26, 30, 31, 37, 41], "dev": 0, "c_log": 0, "dat": [0, 16, 20], "log_arrow": 0, "add": [0, 2, 6, 8, 9, 12, 13, 14, 15, 16, 21, 22, 23, 25, 32, 35, 36, 38, 40], "arrow": 0, "stopfil": 0, "file": [0, 1, 3, 5, 7, 12, 16, 20, 21, 22, 23, 25, 26, 29, 30, 31, 34, 35, 37, 39, 40, 41], "stardata_dump_filenam": 0, "dump": [0, 3, 12, 21, 31], "stardata_load_filenam": 0, "load": [0, 1, 3, 6, 8, 9, 12, 13, 14, 15, 16, 19, 20, 21, 22, 25, 26, 27, 31, 35], "api_log_filename_prefix": [0, 5, 12, 17], "prefix": 0, "api": [0, 4, 20, 23, 26], "hrdiag_output": 0, "high": [0, 14, 15, 32], "hertzstrpung": 0, "russel": [0, 4, 23], "diagram": [0, 4, 23, 25], "hrdiag": 0, "internal_buff": 0, "buffer": [0, 31], "prior": [0, 6], "shouldn": [0, 20], "realli": [0, 6, 16, 21, 22, 34, 35], "plai": [0, 14, 15], "internal_buffering_off": 0, "internal_buffering_print": 0, "internal_buffering_stor": 0, "eccentric_rlof_model": 0, "rlof_eccentric_as_circular": 0, "force_corotation_of_primary_and_orbit": 0, "force_circularization_on_rlof": 0, "wtts_log": 0, "wtts2": 0, "fabian_imf_log_tim": 0, "fabian": 0, "imf": [0, 14, 15, 32], "fabian_imf_log": 0, "fabian_imf_log_timestep": 0, "displai": [0, 6, 8, 17], "test": [0, 12, 20, 22, 26, 29, 31], "dumpvers": 0, "short": [0, 6, 8, 13, 14, 15, 42], "version_onli": 0, "tides_diagnosis_log": 0, "mint_dir": 0, "mint_data_cleanup": 0, "incom": 0, "Will": [0, 20, 22, 41], "slower": 0, "few": [0, 8], "thing": [0, 3, 6, 7, 8, 13, 14, 15, 16, 19, 20, 21, 32, 41], "mint_ms_rejuven": 0, "rejuven": [0, 13], "mint_remesh": 0, "remesh": 0, "mint_use_zams_profil": 0, "profil": 0, "zam": [0, 4, 6, 7, 13, 32, 41, 43], "homogen": 0, "mint_fallback_to_test_data": 0, "test_data": 0, "fallback": 0, "unavail": 0, "mint_disable_grid_load_warn": 0, "explicitli": [0, 1], "miss": [0, 13, 14, 15, 20, 34], "much": [0, 6, 8, 13, 16, 19, 20, 28], "mint_kippenhahn": 0, "kippenhahn": 0, "mint_nshel": 0, "shell": [0, 20], "shellular": 0, "mint_maximum_nshel": 0, "mint_hard_max_nshel": 0, "1000": [0, 8, 22, 38], "mint_minimum_nshel": 0, "equal": [0, 2, 14, 15, 16, 20], "mint_hard_min_nshel": 0, "mint_kippenhahn_stellar_typ": 0, "selector": 0, "plot": [0, 6, 8, 12, 13, 14, 15, 17, 18, 19, 25], "mint_kippenhahn_companion_stellar_typ": 0, "mint_nuclear_burn": 0, "mint_minimum_shell_mass": 0, "mint_maximum_shell_mass": 0, "go": [0, 6, 11, 13, 16, 21, 23, 25, 40], "command": [0, 1, 16, 20, 21, 22, 23, 31, 40], "gogo": 0, "reset_star": 0, "reset": 0, "reset_stars_default": 0, "echo": 0, "execut": [0, 16, 22, 35], "noecho": 0, "deactiv": 0, "noechonow": 0, "bye": 0, "quit": [0, 6, 20, 32], "fin": 0, "reset_pref": 0, "prefer": [0, 21], "struct": [0, 9], "statu": [0, 1, 6, 8, 13, 14, 15, 16, 22, 26, 30, 31, 37], "handi": 0, "re": [0, 1, 6, 7, 8, 13, 14, 15, 17, 26, 34], "sampl": [0, 4, 13, 16, 32, 35, 38], "space": [0, 6, 13, 14, 15, 16, 31, 35, 38], "good": [0, 12, 13, 14, 15, 16, 22, 43], "statist": [0, 22, 30], "reason": [0, 14, 15], "tbse": 0, "pgo": 0, "random_system": 0, "etc": [0, 7, 12, 14, 15, 16, 20, 21, 22, 23, 25, 31, 32, 40, 41], "random_se": [0, 5, 12, 19], "seed": 0, "possibl": [0, 1, 2, 6, 12, 17, 20, 22, 23, 29, 32, 34, 40], "exactli": [0, 14, 15], "reproduc": 0, "involv": 0, "pseudorandom": 0, "random_systems_se": 0, "random_skip": 0, "skip": [0, 2, 6, 8, 13, 22], "idum": 0, "nb": 0, "pleas": [0, 6, 7, 13, 14, 15, 16, 20, 22, 23, 29, 40], "reverse_tim": 0, "To": [0, 7, 12, 13, 14, 15, 16, 22, 23, 31, 32, 40], "consid": [0, 1, 2, 13, 14, 15, 21, 22, 25, 33, 34, 38], "start_tim": [0, 22], "warmup_cpu": 0, "cpu": [0, 6, 8, 13, 14, 15, 16, 22, 28], "second": [0, 2, 8, 17, 20, 23, 25, 31, 32, 33, 40], "topic": 0, "argopt": 0, "help_al": 0, "list_arg": 0, "here": [1, 6, 7, 9, 12, 13, 14, 15, 17, 19, 20, 21, 22, 23, 25, 32, 40, 41], "user": [1, 9, 20, 21, 22, 23, 27, 32, 34, 40, 41], "binaryc": [1, 20, 41], "output": [1, 2, 3, 4, 5, 7, 9, 11, 12, 17, 18, 19, 20, 21, 22, 23, 25, 31, 39, 40, 41, 43], "runtim": [1, 22], "binarycpython": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43], "util": [1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 43], "autogen_c_logging_cod": [1, 9, 19], "logging_dict": 1, "verbos": [1, 6, 8, 12, 13, 14, 15, 16, 18, 20, 22, 23, 27, 31, 32, 33, 38, 40], "sourc": [1, 2, 3, 8, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 43], "auto": [1, 24], "printf": [1, 6, 8, 9, 12, 13, 14, 15, 16, 18, 19], "statement": [1, 9, 12, 13, 14, 15, 16, 17, 18, 19, 22], "input": [1, 2, 3, 7, 11, 12, 20, 21, 22, 23, 25, 27, 31, 32, 33, 34, 41, 43], "dictionari": [1, 2, 3, 4, 6, 8, 13, 14, 15, 16, 20, 21, 22, 25, 27, 28, 31, 32, 34, 35, 39, 42], "kei": [1, 2, 3, 6, 11, 12, 16, 17, 19, 20, 21, 22, 25, 29, 31, 32, 34, 35, 39], "header": [1, 6, 8, 9, 12, 13, 14, 15, 16, 19, 20], "line": [1, 5, 6, 8, 9, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 25, 31, 38, 40], "item": [1, 2, 6, 8, 13, 14, 15, 20], "paramet": [1, 2, 3, 4, 6, 7, 8, 9, 12, 13, 14, 15, 16, 20, 21, 22, 23, 25, 26, 29, 30, 31, 32, 34, 35, 37, 38, 39, 41, 43], "put": [1, 6, 8, 13, 14, 15, 16, 19, 20, 22, 25, 26, 34, 35, 36], "append": [1, 2, 6, 12, 13, 14, 15, 17], "exampl": [1, 2, 12, 20, 21, 32, 35, 38, 41], "look": [1, 3, 6, 8, 13, 14, 15, 16, 19, 23, 32, 40], "my_stellar_data": [1, 9, 16, 18, 19], "star": [1, 4, 5, 7, 8, 9, 11, 12, 13, 14, 17, 18, 19, 22, 23, 25, 30, 32, 37, 38, 40, 43], "dict": [1, 3, 5, 6, 12, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 26, 27, 29, 31, 32, 34, 39, 42], "binary_c": [1, 2, 3, 4, 6, 8, 13, 14, 15, 17, 20, 21, 22, 25, 29, 31, 32, 35, 39, 41], "sentenc": 1, "level": [1, 6, 20, 33], "return": [1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 19, 20, 21, 22, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 37, 38, 39, 41, 43], "str": [1, 2, 3, 5, 6, 16, 20, 21, 25, 31, 34, 35, 39], "binary_c_log_cod": [1, 9, 12, 18, 19], "termin": [1, 6, 9, 16, 23, 40], "primari": [1, 6, 8, 13, 14, 15, 16, 32, 35, 43], "stellar_typ": [1, 6, 9, 12, 13, 14, 15, 16, 23, 24, 25], "example_log_co": [1, 9], "30": [1, 5, 6, 8, 9, 12, 13, 14, 15, 16, 17, 19], "12e": [1, 6, 9, 12, 13, 14, 15, 16], "previous_stardata": [1, 8, 9, 12, 16], "kill": [1, 9, 16, 21], "dtm": [1, 9, 16], "exact": [1, 2, 22], "wrap": [1, 9, 20, 29], "logic": [1, 2, 9, 21, 22], "definit": [1, 13, 14, 15, 43], "share": [1, 12, 18, 19, 22, 31, 41], "binary_c_write_log_cod": 1, "write": [1, 5, 6, 7, 8, 9, 12, 13, 16, 18, 19, 20, 21, 22, 31, 34, 41], "target": [1, 34], "compile_shared_lib": 1, "sourcefile_nam": 1, "outfile_nam": 1, "name": [1, 2, 5, 6, 7, 8, 13, 14, 15, 16, 17, 19, 20, 22, 30, 31, 34, 35, 41, 42], "create_and_load_logging_funct": [1, 9, 19], "custom_logging_cod": [1, 9, 12, 16, 18, 19, 41], "custom_tmp_dir": 1, "ctype": 1, "unless": [1, 21, 22], "i": [1, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 20, 21, 22, 23, 26, 32, 35, 39, 40, 43], "recommend": [1, 4, 23, 40], "combin": [1, 2, 9, 20, 21, 22], "tupl": [1, 6, 20, 26, 31, 38], "memori": [1, 6, 7, 8, 9, 13, 15, 16, 19, 20, 21, 22, 31, 43], "address": [1, 7, 9, 22, 43], "capsul": [1, 7, 20], "from_binary_c_config": 1, "config_fil": 1, "binaryc_config": 1, "config": [1, 20, 22, 23, 40], "filepath": 1, "return_compilation_dict": 1, "inspir": [1, 25, 43], "binary_c_inline_config": 1, "perl": [1, 2, 13, 14, 15, 16, 30], "still": [1, 9, 17, 22, 23, 40, 43], "clean": [1, 6, 12, 14, 15, 21], "w": [1, 12, 16, 21, 31], "develop": 1, "redhat": 1, "com": [1, 20, 21, 23, 32, 40], "blog": 1, "linker": 1, "gcc": [1, 23, 40], "python": [2, 3, 4, 6, 8, 13, 14, 15, 20, 22, 29, 31, 32, 35], "class": [2, 3, 20, 23, 24], "autovivificationdict": 2, "autovivif": 2, "featur": [2, 4, 16, 23], "overrid": [2, 19, 22, 32, 35, 38], "__iadd__": 2, "oper": [2, 31], "doc": [2, 6, 13, 14, 15, 16, 20, 23, 34, 40], "refer": [2, 22, 31], "datamodel": 2, "html": [2, 6, 16, 23, 31, 40], "highlight": 2, "iadd": 2, "subdict": 2, "might": [2, 3, 8, 13, 16, 17, 20, 22, 23, 31, 40], "newdict": 2, "print": [2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 19, 20, 22, 26, 33, 34], "__getitem__": [2, 29], "getitem": 2, "autoviv": 2, "count_keys_recurs": 2, "input_dict": 2, "recurs": [2, 20], "count": [2, 5, 6, 19, 20, 22], "local_count": 2, "custom_sort_dict": 2, "order": [2, 4, 16, 20, 35], "ordereddict": 2, "find": [2, 5, 8, 16, 20, 22, 29, 34], "uniqu": [2, 19, 22], "sort": [2, 6, 13, 14, 15, 17, 20, 31], "Then": [2, 6, 20, 23, 40], "those": [2, 6, 8, 13, 14, 15, 16, 19, 21, 23, 32, 39, 40], "them": [2, 6, 7, 8, 16, 18, 19, 20, 21, 30, 31, 32, 34, 41], "directli": [2, 12, 22, 26, 31], "without": [2, 9, 12, 14, 15, 20, 22, 32], "filter_dict": 2, "arg_dict": [2, 20], "filter_list": 2, "out": [2, 3, 6, 8, 9, 13, 14, 15, 17, 20, 22, 23, 32, 34, 40], "filter_dict_through_valu": 2, "inspect_dict": 2, "indent": [2, 3, 12, 21, 31], "print_structur": 2, "inspect": [2, 12, 25], "nest": [2, 16, 35, 39], "content": [2, 3, 7, 20, 21, 26], "bool": [2, 16, 20, 21, 25, 31, 34, 35, 39], "except": [2, 5, 6, 7, 13, 14, 15, 16, 22, 25, 34], "keys_to_float": 2, "convert": [2, 3, 6, 8, 17, 20, 21, 31, 32, 38], "faster": [2, 13, 14, 15, 16], "recursive_change_key_to_float": 2, "convers": 2, "noth": [2, 22, 26, 27, 31], "els": [2, 5, 8, 20, 22], "new_dict": 2, "merge_dict": [2, 11], "dict_1": 2, "dict_2": 2, "behaviour": [2, 6, 13, 14, 15, 16, 23, 40, 41], "present": [2, 3, 6, 13, 14, 15, 16, 19, 21, 23, 31, 32, 40], "again": [2, 3, 6, 11, 12, 20, 22], "ad": [2, 4, 6, 8, 12, 31, 35], "opt": [2, 5, 7, 32], "OR": [2, 19], "ident": 2, "concaten": 2, "nonetyp": 2, "instanc": [2, 11, 12, 13, 14, 15, 16, 21, 32], "multiply_float_valu": 2, "multiply_values_dict": [2, 11], "over": [2, 6, 8, 11, 12, 13, 14, 15, 16, 20, 21, 31], "general_info": 2, "origin": [2, 17, 31], "union": [2, 16, 20, 32, 35, 38, 39, 43], "complex": [2, 8, 9, 18, 19, 22], "pass": [2, 7, 9, 12, 16, 17, 19, 20, 21, 22, 23, 25, 26, 27, 30, 31, 37, 38, 40, 41], "multiplied_dict": 2, "normalize_dict": 2, "result_dict": 2, "normalis": [2, 22, 32], "divid": 2, "term": 2, "design": [2, 21, 23, 25, 40], "normalized_dict": 2, "prepare_dict": 2, "global_dict": 2, "list_of_sub_kei": 2, "sure": [2, 12, 13, 14, 15, 16, 23, 26, 31, 32, 40, 41], "prepar": 2, "don": [2, 6, 20, 22, 26], "access": [2, 9, 12, 13, 14, 15, 16, 22, 26, 31], "come": [2, 10, 23, 38, 40], "empti": [2, 12, 30, 34, 37], "recursive_change_key_to_str": 2, "custom_format": [2, 20], "ll": [2, 9, 11, 14, 15, 17, 31], "set_opt": [2, 6, 8, 17], "newopt": [2, 32], "updat": [2, 14, 15, 16, 21, 23, 35, 40], "subtract_dict": 2, "subtract": 2, "numer": 2, "overlap": 2, "update_dict": [2, 11], "dict2": 2, "packag": [3, 7, 16, 20, 23, 35, 36, 37, 38, 40], "binarycdecod": 3, "object_hook": 3, "parse_float": 3, "parse_int": 3, "parse_const": 3, "strict": 3, "object_pairs_hook": 3, "jsondecod": 3, "decod": 3, "entri": [3, 20, 21], "binarycencod": 3, "skipkei": 3, "ensure_ascii": [3, 21, 31], "check_circular": 3, "allow_nan": 3, "sort_kei": [3, 31], "jsonencod": 3, "encod": [3, 16, 31], "attempt": [3, 20, 21], "o": [3, 20, 23, 32], "precis": 3, "json": [3, 7, 12, 16, 21, 22, 27, 31], "binaryc_json_seri": 3, "obj": [3, 20], "serialis": 3, "export": [3, 16, 20, 21, 23, 31, 40], "represent": [3, 16, 35], "themselv": [3, 32], "itself": [3, 6, 9, 12, 22, 23, 32, 40], "ensemble_compress": 3, "compress": [3, 31], "extens": [3, 7, 23, 24], "ensemble_file_typ": 3, "ensemble_set": 3, "parameter_nam": [3, 6, 7, 8, 11, 13, 14, 15, 16, 20, 35], "extract_ensemble_json_from_str": 3, "binary_c_output": 3, "extract": [3, 16], "ensemble_json": 3, "raw": [3, 7, 19, 20, 21, 22, 25, 39, 41], "pars": [3, 4, 6, 8, 12, 13, 14, 15, 16, 19, 20, 21, 25, 39, 41], "format_ensemble_result": 3, "ensemble_dictionari": 3, "step": [3, 6, 8, 9, 12, 13, 14, 15, 16, 25, 35, 38], "handle_ensemble_string_to_json": 3, "raw_output": 3, "deal": [3, 12], "creat": [3, 6, 8, 9, 12, 13, 14, 15, 16, 20, 21, 28, 31, 32, 35, 37], "wrapper": [3, 7, 9, 12, 21, 31, 33, 43], "easi": [3, 12, 23, 40], "cl": 3, "load_ensembl": 3, "convert_float_kei": 3, "select_kei": 3, "flush": [3, 21, 31], "ensemebl": 3, "even": [3, 11, 14, 15], "open_ensembl": 3, "utf": [3, 16, 31], "open": [3, 5, 12, 16, 19, 31], "read": [3, 4, 5, 12, 16, 19, 20, 22, 23, 31, 40], "decompress": 3, "explain": [4, 39], "repositori": 4, "last": [4, 14, 17, 19, 20, 32], "usecas": 4, "tutori": [4, 23, 40], "individu": [4, 13, 23, 40], "run_system_wrapp": [4, 5, 9, 18, 23, 24], "via": [4, 6, 7, 9, 13, 14, 15, 16, 21, 22, 25], "noteworthi": 4, "full": [4, 9, 17, 20, 22, 30, 37], "script": [4, 9, 20, 22, 23, 26, 30, 37, 40], "about": [4, 6, 8, 13, 14, 15, 16, 20, 21, 22, 26, 31, 34, 43], "modif": 4, "binari": [4, 7, 8, 12, 14, 15, 22, 23, 25, 32, 35, 40, 43], "introduc": 5, "notebook": [5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 23, 40], "import": [5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 35], "os": [5, 6, 8, 12, 13, 14, 15, 16, 17, 19, 20], "temp_dir": [5, 6, 8, 12, 14, 15, 16, 17, 20], "run_system": [5, 7, 9, 11, 12, 17, 18, 25, 41], "tmp_dir": [5, 6, 8, 12, 14, 15, 16, 17, 22, 35], "notebook_bhbh": 5, "log_fil": [5, 22], "60": [5, 13, 31], "m2": [5, 8, 9, 12, 13, 16, 19, 31, 32, 43], "k1": [5, 12, 19], "k2": [5, 12, 19], "sep": [5, 8, 12, 13, 16, 19, 31, 32, 43], "ecc": [5, 12, 16, 19, 31, 32], "r1": [5, 12, 19], "rol1": [5, 12, 19], "r2": [5, 12, 19], "rol2": [5, 12, 19], "30441": 5, "random_count": [5, 12, 19], "0000": [5, 12, 19], "000": [5, 12, 19], "00": [5, 12, 13, 16, 19], "1193": 5, "28": [5, 7, 8, 9, 12, 13], "792": 5, "6492": 5, "26": [5, 13], "756": 5, "off_m": [5, 12, 19], "type_chng": [5, 12, 19], "6588": 5, "687": [5, 8], "2135": 5, "972": 5, "3695": 5, "813": 5, "3967": 5, "827": 5, "randbuf": [5, 19], "14439": 5, "mer": 5, "354981": 5, "764989": 5, "550575": 5, "162006": 5, "78488": 5, "23513": 5, "gt": [5, 6, 7, 8, 9, 12, 14, 16, 17, 18, 19], "vk": [5, 19], "218": 5, "134": 5, "vr": [5, 19], "01791": 5, "phi": [5, 19], "101323": 5, "vn": [5, 19], "final": [5, 8, 13, 14, 15, 19], "runawai": [5, 19], "v": [5, 19, 23, 40], "114": 5, "552": 5, "184": 5, "683": 5, "18": [5, 13, 15, 17, 19], "7769": 5, "957894": 5, "max_tim": [5, 12, 19], "wide": [5, 13, 14, 15], "littl": [5, 6, 8, 13, 16, 17, 29], "40": [5, 8, 13, 14, 15], "35895": 5, "3101": 5, "48": [5, 13], "y": [5, 6, 17, 20, 21, 25, 26], "009": [5, 17], "beg_symb": 5, "3583": 5, "081": [5, 6], "35": [5, 8, 13, 32], "930": [5, 15], "3971": 5, "98": [5, 13, 15], "023": 5, "014": 5, "lock": [5, 31], "3928": [5, 19], "41": [5, 13], "632": [5, 13], "894": 5, "3995": 5, "1199": 5, "776": [5, 19], "5374": 5, "4219": 5, "27": [5, 8, 13, 16], "615": 5, "603": [5, 13], "5603": 5, "013": 5, "5403": 5, "157": 5, "151": 5, "5696": 5, "012": 5, "6475": 5, "763": [5, 32], "731": 5, "5791": 5, "19": [5, 8, 13, 16, 19], "010": 5, "011": 5, "6548": 5, "730": 5, "729": 5, "5794": 5, "203": 5, "6550": 5, "728": [5, 8], "225": 5, "inv": [5, 19], "6552": 5, "725": 5, "5795": 5, "246": 5, "6556": 5, "721": 5, "5796": 5, "282": 5, "6559": 5, "716": 5, "727": 5, "321": 5, "6571": 5, "691": [5, 8], "724": [5, 9], "5798": 5, "546": 5, "021": 5, "6649": 5, "502": 5, "5812": 5, "548": 5, "543": 5, "1021": 5, "167": [5, 13], "598": 5, "7342": 5, "36": [5, 8, 13], "588": 5, "574": 5, "2663": 5, "178": 5, "480": 5, "8828": 5, "57": [5, 6, 8, 13], "460": 5, "end_symb": 5, "2670": 5, "171": 5, "458": 5, "8837": 5, "58": [5, 13], "455": 5, "2671": 5, "454": 5, "8840": 5, "2672": 5, "170": 5, "450": 5, "453": 5, "2673": 5, "446": 5, "8843": 5, "452": 5, "2674": 5, "169": 5, "442": 5, "451": [5, 8], "2676": 5, "438": 5, "8846": 5, "2677": 5, "168": [5, 8], "435": 5, "448": 5, "2678": 5, "431": 5, "8848": 5, "447": 5, "2679": 5, "427": 5, "2680": 5, "424": [5, 6], "8851": 5, "445": 5, "2681": 5, "166": [5, 8], "420": 5, "444": [5, 19], "2682": 5, "417": 5, "8853": 5, "2683": 5, "165": 5, "413": [5, 6], "441": 5, "2684": 5, "410": [5, 19], "8856": 5, "440": 5, "2685": 5, "164": 5, "407": 5, "8855": 5, "439": 5, "2686": 5, "404": 5, "8858": 5, "437": [5, 13], "2687": 5, "163": [5, 8], "400": 5, "436": 5, "2688": 5, "397": 5, "8860": 5, "434": 5, "2689": 5, "162": 5, "394": 5, "433": 5, "2690": 5, "391": 5, "8862": 5, "432": 5, "2691": [5, 13], "161": 5, "388": 5, "430": 5, "2692": 5, "385": 5, "8864": 5, "429": [5, 13], "2693": 5, "382": 5, "2694": 5, "379": 5, "8867": 5, "425": 5, "2695": 5, "160": 5, "376": 5, "8866": 5, "2696": 5, "373": 5, "8869": 5, "422": 5, "2697": 5, "159": [5, 8], "370": 5, "8868": 5, "2698": 5, "368": 5, "8871": 5, "419": 5, "2699": 5, "158": 5, "365": 5, "8870": 5, "2700": 5, "362": 5, "8873": 5, "415": 5, "359": 5, "8872": 5, "2701": 5, "357": 5, "8875": 5, "411": 5, "2702": 5, "156": [5, 8, 19], "354": 5, "8874": 5, "409": 5, "2703": 5, "352": 5, "8877": 5, "2704": 5, "349": 5, "8876": 5, "405": 5, "2705": 5, "346": 5, "8878": 5, "403": 5, "2706": 5, "155": 5, "344": 5, "342": [5, 13], "8880": 5, "398": 5, "2707": 5, "154": 5, "339": 5, "396": 5, "2708": 5, "337": 5, "8882": 5, "393": 5, "2709": 5, "153": 5, "334": 5, "2710": 5, "332": 5, "8884": 5, "152": 5, "330": 5, "386": 5, "2711": 5, "327": 5, "8886": 5, "383": 5, "2712": 5, "325": 5, "380": 5, "2713": 5, "323": 5, "8887": 5, "377": 5, "2714": 5, "320": 5, "374": 5, "318": 5, "8889": 5, "371": 5, "2715": 5, "150": [5, 8, 13, 14, 15, 16], "316": [5, 8], "2716": 5, "314": 5, "8891": 5, "2717": 5, "149": 5, "312": [5, 6], "361": 5, "2718": 5, "310": 5, "8893": 5, "358": 5, "148": [5, 19], "308": 5, "8892": 5, "355": 5, "2719": 5, "306": 5, "8894": 5, "351": 5, "2720": 5, "147": 5, "304": 5, "347": 5, "2721": 5, "302": [5, 19], "8896": 5, "343": 5, "300": [5, 16, 38], "340": 5, "2722": 5, "298": 5, "8898": 5, "335": 5, "2723": 5, "146": 5, "296": 5, "8897": 5, "331": 5, "2724": 5, "294": [5, 6], "8899": 5, "145": 5, "292": 5, "2725": 5, "290": 5, "8901": 5, "2726": 5, "144": 5, "288": 5, "2727": 5, "286": 5, "8903": 5, "309": 5, "143": 5, "284": 5, "8902": 5, "2728": 5, "8904": 5, "59": [5, 6, 13], "299": [5, 16], "2729": 5, "142": 5, "281": [5, 43], "2730": 5, "279": 5, "8906": 5, "141": 5, "277": 5, "283": 5, "2731": 5, "275": 5, "8908": 5, "2732": 5, "140": 5, "274": 5, "8907": 5, "272": 5, "2733": [5, 13], "8909": 5, "266": 5, "2734": 5, "139": 5, "270": 5, "260": 5, "268": 5, "8911": 5, "253": 5, "2773": 5, "136": 5, "217": 5, "8934": 5, "020": 5, "2800": 5, "8949": 5, "3729": 5, "039": 5, "072": 5, "9043": 5, "3781": 5, "034": 5, "067": 5, "9047": 5, "501": 5, "045": 5, "102": 5, "91": [5, 8, 13], "69569": 5, "911093": 5, "184829": 5, "636985": 5, "611763": 5, "837816": 5, "0118": 5, "4101": 5, "183": 5, "098": [5, 6], "5462": 5, "26416": 5, "22543": 5, "192": 5, "531": [5, 16], "908": 5, "105": [5, 14, 15], "89": [5, 6, 13, 15, 16], "7432": 5, "187": 5, "589": 5, "90695": 5, "03221": 5, "104427": 5, "96112": 5, "511114": 5, "4046": 5, "586": 5, "776523": 5, "809662": 5, "448242": 5, "54439": 5, "0399": 5, "43173": 5, "384": 5, "535": 5, "4205": 5, "103702": 5, "582": 5, "106": [5, 16], "329": [5, 8], "8544": 5, "13796e": 5, "51": [5, 8, 13], "27569e": 5, "103": 5, "85406e": 5, "454268": 5, "let": [5, 8, 12, 13, 14, 15, 16, 17, 21], "bhbh": 5, "detector": 5, "found": [5, 6, 8, 13, 15, 16, 30, 32, 37], "def": [5, 6, 8, 12, 13, 14, 15, 16, 19], "vb": [5, 26, 29, 31, 38], "readlin": 5, "length": [5, 20], "len": [5, 6, 12, 16, 19], "stellar_type1": 5, "stellar_type2": 5, "rememb": [5, 6, 14, 15], "pop": [5, 9, 17, 29], "oop": 5, "unbound": 5, "bound": [5, 32, 38], "search_for_bhbh": 5, "maxcount": 5, "arg": [5, 7, 16, 20, 29, 32, 33], "39": [5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 17, 18], "851": 5, "873": 5, "510": 5, "265": 5, "301": 5, "45": [5, 6, 8, 13], "261": 5, "898": 5, "553": 5, "276": 5, "54": [5, 13], "122": 5, "69": [5, 13], "09": [5, 6, 8, 13], "239": 5, "231": 5, "49": [5, 6, 13], "44": [5, 13], "341": 5, "55": [5, 6, 8, 13, 15, 16, 32], "2421": 5, "28369": 5, "402": 5, "88": [5, 13], "213": 5, "128": 5, "399": 5, "22": [5, 13, 19], "921": 5, "24": [5, 8, 13], "1876": 5, "118": 5, "20447": 5, "29": [5, 8, 13, 22], "421": 5, "115": [5, 32], "52": [5, 6, 8, 13], "004": 5, "32": [5, 8, 13, 20, 22], "113": 5, "33": [5, 13], "196": 5, "73": [5, 13, 16], "97": [5, 13], "711": 5, "78": [5, 13], "37": [5, 8, 13], "857": 5, "207": 5, "96": [5, 6, 8, 13], "881": 5, "85": [5, 8, 13, 38], "875": 5, "43": [5, 13], "79": [5, 13], "640": [5, 13], "46": [5, 8, 13, 16], "47": [5, 8, 13], "95": [5, 13, 15], "19622": 5, "87": [5, 13], "117": 5, "81": [5, 8, 13], "53": [5, 6, 8, 13, 16], "706": 5, "241": 5, "67": [5, 13, 16], "56": [5, 8, 13], "803": 5, "2439": 5, "235": [5, 6], "82": [5, 13], "61": [5, 13, 16], "210": [5, 19], "12522": 5, "63": [5, 8, 13], "64": [5, 13], "65": [5, 13, 38], "285": 5, "66": [5, 13], "1360": 5, "68": [5, 8, 13, 16], "1398": 5, "70": [5, 8, 13, 32], "77": [5, 13, 15], "71": [5, 13], "72": [5, 13], "208": 5, "84": [5, 8, 13, 16], "254": 5, "74": [5, 13], "1882": 5, "76": [5, 13], "123": 5, "132": 5, "86": [5, 8, 13], "80": [5, 13, 32, 38], "83": [5, 8, 13], "240": 5, "129": 5, "127": 5, "93": [5, 13], "199": 5, "267": [5, 8], "18139": 5, "90": [5, 8, 13], "180": 5, "92": [5, 13], "94": [5, 6, 8, 13, 20], "1254": [5, 12], "172": 5, "557": 5, "99": [5, 13, 15], "3082": 5, "9548": 5, "32620": 5, "9310": 5, "60101": 5, "246604": 5, "283972": 5, "469524": 5, "55473": 5, "379292": 5, "38316": 5, "109679": 5, "0261496": 5, "4011": 5, "043": 5, "9308": 5, "107187": 5, "679223": 5, "238584": 5, "860402": 5, "891056": 5, "4186": 5, "59867": 5, "804961": 5, "0474572": 5, "4146": 5, "caus": [5, 13, 43], "former": 5, "unphys": [5, 8, 13], "5064": 5, "536": 5, "468": 5, "6493": 5, "53854": 5, "006": 5, "8674": 5, "840": 5, "505": 5, "3185": 5, "017": [5, 17], "8704": 5, "600": 5, "509": 5, "3192": 5, "592": 5, "418": 5, "8706": 5, "568": 5, "3193": 5, "496": 5, "8910": 5, "758": [5, 19], "3246": 5, "beg_rch": 5, "9650": 5, "495": 5, "571": 5, "3223": 5, "913": 5, "0585": 5, "961": 5, "3211": 5, "999": 5, "007": [5, 17], "end_rch": 5, "0649": 5, "747": 5, "479": 5, "3216": 5, "002": [5, 18, 19], "2967": 5, "576": 5, "392": [5, 19], "3429": 5, "beg_bss": 5, "2996": 5, "512": 5, "390": 5, "3462": 5, "59616": 5, "665406": 5, "861368": 5, "162038": 5, "282234": 5, "0511173": 5, "5117": 5, "7326": 5, "0717": 5, "32118": 5, "450629": 5, "3096": 5, "9074": 5, "493": 5, "3507": 5, "end_bss": 5, "9113": 5, "242": 5, "3529": 5, "223": 5, "9196": 5, "513": 5, "997": 5, "3591": 5, "221": 5, "9206": 5, "843": 5, "3599": 5, "9797": 5, "519": 5, "984": [5, 15], "4098": 5, "0512": 5, "528": 5, "256": [5, 6, 22], "4673": 5, "137": 5, "1012": 5, "742": 5, "5017": 5, "1130": 5, "245": 5, "5043": 5, "1471": 5, "485": 5, "5114": 5, "4877": 5, "885": 5, "6409": 5, "845641": 5, "27734": 5, "925761": 5, "145632": 5, "67179": 5, "4683": 5, "83672": 5, "1844": 5, "22098": 5, "787705": 5, "5164": 5, "oh": 5, "dear": 5, "secondari": [5, 6, 13, 32, 43], "wider": 5, "shorter": 5, "shrink": [5, 8], "best": [5, 21, 22], "acquir": 5, "closer": 5, "grvitation": 5, "0001": [5, 7, 43], "0102": 5, "622": 5, "3069": 5, "1851": [5, 13], "215": 5, "508": 5, "2266": 5, "879": 5, "945": 5, "60876": 5, "7617": 5, "018": 5, "7647": 5, "572": 5, "583": 5, "7721": 5, "633": 5, "7785": 5, "3100": [5, 13], "1326": 5, "305": 5, "695": 5, "2791": 5, "09665": 5, "qc": 5, "714712": 5, "st": 5, "3048": 5, "0276": 5, "2332": 5, "rc": [5, 6, 8, 13, 14, 15, 17, 25], "71818": 5, "6952": 5, "9757": 5, "comenv": [5, 8], "presc": 5, "m01": 5, "mc1": 5, "l1": 5, "44223e": 5, "rzam": [5, 43], "33552": 5, "convfrac": 5, "467851": 5, "lambda_ion": 5, "a_in": 5, "p_in": 5, "1708": 5, "jtot_in": 5, "09706e": 5, "jorb_in": 5, "96557e": 5, "eorbi": 5, "76416e": 5, "ebindi": 5, "30388e": 5, "sepf": 5, "7114": 5, "4385": 5, "9758": 5, "8926": 5, "mf1": 5, "5423": 5, "mf2": 5, "af": 5, "jf": 5, "72832e": 5, "jej": 5, "63566e": 5, "eorbf": 5, "39152e": 5, "eej": 5, "03996e": 5, "alpha_ej": 5, "0241634": 5, "1327": 5, "028": 5, "367": 5, "232": 5, "459": 5, "mstart": 5, "397754": 5, "3084": 5, "9071": 5, "46089": 5, "a_out": 5, "p_out": 5, "0152545": 5, "57093": 5, "jorb_out": 5, "6771": 5, "rl1": 5, "236": [5, 19], "rl2": 5, "459382": 5, "No": [5, 7, 16, 22, 23, 40], "9411": 5, "gyr": [5, 6, 8], "9452": 5, "934": 5, "70365": 5, "455552": 5, "66554": 5, "0303129": 5, "454409": 5, "106368": 5, "2147": 5, "612": [5, 13], "401": 5, "668328": 5, "0913095": 5, "387": 5, "9342": 5, "851646": 5, "360": 5, "844": [5, 6], "2823": 5, "1622": 5, "45534": 5, "9256": 5, "1973": 5, "126": 5, "1987": 5, "846": [5, 6], "4184": 5, "900": 5, "7052": 5, "131": 5, "7060": 5, "7527": 5, "852": 5, "046": 5, "356": 5, "7554": 5, "465": 5, "888": 5, "7557": 5, "328": 5, "051": [5, 6], "416": 5, "7572": 5, "618": 5, "234": [5, 8], "7669": 5, "375": 5, "7675": 5, "333": 5, "579": 5, "222": 5, "7779": 5, "541": 5, "991": 5, "7941": 5, "539": 5, "070": 5, "2191": 5, "2234": 5, "069": 5, "405577": 5, "425788": 5, "375537": 5, "574826": 5, "898786": 5, "6975": 5, "878": 5, "64724": 5, "150217": 5, "9445": 5, "368345": 5, "7093": 5, "1502": 5, "233": 5, "8377": 5, "3046": 5, "77416": 5, "7107": 5, "204": 5, "1822": 5, "949": 5, "1814": [5, 13], "784": 5, "1818": 5, "224": 5, "979": 5, "19097": 5, "112": 5, "84502": 5, "824494": 5, "0987206": 5, "883252": 5, "726002": 5, "995824": 5, "317": 5, "667": 5, "25694": 5, "46901": 5, "022": 5, "477791": 5, "781": 5, "206": [5, 17], "67059": 5, "826": 5, "6816": 5, "6008": 5, "592733": 5, "836": [5, 6], "121": 5, "4862": 5, "7418": 5, "7434": 5, "101": 5, "7455": 5, "870": 5, "7458": 5, "995": 5, "7459": 5, "055": 5, "577": 5, "7836": 5, "7852": 5, "252": 5, "8004": 5, "992": 5, "8194": 5, "024": 5, "9725": 5, "025": 5, "1124": 5, "825086": 5, "878253": 5, "783746": 5, "582318": 5, "354576": 5, "9794": 5, "994": 5, "969": 5, "22787": 5, "16539": 5, "9739": 5, "3518": 5, "953182": 5, "120": 5, "657": 5, "449": [5, 13], "20677": 5, "078": 5, "932": 5, "173": 5, "4710": 5, "11686": 5, "0165": 5, "contact": [5, 23, 40], "00288661": 5, "00242158": 5, "393886": 5, "981555": 5, "bh_bh": 5, "2033": 5, "16729": 5, "213854": 5, "coalesc": 5, "369": 5, "624": [5, 13], "133": [5, 16], "037": 5, "1824": 5, "935": 5, "608": [5, 13], "951": 5, "179": 5, "408": 5, "1828": 5, "909": 5, "3171": 5, "1823": 5, "943": 5, "619": [5, 13], "1826": 5, "925": 5, "587": [5, 15], "1829": 5, "903": 5, "348": [5, 8], "111": 5, "707": [5, 13], "34870": 5, "549": 5, "376059": 5, "365763": 5, "371625": 5, "728797": 5, "817432": 5, "220": 5, "905": 5, "13607": 5, "475287": 5, "5493": 5, "478315": 5, "672": 5, "4493": 5, "6989": 5, "923": 5, "786": 5, "7335": 5, "07": [5, 13, 14, 15, 19, 32, 38], "702": 5, "489": 5, "7424": 5, "901": 5, "7426": 5, "507": 5, "104": [5, 8], "591": 5, "7447": 5, "492": 5, "7451": 5, "869": 5, "971": 5, "895": 5, "7714": 5, "219": 5, "7727": 5, "108": 5, "7874": 5, "996": [5, 8], "990": 5, "8062": 5, "032": 5, "1830": 5, "48809": 5, "946468": 5, "0278672": 5, "850309": 5, "663251": 5, "8982": 5, "2583": 5, "498": 5, "16733": 5, "776263": 5, "212": 5, "7069": 5, "577826": 5, "107": 5, "238": 5, "189": 5, "7767": 5, "8073": 5, "887": 5, "066": 5, "982": 5, "81705": 5, "372": 5, "47534": 5, "705715": 5, "41996": 5, "33295": 5, "061141": 5, "825648": 5, "694": [5, 8, 13], "1877": 5, "07108": 5, "406": [5, 13, 16], "212034": 5, "7428": 5, "816": 5, "7430": 5, "922": 5, "7431": 5, "048": [5, 17, 19], "7437": 5, "7450": 5, "109": [5, 8], "491": 5, "7840": 5, "7856": 5, "250": 5, "8008": 5, "998": 5, "993": 5, "8205": 5, "9648": 5, "1135": 5, "364017": 5, "086004": 5, "422436": 5, "514898": 5, "872312": 5, "9816": 5, "3228": 5, "4809": 5, "0298011": 5, "274206": 5, "201": 5, "5885": 5, "82224": 5, "5175": 5, "3752": 5, "719058": 5, "7752": 5, "135": 5, "503": 5, "936": 5, "124": 5, "27025": 5, "22936": 5, "0572914": 5, "50682": 5, "836621": 5, "272943": 5, "792721": 5, "229": 5, "98081": 5, "471379": 5, "412": 5, "48046": 5, "658": 5, "457": 5, "637": [5, 13], "7453": 5, "768": 5, "077": 5, "7456": 5, "099": 5, "195": 5, "891": 5, "896": 5, "7764": 5, "593": 5, "604": 5, "7933": 5, "7934": 5, "8123": 5, "114678": 5, "647161": 5, "438686": 5, "118229": 5, "734534": 5, "9357": 5, "2873": 5, "243": [5, 6], "973": [5, 13], "61521": 5, "86878": 5, "7731": 5, "1237": 5, "956619": 5, "1468": 5, "7748": 5, "764": 5, "5528": 5, "8577": 5, "6765": 5, "194": 5, "5556": 5, "11376": 5, "0159": 5, "00303761": 5, "00254512": 5, "332091": 5, "703545": 5, "1586": 5, "342474": 5, "754": 5, "828": 5, "1812": 5, "036": 5, "66016": 5, "65976": 5, "420182": 5, "0755737": 5, "70235": 5, "0772781": 5, "362601": 5, "27829": 5, "0074": 5, "221832": 5, "7433": 5, "057": 5, "338": [5, 9], "899": 5, "293": [5, 16], "7927": 5, "174": 5, "7942": 5, "177": [5, 8], "478": 5, "8079": 5, "205": 5, "8268": 5, "1674": [5, 13], "0701913": 5, "836783": 5, "398419": 5, "681487": 5, "392487": 5, "0245": 5, "3559": 5, "653": 5, "957": 5, "46607": 5, "371458": 5, "8708": 5, "930943": 5, "7267": 5, "679": [5, 8], "703": 5, "601": 5, "3231": [5, 13], "1473": 5, "7324": 5, "12495": 5, "0182": 5, "00256681": 5, "00215604": 5, "249": 5, "738524": 5, "014832": 5, "2493": 5, "0931922": 5, "497294": 5, "542": 5, "259": 5, "475": 5, "595": 5, "1813": 5, "749": 5, "976": 5, "906": 5, "1838": 5, "664": 5, "033": 5, "941": [5, 8], "1099": 5, "989": 5, "1834": 5, "868": 5, "13267": 5, "19393": 5, "965167": 5, "024684": 5, "612281": 5, "280749": 5, "106545": 5, "669442": 5, "453932": 5, "952": 5, "6834": 5, "405068": 5, "739": 5, "4256": 5, "907": 5, "5366": 5, "959": 5, "737": 5, "673": 5, "7423": 5, "042": 5, "950": 5, "7427": 5, "202": 5, "7448": 5, "291": 5, "688": [5, 8], "570": 5, "005": 5, "7679": 5, "7691": 5, "944": 5, "7828": 5, "8013": 5, "035": 5, "1786": 5, "12741": 5, "970206": 5, "0192009": 5, "748832": 5, "618445": 5, "8683": 5, "2352": 5, "554": 5, "88581": 5, "520903": 5, "6764": 5, "2029": 5, "936762": 5, "182": 5, "366": 5, "774": [5, 12], "876": 5, "606": [5, 13], "414": 5, "757": [5, 8], "8805": 5, "11707": 5, "0166": 5, "00286793": 5, "00239838": 5, "090": 5, "985359": 5, "790941": 5, "0896": 5, "96963": 5, "3282": 5, "1923": 5, "181": 5, "797": 5, "57739": 5, "8140": 5, "645763": 5, "309361": 5, "0877243": 5, "351532": 5, "959422": 5, "659": 5, "02823": 5, "301483": 5, "280": 5, "674": [5, 16], "6181": 5, "698517": 5, "942": 5, "9927": [5, 12], "4807": 5, "58504": 5, "914": 5, "6905": 5, "4243": 5, "533": 5, "692": 5, "9264": 5, "798": 5, "854": 5, "271": 5, "761": 5, "097": 5, "7460": 5, "7472": 5, "806": 5, "7589": 5, "778": 5, "7595": 5, "856": [5, 13], "874": 5, "7689": 5, "981": 5, "7690": 5, "988": 5, "7863": 5, "059": 5, "9110": 5, "061": 5, "1514": 5, "1915": 5, "058": 5, "1920": 5, "784972": 5, "231704": 5, "950733": 5, "127442": 5, "999122": 5, "3758": 5, "8545": 5, "27767": 5, "84071": 5, "7969": 5, "952496": 5, "4957": 5, "26441": 5, "269": 5, "9351": 5, "243583": 5, "4666": 5, "11346": 5, "00300971": 5, "00247821": 5, "651": 5, "882017": 5, "700359": 5, "6514": 5, "40049": 5, "869544": 5, "1839": 5, "837": 5, "46220": 5, "787": 5, "82245": 5, "0531294": 5, "367268": 5, "912283": 5, "67023": 5, "0670735": 5, "315": 5, "815": 5, "421436": 5, "347405": 5, "7875": 5, "70005": 5, "6185": 5, "14212": 5, "481": 5, "84428": 5, "1847": 5, "4455": 5, "116": 5, "237": 5, "4540": 5, "765": 5, "777": 5, "6822": 5, "482": 5, "6831": 5, "7214": 5, "483": 5, "7219": 5, "7422": 5, "7449": 5, "893": 5, "534": 5, "216": 5, "053": 5, "7657": 5, "965": 5, "7781": 5, "7782": 5, "7962": 5, "040": 5, "8182": 5, "1695": 5, "3038": 5, "0714679": 5, "144141": 5, "608655": 5, "0385396": 5, "8372": 5, "2112": 5, "263": 5, "242151": 5, "219058": 5, "364": 5, "681": 5, "929": 5, "706483": 5, "2053": 5, "0641": 5, "353": 5, "4018": 5, "50537": 5, "7633": 5, "70054": 5, "524": 5, "60636": 5, "493975": 5, "450818": 5, "456519": 5, "938568": 5, "859977": 5, "671": 5, "40339": 5, "06987": 5, "5244": 5, "281309": 5, "4176": 5, "2834": 5, "2268": 5, "9537": 5, "7046": 5, "4755": 5, "228": 5, "295": 5, "7429": 5, "047": [5, 17], "661": 5, "529": 5, "084": 5, "986": [5, 8], "886": 5, "678": [5, 12], "7774": 5, "7789": 5, "7944": 5, "8141": 5, "027": 5, "498232": 5, "463455": 5, "752134": 5, "246625": 5, "139044": 5, "9423": 5, "2924": 5, "091": 5, "873639": 5, "531411": 5, "258": [5, 8], "872316": 5, "2224": 5, "2632": 5, "602": 5, "99203": 5, "1612": 5, "6094": 5, "8091": 5, "1825": 5, "67245": 5, "42052": 5, "938576": 5, "0316266": 5, "659526": 5, "104997": 5, "0823499": 5, "4867": 5, "51742": 5, "910817": 5, "3563": 5, "205353": 5, "4670": 5, "522": 5, "884": 5, "016": 5, "7438": 5, "7446": 5, "7452": 5, "805": 5, "7759": 5, "646": 5, "7928": 5, "8121": 5, "852712": 5, "248871": 5, "398927": 5, "135164": 5, "756795": 5, "9323": 5, "2846": 5, "809": [5, 6], "497": 5, "75508": 5, "817843": 5, "872": 5, "454013": 5, "1807": 5, "226": 5, "064": 5, "581": 5, "1816": 5, "648": 5, "1713": 5, "2081": 5, "2182": 5, "52058": 5, "1062": 5, "447918": 5, "0727584": 5, "93044": 5, "693944": 5, "896286": 5, "63153": 5, "39834": 5, "2216": 5, "743837": 5, "8917": 5, "0831": 5, "56865": 5, "4365": 5, "1314": 5, "5735": 5, "1753": 5, "3767": 5, "564": 5, "4192": 5, "865": 5, "7988": 5, "7997": 5, "7500": 5, "319": 5, "927": 5, "110": 5, "7530": 5, "7544": 5, "7644": 5, "611": [5, 13], "7650": 5, "7750": 5, "7907": 5, "8276": 5, "2156": 5, "068": 5, "608269": 5, "309461": 5, "901988": 5, "741346": 5, "691586": 5, "2063": 5, "9505": 5, "198": 5, "609": 5, "34537": 5, "503726": 5, "484": 5, "871": 5, "648549": 5, "37409": 5, "4013": 5, "828858": 5, "404962": 5, "512561": 5, "876382": 5, "718549": 5, "51478": 5, "852252": 5, "324": 5, "478807": 5, "130": 5, "311": 5, "821": 5, "890": 5, "7461": 5, "7960": 5, "186": [5, 13], "7975": 5, "736": [5, 8], "8104": 5, "8292": 5, "1784": 5, "1810": 5, "335642": 5, "191543": 5, "332777": 5, "97316": 5, "569581": 5, "0394": 5, "3674": 5, "076": 5, "57878": 5, "24165": 5, "624125": 5, "15907": 5, "802": 5, "9153": 5, "5619": 5, "675": 5, "504": 5, "850": 5, "1821": 5, "48336": 5, "16833": 5, "0910814": 5, "677623": 5, "874638": 5, "910419": 5, "847153": 5, "785": 5, "32282": 5, "962876": 5, "6179": 5, "18148": 5, "085": 5, "2816": 5, "596": [5, 13], "8523": 5, "8654": 5, "4797": 5, "954": 5, "464": 5, "855": 5, "962": 5, "214": 5, "644": [5, 13], "841": 5, "7803": 5, "7819": 5, "7973": 5, "7974": 5, "8163": 5, "1637": 5, "567303": 5, "507104": 5, "0563088": 5, "15884": 5, "9606": 5, "3065": 5, "248": [5, 8], "998023": 5, "09164": 5, "264": 5, "835": 5, "741448": 5, "1005": 5, "712": 5, "514": 5, "1035": 5, "8379": 5, "6797": 5, "1747": 5, "744": 5, "904": 5, "16837": 5, "471": 5, "20980": 5, "962482": 5, "401263": 5, "689781": 5, "991224": 5, "841718": 5, "28867": 5, "597": 5, "4714": 5, "43618": 5, "7823": 5, "1736": 5, "6604": 5, "6032": 5, "1715": 5, "4380": 5, "7425": 5, "662": 5, "381": 5, "931": 5, "7735": 5, "193": 5, "7883": 5, "8071": 5, "031": 5, "832981": 5, "367793": 5, "0528412": 5, "325965": 5, "929511": 5, "9038": 5, "2626": 5, "395": 5, "84029": 5, "355513": 5, "544": 5, "518851": 5, "0335": 5, "1485": 5, "273": 5, "2551": 5, "3959": 5, "01561": 5, "6745": 5, "926": 5, "64463": 5, "41238": 5, "0789786": 5, "697827": 5, "336295": 5, "0232618": 5, "981292": 5, "16564": 5, "26456": 5, "0013": 5, "476589": 5, "6379": 5, "2221": 5, "2802": 5, "70043": 5, "5904": 5, "567": 5, "4734": 5, "801": 5, "861": 5, "119": 5, "026": 5, "853": 5, "7751": 5, "138": 5, "740": 5, "7766": 5, "735": 5, "7919": 5, "8111": 5, "029": 5, "659743": 5, "318753": 5, "774969": 5, "492302": 5, "125968": 5, "9263": 5, "2801": 5, "227": 5, "791478": 5, "0153961": 5, "884461": 5, "2132": 5, "9779": 5, "7631": 5, "727196": 5, "3273": [5, 13], "019": 5, "2437": 5, "257": [5, 43], "54371": 5, "36403": 5, "82064": 5, "137502": 5, "935816": 5, "181795": 5, "297187": 5, "86728": 5, "689835": 5, "266485": 5, "960": 5, "7435": 5, "336": 5, "7457": 5, "759": 5, "494": 5, "7911": 5, "185": 5, "389": 5, "8067": 5, "8261": 5, "8435": 5, "1624": [5, 13], "209274": 5, "548864": 5, "783792": 5, "0770302": 5, "187694": 5, "0171": 5, "3502": 5, "17932": 5, "00832": 5, "230": 5, "915": [5, 8], "829668": 5, "38921": 5, "474": 5, "4369": 5, "251": [5, 8], "937": 5, "569": 5, "1819": 5, "1841": 5, "825": 5, "81562": 5, "32076": 5, "512617": 5, "817888": 5, "592309": 5, "885537": 5, "150681": 5, "946757": 5, "880528": 5, "795": [5, 32], "978": 5, "807361": 5, "289": 5, "13298": 5, "3771": 5, "3127": 5, "4218": 5, "4764": 5, "175": 5, "4387": 5, "811": 5, "807": 5, "6384": 5, "6388": 5, "631": [5, 8], "7292": 5, "7296": 5, "052": 5, "7635": 5, "511": 5, "7645": 5, "7765": 5, "7943": 5, "8339": 5, "1678": 5, "551072": 5, "608485": 5, "94464": 5, "243214": 5, "899464": 5, "8251": 5, "6515": 5, "539343": 5, "701": 5, "428699": 5, "8354": 5, "6212": 5, "0523": 5, "0208": 5, "8441": 5, "975": 5, "1811": 5, "562": 5, "1815": 5, "003": 5, "68746": 5, "19907": 5, "768655": 5, "0583837": 5, "429398": 5, "789859": 5, "720749": 5, "0295": 5, "5286": 5, "618382": 5, "205537": 5, "818": 5, "049": 5, "506": 5, "7882": 5, "7898": 5, "8044": 5, "8234": 5, "123048": 5, "307199": 5, "581558": 5, "0991059": 5, "0907537": 5, "0034": 5, "3396": 5, "570222": 5, "930282": 5, "209": 5, "670422": 5, "5221": 5, "57062": 5, "9036": 5, "9427": 5, "866": 5, "26051": 5, "82797": 5, "670413": 5, "0772021": 5, "151616": 5, "253705": 5, "893941": 5, "61679": 5, "515062": 5, "247": [5, 16], "5456": 5, "411151": 5, "616": [5, 13], "4304": 5, "5301": 5, "738": 5, "955": 5, "545": 5, "559": 5, "7677": 5, "566": [5, 19], "7825": 5, "7826": 5, "8010": 5, "1783": 5, "0283541": 5, "410828": 5, "567898": 5, "0335017": 5, "139732": 5, "8664": 5, "2338": 5, "197": 5, "677": 5, "877963": 5, "20265": 5, "4202": 5, "896196": 5, "3957": 5, "859": 5, "3025": 5, "5919": 5, "8605": 5, "8924": 5, "1088": 5, "5977": 5, "11506": 5, "0162": 5, "00296406": 5, "00247864": 5, "088": 5, "760064": 5, "126532": 5, "0877": 5, "795024": 5, "547002": 5, "490": 5, "947": 5, "832": 5, "974": 5, "75931": 5, "054": [5, 32], "19521": 5, "859753": 5, "23894": 5, "62549": 5, "77541": 5, "227249": 5, "42785": 5, "583346": 5, "0535": 5, "301129": 5, "262": 5, "892": 5, "629": [5, 13], "7440": 5, "7454": 5, "709": 5, "7827": 5, "7843": 5, "7996": 5, "8196": 5, "9902": 5, "0995": 5, "123635": 5, "335153": 5, "0259932": 5, "335847": 5, "105082": 5, "9743": 5, "3172": 5, "66025": 5, "33451": 5, "089": 5, "818294": 5, "689": 5, "6909": 5, "443": 5, "918543": 5, "4048": 5, "819": 5, "57538": 5, "46057": 5, "517454": 5, "325743": 5, "975864": 5, "00707417": 5, "739962": 5, "699": 5, "64932": 5, "40238": 5, "743": 5, "196177": 5, "963": [5, 8], "752": 5, "7920": 5, "7936": 5, "8074": 5, "8263": 5, "1670": 5, "973135": 5, "35487": 5, "431313": 5, "180453": 5, "831236": 5, "0214": 5, "3536": 5, "22281": 5, "693321": 5, "293512": 5, "605": 5, "2214": 5, "4507": 5, "6328": 5, "2618": 5, "1831": 5, "80402": 5, "565": 5, "79911": 5, "897612": 5, "696284": 5, "954848": 5, "0469097": 5, "915148": 5, "297": 5, "676": 5, "75005": 5, "13416": 5, "5652": 5, "448401": 5, "2057": 5, "9912": 5, "8493": 5, "2991": 5, "3757": 5, "5734": 5, "4321": 5, "6626": 5, "966": 5, "773": 5, "7384": 5, "902": 5, "558": 5, "530": 5, "7705": 5, "7718": 5, "7864": 5, "8050": 5, "263235": 5, "959492": 5, "915221": 5, "263079": 5, "72611": 5, "8912": 5, "2529": 5, "647": 5, "56228": 5, "493648": 5, "906299": 5, "8975": 5, "958": 5, "211": [5, 15], "746": 5, "0745": 5, "3243": 5, "686": 5, "2295": 5, "772": 5, "1781": 5, "64611": 5, "101955": 5, "189239": 5, "951597": 5, "398381": 5, "970505": 5, "917": 5, "09786": 5, "204663": 5, "9073": 5, "773166": 5, "6344": 5, "7315": 5, "62366": 5, "9105": 5, "2472": 5, "1575": 5, "079": [5, 6], "2914": 5, "4183": 5, "911": 5, "6749": 5, "6758": 5, "7536": 5, "638": [5, 13], "791": 5, "363": 5, "7564": 5, "7566": 5, "783": [5, 12], "7582": 5, "7678": 5, "7684": 5, "7790": 5, "065": 5, "985": 5, "071": 5, "2210": 5, "063": 5, "2261": 5, "12806": 5, "912327": 5, "690746": 5, "544482": 5, "155342": 5, "7717": 5, "6145": 5, "964": 5, "087": 5, "976041": 5, "0890815": 5, "951344": 5, "345": 5, "0907": 5, "463": 5, "3471": 5, "8972": 5, "12136": 5, "4981": 5, "812": 5, "5051": 5, "10782": 5, "015": 5, "00317508": 5, "00248439": 5, "600593": 5, "164714": 5, "1098": 5, "03493": 5, "202569": 5, "9339": 5, "938": 5, "1843": 5, "808": 5, "176": 5, "804": 5, "34175": 5, "953": 5, "78012": 5, "970783": 5, "761478": 5, "514087": 5, "706029": 5, "819715": 5, "15042": 5, "424712": 5, "656": 5, "528102": 5, "3719": 5, "2291": 5, "7184": 5, "0784": 5, "499": 5, "4357": 5, "378": 5, "1334": 5, "5324": 5, "5703": 5, "5712": 5, "775": [5, 19], "7354": 5, "7359": 5, "7419": 5, "7421": 5, "525": 5, "7620": 5, "883": 5, "7629": 5, "7741": 5, "7742": 5, "7918": 5, "8533": 5, "1610": 5, "179142": 5, "296544": 5, "237203": 5, "0156945": 5, "617224": 5, "8039": 5, "1854": 5, "87813": 5, "31958": 5, "585": 5, "464494": 5, "041": 5, "1633": 5, "68376": 5, "35051": 5, "566263": 5, "0474164": 5, "750149": 5, "0787729": 5, "537743": 5, "4162": 5, "37874": 5, "00182": 5, "306619": 5, "833": 5, "7462": 5, "814": 5, "7965": 5, "188": 5, "7980": 5, "191": 5, "782": 5, "8107": 5, "8108": 5, "8295": 5, "473762": 5, "894041": 5, "457987": 5, "738399": 5, "315223": 5, "0414": 5, "98061": 5, "497008": 5, "942854": 5, "7879": 5, "3589": 5, "8452": 5, "9595": 5, "1631": 5, "2305": 5, "39521": 5, "3419": 5, "32684": 5, "0533803": 5, "740494": 5, "317663": 5, "857699": 5, "38908": 5, "373282": 5, "1977": 5, "359784": 5, "326": 5, "4311": 5, "6474": 5, "750": [5, 6], "7380": 5, "056": [5, 17], "710": 5, "7709": 5, "7722": 5, "7868": 5, "8055": 5, "709965": 5, "260676": 5, "438861": 5, "0625403": 5, "328066": 5, "8941": 5, "2552": 5, "0613": 5, "06527": 5, "613167": 5, "36957": 5, "86334": 5, "215638": 5, "175004": 5, "932839": 5, "339587": 5, "829017": 5, "20887": 5, "326601": 5, "1104": 5, "38009": 5, "4438": 5, "6934": 5, "7322": 5, "700": [5, 19], "705": [5, 19], "830": [5, 19], "968": 5, "7720": 5, "7734": 5, "8076": 5, "124496": 5, "659469": 5, "0744186": 5, "706126": 5, "225135": 5, "9032": 5, "2622": [5, 13], "698": [5, 13], "41457": 5, "424924": 5, "9093": 5, "939378": 5, "3649": 5, "0868": 5, "634": [5, 13], "1108": 5, "5094": 5, "1392": 5, "7028": 5, "8881": 5, "12548": 5, "0184": 5, "00254115": 5, "0021272": 5, "826831": 5, "573703": 5, "60468": 5, "712414": 5, "517": 5, "817": [5, 12], "2157": 5, "1817": 5, "3008": 5, "1835": 5, "33719": 5, "81352": 5, "202196": 5, "453412": 5, "935069": 5, "374905": 5, "177551": 5, "987": 5, "11558": 5, "252877": 5, "1043": 5, "548589": 5, "4333": 5, "939": 5, "693": [5, 8], "970": 5, "526": 5, "7671": 5, "858": [5, 6], "7683": 5, "7817": 5, "8001": 5, "1775": 5, "912238": 5, "432729": 5, "998563": 5, "996798": 5, "823767": 5, "17588": 5, "45757": 5, "737411": 5, "573": 5, "5557": 5, "4102": 5, "3495": 5, "4945": 5, "2528": 5, "1808": 5, "2629": 5, "668": 5, "14764": 5, "77631": 5, "524755": 5, "166559": 5, "560118": 5, "228555": 5, "671001": 5, "21603": 5, "573874": 5, "469": 5, "418029": 5, "7967": 5, "7982": 5, "8109": 5, "8300": 5, "492707": 5, "583436": 5, "489077": 5, "445821": 5, "760389": 5, "0425": 5, "3698": 5, "77766": 5, "108571": 5, "426": 5, "615165": 5, "4788": 5, "8791": 5, "8271": 5, "88343": 5, "3264": 5, "1551": 5, "3154": 5, "062": 5, "1809": 5, "476": 5, "80954": 5, "62200": 5, "492484": 5, "298194": 5, "807403": 5, "382144": 5, "303533": 5, "90716": 5, "237951": 5, "847": 5, "539941": 5, "7439": 5, "822": 5, "7964": 5, "7979": 5, "8299": 5, "1792": 5, "623354": 5, "732953": 5, "639951": 5, "492818": 5, "729193": 5, "0411": 5, "3688": 5, "58166": 5, "0143651": 5, "828241": 5, "0791": 5, "755": 5, "7188": 5, "9851": 5, "5681": 5, "50652": 5, "4845": 5, "2371": 5, "4623": 5, "1827": 5, "61117": 5, "46822": 5, "585985": 5, "665969": 5, "751305": 5, "588396": 5, "216951": 5, "36314": 5, "177727": 5, "645286": 5, "095": 5, "094": [5, 8], "244": [5, 17], "799": 5, "7899": 5, "8095": 5, "030": 5, "888123": 5, "610285": 5, "315404": 5, "683467": 5, "789064": 5, "9139": 5, "075": 5, "682": [5, 8], "95783": 5, "375712": 5, "441158": 5, "532": 5, "1075": 5, "1449": [5, 13], "4509": 5, "6058": 5, "2878": 5, "33879": 5, "282623": 5, "472318": 5, "115722": 5, "685872": 5, "936532": 5, "278": 5, "88441": 5, "380887": 5, "36016": 5, "8992": 5, "3042": 5, "54027": 5, "7886": 5, "7958": 5, "8280": 5, "1729": 5, "433477": 5, "791274": 5, "413467": 5, "495924": 5, "706984": 5, "0319": 5, "3616": 5, "44211": 5, "0081514": 5, "916093": 5, "2021": [5, 6, 8, 13], "2927": 5, "766": 5, "0837": 5, "315903": 5, "8939": 5, "1858": 5, "5112": 5, "82486": 5, "619099": 5, "101038": 5, "840994": 5, "542419": 5, "00585495": 5, "0367878": 5, "0849409": 5, "0128": 5, "676215": 5, "518": 5, "477089": 5, "287": 5, "796": 5, "807331": 5, "6832": 5, "168972": 5, "6883": 5, "845": 5, "4961": 5, "594": 5, "8443": 5, "3034": 5, "4188": 5, "4197": 5, "086": 5, "7420": 5, "880": 5, "722": 5, "7598": 5, "7605": 5, "7706": 5, "7877": 5, "8935": 5, "1492": 5, "478253": 5, "42097": 5, "939376": 5, "196311": 5, "22518": 5, "7108": 5, "41485": 5, "652755": 5, "6161": 5, "469056": 5, "1833": 5, "25164": 5, "391798": 5, "388321": 5, "507443": 5, "208169": 5, "830541": 5, "21844": 5, "623232": 5, "402961": 5, "4501": 5, "428": 5, "779": 5, "7891": 5, "917439": 5, "479973": 5, "922199": 5, "806722": 5, "769195": 5, "9087": 5, "2664": 5, "092": 5, "660415": 5, "322": 5, "096": 5, "728237": 5, "313": 5, "867": 5, "977": 5, "36298": 5, "829": 5, "9189": 5, "308203": 5, "0621119": 5, "366259": 5, "740929": 5, "96161": 5, "04198": 5, "502775": 5, "8293": 5, "366392": 5, "8635": 5, "5612": 5, "3244": 5, "0719": 5, "51819": 5, "9214": 5, "946": 5, "7831": 5, "7848": 5, "8000": 5, "8195": 5, "9814": 5, "1082": 5, "171096": 5, "480045": 5, "808134": 5, "257278": 5, "205527": 5, "29136": 5, "50687": 5, "988755": 5, "8399": 5, "4108": 5, "4822": 5, "1796": 5, "2127": 5, "8961": 5, "8252": 5, "11239": 5, "0156": 5, "00311757": 5, "00261516": 5, "6429": 5, "208453": 5, "2008": 5, "30975": 5, "28984": 5, "2836": 5, "734": 5, "54307": 5, "77455": 5, "359881": 5, "325197": 5, "29816": 5, "208923": 5, "805733": 5, "06257": 5, "621375": 5, "0501": 5, "344772": 5, "4825": 5, "477": 5, "663": 5, "523": 5, "918": 5, "732": 5, "7773": [5, 19], "527": 5, "8138": 5, "953798": 5, "649327": 5, "456313": 5, "316118": 5, "249106": 5, "2921": 5, "56518": 5, "376604": 5, "8003": 5, "834303": 5, "2275": 5, "5593": 5, "2871": 5, "3978": 5, "8031": 5, "6562": 5, "11854": 5, "0169": 5, "00280816": 5, "00235329": 5, "559889": 5, "750806": 5, "71746": 5, "120066": 5, "8569": 5, "76134": 5, "0393944": 5, "347623": 5, "960734": 5, "465867": 5, "145296": 5, "555": [5, 8], "912919": 5, "0683196": 5, "623052": 5, "4379": 5, "0608": 5, "4622": 5, "5208": 5, "5217": 5, "7386": 5, "7390": 5, "912": 5, "578": 5, "983": 5, "7612": 5, "708": 5, "7728": 5, "7902": 5, "8694": 5, "1553": 5, "197729": 5, "670337": 5, "663976": 5, "124931": 5, "888613": 5, "1691": 5, "58332": 5, "84827": 5, "292641": 5, "7666": 5, "5738": 5, "9304": 5, "7626": 5, "39831": 5, "953738": 5, "256488": 5, "181244": 5, "00666382": 5, "226424": 5, "42266": 5, "40735": 5, "423": 5, "127957": 5, "590": 5, "7893": 5, "7909": 5, "8053": 5, "8250": 5, "8731": 5, "1527": 5, "00518983": 5, "196046": 5, "634261": 5, "332251": 5, "153852": 5, "0087": 5, "3438": 5, "628": [5, 13], "966681": 5, "342134": 5, "997751": 5, "3331": 5, "14112": 5, "7269": 5, "967": 5, "2075": 5, "11182": 5, "0155": 5, "00319483": 5, "00268237": 5, "202339": 5, "130725": 5, "2333": 5, "821367": 5, "637666": 5, "47419": 5, "56631": 5, "460081": 5, "633684": 5, "547729": 5, "321082": 5, "954624": 5, "99808": 5, "365949": 5, "4422": 5, "335428": 5, "6413": 5, "7413": 5, "8638": 5, "75921": 5, "9147": 5, "074": 5, "7844": 5, "7861": 5, "8012": 5, "8202": 5, "9557": 5, "1219": 5, "224923": 5, "249848": 5, "781046": 5, "0784722": 5, "326147": 5, "9842": 5, "3248": 5, "04924": 5, "00294": 5, "787368": 5, "83762": 5, "64359": 5, "776818": 5, "472105": 5, "63923": 5, "939757": 5, "21764": 5, "36747": 5, "07484": 5, "328512": 5, "7925": 5, "8065": 5, "8066": 5, "8254": 5, "8429": 5, "1618": 5, "942154": 5, "0122109": 5, "00984861": 5, "664546": 5, "183974": 5, "0164": 5, "3497": 5, "15594": 5, "335342": 5, "523561": 5, "1722": 5, "1571": 5, "44170": 5, "7319": 5, "174169": 5, "242309": 5, "841284": 5, "736112": 5, "693128": 5, "35505": 5, "491811": 5, "486": 5, "541792": 5, "704": 5, "684": [5, 8], "7990": 5, "8115": 5, "8303": 5, "675689": 5, "111583": 5, "429122": 5, "183048": 5, "0536749": 5, "0461": 5, "3726": [5, 13], "769": 5, "337249": 5, "686591": 5, "753": 5, "64265": 5, "9255": 5, "8585": 5, "924": 5, "92382": 5, "5775": 5, "20938": 5, "4872": 5, "697": 5, "64137": 5, "63818": 5, "295543": 5, "0290733": 5, "983229": 5, "514916": 5, "177444": 5, "11491": 5, "0298364": 5, "9046": 5, "315124": 5, "303": 5, "4454": 5, "538": 5, "933": 5, "823": 5, "838": [5, 6], "669": 5, "7745": 5, "7912": 5, "8101": 5, "752438": 5, "590877": 5, "920832": 5, "48926": 5, "135101": 5, "2767": 5, "767": 5, "848866": 5, "0214824": 5, "97797": 5, "10877": 5, "44558": 5, "1967": 5, "16265": 5, "5333": 5, "1663": 5, "1845": 5, "21824": 5, "15186": 5, "618705": 5, "0958704": 5, "380393": 5, "596161": 5, "941478": 5, "91548": 5, "193528": 5, "2961": 5, "584622": 5, "1204": [5, 19], "0187": 5, "617": [5, 13], "2044": 5, "51809": 5, "3017": 5, "4330": 5, "1178": 5, "5089": 5, "956": 5, "5532": 5, "7365": 5, "7370": 5, "561": 5, "7736": 5, "7737": 5, "7913": 5, "8573": 5, "1606": 5, "86323": 5, "0440989": 5, "389749": 5, "19366": 5, "310029": 5, "1804": 5, "2413": 5, "94797": 5, "659448": 5, "245223": 5, "1806": 5, "4076": 5, "36323": 5, "347169": 5, "666661": 5, "916207": 5, "695505": 5, "213396": 5, "34081": 5, "401728": 5, "611785": 5, "7757": 5, "7772": 5, "670": 5, "7926": 5, "725718": 5, "420316": 5, "312637": 5, "321643": 5, "755323": 5, "9309": 5, "2835": 5, "74583": 5, "364747": 5, "766094": 5, "919": 5, "916": 5, "2898": 5, "42362": 5, "18108": 5, "785539": 5, "0547419": 5, "829757": 5, "994118": 5, "162941": 5, "02379": 5, "41726": 5, "4865": 5, "824848": 5, "622494": 5, "9859": 5, "7282": 5, "8155": 5, "1379": 5, "1517": 5, "1521": 5, "4182": 5, "7761": 5, "745": 5, "7792": 5, "7795": 5, "7813": 5, "7901": 5, "8048": 5, "8200": 5, "9253": 5, "2514": 5, "2819": 5, "770532": 5, "458064": 5, "288353": 5, "635703": 5, "971941": 5, "9179": 5, "10689": 5, "274854": 5, "470": 5, "4959": 5, "465133": 5, "7085": 5, "6885": 5, "1498": 5, "6674": 5, "31408": 5, "6908": 5, "645": [5, 13, 19], "6747": 5, "65262": 5, "633148": 5, "26637": 5, "057949": 5, "676181": 5, "732983": 5, "614": [5, 13], "60547": 5, "360093": 5, "382472": 5, "7903": 5, "8047": 5, "8245": 5, "8813": 5, "1478": 5, "912289": 5, "389208": 5, "840796": 5, "834483": 5, "0055": 5, "3412": 5, "732818": 5, "791991": 5, "72764": 5, "44852": 5, "646273": 5, "2556": 5, "70429": 5, "245209": 5, "792744": 5, "98096": 5, "534699": 5, "9471": 5, "317921": 5, "7806": 5, "8151": 5, "502451": 5, "121263": 5, "690203": 5, "229591": 5, "829726": 5, "9524": 5, "3002": 5, "21333": 5, "57141": 5, "421365": 5, "789": 5, "1306": 5, "21043": 5, "79412": 5, "055188": 5, "239704": 5, "41862": 5, "0131145": 5, "261343": 5, "64207": 5, "34126": 5, "153329": 5, "7436": 5, "7916": 5, "8058": 5, "8247": 5, "8596": 5, "1567": 5, "392194": 5, "816958": 5, "606169": 5, "906059": 5, "754141": 5, "3461": 5, "350": [5, 13], "947774": 5, "865806": 5, "863": [5, 8], "3963": 5, "4752": 5, "6579": 5, "6215": 5, "2477": [5, 13], "72983": 5, "105704": 5, "115297": 5, "826771": 5, "681473": 5, "713946": 5, "48586": 5, "371427": 5, "305334": 5, "748": [5, 19], "8059": 5, "8060": 5, "8249": 5, "8598": 5, "1569": 5, "168558": 5, "82325": 5, "838423": 5, "947719": 5, "637754": 5, "3469": 5, "00712": 5, "10941": 5, "111023": 5, "5358": 5, "3448": 5, "877": 5, "79264": 5, "70052": 5, "421475": 5, "12974": 5, "216067": 5, "0727126": 5, "806431": 5, "06696": 5, "02473": 5, "129879": 5, "6489": 5, "551": [5, 6], "7210": 5, "575": 5, "044": 5, "9900": 5, "0993": 5, "645339": 5, "239197": 5, "451732": 5, "787102": 5, "172014": 5, "9749": 5, "3176": 5, "0808": 5, "611632": 5, "971686": 5, "9869": 5, "4773": 5, "6225": 5, "3368": 5, "9610": 5, "11802": 5, "0168": 5, "00283345": 5, "00237669": 5, "48749": 5, "764629": 5, "8043": 5, "0250231": 5, "55982": 5, "34018": 5, "216496": 5, "518397": 5, "821301": 5, "789188": 5, "814387": 5, "889": 5, "11695": 5, "616737": 5, "6182": 5, "492242": 5, "4588": 5, "7743": 5, "920": 5, "8105": 5, "453348": 5, "9148": 5, "661725": 5, "141361": 5, "743118": 5, "9203": 5, "2754": 5, "66915": 5, "799889": 5, "757025": 5, "2881": 5, "9057": 5, "7537": 5, "10522": 5, "659581": 5, "610184": 5, "685255": 5, "768339": 5, "230955": 5, "45114": 5, "566495": 5, "54949": 5, "7845": 5, "9561": 5, "1222": 5, "132057": 5, "274445": 5, "86794": 5, "353432": 5, "774954": 5, "9841": 5, "3247": 5, "696": 5, "86918": 5, "297506": 5, "622081": 5, "24098": 5, "22036": 5, "995687": 5, "502841": 5, "600258": 5, "531293": 5, "00730797": 5, "0459174": 5, "0626266": 5, "523485": 5, "659393": 5, "8678": 5, "146844": 5, "7659": 5, "488": 5, "7842": 5, "7858": 5, "8009": 5, "8199": 5, "9598": 5, "1173": 5, "184464": 5, "215504": 5, "314533": 5, "333032": 5, "235464": 5, "9825": 5, "3235": 5, "47946": 5, "340477": 5, "545743": 5, "72617": 5, "83843": 5, "482668": 5, "103789": 5, "125553": 5, "477535": 5, "786062": 5, "93898": 5, "0449442": 5, "256783": 5, "626": [5, 13], "7797": 5, "7968": 5, "8158": 5, "854649": 5, "895821": 5, "257437": 5, "92995": 5, "671551": 5, "9573": 5, "21948": 5, "03507": 5, "613": [5, 13], "230102": 5, "9127": 5, "4229": 5, "4251": 5, "4949": 5, "639": [5, 13, 19], "839": 5, "462": [5, 19], "1560": 5, "21927": 5, "69808": 5, "280723": 5, "418757": 5, "552711": 5, "793832": 5, "244645": 5, "53715": 5, "628169": 5, "414875": 5, "7871": 5, "7887": 5, "8034": 5, "8224": 5, "9098": 5, "1415": 5, "496312": 5, "075416": 5, "7607": 5, "125886": 5, "290684": 5, "9977": 5, "3352": 5, "2613": 5, "82642": 5, "845387": 5, "32631": 5, "1846": 5, "788": 5, "77624": 5, "77505": 5, "50973": 5, "0448877": 5, "0251003": 5, "655371": 5, "876084": 5, "5046": 5, "315973": 5, "59429": 5, "4433": 5, "0722": 5, "082": 5, "4759": 5, "948": 5, "5309": 5, "5317": 5, "7381": 5, "7385": 5, "008": 5, "7613": 5, "7622": 5, "7730": 5, "7905": 5, "8653": 5, "1599": 5, "435809": 5, "148721": 5, "45889": 5, "674645": 5, "910981": 5, "72386": 5, "356812": 5, "0878": 5, "187993": 5, "9603": 5, "5982": 5, "2406": 5, "02786": 5, "math": [6, 8, 13, 14, 15, 16, 17, 35, 38], "matplotlib": [6, 8, 14, 15, 17, 19, 25], "pyplot": [6, 8, 14, 15, 17, 19], "plt": [6, 8, 14, 15, 17, 19], "notebook_hrd": 6, "our": [6, 8, 13, 14, 15, 22, 23, 32, 40], "mathrm": [6, 8, 13, 14, 15], "univers": [6, 8, 22], "These": [6, 7, 13, 14, 15, 16, 20, 22, 25, 26], "rough": 6, "real": [6, 13, 16, 35], "finit": [6, 8, 13, 14, 15], "ago": 6, "cannot": [6, 9, 16, 29, 31, 34], "geq": 6, "_": [6, 8, 13, 14, 15, 22, 34], "odot": [6, 8, 19], "through": [6, 7, 11, 12, 13, 14, 15, 16, 25, 26, 35, 41], "studi": [6, 23, 40], "leq": 6, "bse_opt": [6, 8, 13, 14, 15, 16, 21, 38], "grid_opt": [6, 8, 12, 13, 14, 15, 16, 21, 26, 29, 30, 31, 35, 36, 37, 38], "custom_opt": [6, 12, 13, 14, 15, 16, 21, 31], "physic": [6, 13, 14, 15, 16, 22], "13700": [6, 8], "nine": 6, "distribution_funct": [6, 8, 13, 14, 15, 16, 21, 23, 24], "massrang": [6, 8, 13, 14, 15], "add_grid_vari": [6, 8, 13, 14, 15, 16, 35], "longnam": [6, 8, 13, 14, 15, 16, 35], "valuerang": [6, 8, 13, 14, 15, 16, 35], "samplerfunc": [6, 8, 13, 14, 15, 16, 22, 35, 38], "const": [6, 8, 13, 14, 15], "probdist": [6, 8, 13, 14, 15, 16, 35], "dprob": [6, 8, 14, 15], "dm1": [6, 14, 15], "care": [6, 13, 14, 15, 22], "dphasevol": [6, 8, 13, 14, 15, 16, 35], "dm_1": [6, 14, 15], "condit": [6, 8, 9, 13, 14, 15, 16, 18, 19, 35], "impos": [6, 8, 13, 14, 15, 16], "mostli": [6, 8, 13, 14, 15, 16, 19, 20, 22, 25, 34, 41], "yourself": [6, 8, 13, 14, 15, 16, 25], "gridtyp": [6, 8, 16, 35], "precod": [6, 8, 13, 14, 15, 16, 35], "postcod": [6, 8, 16, 35], "branchpoint": [6, 8, 16, 35], "branchcod": [6, 8, 16, 35], "topcod": [6, 8, 16, 35], "bottomcod": [6, 8, 16, 35], "grid_variable_numb": [6, 8, 35], "asymptot": 6, "made": [6, 26], "bit": [6, 13], "messi": 6, "avoid": [6, 7, 8], "track": [6, 22, 25], "custom_logging_stat": [6, 8, 13, 14, 15], "foreach_star": [6, 13], "outermost_core_mass": 6, "doubl": [6, 9, 16, 20], "logteff": 6, "teff_from_star_struct": 6, "logl": 6, "loggrav": 6, "tini": 6, "gravitational_const": 6, "m_sun": 6, "pow2": 6, "r_sun": 6, "starnum": [6, 13], "zero_ag": [6, 9, 12, 13, 14, 15, 16], "c_logging_cod": [6, 8, 9, 12, 13, 14, 15, 16, 22], "lt": [6, 7, 8, 12, 14, 16, 17, 18], "amp": [6, 8], "catch": [6, 8, 12, 13, 14, 15, 16, 19, 20, 22], "doesn": [6, 22], "associ": [6, 8, 13, 14, 15, 30, 37], "datalinedict": [6, 8, 13, 14, 15, 20], "parse_funct": [6, 8, 12, 13, 14, 15, 16, 21, 22, 41], "self": [6, 8, 12, 13, 14, 15, 16, 21, 22, 26, 29, 30, 31, 32, 35, 37, 38, 39], "zams_mass": [6, 13, 14, 15, 16], "loop": [6, 8, 12, 13, 14, 15, 16, 31, 35], "splitlin": [6, 7, 8, 9, 12, 13, 14, 15, 16, 17], "search": [6, 13, 17, 23], "nstar": [6, 13], "group": [6, 13, 17, 39], "linedata": [6, 8, 13, 14, 15], "setup": [6, 16, 23, 40, 41], "grid_result": [6, 8, 13, 14, 15, 22], "results_dictionari": [6, 8, 13, 14, 15], "0x14bf2250fdc0": 6, "configur": [6, 11, 12, 13, 14, 15, 16, 19, 22, 27, 32], "part": [6, 7, 12, 13, 14, 15, 16, 19, 21, 30, 32, 35, 37, 43], "straightforward": [6, 13, 14, 15, 16], "num_cor": [6, 8, 13, 14, 15, 16, 22], "lot": [6, 13, 14, 15, 16, 17, 22, 39, 41], "There": [6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 19, 21, 22, 23, 25, 32, 34, 40], "ri0005": [6, 16, 23, 40], "surrei": [6, 16, 23, 40], "ac": [6, 16, 23, 40], "uk": [6, 16, 23, 40], "grid_options_descript": [6, 16, 34], "thread": [6, 8, 13, 14, 15, 20, 22, 33], "suffici": 6, "crunch": [6, 8, 13, 14, 15], "analyt": [6, 8, 13, 14, 15, 16, 21, 23, 24], "dry": [6, 8, 13, 15, 16, 22, 35], "starcount": [6, 8, 13, 15, 16], "binary_c_python": [6, 7, 8, 12, 13, 14, 15, 16, 20], "binary_c_grid_8a7d52edc59346ce991063d9e05e9ba7": 6, "py": [6, 8, 13, 14, 15, 16, 17, 22, 23, 29, 40], "dry_run": [6, 8, 13, 16], "symlink": [6, 8, 13, 16], "binary_c_grid": [6, 8, 13, 16], "latest0": [6, 8, 13], "mainprocess": [6, 8, 13], "system_queue_fil": [6, 8, 13], "processor": [6, 8, 13], "latest1": [6, 8, 13], "signal": [6, 8, 13, 22], "800": 6, "finish": [6, 8, 13, 15, 16, 20, 25, 31], "free": [6, 8, 13], "01t09": [6, 8, 13], "838411": 6, "802706": 6, "ran": [6, 8, 13, 22], "had": [6, 8, 13, 14, 15, 21], "queue": [6, 8, 13, 22, 26, 30], "output_dict": [6, 8, 12, 13], "8a7d52edc59346ce991063d9e05e9ba7": 6, "took": [6, 8, 13, 15, 16, 19], "mb": [6, 8, 13, 15, 16, 20, 22], "were": [6, 8, 13, 15, 16, 20, 39], "dict_kei": [6, 11, 12], "complet": [6, 8, 13, 14, 15, 16], "technic": [6, 8, 9, 13, 14, 15, 16], "population_nam": [6, 8, 13, 15], "evolution_typ": [6, 8, 13, 15, 16, 22], "failed_count": [6, 8, 13, 15, 16], "failed_prob": [6, 8, 13, 15, 16], "failed_systems_error_cod": [6, 8, 13, 15, 16], "errors_exceed": [6, 8, 13, 15, 16], "errors_found": [6, 8, 13, 15, 16], "total_prob": [6, 8, 13, 14, 15, 16], "total_count": [6, 8, 13, 15, 16], "start_timestamp": [6, 8, 13, 15, 16], "1635760192": 6, "8124797": 6, "end_timestamp": [6, 8, 13, 15, 16], "1635760194": 6, "0176575": 6, "total_mass_run": [6, 8, 13, 15, 16], "total_probability_weighted_mass_run": [6, 8, 13, 15, 16], "zero_prob_stars_skip": [6, 8, 13, 15, 16], "seaborn": [6, 8, 13, 14, 15, 17], "panda": [6, 8, 12, 13, 14, 15, 17, 18, 19, 20, 25], "pd": [6, 8, 12, 13, 14, 15, 17, 18, 19], "max_row": [6, 8, 17], "max_column": [6, 8, 17], "pad_output_distribut": [6, 8, 13, 14, 15, 20], "figur": [6, 8, 13, 14, 15, 17, 25], "figsiz": [6, 8, 13, 14, 15, 17, 19], "set_context": [6, 8, 13, 14, 15, 17], "font_scal": [6, 8, 13, 14, 15, 17], "linewidth": [6, 8, 13, 14, 15, 17], "datafram": [6, 8, 12, 13, 14, 15, 17, 18, 19, 25], "column": [6, 8, 12, 16, 17, 19, 25], "lineplot": [6, 8, 13, 14, 15, 17], "estim": [6, 17, 20, 22], "label": [6, 19, 32], "text": [6, 8, 17, 20, 34], "invert_xaxi": 6, "set_xlabel": [6, 8, 13, 14, 15, 17, 19], "log_": [6, 8, 13, 14, 15], "t_": 6, "eff": 6, "set_ylabel": [6, 8, 13, 14, 15, 17, 19], "distanc": [6, 17], "rerun": [6, 22], "At": [6, 16], "expect": [6, 7, 8, 13, 14, 15, 22, 23, 40], "begin": 6, "shortli": 6, "rsun": [6, 25], "alreadi": [6, 16, 17, 26, 31, 35], "Not": [6, 8], "binary_c_grid_f4e5925effeb42e69b5be956f400ae41": 6, "latest2": [6, 16], "latest3": 6, "093": [6, 17], "081024": 6, "246671": 6, "f4e5925effeb42e69b5be956f400ae41": 6, "suddenli": 6, "smooth": [6, 14, 15], "binary_c_grid_26171201413c43f5b91552a374879940": 6, "latest4": 6, "latest5": 6, "846045": 6, "416141": 6, "26171201413c43f5b91552a374879940": 6, "jerki": 6, "most": [6, 7, 8, 14, 15, 17, 20, 23, 40], "strong": 6, "rgb": 6, "tip": [6, 32], "proper": [6, 9, 34], "program": [6, 23, 40], "languag": 6, "sim": 6, "cours": [6, 25], "simpl": [6, 8, 13, 17], "introduct": 6, "haven": 6, "talk": 6, "produc": 6, "suffer": 6, "thermonuclear": 6, "luminosu": 6, "kilonova": 6, "interfac": [7, 17, 20, 23, 26, 40], "framework": [7, 23, 40], "sourcecod": [7, 9, 23, 40], "_binary_c_bind": [7, 9, 12, 17, 39, 43], "cell": [7, 13, 14, 15, 16], "free_persistent_data_memaddr_and_return_json_output": 7, "persistent_data": 7, "adress": [7, 9, 43], "persist": 7, "free_store_memaddr": 7, "memaddr": [7, 9], "return_arglin": 7, "return_help": 7, "info": [7, 11, 16, 20, 21, 23, 25, 39, 40], "return_help_al": [7, 20], "overview": 7, "categor": 7, "section": [7, 16, 20, 23, 32, 40], "return_maximum_mass_ratio_for_rlof": [7, 43], "argstr": [7, 9, 12, 17, 19], "store_capsul": 7, "unction": 7, "return_minimum_orbit_for_rlof": [7, 43], "return_persistent_data_memaddr": 7, "run_popul": 7, "return_store_memaddr": 7, "return_version_info": [7, 39], "abl": 7, "situat": 7, "slightli": 7, "custom_logging_func_memaddr": [7, 9, 22], "store_memaddr": [7, 43], "write_logfil": 7, "test_func": 7, "snippet": [7, 12], "reliabl": 7, "dont": [7, 19], "home": 7, "pyenv": [7, 23, 40], "binarycpython3": 7, "lib": [7, 12, 18, 19, 23, 40], "python3": [7, 23, 40], "site": 7, "cpython": 7, "x86_64": 7, "linux": 7, "gnu": 7, "categori": [7, 16], "creation": 7, "alloc": [7, 38], "written": [7, 12, 16, 22, 31, 34, 35, 41], "4500": 7, "0x7fc1f0c3ff00": 7, "single_star_lifetim": [7, 9, 12], "4838": [7, 9, 12], "unpars": 7, "join": [7, 9, 12, 16, 19, 22, 26], "abridg": [7, 9, 16], "algorithm": [7, 23], "__arg_begin": 7, "lastli": [7, 12], "00632092": 7, "0141": 7, "alter": [8, 13, 35], "intermedi": 8, "notebook_comenv": 8, "alpha_": 8, "demonstr": 8, "keep": [8, 16, 31, 33], "log_dt": [8, 22], "focu": 8, "imposs": 8, "logperrang": [8, 13], "lnm1": [8, 13, 14, 15, 16], "min": [8, 9, 13, 14, 15, 16, 32], "exp": [8, 13, 14, 15, 16, 35], "three_part_powerlaw": [8, 13, 14, 15, 16, 32], "dlnm1": [8, 13, 16], "flatsect": [8, 13, 16, 32], "height": [8, 13, 16, 32], "dq": [8, 13, 16], "log10per": [8, 13, 16], "calc_sep_from_period": [8, 13, 16, 43], "sep_min": [8, 13, 16], "sep_max": [8, 13, 16], "sana12": [8, 13, 16, 32], "dlog10per": [8, 13, 16], "centr": [8, 16, 35], "nsep": 8, "nsep_min": 8, "nsep_max": 8, "comenv_count": 8, "proport": 8, "previou": [8, 14, 15, 20, 22, 39], "year_length_in_dai": 8, "wast": [8, 14, 15], "evolution_stop": 8, "parse_data": 8, "bin_data": [8, 13, 14, 15, 20], "binwidth": [8, 13, 14, 15, 20], "pre_comenv_period": 8, "post_comenv_period": 8, "nearest": [8, 13, 14, 15], "5dex": [8, 13, 14, 15], "binned_pre_period": 8, "aritif": 8, "binned_post_period": 8, "histogram": 8, "0x149c95c56c10": 8, "machin": [8, 22, 23, 40], "binary_c_grid_2b66f805db424c48a1d29c45092b6e3c": 8, "0645906": 8, "9s": [8, 13], "tpr": [8, 13], "28e": 8, "etf": [8, 13], "mem": [8, 13], "1mb": [8, 13], "1s": [8, 13], "34e": 8, "5mb": [8, 13], "6e": [8, 13], "6mb": [8, 13], "8s": [8, 13], "95e": 8, "4mb": [8, 13], "9e": 8, "7s": 8, "22e": 8, "685": [8, 13], "3mb": [8, 13], "4s": [8, 13], "58e": 8, "02e": [8, 13], "9mb": [8, 13], "810": 8, "20e": [8, 13], "0mb": [8, 13], "3s": [8, 13], "48e": [8, 13], "76e": 8, "2mb": [8, 13], "6s": [8, 13], "97e": [8, 13], "168379": 8, "323359": 8, "2m": [8, 13], "0163656": 8, "155678": 8, "991657": 8, "0175264": 8, "158640": 8, "099417": 8, "0143896": 8, "163481": 8, "732244": 8, "016309": 8, "2b66f805db424c48a1d29c45092b6e3c": 8, "8m": [8, 13], "06459059967730083": 8, "1635760256": 8, "1239555": 8, "1635760377": 8, "9739752": 8, "4680": 8, "235689312423": 8, "22611318083528548": 8, "unmerg": 8, "deepcopi": 8, "logper": [8, 32], "del": 8, "pad": [8, 13, 14, 15], "plot_data": [8, 13, 14, 15], "from_dict": [8, 13, 14, 15, 18, 19], "orient": 8, "p_": 8, "orb": [8, 16, 31], "xlim": [8, 17], "necessari": [8, 16, 17, 19, 20, 21, 37], "03502960360000004": 8, "019715467199999996": 8, "peak": [8, 14, 15, 38], "sim10": 8, "minut": [8, 20], "Such": 8, "prime": 8, "candid": 8, "excit": 8, "astrophys": [8, 14, 15, 23, 40], "life": 8, "compact": [8, 16], "lambda_": 8, "smoother": [8, 14, 15], "curv": [8, 14, 15], "why": 8, "learn": [9, 22], "custom_logging_funct": [9, 12, 16, 18, 19, 22, 23, 24], "edit": 9, "log_every_timestep": [9, 12], "evolve_singl": [9, 12, 21], "publicli": 9, "elabor": 9, "advis": 9, "hardcod": [9, 13, 14, 15, 16], "your": [9, 12, 18, 19, 22, 23, 40], "obvious": 9, "logging_lin": [9, 18, 19], "own": [9, 12, 16, 18, 19, 22, 23, 35, 40], "entir": [9, 12, 18, 19], "pragma": 9, "push_macro": 9, "undef": 9, "visibl": 9, "__attribute__": 9, "void": 9, "binary_c_api_funct": 9, "custom_output_funct": 9, "stardata_t": 9, "pop_macro": 9, "notebook_individual_system": [9, 12, 13, 14, 15, 16], "2e": [9, 13, 19], "example_logging_string_post_m": 9, "example_post_m": 9, "044142002936e": 9, "99194": 9, "13567": 9, "044572277695e": 9, "99192": 9, "51803": 9, "044654032097e": 9, "81395": 9, "045084306856e": 9, "99191": 9, "57443": 9, "manual": [9, 22, 23, 40], "custom_logging_memaddr": 9, "shared_lib_filenam": 9, "4530": [9, 12, 19], "example_logging_string_co": 9, "848380621869e": 9, "33469": 9, "1865": 9, "72498e": [9, 16], "example_massloss": [9, 12], "sn_type": 9, "sn_none": 9, "example_sn": 9, "id_cor": 9, "core_co": 9, "core_h": 9, "050651207308e": 9, "59452": 9, "34213": 9, "55458": 9, "71662": 9, "soon": [10, 38], "cover": [11, 13, 14, 15], "get_help": [11, 20], "get_help_al": [11, 20, 21], "get_help_sup": [11, 20], "get_default": [11, 20], "sever": [11, 16, 19, 22, 25, 34, 41], "print_help": [11, 20], "parameter_value_input_typ": [11, 20], "fetch": [11, 12], "return_binary_c_version_info": [11, 21, 39], "version_info": [11, 21, 23, 24], "argpair": [11, 39], "ensemble_filt": 11, "dt_limit": 11, "nucleosynthesis_sourc": [11, 39], "miscellan": [11, 39], "conjunct": 11, "analyz": 12, "quickli": 12, "simplest": 12, "notebook_custom_log": [12, 13, 14, 15, 16], "path": [12, 16, 19, 20, 22, 23, 26, 29, 30, 31, 34, 37, 40], "logfil": [12, 20, 23, 40], "uncom": [12, 13, 14, 15, 16, 17], "docstr": [12, 25], "12461": 12, "test_logfil": 12, "txt": [12, 16, 19, 23, 31, 40, 41], "22065": 12, "11003": 12, "1302": 12, "11582": 12, "2424": 12, "12325": 12, "1085": 12, "12457": 12, "1301": 12, "12460": 12, "8955": 12, "shrinkagb": 12, "1490": 12, "custom_log": [12, 19, 21, 22], "custom_logging_print_stat": 12, "000000000000e": 12, "column_nam": 12, "initial_mass": [12, 19], "value_lin": 12, "chose": 12, "startswith": 12, "split_lin": 12, "el": [12, 16], "numpi": [12, 16, 18, 19, 20, 35, 38], "arrai": [12, 16, 19, 20, 22, 32, 35, 38], "my": 12, "favorit": 12, "queri": [12, 26], "example_df": 12, "iloc": [12, 19], "drop": 12, "000001": 12, "000002": 12, "000003": 12, "1250": 12, "061259": 12, "718593": 12, "1251": 12, "149038": 12, "678026": 12, "1252": 12, "13461": 12, "1253": 12, "14461": 12, "row": [12, 19, 25], "notebook_popul": [12, 16], "everyth": [12, 16, 21, 22], "accordingli": [12, 14, 15, 16], "example_pop": [12, 16], "stuff": [12, 16, 22], "libcustom_logging_34a350b8f15c4d149deab88632948c99": 12, "np": [12, 18, 19, 38], "object_parse_funct": 12, "output_fil": [12, 20, 31, 34], "output_dir": [12, 16, 31], "example_output": 12, "values_arrai": 12, "fill": [12, 20], "anywai": [12, 16, 32, 35], "written_data": 12, "0x7f35b603e9d0": 12, "previous": [12, 16, 26], "libcustom_logging_446fe4cddfa94946bcafd55591ef3730": 12, "under": [12, 38], "hood": 12, "fewer": 12, "failsaf": 12, "notebook_api_funct": 12, "But": 12, "caught": [12, 20, 39], "correctli": [12, 19, 23, 40], "notebook_luminosity_funct": 13, "ipynb": [13, 14, 15, 16], "conceptu": 13, "public": [13, 14, 15, 16, 23], "purpos": [13, 14, 15, 16, 22, 25], "synthesi": [13, 14, 15, 16, 22, 23, 40], "side": [13, 14, 15, 16], "binarygrid": [13, 14, 15, 16], "predefin": [13, 14, 15, 16, 32], "assign": [13, 14, 15, 16, 35], "chosen": [13, 14, 15, 16, 35], "trio": [13, 14, 15, 16], "throughout": [13, 14, 15, 16, 35], "theoret": [13, 14, 15], "integr": [13, 14, 15, 32, 38], "densiti": [13, 14, 15, 32], "later": [13, 14, 15, 22], "accur": [13, 14, 15], "next": [13, 14, 15, 16, 20], "_1": [13, 14, 15], "cubic": 13, "cube": 13, "nre": [13, 38], "document": [13, 14, 15, 16, 22, 24, 31, 34], "recompil": [13, 14, 15, 16, 23, 40], "somewhat": [13, 14, 15, 16, 17], "perfectli": [13, 14, 15], "strictli": [13, 14, 15], "zero_age_main_sequence_starn": 13, "unresolv": 13, "model_numb": [13, 14, 15], "equival": [13, 22, 26], "capit": [13, 14, 15], "zero_age_main_sequence_star": [13, 14, 15], "1dex": [13, 14, 15], "binned_log_luminos": [13, 14, 15], "binary_c_grid_25014bc73b334765a1c09a4e4a97ed66": 13, "648566": 13, "690": 13, "1354": 13, "1355": 13, "11e": 13, "7e": 13, "1494": 13, "3m": 13, "7mb": 13, "1539": 13, "0m": 13, "1585": 13, "4m": 13, "36e": 13, "607": 13, "5m": 13, "56e": 13, "7m": 13, "79e": 13, "1703": 13, "83e": 13, "1749": 13, "9m": 13, "1780": 13, "14e": 13, "32e": 13, "44e": 13, "1879": 13, "52e": 13, "8mb": 13, "1910": 13, "1m": 13, "67e": 13, "1947": 13, "78e": 13, "5e": 13, "1968": 13, "82e": 13, "98e": 13, "15e": 13, "2048": 13, "24e": 13, "2071": 13, "31e": 13, "2091": 13, "42e": 13, "620": 13, "2122": 13, "55e": 13, "2143": 13, "59e": [13, 16], "623": 13, "2164": 13, "70e": 13, "2183": 13, "80e": 13, "2206": 13, "91e": 13, "2232": 13, "99e": 13, "2245": 13, "06e": 13, "2258": 13, "21e": 13, "2269": 13, "6m": 13, "2282": 13, "51e": 13, "2300": 13, "63e": 13, "2329": 13, "72e": 13, "2348": 13, "73e": 13, "2365": [13, 19], "81e": 13, "2383": 13, "90e": 13, "2400": 13, "2423": 13, "07e": 13, "2438": 13, "10e": 13, "2454": 13, "2466": 13, "29e": 13, "40e": 13, "2492": 13, "630": 13, "2516": 13, "2537": 13, "61e": 13, "2554": 13, "65e": 13, "2570": 13, "71e": 13, "2590": 13, "2636": 13, "2652": 13, "87e": 13, "2666": 13, "37e": 13, "75e": 13, "2746": 13, "2757": 13, "04e": 13, "2775": 13, "2795": 13, "2831": 13, "636": 13, "2845": 13, "2861": 13, "92e": 13, "2875": 13, "01e": 13, "2891": 13, "03e": 13, "2930": 13, "05e": 13, "2947": 13, "2965": 13, "2982": 13, "515": 13, "3010": 13, "3035": 13, "3059": 13, "3078": 13, "08e": 13, "3124": 13, "3148": 13, "3174": 13, "3197": 13, "3256": 13, "3294": 13, "641": 13, "3321": 13, "3348": 13, "3373": 13, "3394": 13, "642": 13, "3422": 13, "00e": 13, "3445": 13, "93e": 13, "3464": 13, "3483": 13, "96e": 13, "3509": 13, "3533": 13, "3550": 13, "3568": 13, "3588": 13, "64e": 13, "643": 13, "3622": 13, "68e": 13, "313623": 13, "3640": 13, "3657": 13, "50e": 13, "3676": 13, "53e": 13, "3706": 13, "66e": 13, "3746": 13, "3763": 13, "3786": 13, "49e": 13, "3811": 13, "5s": 13, "3832": 13, "3849": 13, "3875": 13, "3905": 13, "2s": 13, "3930": [13, 19], "41e": 13, "3931": [13, 19], "3954": 13, "19e": 13, "3977": 13, "690194": 13, "01t10": 13, "176751": 13, "1001": 13, "160675": 13, "706780": 13, "345842": 13, "155662": 13, "684890": 13, "433207": 13, "1025": 13, "162454": 13, "694517": 13, "453059": 13, "169775": 13, "456": 13, "25014bc73b334765a1c09a4e4a97ed66": 13, "38m": 13, "6485656144116352": 13, "1635760613": 13, "6602514": 13, "1635761189": 13, "652638": 13, "82563": 13, "09295167374": 13, "6438124832773024": 13, "titl": [13, 34], "l_": [13, 14, 15], "yscale": [13, 14, 15, 17], "weirdli": 13, "cost": [13, 14, 15], "observ": [13, 14, 15], "sequnec": [13, 14, 15], "notebook_luminos": [14, 15], "probtot": [14, 15], "mmax": [14, 15, 32, 38], "mmin": [14, 15, 22, 32, 38], "typeerror": 14, "traceback": [14, 17], "recent": [14, 17, 23, 40], "ipykernel_519112": 14, "518757914": 14, "got": [14, 15], "unexpect": 14, "keyword": [14, 25, 41], "ldist": [14, 15], "implic": [14, 15], "clearli": [14, 15], "realist": [14, 15], "went": [14, 15], "wrong": [14, 15, 23, 40], "unlik": [14, 15], "realiti": [14, 15], "law": [14, 15, 32], "kroupa": [14, 15, 32], "2001": [14, 15, 32], "update_grid_vari": [14, 15, 35], "spiki": [14, 15], "notic": [14, 15], "poor": [14, 15], "compens": [14, 15], "intens": [14, 15], "resourc": [14, 15, 26], "smarter": [14, 15], "linearli": [14, 15, 38], "renam": [14, 15, 35], "clear": [14, 15, 39], "logarithm": [14, 15, 32, 38], "old": [14, 15, 22, 35], "lnm_1": [14, 15, 16, 35], "rename_grid_vari": [14, 15, 35], "dlnm": [14, 15], "dlnm_1": [14, 15, 16, 35], "_grid_vari": [14, 15, 22, 35], "perfect": [14, 15], "wiggl": [14, 15], "artefact": [14, 15], "monoton": [14, 15], "brighten": [14, 15], "narrow": [14, 15], "co2": [14, 15], "bar": [14, 15], "isn": [14, 15, 20], "challeng": [14, 15], "notebook_luminosity_function_binari": [14, 15], "b6213f2eb7f94d3196cf966b7b76b9f9": 15, "472": [15, 19], "9999999999999998": 15, "1635760806": 15, "5066257": 15, "1635760813": 15, "4966016": 15, "3999999999996": 15, "03499999999999": 15, "218222": 15, "4b8c7f4a86e445099d73f27dffaad94b": 15, "995631": 15, "7a2e4301f5224b2cb8939d2297df0aad": 15, "621": 15, "recogn": 16, "__": 16, "45000000080": 16, "data_dir": [16, 20, 21, 22, 31], "example_python_population_result": 16, "base_filenam": [16, 21], "idea": [16, 25], "export_all_info": [16, 21], "include_popul": 16, "binary_c_default": 16, "commandlin": 16, "accept": [16, 20, 27], "include_binary_c_default": [16, 21], "include_binary_c_version_info": [16, 21], "include_binary_c_help_al": [16, 21], "fase": 16, "overriden": 16, "use_datadir": [16, 21], "outfil": [16, 21], "ok": [16, 26, 31], "example_pop_set": 16, "gz": [16, 31], "ret": 16, "easier": [16, 19, 20, 21], "discret": 16, "unweight": 16, "notabl": 16, "moe": [16, 23, 26, 27, 32], "di": [16, 23, 27, 32], "stefano": [16, 23, 27, 32], "dataset": [16, 22, 26, 27], "further": 16, "down": 16, "population_extens": [16, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "gridcod": [16, 21, 23, 24], "dry_parallel": [16, 35], "deeper": [16, 35], "evalu": [16, 32, 35, 38, 43], "bewar": [16, 31, 35], "insert": [16, 35], "destruct": [16, 35], "piec": [16, 19, 35], "risk": [16, 35], "rest": [16, 32, 35], "correspond": [16, 25, 30, 35, 37], "m_min": [16, 35], "m_max": [16, 32, 35], "const_linear": [16, 35, 38], "room": [16, 35], "kroupa2001": [16, 32, 35], "met": [16, 21, 26, 35], "continu": [16, 30, 35, 37], "stepsiz": [16, 35], "parallel": [16, 35], "block": [16, 35], "comment": [16, 26, 30, 37], "test_pop": 16, "Or": [16, 19], "example_compact_object": 16, "makedir": [16, 20], "exist_ok": [16, 20], "seper": 16, "outfilenam": 16, "headerlin": 16, "isnt": 16, "valueerror": 16, "0x7f2b6ca163a0": 16, "grid_vari": [16, 22], "0443872": 16, "598268106227e": 16, "30592": 16, "75988": 16, "00193614": 16, "436983545111e": 16, "35842": 16, "9948": 16, "00144093": 16, "690157944401e": 16, "43124": 16, "7998": 16, "00107238": 16, "242397939068e": 16, "52416": 16, "3205": 16, "000798096": 16, "756794139032e": 16, "66914": 16, "7394": 16, "000593966": 16, "401414766976e": 16, "73729": 16, "2857": 16, "000442046": 16, "536373523810e": 16, "80677": 16, "000328983": 16, "393982410080e": 16, "82164": 16, "9844": 16, "000244839": 16, "396470605248e": 16, "82129": 16, "9508": 16, "000182216": 16, "subprocess": 16, "399005684057e": 16, "82041": 16, "7151": 16, "00013561": 16, "443375325717e": 16, "81645": 16, "9909": 16, "000100925": 16, "451195752942e": 16, "81559": 16, "51114e": 16, "452661646076e": 16, "81543": 16, "ce756bb317f64099a459bf8b55a746ac": 16, "metadata": [16, 21, 23, 24, 35], "population_id": [16, 22], "044387171445641534": 16, "1646563001": 16, "7193637": 16, "1646563002": 16, "4480088": 16, "time_elaps": [16, 28], "7286450862884521": 16, "649": 16, "905447944397": 16, "28133908148630704": 16, "write_binary_c_calls_to_fil": [16, 31], "dataio": [16, 21, 23, 24], "output_filenam": [16, 31], "include_default": [16, 31], "system_gener": [16, 31], "wouldn": [16, 31], "basic": [16, 31], "datadir": [16, 31], "binary_c_cal": [16, 31], "calls_filenam": 16, "binary_c_grid_ce756bb317f64099a459bf8b55a746ac": 16, "2406484012210224": 16, "22723621650191106": 16, "011394572976608001": 16, "812296769855663": 16, "22723621650191117": 16, "008480166685456411": 16, "5297876799548944": 16, "006311182276049824": 16, "430329401616038": 16, "004696962123378559": 16, "thats": 16, "evolve_popul": 16, "isfil": 16, "0fa4c2b8707741a5ab41d209ef95a3a4": 16, "regist": 16, "expand": 16, "intend": 16, "mass_1": [16, 19, 25], "zams_mass_1": 16, "mass_2": [16, 19, 25], "zams_mass_2": 16, "prev_stellar_type_1": 16, "prev_stellar_type_2": 16, "example_dco": 16, "logger": 16, "safe": [16, 31], "0211592": 16, "0eb5c0c9abd34607a6ee060b26a7e32f": 16, "378266748188e": 16, "66293": 16, "9713": 16, "78767": 16, "8178": 16, "000339963": 16, "817608462595e": 16, "82104": 16, "41436": 16, "000193036": 16, "422997711686e": 16, "82479": 16, "82171": 16, "2535": 16, "205711924468e": 16, "73765": 16, "notebook_solar_system": 17, "mercuri": 17, "1mmercuri": 17, "orbital_separ": 17, "1amercuri": 17, "star1": 17, "orbital_eccentr": 17, "venu": 17, "1mvenu": 17, "1avenu": 17, "earth": 17, "1mearth": 17, "1aearth": 17, "mar": 17, "1mmar": 17, "1amar": 17, "jupit": 17, "1mjupit": 17, "1ajupit": 17, "saturn": 17, "1msaturn": 17, "1asaturn": 17, "uranu": 17, "1muranu": 17, "1auranu": 17, "neptun": 17, "1mneptun": 17, "1aneptun": 17, "pluto": 17, "1mpluto": 17, "1apluto": 17, "2444": 17, "planet": 17, "central": 17, "cs1": 17, "superflu": 17, "fourth": 17, "nameerror": 17, "ipykernel_216542": 17, "1241251901": 17, "dtype": [17, 18, 19], "argh": 17, "sun": 17, "df": [17, 18, 19, 25], "ci": 17, "legend": [17, 19], "xx": 17, "head": 17, "loc": 17, "yy": 17, "au": 17, "swallow": 17, "although": 17, "mess": 17, "push": 17, "beyond": 17, "explor": 17, "vs": [17, 25], "ylim": 17, "toasti": 17, "distant": 17, "futur": 17, "example_parse_output": [18, 20], "100000000000": [18, 19], "float64": [18, 19], "logi": 18, "axessubplot": 18, "xlabel": 18, "server": 19, "nov": 19, "binary_c_python_api": 19, "nbinary_c": 19, "example_header_1": 19, "st1": 19, "st2": 19, "3540": 19, "example_header_2": 19, "initial_grid": 19, "tempfil": 19, "gettempdir": 19, "test_log": 19, "7106": 19, "786e": 19, "7509": 19, "8427e": 19, "8435e": 19, "1380": 19, "9373e": 19, "0900": 19, "2934e": 19, "726": 19, "3081e": 19, "2118": 19, "3702e": 19, "2646": 19, "34421": 19, "d48r": 19, "0570946": 19, "458272": 19, "13108": 19, "562029": 19, "924056": 19, "89211": 19, "78817": 19, "113492": 19, "80602": 19, "124379": 19, "7087": 19, "7695": 19, "608402": 19, "696003": 19, "796455": 19, "0834973": 19, "85661": 19, "3914": 19, "524629": 19, "634667": 19, "func_memaddr": 19, "run_binary_custom_log": 19, "3e": 19, "serv": [19, 20], "parse_output": 19, "behind": 19, "scene": 19, "background": 19, "inlin": 19, "mind": 19, "result_example_header_1": 19, "selected_head": [19, 20], "result_example_header_2": 19, "cast": [19, 20], "df2": 19, "81762e": 19, "000000e": 19, "00000": 19, "817620e": 19, "3927": 19, "102750e": 19, "33817": 19, "62124": 19, "896110e": 19, "202750e": 19, "3929": 19, "302750e": 19, "402750e": 19, "500000e": 19, "3932": 19, "doesnt": [19, 34], "autogener": 19, "result_example_head": 19, "000000": 19, "3630": 19, "131680e": 19, "627748": 19, "3631": 19, "231680e": 19, "3632": 19, "331680e": 19, "3633": 19, "431680e": 19, "3634": 19, "3635": 19, "run_and_calc_mass": 19, "kwarg": [19, 21, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41], "2f": 19, "last_st": 19, "last_stellar_type_change_time_1": 19, "slice": 19, "sliced_df": 19, "cut": 19, "late": 19, "final_mass": 19, "initial_tim": 19, "final_tim": 19, "mass_lost": 19, "wrt": 19, "metallicity_002": 19, "metallicity_001": 19, "metallicity_0002": 19, "mass_rang": 19, "arang": 19, "fractions_z002": 19, "fractions_z001": 19, "fractions_z0002": 19, "214274644851685": 19, "ax": 19, "subplot": 19, "nrow": 19, "ncol": 19, "m_": 19, "fontsiz": 19, "set_titl": 19, "set_yscal": 19, "save_loop": 19, "mass_loss_m": 19, "png": 19, "ep": 19, "bbox_inch": 19, "tight": 19, "verbose_print": [20, 33], "iter": 20, "context": 20, "manag": [20, 23, 40], "__enter__": 20, "stdout": [20, 22, 38], "__exit__": 20, "releas": [20, 23, 40], "call_binary_c_config": 20, "catchtim": 20, "spent": 20, "clock": 20, "exc_typ": 20, "exc_val": 20, "exc_tb": 20, "measur": 20, "check_if_in_shel": 20, "command_string_from_list": 20, "quot": 20, "conv_time_unit": 20, "hour": 20, "magnitud": 20, "convert_byt": 20, "size": [20, 22, 29], "convfloat": 20, "scalar": 20, "create_arg_str": 20, "filter_valu": 20, "create_hdf5": 20, "hdf5": 20, "hdf5file": 20, "conveni": [20, 23, 40], "example_head": 20, "defaultdict": 20, "rethink": 20, "filter_arg_dict": 20, "format_numb": 20, "scientif": 20, "notat": 20, "trail": [20, 38], "get_ansi_colour": 20, "color": [20, 25], "get_arg_kei": 20, "sinc": [20, 25, 32], "param_nam": 20, "fail_sil": 20, "did": [20, 23, 40], "compon": [20, 25], "categoris": 20, "silent": 20, "get_siz": 20, "seen": 20, "github": [20, 31], "bosswissam": 20, "pysiz": 20, "get_usernam": 20, "usernam": 20, "spawn": 20, "is_capsul": 20, "tell": [20, 26], "isfloat": 20, "isint": 20, "load_logfil": 20, "make_build_text": 20, "mem_us": 20, "now_object": 20, "nospac": 20, "date": [20, 21, 22], "d_": 20, "output_lin": 20, "receiv": 20, "dist": 20, "quotewrap": 20, "remove_fil": 20, "child_dir": 20, "child": 20, "full_path": 20, "timedelta": 20, "delta": [20, 38], "human": 20, "readabl": 20, "trem": 20, "dn": [20, 32], "differenti": 20, "progress": 20, "messag": [20, 21], "minimal_verbos": 20, "newlin": [20, 22, 31, 33], "charact": [20, 22, 31], "x0d": [20, 22], "carriag": [20, 22], "write_binary_c_parameter_descriptions_to_rst_fil": 20, "rst": [20, 34], "restructuredtext": 20, "save_snapshot": [21, 22, 31], "distinct": 21, "init": 21, "initial_abundance_hash": 21, "isotope_hash": 21, "isotope_list": 21, "nuclear_mass_hash": 21, "nuclear_mass_list": 21, "source_list": 21, "ensemble_list": 21, "spread": 21, "privat": [21, 23], "nice": [21, 25], "unload": 21, "custom_logging_info": 21, "grid_cod": 21, "mixin": 21, "portal": 21, "decor": 21, "staticmethod": 21, "classmethod": 21, "realpython": 21, "static": 21, "demystifi": 21, "cach": [21, 22, 23, 24, 28, 34, 38], "grid_log": [21, 23, 24], "grid_options_default": [21, 23, 24, 29], "hpc": [21, 22, 23, 24, 30, 37], "moe_di_stefano_2017": [21, 23, 24], "spacing_funct": [21, 23, 24], "reus": 21, "_pre_run_setup": 21, "relev": 21, "clean_up_custom_logging_fil": 21, "stacktrac": 21, "sy": 21, "include_population_set": 21, "all_info": 21, "flaw": 21, "rewrit": 21, "pl": 21, "population_set": 21, "return_population_set": 21, "_set": 21, "simulation_": 21, "jobid": [21, 22, 37], "job": [21, 22, 26, 30, 37], "id": [21, 22, 26, 30, 31, 32, 33, 37], "pid": 21, "hpc_jobid": [21, 26], "parse_cmdlin": 21, "return_all_info": 21, "return_binary_c_default": 21, "was_kil": 21, "meant": 22, "c_auto_log": 22, "headlin": 22, "hpc_force_join": 22, "slurm": [22, 23, 24, 26], "condor": [22, 23, 24, 26], "hpc_rebuild_joinlist": [22, 26], "joinlist": [22, 26], "moe2017_opt": 22, "cache_dir": [22, 38], "combine_ensemble_with_thread_join": 22, "ensemble_output_": 22, "thread_id": 22, "command_lin": 22, "htcondor": 22, "launch": [22, 30, 37], "condor_clusterid": [22, 30], "clusterid": [22, 30], "condor_process": [22, 30], "jobarrayindex": [22, 37], "condor_bash": 22, "bash": 22, "submit": [22, 23], "node": 22, "condor_batchnam": 22, "batchnam": 22, "appear": 22, "condor_q": 22, "condor_d": 22, "usr": 22, "condor_dir": [22, 26, 30, 37], "nf": [22, 31], "condor_env": 22, "env": [22, 25], "condor_extra_set": 22, "te": 22, "batch": 22, "overwrit": [22, 26], "condor_getenv": 22, "environ": 22, "submiss": 22, "almost": 22, "certainli": 22, "condor_initial_dir": 22, "condor_kill_sig": 22, "sigint": 22, "condor_memori": 22, "images": 22, "condor_njob": 22, "condor_postpone_join": 22, "condor_postpone_submit": 22, "tool": 22, "condor_pwd": 22, "pwd": 22, "instal": [22, 43], "condor_requir": 22, "condor_should_transfer_fil": 22, "ye": 22, "condor_snapshot_on_kil": 22, "snapshot": [22, 26, 31], "sigkil": 22, "condor_stream_error": 22, "stream": 22, "condor_stream_output": 22, "condor_submit": 22, "condor_univers": 22, "vanilla": 22, "condor_warn_max_memori": 22, "condor_when_to_transfer_output": 22, "on_exit_or_evict": 22, "custom_gener": 22, "do_analyt": 22, "do_dry_run": 22, "dry_run_hook": 22, "hook": 22, "dry_run_num_cor": 22, "ensemble_factor_in_probability_weighted_mass": 22, "probability_weighted_mass": 22, "multiprocess": 22, "exit_after_dry_run": 22, "exit_cod": 22, "failed_systems_threshold": 22, "failed_system": 22, "function_cach": 22, "certain": [22, 23, 40], "function_cache_ttl": 22, "function_cache_default_maxs": 22, "maxsiz": 22, "function_cache_default_typ": 22, "lrucach": 22, "lfucach": 22, "fifocach": 22, "mrucach": 22, "rrcach": 22, "ttlcach": 22, "nullcach": [22, 29], "nocach": 22, "cachetool": [22, 29], "fo": 22, "dummi": [22, 25, 32], "overhead": 22, "function_cache_funct": [22, 29], "gridcode_filenam": 22, "log_arg": 22, "log_args_dir": 22, "log_newlin": 22, "log_runtime_system": 22, "plan": 22, "max_queue_s": 22, "feed": 22, "modulo": 22, "multiplicity_fraction_funct": 22, "aren": [22, 32], "rhagavan": 22, "n_logging_stat": 22, "num_cores_avail": 22, "original_command_lin": 22, "original_submission_tim": 22, "original_working_diretori": 22, "Its": 22, "print_stack_on_exit": 22, "stack": 22, "trace": 22, "restore_from_snapshot_dir": 22, "restore_from_snapshot_fil": [22, 26], "return_after_dry_run": 22, "run_zero_probability_system": 22, "rungrid": 22, "save_ensemble_chunk": 22, "save_population_object": [22, 31], "skip_befor": 22, "slurm_arrai": 22, "slurm_array_max_job": 22, "concurr": 22, "slurm_bash": 22, "slurm_dat": 22, "slurm_dir": [22, 26, 30, 37], "slurm_env": 22, "slurm_extra_set": 22, "slurm_jobarrayindex": [22, 37], "slurm_jobid": [22, 37], "slurm_jobnam": 22, "slurm_memori": 22, "megabyt": 22, "understand": 22, "512mb": 22, "slurm_njob": 22, "slurm_ntask": 22, "slurm_partit": 22, "partit": 22, "local": [22, 32], "sview": 22, "slurm_postpone_join": 22, "slurm_postpone_sbatch": 22, "sbatch": 22, "slurm_pwd": 22, "slurm_sbatch": 22, "slurm_tim": 22, "slurm_warn_max_memori": 22, "excess": 22, "mistak": 22, "1024mb": 22, "source_file_filenam": 22, "start_at": 22, "status_dir": 22, "stop_queu": 22, "symlink_latest_gridcod": 22, "diagnost": 22, "_repeat": 22, "reduct": 22, "working_diretori": 22, "multiplicity_model": 22, "log10m1": 22, "poisson": [22, 32], "map": 22, "quad": 22, "NO": 22, "multiplicity_modul": 22, "normalize_multipl": 22, "norm": 22, "b": [22, 31], "whichev": 22, "stick": 22, "predict": 22, "repres": 22, "canon": 22, "nonzero": 22, "q_high_extrapolation_method": 22, "q_low_extrapolation_method": 22, "extrapol": [22, 32], "flat": [22, 32], "linear2": 22, "plaw2": 22, "nolowq": 22, "_moe2017_json_data": 22, "distefano2017": 22, "_actually_evolve_system": 22, "_process_run_population_grid": 22, "_binary_c_config_execut": 22, "_binary_c_dir": 22, "director": 22, "_binary_c_execut": 22, "_binary_c_shared_librari": 22, "libbinary_c": 22, "_commandline_input": 22, "_count": 22, "counter": 22, "_custom_logging_shared_library_fil": 22, "_end_time_evolut": 22, "timestamp": [22, 28], "_errors_exceed": 22, "failed_system_log": 22, "_errors_found": 22, "encount": [22, 23, 40], "_evolution_type_opt": 22, "_failed_count": 22, "_failed_prob": 22, "_failed_systems_error_cod": 22, "_generate_grid_cod": 22, "_kill": 22, "_loaded_moe2017_data": 22, "_main_pid": 22, "master": [22, 23, 25, 40], "_population_id": 22, "char": 22, "hex": 22, "_probtot": 22, "_queue_don": 22, "_set_moe2017_grid": 22, "_start_time_evolut": 22, "_store_memaddr": 22, "_system_gener": 22, "_total_mass_run": 22, "_total_probability_weighted_mass_run": 22, "_total_starcount": 22, "_zero_prob_stars_skip": 22, "aim": [23, 40], "jeff": [23, 40], "andrew": [23, 40], "robert": [23, 40], "student": [23, 40], "scientist": [23, 40], "who": [23, 40], "onlin": [23, 40], "older": [23, 40], "guarante": [23, 40], "meet": [23, 40], "least": [23, 40], "eol": [23, 40], "root": [23, 40], "ld_library_path": [23, 40], "libgsl": [23, 40], "libmemo": [23, 40], "librinterpol": [23, 40], "library_path": [23, 40], "gsl_dir": [23, 40], "gsl": [23, 40], "dir": [23, 30, 40], "binary_c2": [23, 40], "latest": [23, 40], "virtual": [23, 40], "sh": [23, 40], "suit": [23, 40], "pythonpath": [23, 40], "download": [23, 40], "clone": [23, 40], "gitlab": [23, 40], "repo": [23, 40], "whenev": [23, 40], "reinstal": [23, 40], "virtualenviron": [23, 40], "host": [23, 40], "person": [23, 40], "ph": [23, 40], "contribut": [23, 40], "development_requir": [23, 40], "hesit": [23, 40], "discuss": [23, 40], "generate_doc": [23, 40], "generate_report": [23, 40], "main_with_notebook": [23, 40], "test_notebook": [23, 40], "exhaust": [23, 40], "solut": [23, 40], "mesa": [23, 40], "mesasdk_root": [23, 40], "mesasdk_init": [23, 40], "interfer": [23, 40], "throw": [23, 40], "unrecogn": [23, 40], "ftz": [23, 40], "flto": [23, 40], "due": [23, 40], "cflag": [23, 40], "avaibl": [23, 40], "1ckzg0p9": [23, 40], "egg": [23, 40], "pkg": [23, 40], "filenotfounderror": [23, 40], "errno": [23, 40], "jupyt": [23, 40], "seem": [23, 25, 34, 40], "everytim": [23, 40], "rebuilt": [23, 40], "plot_funct": [23, 24], "useful_func": [23, 24], "nucsyn": 23, "misc": 23, "sampler": 23, "visit": 23, "plot_system": 25, "loos": 25, "admittedli": 25, "customis": 25, "regardless": 25, "color_by_index": 25, "placehold": [25, 29, 30, 31], "parse_function_hr_diagram": 25, "hr": 25, "parse_function_mass": 25, "parse_function_orbit": 25, "plot_hr_diagram": 25, "show_stellar_typ": 25, "show_plot": 25, "use_astropy_valu": 25, "plot_hr_diagram_singl": 25, "radius_1": 25, "radius_2": 25, "luminosity_1": 25, "luminosity_2": 25, "teff_1": 25, "teff_2": 25, "hd": 25, "astropi": 25, "stefan": 25, "boltzman": 25, "plot_mass": 25, "pms_mass_1": 25, "pms_mass_2": 25, "quantiti": 25, "pm": 25, "mayb": 25, "plot_orbit": 25, "plot_typ": 25, "preset": 25, "mass_evolut": 25, "orbit_evolut": 25, "hr_diagram": 25, "against": 25, "pick": 25, "pane": 25, "distefano": [26, 27, 32], "hpc_can_join": 26, "joinfil": 26, "joiningfil": 26, "hpc_check_requir": 26, "hpc_dir": 26, "hpc_dump_statu": 26, "hpc_get_statu": 26, "job_id": 26, "job_index": 26, "hpc_grid": 26, "makejoiningfil": 26, "hpc_task": 26, "exclud": 26, "hpc_id_filenam": 26, "hpc_id_from_dir": 26, "hpc_job": 26, "hpc_jobid_tupl": 26, "hpc_job_id_rang": 26, "hpc_job_task": 26, "hpc_job_typ": 26, "hpc_join_from_fil": 26, "newobj": 26, "hpc_join_previ": 26, "hpc_joinlist": 26, "hpc_load_joinfiles_list": 26, "hpc_make_joiningfil": 26, "error_on_overwrit": 26, "hpc_njob": 26, "error_on_overwit": 26, "issu": 26, "hpc_path": 26, "hpc_queue_stat": 26, "stat": 26, "hpc_restor": 26, "restor": 26, "_restart_dir": 26, "stage": 26, "hpc_set_statu": 26, "hpc_snapshot_filenam": 26, "hpc_statu": 26, "hpc_touch": 26, "touch": [26, 31], "distrefano": 27, "interpol": [27, 32, 38], "get_moe_di_stefano_2017_default_opt": 27, "get_moe_di_stefano_2017_default_options_descript": 27, "get_moe_di_stefano_dataset": 27, "set_moe_di_stefano_set": 27, "cpu_tim": 28, "ve": 28, "make_analytics_dict": 28, "set_tim": 28, "elaps": 28, "lru": 29, "lru_": 29, "__delitem__": 29, "delet": [29, 35], "getter": 29, "__setitem__": 29, "setter": 29, "popitem": 29, "default_cache_dir": [29, 34], "setup_function_cach": 29, "cachetyp": 29, "function_cache_s": 29, "func": 29, "test_cach": 29, "replac": 30, "condorid": 30, "condor_check_requir": 30, "condor_grid": 30, "being": [30, 37], "condor_outfil": 30, "chunk": [30, 37], "condor_queue_stat": 30, "condor_status_fil": 30, "condorpath": 30, "get_condor_statu": 30, "correspon": [30, 37], "make_condor_dir": 30, "set_condor_statu": 30, "held": [30, 37], "io": 31, "nfs_flush_hack": 31, "opendir": 31, "closedir": 31, "complaint": 31, "unclos": 31, "scandir": 31, "nfspath": 31, "mount": 31, "compression_typ": 31, "dir_ok": 31, "load_population_object": 31, "load_snapshot": 31, "preloaded_popul": 31, "locked_clos": 31, "partner": 31, "locked_open_for_writ": 31, "unlock": 31, "lock_suffix": 31, "lock_timeout": 31, "lock_lifetim": 31, "exists_ok": 31, "fatal_open_error": 31, "mode": 31, "lockfil": 31, "flufl": 31, "file_object": 31, "lock_object": 31, "merge_popul": 31, "refpop": 31, "newpop": 31, "merge_populations_from_fil": 31, "closefd": 31, "compresslevel": 31, "population_object": 31, "confirm": 31, "gzip": 31, "pickl": 31, "compress_pickl": 31, "lucianopaz": 31, "shared_memori": 31, "set_statu": 31, "format_stat": 31, "process_": 31, "snapshot_filenam": 31, "wait_for_unlock": 31, "wait": 31, "write_ensembl": 31, "recognis": 31, "bz2": 31, "msgpack": 31, "support": 31, "grid_ensemble_result": [31, 36], "stackoverflow": 32, "28060251": 32, "hi": 32, "gonna": 32, "mathieu": 32, "sfh": 32, "redshift": 32, "enough": 32, "arenou2010_binary_fract": 32, "c2": 32, "sp": 32, "opm": 32, "fa": 32, "rssd": 32, "esa": 32, "doc_fetch": 32, "php": 32, "2969346": 32, "izzard2012_period_distribut": 32, "log10pmin": 32, "duquennoi": 32, "mayor": 32, "1991": 32, "spectral": 32, "15msun": 32, "sana": 32, "3msun": 32, "dlogp": 32, "raghavan": 32, "gaussian": [32, 38], "log10p": 32, "logp": 32, "m0": 32, "p1": 32, "p2": 32, "p3": 32, "moe_di_stefano_2017_multiplicity_fract": 32, "6e1": 32, "moe_di_stefano_2017_pdf": 32, "m3": 32, "m4": 32, "ecc2": 32, "ecc3": 32, "build_q_tabl": 32, "independ": 32, "q_min": 32, "renormalis": 32, "lowest": 32, "qmin": 32, "goal": 32, "boundari": 32, "calc_p_integr": 32, "min_logp": 32, "max_logp": 32, "integrals_str": 32, "interpolator_nam": 32, "mass_str": 32, "min_per": 32, "calc_e_integr": 32, "period_str": 32, "calc_total_probden": 32, "prob_dict": 32, "calculate_constants_three_part_powerlaw": 32, "law_const": 32, "slope": 32, "const_distribut": 32, "min_bound": [32, 38], "max_bound": [32, 38], "val": 32, "cosmic_sfh_madau_dickinson2014": 32, "cosmic": 32, "histori": 32, "madau": 32, "dickonson": 32, "1403": 32, "0007": 32, "mega": 32, "parsec": 32, "duquennoy1991": 32, "fill_data": 32, "sample_valu": 32, "data_dict": 32, "logmass": [32, 38], "logperiod": 32, "dstep": 32, "uniform": 32, "sigma": [32, 38], "gmin": 32, "gmax": 32, "deviat": [32, 38], "gaussian_func": 32, "gaussian_normalizing_const": 32, "get_integration_constant_q": 32, "q_interpol": 32, "tmp_tabl": 32, "qdata": 32, "get_max_multipl": 32, "multiplicity_arrai": 32, "imf_chabrier2003": 32, "chabrier": 32, "pasp": 32, "imf_scalo1986": 32, "scalo": 32, "80msol": 32, "imf_scalo1998": 32, "imf_tinsley1980": 32, "tinslei": 32, "1980": 32, "interpolate_in_mass_izzard2012": 32, "ktg93": 32, "linear_extrapolation_q": 32, "qs": 32, "qlimit": 32, "end_index": 32, "merge_multipl": 32, "result_arrai": 32, "max_multipl": 32, "fold": 32, "lambda_v": 32, "nmax": 32, "improv": [32, 38], "powerlaw": 32, "min_val": 32, "max_val": 32, "powerlaw_const": 32, "powerlaw_constant_nocach": 32, "powerlaw_extrapolation_q": 32, "raghavan2010_binary_fract": 32, "zsolar": 32, "long_spectral_typ": 32, "jaschek": 32, "amin": 32, "amax": 32, "x0": 32, "x1": 32, "ln": 32, "dp": 32, "p0": 32, "generalis": 32, "vb1print": 33, "system_numb": 33, "system_dict": 33, "ey": 33, "unix": 33, "epoch": 33, "vb2print": 33, "cmdline_str": 33, "grid_options_defaults_dict": 34, "grid_options_help": 34, "grid_options_description_check": 34, "write_grid_options_to_rst_fil": 34, "With": 34, "hack": 34, "reconsid": 34, "unnecessari": 34, "get_grid_options_defaults_dict": 34, "get_grid_options_descript": 34, "print_info": 34, "undescrib": 34, "And": [34, 43], "print_option_descript": 34, "filehandl": 34, "extra_text": 34, "delete_grid_vari": 35, "oldnam": 35, "newnam": 35, "add_ensemble_metadata": 36, "combined_output_dict": 36, "add_system_metadata": 36, "get_slurm_statu": 37, "make_slurm_dir": 37, "set_slurm_statu": 37, "slurmid": 37, "slurm_check_requir": 37, "slurm_grid": 37, "slurm_outfil": 37, "slurm_queue_stat": 37, "xxx": 37, "slurm_status_fil": 37, "slurmpath": 37, "const_dt": 38, "cachedir": 38, "usecach": 38, "logspac": 38, "dlogt": 38, "tmin": 38, "tmax": 38, "mindm": 38, "1msun": 38, "0msun": 38, "comma": 38, "thu": 38, "maxdm": 38, "similar": 38, "fsampl": 38, "shannon": 38, "showtabl": 38, "showlist": 38, "log10mass": 38, "const_dt_cach": 38, "add_grid_valu": 38, "1gyr": 38, "suitabl": 38, "const_int": 38, "segment": 38, "linspac": 38, "const_rang": 38, "gaussian_zoom": 38, "zoom_mean": 38, "zoom_dispers": 38, "zoom_magnitud": 38, "depth": 38, "zoom_magntiud": 38, "peak_normalized_gaussian_func": 38, "hardli": 39, "minimum_stellar_mass": 39, "parse_binary_c_version_info": 39, "version_info_str": 39, "atom": 39, "dtlimit": 39, "git_branch": 39, "git_build": 39, "email": 39, "analys": 41, "example_log": 41, "fancy_parsing_funct": 41, "notifi": 41, "unknown": 41, "centralis": 41, "abstract": 41, "stellar_type_dict": 42, "stellar_type_dict_short": 42, "abbrevi": 42, "collect": 43, "binary_star": 43, "calc_period_from_sep": 43, "invers": 43, "zams_collis": 43, "collid": 43, "roche_lob": 43, "ragb": 43, "minimum_period_for_rlof": 43, "minimum_separation_for_rlof": 43, "maximum_mass_ratio_for_rlof": 43, "upon": 43, "r_l": 43, "1983": 43, "mass_accretor": 43, "mass_donor": 43, "rochelob": 43, "vice": 43, "versa": 43, "1996": 43, "mnra": 43, "pericent": 43}, "objects": {"binarycpython.utils": [[1, 0, 0, "-", "custom_logging_functions"], [2, 0, 0, "-", "dicts"], [3, 0, 0, "-", "ensemble"], [20, 0, 0, "-", "functions"], [21, 0, 0, "-", "grid"], [25, 0, 0, "-", "plot_functions"], [41, 0, 0, "-", "run_system_wrapper"], [42, 0, 0, "-", "stellar_types"], [43, 0, 0, "-", "useful_funcs"]], "binarycpython.utils.custom_logging_functions": [[1, 1, 1, "", "autogen_C_logging_code"], [1, 1, 1, "", "binary_c_log_code"], [1, 1, 1, "", "binary_c_write_log_code"], [1, 1, 1, "", "compile_shared_lib"], [1, 1, 1, "", "create_and_load_logging_function"], [1, 1, 1, "", "from_binary_c_config"], [1, 1, 1, "", "return_compilation_dict"]], "binarycpython.utils.dicts": [[2, 2, 1, "", "AutoVivificationDict"], [2, 1, 1, "", "count_keys_recursive"], [2, 1, 1, "", "custom_sort_dict"], [2, 1, 1, "", "filter_dict"], [2, 1, 1, "", "filter_dict_through_values"], [2, 1, 1, "", "inspect_dict"], [2, 1, 1, "", "keys_to_floats"], [2, 1, 1, "", "merge_dicts"], [2, 1, 1, "", "multiply_float_values"], [2, 1, 1, "", "multiply_values_dict"], [2, 1, 1, "", "normalize_dict"], [2, 1, 1, "", "prepare_dict"], [2, 1, 1, "", "recursive_change_key_to_float"], [2, 1, 1, "", "recursive_change_key_to_string"], [2, 1, 1, "", "set_opts"], [2, 1, 1, "", "subtract_dicts"], [2, 1, 1, "", "update_dicts"]], "binarycpython.utils.dicts.AutoVivificationDict": [[2, 3, 1, "", "__getitem__"], [2, 3, 1, "", "__iadd__"]], "binarycpython.utils.ensemble": [[3, 2, 1, "", "BinarycDecoder"], [3, 2, 1, "", "BinarycEncoder"], [3, 1, 1, "", "binaryc_json_serializer"], [3, 1, 1, "", "ensemble_compression"], [3, 1, 1, "", "ensemble_file_type"], [3, 1, 1, "", "ensemble_setting"], [3, 1, 1, "", "extract_ensemble_json_from_string"], [3, 1, 1, "", "format_ensemble_results"], [3, 1, 1, "", "handle_ensemble_string_to_json"], [3, 1, 1, "", "load_ensemble"], [3, 1, 1, "", "open_ensemble"]], "binarycpython.utils.ensemble.BinarycDecoder": [[3, 3, 1, "", "decode"]], "binarycpython.utils.ensemble.BinarycEncoder": [[3, 3, 1, "", "default"]], "binarycpython.utils.functions": [[20, 2, 1, "", "Capturing"], [20, 1, 1, "", "bin_data"], [20, 1, 1, "", "call_binary_c_config"], [20, 2, 1, "", "catchtime"], [20, 1, 1, "", "check_if_in_shell"], [20, 1, 1, "", "command_string_from_list"], [20, 1, 1, "", "conv_time_units"], [20, 1, 1, "", "convert_bytes"], [20, 1, 1, "", "convfloat"], [20, 1, 1, "", "create_arg_string"], [20, 1, 1, "", "create_hdf5"], [20, 1, 1, "", "datalinedict"], [20, 1, 1, "", "example_parse_output"], [20, 1, 1, "", "filter_arg_dict"], [20, 1, 1, "", "format_number"], [20, 1, 1, "", "get_ANSI_colours"], [20, 1, 1, "", "get_arg_keys"], [20, 1, 1, "", "get_defaults"], [20, 1, 1, "", "get_help"], [20, 1, 1, "", "get_help_all"], [20, 1, 1, "", "get_help_super"], [20, 1, 1, "", "get_size"], [20, 1, 1, "", "get_username"], [20, 1, 1, "", "imports"], [20, 1, 1, "", "is_capsule"], [20, 1, 1, "", "isfloat"], [20, 1, 1, "", "isint"], [20, 1, 1, "", "load_logfile"], [20, 1, 1, "", "make_build_text"], [20, 1, 1, "", "mem_use"], [20, 1, 1, "", "now"], [20, 1, 1, "", "output_lines"], [20, 1, 1, "", "pad_output_distribution"], [20, 1, 1, "", "quotewrap"], [20, 1, 1, "", "remove_file"], [20, 1, 1, "", "temp_dir"], [20, 1, 1, "", "timedelta"], [20, 1, 1, "", "trem"], [20, 1, 1, "", "verbose_print"], [20, 1, 1, "", "write_binary_c_parameter_descriptions_to_rst_file"]], "binarycpython.utils.functions.Capturing": [[20, 3, 1, "", "__enter__"], [20, 3, 1, "", "__exit__"]], "binarycpython.utils.functions.catchtime": [[20, 3, 1, "", "__enter__"], [20, 3, 1, "", "__exit__"]], "binarycpython.utils.grid": [[21, 2, 1, "", "Population"]], "binarycpython.utils.grid.Population": [[21, 3, 1, "", "clean"], [21, 3, 1, "", "evolve"], [21, 3, 1, "", "evolve_single"], [21, 3, 1, "", "exit"], [21, 3, 1, "", "export_all_info"], [21, 3, 1, "", "jobID"], [21, 3, 1, "", "parse_cmdline"], [21, 3, 1, "", "return_all_info"], [21, 3, 1, "", "return_binary_c_defaults"], [21, 3, 1, "", "return_population_settings"], [21, 3, 1, "", "set"], [21, 3, 1, "", "was_killed"]], "binarycpython.utils.plot_functions": [[25, 1, 1, "", "color_by_index"], [25, 1, 1, "", "dummy"], [25, 1, 1, "", "parse_function_hr_diagram"], [25, 1, 1, "", "parse_function_masses"], [25, 1, 1, "", "parse_function_orbit"], [25, 1, 1, "", "plot_HR_diagram"], [25, 1, 1, "", "plot_masses"], [25, 1, 1, "", "plot_orbit"], [25, 1, 1, "", "plot_system"]], "binarycpython.utils.population_extensions": [[26, 0, 0, "-", "HPC"], [27, 0, 0, "-", "Moe_di_Stefano_2017"], [28, 0, 0, "-", "analytics"], [29, 0, 0, "-", "cache"], [30, 0, 0, "-", "condor"], [31, 0, 0, "-", "dataIO"], [32, 0, 0, "-", "distribution_functions"], [33, 0, 0, "-", "grid_logging"], [34, 0, 0, "-", "grid_options_defaults"], [35, 0, 0, "-", "gridcode"], [36, 0, 0, "-", "metadata"], [37, 0, 0, "-", "slurm"], [38, 0, 0, "-", "spacing_functions"], [39, 0, 0, "-", "version_info"]], "binarycpython.utils.population_extensions.HPC": [[26, 2, 1, "", "HPC"]], "binarycpython.utils.population_extensions.HPC.HPC": [[26, 3, 1, "", "HPC_can_join"], [26, 3, 1, "", "HPC_check_requirements"], [26, 3, 1, "", "HPC_dir"], [26, 3, 1, "", "HPC_dirs"], [26, 3, 1, "", "HPC_dump_status"], [26, 3, 1, "", "HPC_get_status"], [26, 3, 1, "", "HPC_grid"], [26, 3, 1, "", "HPC_id_filename"], [26, 3, 1, "", "HPC_id_from_dir"], [26, 3, 1, "", "HPC_job"], [26, 3, 1, "", "HPC_jobID"], [26, 3, 1, "", "HPC_jobID_tuple"], [26, 3, 1, "", "HPC_job_id_range"], [26, 3, 1, "", "HPC_job_task"], [26, 3, 1, "", "HPC_job_type"], [26, 3, 1, "", "HPC_join_from_files"], [26, 3, 1, "", "HPC_join_previous"], [26, 3, 1, "", "HPC_joinlist"], [26, 3, 1, "", "HPC_load_joinfiles_list"], [26, 3, 1, "", "HPC_make_joiningfile"], [26, 3, 1, "", "HPC_njobs"], [26, 3, 1, "", "HPC_path"], [26, 3, 1, "", "HPC_queue_stats"], [26, 3, 1, "", "HPC_restore"], [26, 3, 1, "", "HPC_set_status"], [26, 3, 1, "", "HPC_snapshot_filename"], [26, 3, 1, "", "HPC_status"], [26, 3, 1, "", "HPC_touch"]], "binarycpython.utils.population_extensions.Moe_di_Stefano_2017": [[27, 2, 1, "", "Moe_di_Stefano_2017"]], "binarycpython.utils.population_extensions.Moe_di_Stefano_2017.Moe_di_Stefano_2017": [[27, 3, 1, "", "Moe_di_Stefano_2017"], [27, 3, 1, "", "get_Moe_di_Stefano_2017_default_options"], [27, 3, 1, "", "get_Moe_di_Stefano_2017_default_options_description"], [27, 3, 1, "", "get_moe_di_stefano_dataset"], [27, 3, 1, "", "set_moe_di_stefano_settings"]], "binarycpython.utils.population_extensions.analytics": [[28, 2, 1, "", "analytics"]], "binarycpython.utils.population_extensions.analytics.analytics": [[28, 3, 1, "", "CPU_time"], [28, 3, 1, "", "make_analytics_dict"], [28, 3, 1, "", "set_time"], [28, 3, 1, "", "time_elapsed"]], "binarycpython.utils.population_extensions.cache": [[29, 2, 1, "", "cache"]], "binarycpython.utils.population_extensions.cache.cache": [[29, 2, 1, "", "NullCache"], [29, 3, 1, "", "default_cache_dir"], [29, 3, 1, "", "setup_function_cache"], [29, 3, 1, "", "test_caches"]], "binarycpython.utils.population_extensions.cache.cache.NullCache": [[29, 3, 1, "", "__delitem__"], [29, 3, 1, "", "__getitem__"], [29, 3, 1, "", "__setitem__"], [29, 3, 1, "", "popitem"]], "binarycpython.utils.population_extensions.condor": [[30, 2, 1, "", "condor"]], "binarycpython.utils.population_extensions.condor.condor": [[30, 3, 1, "", "condorID"], [30, 3, 1, "", "condor_check_requirements"], [30, 3, 1, "", "condor_dirs"], [30, 3, 1, "", "condor_grid"], [30, 3, 1, "", "condor_outfile"], [30, 3, 1, "", "condor_queue_stats"], [30, 3, 1, "", "condor_status_file"], [30, 3, 1, "", "condorpath"], [30, 3, 1, "", "get_condor_status"], [30, 3, 1, "", "make_condor_dirs"], [30, 3, 1, "", "set_condor_status"]], "binarycpython.utils.population_extensions.dataIO": [[31, 2, 1, "", "dataIO"]], "binarycpython.utils.population_extensions.dataIO.dataIO": [[31, 3, 1, "", "NFS_flush_hack"], [31, 3, 1, "", "NFSpath"], [31, 3, 1, "", "compression_type"], [31, 3, 1, "", "dir_ok"], [31, 3, 1, "", "load_population_object"], [31, 3, 1, "", "load_snapshot"], [31, 3, 1, "", "locked_close"], [31, 3, 1, "", "locked_open_for_write"], [31, 3, 1, "", "merge_populations"], [31, 3, 1, "", "merge_populations_from_file"], [31, 3, 1, "", "open"], [31, 3, 1, "", "save_population_object"], [31, 3, 1, "", "save_snapshot"], [31, 3, 1, "", "set_status"], [31, 3, 1, "", "snapshot_filename"], [31, 3, 1, "", "wait_for_unlock"], [31, 3, 1, "", "write_binary_c_calls_to_file"], [31, 3, 1, "", "write_ensemble"]], "binarycpython.utils.population_extensions.distribution_functions": [[32, 2, 1, "", "distribution_functions"]], "binarycpython.utils.population_extensions.distribution_functions.distribution_functions": [[32, 3, 1, "", "Arenou2010_binary_fraction"], [32, 3, 1, "", "Izzard2012_period_distribution"], [32, 3, 1, "", "Kroupa2001"], [32, 3, 1, "", "Moe_di_Stefano_2017_multiplicity_fractions"], [32, 3, 1, "", "Moe_di_Stefano_2017_pdf"], [32, 3, 1, "", "build_q_table"], [32, 3, 1, "", "calc_P_integral"], [32, 3, 1, "", "calc_e_integral"], [32, 3, 1, "", "calc_total_probdens"], [32, 3, 1, "", "calculate_constants_three_part_powerlaw"], [32, 3, 1, "", "const_distribution"], [32, 3, 1, "", "cosmic_SFH_madau_dickinson2014"], [32, 3, 1, "", "duquennoy1991"], [32, 3, 1, "", "fill_data"], [32, 3, 1, "", "flat"], [32, 3, 1, "", "flatsections"], [32, 3, 1, "", "gaussian"], [32, 3, 1, "", "gaussian_func"], [32, 3, 1, "", "gaussian_normalizing_const"], [32, 3, 1, "", "get_integration_constant_q"], [32, 3, 1, "", "get_max_multiplicity"], [32, 3, 1, "", "imf_chabrier2003"], [32, 3, 1, "", "imf_scalo1986"], [32, 3, 1, "", "imf_scalo1998"], [32, 3, 1, "", "imf_tinsley1980"], [32, 3, 1, "", "interpolate_in_mass_izzard2012"], [32, 3, 1, "", "ktg93"], [32, 3, 1, "", "linear_extrapolation_q"], [32, 3, 1, "", "merge_multiplicities"], [32, 3, 1, "", "number"], [32, 3, 1, "", "poisson"], [32, 3, 1, "", "powerlaw"], [32, 3, 1, "", "powerlaw_constant"], [32, 3, 1, "", "powerlaw_constant_nocache"], [32, 3, 1, "", "powerlaw_extrapolation_q"], [32, 3, 1, "", "raghavan2010_binary_fraction"], [32, 3, 1, "", "sana12"], [32, 3, 1, "", "three_part_powerlaw"]], "binarycpython.utils.population_extensions.grid_logging": [[33, 2, 1, "", "grid_logging"]], "binarycpython.utils.population_extensions.grid_logging.grid_logging": [[33, 3, 1, "", "vb1print"], [33, 3, 1, "", "vb2print"], [33, 3, 1, "", "verbose_print"]], "binarycpython.utils.population_extensions.grid_options_defaults": [[34, 2, 1, "", "grid_options_defaults"]], "binarycpython.utils.population_extensions.grid_options_defaults.grid_options_defaults": [[34, 3, 1, "", "default_cache_dir"], [34, 3, 1, "", "get_grid_options_defaults_dict"], [34, 3, 1, "", "get_grid_options_descriptions"], [34, 3, 1, "", "grid_options_description_checker"], [34, 3, 1, "", "grid_options_help"], [34, 3, 1, "", "print_option_descriptions"], [34, 3, 1, "", "write_grid_options_to_rst_file"]], "binarycpython.utils.population_extensions.gridcode": [[35, 2, 1, "", "gridcode"]], "binarycpython.utils.population_extensions.gridcode.gridcode": [[35, 3, 1, "", "add_grid_variable"], [35, 3, 1, "", "delete_grid_variable"], [35, 3, 1, "", "rename_grid_variable"], [35, 3, 1, "", "update_grid_variable"]], "binarycpython.utils.population_extensions.metadata": [[36, 2, 1, "", "metadata"]], "binarycpython.utils.population_extensions.metadata.metadata": [[36, 3, 1, "", "add_ensemble_metadata"], [36, 3, 1, "", "add_system_metadata"]], "binarycpython.utils.population_extensions.slurm": [[37, 2, 1, "", "slurm"]], "binarycpython.utils.population_extensions.slurm.slurm": [[37, 3, 1, "", "get_slurm_status"], [37, 3, 1, "", "make_slurm_dirs"], [37, 3, 1, "", "set_slurm_status"], [37, 3, 1, "", "slurmID"], [37, 3, 1, "", "slurm_check_requirements"], [37, 3, 1, "", "slurm_dirs"], [37, 3, 1, "", "slurm_grid"], [37, 3, 1, "", "slurm_outfile"], [37, 3, 1, "", "slurm_queue_stats"], [37, 3, 1, "", "slurm_status_file"], [37, 3, 1, "", "slurmpath"]], "binarycpython.utils.population_extensions.spacing_functions": [[38, 2, 1, "", "spacing_functions"]], "binarycpython.utils.population_extensions.spacing_functions.spacing_functions": [[38, 3, 1, "", "const_dt"], [38, 3, 1, "", "const_int"], [38, 3, 1, "", "const_linear"], [38, 3, 1, "", "const_ranges"], [38, 3, 1, "", "gaussian_zoom"], [38, 3, 1, "", "peak_normalized_gaussian_func"]], "binarycpython.utils.population_extensions.version_info": [[39, 2, 1, "", "version_info"]], "binarycpython.utils.population_extensions.version_info.version_info": [[39, 3, 1, "", "minimum_stellar_mass"], [39, 3, 1, "", "parse_binary_c_version_info"], [39, 3, 1, "", "return_binary_c_version_info"]], "binarycpython.utils.run_system_wrapper": [[41, 1, 1, "", "run_system"]], "binarycpython.utils.useful_funcs": [[43, 1, 1, "", "calc_period_from_sep"], [43, 1, 1, "", "calc_sep_from_period"], [43, 1, 1, "", "maximum_mass_ratio_for_RLOF"], [43, 1, 1, "", "minimum_period_for_RLOF"], [43, 1, 1, "", "minimum_separation_for_RLOF"], [43, 1, 1, "", "ragb"], [43, 1, 1, "", "roche_lobe"], [43, 1, 1, "", "rzams"], [43, 1, 1, "", "zams_collision"]]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:method"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "method", "Python method"]}, "titleterms": {"binary_c": [0, 7, 9, 11, 12, 16, 19, 23, 40], "paramet": [0, 11], "section": 0, "star": [0, 6, 15, 16], "binari": [0, 5, 6, 13, 16, 19], "nucsyn": 0, "output": [0, 6, 8, 13, 14, 15, 16], "input": 0, "i": 0, "o": 0, "algorithm": 0, "misc": 0, "custom_logging_funct": 1, "modul": [1, 2, 3, 20, 21, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43], "dict": 2, "ensembl": [3, 10], "exampl": [4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 16, 17, 18, 19, 23, 40], "notebook": [4, 19], "content": [4, 23], "us": [5, 6, 7, 8, 9, 13, 14, 15, 17, 19, 23, 40], "case": [5, 6, 8, 13, 14, 15, 17], "black": 5, "hole": 5, "system": [5, 12, 17], "hertzsprung": 6, "russel": 6, "diagram": 6, "set": [6, 7, 8, 13, 14, 15, 16], "up": [6, 7, 8, 13, 14, 15, 16], "popul": [6, 8, 9, 12, 13, 14, 15, 16, 21, 22, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "object": [6, 8, 9, 12, 13, 14, 15, 16], "stellar": [6, 8, 13, 14], "grid": [6, 8, 13, 14, 15, 16, 22], "log": [6, 8, 9, 13, 14, 15, 16, 19], "handl": [6, 8, 10, 13, 14, 15, 16], "evolv": [6, 8, 13, 14, 15, 16], "tutori": [7, 9, 10, 11, 12, 16], "api": [7, 9, 12, 17, 19], "function": [7, 11, 12, 13, 14, 15, 16, 17, 19, 20], "python": [7, 9, 11, 12, 16, 19, 23, 40], "usag": [7, 9, 23, 40], "free": 7, "store": 7, "get": [7, 11], "inform": [7, 11], "from": [7, 9, 23, 40], "common": 8, "envelop": 8, "evolut": [8, 9], "custom": [9, 19], "routin": 9, "when": 9, "run": [9, 12, 16, 19, 23, 40], "directli": 9, "string": 9, "compact": 9, "mass": [9, 14, 15], "supernova": 9, "gener": [10, 23, 40], "data": 10, "extra": 11, "featur": 11, "about": 11, "build": [11, 23, 40], "pars": 11, "dictionari": 11, "modif": 11, "individu": 12, "singl": [12, 16], "run_system_wrapp": [12, 41], "via": [12, 23, 40], "zero": [13, 14], "ag": [13, 14], "luminos": [13, 14, 15], "ad": [13, 14, 15, 16], "variabl": [13, 14, 15, 16, 23, 40], "zam": [14, 15], "distribut": [14, 15], "initi": [14, 15], "A": [14, 15], "better": [14, 15], "sampl": [14, 15], "massiv": 15, "noteworthi": 16, "full": 16, "script": 16, "solar": 17, "basic": 18, "core": 19, "wrapper": 19, "run_binari": 19, "run_binary_with_log": 19, "line": 19, "util": 19, "run_system": 19, "other": 19, "class": [21, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "code": [22, 23, 24, 40], "option": 22, "public": 22, "moe": 22, "di": 22, "stefano": 22, "sampler": 22, "privat": 22, "welcom": 23, "s": 23, "document": [23, 40], "instal": [23, 40], "requir": [23, 40], "environ": [23, 40], "instruct": [23, 40], "pip": [23, 40], "sourc": [23, 40], "after": [23, 40], "without": [23, 40], "note": [23, 40], "develop": [23, 40], "docstr": [23, 40], "test": [23, 40], "coverag": [23, 40], "report": [23, 40], "unit": [23, 40], "faq": [23, 40], "issu": [23, 40], "indic": 23, "tabl": 23, "binarycpython": 24, "plot_funct": 25, "extens": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "hpc": 26, "moe_di_stefano_2017": 27, "analyt": 28, "cach": 29, "condor": 30, "dataio": 31, "distribution_funct": 32, "grid_log": 33, "grid_options_default": 34, "gridcod": 35, "metadata": 36, "slurm": 37, "spacing_funct": 38, "version_info": 39, "stellar_typ": 42, "useful_func": 43}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx.ext.viewcode": 1, "nbsphinx": 4, "sphinx": 56}})
\ No newline at end of file
+Search.setIndex({"docnames": ["binary_c_parameters", "custom_logging_functions", "dicts", "ensemble", "example_notebooks", "examples/notebook_BHBH", "examples/notebook_HRD", "examples/notebook_api_functionality", "examples/notebook_common_envelope_evolution", "examples/notebook_custom_logging", "examples/notebook_ensembles", "examples/notebook_extra_features", "examples/notebook_individual_systems", "examples/notebook_luminosity_function_binaries", "examples/notebook_luminosity_function_single", "examples/notebook_massive_remnants", "examples/notebook_population", "examples/notebook_solar_system", "examples/old/basic_example", "examples/old/workshop_example_notebook", "functions", "grid", "grid_options_descriptions", "index", "modules", "plot_functions", "population_extensions/HPC", "population_extensions/Moe_di_Stefano_2017", "population_extensions/analytics", "population_extensions/cache", "population_extensions/condor", "population_extensions/dataIO", "population_extensions/distribution_functions", "population_extensions/grid_logging", "population_extensions/grid_options_defaults", "population_extensions/gridcode", "population_extensions/metadata", "population_extensions/slurm", "population_extensions/spacing_functions", "population_extensions/version_info", "readme_link", "run_system_wrapper", "stellar_types", "useful_funcs"], "filenames": ["binary_c_parameters.rst", "custom_logging_functions.rst", "dicts.rst", "ensemble.rst", "example_notebooks.rst", "examples/notebook_BHBH.ipynb", "examples/notebook_HRD.ipynb", "examples/notebook_api_functionality.ipynb", "examples/notebook_common_envelope_evolution.ipynb", "examples/notebook_custom_logging.ipynb", "examples/notebook_ensembles.ipynb", "examples/notebook_extra_features.ipynb", "examples/notebook_individual_systems.ipynb", "examples/notebook_luminosity_function_binaries.ipynb", "examples/notebook_luminosity_function_single.ipynb", "examples/notebook_massive_remnants.ipynb", "examples/notebook_population.ipynb", "examples/notebook_solar_system.ipynb", "examples/old/basic_example.ipynb", "examples/old/workshop_example_notebook.ipynb", "functions.rst", "grid.rst", "grid_options_descriptions.rst", "index.rst", "modules.rst", "plot_functions.rst", "population_extensions/HPC.rst", "population_extensions/Moe_di_Stefano_2017.rst", "population_extensions/analytics.rst", "population_extensions/cache.rst", "population_extensions/condor.rst", "population_extensions/dataIO.rst", "population_extensions/distribution_functions.rst", "population_extensions/grid_logging.rst", "population_extensions/grid_options_defaults.rst", "population_extensions/gridcode.rst", "population_extensions/metadata.rst", "population_extensions/slurm.rst", "population_extensions/spacing_functions.rst", "population_extensions/version_info.rst", "readme_link.rst", "run_system_wrapper.rst", "stellar_types.rst", "useful_funcs.rst"], "titles": ["Binary_c parameters", "custom_logging_functions module", "dicts module", "ensemble module", "Example notebooks", "Example use case: Binary black hole systems", "Example use case: Hertzsprung-Russell diagrams", "Tutorial: Using the API functionality of binary_c-python", "Example use case: Common-envelope evolution", "Tutorial: Using custom logging routines with binary_c-python", "Tutorial: Generating and handling ensemble data", "Tutorial: Extra features and functionality of binary_c-python", "Tutorial: Running individual systems with binary_c-python", "Example use case: Zero-age stellar luminosity function in binaries", "Example use case: Zero-age stellar luminosity function", "Example use case: Massive star luminosity", "Tutorial: Running populations with binary_c-python", "Example use case: Solar system using the API functionality", "Basic example", "Binary_c and python example notebook", "functions module", "Population class module", "Population grid code options", "Welcome to binary_c-python\u2019s documentation!", "Binarycpython code", "plot_functions module", "Population class extension: HPC module", "Population class extension: Moe_di_Stefano_2017 module", "Population class extension: analytics module", "Population class extension: cache module", "Population class extension: condor module", "Population class extension: dataIO module", "Population class extension: distribution_functions module", "Population class extension: grid_logging module", "Population class extension: grid_options_defaults module", "Population class extension: gridcode module", "Population class extension: metadata module", "Population class extension: slurm module", "Population class extension: spacing_functions module", "Population class extension: version_info module", "Python module for binary_c", "run_system_wrapper module", "stellar_types module", "useful_funcs module"], "terms": {"The": [0, 1, 2, 3, 4, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 25, 26, 28, 29, 30, 31, 32, 33, 35, 37, 38, 40, 41], "follow": [0, 7, 9, 16, 19, 20, 22, 25, 32, 38], "chapter": [0, 22, 24], "contain": [0, 1, 2, 3, 7, 11, 12, 13, 14, 15, 16, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42], "all": [0, 1, 2, 3, 6, 7, 8, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 31, 32, 34, 38, 39, 40, 41], "current": [0, 2, 8, 9, 11, 13, 14, 15, 20, 21, 23, 26, 31, 40], "version": [0, 2, 7, 11, 14, 16, 20, 21, 23, 39, 40], "can": [0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 25, 26, 31, 32, 35, 40, 41, 43], "handl": [0, 2, 3, 4, 7, 12, 20, 21, 22, 23, 26, 27, 35, 36, 39, 41, 43], "along": [0, 22, 23, 34, 40], "descript": [0, 7, 11, 20, 22, 27, 32, 34], "other": [0, 1, 2, 6, 11, 12, 13, 14, 15, 16, 20, 22, 23, 25, 26, 32, 34, 40], "properti": [0, 20, 22, 25, 35], "thi": [0, 1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43], "inform": [0, 1, 3, 4, 6, 9, 12, 13, 14, 15, 16, 20, 21, 22, 25, 26, 32, 34, 36, 39], "wa": [0, 6, 11, 12, 14, 15, 16, 21, 22, 23, 31, 32, 40], "obtain": [0, 6, 8, 13, 14, 15, 31], "build": [0, 1, 4, 7, 20, 26, 32], "git": [0, 13, 15, 16, 20, 23, 40], "branch": [0, 6, 20, 23, 39, 40], "branch_david": 0, "revis": [0, 39], "6118": 0, "20220617": 0, "8463fa650": 0, "built": [0, 1, 20, 23, 40], "jun": 0, "17": [0, 5, 6, 8, 13, 15, 16, 17, 19], "2022": 0, "23": [0, 5, 13, 14, 16], "20": [0, 5, 6, 8, 9, 13, 14, 15, 16, 17, 19, 38], "34": [0, 5, 6, 7, 8, 9, 12, 13, 14, 16, 17], "metal": [0, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 32, 43], "set": [0, 1, 2, 3, 4, 5, 9, 11, 12, 17, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 37, 38, 39, 40], "e": [0, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 20, 21, 22, 23, 26, 29, 30, 31, 32, 35, 37, 38, 40, 43], "amount": [0, 2, 7], "mass": [0, 1, 2, 4, 5, 6, 7, 8, 11, 12, 13, 16, 17, 19, 20, 22, 25, 32, 35, 38, 39, 41, 43], "matter": [0, 7], "which": [0, 1, 2, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 26, 30, 31, 32, 34, 35, 37, 38, 39, 40, 41, 43], "hydrogen": [0, 6, 7], "helium": [0, 6, 7], "If": [0, 2, 6, 7, 8, 13, 14, 15, 16, 20, 21, 22, 23, 25, 26, 27, 28, 30, 31, 32, 35, 37, 40, 41, 43], "you": [0, 1, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 31, 32, 34, 35, 38, 40, 43], "ar": [0, 1, 2, 3, 4, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 25, 29, 30, 31, 32, 34, 35, 37, 38, 39, 40, 43], "us": [0, 1, 2, 3, 4, 11, 12, 16, 20, 21, 22, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 37, 38, 39, 41, 43], "bse": [0, 7, 9, 16, 32], "must": [0, 2, 6, 7, 8, 12, 13, 14, 15, 16, 17, 31, 35, 38], "1e": [0, 7, 8, 9, 12, 13, 19], "4": [0, 1, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 19, 21, 31, 32, 38], "0": [0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 26, 27, 29, 32, 35, 38, 40, 43], "03": [0, 1, 5, 7, 8, 13], "see": [0, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 19, 21, 22, 23, 25, 29, 31, 32, 35, 39, 40], "also": [0, 4, 5, 6, 7, 8, 9, 13, 14, 15, 16, 19, 20, 21, 22, 23, 26, 28, 31, 34, 39, 40, 43], "nucsyn_metal": [0, 7], "effective_metal": [0, 7, 19], "type": [0, 1, 2, 3, 5, 8, 12, 13, 14, 15, 16, 19, 20, 21, 22, 25, 26, 31, 32, 34, 35, 38, 39, 42, 43], "float": [0, 2, 3, 5, 7, 11, 12, 17, 20, 32, 33, 38, 43], "default": [0, 1, 2, 3, 6, 7, 9, 11, 13, 14, 15, 16, 19, 20, 21, 22, 26, 27, 29, 30, 31, 32, 34, 37, 38, 39, 41], "valu": [0, 1, 2, 3, 6, 7, 11, 12, 13, 14, 15, 16, 19, 20, 21, 22, 25, 28, 29, 32, 34, 35, 38], "02": [0, 5, 6, 7, 8, 9, 12, 13, 16, 17, 19, 32, 43], "effect": [0, 5, 7, 9, 13, 22, 32], "routin": [0, 2, 4, 7, 23, 25, 41], "like": [0, 1, 6, 7, 8, 13, 14, 15, 16, 19, 20, 22, 23, 25, 31, 38, 40], "schneider": [0, 7], "wind": [0, 5, 6, 7, 13], "loss": [0, 5, 7, 12, 13, 17], "default_to_metal": [0, 7], "1": [0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 25, 26, 30, 31, 32, 33, 35, 37, 38, 40, 41, 43], "just": [0, 2, 6, 7, 8, 16, 19, 20, 21, 22, 23, 27, 31, 39, 40, 43], "same": [0, 2, 7, 12, 16, 22, 23, 32, 35, 40, 41], "main": [0, 1, 6, 7, 9, 13, 14, 15, 16, 19, 22, 23, 40], "differ": [0, 6, 7, 8, 13, 14, 15, 16, 19, 20, 22, 23, 25, 38, 40], "between": [0, 7, 22, 32, 38], "rang": [0, 6, 7, 8, 12, 13, 14, 15, 16, 22, 32, 35, 38], "valid": [0, 7, 9, 20, 32], "while": [0, 5, 6, 7, 8, 13], "s": [0, 2, 3, 5, 6, 7, 8, 12, 14, 15, 16, 17, 19, 20, 21, 22, 26, 28, 29, 31, 32, 36, 43], "limit": [0, 6, 7, 8, 13, 14, 15, 16, 22, 25], "stellar": [0, 4, 5, 7, 15, 22, 23, 25, 32, 38, 39, 40, 42], "evolut": [0, 1, 4, 5, 6, 7, 12, 13, 14, 15, 16, 19, 22, 23, 25, 38, 40], "so": [0, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 21, 22, 25, 26, 31], "macro": [0, 11, 20, 39], "m_1": [0, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 35, 41], "initi": [0, 4, 5, 7, 11, 12, 19, 21, 32], "one": [0, 2, 7, 11, 14, 15, 16, 17, 18, 19, 22, 25, 29, 31, 34, 38, 41], "solar": [0, 4, 6, 7, 8, 11, 23, 32, 43], "unit": [0, 6, 7, 11, 20, 43], "intern": [0, 7, 11, 22], "index": [0, 7, 11, 12, 16, 17, 22, 23, 26, 32, 35], "m_2": [0, 5, 6, 7, 8, 9, 12, 13, 16, 18, 19], "two": [0, 2, 6, 7, 9, 20, 23, 31, 33, 40, 42, 43], "m_3": [0, 7], "three": [0, 7, 14, 15, 16, 32], "2": [0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 19, 20, 22, 23, 25, 26, 30, 32, 37, 38, 40], "m_4": [0, 7], "four": [0, 7], "3": [0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 19, 20, 22, 23, 30, 32, 37, 38, 40], "vrot1": 0, "equatori": 0, "rotat": [0, 32], "veloc": [0, 32], "km": 0, "hurlei": 0, "et": [0, 32, 43], "al": [0, 32, 43], "2000": [0, 5], "2002": 0, "prescript": [0, 5, 16], "sequenc": [0, 6, 9, 13, 14, 15, 19], "truli": 0, "non": [0, 2, 14, 15, 22, 23, 31, 40], "someth": [0, 6, 8, 12, 13, 14, 15, 22, 43], "small": [0, 5, 14, 15], "g": [0, 1, 2, 5, 6, 8, 9, 12, 13, 14, 15, 16, 18, 19, 20, 22, 23, 26, 29, 30, 31, 32, 37, 38, 40], "001": [0, 5], "vrot2": 0, "vrot_bs": 0, "vrot_breakup": 0, "vrot_sync": 0, "vrot_non_rot": 0, "vrot3": 0, "vrot4": 0, "prot1": 0, "prot2": 0, "prot3": 0, "period": [0, 5, 7, 8, 9, 12, 13, 14, 15, 16, 17, 19, 25, 32, 43], "dai": [0, 5, 8, 9, 12, 13, 16, 19, 32, 43], "prot4": 0, "inclination1": 0, "inclin": 0, "degre": 0, "inclination2": 0, "inclination3": 0, "inclination4": 0, "b_1": 0, "magnet": 0, "field": [0, 23, 40], "gauss": 0, "b_2": 0, "b_3": 0, "b_4": 0, "b_inclination1": 0, "b_inclination2": 0, "b_inclination3": 0, "b_inclination4": 0, "stellar_type_1": [0, 16, 25], "usual": [0, 5, 6, 7, 13, 14, 15, 16, 20, 22, 31, 32], "main_sequ": [0, 13, 14, 15, 19], "note": [0, 5, 6, 13, 14, 15, 16, 19, 20, 22, 26, 31, 35, 38, 39], "onli": [0, 2, 6, 9, 13, 14, 15, 16, 17, 19, 20, 22, 23, 26, 27, 31, 38, 40, 43], "work": [0, 2, 3, 9, 12, 13, 14, 15, 16, 19, 20, 22, 23, 26, 31, 40], "both": [0, 2, 7, 13, 14, 15, 16], "ag": [0, 4, 5, 6, 8, 15, 23, 38], "core_mass": [0, 9], "white": [0, 6], "dwarf": [0, 6, 14, 15], "black": [0, 4, 6, 23], "hole": [0, 4, 6, 23], "neutrn": 0, "integ": [0, 6, 22, 38, 43], "low_mass_m": 0, "ms": [0, 5, 9, 13], "hg": 0, "giant_branch": 0, "cheb": 0, "eagb": [0, 5], "5": [0, 1, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 19, 20, 29, 31, 32, 35], "tpagb": [0, 6], "6": [0, 1, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 19, 23, 40], "hem": 0, "7": [0, 1, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 18, 19, 23, 32, 40], "hehg": 0, "8": [0, 3, 5, 6, 8, 9, 12, 13, 14, 15, 16, 19, 31, 32], "hegb": [0, 5], "9": [0, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 19, 23, 40], "hewd": 0, "10": [0, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 22, 32, 38, 41], "cowd": 0, "11": [0, 5, 6, 8, 9, 12, 13, 15, 16, 17, 19], "onewd": 0, "12": [0, 5, 6, 9, 12, 13, 15, 16, 17, 19, 20, 32], "ns": [0, 1, 8, 9, 16], "13": [0, 5, 6, 8, 9, 12, 13, 15, 16, 17, 19], "bh": [0, 5, 8], "14": [0, 5, 6, 9, 12, 13, 15, 16, 17, 19], "massless_remn": 0, "15": [0, 5, 8, 9, 12, 13, 14, 15, 16, 17, 19, 22, 32], "low_mass_main_sequ": 0, "hertzsprung_gap": 0, "first_giant_branch": 0, "core_helium_burn": 0, "early_asymptotic_giant_branch": 0, "thermally_pulsing_asymptotic_giant_branch": 0, "naked_main_sequence_helium_star": 0, "naked_helium_star_hertzsprung_gap": 0, "naked_helium_star_giant_branch": 0, "helium_white_dwarf": 0, "carbon_oxygen_white_dwarf": 0, "oxygen_neon_white_dwarf": 0, "neutron_star": 0, "black_hol": 0, "star_with_no_mass": 0, "stellar_type_2": [0, 16, 25], "stellar_type_3": 0, "stellar_type_4": 0, "max_stellar_type_1": 0, "maximum": [0, 6, 7, 8, 9, 13, 14, 15, 16, 22, 32, 38, 43], "stop": [0, 6, 8, 13, 19, 20, 22], "when": [0, 1, 2, 3, 6, 7, 8, 11, 12, 16, 17, 20, 22, 23, 26, 28, 29, 30, 31, 32, 34, 37, 38, 40, 41], "reach": [0, 5, 6, 8], "neg": [0, 2, 38], "massless": 0, "remnant": [0, 6], "allow": [0, 2, 9, 18, 19, 22, 23, 29, 32, 40], "absolut": [0, 20, 38], "16": [0, 5, 8, 13, 14, 15, 17, 19, 32], "max_stellar_type_2": 0, "max_stellar_type_3": 0, "max_stellar_type_4": 0, "probabl": [0, 1, 2, 6, 8, 9, 13, 14, 15, 16, 19, 21, 22, 25, 31, 32, 34, 35], "weight": [0, 14, 15, 22], "appli": 0, "base": [0, 2, 3, 8, 13, 14, 15, 16, 20, 21, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 43], "sai": [0, 6], "function": [0, 1, 2, 3, 4, 5, 6, 8, 9, 18, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43], "run": [0, 1, 4, 5, 6, 7, 8, 13, 14, 15, 18, 20, 21, 22, 26, 28, 30, 32, 35, 37, 41, 43], "grid": [0, 4, 12, 20, 21, 23, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 43], "simul": [0, 1, 6, 8, 9, 13, 14, 15, 16, 37], "sum": [0, 2], "should": [0, 1, 2, 5, 6, 8, 12, 13, 14, 15, 16, 19, 20, 22, 23, 25, 26, 30, 31, 32, 34, 37, 38, 40, 41], "phasevol": [0, 16], "system": [0, 4, 6, 7, 8, 9, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 25, 32, 33, 36, 40, 41, 43], "phase": [0, 6, 8, 13, 14, 15], "volum": 0, "binary_grid": 0, "null": [0, 6, 7, 8, 20], "stellar_structure_algorithm": 0, "structur": [0, 2, 8, 20, 22, 25], "modifi": [0, 2, 9, 23, 40], "none": [0, 1, 2, 3, 5, 6, 7, 8, 13, 14, 15, 16, 17, 19, 20, 21, 22, 26, 27, 29, 30, 31, 32, 34, 35, 37, 38, 43], "extern": 0, "defin": [0, 1, 16, 17, 21, 25, 32, 35], "call": [0, 1, 2, 11, 12, 14, 15, 16, 17, 20, 21, 22, 25, 26, 30, 31, 33, 35, 37, 38, 39, 41], "code": [0, 1, 6, 8, 9, 12, 13, 14, 15, 16, 18, 19, 21, 25, 30, 31, 32, 34, 35, 37, 38, 41, 43], "yet": [0, 2, 19, 20, 22, 25], "implement": [0, 2, 22], "stellar_structure_algorithm_modified_bs": 0, "stellar_structure_algorithm_non": 0, "stellar_structure_algorithm_external_funct": 0, "stellar_structure_algorithm_mint": 0, "solver": 0, "forward": 0, "euler": 0, "could": [0, 3, 14, 15, 16, 19, 20, 39], "rk2": 0, "rk4": 0, "predictor": 0, "corretor": 0, "solver_forward_eul": 0, "solver_rk2": 0, "solver_rk4": 0, "solver_predictor_corrector": 0, "max_evolution_tim": [0, 1, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 19, 38], "myr": [0, 6, 8, 12, 13, 14, 15, 17, 38], "15000": [0, 5, 7, 9, 12, 16, 17, 19], "max_model_numb": 0, "number": [0, 2, 3, 5, 6, 8, 13, 14, 15, 16, 17, 19, 20, 21, 22, 26, 31, 32, 33, 34, 35, 38], "model": [0, 1, 6, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 22], "ignor": [0, 2, 9, 12, 16, 19, 22, 32, 35], "monte_carlo_kick": 0, "turn": [0, 2, 3, 5, 12, 16, 20], "mont": [0, 22], "carlo": [0, 22], "sn": [0, 5, 6, 8, 13, 14, 15, 17, 19], "kick": [0, 5, 19, 22], "On": [0, 16, 20, 31], "true": [0, 2, 3, 5, 6, 8, 11, 13, 14, 15, 16, 18, 19, 20, 21, 22, 25, 26, 28, 30, 31, 34, 35, 37, 38, 39], "inde": [0, 14, 15], "broken": 0, "fals": [0, 3, 5, 6, 8, 13, 14, 15, 16, 17, 20, 21, 22, 25, 26, 28, 29, 30, 31, 35, 37, 38, 39], "disable_debug": 0, "disabl": [0, 16], "debug": [0, 5, 6, 8, 13, 14, 15, 16, 22, 33], "ha": [0, 1, 2, 5, 6, 8, 9, 11, 13, 14, 15, 16, 19, 20, 22, 28, 31, 35], "an": [0, 2, 3, 6, 7, 8, 11, 12, 13, 14, 15, 16, 19, 20, 22, 23, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 41], "requir": [0, 3, 8, 12, 13, 14, 15, 16, 17, 19, 20, 22, 25, 26, 32, 41], "rebuild": [0, 22, 23, 26, 40], "timestep_log": 0, "timestep": [0, 8, 9, 12, 13, 14, 15], "log": [0, 1, 4, 5, 7, 12, 17, 18, 20, 22, 23, 25, 31, 32, 33, 35, 38, 40, 41, 43], "rejects_in_log": 0, "show": [0, 4, 5, 6, 7, 8, 12, 13, 14, 15, 16, 19, 22, 25, 38], "reject": 0, "vandenheuvel_log": 0, "van": 0, "den": 0, "heuvel": 0, "custom_timeout_tim": 0, "custom": [0, 1, 2, 3, 4, 6, 7, 8, 12, 13, 14, 15, 16, 20, 21, 22, 23, 25, 32, 41], "timeout": 0, "time": [0, 1, 2, 3, 5, 6, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 25, 28, 31, 32, 33, 38], "compil": [0, 1, 9, 16, 19, 23, 40], "david_custom_timeout": 0, "100": [0, 5, 6, 8, 13, 14, 15, 32, 38], "evolution_split": 0, "split": [0, 5, 12, 16, 17, 19, 22, 30, 37], "evolutionari": [0, 12], "splitpoint": 0, "supernova": [0, 5, 8, 22], "occur": [0, 43], "disable_ev": 0, "whether": [0, 7, 16, 20, 21, 22, 25, 30, 31, 32, 34, 37, 38, 39, 43], "new": [0, 2, 6, 8, 12, 13, 14, 15, 16, 20, 21, 26, 31, 32, 35], "event": [0, 5, 6], "we": [0, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 26, 27, 28, 29, 30, 31, 32, 34, 37, 38, 40, 43], "evolution_splitting_sn_eccentricity_threshold": 0, "threshold": [0, 20, 22], "eccentr": [0, 7, 9, 12, 13, 14, 15, 16, 17, 19, 25, 32, 43], "abov": [0, 6, 9, 12, 14, 15, 16, 20, 21, 32], "happen": [0, 6, 8], "01": [0, 5, 6, 8, 9, 13, 16, 19], "evolution_splitting_sn_n": 0, "evolution_splitting_maxdepth": 0, "max": [0, 8, 9, 13, 14, 15, 16, 22, 32], "equation_of_state_algorithm": 0, "equat": 0, "state": [0, 31], "paczynski": 0, "equation_of_state_paczynski": 0, "opacity_algorithm": 0, "opac": 0, "ferguson": 0, "opal": 0, "opacity_algorithm_paczynski": 0, "opacity_algorithm_ferguson_op": 0, "opacity_algorithm_star": 0, "wind_mass_loss": [0, 5], "2018": [0, 1, 5], "sander": 0, "wink": 0, "2020": 0, "lbv": 0, "unsign": 0, "wind_algorithm_non": [0, 5], "wind_algorithm_hurley2002": 0, "wind_algorithm_schneider2018": 0, "wind_algorithm_binary_c_2020": [0, 5], "wind_algorithm_hendriks_2022": 0, "extra": [0, 4, 16, 22, 23, 33, 35, 41], "gbwind": 0, "first": [0, 2, 6, 8, 12, 13, 14, 15, 16, 17, 20, 23, 26, 31, 32, 40, 43], "red": [0, 6, 14, 15, 17], "giant": [0, 6, 17], "reimer": 0, "choos": [0, 6, 8, 9, 13, 19, 25, 26, 31], "gb_reimers_eta": 0, "rate": [0, 14, 15, 32], "schroeder": 0, "cuntz": 0, "2005": [0, 5], "gb_wind_reim": 0, "gb_wind_schroeder_cuntz_2005": 0, "gb_wind_goldman_etal_2017": 0, "gb_wind_beasor_etal_2020": 0, "postagbwind": 0, "special": [0, 16], "post": [0, 5, 6, 8, 9, 21], "A": [0, 2, 4, 16, 29, 43], "gb": 0, "postagb_wind_use_gi": 0, "mean": [0, 5, 20, 22, 23, 30, 32, 37, 38, 40], "whatev": [0, 9, 19, 20, 21, 23, 26, 31, 40], "prescrib": 0, "option": [0, 1, 2, 6, 8, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 26, 27, 29, 31, 32, 34, 35, 38, 40, 43], "includ": [0, 1, 2, 6, 9, 12, 14, 15, 16, 17, 20, 21, 23, 25, 31, 32, 40], "postagb_wind_non": 0, "postagb_wind_krticka2020": 0, "krticka": 0, "kub\u00e1t": 0, "krtickov\u00e1": 0, "635": [0, 13], "a173": 0, "postagb_wind_gi": 0, "teff_postagb_min": 0, "minimum": [0, 7, 20, 22, 32, 38, 39, 43], "temperatur": [0, 17, 25, 32], "teff_postagb_max": 0, "6000": 0, "k": [0, 6, 17, 32], "120000": 0, "mattsson_orich_tpagbwind": 0, "experiment": [0, 20], "mattsson": 0, "oxygen": [0, 6], "rich": 0, "mattsson_mass_loss": 0, "magnetic_braking_factor": 0, "multipli": [0, 2, 14, 15, 22, 38], "brake": 0, "angular": [0, 17, 25], "momentum": [0, 17], "magnetic_braking_gamma": 0, "gamma": 0, "factor": [0, 2, 22, 38], "rappaport": 0, "style": [0, 20, 33], "express": [0, 20], "magnetic_braking_algorithm": 0, "andronov": 0, "pinnsonneault": 0, "sill": 0, "2003": [0, 32], "barn": 0, "kim": 0, "2010": [0, 22, 32], "magnetic_braking_algorithm_hurley_2002": 0, "magnetic_braking_algorithm_andronov_2003": 0, "magnetic_braking_algorithm_barnes_2010": 0, "magnetic_braking_algorithm_rappaport_1983": 0, "helium_flash_mass_loss": 0, "lost": [0, 8, 19], "flash": 0, "multipl": [0, 2, 6, 22, 32], "cf": 0, "eta": [0, 8, 13], "formula": [0, 20], "4e": [0, 19], "8e": 0, "gbwindfac": 0, "tpagbwindfac": 0, "eagbwindfac": 0, "nieuwenhuijzen_windfac": 0, "nieuwenhuijzen": 0, "de": [0, 5], "jager": 0, "tpagbwind": 0, "dure": [0, 5, 19], "karaka": 0, "vassiliadi": 0, "wood": 0, "1993": 0, "bloecker": 0, "loon": 0, "rob": [0, 32, 43], "c": [0, 1, 5, 7, 9, 12, 16, 23, 40, 41], "variant": 0, "respect": [0, 30, 32, 37], "goldman": 0, "2017": [0, 13, 16, 22, 32], "beasor": 0, "tpagb_wind_vw93_karaka": 0, "tpagb_wind_vw93_orig": 0, "tpagb_wind_reim": 0, "tpagb_wind_bloeck": 0, "tpagb_wind_van_loon": 0, "tpagb_wind_rob_cwind": 0, "tpagb_wind_vw93_karakas_carbon_star": 0, "tpagb_wind_vw93_orig_carbon_star": 0, "tpagb_wind_mattsson": 0, "tpagb_wind_goldman_etal_2017": 0, "tpagb_wind_beasor_etal_2020": 0, "eagbwind": 0, "vw93": 0, "eagb_wind_bs": 0, "eagb_wind_goldman_etal_2017": 0, "eagb_wind_beasor_etal_2020": 0, "wind_gas_to_dust_ratio": 0, "ga": 0, "dust": 0, "ratio": [0, 6, 7, 8, 13, 14, 15, 16, 32, 43], "calcul": [0, 2, 6, 8, 13, 14, 15, 16, 20, 22, 28, 32, 35, 43], "typic": 0, "200": [0, 5], "milki": 0, "wai": [0, 2, 12, 14, 15, 21, 22, 26], "500": [0, 5], "magellan": 0, "cloud": 0, "approxim": [0, 6, 8], "mw": 0, "vwind_multipli": 0, "vwind_beta": 0, "beta": 0, "speed": [0, 29], "where": [0, 1, 2, 6, 13, 14, 15, 16, 20, 22, 23, 26, 28, 31, 32, 34, 38, 40], "vwind": 0, "sqrt": 0, "escap": 0, "125": [0, 5, 16], "from": [0, 2, 3, 5, 6, 8, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 25, 26, 30, 31, 32, 35, 37, 39, 43], "superwind_mira_switchon": 0, "In": [0, 2, 6, 8, 9, 11, 12, 13, 14, 15, 16, 19, 22, 31, 38], "agb": [0, 6], "superwind": 0, "given": [0, 1, 3, 7, 13, 14, 15, 18, 19, 20, 21, 22, 26, 29, 30, 31, 32, 35, 37, 38, 41, 43], "mira": 0, "vari": [0, 6, 8, 16], "switch": 0, "vw93_mira_shift": 0, "depend": [0, 6, 20, 22, 23, 25, 32, 40], "plu": 0, "offset": 0, "vw93_multipli": 0, "tpagb_reimers_eta": 0, "tout_pringle_1992_multipli": 0, "tout": [0, 43], "pringl": 0, "1992": 0, "artificial_mass_accretion_r": 0, "d": [0, 1, 5, 6, 8, 9, 12, 13, 16, 17, 20, 38], "constant": [0, 2, 14, 15, 25, 32, 38], "accret": [0, 5], "n": [0, 1, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 18, 19, 20, 22, 26, 32], "scanf": 0, "artificial_mass_accretion_rate_by_stellar_typ": 0, "artificial_angular_momentum_accretion_r": 0, "artificial_orbital_angular_momentum_accretion_r": 0, "orbit": [0, 5, 7, 8, 13, 17, 25, 32, 43], "artificial_accretion_start_tim": 0, "artifici": 0, "artificial_accretion_ignor": 0, "artificial_accretion_end_tim": 0, "end": [0, 5, 20, 22, 28, 32], "wr_wind": 0, "massiv": [0, 4, 5, 6, 8, 13, 17, 23, 32], "wr": 0, "maeder": 0, "meynet": 0, "nugi": 0, "lamer": 0, "john": 0, "eldridg": 0, "vink": 0, "earli": [0, 23, 40], "lynnett": 0, "drai": 0, "thesi": 0, "wr_wind_bs": 0, "wr_wind_maeder_meynet": 0, "wr_wind_nugis_lam": 0, "wr_wind_eldridg": 0, "wr_wind_fac": 0, "wrwindfac": 0, "synonym": 0, "instead": [0, 5, 14, 15, 20, 22], "bh_prescript": [0, 5], "prescrit": 0, "relat": 0, "newli": 0, "form": [0, 6, 7, 8, 13, 14, 15, 16, 21, 26, 31, 34, 39], "its": [0, 2, 3, 13, 14, 15, 16, 17, 20, 22, 23, 25, 26, 27, 31, 34, 38, 39, 40, 41], "progenitor": [0, 16], "co": [0, 5], "core": [0, 6, 8, 13, 14, 15, 16, 22, 25], "bh_hurley2002": 0, "bh_belczynski": [0, 5], "belczynski": 0, "bh_spera2015": 0, "spera": 0, "2015": [0, 5], "bh_fryer12_delai": 0, "fryer": 0, "2012": [0, 32], "delai": [0, 22], "bh_fryer12_rapid": [0, 5], "rapid": 0, "bh_fryer12_startrack": 0, "startrack": 0, "ppisn_prescript": 0, "pulsat": 0, "pair": [0, 2, 5, 20, 35, 39], "instabl": 0, "undergo": [0, 8], "ppisn": 0, "pisn": 0, "flag": [0, 1, 21, 22, 31, 38, 39], "binary_c_paramet": [0, 6, 13, 14, 15, 16], "h": [0, 5, 9, 20], "farmer": 0, "2019": [0, 5, 19], "hendrik": [0, 19, 23, 40], "21": [0, 1, 5, 6, 13, 16, 19], "prep": 0, "fit": [0, 2, 12, 32, 43], "data": [0, 3, 4, 5, 6, 7, 8, 12, 13, 14, 15, 16, 17, 19, 20, 22, 23, 26, 27, 31, 32, 35, 41, 43], "ppisn_non": 0, "ppisn_farmer19": 0, "ppisn_new_fit_21": 0, "ppisn_additional_massloss": 0, "addit": 0, "massloss": 0, "top": [0, 16, 35], "result": [0, 1, 2, 3, 6, 8, 12, 13, 14, 15, 16, 19, 20, 22, 23, 26, 31, 32, 38, 40], "posit": [0, 2, 8, 32], "ppisn_core_mass_range_shift": 0, "shift": 0, "taken": [0, 2, 9, 32], "account": [0, 22, 32], "remov": [0, 2, 8, 12, 16, 17, 20, 21], "lower": [0, 13, 16, 32, 35, 38], "higher": [0, 6, 8, 13, 14, 15, 16, 20, 22, 23, 32, 40], "ppisn_massloss_multipli": 0, "p": [0, 6, 8, 13, 14, 15, 17, 32, 34], "THe": [0, 21], "affect": [0, 6], "use_lwn_fallback": 0, "nazehdin": 0, "lovegrov": 0, "wooslei": 0, "envelop": [0, 4, 5, 6, 23], "eject": [0, 8, 17], "fail": [0, 6, 8, 13, 14, 16, 20, 22, 23, 31, 40], "sn_kick_distribution_ii": 0, "distribut": [0, 2, 4, 8, 13, 16, 20, 26, 27, 32, 38], "ii": [0, 19], "collaps": 0, "fix": [0, 5, 12, 20, 21, 25, 31, 32, 33], "maxwellian": 0, "kick_velocity_fix": 0, "kick_velocity_maxwellian": 0, "kick_velocity_custom": 0, "sn_kick_distribution_ecap": 0, "electron": 0, "captur": [0, 20], "sn_kick_distribution_ns_n": 0, "neutron": [0, 6, 16], "surviv": [0, 17], "merger": [0, 5], "sn_kick_distribution_ibc": 0, "born": [0, 6, 13, 14, 15], "after": [0, 6, 8, 9, 13, 14, 15, 16, 21, 22, 31, 35, 38], "ib": [0, 5], "sn_kick_distribution_grb_collapsar": 0, "collapsar": 0, "sn_kick_distribution_tz": 0, "death": 0, "thorn": 0, "zytkow": 0, "object": [0, 2, 3, 4, 7, 11, 17, 20, 21, 22, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41], "sn_kick_distribution_aic_bh": 0, "induc": 0, "sn_kick_distribution_bh_bh": 0, "sn_kick_distribution_bh_n": 0, "sn_kick_distribution_ia_hybrid_hecowd": 0, "ani": [0, 3, 12, 16, 20, 21, 23, 26, 32, 35, 39, 40], "survivor": 0, "hybrid": 0, "he": [0, 5], "snia": 0, "explos": [0, 5, 6, 19], "sn_kick_distribution_ia_hybrid_hecowd_sublumin": 0, "sublumin": 0, "sn_kick_distribution_ppisn": 0, "sn_kick_distribution_pisn": 0, "sn_kick_distribution_phdi": 0, "phdi": 0, "sn_kick_dispersion_ii": [0, 5], "dispers": [0, 38], "190": [0, 5, 19], "sn_kick_dispersion_ecap": 0, "sn_kick_dispersion_ns_n": 0, "sn_kick_dispersion_ibc": [0, 5], "sn_kick_dispersion_grb_collapsar": [0, 5], "sn_kick_dispersion_tz": 0, "sn_kick_dispersion_aic_bh": 0, "sn_kick_dispersion_bh_bh": 0, "sn_kick_dispersion_bh_n": 0, "sn_kick_dispersion_ia_hybrid_hecowd": 0, "sn_kick_dispersion_ia_hybrid_hecowd_sublumin": 0, "sn_kick_dispersion_ppisn": 0, "sn_kick_dispersion_pisn": 0, "sn_kick_dispersion_phdi": 0, "sn_kick_companion_ia_h": 0, "algothim": 0, "companion": [0, 5, 19, 31], "ia": [0, 8], "liu": 0, "wheeler": 0, "1975": 0, "sn_impulse_non": 0, "sn_impulse_liu2015": 0, "sn_impulse_wheeler1975": 0, "sn_kick_companion_ia_eld": 0, "eld": 0, "sub": [0, 2, 20], "mch": 0, "sn_kick_companion_ia_chand": 0, "sn_kick_companion_a": 0, "sn_kick_companion_ecap": 0, "sn_kick_companion_ia_he_co": 0, "sn_kick_companion_ia_chand_co": 0, "sn_kick_companion_ns_n": 0, "sn_kick_companion_grb_collapsar": 0, "grb": 0, "rapidli": [0, 23, 40], "ibc": 0, "sn_kick_companion_hestaria": 0, "sn_kick_companion_ibc": 0, "sn_kick_companion_ii": 0, "sn_kick_companion_iia": 0, "iia": 0, "sn_kick_companion_wdkick": 0, "wd": 0, "sn_kick_companion_tz": 0, "sn_kick_companion_aic_bh": 0, "sn_kick_companion_bh_bh": 0, "merg": [0, 2, 5, 6, 8, 22, 26, 31, 32, 33], "sn_kick_companion_bh_n": 0, "sn_kick_companion_ia_hybrid_hecowd": 0, "sn_kick_companion_ia_hybrid_hecowd_sublumin": 0, "sn_kick_companion_ppisn": 0, "sn_kick_companion_pisn": 0, "sn_kick_companion_phdi": 0, "wd_sigma": 0, "thei": [0, 2, 5, 6, 8, 13, 16, 17, 21, 22, 25, 26, 30, 37, 38], "zero": [0, 1, 4, 5, 6, 8, 15, 20, 22, 23, 31], "wd_kick": 0, "wd_kick_direct": 0, "direct": [0, 21], "random": [0, 5, 7, 19, 22], "up": [0, 1, 4, 9, 12, 17, 20, 21, 26, 27, 29, 30, 32, 37], "backward": 0, "inward": 0, "outward": 0, "kick_random": 0, "kick_straight_up": 0, "kick_forward": 0, "kick_backward": 0, "kick_inward": 0, "kick_outward": 0, "wd_kick_when": 0, "decid": [0, 2, 9, 18, 19, 20, 21, 22, 26], "birth": 0, "rlof": [0, 5, 7, 43], "puls": [0, 6, 43], "wd_kick_pulse_numb": 0, "everi": [0, 8, 20, 22, 23, 40], "wd_kick_end_agb": 0, "wd_kick_first_rlof": 0, "wd_kick_at_given_puls": 0, "wd_kick_at_every_puls": 0, "desir": 0, "pre": [0, 5, 8, 16, 19, 25], "minimum_helium_ignition_core_mass": 0, "ignit": [0, 6], "case": [0, 2, 4, 7, 16, 20, 22, 23, 26, 31, 38, 40], "strip": [0, 7, 12, 17], "make": [0, 1, 2, 3, 5, 6, 8, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 25, 26, 30, 31, 32, 40, 41, 43], "sdb": 0, "sdo": 0, "total": [0, 2, 6, 8, 13, 14, 15, 16, 19, 20, 22, 25, 32, 35], "minimum_co_core_mass_for_carbon_ignit": 0, "carbon": [0, 5, 6], "assum": [0, 6, 8, 13, 17, 25, 38], "mc": [0, 5, 16, 19, 31], "bagb": 0, "6msun": 0, "around": [0, 9, 12, 18, 19], "08msun": 0, "pol": 0, "1998": [0, 5, 32], "08": [0, 5, 8, 13, 19], "minimum_co_core_mass_for_neon_ignit": 0, "neon": [0, 6], "42msun": 0, "have": [0, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 19, 20, 21, 22, 23, 25, 26, 30, 31, 34, 37, 40, 41], "explod": [0, 5], "electon": 0, "42": [0, 5, 8, 13, 16], "minimum_mcbagb_for_nondegenerate_carbon_ignit": 0, "degener": 0, "25msun": 0, "25": [0, 5, 8, 13, 19], "maximum_mcbagb_for_degenerate_carbon_ignit": 0, "max_neutron_star_mass": 0, "befor": [0, 2, 5, 6, 8, 13, 14, 15, 16, 21, 22, 23, 31, 32, 40], "2msun": 0, "chandrasekhar_mass": 0, "chandrasekhar": 0, "44msun": 0, "38": [0, 5, 8, 13, 16], "delta_mcmin": 0, "reduc": [0, 5], "third": [0, 17, 32, 38], "dredg": 0, "As": [0, 6, 8, 12, 13, 14, 15, 16], "izzard": [0, 6, 8, 13, 15, 23, 40], "2004": [0, 5], "increas": [0, 5, 8, 13, 14, 15], "henc": [0, 8, 14, 15, 17], "lambda_min": 0, "effici": [0, 6, 8], "lambda": [0, 5, 8], "lambda_mult": 0, "impli": 0, "onc": [0, 38], "mcmin": 0, "lambda_multipli": 0, "minimum_envelope_mass_for_third_dredgeup": 0, "straniero": 0, "suggest": [0, 23, 40], "5msun": 0, "howev": [0, 9, 13, 14, 15, 16], "circumstanti": 0, "evid": 0, "2009": 0, "well": [0, 3, 9, 12, 13, 14, 15, 22, 23, 40], "newer": [0, 2, 23, 40], "stancliff": 0, "low": [0, 6, 8, 14, 15, 32], "nearer": 0, "more": [0, 1, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 38, 40], "appropri": [0, 16, 22, 26, 29, 30, 31, 35, 37], "mass_of_pmz": 0, "partial": 0, "mix": [0, 2, 22], "zone": 0, "tabl": [0, 32, 38], "ask": [0, 7, 43], "abat": 0, "detail": [0, 6, 12, 20, 22], "seri": [0, 38], "paper": 0, "2013": 0, "2014": [0, 5, 32], "use_tabular_intershell_abundances_karakas_2012": 0, "c13_eff": 0, "intershel": 0, "region": [0, 38], "process": [0, 6, 8, 13, 14, 15, 16, 18, 19, 20, 21, 22, 26, 30], "gallino": 0, "busso": 0, "lugaro": 0, "provid": [0, 16, 21, 22, 23, 26, 32, 40, 41], "maria": 0, "nucsyn_s_process": 0, "mc13_pocket_multipli": 0, "tides_convective_damp": 0, "tidal": [0, 5], "convect": 0, "damp": 0, "tides_hurley2002": 0, "zahn": 0, "197x": 0, "timescal": 0, "hut": 0, "tides_zahn1989": 0, "1989": [0, 13], "e2_prescript": 0, "how": [0, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 19, 22, 28, 32, 35], "e2": 0, "siess": 0, "e2_hurley_2002": 0, "e2_izzard": 0, "e2_mint": 0, "dtfac": 0, "decreas": 0, "hbbtfac": 0, "modul": [0, 7, 8, 11, 13, 14, 15, 16, 17, 22, 24], "hot": 0, "bottom": [0, 16, 35], "burn": 0, "wind_multiplier_": 0, "specifi": [0, 22, 26, 38], "intger": 0, "By": [0, 6, 13, 14, 15, 16, 19, 22], "wind_type_multiplier_": 0, "pre_main_sequ": 0, "rather": [0, 2, 9, 12, 16, 20, 22, 26, 39], "fraction": [0, 13, 19, 22, 32], "radii": [0, 43], "match": [0, 2, 6, 12, 13, 16, 17, 22, 25, 29], "railton": 0, "pre_main_sequence_fit_lob": 0, "forc": [0, 5, 22, 28], "roch": [0, 5, 8, 43], "lobe": [0, 5, 8, 43], "done": [0, 2, 5, 6, 13, 14, 15, 16, 19, 22, 23, 31, 40], "small_envelope_method": 0, "method": [0, 9, 11, 12, 13, 14, 15, 16, 19, 21, 22, 27, 31, 33, 34, 35, 39], "determin": [0, 7, 9, 13, 14, 15, 16, 21, 32, 35, 43], "radiu": [0, 1, 6, 9, 16, 18, 25, 43], "veri": [0, 5, 6, 7, 8, 9, 12, 14, 15, 16, 31, 35, 38], "thin": 0, "miller": 0, "bertolami": 0, "2016": 0, "small_envelope_method_bs": 0, "small_envelope_method_miller_bertolami": 0, "timestep_modul": 0, "global": [0, 2, 13, 14, 15, 20, 32, 38], "timestep_multipli": 0, "maximum_timestep": 0, "zoomfac_multiplier_decreas": 0, "zoomfac_multiplier_increas": 0, "zoom": [0, 38], "succe": 0, "maximum_timestep_factor": 0, "subsequ": 0, "maximum_nuclear_burning_timestep": 0, "nuclear": 0, "nova_retention_method": 0, "retain": 0, "nova": [0, 6, 8], "nova_retention_fract": 0, "pend": [0, 5], "nova_retention_algorithm_const": 0, "nova_retention_algorithm_claeys2014": 0, "nova_retention_algorithm_hillman2015": 0, "mint_metal": 0, "mint": 0, "It": [0, 6, 7, 8, 11, 12, 13, 14, 15, 16, 17, 19, 22, 23, 31, 34, 40], "normal": [0, 2, 21, 26, 38, 39], "gaia_teff_binwidth": 0, "log10": [0, 6, 8, 13, 14, 15, 16, 32, 38], "bin": [0, 8, 13, 14, 15, 20, 22, 23, 38, 40], "width": [0, 8, 20], "gaia": [0, 32], "hrd": [0, 6, 8], "gaia_l_binwidth": 0, "luminos": [0, 4, 6, 23, 25], "gaia_colour_transform_method": 0, "select": [0, 3, 12, 13, 17, 19, 20], "transform": [0, 3], "colour": 0, "scheme": 0, "gaia_conversion_ubvri_univariate_jordi2010": 0, "jordi": 0, "univari": 0, "ubvri": 0, "gaia_conversion_ubvri_bivariate_jordi2010": 0, "bivari": 0, "gaia_conversion_ugriz_univariate_jordi2010": 0, "gaia_conversion_ugriz_bivariate_jordi2010": 0, "ugriv": 0, "gaia_conversion_ubvri_univariate_evans2018": 0, "evan": 0, "dr2": 0, "gaia_conversion_ugriz_univariate_evans2018": 0, "gaia_conversion_ubvri_riello2020": 0, "riello": 0, "dr3": 0, "gaia_conversion_ugriz_riello2020": 0, "rotationally_enhanced_mass_loss": 0, "enabl": [0, 7], "rotation": 0, "enhanc": 0, "langer": 0, "rotationally_enhanced_massloss_langer_formula": 0, "rotationally_enhanced_expon": 0, "rotationally_enhanced_massloss_non": 0, "rotationally_enhanced_massloss_angmom": 0, "rotationally_enhanced_massloss_langer_formula_and_angmom": 0, "agb_core_algorithm": 0, "overshoot": 0, "agb_core_algorithm_default": 0, "agb_core_algorithm_hurlei": 0, "agb_core_algorithm_karaka": 0, "agb_radius_algorithm": 0, "agb_radius_algorithm_default": 0, "agb_radius_algorithm_hurlei": 0, "agb_radius_algorithm_karaka": 0, "agb_luminosity_algorithm": 0, "agb_luminosity_algorithm_default": 0, "agb_luminosity_algorithm_hurlei": 0, "agb_luminosity_algorithm_karaka": 0, "agb_3dup_algorithm": 0, "agb_third_dredge_up_algorithm_default": 0, "agb_third_dredge_up_algorithm_hurlei": 0, "agb_third_dredge_up_algorithm_karaka": 0, "agb_third_dredge_up_algorithm_stancliff": 0, "overspin_algorithm": 0, "what": [0, 1, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 19, 22, 23, 26, 32, 34, 38, 39, 40, 41], "do": [0, 1, 2, 5, 6, 7, 8, 9, 11, 13, 14, 15, 16, 19, 21, 22, 23, 25, 26, 31, 32, 34, 38, 40, 43], "breakup": 0, "overspin_bs": 0, "conserv": 0, "transfer": [0, 6, 22], "back": [0, 2, 5], "overspin_massloss": 0, "rotationally_enhanced_massloss": 0, "lose": [0, 19], "carri": 0, "awai": [0, 13], "expon": [0, 20], "power": [0, 8, 14, 15, 22, 23, 32, 40], "rais": [0, 2, 14, 16, 20, 22], "batchmod": 0, "control": [0, 6, 13, 14, 15, 16, 22], "variabl": [0, 4, 6, 7, 8, 20, 22, 30, 31, 35], "know": [0, 1, 2, 7, 12, 14, 15, 22, 31, 34], "speedtest": 0, "off": [0, 5, 16, 19, 22], "use_fixed_timestep_": 0, "boolean": [0, 2, 7, 20, 21, 22, 25, 39, 43], "task": [0, 19, 20, 21, 25, 26, 29, 32, 38, 41, 43], "perform": [0, 31], "For": [0, 2, 9, 12, 13, 14, 15, 25], "binary_c_macro": 0, "particularli": 0, "binary_c_task_": 0, "orbiting_object": [0, 17], "usag": [0, 4], "spinrat": 0, "central_object": 0, "orbiting_objects_log": [0, 17], "orbiting_objects_wind_accretion_multipli": 0, "orbiting_objects_close_pc_threshold": 0, "close": [0, 5, 8, 14, 15, 17, 31], "percentag": 0, "orbiting_objects_tides_multipli": 0, "torqu": 0, "evaporate_escaped_orbiting_object": 0, "evapor": 0, "rlof_transition_objects_escap": 0, "otherwis": [0, 2, 20, 21, 22, 26, 28, 30, 31, 34, 37], "place": [0, 2, 13, 20, 22], "outsid": [0, 32], "stabl": [0, 23, 40], "pn_resolv": 0, "shorten": [0, 5], "resolv": [0, 13, 31], "better": [0, 2, 4, 7, 16, 26, 30, 31, 37, 43], "pn": 0, "pn_resolve_minimum_luminos": 0, "resolut": [0, 6, 8, 13, 14, 15, 16, 22, 35, 38], "pne": 0, "31": [0, 5, 7, 8, 13, 19], "62": [0, 5, 13], "pn_resolve_maximum_envelope_mass": 0, "below": [0, 4, 6, 7, 8, 9, 13, 14, 15, 16, 22, 32], "pn_resolve_minimum_effective_temperatur": 0, "12500": 0, "pn_fast_wind": 0, "fast": 0, "pn_fast_wind_dm_gb": 0, "pn_fast_wind_mdot_gb": 0, "06": [0, 5, 8, 9, 12, 13], "pn_fast_wind_dm_agb": 0, "pn_fast_wind_mdot_agb": 0, "hewd_hewd_ignition_mass": 0, "reignit": 0, "wind_nieuwenhuijzen_luminosity_lower_limit": 0, "activ": [0, 22, 23, 40], "4e3": 0, "lsun": [0, 25], "4000": [0, 13], "wind_lbv_luminosity_lower_limit": 0, "6e5": 0, "600000": 0, "num_ansi_colour": 0, "extend": [0, 8, 23, 39, 40], "ansi": [0, 20], "255": [0, 5], "src": [0, 7, 9, 23, 40], "ansi_colour": 0, "int": [0, 1, 2, 5, 7, 13, 16, 20, 21, 22, 26, 32, 33, 34, 35, 38, 43], "apply_darwin_radau_correct": 0, "darwin": 0, "radau": 0, "correct": [0, 12, 21, 23, 25, 32, 33, 40, 43], "moment": [0, 6, 9, 16, 19, 38], "inertia": 0, "take": [0, 2, 8, 13, 16, 19, 20, 22, 27, 31, 32, 35, 41], "degenerate_core_merger_nucsyn": 0, "degner": 0, "energi": 0, "gener": [0, 1, 4, 6, 7, 8, 9, 12, 13, 15, 16, 18, 19, 20, 21, 22, 25, 26, 31, 32, 34, 35, 38], "nucleosynthesi": [0, 39], "whole": [0, 8, 9, 21, 22], "disrupt": [0, 5, 19], "degenerate_core_helium_merger_ignit": 0, "r": [0, 1, 5, 6, 12, 16, 19, 23, 31, 40], "degenerate_core_merger_dredgeup_fract": 0, "separ": [0, 3, 5, 6, 7, 9, 12, 16, 17, 18, 19, 25, 31, 32, 43], "actual": [0, 3, 6, 8, 9, 12, 13, 14, 15, 16, 21, 22, 23, 25, 30, 32, 38, 40], "semi": 0, "major": 0, "axi": [0, 25], "indic": [0, 32], "want": [0, 2, 3, 5, 8, 9, 13, 14, 15, 16, 19, 20, 22, 23, 25, 26, 31, 32, 34, 35, 40], "either": [0, 2, 3, 13, 14, 15, 16, 19, 21, 22, 35, 39, 41], "separation_tripl": 0, "tripl": [0, 22, 32], "separation_quadrupl": 0, "quadrupl": [0, 22, 32], "orbital_period": [0, 5, 7, 8, 9, 12, 13, 16, 18, 19, 43], "orbital_period_tripl": 0, "orbital_period_quadrupl": 0, "outer": [0, 6], "quadrulpl": 0, "eccentricity_tripl": 0, "eccentricity_quadrupl": 0, "inclini": 0, "orbital_inclin": 0, "rel": 0, "incliniation_tripl": 0, "incliniation_quadrupl": 0, "orbital_inclinationi": 0, "orbital_phas": 0, "orbital_phase_tripl": 0, "orbital_phase_quadrupl": 0, "argument_of_periastron": 0, "argument": [0, 2, 7, 12, 16, 17, 18, 19, 20, 21, 22, 26, 27, 32, 39, 41], "periastron": 0, "argument_of_periastron_tripl": 0, "argument_of_periastron_quadrupl": 0, "disc_timestep_factor": 0, "natur": [0, 14, 15], "disc": [0, 17], "white_dwarf_cooling_model": 0, "cool": [0, 6], "white_dwarf_cooling_mestel": 0, "mestel": 0, "white_dwarf_cooling_mestel_modifi": 0, "white_dwarf_cooling_carrasco2014": 0, "carrasco": 0, "white_dwarf_radius_model": 0, "perhap": [0, 6, 8, 21], "white_dwarf_radius_nauenberg1972": 0, "nauenberg": 0, "1972": 0, "white_dwarf_radius_mu": 0, "mu": 0, "white_dwarf_radius_carrasco2014": 0, "cbdisc_mass_loss_inner_viscous_accretion_method": 0, "inner": [0, 17], "edg": [0, 6, 16, 35], "circumbinari": 0, "goe": [0, 2, 9, 12, 25], "young": 0, "clark": 0, "gerosa": 0, "50": [0, 5, 8, 13, 14, 15, 16], "cbdisc_mass_loss_inner_viscous_accretion_method_young_clarke_2015": 0, "cbdisc_mass_loss_inner_viscous_accretion_method_gerosa_2015": 0, "cbdisc_mass_loss_inner_viscous_accretion_method_equ": 0, "cbdisc_mass_loss_inner_viscous_accretion_method_non": 0, "cbdisc_inner_edge_strip": 0, "cbdisc_end_evolution_after_disc": 0, "cbdisc_no_wind_if_cbdisc": 0, "cbdisc_outer_edge_strip": 0, "disc_n_monte_carlo_guess": 0, "guess": [0, 32], "try": [0, 2, 5, 8, 12, 13, 14, 15, 16, 23, 26, 31, 35, 40], "list": [0, 1, 2, 3, 6, 8, 12, 13, 14, 15, 16, 17, 20, 22, 23, 26, 29, 32, 35, 38, 40, 41], "disc_log": 0, "disc_log_level_non": 0, "disc_log_level_norm": 0, "disc_log_level_subtimestep": 0, "disc_log_level_normal_first_disc_onli": 0, "disc_log_level_subtimestep_first_disc_onli": 0, "disc_log2d": 0, "2d": 0, "disc_log_dt": 0, "disc_log_directori": 0, "directori": [0, 4, 16, 20, 21, 22, 23, 26, 29, 30, 31, 34, 37, 40], "sent": 0, "exist": [0, 2, 6, 16, 19, 22, 26, 31, 34, 35], "string": [0, 1, 2, 3, 4, 7, 12, 13, 14, 15, 16, 17, 20, 21, 22, 25, 26, 30, 31, 34, 35, 37, 39, 41], "tmp": [0, 6, 8, 12, 13, 14, 15, 16, 17, 20, 23, 40], "post_ce_adaptive_menv": 0, "post_ce_objects_have_envelop": 0, "ce": [0, 8], "sit": 0, "insid": 0, "post_ce_envelope_dm_gb": 0, "post_ce_envelope_dm_eagb": 0, "post_ce_envelope_dm_tpagb": 0, "common": [0, 4, 5, 6, 9, 12, 13, 14, 15, 16, 23], "need": [0, 2, 7, 9, 12, 13, 14, 15, 16, 17, 19, 22, 23, 26, 32, 40, 43], "mai": [0, 8, 13, 31], "unstabl": [0, 5], "mani": [0, 6, 7, 8, 11, 13, 14, 15, 16, 22, 30], "cee": [0, 8], "pn_comenv_transition_tim": 0, "transit": 0, "year": [0, 32], "1e2": 0, "move": [0, 6], "teff": [0, 5, 32], "30e4": 0, "hall": 0, "minimum_time_between_pn": 0, "planetari": 0, "nebula": 0, "detect": [0, 5, 8, 17], "prevent": [0, 5, 6, 22], "trigger": 0, "pn_hall_fading_time_algorithm": 0, "45msun": 0, "fade": 0, "pn_hall_fading_time_algorithm_minimum": 0, "pn_hall_fading_time_algorithm_maximum": 0, "shown": [0, 25, 38], "fig": [0, 19, 32], "ppn_envelope_mass": 0, "cbdisc_eccentricity_pumping_method": 0, "variou": 0, "pump": 0, "cbdisc_eccentricity_pumping_non": 0, "cbdisc_eccentricity_pumping_dermin": 0, "cbdisc_viscous_photoevaporative_coupl": 0, "viscou": 0, "photoevapor": 0, "coupl": [0, 4], "cbdisc_viscous_photoevaporative_coupling_non": 0, "cbdisc_viscous_photoevaporative_coupling_inst": 0, "instant": 0, "cbdisc_viscous_photoevaporative_coupling_visc": 0, "slow": [0, 6, 8, 13, 14, 15], "cbdisc_inner_edge_stripping_timescal": 0, "long": [0, 6, 8, 16, 22, 28, 31, 35, 39, 42], "revap_in": 0, "disc_stripping_timescale_inst": 0, "disc_stripping_timescale_infinit": 0, "disc_stripping_timescale_visc": 0, "disc_stripping_timescale_orbit": 0, "cbdisc_outer_edge_stripping_timescal": 0, "revap_out": 0, "cbdisc_viscous_l2_coupl": 0, "l2": 0, "gravitational_radiation_model": 0, "gravit": [0, 6, 8, 16], "radiat": 0, "landau": 0, "lifshitz": 0, "1951": [0, 14], "gravitational_radiation_bs": 0, "gravitational_radiation_bse_when_no_rlof": 0, "gravitational_radiation_non": 0, "gravitational_radiation_landau_lifshitz": 0, "gravitational_radiation_landau_lifshitz_when_no_rlof": 0, "nova_irradiation_multipli": 0, "radi": 0, "shara": 0, "1986": [0, 32], "gravitational_radiation_modulator_j": 0, "wave": [0, 6, 8, 16], "gravitational_radiation_modulator_": 0, "nova_faml_multipli": 0, "friction": 0, "rlof_angular_momentum_transfer_model": 0, "rlof_angular_momentum_transfer_model_bs": 0, "rlof_angular_momentum_transfer_model_conserv": 0, "post_sn_orbit_method": 0, "tauri": 0, "post_sn_orbit_bs": 0, "post_sn_orbit_tt98": 0, "singl": [0, 4, 5, 6, 7, 13, 14, 15, 18, 19, 21, 22, 23, 25, 26, 32, 40], "accretion_limit_eddington_steady_multipli": 0, "steadi": 0, "eddington": 0, "spheric": 0, "symmetr": 0, "known": [0, 6, 12, 13, 14, 15, 16, 21, 32, 41], "trade": 0, "anyth": [0, 13, 14, 15, 16, 20, 22, 38], "greater": 0, "than": [0, 2, 6, 8, 13, 14, 15, 16, 20, 22, 23, 26, 31, 32, 39, 40], "potenti": 0, "give": [0, 5, 8, 20, 21, 32, 43], "super": 0, "accretion_limit_eddington_lmms_multipli": 0, "accretion_limit_eddington_wd_to_remnant_multipli": 0, "onto": [0, 32], "anoth": [0, 26], "accretion_limit_thermal_multipli": 0, "accretor": [0, 5, 43], "thermal": [0, 6, 32, 43], "accretion_limit_dynamical_multipli": 0, "dynam": 0, "donor_limit_envelope_multipli": 0, "donor": [0, 5, 43], "per": [0, 5, 8, 12, 13, 16, 20, 22, 31, 43], "donor_limit_thermal_multipli": 0, "donor_limit_dynamical_multipli": 0, "bondi_hoyle_accretion_factor": 0, "bondi": 0, "hoyl": 0, "littleton": 0, "multiplc": 0, "tidal_strength_factor": 0, "strength": 0, "tide": [0, 17], "stronger": [0, 6], "hachisu_qcrit": 0, "critic": 0, "q": [0, 5, 8, 13, 16, 19, 22, 32, 43], "maccretor": [0, 5], "mdonor": [0, 5], "hachisu": 0, "disk": [0, 21], "hachisu_ignore_qcrit": 0, "hachisu_disk_wind": 0, "materi": [0, 6], "too": [0, 2, 6, 7, 14, 15, 17, 22, 23, 40, 41], "help": [0, 5, 7, 11, 12, 13, 14, 15, 16, 20, 34], "sneia": 0, "mass_accretion_for_eld": 0, "lit": 0, "deton": 0, "wdwd_merger_algorithm": 0, "peret": 0, "chen": 0, "todo": [0, 1, 2, 5, 10, 11, 16, 20, 21, 22, 25, 26, 30, 31, 32, 33, 34, 37, 38, 39, 41, 43], "wdwd_merger_algorithm_bs": 0, "wdwd_merger_algorithm_perets2019": 0, "wdwd_merger_algorithm_chen2016": 0, "type_ia_mch_supernova_algorithm": 0, "yield": [0, 38], "dd7": 0, "iwamoto": 0, "1999": 0, "seitenzahl": 0, "3d": 0, "hydro": 0, "seitenzahl2013_model": 0, "One": [0, 22], "n1": 0, "n3": 0, "n5": 0, "n10": 0, "n20": 0, "n40": 0, "n100l": 0, "n100": 0, "n100h": 0, "n150": 0, "n200": 0, "n300c": 0, "n1600": 0, "n1600c": 0, "n100_z0": 0, "type_ia_sub_mch_supernova_algorithm": 0, "unus": [0, 22], "max_hewd_mass": 0, "merger_mass_loss_fract": 0, "merger_angular_momentum_factor": 0, "spin": [0, 17], "smaller": [0, 38], "wind_angular_momentum_loss": 0, "lw": 0, "specif": [0, 11, 12, 25, 30, 37], "wind_djorb_fac": 0, "wind_angmom_loss_bs": 0, "wind_angmom_loss_lw": 0, "wind_angmom_loss_lw_hybrid": 0, "wind_angmom_loss_spherically_symmetr": 0, "vw93_eagb_wind_spe": 0, "vw93_tpagb_wind_spe": 0, "use_periastron_roche_radiu": 0, "circular": [0, 5], "treat": [0, 38], "properli": 0, "hopefulli": 0, "qcrit_lmm": 0, "stabil": 0, "overflow": [0, 5, 8], "qcrits_": 0, "qcrits_degenerate_": 0, "6944": 0, "qcrit_bs": 0, "qcrit_hjellming_webbink": 0, "qcrit_q_no_comenv": 0, "qcrit_chen_han_t": 0, "qcrit_chen_han_formula": 0, "qcrit_ge2015": 0, "qcrit_vos2018": 0, "qcrit_temmink2021": 0, "qcrit_gb_bs": 0, "qcrit_gb_hjellming_webbink": 0, "qcrit_gb_q_no_comenv": 0, "qcrit_gb_chen_han_t": 0, "qcrit_gb_chen_han_formula": 0, "qcrit_gb_ge2015": 0, "qcrit_gb_vos2018": 0, "qcrit_gb_temmink2021": 0, "qcrit_m": 0, "qcrit_hg": 0, "hertzsprung": [0, 4, 23], "gap": 0, "qcrit_gb": 0, "qcrit_cheb": 0, "qcrit_eagb": 0, "qcrit_tpagb": 0, "tp": 0, "qcrit_hem": 0, "qcrit_hehg": 0, "qcrit_hegb": 0, "78125": 0, "qcrit_hewd": 0, "qcrit_cowd": 0, "qcrit_onewd": 0, "qcrit_n": 0, "qcrit_bh": 0, "qcrit_degenerate_lmm": 0, "qcrit_degenerate_m": 0, "qcrit_degenerate_hg": 0, "7619": 0, "qcrit_degenerate_gb": 0, "qcrit_degenerate_cheb": 0, "qcrit_degenerate_eagb": 0, "qcrit_degenerate_tpagb": 0, "qcrit_degenerate_hem": 0, "qcrit_degenerate_hehg": 0, "qcrit_degenerate_hegb": 0, "qcrit_degenerate_hewd": 0, "625": [0, 5], "qcrit_degenerate_cowd": 0, "qcrit_degenerate_onewd": 0, "qcrit_degenerate_n": 0, "qcrit_degenerate_bh": 0, "mass_for_hestar_ia_upp": 0, "never": [0, 6, 14, 15, 22, 29], "mass_for_hestar_ia_low": 0, "alphacb": 0, "viscos": 0, "alpha": [0, 5], "minimum_donor_menv_for_comenv": 0, "msun": [0, 6, 9, 12, 13, 14, 15, 17, 19, 32, 38, 39], "comenv_prescript": 0, "paczy\u0144ski": 0, "neleman": 0, "alpha_c": [0, 5, 6, 8], "comenv_ms_accretion_mass": 0, "comenv_ms_accretion_fract": 0, "comenv_ns_accretion_fract": 0, "comenv_ns_accretion_mass": 0, "nelemans_gamma": 0, "nelemans_minq": 0, "nelemans_max_frac_j_chang": 0, "nelemans_n_comenv": 0, "lambda_c": [0, 5, 8], "lambda_ionis": 0, "comenv_undef": 0, "comenv_bs": 0, "comenv_nelemans_tout": 0, "comenv_nandez2016": 0, "comenv_ejection_spin_method": 0, "left": 0, "comenv_ejection_spin_method_do_noth": 0, "leav": [0, 22], "omega": [0, 5, 19], "enter": [0, 22], "comenv_ejection_spin_method_sychron": 0, "synchron": 0, "comenv_ejection_spin_method_synchron": 0, "comenv_merger_spin_method": 0, "comenv_merger_spin_method_specif": 0, "preserv": 0, "onset": 0, "comenv_merger_spin_method_conserve_angmom": 0, "supercrit": 0, "comenv_merger_spin_method_conserve_omega": 0, "frequenc": [0, 17], "comenv_merger_spin_method_breakup": 0, "some": [0, 1, 6, 8, 9, 11, 12, 13, 14, 15, 16, 19, 21, 22, 23, 25, 30, 32, 35, 36, 37, 40], "comenv_ms_accret": 0, "comenv_ns_accret": 0, "formal": 0, "bind": [0, 7, 9, 12, 17], "m": [0, 5, 6, 8, 13, 14, 15, 17, 19, 20, 32, 43], "menv": [0, 5], "lambda_ce_dewi_tauri": 0, "dewi": 0, "lambda_ce_wang_2016": 0, "wang": 0, "jia": 0, "li": 0, "lambda_ce_polytrop": 0, "polytrop": 0, "comenv_splitmass": 0, "lambda_ce_klencki_2020": 0, "klencki": 0, "point": [0, 3, 6, 20, 21, 22, 23, 31, 32, 38, 40], "nelemans_recalc_eccentr": 0, "recalcul": 0, "comenv_post_eccentr": 0, "remain": [0, 7, 20, 22], "05": [0, 5, 8, 9, 13, 16], "accord": [0, 6, 31, 32, 38], "75": [0, 5, 8, 13], "chang": [0, 1, 2, 5, 6, 8, 9, 13, 14, 15, 16, 19, 20, 21, 22, 23, 34, 35, 40], "standard": [0, 13, 14, 15, 30, 32, 37, 38], "recombin": 0, "big": [0, 22], "outcom": 0, "lambda_enthalpi": 0, "enthalpi": 0, "far": [0, 5, 6, 14, 15, 17], "cbdisc_albedo": 0, "albedo": 0, "cbdisc_gamma": 0, "cbdisc_alpha": 0, "cbdisc_kappa": 0, "kappa": 0, "cbdisc_minimum_evaporation_timescal": 0, "would": [0, 2, 14, 15, 16, 22, 25], "less": [0, 1, 4, 5, 31, 32], "simpli": [0, 14, 15], "immedi": [0, 6, 22], "1y": 0, "cbdisc_torquef": 0, "cbdisc_max_lifetim": 0, "lifetim": [0, 8, 13, 14, 15, 16, 38], "cbdisc_init_dm": 0, "cbdisc": 0, "start": [0, 1, 5, 6, 8, 12, 13, 14, 15, 16, 19, 20, 22, 28, 34, 35], "dm": [0, 5, 14, 15, 32, 38], "won": [0, 12, 23, 40], "t": [0, 1, 2, 5, 6, 12, 14, 15, 16, 20, 22, 23, 26, 31, 38, 40], "converg": 0, "cbdisc_init_djdm": 0, "dj": 0, "cbdisc_mass_loss_constant_r": 0, "cbdisc_mass_loss_fuv_multipli": 0, "fuv": 0, "cbdisc_mass_loss_xray_multipli": 0, "x": [0, 6, 9, 12, 17, 19, 20, 21, 25, 26, 32, 38], "rai": 0, "cbdisc_mass_loss_ism_ram_pressure_multipli": 0, "interstellar": 0, "medium": 0, "ram": [0, 22], "pressur": 0, "cbdisc_mass_loss_ism_pressur": 0, "boltzmann": 0, "kelvin": 0, "think": [0, 20, 21], "3000": [0, 17], "http": [0, 1, 2, 6, 16, 20, 21, 23, 31, 32, 40], "www": [0, 32], "astronomi": 0, "ohio": 0, "edu": 0, "pogg": 0, "ast871": 0, "intro": 0, "pdf": [0, 19, 23, 32, 40], "page": [0, 6, 16, 23, 40], "arxiv": [0, 32], "org": [0, 2, 32], "0902": 0, "0820": 0, "panel": 0, "cbdisc_mass_loss_inner_viscous_multipli": 0, "cbdisc_mass_loss_inner_viscous_angular_momentum_multipli": 0, "cbdisc_resonance_multipli": 0, "reson": 0, "interact": [0, 3, 5, 6, 8, 17, 19, 34], "cbdisc_resonance_damp": 0, "l": [0, 6, 13, 14, 15], "locat": [0, 22, 23, 32, 38, 40], "cbdisc_fail_ring_inside_separ": 0, "rring": 0, "cbdisc_mass_loss_inner_l2_cross_multipli": 0, "cross": 0, "cbdisc_minimum_luminos": 0, "becom": [0, 1, 2, 5, 9, 14, 15, 17, 20, 22], "dimmer": [0, 13], "instantli": 0, "cbdisc_minimum_mass": 0, "cbdisc_minimum_fr": 0, "fring": 0, "ring": 0, "ab": [0, 20], "rout": 0, "rin": 0, "comenv_disc_angmom_fract": 0, "deprec": [0, 21], "discs_circumbinary_from_comenv": 0, "comenv_disc_mass_fract": 0, "wind_disc_angmom_fract": 0, "discs_circumbinary_from_wind": 0, "wind_disc_mass_fract": 0, "wrlof_method": 0, "quadrat": 0, "wrlof_mass_transf": 0, "wrlof_non": 0, "wrlof_q_depend": 0, "wrlof_quadrat": 0, "minimum_timestep": 0, "timestep_solver_factor": 0, "timestep_limit": 0, "compar": [0, 8, 13, 16, 22], "dx": 0, "dt": [0, 1, 20, 29, 38], "lengthen": 0, "altern": [0, 22], "rlof_mdot_factor": 0, "rlof_mdot_modul": 0, "rlof_f": 0, "enlarg": 0, "nomin": 0, "becaus": [0, 2, 6, 7, 8, 12, 13, 14, 15, 17, 19, 21, 22, 23, 29, 31, 32, 40], "dermin": 0, "rlof_radiation_correct": 0, "minimum_separation_for_instant_rlof": 0, "evolv": [0, 4, 7, 9, 21, 22, 23, 40], "report": [0, 6, 8, 13, 14, 15, 16], "lead": [0, 6, 13, 14, 15, 16, 31, 32, 43], "minimum_orbital_period_for_instant_rlof": 0, "maximum_mass_ratio_for_instant_rlof": 0, "m1": [0, 5, 8, 9, 12, 13, 14, 15, 16, 19, 31, 32, 43], "rlof_method": 0, "adapt": [0, 14, 15], "rl": [0, 5], "ritter": 0, "claei": 0, "etal": 0, "rlof_method_bs": 0, "rlof_method_adapt": 0, "rlof_method_ritt": 0, "rlof_method_claei": 0, "rlof_method_adaptive2": 0, "rlof_interpolation_method": 0, "alwai": [0, 21, 22, 32, 38], "get": [0, 2, 3, 4, 6, 9, 12, 13, 14, 15, 16, 17, 19, 20, 21, 23, 26, 27, 30, 32, 34, 35, 37, 40, 41, 43], "within": [0, 2, 9, 11, 16, 20, 23, 32, 35, 40], "toler": 0, "rlof_entry_threshold": 0, "revers": [0, 25], "newton": 0, "doe": [0, 2, 6, 7, 9, 11, 12, 13, 14, 15, 16, 21, 22, 29, 31, 32, 35, 43], "repeat": [0, 22], "half": [0, 32], "until": [0, 2, 6, 31, 32], "latter": 0, "now": [0, 2, 5, 6, 8, 9, 12, 13, 14, 15, 16, 17, 19, 20, 26, 32, 33], "break": 0, "rlof_interpolation_binary_c": 0, "rlof_interpolation_bs": 0, "beta_reverse_nova": 0, "automat": [0, 1, 9, 16, 18, 19, 22, 23, 29, 31, 34, 35, 40], "geometr": 0, "beta_reverse_novae_geometri": 0, "wd_accretion_rate_novae_upper_limit_hydrogen_donor": 0, "upper": [0, 32, 38], "donor_rate_algorithm_claeys2014": 0, "donor_rate_algorithm_bs": 0, "wd_accretion_rate_novae_upper_limit_helium_donor": 0, "wd_accretion_rate_novae_upper_limit_other_donor": 0, "neither": [0, 21], "nor": 0, "wd_accretion_rate_new_giant_envelope_lower_limit_hydrogen_donor": 0, "format": [0, 2, 3, 5, 7, 8, 9, 12, 13, 14, 15, 16, 17, 19, 20, 22, 30, 31, 32, 35, 38], "wd_accretion_rate_new_giant_envelope_lower_limit_helium_donor": 0, "wd_accretion_rate_new_giant_envelope_lower_limit_other_donor": 0, "crap_paramet": 0, "eggleton": [0, 43], "subject": 0, "bb": 0, "individual_nova": 0, "each": [0, 2, 8, 13, 14, 15, 16, 17, 20, 22, 26, 35, 38], "separta": 0, "nova_timestep_accelerator_num": 0, "acceler": 0, "exce": [0, 13], "nova_timestep_accelerator_index": 0, "nova_timestep_accelerator_max": 0, "larger": [0, 6], "longer": [0, 6, 8], "cap": 0, "nonconservative_angmom_gamma": 0, "NOT": [0, 35, 38, 41], "momenta": [0, 25], "rlof_nonconservative_gamma_donor": 0, "rlof_nonconservative_gamma_isotrop": 0, "max_stellar_angmom_chang": 0, "maxmimum": 0, "third_dup": 0, "nucsyn_third_dredge_up": 0, "third_dup_multipli": 0, "f": [0, 5, 12, 16, 19, 32], "abund": 0, "element": [0, 1, 11, 17, 22, 25, 39], "nenamg": 0, "reaction": 0, "network": [0, 11], "nucsyn_hbb": 0, "nucsyn_network": 0, "nucsyn_network_error": 0, "error": [0, 2, 6, 8, 13, 14, 15, 20, 22, 23, 26, 31, 40], "nucreacmult": 0, "z": [0, 6, 8, 19, 21, 32, 43], "04": [0, 5, 13, 19], "That": [0, 6], "said": 0, "been": [0, 2, 11, 21, 22, 26, 28, 30, 37], "warn": [0, 12, 16, 22, 26], "nucsyn_solv": 0, "kaps_rentrop": 0, "kap": 0, "rentrop": 0, "great": [0, 14, 15, 22], "stiff": 0, "problem": [0, 13], "lsoda": 0, "adam": 0, "bsf": 0, "switcher": 0, "cvode": 0, "librari": [0, 1, 6, 9, 19, 21, 22, 41], "comput": [0, 6, 13, 14, 15], "llnl": 0, "gov": 0, "project": [0, 23, 40], "sundial": 0, "initial_abundance_mix": 0, "mixtur": [0, 13], "ag89": 0, "lodder": 0, "asplund": 0, "avail": [0, 7, 8, 9, 13, 15, 16, 20, 22, 23, 28, 40], "garcia": 0, "berro": 0, "grevess": 0, "noel": 0, "init_abund": 0, "isotop": [0, 11, 39], "init_abund_mult": 0, "init_abund_dex": 0, "dex": [0, 8, 38], "init_abunds_onli": 0, "exit": [0, 20, 21, 22, 26, 30, 31, 37], "initial_abunds_onli": 0, "no_thermohaline_mix": 0, "thermohalin": 0, "lithium_gb_post_heflash": 0, "lithium": 0, "lithium_t": 0, "lithium_gb_post_1dup": 0, "lithium_hbb_multipli": 0, "hbb": 0, "fishlock": 0, "angelou_lithium_decay_funct": 0, "describ": [0, 19, 22, 32], "li7": 0, "decai": 0, "nucsyn_angelou_lithium": 0, "choic": [0, 25, 32], "expoenti": 0, "angelou_lithium_decay_tim": 0, "angelou_lithium_lmms_tim": 0, "manufactur": 0, "angelou_lithium_ms_tim": 0, "angelou_lithium_hg_tim": 0, "angelou_lithium_gb_tim": 0, "angelou_lithium_cheb_tim": 0, "angelou_lithium_eagb_tim": 0, "angelou_lithium_tpagb_tim": 0, "angelou_lithium_lmms_decay_tim": 0, "surfac": 0, "angelou_lithium_ms_decay_tim": 0, "angelou_lithium_hg_decay_tim": 0, "angelou_lithium_gb_decay_tim": 0, "angelou_lithium_cheb_decay_tim": 0, "angelou_lithium_eagb_decay_tim": 0, "angelou_lithium_tpagb_decay_tim": 0, "angelou_lithium_lmms_massfrac": 0, "angelou_lithium_ms_massfrac": 0, "angelou_lithium_hg_massfrac": 0, "angelou_lithium_gb_massfrac": 0, "angelou_lithium_cheb_massfrac": 0, "angelou_lithium_eagb_massfrac": 0, "angelou_lithium_tpagb_massfrac": 0, "angelou_lithium_vrot_trigg": 0, "angelou_lithium_vrotfrac_trigg": 0, "keplerian": 0, "david_logging_funct": 0, "kind": [0, 7], "david": [0, 2, 7, 12, 14, 16, 19, 23, 40], "david_tzo_log": 0, "tzo": 0, "david_ppisn_log": 0, "david_ppisn_single_log": 0, "underw": 0, "david_rlof_episode_log": 0, "episod": 0, "david_rlof_ensemble_log": 0, "ensembl": [0, 4, 7, 11, 22, 23, 24, 31, 35, 36, 39], "cf_amanda_log": 0, "amanda": 0, "float_overflow_check": 0, "check": [0, 6, 8, 13, 14, 15, 16, 19, 20, 21, 22, 26, 30, 31, 32, 34, 37, 41, 43], "stderr": [0, 22], "failur": [0, 20, 26], "save_pre_events_stardata": 0, "save": [0, 1, 6, 8, 9, 13, 14, 15, 16, 22, 26, 31, 32, 38], "copi": [0, 8, 14, 15, 22, 43], "stardata": [0, 1, 6, 8, 9, 12, 13, 14, 15, 16, 18, 19], "pre_events_stardata": 0, "disable_end_log": 0, "ensemble_filters_off": 0, "filter": [0, 2, 20], "ensemble_filter_": 0, "ensemble_macro": 0, "ensemble_legacy_ensembl": 0, "legaci": 0, "popul": [0, 3, 4, 7, 11, 23, 24, 40, 41], "legacy_yield": 0, "ensemble_def": 0, "defer": 0, "ensemble_dt": 0, "store": [0, 2, 4, 6, 8, 12, 13, 14, 15, 16, 20, 21, 22, 23, 31, 38, 40, 43], "ensemble_logdt": 0, "ensemble_startlogtim": 0, "logensembletim": 0, "storag": 0, "ensemble_logtim": 0, "act": [0, 14, 15, 16, 22], "linear": [0, 13, 14, 15, 22, 32, 38], "postagb_legacy_log": 0, "disc_legacy_log": 0, "emp_logg_maximum": 0, "logg": [0, 6], "emp": 0, "cemp_cfe_minimum": 0, "nemp_nfe_minimum": 0, "emp_minimum_ag": 0, "emp_feh_maximum": 0, "fe": 0, "cemp": 0, "nemp_cfe_minimum": 0, "nemp": 0, "thick_disc_start_ag": 0, "lookback": 0, "thick": 0, "13e3": 0, "thick_disc_end_ag": 0, "thick_disc_logg_min": 0, "thick_disc_logg_max": 0, "escape_veloc": 0, "construct": [0, 1, 6, 8, 12, 13, 14, 15, 17, 19, 22], "galact": [0, 38], "chemic": [0, 38], "gce": 0, "nucsyn_gce_outflow_check": 0, "1e9": 0, "escape_fract": 0, "colour_log": 0, "thelog": 0, "file_log": 0, "log_filenam": [0, 5, 12, 19, 41], "filenam": [0, 1, 3, 5, 12, 16, 20, 21, 22, 26, 30, 31, 37, 41], "dev": 0, "c_log": 0, "dat": [0, 16, 20], "log_arrow": 0, "add": [0, 2, 6, 8, 9, 12, 13, 14, 15, 16, 21, 22, 23, 25, 32, 35, 36, 38, 40], "arrow": 0, "stopfil": 0, "file": [0, 1, 3, 5, 7, 12, 14, 16, 20, 21, 22, 23, 25, 26, 29, 30, 31, 34, 35, 37, 39, 40, 41], "stardata_dump_filenam": 0, "dump": [0, 3, 12, 21, 31], "stardata_load_filenam": 0, "load": [0, 1, 3, 6, 8, 9, 12, 13, 14, 15, 16, 19, 20, 21, 22, 25, 26, 27, 31, 35], "api_log_filename_prefix": [0, 5, 12, 17], "prefix": 0, "api": [0, 4, 20, 23, 26], "hrdiag_output": 0, "high": [0, 14, 15, 32], "hertzstrpung": 0, "russel": [0, 4, 23], "diagram": [0, 4, 23, 25], "hrdiag": 0, "internal_buff": 0, "buffer": [0, 31], "prior": [0, 6], "shouldn": [0, 20], "realli": [0, 6, 16, 21, 22, 34, 35], "plai": [0, 14, 15], "internal_buffering_off": 0, "internal_buffering_print": 0, "internal_buffering_stor": 0, "eccentric_rlof_model": 0, "rlof_eccentric_as_circular": 0, "force_corotation_of_primary_and_orbit": 0, "force_circularization_on_rlof": 0, "wtts_log": 0, "wtts2": 0, "fabian_imf_log_tim": 0, "fabian": 0, "imf": [0, 14, 15, 32], "fabian_imf_log": 0, "fabian_imf_log_timestep": 0, "displai": [0, 6, 8, 17], "test": [0, 12, 20, 22, 26, 29, 31], "dumpvers": 0, "short": [0, 6, 8, 13, 14, 15, 42], "version_onli": 0, "tides_diagnosis_log": 0, "mint_dir": 0, "mint_data_cleanup": 0, "incom": 0, "Will": [0, 20, 22, 41], "slower": 0, "few": [0, 8], "thing": [0, 3, 6, 7, 8, 13, 14, 15, 16, 19, 20, 21, 32, 41], "mint_ms_rejuven": 0, "rejuven": [0, 13], "mint_remesh": 0, "remesh": 0, "mint_use_zams_profil": 0, "profil": 0, "zam": [0, 4, 6, 7, 13, 32, 41, 43], "homogen": 0, "mint_fallback_to_test_data": 0, "test_data": 0, "fallback": 0, "unavail": 0, "mint_disable_grid_load_warn": 0, "explicitli": [0, 1], "miss": [0, 13, 14, 15, 20, 34], "much": [0, 6, 8, 13, 16, 19, 20, 28], "mint_kippenhahn": 0, "kippenhahn": 0, "mint_nshel": 0, "shell": [0, 20], "shellular": 0, "mint_maximum_nshel": 0, "mint_hard_max_nshel": 0, "1000": [0, 8, 22, 38], "mint_minimum_nshel": 0, "equal": [0, 2, 14, 15, 16, 20], "mint_hard_min_nshel": 0, "mint_kippenhahn_stellar_typ": 0, "selector": 0, "plot": [0, 6, 8, 12, 13, 14, 15, 17, 18, 19, 25], "mint_kippenhahn_companion_stellar_typ": 0, "mint_nuclear_burn": 0, "mint_minimum_shell_mass": 0, "mint_maximum_shell_mass": 0, "go": [0, 6, 11, 13, 16, 21, 23, 25, 40], "command": [0, 1, 16, 20, 21, 22, 23, 31, 40], "gogo": 0, "reset_star": 0, "reset": 0, "reset_stars_default": 0, "echo": 0, "execut": [0, 16, 22, 35], "noecho": 0, "deactiv": 0, "noechonow": 0, "bye": 0, "quit": [0, 6, 20, 32], "fin": 0, "reset_pref": 0, "prefer": [0, 21], "struct": [0, 9], "statu": [0, 1, 6, 8, 13, 14, 15, 16, 22, 26, 30, 31, 37], "handi": 0, "re": [0, 1, 6, 7, 8, 13, 14, 15, 17, 26, 34], "sampl": [0, 4, 13, 16, 32, 35, 38], "space": [0, 6, 13, 14, 15, 16, 31, 35, 38], "good": [0, 12, 13, 14, 15, 16, 22, 43], "statist": [0, 22, 30], "reason": [0, 14, 15], "tbse": 0, "pgo": 0, "random_system": 0, "etc": [0, 7, 12, 14, 15, 16, 20, 21, 22, 23, 25, 31, 32, 40, 41], "random_se": [0, 5, 12, 19], "seed": 0, "possibl": [0, 1, 2, 6, 12, 17, 20, 22, 23, 29, 32, 34, 40], "exactli": [0, 14, 15], "reproduc": 0, "involv": 0, "pseudorandom": 0, "random_systems_se": 0, "random_skip": 0, "skip": [0, 2, 6, 8, 13, 22], "idum": 0, "nb": 0, "pleas": [0, 6, 7, 13, 14, 15, 16, 20, 22, 23, 29, 40], "reverse_tim": 0, "To": [0, 7, 12, 13, 14, 15, 16, 22, 23, 31, 32, 40], "consid": [0, 1, 2, 13, 14, 15, 21, 22, 25, 33, 34, 38], "start_tim": [0, 22], "warmup_cpu": 0, "cpu": [0, 6, 8, 13, 14, 15, 16, 22, 28], "second": [0, 2, 8, 17, 20, 23, 25, 31, 32, 33, 40], "topic": 0, "argopt": 0, "help_al": 0, "list_arg": 0, "here": [1, 6, 7, 9, 12, 13, 14, 15, 17, 19, 20, 21, 22, 23, 25, 32, 40, 41], "user": [1, 9, 20, 21, 22, 23, 27, 32, 34, 40, 41], "binaryc": [1, 20, 41], "output": [1, 2, 3, 4, 5, 7, 9, 11, 12, 17, 18, 19, 20, 21, 22, 23, 25, 31, 39, 40, 41, 43], "runtim": [1, 22], "binarycpython": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43], "util": [1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 43], "autogen_c_logging_cod": [1, 9, 19], "logging_dict": 1, "verbos": [1, 6, 8, 12, 13, 14, 15, 16, 18, 20, 22, 23, 27, 31, 32, 33, 38, 40], "sourc": [1, 2, 3, 8, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 43], "auto": [1, 24], "printf": [1, 6, 8, 9, 12, 13, 14, 15, 16, 18, 19], "statement": [1, 9, 12, 13, 14, 15, 16, 17, 18, 19, 22], "input": [1, 2, 3, 7, 11, 12, 14, 20, 21, 22, 23, 25, 27, 31, 32, 33, 34, 41, 43], "dictionari": [1, 2, 3, 4, 6, 8, 13, 14, 15, 16, 20, 21, 22, 25, 27, 28, 31, 32, 34, 35, 39, 42], "kei": [1, 2, 3, 6, 11, 12, 16, 17, 19, 20, 21, 22, 25, 29, 31, 32, 34, 35, 39], "header": [1, 6, 8, 9, 12, 13, 14, 15, 16, 19, 20], "line": [1, 5, 6, 8, 9, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 25, 31, 38, 40], "item": [1, 2, 6, 8, 13, 14, 15, 20], "paramet": [1, 2, 3, 4, 6, 7, 8, 9, 12, 13, 14, 15, 16, 20, 21, 22, 23, 25, 26, 29, 30, 31, 32, 34, 35, 37, 38, 39, 41, 43], "put": [1, 6, 8, 13, 14, 15, 16, 19, 20, 22, 25, 26, 34, 35, 36], "append": [1, 2, 6, 12, 13, 14, 15, 17], "exampl": [1, 2, 12, 20, 21, 32, 35, 38, 41], "look": [1, 3, 6, 8, 13, 14, 15, 16, 19, 23, 32, 40], "my_stellar_data": [1, 9, 16, 18, 19], "star": [1, 4, 5, 7, 8, 9, 11, 12, 13, 14, 17, 18, 19, 22, 23, 25, 30, 32, 37, 38, 40, 43], "dict": [1, 3, 5, 6, 12, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 26, 27, 29, 31, 32, 34, 39, 42], "binary_c": [1, 2, 3, 4, 6, 8, 13, 14, 15, 17, 20, 21, 22, 25, 29, 31, 32, 35, 39, 41], "sentenc": 1, "level": [1, 6, 20, 33], "return": [1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 19, 20, 21, 22, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 37, 38, 39, 41, 43], "str": [1, 2, 3, 5, 6, 16, 20, 21, 25, 31, 34, 35, 39], "binary_c_log_cod": [1, 9, 12, 18, 19], "termin": [1, 6, 9, 16, 23, 40], "primari": [1, 6, 8, 13, 14, 15, 16, 32, 35, 43], "stellar_typ": [1, 6, 9, 12, 13, 14, 15, 16, 23, 24, 25], "example_log_co": [1, 9], "30": [1, 5, 6, 8, 9, 12, 13, 14, 15, 16, 17, 19], "12e": [1, 6, 9, 12, 13, 14, 15, 16], "previous_stardata": [1, 8, 9, 12, 16], "kill": [1, 9, 16, 21], "dtm": [1, 9, 16], "exact": [1, 2, 22], "wrap": [1, 9, 20, 29], "logic": [1, 2, 9, 21, 22], "definit": [1, 13, 14, 15, 43], "share": [1, 12, 18, 19, 22, 31, 41], "binary_c_write_log_cod": 1, "write": [1, 5, 6, 7, 8, 9, 12, 13, 16, 18, 19, 20, 21, 22, 31, 34, 41], "target": [1, 34], "compile_shared_lib": 1, "sourcefile_nam": 1, "outfile_nam": 1, "name": [1, 2, 5, 6, 7, 8, 13, 14, 15, 16, 17, 19, 20, 22, 30, 31, 34, 35, 41, 42], "create_and_load_logging_funct": [1, 9, 19], "custom_logging_cod": [1, 9, 12, 16, 18, 19, 41], "custom_tmp_dir": 1, "ctype": 1, "unless": [1, 21, 22], "i": [1, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 20, 21, 22, 23, 26, 32, 35, 39, 40, 43], "recommend": [1, 4, 23, 40], "combin": [1, 2, 9, 20, 21, 22], "tupl": [1, 6, 20, 26, 31, 38], "memori": [1, 6, 7, 8, 9, 13, 14, 15, 16, 19, 20, 21, 22, 31, 43], "address": [1, 7, 9, 22, 43], "capsul": [1, 7, 20], "from_binary_c_config": 1, "config_fil": 1, "binaryc_config": 1, "config": [1, 20, 22, 23, 40], "filepath": 1, "return_compilation_dict": 1, "inspir": [1, 25, 43], "binary_c_inline_config": 1, "perl": [1, 2, 13, 14, 15, 16, 30], "still": [1, 9, 17, 22, 23, 40, 43], "clean": [1, 6, 12, 14, 15, 21], "w": [1, 12, 16, 21, 31], "develop": 1, "redhat": 1, "com": [1, 20, 21, 23, 32, 40], "blog": 1, "linker": 1, "gcc": [1, 23, 40], "python": [2, 3, 4, 6, 8, 13, 14, 15, 20, 22, 29, 31, 32, 35], "class": [2, 3, 20, 23, 24], "autovivificationdict": 2, "autovivif": 2, "featur": [2, 4, 16, 23], "overrid": [2, 19, 22, 32, 35, 38], "__iadd__": 2, "oper": [2, 31], "doc": [2, 6, 13, 14, 15, 16, 20, 23, 34, 40], "refer": [2, 22, 31], "datamodel": 2, "html": [2, 6, 16, 23, 31, 40], "highlight": 2, "iadd": 2, "subdict": 2, "might": [2, 3, 8, 13, 16, 17, 20, 22, 23, 31, 40], "newdict": 2, "print": [2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 19, 20, 22, 26, 33, 34], "__getitem__": [2, 29], "getitem": 2, "autoviv": 2, "count_keys_recurs": 2, "input_dict": 2, "recurs": [2, 20], "count": [2, 5, 6, 19, 20, 22], "local_count": 2, "custom_sort_dict": 2, "order": [2, 4, 16, 20, 35], "ordereddict": 2, "find": [2, 5, 8, 16, 20, 22, 29, 34], "uniqu": [2, 19, 22], "sort": [2, 6, 13, 14, 15, 17, 20, 31], "Then": [2, 6, 20, 23, 40], "those": [2, 6, 8, 13, 14, 15, 16, 19, 21, 23, 32, 39, 40], "them": [2, 6, 7, 8, 16, 18, 19, 20, 21, 30, 31, 32, 34, 41], "directli": [2, 12, 22, 26, 31], "without": [2, 9, 12, 14, 15, 20, 22, 32], "filter_dict": 2, "arg_dict": [2, 20], "filter_list": 2, "out": [2, 3, 6, 8, 9, 13, 14, 15, 17, 20, 22, 23, 32, 34, 40], "filter_dict_through_valu": 2, "inspect_dict": 2, "indent": [2, 3, 12, 21, 31], "print_structur": 2, "inspect": [2, 12, 25], "nest": [2, 16, 35, 39], "content": [2, 3, 7, 20, 21, 26], "bool": [2, 16, 20, 21, 25, 31, 34, 35, 39], "except": [2, 5, 6, 7, 13, 14, 15, 16, 22, 25, 34], "keys_to_float": 2, "convert": [2, 3, 6, 8, 17, 20, 21, 31, 32, 38], "faster": [2, 13, 14, 15, 16], "recursive_change_key_to_float": 2, "convers": 2, "noth": [2, 22, 26, 27, 31], "els": [2, 5, 8, 14, 20, 22], "new_dict": 2, "merge_dict": [2, 11], "dict_1": 2, "dict_2": 2, "behaviour": [2, 6, 13, 14, 15, 16, 23, 40, 41], "present": [2, 3, 6, 13, 14, 15, 16, 19, 21, 23, 31, 32, 40], "again": [2, 3, 6, 11, 12, 20, 22], "ad": [2, 4, 6, 8, 12, 31, 35], "opt": [2, 5, 7, 32], "OR": [2, 19], "ident": 2, "concaten": 2, "nonetyp": 2, "instanc": [2, 11, 12, 13, 14, 15, 16, 21, 32], "multiply_float_valu": 2, "multiply_values_dict": [2, 11], "over": [2, 6, 8, 11, 12, 13, 14, 15, 16, 20, 21, 31], "general_info": 2, "origin": [2, 17, 31], "union": [2, 16, 20, 32, 35, 38, 39, 43], "complex": [2, 8, 9, 18, 19, 22], "pass": [2, 7, 9, 12, 16, 17, 19, 20, 21, 22, 23, 25, 26, 27, 30, 31, 37, 38, 40, 41], "multiplied_dict": 2, "normalize_dict": 2, "result_dict": 2, "normalis": [2, 22, 32], "divid": 2, "term": 2, "design": [2, 21, 23, 25, 40], "normalized_dict": 2, "prepare_dict": 2, "global_dict": 2, "list_of_sub_kei": 2, "sure": [2, 12, 13, 14, 15, 16, 23, 26, 31, 32, 40, 41], "prepar": 2, "don": [2, 6, 20, 22, 26], "access": [2, 9, 12, 13, 14, 15, 16, 22, 26, 31], "come": [2, 10, 23, 38, 40], "empti": [2, 12, 30, 34, 37], "recursive_change_key_to_str": 2, "custom_format": [2, 20], "ll": [2, 9, 11, 14, 15, 17, 31], "set_opt": [2, 6, 8, 17], "newopt": [2, 32], "updat": [2, 14, 15, 16, 21, 23, 35, 40], "subtract_dict": 2, "subtract": 2, "numer": 2, "overlap": 2, "update_dict": [2, 11], "dict2": 2, "packag": [3, 7, 14, 16, 20, 23, 35, 36, 37, 38, 40], "binarycdecod": 3, "object_hook": 3, "parse_float": 3, "parse_int": 3, "parse_const": 3, "strict": 3, "object_pairs_hook": 3, "jsondecod": 3, "decod": 3, "entri": [3, 20, 21], "binarycencod": 3, "skipkei": 3, "ensure_ascii": [3, 21, 31], "check_circular": 3, "allow_nan": 3, "sort_kei": [3, 31], "jsonencod": 3, "encod": [3, 16, 31], "attempt": [3, 20, 21], "o": [3, 20, 23, 32], "precis": 3, "json": [3, 7, 12, 16, 21, 22, 27, 31], "binaryc_json_seri": 3, "obj": [3, 20], "serialis": 3, "export": [3, 16, 20, 21, 23, 31, 40], "represent": [3, 16, 35], "themselv": [3, 32], "itself": [3, 6, 9, 12, 22, 23, 32, 40], "ensemble_compress": 3, "compress": [3, 31], "extens": [3, 7, 23, 24], "ensemble_file_typ": 3, "ensemble_set": 3, "parameter_nam": [3, 6, 7, 8, 11, 13, 14, 15, 16, 20, 35], "extract_ensemble_json_from_str": 3, "binary_c_output": 3, "extract": [3, 16], "ensemble_json": 3, "raw": [3, 7, 19, 20, 21, 22, 25, 39, 41], "pars": [3, 4, 6, 8, 12, 13, 14, 15, 16, 19, 20, 21, 25, 39, 41], "format_ensemble_result": 3, "ensemble_dictionari": 3, "step": [3, 6, 8, 9, 12, 13, 14, 15, 16, 25, 35, 38], "handle_ensemble_string_to_json": 3, "raw_output": 3, "deal": [3, 12], "creat": [3, 6, 8, 9, 12, 13, 14, 15, 16, 20, 21, 28, 31, 32, 35, 37], "wrapper": [3, 7, 9, 12, 21, 31, 33, 43], "easi": [3, 12, 23, 40], "cl": 3, "load_ensembl": 3, "convert_float_kei": 3, "select_kei": 3, "flush": [3, 21, 31], "ensemebl": 3, "even": [3, 11, 14, 15], "open_ensembl": 3, "utf": [3, 16, 31], "open": [3, 5, 12, 16, 19, 31], "read": [3, 4, 5, 12, 16, 19, 20, 22, 23, 31, 40], "decompress": 3, "explain": [4, 39], "repositori": 4, "last": [4, 14, 17, 19, 20, 32], "usecas": 4, "tutori": [4, 23, 40], "individu": [4, 13, 23, 40], "run_system_wrapp": [4, 5, 9, 18, 23, 24], "via": [4, 6, 7, 9, 13, 14, 15, 16, 21, 22, 25], "noteworthi": 4, "full": [4, 9, 17, 20, 22, 30, 37], "script": [4, 9, 20, 22, 23, 26, 30, 37, 40], "about": [4, 6, 8, 13, 14, 15, 16, 20, 21, 22, 26, 31, 34, 43], "modif": 4, "binari": [4, 7, 8, 12, 14, 15, 22, 23, 25, 32, 35, 40, 43], "introduc": 5, "notebook": [5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 23, 40], "import": [5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 35], "os": [5, 6, 8, 12, 13, 14, 15, 16, 17, 19, 20], "temp_dir": [5, 6, 8, 12, 14, 15, 16, 17, 20], "run_system": [5, 7, 9, 11, 12, 17, 18, 25, 41], "tmp_dir": [5, 6, 8, 12, 14, 15, 16, 17, 22, 35], "notebook_bhbh": 5, "log_fil": [5, 22], "60": [5, 13, 31], "m2": [5, 8, 9, 12, 13, 16, 19, 31, 32, 43], "k1": [5, 12, 19], "k2": [5, 12, 19], "sep": [5, 8, 12, 13, 16, 19, 31, 32, 43], "ecc": [5, 12, 16, 19, 31, 32], "r1": [5, 12, 19], "rol1": [5, 12, 19], "r2": [5, 12, 19], "rol2": [5, 12, 19], "30441": 5, "random_count": [5, 12, 19], "0000": [5, 12, 19], "000": [5, 12, 19], "00": [5, 12, 13, 16, 19], "1193": 5, "28": [5, 7, 8, 9, 12, 13], "792": 5, "6492": 5, "26": [5, 13], "756": 5, "off_m": [5, 12, 19], "type_chng": [5, 12, 19], "6588": 5, "687": [5, 8], "2135": 5, "972": 5, "3695": 5, "813": 5, "3967": 5, "827": 5, "randbuf": [5, 19], "14439": 5, "mer": 5, "354981": 5, "764989": 5, "550575": 5, "162006": 5, "78488": 5, "23513": 5, "gt": [5, 6, 7, 8, 9, 12, 14, 16, 17, 18, 19], "vk": [5, 19], "218": 5, "134": 5, "vr": [5, 19], "01791": 5, "phi": [5, 19], "101323": 5, "vn": [5, 19], "final": [5, 8, 13, 14, 15, 19], "runawai": [5, 19], "v": [5, 19, 23, 40], "114": 5, "552": 5, "184": 5, "683": 5, "18": [5, 13, 14, 15, 17, 19], "7769": 5, "957894": 5, "max_tim": [5, 12, 19], "wide": [5, 13, 14, 15], "littl": [5, 6, 8, 13, 16, 17, 29], "40": [5, 8, 13, 14, 15], "35895": 5, "3101": 5, "48": [5, 13], "y": [5, 6, 17, 20, 21, 25, 26], "009": [5, 17], "beg_symb": 5, "3583": 5, "081": [5, 6], "35": [5, 8, 13, 32], "930": [5, 15], "3971": 5, "98": [5, 13, 14, 15], "023": 5, "014": 5, "lock": [5, 31], "3928": [5, 19], "41": [5, 13], "632": [5, 13], "894": 5, "3995": 5, "1199": 5, "776": [5, 19], "5374": 5, "4219": 5, "27": [5, 8, 13, 14, 16], "615": 5, "603": [5, 13], "5603": 5, "013": 5, "5403": 5, "157": 5, "151": 5, "5696": 5, "012": 5, "6475": 5, "763": [5, 32], "731": 5, "5791": 5, "19": [5, 8, 13, 14, 16, 19], "010": 5, "011": 5, "6548": 5, "730": 5, "729": 5, "5794": 5, "203": 5, "6550": 5, "728": [5, 8], "225": 5, "inv": [5, 19], "6552": 5, "725": 5, "5795": 5, "246": 5, "6556": 5, "721": 5, "5796": 5, "282": 5, "6559": 5, "716": 5, "727": 5, "321": 5, "6571": 5, "691": [5, 8], "724": [5, 9], "5798": 5, "546": 5, "021": 5, "6649": 5, "502": 5, "5812": 5, "548": 5, "543": 5, "1021": 5, "167": [5, 13], "598": 5, "7342": 5, "36": [5, 8, 13], "588": 5, "574": 5, "2663": 5, "178": 5, "480": 5, "8828": 5, "57": [5, 6, 8, 13], "460": 5, "end_symb": 5, "2670": 5, "171": 5, "458": 5, "8837": 5, "58": [5, 13], "455": 5, "2671": 5, "454": 5, "8840": 5, "2672": 5, "170": 5, "450": 5, "453": 5, "2673": 5, "446": 5, "8843": 5, "452": 5, "2674": 5, "169": 5, "442": 5, "451": [5, 8], "2676": 5, "438": 5, "8846": 5, "2677": 5, "168": [5, 8], "435": 5, "448": 5, "2678": 5, "431": 5, "8848": 5, "447": 5, "2679": 5, "427": 5, "2680": 5, "424": [5, 6], "8851": 5, "445": 5, "2681": 5, "166": [5, 8], "420": 5, "444": [5, 19], "2682": 5, "417": 5, "8853": 5, "2683": 5, "165": 5, "413": [5, 6], "441": 5, "2684": 5, "410": [5, 19], "8856": 5, "440": 5, "2685": 5, "164": 5, "407": 5, "8855": 5, "439": 5, "2686": 5, "404": 5, "8858": 5, "437": [5, 13], "2687": 5, "163": [5, 8], "400": 5, "436": 5, "2688": 5, "397": 5, "8860": 5, "434": 5, "2689": 5, "162": 5, "394": 5, "433": 5, "2690": 5, "391": 5, "8862": 5, "432": 5, "2691": [5, 13], "161": 5, "388": 5, "430": 5, "2692": 5, "385": 5, "8864": 5, "429": [5, 13], "2693": 5, "382": 5, "2694": 5, "379": 5, "8867": 5, "425": 5, "2695": 5, "160": 5, "376": 5, "8866": 5, "2696": 5, "373": 5, "8869": 5, "422": 5, "2697": 5, "159": [5, 8], "370": 5, "8868": 5, "2698": 5, "368": 5, "8871": 5, "419": 5, "2699": 5, "158": 5, "365": [5, 14], "8870": 5, "2700": 5, "362": 5, "8873": 5, "415": 5, "359": 5, "8872": 5, "2701": 5, "357": 5, "8875": 5, "411": 5, "2702": 5, "156": [5, 8, 19], "354": 5, "8874": 5, "409": 5, "2703": 5, "352": 5, "8877": 5, "2704": 5, "349": 5, "8876": 5, "405": 5, "2705": 5, "346": 5, "8878": 5, "403": 5, "2706": 5, "155": 5, "344": 5, "342": [5, 13], "8880": 5, "398": 5, "2707": 5, "154": 5, "339": 5, "396": 5, "2708": 5, "337": 5, "8882": 5, "393": 5, "2709": 5, "153": 5, "334": 5, "2710": 5, "332": 5, "8884": 5, "152": 5, "330": 5, "386": 5, "2711": 5, "327": 5, "8886": 5, "383": 5, "2712": 5, "325": 5, "380": 5, "2713": 5, "323": 5, "8887": 5, "377": 5, "2714": 5, "320": 5, "374": 5, "318": 5, "8889": 5, "371": 5, "2715": 5, "150": [5, 8, 13, 14, 15, 16], "316": [5, 8], "2716": 5, "314": 5, "8891": 5, "2717": 5, "149": 5, "312": [5, 6], "361": 5, "2718": 5, "310": 5, "8893": 5, "358": 5, "148": [5, 19], "308": 5, "8892": 5, "355": 5, "2719": 5, "306": 5, "8894": 5, "351": 5, "2720": 5, "147": 5, "304": 5, "347": 5, "2721": 5, "302": [5, 19], "8896": 5, "343": [5, 14], "300": [5, 16, 38], "340": 5, "2722": 5, "298": 5, "8898": 5, "335": 5, "2723": 5, "146": 5, "296": 5, "8897": 5, "331": 5, "2724": 5, "294": [5, 6], "8899": 5, "145": 5, "292": 5, "2725": 5, "290": 5, "8901": 5, "2726": 5, "144": 5, "288": 5, "2727": 5, "286": 5, "8903": 5, "309": 5, "143": 5, "284": 5, "8902": 5, "2728": 5, "8904": 5, "59": [5, 6, 13], "299": [5, 16], "2729": 5, "142": 5, "281": [5, 43], "2730": 5, "279": 5, "8906": 5, "141": 5, "277": 5, "283": 5, "2731": 5, "275": 5, "8908": 5, "2732": 5, "140": 5, "274": 5, "8907": 5, "272": 5, "2733": [5, 13], "8909": 5, "266": 5, "2734": 5, "139": 5, "270": 5, "260": 5, "268": 5, "8911": 5, "253": 5, "2773": 5, "136": 5, "217": 5, "8934": 5, "020": 5, "2800": 5, "8949": 5, "3729": 5, "039": 5, "072": 5, "9043": 5, "3781": 5, "034": 5, "067": 5, "9047": 5, "501": 5, "045": 5, "102": 5, "91": [5, 8, 13], "69569": 5, "911093": 5, "184829": 5, "636985": 5, "611763": 5, "837816": 5, "0118": 5, "4101": 5, "183": 5, "098": [5, 6], "5462": 5, "26416": 5, "22543": 5, "192": 5, "531": [5, 16], "908": 5, "105": [5, 14, 15], "89": [5, 6, 13, 15, 16], "7432": 5, "187": 5, "589": 5, "90695": 5, "03221": 5, "104427": 5, "96112": 5, "511114": 5, "4046": 5, "586": 5, "776523": 5, "809662": 5, "448242": 5, "54439": 5, "0399": 5, "43173": 5, "384": 5, "535": 5, "4205": 5, "103702": 5, "582": 5, "106": [5, 16], "329": [5, 8], "8544": 5, "13796e": 5, "51": [5, 8, 13], "27569e": 5, "103": 5, "85406e": 5, "454268": 5, "let": [5, 8, 12, 13, 14, 15, 16, 17, 21], "bhbh": 5, "detector": 5, "found": [5, 6, 8, 13, 14, 15, 16, 30, 32, 37], "def": [5, 6, 8, 12, 13, 14, 15, 16, 19], "vb": [5, 26, 29, 31, 38], "readlin": 5, "length": [5, 20], "len": [5, 6, 12, 16, 19], "stellar_type1": 5, "stellar_type2": 5, "rememb": [5, 6, 14, 15], "pop": [5, 9, 17, 29], "oop": 5, "unbound": 5, "bound": [5, 32, 38], "search_for_bhbh": 5, "maxcount": 5, "arg": [5, 7, 16, 20, 29, 32, 33], "39": [5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 17, 18], "851": 5, "873": 5, "510": 5, "265": 5, "301": 5, "45": [5, 6, 8, 13], "261": 5, "898": 5, "553": 5, "276": 5, "54": [5, 13], "122": 5, "69": [5, 13], "09": [5, 6, 8, 13], "239": 5, "231": 5, "49": [5, 6, 13], "44": [5, 13], "341": 5, "55": [5, 6, 8, 13, 15, 16, 32], "2421": 5, "28369": 5, "402": 5, "88": [5, 13], "213": 5, "128": 5, "399": 5, "22": [5, 13, 14, 19], "921": 5, "24": [5, 8, 13, 14], "1876": 5, "118": 5, "20447": 5, "29": [5, 8, 13, 22], "421": 5, "115": [5, 32], "52": [5, 6, 8, 13], "004": 5, "32": [5, 8, 13, 20, 22], "113": 5, "33": [5, 13], "196": 5, "73": [5, 13, 16], "97": [5, 13], "711": 5, "78": [5, 13], "37": [5, 8, 13], "857": 5, "207": 5, "96": [5, 6, 8, 13], "881": 5, "85": [5, 8, 13, 38], "875": 5, "43": [5, 13], "79": [5, 13], "640": [5, 13], "46": [5, 8, 13, 16], "47": [5, 8, 13], "95": [5, 13, 15], "19622": 5, "87": [5, 13], "117": 5, "81": [5, 8, 13], "53": [5, 6, 8, 13, 16], "706": 5, "241": 5, "67": [5, 13, 16], "56": [5, 8, 13], "803": 5, "2439": 5, "235": [5, 6], "82": [5, 13], "61": [5, 13, 16], "210": [5, 19], "12522": 5, "63": [5, 8, 13], "64": [5, 13], "65": [5, 13, 38], "285": 5, "66": [5, 13], "1360": 5, "68": [5, 8, 13, 16], "1398": 5, "70": [5, 8, 13, 32], "77": [5, 13, 15], "71": [5, 13], "72": [5, 13], "208": 5, "84": [5, 8, 13, 16], "254": 5, "74": [5, 13], "1882": 5, "76": [5, 13], "123": 5, "132": 5, "86": [5, 8, 13], "80": [5, 13, 14, 32, 38], "83": [5, 8, 13], "240": 5, "129": 5, "127": 5, "93": [5, 13], "199": 5, "267": [5, 8], "18139": 5, "90": [5, 8, 13, 14], "180": 5, "92": [5, 13], "94": [5, 6, 8, 13, 20], "1254": [5, 12], "172": 5, "557": 5, "99": [5, 13, 14, 15], "3082": 5, "9548": 5, "32620": 5, "9310": 5, "60101": 5, "246604": 5, "283972": 5, "469524": 5, "55473": 5, "379292": 5, "38316": 5, "109679": 5, "0261496": 5, "4011": 5, "043": 5, "9308": 5, "107187": 5, "679223": 5, "238584": 5, "860402": 5, "891056": 5, "4186": 5, "59867": 5, "804961": 5, "0474572": 5, "4146": 5, "caus": [5, 13, 43], "former": 5, "unphys": [5, 8, 13], "5064": 5, "536": 5, "468": 5, "6493": 5, "53854": 5, "006": 5, "8674": 5, "840": 5, "505": 5, "3185": 5, "017": [5, 17], "8704": 5, "600": 5, "509": 5, "3192": 5, "592": 5, "418": 5, "8706": 5, "568": 5, "3193": 5, "496": 5, "8910": 5, "758": [5, 19], "3246": 5, "beg_rch": 5, "9650": 5, "495": 5, "571": 5, "3223": 5, "913": 5, "0585": 5, "961": 5, "3211": 5, "999": 5, "007": [5, 17], "end_rch": 5, "0649": 5, "747": 5, "479": 5, "3216": 5, "002": [5, 18, 19], "2967": 5, "576": 5, "392": [5, 19], "3429": 5, "beg_bss": 5, "2996": 5, "512": 5, "390": 5, "3462": 5, "59616": 5, "665406": 5, "861368": 5, "162038": 5, "282234": 5, "0511173": 5, "5117": 5, "7326": 5, "0717": 5, "32118": 5, "450629": 5, "3096": 5, "9074": 5, "493": 5, "3507": 5, "end_bss": 5, "9113": 5, "242": 5, "3529": 5, "223": 5, "9196": 5, "513": 5, "997": 5, "3591": 5, "221": 5, "9206": 5, "843": 5, "3599": 5, "9797": 5, "519": [5, 14], "984": [5, 15], "4098": 5, "0512": 5, "528": 5, "256": [5, 6, 22], "4673": 5, "137": 5, "1012": 5, "742": 5, "5017": 5, "1130": 5, "245": 5, "5043": 5, "1471": 5, "485": 5, "5114": 5, "4877": 5, "885": 5, "6409": 5, "845641": 5, "27734": 5, "925761": 5, "145632": 5, "67179": 5, "4683": 5, "83672": 5, "1844": 5, "22098": 5, "787705": 5, "5164": 5, "oh": 5, "dear": 5, "secondari": [5, 6, 13, 32, 43], "wider": 5, "shorter": 5, "shrink": [5, 8], "best": [5, 21, 22], "acquir": 5, "closer": 5, "grvitation": 5, "0001": [5, 7, 43], "0102": 5, "622": 5, "3069": 5, "1851": [5, 13], "215": 5, "508": 5, "2266": 5, "879": 5, "945": 5, "60876": 5, "7617": 5, "018": 5, "7647": 5, "572": 5, "583": 5, "7721": 5, "633": 5, "7785": 5, "3100": [5, 13], "1326": 5, "305": 5, "695": 5, "2791": 5, "09665": 5, "qc": 5, "714712": 5, "st": 5, "3048": 5, "0276": 5, "2332": 5, "rc": [5, 6, 8, 13, 14, 15, 17, 25], "71818": 5, "6952": 5, "9757": 5, "comenv": [5, 8], "presc": 5, "m01": 5, "mc1": 5, "l1": 5, "44223e": 5, "rzam": [5, 43], "33552": 5, "convfrac": 5, "467851": 5, "lambda_ion": 5, "a_in": 5, "p_in": 5, "1708": 5, "jtot_in": 5, "09706e": 5, "jorb_in": 5, "96557e": 5, "eorbi": 5, "76416e": 5, "ebindi": 5, "30388e": 5, "sepf": 5, "7114": 5, "4385": 5, "9758": 5, "8926": 5, "mf1": 5, "5423": 5, "mf2": 5, "af": 5, "jf": 5, "72832e": 5, "jej": 5, "63566e": 5, "eorbf": 5, "39152e": 5, "eej": 5, "03996e": 5, "alpha_ej": 5, "0241634": 5, "1327": 5, "028": 5, "367": 5, "232": 5, "459": 5, "mstart": 5, "397754": 5, "3084": 5, "9071": 5, "46089": 5, "a_out": 5, "p_out": 5, "0152545": 5, "57093": 5, "jorb_out": 5, "6771": 5, "rl1": 5, "236": [5, 19], "rl2": 5, "459382": 5, "No": [5, 7, 14, 16, 22, 23, 40], "9411": 5, "gyr": [5, 6, 8], "9452": 5, "934": 5, "70365": 5, "455552": 5, "66554": 5, "0303129": 5, "454409": 5, "106368": 5, "2147": 5, "612": [5, 13], "401": 5, "668328": 5, "0913095": 5, "387": 5, "9342": 5, "851646": 5, "360": 5, "844": [5, 6], "2823": 5, "1622": 5, "45534": 5, "9256": 5, "1973": 5, "126": 5, "1987": 5, "846": [5, 6], "4184": 5, "900": 5, "7052": 5, "131": 5, "7060": 5, "7527": 5, "852": 5, "046": 5, "356": 5, "7554": 5, "465": 5, "888": 5, "7557": 5, "328": 5, "051": [5, 6], "416": 5, "7572": 5, "618": 5, "234": [5, 8], "7669": 5, "375": 5, "7675": 5, "333": 5, "579": 5, "222": 5, "7779": 5, "541": 5, "991": 5, "7941": 5, "539": 5, "070": 5, "2191": 5, "2234": 5, "069": 5, "405577": 5, "425788": 5, "375537": 5, "574826": 5, "898786": 5, "6975": 5, "878": 5, "64724": 5, "150217": 5, "9445": 5, "368345": 5, "7093": 5, "1502": 5, "233": 5, "8377": 5, "3046": 5, "77416": 5, "7107": 5, "204": 5, "1822": 5, "949": 5, "1814": [5, 13], "784": 5, "1818": 5, "224": 5, "979": 5, "19097": 5, "112": 5, "84502": 5, "824494": 5, "0987206": 5, "883252": 5, "726002": 5, "995824": 5, "317": 5, "667": 5, "25694": 5, "46901": 5, "022": 5, "477791": 5, "781": 5, "206": [5, 17], "67059": 5, "826": 5, "6816": 5, "6008": 5, "592733": 5, "836": [5, 6], "121": 5, "4862": 5, "7418": 5, "7434": 5, "101": 5, "7455": 5, "870": 5, "7458": 5, "995": 5, "7459": 5, "055": 5, "577": 5, "7836": 5, "7852": 5, "252": 5, "8004": 5, "992": 5, "8194": 5, "024": 5, "9725": 5, "025": 5, "1124": 5, "825086": 5, "878253": 5, "783746": 5, "582318": 5, "354576": 5, "9794": 5, "994": 5, "969": 5, "22787": 5, "16539": 5, "9739": 5, "3518": 5, "953182": 5, "120": 5, "657": 5, "449": [5, 13], "20677": 5, "078": 5, "932": 5, "173": 5, "4710": 5, "11686": 5, "0165": 5, "contact": [5, 23, 40], "00288661": 5, "00242158": 5, "393886": 5, "981555": 5, "bh_bh": 5, "2033": 5, "16729": 5, "213854": 5, "coalesc": 5, "369": 5, "624": [5, 13], "133": [5, 16], "037": 5, "1824": 5, "935": 5, "608": [5, 13], "951": 5, "179": 5, "408": 5, "1828": 5, "909": 5, "3171": 5, "1823": 5, "943": 5, "619": [5, 13], "1826": 5, "925": 5, "587": [5, 15], "1829": 5, "903": 5, "348": [5, 8], "111": 5, "707": [5, 13], "34870": 5, "549": 5, "376059": 5, "365763": 5, "371625": 5, "728797": 5, "817432": 5, "220": 5, "905": 5, "13607": 5, "475287": 5, "5493": 5, "478315": 5, "672": 5, "4493": 5, "6989": 5, "923": 5, "786": 5, "7335": 5, "07": [5, 13, 14, 15, 19, 32, 38], "702": 5, "489": 5, "7424": 5, "901": 5, "7426": 5, "507": 5, "104": [5, 8], "591": 5, "7447": 5, "492": 5, "7451": 5, "869": 5, "971": 5, "895": 5, "7714": 5, "219": 5, "7727": 5, "108": 5, "7874": 5, "996": [5, 8], "990": 5, "8062": 5, "032": 5, "1830": 5, "48809": 5, "946468": 5, "0278672": 5, "850309": 5, "663251": 5, "8982": 5, "2583": 5, "498": 5, "16733": 5, "776263": 5, "212": 5, "7069": 5, "577826": 5, "107": 5, "238": 5, "189": 5, "7767": 5, "8073": 5, "887": 5, "066": 5, "982": 5, "81705": 5, "372": 5, "47534": 5, "705715": 5, "41996": 5, "33295": 5, "061141": 5, "825648": 5, "694": [5, 8, 13], "1877": 5, "07108": 5, "406": [5, 13, 16], "212034": 5, "7428": 5, "816": 5, "7430": 5, "922": 5, "7431": 5, "048": [5, 17, 19], "7437": 5, "7450": 5, "109": [5, 8], "491": 5, "7840": 5, "7856": 5, "250": 5, "8008": 5, "998": 5, "993": 5, "8205": 5, "9648": 5, "1135": 5, "364017": 5, "086004": 5, "422436": 5, "514898": 5, "872312": 5, "9816": 5, "3228": 5, "4809": 5, "0298011": 5, "274206": 5, "201": 5, "5885": 5, "82224": 5, "5175": 5, "3752": 5, "719058": 5, "7752": 5, "135": 5, "503": 5, "936": 5, "124": 5, "27025": 5, "22936": 5, "0572914": 5, "50682": 5, "836621": 5, "272943": 5, "792721": 5, "229": 5, "98081": 5, "471379": 5, "412": 5, "48046": 5, "658": 5, "457": 5, "637": [5, 13], "7453": 5, "768": 5, "077": 5, "7456": 5, "099": 5, "195": 5, "891": 5, "896": 5, "7764": 5, "593": 5, "604": 5, "7933": 5, "7934": 5, "8123": 5, "114678": 5, "647161": 5, "438686": 5, "118229": 5, "734534": 5, "9357": 5, "2873": 5, "243": [5, 6], "973": [5, 13], "61521": 5, "86878": 5, "7731": 5, "1237": 5, "956619": 5, "1468": 5, "7748": 5, "764": 5, "5528": 5, "8577": 5, "6765": 5, "194": 5, "5556": 5, "11376": 5, "0159": 5, "00303761": 5, "00254512": 5, "332091": 5, "703545": 5, "1586": 5, "342474": 5, "754": 5, "828": 5, "1812": 5, "036": 5, "66016": 5, "65976": 5, "420182": 5, "0755737": 5, "70235": 5, "0772781": 5, "362601": 5, "27829": 5, "0074": 5, "221832": 5, "7433": 5, "057": 5, "338": [5, 9], "899": 5, "293": [5, 16], "7927": 5, "174": 5, "7942": 5, "177": [5, 8], "478": 5, "8079": 5, "205": 5, "8268": 5, "1674": [5, 13], "0701913": 5, "836783": 5, "398419": 5, "681487": 5, "392487": 5, "0245": 5, "3559": 5, "653": 5, "957": 5, "46607": 5, "371458": 5, "8708": 5, "930943": 5, "7267": 5, "679": [5, 8], "703": 5, "601": 5, "3231": [5, 13], "1473": 5, "7324": 5, "12495": 5, "0182": 5, "00256681": 5, "00215604": 5, "249": 5, "738524": 5, "014832": 5, "2493": 5, "0931922": 5, "497294": 5, "542": 5, "259": 5, "475": 5, "595": 5, "1813": 5, "749": 5, "976": 5, "906": 5, "1838": 5, "664": 5, "033": 5, "941": [5, 8], "1099": 5, "989": 5, "1834": 5, "868": 5, "13267": 5, "19393": 5, "965167": 5, "024684": 5, "612281": 5, "280749": 5, "106545": 5, "669442": 5, "453932": 5, "952": 5, "6834": 5, "405068": 5, "739": 5, "4256": 5, "907": 5, "5366": 5, "959": 5, "737": 5, "673": 5, "7423": 5, "042": 5, "950": 5, "7427": 5, "202": 5, "7448": 5, "291": 5, "688": [5, 8], "570": [5, 14], "005": 5, "7679": 5, "7691": 5, "944": 5, "7828": 5, "8013": 5, "035": [5, 14], "1786": 5, "12741": 5, "970206": 5, "0192009": 5, "748832": 5, "618445": 5, "8683": 5, "2352": 5, "554": 5, "88581": 5, "520903": 5, "6764": 5, "2029": 5, "936762": 5, "182": 5, "366": 5, "774": [5, 12], "876": 5, "606": [5, 13], "414": 5, "757": [5, 8], "8805": 5, "11707": 5, "0166": 5, "00286793": 5, "00239838": 5, "090": 5, "985359": 5, "790941": 5, "0896": 5, "96963": 5, "3282": 5, "1923": 5, "181": 5, "797": 5, "57739": 5, "8140": 5, "645763": 5, "309361": 5, "0877243": 5, "351532": 5, "959422": 5, "659": 5, "02823": 5, "301483": 5, "280": 5, "674": [5, 16], "6181": 5, "698517": 5, "942": 5, "9927": [5, 12], "4807": 5, "58504": 5, "914": 5, "6905": 5, "4243": 5, "533": 5, "692": 5, "9264": 5, "798": 5, "854": 5, "271": 5, "761": 5, "097": 5, "7460": 5, "7472": 5, "806": 5, "7589": 5, "778": 5, "7595": 5, "856": [5, 13], "874": 5, "7689": 5, "981": 5, "7690": 5, "988": 5, "7863": 5, "059": 5, "9110": 5, "061": 5, "1514": 5, "1915": 5, "058": 5, "1920": 5, "784972": 5, "231704": 5, "950733": 5, "127442": 5, "999122": 5, "3758": 5, "8545": 5, "27767": 5, "84071": 5, "7969": 5, "952496": 5, "4957": 5, "26441": 5, "269": 5, "9351": 5, "243583": 5, "4666": 5, "11346": 5, "00300971": 5, "00247821": 5, "651": 5, "882017": 5, "700359": 5, "6514": 5, "40049": 5, "869544": 5, "1839": 5, "837": 5, "46220": 5, "787": 5, "82245": 5, "0531294": 5, "367268": 5, "912283": 5, "67023": 5, "0670735": 5, "315": 5, "815": 5, "421436": 5, "347405": 5, "7875": 5, "70005": 5, "6185": 5, "14212": 5, "481": 5, "84428": 5, "1847": 5, "4455": 5, "116": 5, "237": 5, "4540": 5, "765": 5, "777": 5, "6822": 5, "482": 5, "6831": 5, "7214": 5, "483": 5, "7219": 5, "7422": 5, "7449": 5, "893": 5, "534": 5, "216": 5, "053": 5, "7657": 5, "965": [5, 14], "7781": 5, "7782": 5, "7962": 5, "040": 5, "8182": 5, "1695": 5, "3038": 5, "0714679": 5, "144141": 5, "608655": 5, "0385396": 5, "8372": 5, "2112": 5, "263": 5, "242151": 5, "219058": 5, "364": 5, "681": 5, "929": 5, "706483": 5, "2053": 5, "0641": 5, "353": 5, "4018": 5, "50537": 5, "7633": 5, "70054": 5, "524": 5, "60636": 5, "493975": 5, "450818": 5, "456519": 5, "938568": 5, "859977": 5, "671": 5, "40339": 5, "06987": 5, "5244": 5, "281309": 5, "4176": 5, "2834": 5, "2268": 5, "9537": 5, "7046": 5, "4755": 5, "228": 5, "295": 5, "7429": 5, "047": [5, 17], "661": 5, "529": 5, "084": 5, "986": [5, 8], "886": 5, "678": [5, 12], "7774": 5, "7789": 5, "7944": 5, "8141": 5, "027": 5, "498232": 5, "463455": 5, "752134": 5, "246625": 5, "139044": 5, "9423": 5, "2924": 5, "091": 5, "873639": 5, "531411": 5, "258": [5, 8], "872316": 5, "2224": 5, "2632": 5, "602": 5, "99203": 5, "1612": 5, "6094": 5, "8091": 5, "1825": 5, "67245": 5, "42052": 5, "938576": 5, "0316266": 5, "659526": 5, "104997": 5, "0823499": 5, "4867": 5, "51742": 5, "910817": 5, "3563": 5, "205353": 5, "4670": 5, "522": 5, "884": 5, "016": 5, "7438": 5, "7446": 5, "7452": 5, "805": 5, "7759": 5, "646": 5, "7928": 5, "8121": 5, "852712": 5, "248871": 5, "398927": 5, "135164": 5, "756795": 5, "9323": 5, "2846": 5, "809": [5, 6], "497": 5, "75508": 5, "817843": 5, "872": 5, "454013": 5, "1807": 5, "226": 5, "064": 5, "581": 5, "1816": 5, "648": 5, "1713": 5, "2081": 5, "2182": 5, "52058": 5, "1062": 5, "447918": 5, "0727584": 5, "93044": 5, "693944": 5, "896286": 5, "63153": 5, "39834": 5, "2216": 5, "743837": 5, "8917": 5, "0831": 5, "56865": 5, "4365": 5, "1314": 5, "5735": 5, "1753": 5, "3767": 5, "564": 5, "4192": 5, "865": 5, "7988": 5, "7997": 5, "7500": 5, "319": 5, "927": 5, "110": 5, "7530": 5, "7544": 5, "7644": 5, "611": [5, 13], "7650": 5, "7750": 5, "7907": 5, "8276": 5, "2156": 5, "068": 5, "608269": 5, "309461": 5, "901988": 5, "741346": 5, "691586": 5, "2063": 5, "9505": 5, "198": 5, "609": 5, "34537": 5, "503726": 5, "484": 5, "871": 5, "648549": 5, "37409": 5, "4013": 5, "828858": 5, "404962": 5, "512561": 5, "876382": 5, "718549": 5, "51478": 5, "852252": 5, "324": 5, "478807": 5, "130": 5, "311": 5, "821": 5, "890": 5, "7461": 5, "7960": 5, "186": [5, 13], "7975": 5, "736": [5, 8], "8104": 5, "8292": 5, "1784": 5, "1810": 5, "335642": 5, "191543": 5, "332777": 5, "97316": 5, "569581": 5, "0394": 5, "3674": 5, "076": 5, "57878": 5, "24165": 5, "624125": 5, "15907": 5, "802": 5, "9153": 5, "5619": 5, "675": 5, "504": 5, "850": 5, "1821": 5, "48336": 5, "16833": 5, "0910814": 5, "677623": 5, "874638": 5, "910419": 5, "847153": 5, "785": 5, "32282": 5, "962876": 5, "6179": 5, "18148": 5, "085": 5, "2816": 5, "596": [5, 13], "8523": 5, "8654": 5, "4797": 5, "954": 5, "464": 5, "855": 5, "962": 5, "214": 5, "644": [5, 13], "841": 5, "7803": 5, "7819": 5, "7973": 5, "7974": 5, "8163": 5, "1637": 5, "567303": 5, "507104": 5, "0563088": 5, "15884": 5, "9606": 5, "3065": 5, "248": [5, 8], "998023": 5, "09164": 5, "264": 5, "835": 5, "741448": 5, "1005": 5, "712": 5, "514": 5, "1035": 5, "8379": 5, "6797": 5, "1747": 5, "744": 5, "904": 5, "16837": 5, "471": 5, "20980": 5, "962482": 5, "401263": 5, "689781": 5, "991224": 5, "841718": 5, "28867": 5, "597": 5, "4714": 5, "43618": 5, "7823": 5, "1736": 5, "6604": 5, "6032": 5, "1715": 5, "4380": 5, "7425": 5, "662": 5, "381": 5, "931": 5, "7735": 5, "193": 5, "7883": 5, "8071": 5, "031": 5, "832981": 5, "367793": 5, "0528412": 5, "325965": 5, "929511": 5, "9038": 5, "2626": 5, "395": 5, "84029": 5, "355513": 5, "544": 5, "518851": 5, "0335": 5, "1485": 5, "273": 5, "2551": 5, "3959": 5, "01561": 5, "6745": 5, "926": 5, "64463": 5, "41238": 5, "0789786": 5, "697827": 5, "336295": 5, "0232618": 5, "981292": 5, "16564": 5, "26456": 5, "0013": 5, "476589": 5, "6379": 5, "2221": 5, "2802": 5, "70043": 5, "5904": 5, "567": 5, "4734": 5, "801": 5, "861": 5, "119": 5, "026": 5, "853": 5, "7751": 5, "138": 5, "740": 5, "7766": 5, "735": 5, "7919": 5, "8111": 5, "029": 5, "659743": 5, "318753": 5, "774969": 5, "492302": 5, "125968": 5, "9263": 5, "2801": 5, "227": 5, "791478": 5, "0153961": 5, "884461": 5, "2132": 5, "9779": 5, "7631": 5, "727196": 5, "3273": [5, 13], "019": 5, "2437": 5, "257": [5, 43], "54371": 5, "36403": 5, "82064": 5, "137502": 5, "935816": 5, "181795": 5, "297187": 5, "86728": 5, "689835": 5, "266485": 5, "960": 5, "7435": 5, "336": 5, "7457": 5, "759": 5, "494": 5, "7911": 5, "185": 5, "389": 5, "8067": 5, "8261": 5, "8435": 5, "1624": [5, 13], "209274": 5, "548864": 5, "783792": 5, "0770302": 5, "187694": 5, "0171": 5, "3502": 5, "17932": 5, "00832": 5, "230": 5, "915": [5, 8], "829668": 5, "38921": 5, "474": 5, "4369": 5, "251": [5, 8], "937": 5, "569": 5, "1819": 5, "1841": 5, "825": 5, "81562": 5, "32076": 5, "512617": 5, "817888": 5, "592309": 5, "885537": 5, "150681": 5, "946757": 5, "880528": 5, "795": [5, 32], "978": 5, "807361": 5, "289": 5, "13298": 5, "3771": 5, "3127": 5, "4218": 5, "4764": 5, "175": 5, "4387": 5, "811": 5, "807": 5, "6384": 5, "6388": 5, "631": [5, 8], "7292": 5, "7296": 5, "052": 5, "7635": 5, "511": 5, "7645": 5, "7765": 5, "7943": 5, "8339": 5, "1678": 5, "551072": 5, "608485": 5, "94464": 5, "243214": 5, "899464": 5, "8251": 5, "6515": 5, "539343": 5, "701": 5, "428699": 5, "8354": 5, "6212": 5, "0523": 5, "0208": 5, "8441": 5, "975": 5, "1811": 5, "562": 5, "1815": 5, "003": 5, "68746": 5, "19907": 5, "768655": 5, "0583837": 5, "429398": 5, "789859": 5, "720749": 5, "0295": 5, "5286": 5, "618382": 5, "205537": 5, "818": 5, "049": 5, "506": 5, "7882": 5, "7898": 5, "8044": 5, "8234": 5, "123048": 5, "307199": 5, "581558": 5, "0991059": 5, "0907537": 5, "0034": 5, "3396": 5, "570222": 5, "930282": 5, "209": 5, "670422": 5, "5221": 5, "57062": 5, "9036": 5, "9427": 5, "866": 5, "26051": 5, "82797": 5, "670413": 5, "0772021": 5, "151616": 5, "253705": 5, "893941": 5, "61679": 5, "515062": 5, "247": [5, 16], "5456": 5, "411151": 5, "616": [5, 13], "4304": 5, "5301": 5, "738": 5, "955": 5, "545": 5, "559": 5, "7677": 5, "566": [5, 19], "7825": 5, "7826": 5, "8010": 5, "1783": 5, "0283541": 5, "410828": 5, "567898": 5, "0335017": 5, "139732": 5, "8664": 5, "2338": 5, "197": 5, "677": 5, "877963": 5, "20265": 5, "4202": 5, "896196": 5, "3957": 5, "859": 5, "3025": 5, "5919": 5, "8605": 5, "8924": 5, "1088": 5, "5977": 5, "11506": 5, "0162": 5, "00296406": 5, "00247864": 5, "088": 5, "760064": 5, "126532": 5, "0877": 5, "795024": 5, "547002": 5, "490": 5, "947": 5, "832": 5, "974": 5, "75931": 5, "054": [5, 32], "19521": 5, "859753": 5, "23894": 5, "62549": 5, "77541": 5, "227249": 5, "42785": 5, "583346": 5, "0535": 5, "301129": 5, "262": 5, "892": 5, "629": [5, 13], "7440": 5, "7454": 5, "709": 5, "7827": 5, "7843": 5, "7996": 5, "8196": 5, "9902": 5, "0995": 5, "123635": 5, "335153": 5, "0259932": 5, "335847": 5, "105082": 5, "9743": 5, "3172": 5, "66025": 5, "33451": 5, "089": 5, "818294": 5, "689": 5, "6909": 5, "443": 5, "918543": 5, "4048": 5, "819": 5, "57538": 5, "46057": 5, "517454": 5, "325743": 5, "975864": 5, "00707417": 5, "739962": 5, "699": 5, "64932": 5, "40238": 5, "743": 5, "196177": 5, "963": [5, 8, 14], "752": 5, "7920": 5, "7936": 5, "8074": 5, "8263": 5, "1670": 5, "973135": 5, "35487": 5, "431313": 5, "180453": 5, "831236": 5, "0214": 5, "3536": 5, "22281": 5, "693321": 5, "293512": 5, "605": 5, "2214": 5, "4507": 5, "6328": 5, "2618": 5, "1831": 5, "80402": 5, "565": 5, "79911": 5, "897612": 5, "696284": 5, "954848": 5, "0469097": 5, "915148": 5, "297": 5, "676": 5, "75005": 5, "13416": 5, "5652": 5, "448401": 5, "2057": 5, "9912": 5, "8493": 5, "2991": 5, "3757": 5, "5734": 5, "4321": 5, "6626": 5, "966": 5, "773": 5, "7384": 5, "902": 5, "558": 5, "530": 5, "7705": 5, "7718": 5, "7864": 5, "8050": 5, "263235": 5, "959492": 5, "915221": 5, "263079": 5, "72611": 5, "8912": 5, "2529": 5, "647": 5, "56228": 5, "493648": 5, "906299": 5, "8975": 5, "958": 5, "211": [5, 14, 15], "746": 5, "0745": 5, "3243": 5, "686": 5, "2295": 5, "772": 5, "1781": 5, "64611": 5, "101955": 5, "189239": 5, "951597": 5, "398381": 5, "970505": 5, "917": 5, "09786": 5, "204663": 5, "9073": 5, "773166": 5, "6344": 5, "7315": 5, "62366": 5, "9105": 5, "2472": 5, "1575": 5, "079": [5, 6], "2914": 5, "4183": 5, "911": 5, "6749": 5, "6758": 5, "7536": 5, "638": [5, 13], "791": 5, "363": 5, "7564": 5, "7566": 5, "783": [5, 12], "7582": 5, "7678": 5, "7684": 5, "7790": 5, "065": 5, "985": 5, "071": 5, "2210": 5, "063": 5, "2261": 5, "12806": 5, "912327": 5, "690746": 5, "544482": 5, "155342": 5, "7717": 5, "6145": 5, "964": [5, 14], "087": 5, "976041": 5, "0890815": 5, "951344": 5, "345": 5, "0907": 5, "463": 5, "3471": 5, "8972": 5, "12136": 5, "4981": 5, "812": 5, "5051": 5, "10782": 5, "015": 5, "00317508": 5, "00248439": 5, "600593": 5, "164714": 5, "1098": 5, "03493": 5, "202569": 5, "9339": 5, "938": 5, "1843": 5, "808": 5, "176": 5, "804": 5, "34175": 5, "953": 5, "78012": 5, "970783": 5, "761478": 5, "514087": 5, "706029": 5, "819715": 5, "15042": 5, "424712": 5, "656": 5, "528102": 5, "3719": 5, "2291": 5, "7184": 5, "0784": 5, "499": 5, "4357": 5, "378": 5, "1334": 5, "5324": 5, "5703": 5, "5712": 5, "775": [5, 19], "7354": 5, "7359": 5, "7419": 5, "7421": 5, "525": 5, "7620": 5, "883": 5, "7629": 5, "7741": 5, "7742": 5, "7918": 5, "8533": 5, "1610": 5, "179142": 5, "296544": 5, "237203": 5, "0156945": 5, "617224": 5, "8039": 5, "1854": 5, "87813": 5, "31958": 5, "585": 5, "464494": 5, "041": 5, "1633": 5, "68376": 5, "35051": 5, "566263": 5, "0474164": 5, "750149": 5, "0787729": 5, "537743": 5, "4162": 5, "37874": 5, "00182": 5, "306619": 5, "833": 5, "7462": 5, "814": 5, "7965": 5, "188": 5, "7980": 5, "191": 5, "782": 5, "8107": 5, "8108": 5, "8295": 5, "473762": 5, "894041": 5, "457987": 5, "738399": 5, "315223": 5, "0414": 5, "98061": 5, "497008": 5, "942854": 5, "7879": 5, "3589": 5, "8452": 5, "9595": 5, "1631": 5, "2305": 5, "39521": 5, "3419": 5, "32684": 5, "0533803": 5, "740494": 5, "317663": 5, "857699": 5, "38908": 5, "373282": 5, "1977": 5, "359784": 5, "326": 5, "4311": 5, "6474": 5, "750": [5, 6], "7380": 5, "056": [5, 17], "710": 5, "7709": 5, "7722": 5, "7868": 5, "8055": 5, "709965": 5, "260676": 5, "438861": 5, "0625403": 5, "328066": 5, "8941": 5, "2552": 5, "0613": 5, "06527": 5, "613167": 5, "36957": 5, "86334": 5, "215638": 5, "175004": 5, "932839": 5, "339587": 5, "829017": 5, "20887": 5, "326601": 5, "1104": 5, "38009": 5, "4438": 5, "6934": 5, "7322": 5, "700": [5, 19], "705": [5, 19], "830": [5, 19], "968": 5, "7720": 5, "7734": 5, "8076": 5, "124496": 5, "659469": 5, "0744186": 5, "706126": 5, "225135": 5, "9032": 5, "2622": [5, 13], "698": [5, 13], "41457": 5, "424924": 5, "9093": 5, "939378": 5, "3649": 5, "0868": 5, "634": [5, 13], "1108": 5, "5094": 5, "1392": 5, "7028": 5, "8881": 5, "12548": 5, "0184": 5, "00254115": 5, "0021272": 5, "826831": 5, "573703": 5, "60468": 5, "712414": 5, "517": 5, "817": [5, 12], "2157": 5, "1817": 5, "3008": 5, "1835": 5, "33719": 5, "81352": 5, "202196": 5, "453412": 5, "935069": 5, "374905": 5, "177551": 5, "987": 5, "11558": 5, "252877": 5, "1043": 5, "548589": 5, "4333": 5, "939": 5, "693": [5, 8], "970": 5, "526": 5, "7671": 5, "858": [5, 6], "7683": 5, "7817": 5, "8001": 5, "1775": 5, "912238": 5, "432729": 5, "998563": 5, "996798": 5, "823767": 5, "17588": 5, "45757": 5, "737411": 5, "573": 5, "5557": 5, "4102": 5, "3495": 5, "4945": 5, "2528": 5, "1808": 5, "2629": 5, "668": 5, "14764": 5, "77631": 5, "524755": 5, "166559": 5, "560118": 5, "228555": 5, "671001": 5, "21603": 5, "573874": 5, "469": 5, "418029": 5, "7967": 5, "7982": 5, "8109": 5, "8300": 5, "492707": 5, "583436": 5, "489077": 5, "445821": 5, "760389": 5, "0425": 5, "3698": 5, "77766": 5, "108571": 5, "426": 5, "615165": 5, "4788": 5, "8791": 5, "8271": 5, "88343": 5, "3264": 5, "1551": 5, "3154": 5, "062": 5, "1809": 5, "476": 5, "80954": 5, "62200": 5, "492484": 5, "298194": 5, "807403": 5, "382144": 5, "303533": 5, "90716": 5, "237951": 5, "847": 5, "539941": 5, "7439": 5, "822": 5, "7964": 5, "7979": 5, "8299": 5, "1792": 5, "623354": 5, "732953": 5, "639951": 5, "492818": 5, "729193": 5, "0411": 5, "3688": 5, "58166": 5, "0143651": 5, "828241": 5, "0791": 5, "755": 5, "7188": 5, "9851": 5, "5681": 5, "50652": 5, "4845": 5, "2371": 5, "4623": 5, "1827": 5, "61117": 5, "46822": 5, "585985": 5, "665969": 5, "751305": 5, "588396": 5, "216951": 5, "36314": 5, "177727": 5, "645286": 5, "095": 5, "094": [5, 8], "244": [5, 17], "799": 5, "7899": 5, "8095": 5, "030": 5, "888123": 5, "610285": 5, "315404": 5, "683467": 5, "789064": 5, "9139": 5, "075": 5, "682": [5, 8], "95783": 5, "375712": 5, "441158": 5, "532": 5, "1075": 5, "1449": [5, 13], "4509": 5, "6058": 5, "2878": 5, "33879": 5, "282623": 5, "472318": 5, "115722": 5, "685872": 5, "936532": 5, "278": 5, "88441": 5, "380887": 5, "36016": 5, "8992": 5, "3042": 5, "54027": 5, "7886": 5, "7958": 5, "8280": 5, "1729": 5, "433477": 5, "791274": 5, "413467": 5, "495924": 5, "706984": 5, "0319": 5, "3616": 5, "44211": 5, "0081514": 5, "916093": 5, "2021": [5, 6, 8, 13], "2927": 5, "766": 5, "0837": 5, "315903": 5, "8939": 5, "1858": 5, "5112": 5, "82486": 5, "619099": 5, "101038": 5, "840994": 5, "542419": 5, "00585495": 5, "0367878": 5, "0849409": 5, "0128": 5, "676215": 5, "518": 5, "477089": 5, "287": 5, "796": 5, "807331": 5, "6832": 5, "168972": 5, "6883": 5, "845": 5, "4961": 5, "594": 5, "8443": 5, "3034": 5, "4188": 5, "4197": 5, "086": 5, "7420": 5, "880": 5, "722": 5, "7598": 5, "7605": 5, "7706": 5, "7877": 5, "8935": 5, "1492": 5, "478253": 5, "42097": 5, "939376": 5, "196311": 5, "22518": 5, "7108": 5, "41485": 5, "652755": 5, "6161": 5, "469056": 5, "1833": 5, "25164": 5, "391798": 5, "388321": 5, "507443": 5, "208169": 5, "830541": 5, "21844": 5, "623232": 5, "402961": 5, "4501": 5, "428": 5, "779": 5, "7891": 5, "917439": 5, "479973": 5, "922199": 5, "806722": 5, "769195": 5, "9087": 5, "2664": 5, "092": 5, "660415": 5, "322": 5, "096": 5, "728237": 5, "313": 5, "867": 5, "977": 5, "36298": 5, "829": 5, "9189": 5, "308203": 5, "0621119": 5, "366259": 5, "740929": 5, "96161": 5, "04198": 5, "502775": 5, "8293": 5, "366392": 5, "8635": 5, "5612": 5, "3244": 5, "0719": 5, "51819": 5, "9214": 5, "946": 5, "7831": 5, "7848": 5, "8000": 5, "8195": 5, "9814": 5, "1082": 5, "171096": 5, "480045": 5, "808134": 5, "257278": 5, "205527": 5, "29136": 5, "50687": 5, "988755": 5, "8399": 5, "4108": 5, "4822": 5, "1796": 5, "2127": 5, "8961": 5, "8252": 5, "11239": 5, "0156": 5, "00311757": 5, "00261516": 5, "6429": 5, "208453": 5, "2008": 5, "30975": 5, "28984": 5, "2836": 5, "734": 5, "54307": 5, "77455": 5, "359881": 5, "325197": 5, "29816": 5, "208923": 5, "805733": 5, "06257": 5, "621375": 5, "0501": 5, "344772": 5, "4825": 5, "477": 5, "663": 5, "523": 5, "918": 5, "732": 5, "7773": [5, 19], "527": 5, "8138": 5, "953798": 5, "649327": 5, "456313": 5, "316118": 5, "249106": 5, "2921": 5, "56518": 5, "376604": 5, "8003": 5, "834303": 5, "2275": 5, "5593": 5, "2871": 5, "3978": 5, "8031": 5, "6562": 5, "11854": 5, "0169": 5, "00280816": 5, "00235329": 5, "559889": 5, "750806": 5, "71746": 5, "120066": 5, "8569": 5, "76134": 5, "0393944": 5, "347623": 5, "960734": 5, "465867": 5, "145296": 5, "555": [5, 8], "912919": 5, "0683196": 5, "623052": 5, "4379": 5, "0608": 5, "4622": 5, "5208": 5, "5217": 5, "7386": 5, "7390": 5, "912": 5, "578": 5, "983": 5, "7612": 5, "708": 5, "7728": 5, "7902": 5, "8694": 5, "1553": 5, "197729": 5, "670337": 5, "663976": 5, "124931": 5, "888613": 5, "1691": 5, "58332": 5, "84827": 5, "292641": 5, "7666": 5, "5738": 5, "9304": 5, "7626": 5, "39831": 5, "953738": 5, "256488": 5, "181244": 5, "00666382": 5, "226424": 5, "42266": 5, "40735": 5, "423": 5, "127957": 5, "590": 5, "7893": 5, "7909": 5, "8053": 5, "8250": 5, "8731": 5, "1527": 5, "00518983": 5, "196046": 5, "634261": 5, "332251": 5, "153852": 5, "0087": 5, "3438": 5, "628": [5, 13], "966681": 5, "342134": 5, "997751": 5, "3331": 5, "14112": 5, "7269": 5, "967": 5, "2075": 5, "11182": 5, "0155": 5, "00319483": 5, "00268237": 5, "202339": 5, "130725": 5, "2333": 5, "821367": 5, "637666": 5, "47419": 5, "56631": 5, "460081": 5, "633684": 5, "547729": 5, "321082": 5, "954624": 5, "99808": 5, "365949": 5, "4422": 5, "335428": 5, "6413": 5, "7413": 5, "8638": 5, "75921": 5, "9147": 5, "074": 5, "7844": 5, "7861": 5, "8012": 5, "8202": 5, "9557": 5, "1219": 5, "224923": 5, "249848": 5, "781046": 5, "0784722": 5, "326147": 5, "9842": 5, "3248": 5, "04924": 5, "00294": 5, "787368": 5, "83762": 5, "64359": 5, "776818": 5, "472105": 5, "63923": 5, "939757": 5, "21764": 5, "36747": 5, "07484": 5, "328512": 5, "7925": 5, "8065": 5, "8066": 5, "8254": 5, "8429": 5, "1618": 5, "942154": 5, "0122109": 5, "00984861": 5, "664546": 5, "183974": 5, "0164": 5, "3497": 5, "15594": 5, "335342": 5, "523561": 5, "1722": 5, "1571": 5, "44170": 5, "7319": 5, "174169": 5, "242309": 5, "841284": 5, "736112": 5, "693128": 5, "35505": 5, "491811": 5, "486": 5, "541792": 5, "704": 5, "684": [5, 8], "7990": 5, "8115": 5, "8303": 5, "675689": 5, "111583": 5, "429122": 5, "183048": 5, "0536749": 5, "0461": 5, "3726": [5, 13], "769": 5, "337249": 5, "686591": 5, "753": 5, "64265": 5, "9255": 5, "8585": 5, "924": 5, "92382": 5, "5775": 5, "20938": 5, "4872": 5, "697": 5, "64137": 5, "63818": 5, "295543": 5, "0290733": 5, "983229": 5, "514916": 5, "177444": 5, "11491": 5, "0298364": 5, "9046": 5, "315124": 5, "303": 5, "4454": 5, "538": 5, "933": 5, "823": 5, "838": [5, 6], "669": 5, "7745": 5, "7912": 5, "8101": 5, "752438": 5, "590877": 5, "920832": 5, "48926": 5, "135101": 5, "2767": 5, "767": 5, "848866": 5, "0214824": 5, "97797": 5, "10877": 5, "44558": 5, "1967": 5, "16265": 5, "5333": 5, "1663": 5, "1845": 5, "21824": 5, "15186": 5, "618705": 5, "0958704": 5, "380393": 5, "596161": 5, "941478": 5, "91548": 5, "193528": 5, "2961": 5, "584622": 5, "1204": [5, 19], "0187": 5, "617": [5, 13], "2044": 5, "51809": 5, "3017": 5, "4330": 5, "1178": 5, "5089": 5, "956": 5, "5532": 5, "7365": 5, "7370": 5, "561": 5, "7736": 5, "7737": 5, "7913": 5, "8573": 5, "1606": 5, "86323": 5, "0440989": 5, "389749": 5, "19366": 5, "310029": 5, "1804": 5, "2413": 5, "94797": 5, "659448": 5, "245223": 5, "1806": 5, "4076": 5, "36323": 5, "347169": 5, "666661": 5, "916207": 5, "695505": 5, "213396": 5, "34081": 5, "401728": 5, "611785": 5, "7757": 5, "7772": 5, "670": 5, "7926": 5, "725718": 5, "420316": 5, "312637": 5, "321643": 5, "755323": 5, "9309": 5, "2835": 5, "74583": 5, "364747": 5, "766094": 5, "919": 5, "916": 5, "2898": 5, "42362": 5, "18108": 5, "785539": 5, "0547419": 5, "829757": 5, "994118": 5, "162941": 5, "02379": 5, "41726": 5, "4865": 5, "824848": 5, "622494": 5, "9859": 5, "7282": 5, "8155": 5, "1379": 5, "1517": 5, "1521": 5, "4182": 5, "7761": 5, "745": 5, "7792": 5, "7795": 5, "7813": 5, "7901": 5, "8048": 5, "8200": 5, "9253": 5, "2514": 5, "2819": 5, "770532": 5, "458064": 5, "288353": 5, "635703": 5, "971941": 5, "9179": 5, "10689": 5, "274854": 5, "470": 5, "4959": 5, "465133": 5, "7085": 5, "6885": 5, "1498": 5, "6674": 5, "31408": 5, "6908": 5, "645": [5, 13, 19], "6747": 5, "65262": 5, "633148": 5, "26637": 5, "057949": 5, "676181": 5, "732983": 5, "614": [5, 13], "60547": 5, "360093": 5, "382472": 5, "7903": 5, "8047": 5, "8245": 5, "8813": 5, "1478": 5, "912289": 5, "389208": 5, "840796": 5, "834483": 5, "0055": 5, "3412": 5, "732818": 5, "791991": 5, "72764": 5, "44852": 5, "646273": 5, "2556": 5, "70429": 5, "245209": 5, "792744": 5, "98096": 5, "534699": 5, "9471": 5, "317921": 5, "7806": 5, "8151": 5, "502451": 5, "121263": 5, "690203": 5, "229591": 5, "829726": 5, "9524": 5, "3002": 5, "21333": 5, "57141": 5, "421365": 5, "789": 5, "1306": 5, "21043": 5, "79412": 5, "055188": 5, "239704": 5, "41862": 5, "0131145": 5, "261343": 5, "64207": 5, "34126": 5, "153329": 5, "7436": 5, "7916": 5, "8058": 5, "8247": 5, "8596": 5, "1567": 5, "392194": 5, "816958": 5, "606169": 5, "906059": 5, "754141": 5, "3461": 5, "350": [5, 13], "947774": 5, "865806": 5, "863": [5, 8], "3963": 5, "4752": 5, "6579": 5, "6215": 5, "2477": [5, 13], "72983": 5, "105704": 5, "115297": 5, "826771": 5, "681473": 5, "713946": 5, "48586": 5, "371427": 5, "305334": 5, "748": [5, 19], "8059": 5, "8060": 5, "8249": 5, "8598": 5, "1569": 5, "168558": 5, "82325": 5, "838423": 5, "947719": 5, "637754": 5, "3469": 5, "00712": 5, "10941": 5, "111023": 5, "5358": 5, "3448": 5, "877": 5, "79264": 5, "70052": 5, "421475": 5, "12974": 5, "216067": 5, "0727126": 5, "806431": 5, "06696": 5, "02473": 5, "129879": 5, "6489": 5, "551": [5, 6], "7210": 5, "575": 5, "044": 5, "9900": 5, "0993": 5, "645339": 5, "239197": 5, "451732": 5, "787102": 5, "172014": 5, "9749": 5, "3176": 5, "0808": 5, "611632": 5, "971686": 5, "9869": 5, "4773": 5, "6225": 5, "3368": 5, "9610": 5, "11802": 5, "0168": 5, "00283345": 5, "00237669": 5, "48749": 5, "764629": 5, "8043": 5, "0250231": 5, "55982": 5, "34018": 5, "216496": 5, "518397": 5, "821301": 5, "789188": 5, "814387": 5, "889": 5, "11695": 5, "616737": 5, "6182": 5, "492242": 5, "4588": 5, "7743": 5, "920": 5, "8105": 5, "453348": 5, "9148": 5, "661725": 5, "141361": 5, "743118": 5, "9203": 5, "2754": 5, "66915": 5, "799889": 5, "757025": 5, "2881": 5, "9057": 5, "7537": 5, "10522": 5, "659581": 5, "610184": 5, "685255": 5, "768339": 5, "230955": 5, "45114": 5, "566495": 5, "54949": 5, "7845": 5, "9561": 5, "1222": 5, "132057": 5, "274445": 5, "86794": 5, "353432": 5, "774954": 5, "9841": 5, "3247": 5, "696": 5, "86918": 5, "297506": 5, "622081": 5, "24098": 5, "22036": 5, "995687": 5, "502841": 5, "600258": 5, "531293": 5, "00730797": 5, "0459174": 5, "0626266": 5, "523485": 5, "659393": 5, "8678": 5, "146844": 5, "7659": 5, "488": 5, "7842": 5, "7858": 5, "8009": 5, "8199": 5, "9598": 5, "1173": 5, "184464": 5, "215504": 5, "314533": 5, "333032": 5, "235464": 5, "9825": 5, "3235": 5, "47946": 5, "340477": 5, "545743": 5, "72617": 5, "83843": 5, "482668": 5, "103789": 5, "125553": 5, "477535": 5, "786062": 5, "93898": 5, "0449442": 5, "256783": 5, "626": [5, 13], "7797": 5, "7968": 5, "8158": 5, "854649": 5, "895821": 5, "257437": 5, "92995": 5, "671551": 5, "9573": 5, "21948": 5, "03507": 5, "613": [5, 13], "230102": 5, "9127": 5, "4229": 5, "4251": 5, "4949": 5, "639": [5, 13, 19], "839": 5, "462": [5, 19], "1560": 5, "21927": 5, "69808": 5, "280723": 5, "418757": 5, "552711": 5, "793832": 5, "244645": 5, "53715": 5, "628169": 5, "414875": 5, "7871": 5, "7887": 5, "8034": 5, "8224": 5, "9098": 5, "1415": 5, "496312": 5, "075416": 5, "7607": 5, "125886": 5, "290684": 5, "9977": 5, "3352": 5, "2613": 5, "82642": 5, "845387": 5, "32631": 5, "1846": 5, "788": 5, "77624": 5, "77505": 5, "50973": 5, "0448877": 5, "0251003": 5, "655371": 5, "876084": 5, "5046": 5, "315973": 5, "59429": 5, "4433": 5, "0722": 5, "082": 5, "4759": 5, "948": 5, "5309": 5, "5317": 5, "7381": 5, "7385": 5, "008": 5, "7613": 5, "7622": 5, "7730": 5, "7905": 5, "8653": 5, "1599": 5, "435809": 5, "148721": 5, "45889": 5, "674645": 5, "910981": 5, "72386": 5, "356812": 5, "0878": 5, "187993": 5, "9603": 5, "5982": 5, "2406": 5, "02786": 5, "math": [6, 8, 13, 14, 15, 16, 17, 35, 38], "matplotlib": [6, 8, 14, 15, 17, 19, 25], "pyplot": [6, 8, 14, 15, 17, 19], "plt": [6, 8, 14, 15, 17, 19], "notebook_hrd": 6, "our": [6, 8, 13, 14, 15, 22, 23, 32, 40], "mathrm": [6, 8, 13, 14, 15], "univers": [6, 8, 22], "These": [6, 7, 13, 14, 15, 16, 20, 22, 25, 26], "rough": 6, "real": [6, 13, 16, 35], "finit": [6, 8, 13, 14, 15], "ago": 6, "cannot": [6, 9, 16, 29, 31, 34], "geq": 6, "_": [6, 8, 13, 14, 15, 22, 34], "odot": [6, 8, 19], "through": [6, 7, 11, 12, 13, 14, 15, 16, 25, 26, 35, 41], "studi": [6, 23, 40], "leq": 6, "bse_opt": [6, 8, 13, 14, 15, 16, 21, 38], "grid_opt": [6, 8, 12, 13, 14, 15, 16, 21, 26, 29, 30, 31, 35, 36, 37, 38], "custom_opt": [6, 12, 13, 14, 15, 16, 21, 31], "physic": [6, 13, 14, 15, 16, 22], "13700": [6, 8], "nine": 6, "distribution_funct": [6, 8, 13, 15, 16, 21, 23, 24], "massrang": [6, 8, 13, 14, 15], "add_grid_vari": [6, 8, 13, 14, 15, 16, 35], "longnam": [6, 8, 13, 14, 15, 16, 35], "valuerang": [6, 8, 13, 14, 15, 16, 35], "samplerfunc": [6, 8, 13, 14, 15, 16, 22, 35, 38], "const": [6, 8, 13, 15], "probdist": [6, 8, 13, 14, 15, 16, 35], "dprob": [6, 8, 14, 15], "dm1": [6, 14, 15], "care": [6, 13, 14, 15, 22], "dphasevol": [6, 8, 13, 14, 15, 16, 35], "dm_1": [6, 14, 15], "condit": [6, 8, 9, 13, 14, 15, 16, 18, 19, 35], "impos": [6, 8, 13, 14, 15, 16], "mostli": [6, 8, 13, 14, 15, 16, 19, 20, 22, 25, 34, 41], "yourself": [6, 8, 13, 14, 15, 16, 25], "gridtyp": [6, 8, 16, 35], "precod": [6, 8, 13, 14, 15, 16, 35], "postcod": [6, 8, 16, 35], "branchpoint": [6, 8, 16, 35], "branchcod": [6, 8, 16, 35], "topcod": [6, 8, 16, 35], "bottomcod": [6, 8, 16, 35], "grid_variable_numb": [6, 8, 35], "asymptot": 6, "made": [6, 26], "bit": [6, 13], "messi": 6, "avoid": [6, 7, 8], "track": [6, 22, 25], "custom_logging_stat": [6, 8, 13, 14, 15], "foreach_star": [6, 13], "outermost_core_mass": 6, "doubl": [6, 9, 16, 20], "logteff": 6, "teff_from_star_struct": 6, "logl": 6, "loggrav": 6, "tini": 6, "gravitational_const": 6, "m_sun": 6, "pow2": 6, "r_sun": 6, "starnum": [6, 13], "zero_ag": [6, 9, 12, 13, 14, 15, 16], "c_logging_cod": [6, 8, 9, 12, 13, 14, 15, 16, 22], "lt": [6, 7, 8, 12, 14, 16, 17, 18], "amp": [6, 8], "catch": [6, 8, 12, 13, 14, 15, 16, 19, 20, 22], "doesn": [6, 22], "associ": [6, 8, 13, 14, 15, 30, 37], "datalinedict": [6, 8, 13, 14, 15, 20], "parse_funct": [6, 8, 12, 13, 14, 15, 16, 21, 22, 41], "self": [6, 8, 12, 13, 14, 15, 16, 21, 22, 26, 29, 30, 31, 32, 35, 37, 38, 39], "zams_mass": [6, 13, 14, 15, 16], "loop": [6, 8, 12, 13, 14, 15, 16, 31, 35], "splitlin": [6, 7, 8, 9, 12, 13, 14, 15, 16, 17], "search": [6, 13, 17, 23], "nstar": [6, 13], "group": [6, 13, 17, 39], "linedata": [6, 8, 13, 14, 15], "setup": [6, 16, 23, 40, 41], "grid_result": [6, 8, 13, 14, 15, 22], "results_dictionari": [6, 8, 13, 14, 15], "0x14bf2250fdc0": 6, "configur": [6, 11, 12, 13, 14, 15, 16, 19, 22, 27, 32], "part": [6, 7, 12, 13, 14, 15, 16, 19, 21, 30, 32, 35, 37, 43], "straightforward": [6, 13, 14, 15, 16], "num_cor": [6, 8, 13, 14, 15, 16, 22], "lot": [6, 13, 14, 15, 16, 17, 22, 39, 41], "There": [6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 19, 21, 22, 23, 25, 32, 34, 40], "ri0005": [6, 16, 23, 40], "surrei": [6, 16, 23, 40], "ac": [6, 16, 23, 40], "uk": [6, 16, 23, 40], "grid_options_descript": [6, 16, 34], "thread": [6, 8, 13, 14, 15, 20, 22, 33], "suffici": 6, "crunch": [6, 8, 13, 14, 15], "analyt": [6, 8, 13, 14, 15, 16, 21, 23, 24], "dry": [6, 8, 13, 14, 15, 16, 22, 35], "starcount": [6, 8, 13, 14, 15, 16], "binary_c_python": [6, 7, 8, 12, 13, 14, 15, 16, 20], "binary_c_grid_8a7d52edc59346ce991063d9e05e9ba7": 6, "py": [6, 8, 13, 14, 15, 16, 17, 22, 23, 29, 40], "dry_run": [6, 8, 13, 16], "symlink": [6, 8, 13, 16], "binary_c_grid": [6, 8, 13, 16], "latest0": [6, 8, 13], "mainprocess": [6, 8, 13], "system_queue_fil": [6, 8, 13], "processor": [6, 8, 13], "latest1": [6, 8, 13], "signal": [6, 8, 13, 22], "800": 6, "finish": [6, 8, 13, 14, 15, 16, 20, 25, 31], "free": [6, 8, 13], "01t09": [6, 8, 13], "838411": 6, "802706": 6, "ran": [6, 8, 13, 22], "had": [6, 8, 13, 14, 15, 21], "queue": [6, 8, 13, 22, 26, 30], "output_dict": [6, 8, 12, 13], "8a7d52edc59346ce991063d9e05e9ba7": 6, "took": [6, 8, 13, 14, 15, 16, 19], "mb": [6, 8, 13, 14, 15, 16, 20, 22], "were": [6, 8, 13, 14, 15, 16, 20, 39], "dict_kei": [6, 11, 12], "complet": [6, 8, 13, 14, 15, 16], "technic": [6, 8, 9, 13, 14, 15, 16], "population_nam": [6, 8, 13, 15], "evolution_typ": [6, 8, 13, 14, 15, 16, 22], "failed_count": [6, 8, 13, 14, 15, 16], "failed_prob": [6, 8, 13, 14, 15, 16], "failed_systems_error_cod": [6, 8, 13, 14, 15, 16], "errors_exceed": [6, 8, 13, 14, 15, 16], "errors_found": [6, 8, 13, 14, 15, 16], "total_prob": [6, 8, 13, 14, 15, 16], "total_count": [6, 8, 13, 14, 15, 16], "start_timestamp": [6, 8, 13, 14, 15, 16], "1635760192": 6, "8124797": 6, "end_timestamp": [6, 8, 13, 14, 15, 16], "1635760194": 6, "0176575": 6, "total_mass_run": [6, 8, 13, 14, 15, 16], "total_probability_weighted_mass_run": [6, 8, 13, 14, 15, 16], "zero_prob_stars_skip": [6, 8, 13, 14, 15, 16], "seaborn": [6, 8, 13, 14, 15, 17], "panda": [6, 8, 12, 13, 14, 15, 17, 18, 19, 20, 25], "pd": [6, 8, 12, 13, 14, 15, 17, 18, 19], "max_row": [6, 8, 17], "max_column": [6, 8, 17], "pad_output_distribut": [6, 8, 13, 14, 15, 20], "figur": [6, 8, 13, 14, 15, 17, 25], "figsiz": [6, 8, 13, 14, 15, 17, 19], "set_context": [6, 8, 13, 14, 15, 17], "font_scal": [6, 8, 13, 14, 15, 17], "linewidth": [6, 8, 13, 14, 15, 17], "datafram": [6, 8, 12, 13, 14, 15, 17, 18, 19, 25], "column": [6, 8, 12, 16, 17, 19, 25], "lineplot": [6, 8, 13, 14, 15, 17], "estim": [6, 17, 20, 22], "label": [6, 19, 32], "text": [6, 8, 17, 20, 34], "invert_xaxi": 6, "set_xlabel": [6, 8, 13, 14, 15, 17, 19], "log_": [6, 8, 13, 14, 15], "t_": 6, "eff": 6, "set_ylabel": [6, 8, 13, 14, 15, 17, 19], "distanc": [6, 17], "rerun": [6, 22], "At": [6, 16], "expect": [6, 7, 8, 13, 14, 15, 22, 23, 40], "begin": 6, "shortli": 6, "rsun": [6, 25], "alreadi": [6, 16, 17, 26, 31, 35], "Not": [6, 8], "binary_c_grid_f4e5925effeb42e69b5be956f400ae41": 6, "latest2": [6, 16], "latest3": 6, "093": [6, 17], "081024": 6, "246671": 6, "f4e5925effeb42e69b5be956f400ae41": 6, "suddenli": 6, "smooth": [6, 14, 15], "binary_c_grid_26171201413c43f5b91552a374879940": 6, "latest4": 6, "latest5": 6, "846045": 6, "416141": 6, "26171201413c43f5b91552a374879940": 6, "jerki": 6, "most": [6, 7, 8, 14, 15, 17, 20, 23, 40], "strong": 6, "rgb": 6, "tip": [6, 32], "proper": [6, 9, 34], "program": [6, 23, 40], "languag": 6, "sim": 6, "cours": [6, 25], "simpl": [6, 8, 13, 17], "introduct": 6, "haven": 6, "talk": 6, "produc": 6, "suffer": 6, "thermonuclear": 6, "luminosu": 6, "kilonova": 6, "interfac": [7, 17, 20, 23, 26, 40], "framework": [7, 23, 40], "sourcecod": [7, 9, 23, 40], "_binary_c_bind": [7, 9, 12, 17, 39, 43], "cell": [7, 13, 14, 15, 16], "free_persistent_data_memaddr_and_return_json_output": 7, "persistent_data": 7, "adress": [7, 9, 43], "persist": 7, "free_store_memaddr": 7, "memaddr": [7, 9], "return_arglin": 7, "return_help": 7, "info": [7, 11, 16, 20, 21, 23, 25, 39, 40], "return_help_al": [7, 20], "overview": 7, "categor": 7, "section": [7, 16, 20, 23, 32, 40], "return_maximum_mass_ratio_for_rlof": [7, 43], "argstr": [7, 9, 12, 17, 19], "store_capsul": 7, "unction": 7, "return_minimum_orbit_for_rlof": [7, 43], "return_persistent_data_memaddr": 7, "run_popul": 7, "return_store_memaddr": 7, "return_version_info": [7, 39], "abl": 7, "situat": 7, "slightli": 7, "custom_logging_func_memaddr": [7, 9, 22], "store_memaddr": [7, 43], "write_logfil": 7, "test_func": 7, "snippet": [7, 12], "reliabl": 7, "dont": [7, 19], "home": 7, "pyenv": [7, 14, 23, 40], "binarycpython3": 7, "lib": [7, 12, 14, 18, 19, 23, 40], "python3": [7, 14, 23, 40], "site": [7, 14], "cpython": 7, "x86_64": 7, "linux": 7, "gnu": 7, "categori": [7, 16], "creation": 7, "alloc": [7, 38], "written": [7, 12, 16, 22, 31, 34, 35, 41], "4500": 7, "0x7fc1f0c3ff00": 7, "single_star_lifetim": [7, 9, 12], "4838": [7, 9, 12], "unpars": 7, "join": [7, 9, 12, 14, 16, 19, 22, 26], "abridg": [7, 9, 16], "algorithm": [7, 23], "__arg_begin": 7, "lastli": [7, 12], "00632092": 7, "0141": 7, "alter": [8, 13, 35], "intermedi": 8, "notebook_comenv": 8, "alpha_": 8, "demonstr": 8, "keep": [8, 16, 31, 33], "log_dt": [8, 22], "focu": 8, "imposs": 8, "logperrang": [8, 13], "lnm1": [8, 13, 14, 15, 16], "min": [8, 9, 13, 14, 15, 16, 32], "exp": [8, 13, 14, 15, 16, 35], "three_part_powerlaw": [8, 13, 14, 15, 16, 32], "dlnm1": [8, 13, 16], "flatsect": [8, 13, 16, 32], "height": [8, 13, 16, 32], "dq": [8, 13, 16], "log10per": [8, 13, 16], "calc_sep_from_period": [8, 13, 16, 43], "sep_min": [8, 13, 16], "sep_max": [8, 13, 16], "sana12": [8, 13, 16, 32], "dlog10per": [8, 13, 16], "centr": [8, 16, 35], "nsep": 8, "nsep_min": 8, "nsep_max": 8, "comenv_count": 8, "proport": 8, "previou": [8, 14, 15, 20, 22, 39], "year_length_in_dai": 8, "wast": [8, 14, 15], "evolution_stop": 8, "parse_data": 8, "bin_data": [8, 13, 14, 15, 20], "binwidth": [8, 13, 14, 15, 20], "pre_comenv_period": 8, "post_comenv_period": 8, "nearest": [8, 13, 14, 15], "5dex": [8, 13, 14, 15], "binned_pre_period": 8, "aritif": 8, "binned_post_period": 8, "histogram": 8, "0x149c95c56c10": 8, "machin": [8, 22, 23, 40], "binary_c_grid_2b66f805db424c48a1d29c45092b6e3c": 8, "0645906": 8, "9s": [8, 13], "tpr": [8, 13], "28e": 8, "etf": [8, 13], "mem": [8, 13], "1mb": [8, 13], "1s": [8, 13], "34e": 8, "5mb": [8, 13], "6e": [8, 13], "6mb": [8, 13], "8s": [8, 13], "95e": 8, "4mb": [8, 13], "9e": 8, "7s": 8, "22e": 8, "685": [8, 13], "3mb": [8, 13], "4s": [8, 13], "58e": 8, "02e": [8, 13], "9mb": [8, 13], "810": 8, "20e": [8, 13], "0mb": [8, 13], "3s": [8, 13], "48e": [8, 13], "76e": 8, "2mb": [8, 13], "6s": [8, 13], "97e": [8, 13], "168379": 8, "323359": 8, "2m": [8, 13], "0163656": 8, "155678": 8, "991657": 8, "0175264": 8, "158640": 8, "099417": 8, "0143896": 8, "163481": 8, "732244": 8, "016309": 8, "2b66f805db424c48a1d29c45092b6e3c": 8, "8m": [8, 13], "06459059967730083": 8, "1635760256": 8, "1239555": 8, "1635760377": 8, "9739752": 8, "4680": 8, "235689312423": 8, "22611318083528548": 8, "unmerg": 8, "deepcopi": 8, "logper": [8, 32], "del": 8, "pad": [8, 13, 14, 15], "plot_data": [8, 13, 14, 15], "from_dict": [8, 13, 14, 15, 18, 19], "orient": 8, "p_": 8, "orb": [8, 16, 31], "xlim": [8, 17], "necessari": [8, 16, 17, 19, 20, 21, 37], "03502960360000004": 8, "019715467199999996": 8, "peak": [8, 14, 15, 38], "sim10": 8, "minut": [8, 20], "Such": 8, "prime": 8, "candid": 8, "excit": 8, "astrophys": [8, 14, 15, 23, 40], "life": 8, "compact": [8, 16], "lambda_": 8, "smoother": [8, 14, 15], "curv": [8, 14, 15], "why": 8, "learn": [9, 22], "custom_logging_funct": [9, 12, 16, 18, 19, 22, 23, 24], "edit": 9, "log_every_timestep": [9, 12], "evolve_singl": [9, 12, 21], "publicli": 9, "elabor": 9, "advis": 9, "hardcod": [9, 13, 14, 15, 16], "your": [9, 12, 18, 19, 22, 23, 40], "obvious": 9, "logging_lin": [9, 18, 19], "own": [9, 12, 16, 18, 19, 22, 23, 35, 40], "entir": [9, 12, 18, 19], "pragma": 9, "push_macro": 9, "undef": 9, "visibl": 9, "__attribute__": 9, "void": 9, "binary_c_api_funct": 9, "custom_output_funct": 9, "stardata_t": 9, "pop_macro": 9, "notebook_individual_system": [9, 12, 13, 14, 15, 16], "2e": [9, 13, 19], "example_logging_string_post_m": 9, "example_post_m": 9, "044142002936e": 9, "99194": 9, "13567": 9, "044572277695e": 9, "99192": 9, "51803": 9, "044654032097e": 9, "81395": 9, "045084306856e": 9, "99191": 9, "57443": 9, "manual": [9, 22, 23, 40], "custom_logging_memaddr": 9, "shared_lib_filenam": 9, "4530": [9, 12, 19], "example_logging_string_co": 9, "848380621869e": 9, "33469": 9, "1865": 9, "72498e": [9, 16], "example_massloss": [9, 12], "sn_type": 9, "sn_none": 9, "example_sn": 9, "id_cor": 9, "core_co": 9, "core_h": 9, "050651207308e": 9, "59452": 9, "34213": 9, "55458": 9, "71662": 9, "soon": [10, 38], "cover": [11, 13, 14, 15], "get_help": [11, 20], "get_help_al": [11, 20, 21], "get_help_sup": [11, 20], "get_default": [11, 20], "sever": [11, 16, 19, 22, 25, 34, 41], "print_help": [11, 20], "parameter_value_input_typ": [11, 20], "fetch": [11, 12], "return_binary_c_version_info": [11, 21, 39], "version_info": [11, 21, 23, 24], "argpair": [11, 39], "ensemble_filt": 11, "dt_limit": 11, "nucleosynthesis_sourc": [11, 39], "miscellan": [11, 39], "conjunct": 11, "analyz": 12, "quickli": 12, "simplest": 12, "notebook_custom_log": [12, 13, 14, 15, 16], "path": [12, 16, 19, 20, 22, 23, 26, 29, 30, 31, 34, 37, 40], "logfil": [12, 20, 23, 40], "uncom": [12, 13, 14, 15, 16, 17], "docstr": [12, 25], "12461": 12, "test_logfil": 12, "txt": [12, 16, 19, 23, 31, 40, 41], "22065": 12, "11003": 12, "1302": 12, "11582": 12, "2424": 12, "12325": 12, "1085": 12, "12457": 12, "1301": 12, "12460": 12, "8955": 12, "shrinkagb": 12, "1490": 12, "custom_log": [12, 19, 21, 22], "custom_logging_print_stat": 12, "000000000000e": 12, "column_nam": 12, "initial_mass": [12, 19], "value_lin": 12, "chose": 12, "startswith": 12, "split_lin": 12, "el": [12, 16], "numpi": [12, 16, 18, 19, 20, 35, 38], "arrai": [12, 16, 19, 20, 22, 32, 35, 38], "my": 12, "favorit": 12, "queri": [12, 26], "example_df": 12, "iloc": [12, 19], "drop": 12, "000001": 12, "000002": 12, "000003": 12, "1250": 12, "061259": 12, "718593": 12, "1251": 12, "149038": 12, "678026": 12, "1252": 12, "13461": 12, "1253": 12, "14461": 12, "row": [12, 19, 25], "notebook_popul": [12, 16], "everyth": [12, 16, 21, 22], "accordingli": [12, 14, 15, 16], "example_pop": [12, 16], "stuff": [12, 16, 22], "libcustom_logging_34a350b8f15c4d149deab88632948c99": 12, "np": [12, 18, 19, 38], "object_parse_funct": 12, "output_fil": [12, 20, 31, 34], "output_dir": [12, 16, 31], "example_output": 12, "values_arrai": 12, "fill": [12, 20], "anywai": [12, 16, 32, 35], "written_data": 12, "0x7f35b603e9d0": 12, "previous": [12, 16, 26], "libcustom_logging_446fe4cddfa94946bcafd55591ef3730": 12, "under": [12, 38], "hood": 12, "fewer": 12, "failsaf": 12, "notebook_api_funct": 12, "But": 12, "caught": [12, 20, 39], "correctli": [12, 19, 23, 40], "notebook_luminosity_funct": 13, "ipynb": [13, 14, 15, 16], "conceptu": 13, "public": [13, 14, 15, 16, 23], "purpos": [13, 14, 15, 16, 22, 25], "synthesi": [13, 14, 15, 16, 22, 23, 40], "side": [13, 14, 15, 16], "binarygrid": [13, 14, 15, 16], "predefin": [13, 14, 15, 16, 32], "assign": [13, 14, 15, 16, 35], "chosen": [13, 14, 15, 16, 35], "trio": [13, 14, 15, 16], "throughout": [13, 14, 15, 16, 35], "theoret": [13, 14, 15], "integr": [13, 14, 15, 32, 38], "densiti": [13, 14, 15, 32], "later": [13, 14, 15, 22], "accur": [13, 14, 15], "next": [13, 14, 15, 16, 20], "_1": [13, 14, 15], "cubic": 13, "cube": 13, "nre": [13, 38], "document": [13, 14, 15, 16, 22, 24, 31, 34], "recompil": [13, 14, 15, 16, 23, 40], "somewhat": [13, 14, 15, 16, 17], "perfectli": [13, 14, 15], "strictli": [13, 14, 15], "zero_age_main_sequence_starn": 13, "unresolv": 13, "model_numb": [13, 14, 15], "equival": [13, 22, 26], "capit": [13, 14, 15], "zero_age_main_sequence_star": [13, 14, 15], "1dex": [13, 14, 15], "binned_log_luminos": [13, 14, 15], "binary_c_grid_25014bc73b334765a1c09a4e4a97ed66": 13, "648566": 13, "690": 13, "1354": 13, "1355": 13, "11e": 13, "7e": 13, "1494": 13, "3m": 13, "7mb": 13, "1539": 13, "0m": 13, "1585": 13, "4m": 13, "36e": 13, "607": 13, "5m": 13, "56e": 13, "7m": 13, "79e": 13, "1703": 13, "83e": 13, "1749": 13, "9m": 13, "1780": 13, "14e": 13, "32e": 13, "44e": 13, "1879": 13, "52e": 13, "8mb": 13, "1910": 13, "1m": 13, "67e": 13, "1947": 13, "78e": 13, "5e": 13, "1968": 13, "82e": 13, "98e": 13, "15e": 13, "2048": 13, "24e": 13, "2071": 13, "31e": 13, "2091": 13, "42e": 13, "620": 13, "2122": 13, "55e": 13, "2143": 13, "59e": [13, 16], "623": 13, "2164": 13, "70e": 13, "2183": 13, "80e": 13, "2206": 13, "91e": 13, "2232": 13, "99e": 13, "2245": 13, "06e": 13, "2258": 13, "21e": 13, "2269": 13, "6m": 13, "2282": 13, "51e": 13, "2300": 13, "63e": 13, "2329": 13, "72e": 13, "2348": 13, "73e": 13, "2365": [13, 19], "81e": 13, "2383": 13, "90e": 13, "2400": 13, "2423": 13, "07e": 13, "2438": 13, "10e": 13, "2454": 13, "2466": 13, "29e": 13, "40e": 13, "2492": 13, "630": 13, "2516": 13, "2537": 13, "61e": 13, "2554": 13, "65e": 13, "2570": 13, "71e": 13, "2590": 13, "2636": 13, "2652": 13, "87e": 13, "2666": 13, "37e": 13, "75e": 13, "2746": 13, "2757": 13, "04e": 13, "2775": 13, "2795": 13, "2831": 13, "636": 13, "2845": 13, "2861": 13, "92e": 13, "2875": 13, "01e": 13, "2891": 13, "03e": 13, "2930": 13, "05e": 13, "2947": 13, "2965": 13, "2982": 13, "515": 13, "3010": 13, "3035": 13, "3059": 13, "3078": 13, "08e": 13, "3124": 13, "3148": 13, "3174": 13, "3197": 13, "3256": 13, "3294": 13, "641": 13, "3321": 13, "3348": 13, "3373": 13, "3394": 13, "642": 13, "3422": 13, "00e": 13, "3445": 13, "93e": 13, "3464": 13, "3483": 13, "96e": 13, "3509": 13, "3533": 13, "3550": 13, "3568": 13, "3588": 13, "64e": 13, "643": 13, "3622": 13, "68e": 13, "313623": 13, "3640": 13, "3657": 13, "50e": 13, "3676": 13, "53e": 13, "3706": 13, "66e": 13, "3746": 13, "3763": 13, "3786": 13, "49e": 13, "3811": 13, "5s": 13, "3832": 13, "3849": 13, "3875": 13, "3905": 13, "2s": 13, "3930": [13, 19], "41e": 13, "3931": [13, 19], "3954": 13, "19e": 13, "3977": 13, "690194": 13, "01t10": 13, "176751": 13, "1001": 13, "160675": 13, "706780": 13, "345842": 13, "155662": 13, "684890": 13, "433207": 13, "1025": 13, "162454": 13, "694517": 13, "453059": 13, "169775": 13, "456": 13, "25014bc73b334765a1c09a4e4a97ed66": 13, "38m": 13, "6485656144116352": 13, "1635760613": 13, "6602514": 13, "1635761189": 13, "652638": 13, "82563": 13, "09295167374": 13, "6438124832773024": 13, "titl": [13, 34], "l_": [13, 14, 15], "yscale": [13, 14, 15, 17], "weirdli": 13, "cost": [13, 14, 15], "observ": [13, 14, 15], "sequnec": [13, 14, 15], "notebook_luminos": [14, 15], "const_linear": [14, 16, 35, 38], "probtot": [14, 15], "mmax": [14, 15, 32, 38], "mmin": [14, 15, 22, 32, 38], "0x7f6920fd2430": 14, "subprocess": [14, 16], "f9b28e4ed6ec4a67b17cd86c5a43c41c": 14, "metadata": [14, 16, 21, 23, 24, 35], "population_id": [14, 16, 22], "9999999999999999": 14, "1655508316": 14, "7679594": 14, "1655508320": 14, "7581806": 14, "time_elaps": [14, 16, 28], "9902212619781494": 14, "ldist": [14, 15], "implic": [14, 15], "clearli": [14, 15], "realist": [14, 15], "went": [14, 15], "wrong": [14, 15, 23, 40], "unlik": [14, 15], "realiti": [14, 15], "law": [14, 15, 32], "kroupa": [14, 15, 32], "2001": [14, 15, 32], "update_grid_vari": [14, 15, 35], "211729": 14, "1d1d556abeae4549aa28f9740807dc84": 14, "spiki": [14, 15], "notic": [14, 15], "poor": [14, 15], "compens": [14, 15], "intens": [14, 15], "resourc": [14, 15, 26], "smarter": [14, 15], "linearli": [14, 15, 38], "renam": [14, 15, 35], "clear": [14, 15, 39], "logarithm": [14, 15, 32, 38], "old": [14, 15, 22, 35], "lnm_1": [14, 15, 16, 35], "rename_grid_vari": [14, 15, 35], "valueerror": [14, 16], "traceback": [14, 17], "recent": [14, 17, 23, 40], "env": [14, 22, 25], "dev_binarycpython3": 14, "population_extens": [14, 16, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "gridcod": [14, 16, 21, 23, 24], "oldnam": [14, 35], "newnam": [14, 35], "msg": 14, "dlnm": [14, 15], "dlnm_1": [14, 15, 16, 35], "_grid_vari": [14, 15, 22, 35], "perfect": [14, 15], "got": [14, 15], "wiggl": [14, 15], "artefact": [14, 15], "monoton": [14, 15], "brighten": [14, 15], "narrow": [14, 15], "co2": [14, 15], "bar": [14, 15], "isn": [14, 15, 20], "challeng": [14, 15], "notebook_luminosity_function_binari": [14, 15], "b6213f2eb7f94d3196cf966b7b76b9f9": 15, "472": [15, 19], "9999999999999998": 15, "1635760806": 15, "5066257": 15, "1635760813": 15, "4966016": 15, "3999999999996": 15, "03499999999999": 15, "218222": 15, "4b8c7f4a86e445099d73f27dffaad94b": 15, "995631": 15, "7a2e4301f5224b2cb8939d2297df0aad": 15, "621": 15, "recogn": 16, "__": 16, "45000000080": 16, "data_dir": [16, 20, 21, 22, 31], "example_python_population_result": 16, "base_filenam": [16, 21], "idea": [16, 25], "export_all_info": [16, 21], "include_popul": 16, "binary_c_default": 16, "commandlin": 16, "accept": [16, 20, 27], "include_binary_c_default": [16, 21], "include_binary_c_version_info": [16, 21], "include_binary_c_help_al": [16, 21], "fase": 16, "overriden": 16, "use_datadir": [16, 21], "outfil": [16, 21], "ok": [16, 26, 31], "example_pop_set": 16, "gz": [16, 31], "ret": 16, "easier": [16, 19, 20, 21], "discret": 16, "unweight": 16, "notabl": 16, "moe": [16, 23, 26, 27, 32], "di": [16, 23, 27, 32], "stefano": [16, 23, 27, 32], "dataset": [16, 22, 26, 27], "further": 16, "down": 16, "dry_parallel": [16, 35], "deeper": [16, 35], "evalu": [16, 32, 35, 38, 43], "bewar": [16, 31, 35], "insert": [16, 35], "destruct": [16, 35], "piec": [16, 19, 35], "risk": [16, 35], "rest": [16, 32, 35], "correspond": [16, 25, 30, 35, 37], "m_min": [16, 35], "m_max": [16, 32, 35], "room": [16, 35], "kroupa2001": [16, 32, 35], "met": [16, 21, 26, 35], "continu": [16, 30, 35, 37], "stepsiz": [16, 35], "parallel": [16, 35], "block": [16, 35], "comment": [16, 26, 30, 37], "test_pop": 16, "Or": [16, 19], "example_compact_object": 16, "makedir": [16, 20], "exist_ok": [16, 20], "seper": 16, "outfilenam": 16, "headerlin": 16, "isnt": 16, "0x7f2b6ca163a0": 16, "grid_vari": [16, 22], "0443872": 16, "598268106227e": 16, "30592": 16, "75988": 16, "00193614": 16, "436983545111e": 16, "35842": 16, "9948": 16, "00144093": 16, "690157944401e": 16, "43124": 16, "7998": 16, "00107238": 16, "242397939068e": 16, "52416": 16, "3205": 16, "000798096": 16, "756794139032e": 16, "66914": 16, "7394": 16, "000593966": 16, "401414766976e": 16, "73729": 16, "2857": 16, "000442046": 16, "536373523810e": 16, "80677": 16, "000328983": 16, "393982410080e": 16, "82164": 16, "9844": 16, "000244839": 16, "396470605248e": 16, "82129": 16, "9508": 16, "000182216": 16, "399005684057e": 16, "82041": 16, "7151": 16, "00013561": 16, "443375325717e": 16, "81645": 16, "9909": 16, "000100925": 16, "451195752942e": 16, "81559": 16, "51114e": 16, "452661646076e": 16, "81543": 16, "ce756bb317f64099a459bf8b55a746ac": 16, "044387171445641534": 16, "1646563001": 16, "7193637": 16, "1646563002": 16, "4480088": 16, "7286450862884521": 16, "649": 16, "905447944397": 16, "28133908148630704": 16, "write_binary_c_calls_to_fil": [16, 31], "dataio": [16, 21, 23, 24], "output_filenam": [16, 31], "include_default": [16, 31], "system_gener": [16, 31], "wouldn": [16, 31], "basic": [16, 31], "datadir": [16, 31], "binary_c_cal": [16, 31], "calls_filenam": 16, "binary_c_grid_ce756bb317f64099a459bf8b55a746ac": 16, "2406484012210224": 16, "22723621650191106": 16, "011394572976608001": 16, "812296769855663": 16, "22723621650191117": 16, "008480166685456411": 16, "5297876799548944": 16, "006311182276049824": 16, "430329401616038": 16, "004696962123378559": 16, "thats": 16, "evolve_popul": 16, "isfil": 16, "0fa4c2b8707741a5ab41d209ef95a3a4": 16, "regist": 16, "expand": 16, "intend": 16, "mass_1": [16, 19, 25], "zams_mass_1": 16, "mass_2": [16, 19, 25], "zams_mass_2": 16, "prev_stellar_type_1": 16, "prev_stellar_type_2": 16, "example_dco": 16, "logger": 16, "safe": [16, 31], "0211592": 16, "0eb5c0c9abd34607a6ee060b26a7e32f": 16, "378266748188e": 16, "66293": 16, "9713": 16, "78767": 16, "8178": 16, "000339963": 16, "817608462595e": 16, "82104": 16, "41436": 16, "000193036": 16, "422997711686e": 16, "82479": 16, "82171": 16, "2535": 16, "205711924468e": 16, "73765": 16, "notebook_solar_system": 17, "mercuri": 17, "1mmercuri": 17, "orbital_separ": 17, "1amercuri": 17, "star1": 17, "orbital_eccentr": 17, "venu": 17, "1mvenu": 17, "1avenu": 17, "earth": 17, "1mearth": 17, "1aearth": 17, "mar": 17, "1mmar": 17, "1amar": 17, "jupit": 17, "1mjupit": 17, "1ajupit": 17, "saturn": 17, "1msaturn": 17, "1asaturn": 17, "uranu": 17, "1muranu": 17, "1auranu": 17, "neptun": 17, "1mneptun": 17, "1aneptun": 17, "pluto": 17, "1mpluto": 17, "1apluto": 17, "2444": 17, "planet": 17, "central": 17, "cs1": 17, "superflu": 17, "fourth": 17, "nameerror": 17, "ipykernel_216542": 17, "1241251901": 17, "dtype": [17, 18, 19], "argh": 17, "sun": 17, "df": [17, 18, 19, 25], "ci": 17, "legend": [17, 19], "xx": 17, "head": 17, "loc": 17, "yy": 17, "au": 17, "swallow": 17, "although": 17, "mess": 17, "push": 17, "beyond": 17, "explor": 17, "vs": [17, 25], "ylim": 17, "toasti": 17, "distant": 17, "futur": 17, "example_parse_output": [18, 20], "100000000000": [18, 19], "float64": [18, 19], "logi": 18, "axessubplot": 18, "xlabel": 18, "server": 19, "nov": 19, "binary_c_python_api": 19, "nbinary_c": 19, "example_header_1": 19, "st1": 19, "st2": 19, "3540": 19, "example_header_2": 19, "initial_grid": 19, "tempfil": 19, "gettempdir": 19, "test_log": 19, "7106": 19, "786e": 19, "7509": 19, "8427e": 19, "8435e": 19, "1380": 19, "9373e": 19, "0900": 19, "2934e": 19, "726": 19, "3081e": 19, "2118": 19, "3702e": 19, "2646": 19, "34421": 19, "d48r": 19, "0570946": 19, "458272": 19, "13108": 19, "562029": 19, "924056": 19, "89211": 19, "78817": 19, "113492": 19, "80602": 19, "124379": 19, "7087": 19, "7695": 19, "608402": 19, "696003": 19, "796455": 19, "0834973": 19, "85661": 19, "3914": 19, "524629": 19, "634667": 19, "func_memaddr": 19, "run_binary_custom_log": 19, "3e": 19, "serv": [19, 20], "parse_output": 19, "behind": 19, "scene": 19, "background": 19, "inlin": 19, "mind": 19, "result_example_header_1": 19, "selected_head": [19, 20], "result_example_header_2": 19, "cast": [19, 20], "df2": 19, "81762e": 19, "000000e": 19, "00000": 19, "817620e": 19, "3927": 19, "102750e": 19, "33817": 19, "62124": 19, "896110e": 19, "202750e": 19, "3929": 19, "302750e": 19, "402750e": 19, "500000e": 19, "3932": 19, "doesnt": [19, 34], "autogener": 19, "result_example_head": 19, "000000": 19, "3630": 19, "131680e": 19, "627748": 19, "3631": 19, "231680e": 19, "3632": 19, "331680e": 19, "3633": 19, "431680e": 19, "3634": 19, "3635": 19, "run_and_calc_mass": 19, "kwarg": [19, 21, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41], "2f": 19, "last_st": 19, "last_stellar_type_change_time_1": 19, "slice": 19, "sliced_df": 19, "cut": 19, "late": 19, "final_mass": 19, "initial_tim": 19, "final_tim": 19, "mass_lost": 19, "wrt": 19, "metallicity_002": 19, "metallicity_001": 19, "metallicity_0002": 19, "mass_rang": 19, "arang": 19, "fractions_z002": 19, "fractions_z001": 19, "fractions_z0002": 19, "214274644851685": 19, "ax": 19, "subplot": 19, "nrow": 19, "ncol": 19, "m_": 19, "fontsiz": 19, "set_titl": 19, "set_yscal": 19, "save_loop": 19, "mass_loss_m": 19, "png": 19, "ep": 19, "bbox_inch": 19, "tight": 19, "verbose_print": [20, 33], "iter": 20, "context": 20, "manag": [20, 23, 40], "__enter__": 20, "stdout": [20, 22, 38], "__exit__": 20, "releas": [20, 23, 40], "call_binary_c_config": 20, "catchtim": 20, "spent": 20, "clock": 20, "exc_typ": 20, "exc_val": 20, "exc_tb": 20, "measur": 20, "check_if_in_shel": 20, "command_string_from_list": 20, "quot": 20, "conv_time_unit": 20, "hour": 20, "magnitud": 20, "convert_byt": 20, "size": [20, 22, 29], "convfloat": 20, "scalar": 20, "create_arg_str": 20, "filter_valu": 20, "create_hdf5": 20, "hdf5": 20, "hdf5file": 20, "conveni": [20, 23, 40], "example_head": 20, "defaultdict": 20, "rethink": 20, "filter_arg_dict": 20, "format_numb": 20, "scientif": 20, "notat": 20, "trail": [20, 38], "get_ansi_colour": 20, "color": [20, 25], "get_arg_kei": 20, "sinc": [20, 25, 32], "param_nam": 20, "fail_sil": 20, "did": [20, 23, 40], "compon": [20, 25], "categoris": 20, "silent": 20, "get_siz": 20, "seen": 20, "github": [20, 31], "bosswissam": 20, "pysiz": 20, "get_usernam": 20, "usernam": 20, "spawn": 20, "is_capsul": 20, "tell": [20, 26], "isfloat": 20, "isint": 20, "load_logfil": 20, "make_build_text": 20, "mem_us": 20, "now_object": 20, "nospac": 20, "date": [20, 21, 22], "d_": 20, "output_lin": 20, "receiv": 20, "dist": 20, "quotewrap": 20, "remove_fil": 20, "child_dir": 20, "child": 20, "full_path": 20, "timedelta": 20, "delta": [20, 38], "human": 20, "readabl": 20, "trem": 20, "dn": [20, 32], "differenti": 20, "progress": 20, "messag": [20, 21], "minimal_verbos": 20, "newlin": [20, 22, 31, 33], "charact": [20, 22, 31], "x0d": [20, 22], "carriag": [20, 22], "write_binary_c_parameter_descriptions_to_rst_fil": 20, "rst": [20, 34], "restructuredtext": 20, "save_snapshot": [21, 22, 31], "distinct": 21, "init": 21, "initial_abundance_hash": 21, "isotope_hash": 21, "isotope_list": 21, "nuclear_mass_hash": 21, "nuclear_mass_list": 21, "source_list": 21, "ensemble_list": 21, "spread": 21, "privat": [21, 23], "nice": [21, 25], "unload": 21, "custom_logging_info": 21, "grid_cod": 21, "mixin": 21, "portal": 21, "decor": 21, "staticmethod": 21, "classmethod": 21, "realpython": 21, "static": 21, "demystifi": 21, "cach": [21, 22, 23, 24, 28, 34, 38], "grid_log": [21, 23, 24], "grid_options_default": [21, 23, 24, 29], "hpc": [21, 22, 23, 24, 30, 37], "moe_di_stefano_2017": [21, 23, 24], "spacing_funct": [21, 23, 24], "reus": 21, "_pre_run_setup": 21, "relev": 21, "clean_up_custom_logging_fil": 21, "stacktrac": 21, "sy": 21, "include_population_set": 21, "all_info": 21, "flaw": 21, "rewrit": 21, "pl": 21, "population_set": 21, "return_population_set": 21, "_set": 21, "simulation_": 21, "jobid": [21, 22, 37], "job": [21, 22, 26, 30, 37], "id": [21, 22, 26, 30, 31, 32, 33, 37], "pid": 21, "hpc_jobid": [21, 26], "parse_cmdlin": 21, "return_all_info": 21, "return_binary_c_default": 21, "was_kil": 21, "meant": 22, "c_auto_log": 22, "headlin": 22, "hpc_force_join": 22, "slurm": [22, 23, 24, 26], "condor": [22, 23, 24, 26], "hpc_rebuild_joinlist": [22, 26], "joinlist": [22, 26], "moe2017_opt": 22, "cache_dir": [22, 38], "combine_ensemble_with_thread_join": 22, "ensemble_output_": 22, "thread_id": 22, "command_lin": 22, "htcondor": 22, "launch": [22, 30, 37], "condor_clusterid": [22, 30], "clusterid": [22, 30], "condor_process": [22, 30], "jobarrayindex": [22, 37], "condor_bash": 22, "bash": 22, "submit": [22, 23], "node": 22, "condor_batchnam": 22, "batchnam": 22, "appear": 22, "condor_q": 22, "condor_d": 22, "usr": 22, "condor_dir": [22, 26, 30, 37], "nf": [22, 31], "condor_env": 22, "condor_extra_set": 22, "te": 22, "batch": 22, "overwrit": [22, 26], "condor_getenv": 22, "environ": 22, "submiss": 22, "almost": 22, "certainli": 22, "condor_initial_dir": 22, "condor_kill_sig": 22, "sigint": 22, "condor_memori": 22, "images": 22, "condor_njob": 22, "condor_postpone_join": 22, "condor_postpone_submit": 22, "tool": 22, "condor_pwd": 22, "pwd": 22, "instal": [22, 43], "condor_requir": 22, "condor_should_transfer_fil": 22, "ye": 22, "condor_snapshot_on_kil": 22, "snapshot": [22, 26, 31], "sigkil": 22, "condor_stream_error": 22, "stream": 22, "condor_stream_output": 22, "condor_submit": 22, "condor_univers": 22, "vanilla": 22, "condor_warn_max_memori": 22, "condor_when_to_transfer_output": 22, "on_exit_or_evict": 22, "custom_gener": 22, "do_analyt": 22, "do_dry_run": 22, "dry_run_hook": 22, "hook": 22, "dry_run_num_cor": 22, "ensemble_factor_in_probability_weighted_mass": 22, "probability_weighted_mass": 22, "multiprocess": 22, "exit_after_dry_run": 22, "exit_cod": 22, "failed_systems_threshold": 22, "failed_system": 22, "function_cach": 22, "certain": [22, 23, 40], "function_cache_ttl": 22, "function_cache_default_maxs": 22, "maxsiz": 22, "function_cache_default_typ": 22, "lrucach": 22, "lfucach": 22, "fifocach": 22, "mrucach": 22, "rrcach": 22, "ttlcach": 22, "nullcach": [22, 29], "nocach": 22, "cachetool": [22, 29], "fo": 22, "dummi": [22, 25, 32], "overhead": 22, "function_cache_funct": [22, 29], "gridcode_filenam": 22, "log_arg": 22, "log_args_dir": 22, "log_newlin": 22, "log_runtime_system": 22, "plan": 22, "max_queue_s": 22, "feed": 22, "modulo": 22, "multiplicity_fraction_funct": 22, "aren": [22, 32], "rhagavan": 22, "n_logging_stat": 22, "num_cores_avail": 22, "original_command_lin": 22, "original_submission_tim": 22, "original_working_diretori": 22, "Its": 22, "print_stack_on_exit": 22, "stack": 22, "trace": 22, "restore_from_snapshot_dir": 22, "restore_from_snapshot_fil": [22, 26], "return_after_dry_run": 22, "run_zero_probability_system": 22, "rungrid": 22, "save_ensemble_chunk": 22, "save_population_object": [22, 31], "skip_befor": 22, "slurm_arrai": 22, "slurm_array_max_job": 22, "concurr": 22, "slurm_bash": 22, "slurm_dat": 22, "slurm_dir": [22, 26, 30, 37], "slurm_env": 22, "slurm_extra_set": 22, "slurm_jobarrayindex": [22, 37], "slurm_jobid": [22, 37], "slurm_jobnam": 22, "slurm_memori": 22, "megabyt": 22, "understand": 22, "512mb": 22, "slurm_njob": 22, "slurm_ntask": 22, "slurm_partit": 22, "partit": 22, "local": [22, 32], "sview": 22, "slurm_postpone_join": 22, "slurm_postpone_sbatch": 22, "sbatch": 22, "slurm_pwd": 22, "slurm_sbatch": 22, "slurm_tim": 22, "slurm_warn_max_memori": 22, "excess": 22, "mistak": 22, "1024mb": 22, "source_file_filenam": 22, "start_at": 22, "status_dir": 22, "stop_queu": 22, "symlink_latest_gridcod": 22, "diagnost": 22, "_repeat": 22, "reduct": 22, "working_diretori": 22, "multiplicity_model": 22, "log10m1": 22, "poisson": [22, 32], "map": 22, "quad": 22, "NO": 22, "multiplicity_modul": 22, "normalize_multipl": 22, "norm": 22, "b": [22, 31], "whichev": 22, "stick": 22, "predict": 22, "repres": 22, "canon": 22, "nonzero": 22, "q_high_extrapolation_method": 22, "q_low_extrapolation_method": 22, "extrapol": [22, 32], "flat": [22, 32], "linear2": 22, "plaw2": 22, "nolowq": 22, "_moe2017_json_data": 22, "distefano2017": 22, "_actually_evolve_system": 22, "_process_run_population_grid": 22, "_binary_c_config_execut": 22, "_binary_c_dir": 22, "director": 22, "_binary_c_execut": 22, "_binary_c_shared_librari": 22, "libbinary_c": 22, "_commandline_input": 22, "_count": 22, "counter": 22, "_custom_logging_shared_library_fil": 22, "_end_time_evolut": 22, "timestamp": [22, 28], "_errors_exceed": 22, "failed_system_log": 22, "_errors_found": 22, "encount": [22, 23, 40], "_evolution_type_opt": 22, "_failed_count": 22, "_failed_prob": 22, "_failed_systems_error_cod": 22, "_generate_grid_cod": 22, "_kill": 22, "_loaded_moe2017_data": 22, "_main_pid": 22, "master": [22, 23, 25, 40], "_population_id": 22, "char": 22, "hex": 22, "_probtot": 22, "_queue_don": 22, "_set_moe2017_grid": 22, "_start_time_evolut": 22, "_store_memaddr": 22, "_system_gener": 22, "_total_mass_run": 22, "_total_probability_weighted_mass_run": 22, "_total_starcount": 22, "_zero_prob_stars_skip": 22, "aim": [23, 40], "jeff": [23, 40], "andrew": [23, 40], "robert": [23, 40], "student": [23, 40], "scientist": [23, 40], "who": [23, 40], "onlin": [23, 40], "older": [23, 40], "guarante": [23, 40], "meet": [23, 40], "least": [23, 40], "eol": [23, 40], "root": [23, 40], "ld_library_path": [23, 40], "libgsl": [23, 40], "libmemo": [23, 40], "librinterpol": [23, 40], "library_path": [23, 40], "gsl_dir": [23, 40], "gsl": [23, 40], "dir": [23, 30, 40], "binary_c2": [23, 40], "latest": [23, 40], "virtual": [23, 40], "sh": [23, 40], "suit": [23, 40], "pythonpath": [23, 40], "download": [23, 40], "clone": [23, 40], "gitlab": [23, 40], "repo": [23, 40], "whenev": [23, 40], "reinstal": [23, 40], "virtualenviron": [23, 40], "host": [23, 40], "person": [23, 40], "ph": [23, 40], "contribut": [23, 40], "development_requir": [23, 40], "hesit": [23, 40], "discuss": [23, 40], "generate_doc": [23, 40], "generate_report": [23, 40], "main_with_notebook": [23, 40], "test_notebook": [23, 40], "exhaust": [23, 40], "solut": [23, 40], "mesa": [23, 40], "mesasdk_root": [23, 40], "mesasdk_init": [23, 40], "interfer": [23, 40], "throw": [23, 40], "unrecogn": [23, 40], "ftz": [23, 40], "flto": [23, 40], "due": [23, 40], "cflag": [23, 40], "avaibl": [23, 40], "1ckzg0p9": [23, 40], "egg": [23, 40], "pkg": [23, 40], "filenotfounderror": [23, 40], "errno": [23, 40], "jupyt": [23, 40], "seem": [23, 25, 34, 40], "everytim": [23, 40], "rebuilt": [23, 40], "plot_funct": [23, 24], "useful_func": [23, 24], "nucsyn": 23, "misc": 23, "sampler": 23, "visit": 23, "plot_system": 25, "loos": 25, "admittedli": 25, "customis": 25, "regardless": 25, "color_by_index": 25, "placehold": [25, 29, 30, 31], "parse_function_hr_diagram": 25, "hr": 25, "parse_function_mass": 25, "parse_function_orbit": 25, "plot_hr_diagram": 25, "show_stellar_typ": 25, "show_plot": 25, "use_astropy_valu": 25, "plot_hr_diagram_singl": 25, "radius_1": 25, "radius_2": 25, "luminosity_1": 25, "luminosity_2": 25, "teff_1": 25, "teff_2": 25, "hd": 25, "astropi": 25, "stefan": 25, "boltzman": 25, "plot_mass": 25, "pms_mass_1": 25, "pms_mass_2": 25, "quantiti": 25, "pm": 25, "mayb": 25, "plot_orbit": 25, "plot_typ": 25, "preset": 25, "mass_evolut": 25, "orbit_evolut": 25, "hr_diagram": 25, "keyword": [25, 41], "against": 25, "pick": 25, "pane": 25, "distefano": [26, 27, 32], "hpc_can_join": 26, "joinfil": 26, "joiningfil": 26, "hpc_check_requir": 26, "hpc_dir": 26, "hpc_dump_statu": 26, "hpc_get_statu": 26, "job_id": 26, "job_index": 26, "hpc_grid": 26, "makejoiningfil": 26, "hpc_task": 26, "exclud": 26, "hpc_id_filenam": 26, "hpc_id_from_dir": 26, "hpc_job": 26, "hpc_jobid_tupl": 26, "hpc_job_id_rang": 26, "hpc_job_task": 26, "hpc_job_typ": 26, "hpc_join_from_fil": 26, "newobj": 26, "hpc_join_previ": 26, "hpc_joinlist": 26, "hpc_load_joinfiles_list": 26, "hpc_make_joiningfil": 26, "error_on_overwrit": 26, "hpc_njob": 26, "error_on_overwit": 26, "issu": 26, "hpc_path": 26, "hpc_queue_stat": 26, "stat": 26, "hpc_restor": 26, "restor": 26, "_restart_dir": 26, "stage": 26, "hpc_set_statu": 26, "hpc_snapshot_filenam": 26, "hpc_statu": 26, "hpc_touch": 26, "touch": [26, 31], "distrefano": 27, "interpol": [27, 32, 38], "get_moe_di_stefano_2017_default_opt": 27, "get_moe_di_stefano_2017_default_options_descript": 27, "get_moe_di_stefano_dataset": 27, "set_moe_di_stefano_set": 27, "cpu_tim": 28, "ve": 28, "make_analytics_dict": 28, "set_tim": 28, "elaps": 28, "lru": 29, "lru_": 29, "__delitem__": 29, "delet": [29, 35], "getter": 29, "__setitem__": 29, "setter": 29, "popitem": 29, "default_cache_dir": [29, 34], "setup_function_cach": 29, "cachetyp": 29, "function_cache_s": 29, "func": 29, "test_cach": 29, "replac": 30, "condorid": 30, "condor_check_requir": 30, "condor_grid": 30, "being": [30, 37], "condor_outfil": 30, "chunk": [30, 37], "condor_queue_stat": 30, "condor_status_fil": 30, "condorpath": 30, "get_condor_statu": 30, "correspon": [30, 37], "make_condor_dir": 30, "set_condor_statu": 30, "held": [30, 37], "io": 31, "nfs_flush_hack": 31, "opendir": 31, "closedir": 31, "complaint": 31, "unclos": 31, "scandir": 31, "nfspath": 31, "mount": 31, "compression_typ": 31, "dir_ok": 31, "load_population_object": 31, "load_snapshot": 31, "preloaded_popul": 31, "locked_clos": 31, "partner": 31, "locked_open_for_writ": 31, "unlock": 31, "lock_suffix": 31, "lock_timeout": 31, "lock_lifetim": 31, "exists_ok": 31, "fatal_open_error": 31, "mode": 31, "lockfil": 31, "flufl": 31, "file_object": 31, "lock_object": 31, "merge_popul": 31, "refpop": 31, "newpop": 31, "merge_populations_from_fil": 31, "closefd": 31, "compresslevel": 31, "population_object": 31, "confirm": 31, "gzip": 31, "pickl": 31, "compress_pickl": 31, "lucianopaz": 31, "shared_memori": 31, "set_statu": 31, "format_stat": 31, "process_": 31, "snapshot_filenam": 31, "wait_for_unlock": 31, "wait": 31, "write_ensembl": 31, "recognis": 31, "bz2": 31, "msgpack": 31, "support": 31, "grid_ensemble_result": [31, 36], "stackoverflow": 32, "28060251": 32, "hi": 32, "gonna": 32, "mathieu": 32, "sfh": 32, "redshift": 32, "enough": 32, "arenou2010_binary_fract": 32, "c2": 32, "sp": 32, "opm": 32, "fa": 32, "rssd": 32, "esa": 32, "doc_fetch": 32, "php": 32, "2969346": 32, "izzard2012_period_distribut": 32, "log10pmin": 32, "duquennoi": 32, "mayor": 32, "1991": 32, "spectral": 32, "15msun": 32, "sana": 32, "3msun": 32, "dlogp": 32, "raghavan": 32, "gaussian": [32, 38], "log10p": 32, "logp": 32, "m0": 32, "p1": 32, "p2": 32, "p3": 32, "moe_di_stefano_2017_multiplicity_fract": 32, "6e1": 32, "moe_di_stefano_2017_pdf": 32, "m3": 32, "m4": 32, "ecc2": 32, "ecc3": 32, "build_q_tabl": 32, "independ": 32, "q_min": 32, "renormalis": 32, "lowest": 32, "qmin": 32, "goal": 32, "boundari": 32, "calc_p_integr": 32, "min_logp": 32, "max_logp": 32, "integrals_str": 32, "interpolator_nam": 32, "mass_str": 32, "min_per": 32, "calc_e_integr": 32, "period_str": 32, "calc_total_probden": 32, "prob_dict": 32, "calculate_constants_three_part_powerlaw": 32, "law_const": 32, "slope": 32, "const_distribut": 32, "min_bound": [32, 38], "max_bound": [32, 38], "val": 32, "cosmic_sfh_madau_dickinson2014": 32, "cosmic": 32, "histori": 32, "madau": 32, "dickonson": 32, "1403": 32, "0007": 32, "mega": 32, "parsec": 32, "duquennoy1991": 32, "fill_data": 32, "sample_valu": 32, "data_dict": 32, "logmass": [32, 38], "logperiod": 32, "dstep": 32, "uniform": 32, "sigma": [32, 38], "gmin": 32, "gmax": 32, "deviat": [32, 38], "gaussian_func": 32, "gaussian_normalizing_const": 32, "get_integration_constant_q": 32, "q_interpol": 32, "tmp_tabl": 32, "qdata": 32, "get_max_multipl": 32, "multiplicity_arrai": 32, "imf_chabrier2003": 32, "chabrier": 32, "pasp": 32, "imf_scalo1986": 32, "scalo": 32, "80msol": 32, "imf_scalo1998": 32, "imf_tinsley1980": 32, "tinslei": 32, "1980": 32, "interpolate_in_mass_izzard2012": 32, "ktg93": 32, "linear_extrapolation_q": 32, "qs": 32, "qlimit": 32, "end_index": 32, "merge_multipl": 32, "result_arrai": 32, "max_multipl": 32, "fold": 32, "lambda_v": 32, "nmax": 32, "improv": [32, 38], "powerlaw": 32, "min_val": 32, "max_val": 32, "powerlaw_const": 32, "powerlaw_constant_nocach": 32, "powerlaw_extrapolation_q": 32, "raghavan2010_binary_fract": 32, "zsolar": 32, "long_spectral_typ": 32, "jaschek": 32, "amin": 32, "amax": 32, "x0": 32, "x1": 32, "ln": 32, "dp": 32, "p0": 32, "generalis": 32, "vb1print": 33, "system_numb": 33, "system_dict": 33, "ey": 33, "unix": 33, "epoch": 33, "vb2print": 33, "cmdline_str": 33, "grid_options_defaults_dict": 34, "grid_options_help": 34, "grid_options_description_check": 34, "write_grid_options_to_rst_fil": 34, "With": 34, "hack": 34, "reconsid": 34, "unnecessari": 34, "get_grid_options_defaults_dict": 34, "get_grid_options_descript": 34, "print_info": 34, "undescrib": 34, "And": [34, 43], "print_option_descript": 34, "filehandl": 34, "extra_text": 34, "delete_grid_vari": 35, "add_ensemble_metadata": 36, "combined_output_dict": 36, "add_system_metadata": 36, "get_slurm_statu": 37, "make_slurm_dir": 37, "set_slurm_statu": 37, "slurmid": 37, "slurm_check_requir": 37, "slurm_grid": 37, "slurm_outfil": 37, "slurm_queue_stat": 37, "xxx": 37, "slurm_status_fil": 37, "slurmpath": 37, "const_dt": 38, "cachedir": 38, "usecach": 38, "logspac": 38, "dlogt": 38, "tmin": 38, "tmax": 38, "mindm": 38, "1msun": 38, "0msun": 38, "comma": 38, "thu": 38, "maxdm": 38, "similar": 38, "fsampl": 38, "shannon": 38, "showtabl": 38, "showlist": 38, "log10mass": 38, "const_dt_cach": 38, "add_grid_valu": 38, "1gyr": 38, "suitabl": 38, "const_int": 38, "segment": 38, "linspac": 38, "const_rang": 38, "gaussian_zoom": 38, "zoom_mean": 38, "zoom_dispers": 38, "zoom_magnitud": 38, "depth": 38, "zoom_magntiud": 38, "peak_normalized_gaussian_func": 38, "hardli": 39, "minimum_stellar_mass": 39, "parse_binary_c_version_info": 39, "version_info_str": 39, "atom": 39, "dtlimit": 39, "git_branch": 39, "git_build": 39, "email": 39, "analys": 41, "example_log": 41, "fancy_parsing_funct": 41, "notifi": 41, "unknown": 41, "centralis": 41, "abstract": 41, "stellar_type_dict": 42, "stellar_type_dict_short": 42, "abbrevi": 42, "collect": 43, "binary_star": 43, "calc_period_from_sep": 43, "invers": 43, "zams_collis": 43, "collid": 43, "roche_lob": 43, "ragb": 43, "minimum_period_for_rlof": 43, "minimum_separation_for_rlof": 43, "maximum_mass_ratio_for_rlof": 43, "upon": 43, "r_l": 43, "1983": 43, "mass_accretor": 43, "mass_donor": 43, "rochelob": 43, "vice": 43, "versa": 43, "1996": 43, "mnra": 43, "pericent": 43}, "objects": {"binarycpython.utils": [[1, 0, 0, "-", "custom_logging_functions"], [2, 0, 0, "-", "dicts"], [3, 0, 0, "-", "ensemble"], [20, 0, 0, "-", "functions"], [21, 0, 0, "-", "grid"], [25, 0, 0, "-", "plot_functions"], [41, 0, 0, "-", "run_system_wrapper"], [42, 0, 0, "-", "stellar_types"], [43, 0, 0, "-", "useful_funcs"]], "binarycpython.utils.custom_logging_functions": [[1, 1, 1, "", "autogen_C_logging_code"], [1, 1, 1, "", "binary_c_log_code"], [1, 1, 1, "", "binary_c_write_log_code"], [1, 1, 1, "", "compile_shared_lib"], [1, 1, 1, "", "create_and_load_logging_function"], [1, 1, 1, "", "from_binary_c_config"], [1, 1, 1, "", "return_compilation_dict"]], "binarycpython.utils.dicts": [[2, 2, 1, "", "AutoVivificationDict"], [2, 1, 1, "", "count_keys_recursive"], [2, 1, 1, "", "custom_sort_dict"], [2, 1, 1, "", "filter_dict"], [2, 1, 1, "", "filter_dict_through_values"], [2, 1, 1, "", "inspect_dict"], [2, 1, 1, "", "keys_to_floats"], [2, 1, 1, "", "merge_dicts"], [2, 1, 1, "", "multiply_float_values"], [2, 1, 1, "", "multiply_values_dict"], [2, 1, 1, "", "normalize_dict"], [2, 1, 1, "", "prepare_dict"], [2, 1, 1, "", "recursive_change_key_to_float"], [2, 1, 1, "", "recursive_change_key_to_string"], [2, 1, 1, "", "set_opts"], [2, 1, 1, "", "subtract_dicts"], [2, 1, 1, "", "update_dicts"]], "binarycpython.utils.dicts.AutoVivificationDict": [[2, 3, 1, "", "__getitem__"], [2, 3, 1, "", "__iadd__"]], "binarycpython.utils.ensemble": [[3, 2, 1, "", "BinarycDecoder"], [3, 2, 1, "", "BinarycEncoder"], [3, 1, 1, "", "binaryc_json_serializer"], [3, 1, 1, "", "ensemble_compression"], [3, 1, 1, "", "ensemble_file_type"], [3, 1, 1, "", "ensemble_setting"], [3, 1, 1, "", "extract_ensemble_json_from_string"], [3, 1, 1, "", "format_ensemble_results"], [3, 1, 1, "", "handle_ensemble_string_to_json"], [3, 1, 1, "", "load_ensemble"], [3, 1, 1, "", "open_ensemble"]], "binarycpython.utils.ensemble.BinarycDecoder": [[3, 3, 1, "", "decode"]], "binarycpython.utils.ensemble.BinarycEncoder": [[3, 3, 1, "", "default"]], "binarycpython.utils.functions": [[20, 2, 1, "", "Capturing"], [20, 1, 1, "", "bin_data"], [20, 1, 1, "", "call_binary_c_config"], [20, 2, 1, "", "catchtime"], [20, 1, 1, "", "check_if_in_shell"], [20, 1, 1, "", "command_string_from_list"], [20, 1, 1, "", "conv_time_units"], [20, 1, 1, "", "convert_bytes"], [20, 1, 1, "", "convfloat"], [20, 1, 1, "", "create_arg_string"], [20, 1, 1, "", "create_hdf5"], [20, 1, 1, "", "datalinedict"], [20, 1, 1, "", "example_parse_output"], [20, 1, 1, "", "filter_arg_dict"], [20, 1, 1, "", "format_number"], [20, 1, 1, "", "get_ANSI_colours"], [20, 1, 1, "", "get_arg_keys"], [20, 1, 1, "", "get_defaults"], [20, 1, 1, "", "get_help"], [20, 1, 1, "", "get_help_all"], [20, 1, 1, "", "get_help_super"], [20, 1, 1, "", "get_size"], [20, 1, 1, "", "get_username"], [20, 1, 1, "", "imports"], [20, 1, 1, "", "is_capsule"], [20, 1, 1, "", "isfloat"], [20, 1, 1, "", "isint"], [20, 1, 1, "", "load_logfile"], [20, 1, 1, "", "make_build_text"], [20, 1, 1, "", "mem_use"], [20, 1, 1, "", "now"], [20, 1, 1, "", "output_lines"], [20, 1, 1, "", "pad_output_distribution"], [20, 1, 1, "", "quotewrap"], [20, 1, 1, "", "remove_file"], [20, 1, 1, "", "temp_dir"], [20, 1, 1, "", "timedelta"], [20, 1, 1, "", "trem"], [20, 1, 1, "", "verbose_print"], [20, 1, 1, "", "write_binary_c_parameter_descriptions_to_rst_file"]], "binarycpython.utils.functions.Capturing": [[20, 3, 1, "", "__enter__"], [20, 3, 1, "", "__exit__"]], "binarycpython.utils.functions.catchtime": [[20, 3, 1, "", "__enter__"], [20, 3, 1, "", "__exit__"]], "binarycpython.utils.grid": [[21, 2, 1, "", "Population"]], "binarycpython.utils.grid.Population": [[21, 3, 1, "", "clean"], [21, 3, 1, "", "evolve"], [21, 3, 1, "", "evolve_single"], [21, 3, 1, "", "exit"], [21, 3, 1, "", "export_all_info"], [21, 3, 1, "", "jobID"], [21, 3, 1, "", "parse_cmdline"], [21, 3, 1, "", "return_all_info"], [21, 3, 1, "", "return_binary_c_defaults"], [21, 3, 1, "", "return_population_settings"], [21, 3, 1, "", "set"], [21, 3, 1, "", "was_killed"]], "binarycpython.utils.plot_functions": [[25, 1, 1, "", "color_by_index"], [25, 1, 1, "", "dummy"], [25, 1, 1, "", "parse_function_hr_diagram"], [25, 1, 1, "", "parse_function_masses"], [25, 1, 1, "", "parse_function_orbit"], [25, 1, 1, "", "plot_HR_diagram"], [25, 1, 1, "", "plot_masses"], [25, 1, 1, "", "plot_orbit"], [25, 1, 1, "", "plot_system"]], "binarycpython.utils.population_extensions": [[26, 0, 0, "-", "HPC"], [27, 0, 0, "-", "Moe_di_Stefano_2017"], [28, 0, 0, "-", "analytics"], [29, 0, 0, "-", "cache"], [30, 0, 0, "-", "condor"], [31, 0, 0, "-", "dataIO"], [32, 0, 0, "-", "distribution_functions"], [33, 0, 0, "-", "grid_logging"], [34, 0, 0, "-", "grid_options_defaults"], [35, 0, 0, "-", "gridcode"], [36, 0, 0, "-", "metadata"], [37, 0, 0, "-", "slurm"], [38, 0, 0, "-", "spacing_functions"], [39, 0, 0, "-", "version_info"]], "binarycpython.utils.population_extensions.HPC": [[26, 2, 1, "", "HPC"]], "binarycpython.utils.population_extensions.HPC.HPC": [[26, 3, 1, "", "HPC_can_join"], [26, 3, 1, "", "HPC_check_requirements"], [26, 3, 1, "", "HPC_dir"], [26, 3, 1, "", "HPC_dirs"], [26, 3, 1, "", "HPC_dump_status"], [26, 3, 1, "", "HPC_get_status"], [26, 3, 1, "", "HPC_grid"], [26, 3, 1, "", "HPC_id_filename"], [26, 3, 1, "", "HPC_id_from_dir"], [26, 3, 1, "", "HPC_job"], [26, 3, 1, "", "HPC_jobID"], [26, 3, 1, "", "HPC_jobID_tuple"], [26, 3, 1, "", "HPC_job_id_range"], [26, 3, 1, "", "HPC_job_task"], [26, 3, 1, "", "HPC_job_type"], [26, 3, 1, "", "HPC_join_from_files"], [26, 3, 1, "", "HPC_join_previous"], [26, 3, 1, "", "HPC_joinlist"], [26, 3, 1, "", "HPC_load_joinfiles_list"], [26, 3, 1, "", "HPC_make_joiningfile"], [26, 3, 1, "", "HPC_njobs"], [26, 3, 1, "", "HPC_path"], [26, 3, 1, "", "HPC_queue_stats"], [26, 3, 1, "", "HPC_restore"], [26, 3, 1, "", "HPC_set_status"], [26, 3, 1, "", "HPC_snapshot_filename"], [26, 3, 1, "", "HPC_status"], [26, 3, 1, "", "HPC_touch"]], "binarycpython.utils.population_extensions.Moe_di_Stefano_2017": [[27, 2, 1, "", "Moe_di_Stefano_2017"]], "binarycpython.utils.population_extensions.Moe_di_Stefano_2017.Moe_di_Stefano_2017": [[27, 3, 1, "", "Moe_di_Stefano_2017"], [27, 3, 1, "", "get_Moe_di_Stefano_2017_default_options"], [27, 3, 1, "", "get_Moe_di_Stefano_2017_default_options_description"], [27, 3, 1, "", "get_moe_di_stefano_dataset"], [27, 3, 1, "", "set_moe_di_stefano_settings"]], "binarycpython.utils.population_extensions.analytics": [[28, 2, 1, "", "analytics"]], "binarycpython.utils.population_extensions.analytics.analytics": [[28, 3, 1, "", "CPU_time"], [28, 3, 1, "", "make_analytics_dict"], [28, 3, 1, "", "set_time"], [28, 3, 1, "", "time_elapsed"]], "binarycpython.utils.population_extensions.cache": [[29, 2, 1, "", "cache"]], "binarycpython.utils.population_extensions.cache.cache": [[29, 2, 1, "", "NullCache"], [29, 3, 1, "", "default_cache_dir"], [29, 3, 1, "", "setup_function_cache"], [29, 3, 1, "", "test_caches"]], "binarycpython.utils.population_extensions.cache.cache.NullCache": [[29, 3, 1, "", "__delitem__"], [29, 3, 1, "", "__getitem__"], [29, 3, 1, "", "__setitem__"], [29, 3, 1, "", "popitem"]], "binarycpython.utils.population_extensions.condor": [[30, 2, 1, "", "condor"]], "binarycpython.utils.population_extensions.condor.condor": [[30, 3, 1, "", "condorID"], [30, 3, 1, "", "condor_check_requirements"], [30, 3, 1, "", "condor_dirs"], [30, 3, 1, "", "condor_grid"], [30, 3, 1, "", "condor_outfile"], [30, 3, 1, "", "condor_queue_stats"], [30, 3, 1, "", "condor_status_file"], [30, 3, 1, "", "condorpath"], [30, 3, 1, "", "get_condor_status"], [30, 3, 1, "", "make_condor_dirs"], [30, 3, 1, "", "set_condor_status"]], "binarycpython.utils.population_extensions.dataIO": [[31, 2, 1, "", "dataIO"]], "binarycpython.utils.population_extensions.dataIO.dataIO": [[31, 3, 1, "", "NFS_flush_hack"], [31, 3, 1, "", "NFSpath"], [31, 3, 1, "", "compression_type"], [31, 3, 1, "", "dir_ok"], [31, 3, 1, "", "load_population_object"], [31, 3, 1, "", "load_snapshot"], [31, 3, 1, "", "locked_close"], [31, 3, 1, "", "locked_open_for_write"], [31, 3, 1, "", "merge_populations"], [31, 3, 1, "", "merge_populations_from_file"], [31, 3, 1, "", "open"], [31, 3, 1, "", "save_population_object"], [31, 3, 1, "", "save_snapshot"], [31, 3, 1, "", "set_status"], [31, 3, 1, "", "snapshot_filename"], [31, 3, 1, "", "wait_for_unlock"], [31, 3, 1, "", "write_binary_c_calls_to_file"], [31, 3, 1, "", "write_ensemble"]], "binarycpython.utils.population_extensions.distribution_functions": [[32, 2, 1, "", "distribution_functions"]], "binarycpython.utils.population_extensions.distribution_functions.distribution_functions": [[32, 3, 1, "", "Arenou2010_binary_fraction"], [32, 3, 1, "", "Izzard2012_period_distribution"], [32, 3, 1, "", "Kroupa2001"], [32, 3, 1, "", "Moe_di_Stefano_2017_multiplicity_fractions"], [32, 3, 1, "", "Moe_di_Stefano_2017_pdf"], [32, 3, 1, "", "build_q_table"], [32, 3, 1, "", "calc_P_integral"], [32, 3, 1, "", "calc_e_integral"], [32, 3, 1, "", "calc_total_probdens"], [32, 3, 1, "", "calculate_constants_three_part_powerlaw"], [32, 3, 1, "", "const_distribution"], [32, 3, 1, "", "cosmic_SFH_madau_dickinson2014"], [32, 3, 1, "", "duquennoy1991"], [32, 3, 1, "", "fill_data"], [32, 3, 1, "", "flat"], [32, 3, 1, "", "flatsections"], [32, 3, 1, "", "gaussian"], [32, 3, 1, "", "gaussian_func"], [32, 3, 1, "", "gaussian_normalizing_const"], [32, 3, 1, "", "get_integration_constant_q"], [32, 3, 1, "", "get_max_multiplicity"], [32, 3, 1, "", "imf_chabrier2003"], [32, 3, 1, "", "imf_scalo1986"], [32, 3, 1, "", "imf_scalo1998"], [32, 3, 1, "", "imf_tinsley1980"], [32, 3, 1, "", "interpolate_in_mass_izzard2012"], [32, 3, 1, "", "ktg93"], [32, 3, 1, "", "linear_extrapolation_q"], [32, 3, 1, "", "merge_multiplicities"], [32, 3, 1, "", "number"], [32, 3, 1, "", "poisson"], [32, 3, 1, "", "powerlaw"], [32, 3, 1, "", "powerlaw_constant"], [32, 3, 1, "", "powerlaw_constant_nocache"], [32, 3, 1, "", "powerlaw_extrapolation_q"], [32, 3, 1, "", "raghavan2010_binary_fraction"], [32, 3, 1, "", "sana12"], [32, 3, 1, "", "three_part_powerlaw"]], "binarycpython.utils.population_extensions.grid_logging": [[33, 2, 1, "", "grid_logging"]], "binarycpython.utils.population_extensions.grid_logging.grid_logging": [[33, 3, 1, "", "vb1print"], [33, 3, 1, "", "vb2print"], [33, 3, 1, "", "verbose_print"]], "binarycpython.utils.population_extensions.grid_options_defaults": [[34, 2, 1, "", "grid_options_defaults"]], "binarycpython.utils.population_extensions.grid_options_defaults.grid_options_defaults": [[34, 3, 1, "", "default_cache_dir"], [34, 3, 1, "", "get_grid_options_defaults_dict"], [34, 3, 1, "", "get_grid_options_descriptions"], [34, 3, 1, "", "grid_options_description_checker"], [34, 3, 1, "", "grid_options_help"], [34, 3, 1, "", "print_option_descriptions"], [34, 3, 1, "", "write_grid_options_to_rst_file"]], "binarycpython.utils.population_extensions.gridcode": [[35, 2, 1, "", "gridcode"]], "binarycpython.utils.population_extensions.gridcode.gridcode": [[35, 3, 1, "", "add_grid_variable"], [35, 3, 1, "", "delete_grid_variable"], [35, 3, 1, "", "rename_grid_variable"], [35, 3, 1, "", "update_grid_variable"]], "binarycpython.utils.population_extensions.metadata": [[36, 2, 1, "", "metadata"]], "binarycpython.utils.population_extensions.metadata.metadata": [[36, 3, 1, "", "add_ensemble_metadata"], [36, 3, 1, "", "add_system_metadata"]], "binarycpython.utils.population_extensions.slurm": [[37, 2, 1, "", "slurm"]], "binarycpython.utils.population_extensions.slurm.slurm": [[37, 3, 1, "", "get_slurm_status"], [37, 3, 1, "", "make_slurm_dirs"], [37, 3, 1, "", "set_slurm_status"], [37, 3, 1, "", "slurmID"], [37, 3, 1, "", "slurm_check_requirements"], [37, 3, 1, "", "slurm_dirs"], [37, 3, 1, "", "slurm_grid"], [37, 3, 1, "", "slurm_outfile"], [37, 3, 1, "", "slurm_queue_stats"], [37, 3, 1, "", "slurm_status_file"], [37, 3, 1, "", "slurmpath"]], "binarycpython.utils.population_extensions.spacing_functions": [[38, 2, 1, "", "spacing_functions"]], "binarycpython.utils.population_extensions.spacing_functions.spacing_functions": [[38, 3, 1, "", "const_dt"], [38, 3, 1, "", "const_int"], [38, 3, 1, "", "const_linear"], [38, 3, 1, "", "const_ranges"], [38, 3, 1, "", "gaussian_zoom"], [38, 3, 1, "", "peak_normalized_gaussian_func"]], "binarycpython.utils.population_extensions.version_info": [[39, 2, 1, "", "version_info"]], "binarycpython.utils.population_extensions.version_info.version_info": [[39, 3, 1, "", "minimum_stellar_mass"], [39, 3, 1, "", "parse_binary_c_version_info"], [39, 3, 1, "", "return_binary_c_version_info"]], "binarycpython.utils.run_system_wrapper": [[41, 1, 1, "", "run_system"]], "binarycpython.utils.useful_funcs": [[43, 1, 1, "", "calc_period_from_sep"], [43, 1, 1, "", "calc_sep_from_period"], [43, 1, 1, "", "maximum_mass_ratio_for_RLOF"], [43, 1, 1, "", "minimum_period_for_RLOF"], [43, 1, 1, "", "minimum_separation_for_RLOF"], [43, 1, 1, "", "ragb"], [43, 1, 1, "", "roche_lobe"], [43, 1, 1, "", "rzams"], [43, 1, 1, "", "zams_collision"]]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:method"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "method", "Python method"]}, "titleterms": {"binary_c": [0, 7, 9, 11, 12, 16, 19, 23, 40], "paramet": [0, 11], "section": 0, "star": [0, 6, 15, 16], "binari": [0, 5, 6, 13, 16, 19], "nucsyn": 0, "output": [0, 6, 8, 13, 14, 15, 16], "input": 0, "i": 0, "o": 0, "algorithm": 0, "misc": 0, "custom_logging_funct": 1, "modul": [1, 2, 3, 20, 21, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43], "dict": 2, "ensembl": [3, 10], "exampl": [4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 16, 17, 18, 19, 23, 40], "notebook": [4, 19], "content": [4, 23], "us": [5, 6, 7, 8, 9, 13, 14, 15, 17, 19, 23, 40], "case": [5, 6, 8, 13, 14, 15, 17], "black": 5, "hole": 5, "system": [5, 12, 17], "hertzsprung": 6, "russel": 6, "diagram": 6, "set": [6, 7, 8, 13, 14, 15, 16], "up": [6, 7, 8, 13, 14, 15, 16], "popul": [6, 8, 9, 12, 13, 14, 15, 16, 21, 22, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "object": [6, 8, 9, 12, 13, 14, 15, 16], "stellar": [6, 8, 13, 14], "grid": [6, 8, 13, 14, 15, 16, 22], "log": [6, 8, 9, 13, 14, 15, 16, 19], "handl": [6, 8, 10, 13, 14, 15, 16], "evolv": [6, 8, 13, 14, 15, 16], "tutori": [7, 9, 10, 11, 12, 16], "api": [7, 9, 12, 17, 19], "function": [7, 11, 12, 13, 14, 15, 16, 17, 19, 20], "python": [7, 9, 11, 12, 16, 19, 23, 40], "usag": [7, 9, 23, 40], "free": 7, "store": 7, "get": [7, 11], "inform": [7, 11], "from": [7, 9, 23, 40], "common": 8, "envelop": 8, "evolut": [8, 9], "custom": [9, 19], "routin": 9, "when": 9, "run": [9, 12, 16, 19, 23, 40], "directli": 9, "string": 9, "compact": 9, "mass": [9, 14, 15], "supernova": 9, "gener": [10, 23, 40], "data": 10, "extra": 11, "featur": 11, "about": 11, "build": [11, 23, 40], "pars": 11, "dictionari": 11, "modif": 11, "individu": 12, "singl": [12, 16], "run_system_wrapp": [12, 41], "via": [12, 23, 40], "zero": [13, 14], "ag": [13, 14], "luminos": [13, 14, 15], "ad": [13, 14, 15, 16], "variabl": [13, 14, 15, 16, 23, 40], "zam": [14, 15], "distribut": [14, 15], "initi": [14, 15], "A": [14, 15], "better": [14, 15], "sampl": [14, 15], "massiv": 15, "noteworthi": 16, "full": 16, "script": 16, "solar": 17, "basic": 18, "core": 19, "wrapper": 19, "run_binari": 19, "run_binary_with_log": 19, "line": 19, "util": 19, "run_system": 19, "other": 19, "class": [21, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "code": [22, 23, 24, 40], "option": 22, "public": 22, "moe": 22, "di": 22, "stefano": 22, "sampler": 22, "privat": 22, "welcom": 23, "s": 23, "document": [23, 40], "instal": [23, 40], "requir": [23, 40], "environ": [23, 40], "instruct": [23, 40], "pip": [23, 40], "sourc": [23, 40], "after": [23, 40], "without": [23, 40], "note": [23, 40], "develop": [23, 40], "docstr": [23, 40], "test": [23, 40], "coverag": [23, 40], "report": [23, 40], "unit": [23, 40], "faq": [23, 40], "issu": [23, 40], "indic": 23, "tabl": 23, "binarycpython": 24, "plot_funct": 25, "extens": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "hpc": 26, "moe_di_stefano_2017": 27, "analyt": 28, "cach": 29, "condor": 30, "dataio": 31, "distribution_funct": 32, "grid_log": 33, "grid_options_default": 34, "gridcod": 35, "metadata": 36, "slurm": 37, "spacing_funct": 38, "version_info": 39, "stellar_typ": 42, "useful_func": 43}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx.ext.viewcode": 1, "nbsphinx": 4, "sphinx": 56}})
\ No newline at end of file
diff --git a/docs/build/html/stellar_types.html b/docs/build/html/stellar_types.html
index c92128e0a..bc2e10e34 100644
--- a/docs/build/html/stellar_types.html
+++ b/docs/build/html/stellar_types.html
@@ -154,7 +154,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/build/html/useful_funcs.html b/docs/build/html/useful_funcs.html
index b0dc77633..44bb5b104 100644
--- a/docs/build/html/useful_funcs.html
+++ b/docs/build/html/useful_funcs.html
@@ -351,7 +351,7 @@ determine if two stars collide on the ZAMS</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/source/_templates/footer.html b/docs/source/_templates/footer.html
index a27c3d5d9..6ffb34e3c 100644
--- a/docs/source/_templates/footer.html
+++ b/docs/source/_templates/footer.html
@@ -2,7 +2,7 @@
 
 {%- block extrafooter %}
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision a726539e9d28b7cefab919c21e703c3ea27fd342 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 06a53f149689875d942ee00fddaaa90db4af76f9 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
 Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
 
diff --git a/docs/source/examples/notebook_luminosity_function_single.ipynb b/docs/source/examples/notebook_luminosity_function_single.ipynb
index 93e041531..0a19202d3 100644
--- a/docs/source/examples/notebook_luminosity_function_single.ipynb
+++ b/docs/source/examples/notebook_luminosity_function_single.ipynb
@@ -54,8 +54,7 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "adding: max_evolution_time=0.1 to BSE_options\n",
-      "adding: tmp_dir=/tmp/binary_c_python-izzard/notebooks/notebook_luminosity to grid_options\n",
+      "adding: tmp_dir=/tmp/binary_c_python-david/notebooks/notebook_luminosity to grid_options\n",
       "verbosity is 1\n"
      ]
     }
@@ -104,28 +103,6 @@
     "# help(population.add_grid_variable)"
    ]
   },
-  {
-   "cell_type": "markdown",
-   "id": "bd75cebe-2152-4025-b680-dc020b80889b",
-   "metadata": {},
-   "source": [
-    "All the distribution functions that we can use are stored in the `binarycpython.utils.distribution_functions` or `binarycpython/utils/distribution_functions.py` on git. If you uncomment the help statement below you can see which functions are available now:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 4,
-   "id": "048db541-3e92-4c5d-a25c-9c5a34b9c857",
-   "metadata": {
-    "scrolled": true,
-    "tags": []
-   },
-   "outputs": [],
-   "source": [
-    "import binarycpython.utils.distribution_functions\n",
-    "# help(binarycpython.utils.distribution_functions)"
-   ]
-  },
   {
    "cell_type": "markdown",
    "id": "2a9104fc-4136-4e53-8604-f24ad52fbe56",
@@ -141,7 +118,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 5,
+   "execution_count": 3,
    "id": "aba3fe4e-18f2-4bb9-8e5c-4c6007ab038b",
    "metadata": {},
    "outputs": [],
@@ -165,22 +142,10 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 6,
+   "execution_count": 4,
    "id": "47979841-2c26-4b26-8945-603d013dc93a",
    "metadata": {},
-   "outputs": [
-    {
-     "ename": "TypeError",
-     "evalue": "add_grid_variable() got an unexpected keyword argument 'resolution'",
-     "output_type": "error",
-     "traceback": [
-      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
-      "\u001b[0;31mTypeError\u001b[0m                                 Traceback (most recent call last)",
-      "\u001b[0;32m/tmp/ipykernel_519112/518757914.py\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m      4\u001b[0m     \u001b[0mtmp_dir\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mTMP_DIR\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      5\u001b[0m )\n\u001b[0;32m----> 6\u001b[0;31m population.add_grid_variable(\n\u001b[0m\u001b[1;32m      7\u001b[0m     \u001b[0mname\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"M_1\"\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      8\u001b[0m     \u001b[0mlongname\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"Primary mass\"\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
-      "\u001b[0;31mTypeError\u001b[0m: add_grid_variable() got an unexpected keyword argument 'resolution'"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "# Mass\n",
     "population = Population()\n",
@@ -191,8 +156,16 @@
     "    name=\"M_1\",\n",
     "    longname=\"Primary mass\",\n",
     "    valuerange=massrange,\n",
-    "    samplerfunc=\"const({min}, {max}, {res})\".format(min = massrange[0], max = massrange[1], res = resolution[\"M_1\"]),\n",
-    "    probdist=\"{probtot}/({max} - {min})\".format(probtot = total_probability, min = massrange[0], max = massrange[1]), # dprob/dm1 : all stars are equally likely so this is 1.0 / (Mmax - Mmin)\n",
+    "    samplerfunc=\"self.const_linear({min}, {max}, {res})\".format(\n",
+    "        min=massrange[0],\n",
+    "        max=massrange[1],\n",
+    "        res=resolution[\"M_1\"]\n",
+    "    ),\n",
+    "    probdist=\"{probtot}/({max} - {min})\".format(\n",
+    "        probtot=total_probability,\n",
+    "        min=massrange[0],\n",
+    "        max=massrange[1]\n",
+    "    ), # dprob/dm1 : all stars are equally likely so this is 1.0 / (Mmax - Mmin)\n",
     "    dphasevol=\"dM_1\",\n",
     "    parameter_name=\"M_1\",\n",
     "    condition=\"\",  # Impose a condition on this grid variable. Mostly for a check for yourself\n",
@@ -214,7 +187,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 5,
    "id": "0c986215-93b1-4e30-ad79-f7c397e9ff7d",
    "metadata": {},
    "outputs": [],
@@ -258,10 +231,18 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 15,
    "id": "fd197154-a8ce-4865-8929-008d3483101a",
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "adding: parse_function=<function parse_function at 0x7f6920fd2430> to grid_options\n"
+     ]
+    }
+   ],
    "source": [
     "# import the bin_data function so we can construct finite-resolution probability distributions\n",
     "# import the datalinedict to make a dictionary from each line of data from binary_c\n",
@@ -279,18 +260,15 @@
     "    for line in output.splitlines():\n",
     "        # obtain the line of data in dictionary form \n",
     "        linedata = datalinedict(line,parameters)\n",
-    "        \n",
+    "\n",
     "        # Check the header and act accordingly\n",
     "        if linedata['header'] == \"ZERO_AGE_MAIN_SEQUENCE_STAR\":\n",
-    "            \n",
+    "\n",
     "            # bin the log10(luminosity) to the nearest 0.1dex\n",
     "            binned_log_luminosity = bin_data(math.log10(linedata['luminosity']),\n",
     "                                             binwidth['luminosity'])\n",
-    "            \n",
     "            # append the data to the results_dictionary \n",
     "            self.grid_results['luminosity distribution'][binned_log_luminosity] += linedata['probability'] \n",
-    "            \n",
-    "            #print (self.grid_results)\n",
     "    \n",
     "    # verbose reporting\n",
     "    #print(\"parse out results_dictionary=\",self.grid_results)\n",
@@ -316,12 +294,42 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 16,
    "id": "8ea376c1-1e92-45af-8cab-9d7fdca564eb",
    "metadata": {
     "tags": []
    },
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "adding: verbosity=0 to grid_options\n",
+      "Do dry run? True\n",
+      "Doing dry run to calculate total starcount and probability\n",
+      "Grid has handled 39 stars with a total probability of 1\n",
+      "**************************\n",
+      "*         Dry run        *\n",
+      "*  Total starcount is 39 *\n",
+      "* Total probability is 1 *\n",
+      "**************************\n",
+      "\n",
+      "Do join of subprocesses ...\n",
+      "Joined subprocesses.\n",
+      "**********************************************************\n",
+      "*  Population-f9b28e4ed6ec4a67b17cd86c5a43c41c finished! *\n",
+      "*               The total probability is 1.              *\n",
+      "*  It took a total of 3.99s to run 39 systems on 2 cores *\n",
+      "*                   = 7.98s of CPU time.                 *\n",
+      "*              Maximum memory use 343.570 MB             *\n",
+      "**********************************************************\n",
+      "\n",
+      "No failed systems were found in this run.\n",
+      "Do analytics\n",
+      "Added analytics to metadata\n"
+     ]
+    }
+   ],
    "source": [
     "# set number of threads\n",
     "population.set(\n",
@@ -329,7 +337,7 @@
     "    verbosity=0,\n",
     "    # set number of threads (i.e. number of CPU cores we use)\n",
     "    num_cores=2,\n",
-    "    )\n",
+    ")\n",
     "\n",
     "# Evolve the population - this is the slow, number-crunching step\n",
     "analytics = population.evolve()  \n",
@@ -348,20 +356,51 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 19,
    "id": "e1f0464b-0424-4022-b34b-5b744bc2c59d",
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "{'population_id': 'f9b28e4ed6ec4a67b17cd86c5a43c41c', 'evolution_type': 'grid', 'failed_count': 0, 'failed_prob': 0, 'failed_systems_error_codes': [], 'errors_exceeded': False, 'errors_found': False, 'total_probability': 0.9999999999999999, 'total_count': 39, 'start_timestamp': 1655508316.7679594, 'end_timestamp': 1655508320.7581806, 'time_elapsed': 3.9902212619781494, 'total_mass_run': 1951.365, 'total_probability_weighted_mass_run': 50.035, 'zero_prob_stars_skipped': 0}\n"
+     ]
+    }
+   ],
    "source": [
     "print(analytics)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 18,
    "id": "05c6d132-abee-423e-b1a8-2039c8996fbc",
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[None]"
+      ]
+     },
+     "execution_count": 18,
+     "metadata": {},
+     "output_type": "execute_result"
+    },
+    {
+     "data": {
+      "image/png": "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3R7YwRXSMhJB59ixozz++N9ISmrMQw895rH/PDV1AQkJDRky5EwsFguNGzchNXUBN9/8R4/nnDhxMh988D5btmyiT59+ACxatJDhw0cSF1e5fEmLFi1Zu3Y1mZkZNGvW3L/foBf27NnNk08+wtSpFzNpUiwffjiL+++/h1tu+SMffTSbCy64kJMnT/DRR7N49tkneeml12s856xZ72K12rj88qs5fvwYH3/8AY899jBvvz2r7Jj587/h6acfo1evPtx6651kZBzm888/Zfv2rbz99myio6MpLi7m3nvvwGazMmPG5TRq1IjDhw+TlvYjeXnHiY+Pr/TaF1xwIdnZ2axevaJct2xcXByjRo1l6dJU7rjjHmw2W9m+RYu+JSIigvHjJ1b5PTmdTh588E9s2rSBqVMvokOHjvzwwzKefPLRGq/HmjUrefTRhxg9eiznnz8Nu93O7t2/s3nzRi655DJGjx7HwYP7WbjwW+68814aNUoEjK5l93N8990ipk2bTkJCAk2bNq3y9UpKSrjvvjtJ7tabS6/8A9s2reb1118B4IorrinXGqppulFV17Pq73UV9913J+3adeDGG2/l5MkTzJ37MbfeegMzZ35MUtKp76mkpIR7772dPn368cc/3sWaNav45JMPadOmLdOmXVzja9WWJCMRdP7xjyfIysrkxRdfIzEx0eMxqakLGDVqTFnXy5gx41i8eCF/+MNtHpNX585d6NIlmdTUBfTp04/s7CzWr1/L448/4/H8V1xxDc888wQzZkylT59+9O3bn8GDh9K7d1+s1sB3KOzdu4e33ppJz569AWjWrAWPPPIgr776Mp98Mq/sjbGkpIQPPnifw4cP0aJF5QEc7kpKSnjvvVll16xhw0a89NLz7Nr1G507J1NSUsLrr79CcnI3XnnlTaKijEofSnXn0Ucf4ptvvuDiiy9l9+5dpKcf4O23Z9GjR6+y81d3L6h377506NCR1atXVOqWPeusc1i06FvWr1/D4MFnlm1PTV3A0KHDyr5XT3788Xs2bFjPHXfcU9aCnjr1Yu6885ZqrwVAWtpPdOrUmaee+j+P+5OTu6JUDxYu/JaRI8fQqlXrSsfs27eXDz6YQ/v2Hcq2ubdy3RUUFHDG4BQuvfIWbDYr1199BffeewczZ77LtGnTiYk+1QovLqm+FVLd9fTktddeIjExkddf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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
    "source": [
     "# make a plot of the luminosity distribution using Seaborn and Pandas\n",
     "import seaborn as sns\n",
@@ -412,7 +451,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 22,
    "id": "1f37d2c0-1108-4ab9-a309-20b1e6b6e3fd",
    "metadata": {},
    "outputs": [],
@@ -420,16 +459,45 @@
     "# Update the probability distribution to use the three-part power law IMF \n",
     "population.update_grid_variable(\n",
     "    name=\"M_1\",\n",
-    "    probdist=\"three_part_powerlaw(M_1, 0.1, 0.5, 1.0, 150, -1.3, -2.3, -2.3)\",\n",
+    "    probdist=\"self.three_part_powerlaw(M_1, 0.1, 0.5, 1.0, 150, -1.3, -2.3, -2.3)\",\n",
     ")"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 23,
    "id": "6f4463e8-1935-45f2-8c5f-e7b215f8dc47",
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Do dry run? True\n",
+      "Doing dry run to calculate total starcount and probability\n",
+      "Grid has handled 39 stars with a total probability of 0.211729\n",
+      "**********************************\n",
+      "*             Dry run            *\n",
+      "*      Total starcount is 39     *\n",
+      "*  Total probability is 0.211729 *\n",
+      "**********************************\n",
+      "\n",
+      "Do join of subprocesses ...\n",
+      "Joined subprocesses.\n",
+      "**********************************************************\n",
+      "*  Population-1d1d556abeae4549aa28f9740807dc84 finished! *\n",
+      "*           The total probability is 0.211729.           *\n",
+      "*  It took a total of 3.90s to run 39 systems on 2 cores *\n",
+      "*                   = 7.80s of CPU time.                 *\n",
+      "*              Maximum memory use 519.211 MB             *\n",
+      "**********************************************************\n",
+      "\n",
+      "No failed systems were found in this run.\n",
+      "Do analytics\n",
+      "Added analytics to metadata\n"
+     ]
+    }
+   ],
    "source": [
     "# Clean and re-evolve the population \n",
     "population.clean()\n",
@@ -441,10 +509,33 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 24,
    "id": "cfe45a9e-1121-43b6-b6b6-4de6f8946a18",
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[None]"
+      ]
+     },
+     "execution_count": 24,
+     "metadata": {},
+     "output_type": "execute_result"
+    },
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaQAAAEdCAYAAABDiROIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAABEJElEQVR4nO3dd3hUVfrA8e+kBxJIgAAhIC3wgoCA0nsVxQYKYl97Wxu7lnV1f3ZXXfvaK7ZVwYoFpYnSq3Q80msCAUIJJJAyvz/uJEySSTITZnJnkvfzPDyTnHvmzjuXyX3nnHvuOQ6n04lSSilltzC7A1BKKaVAE5JSSqkgoQlJKaVUUNCEpJRSKihoQlJKKRUUIuwOIERFA92BNCDf5liUUipUhAPJwGLgWMmNmpAqpzsw2+4glFIqRPUH5pQs1IRUOWkAmZlHKCgI7H1c9evHsW9fVkBfo6bSYxs4emwDJ5SPbViYg8TE2uA6h5akCaly8gEKCpwBT0iFr6MCQ49t4OixDZxqcGw9XurQQQ1KKaWCgiYkpZRSQUETklJKqaCgCUkppVRQ0ISklFIqKOgouxCUnX2ErKwD5OfnFZXl5hWQX+AkOjIch8PG4ELInj1hFBQU2B1GtaTHNnCC8diGhYUTERFFfHwCkZFRld6PJqQQk519hMOHM0lISCIyMgqHw0FBgZNtuw9DONSuG0OdWpX/QNQkERFh5OUF1x92daHHNnCC7dg6nU4KCvI5diybzMw9xMcnEhtbu1L70i67EJOVdYCEhCSioqJxuJpCefknPpyHjxy3KzSlVA3kcDgID4+gVq14EhIacOTIwUrvSxNSiMnPzzupJrFSSgVKZGQ0eXm5lX6+JqQQ5NCLREqpIHSy5yZNSEoppYKCJiSllFJBQROSUgEyZsx5PPHEw7a89m233chtt91oy2sXSkvbRb9+3fjxx++C5vWfeOJhxow5z7bXPuusQQF/7bJePxTU2GHfIvIIMBZoB1xmjPnM5pBqrLS0XYwde36F9f75z4cYObL4yWTfvr1ceOE5FBQUMGnSdzRu3LjU82677UaWL19Gy5at+OijiaW2z5w5nf/7v38A8PLLb3D66d2Ktq1YsZwPP3yPjRvXc+jQQRISEklNbcuwYSM488yzfH2rNd6CBfNYs2YV1113k92heG316lUsXDiPiy++jPj4eLvDKSYUj2d5amxCAtYDdwKP2R1ITZeQkMi//vWox20FBQX8978vkJ19lDZtpNT2GTOmEhMTQ3h4BNOn/8QVV1ztcT9RUVFs3ryJDRvWk5rapti2adN+IioqmuPHiy9gOXPmdB566H7atGnL2LGXEB9fh7S0XSxfvozvvvs6qBPSCy+8ancING6czIwZc4mIOHGaWbhwPpMmfWrbCfS++x70+abStWtX8f77bzNy5HleJyRP7z0QyjqeVfX6/hZa0fqRMeZjABF5wO5YarrY2FhGjBjpcdu7777JoUMHue22u2jTpm2p7dOm/US/fgOJiopi2rSfy0xIp5zSgqNHjzB9+s/FElJWVhYLF86jd+++/PrrL8We8957b9GqVWvefHMCkZGRxbZlZu738V1WrZLx2sHhcBAdHW13GMUE+gSdn59Pfn4+UVFRtr73YDz23rD9GpKIJIvIUyLyi4gcFhGniAwqo260iDwtIrtEJFtEFojI0CoOWVWR5cuX8eGH79G7d1/Gjbu81Pbt27exbt1ahg49k6FDz2TjxvVs2rSxzP0NHXomM2ZMxek8sbjZrFkzcDgc9O8/qFT9Xbt2cOqpHT2e3BMT6/n8ft5990369etWqvzHH7+jX79upKXtKiobM+Y87r//7yxevIBrr72cIUP6cu21l7N27WoApkz5nksuuZAhQ/pw2203smvXzmL7LHkNadmyJfTr141ff53JhAnvMGrU2QwZ0oc777yFHTu2l4ppxoypXHPNZQwZ0odzzx3Ov//9KAcOHChWZ/v2bTzwwD2cf/4Ihgzpw+jRI3noofvJyrJWMy15HeOJJx5m0qRPAejXr1vRv6NHjzJsWD9efPHZUnFs376Nfv268dVXk8o9tocPH+aJJx5mxIiBnHXWIB5//CGysg6XqufpGtL06T9z7bVXMHz4AM48cyBXXTWOiROtON99901efvl5AMaOPb8o5sL/q379uvHSS88xZcr3XHbZRQwZ0ofVq1eWew1nx47t3HXXrQwb1o8LLzyHTz75oNj2wv+rZcuWFCsv3Of3308u93i61y35+kuWLOKWW65l6NC+nHXWYB588L5Sn53Ca127d6dz333jGT68P+eeO4xXXnmR/HyP6+r5TTC0kAS4D9gArAT6lFN3AnAR8KKr/tXAFBEZaIyZH9AoVZU6dOggjz76LxIT6/HAA494vL9h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PO4bICrK+nPNzDzo8SbTESPO4e23XyM/P58GDZLo3PmMCo9xz559+Oabr/jyyy+KBjXk5+czceJnpV6/5HE5ePBAqQETLVumAnD0aA55eQVFMR88eJCGDUu3/AoKKP036eG9F772xImfF12vKSgo4MsvJxEbG0vHjp3JyysgKakx4eHhLFu2lL59T4zN+uKLE7OMVHQ8S75+QkJ92rRpy/ffT+bSS68iLs76Mr127WpWrVrJuHGXl3mMTrxPz+Wlj0dBsXOWu7AwR7lf5EMpIaVhdduVVFgWuA5YFVB792bw9NNPEBtbi9TUNmVeOE1JaUqbNsJvv/1C9+69PHbJORwOevfuyy+/TCc7O5vY2NIN58TERK677qYKV968//6/k5zchL59B5CSkkJ2dg5Llixk7tzZtG9/alELzFs9evSiUaPGPPXUY1x66RbCwsL54YfJJCQksnt3esU7qAIRERHccsvtPPnkI9x++00MG3Yme/bs5osvPqdVq9acd95owEqqL7zwDIMGDeWUU5pTUJDPzz9PweFwMHDgkDL3L9IegBdf/A89e/YmLCyMYcNGFG0fPvws3njjv8yZ8xuXXHKFV6MZ+/YdQKdOnXn11ZfYuXMHzZu35Lfffim6H6o8Tz31OIcPH+L007vRsGFDdu+23mubNm1p0aKlK+Z2ALz11msMHXomERER9O07wONnqyIxMTHMmfMrhw8fQqQ98+bNYenSRdx0021FI+zi4uIYNGgoX3zxOeAgJaUp8+bNJjMzs9T+Kjqe7m699U7uvvsObrnlWs4553yOHDnCpEmfUb9+gzJvKK9qoZSQlgN3ikhciYENhVcfV1R9SMoftm3bWnQT41NPPV5mvbPPPpe+ffuTlZVFnz79yqzXt29/fvzxO2bP/vWkpve5774HmT37V2bOnMbevRk4nVa3ylVXXcsVV/zF57v+IyIiePLJZ3nuuad45503qFevPhdffCnx8XV48slHKh2nv40ceR5RUVF88skHvPrqS9SuXZvhw8/i5ptvL7r7PzW1DT169GLevNl8++1XxMTEkJrahmeffbnc0Yf9+w9k7NhLmTbtJ6ZOnYLT6Sx2Am3QoAFnnNHDNZT5bK/iDQsL4+mnn+ell57j559/xOFw0LfvAG677S6uuab0DdXuRow4m8mTv+brr78gK+sw9erVZ8iQYVx77Y1F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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
    "source": [
     "# plot luminosity distribution\n",
     "ldist = population.grid_results['luminosity distribution']\n",
@@ -491,10 +582,23 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 27,
    "id": "5956f746-e3b9-4912-b75f-8eb0af66d3f6",
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "ename": "ValueError",
+     "evalue": "Failed to rename grid variable M_1 to lnM_1.",
+     "output_type": "error",
+     "traceback": [
+      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+      "\u001b[0;31mValueError\u001b[0m                                Traceback (most recent call last)",
+      "Input \u001b[0;32mIn [27]\u001b[0m, in \u001b[0;36m<cell line: 2>\u001b[0;34m()\u001b[0m\n\u001b[1;32m      1\u001b[0m \u001b[38;5;66;03m# Rename the old variable (M_1) because we want it to be called lnM_1 now\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m \u001b[43mpopulation\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrename_grid_variable\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mM_1\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mlnM_1\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n",
+      "File \u001b[0;32m~/.pyenv/versions/3.9.9/envs/dev_binarycpython3.9.9/lib/python3.9/site-packages/binarycpython/utils/population_extensions/gridcode.py:965\u001b[0m, in \u001b[0;36mgridcode.rename_grid_variable\u001b[0;34m(self, oldname, newname)\u001b[0m\n\u001b[1;32m    963\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m    964\u001b[0m     msg \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mFailed to rename grid variable \u001b[39m\u001b[38;5;132;01m{}\u001b[39;00m\u001b[38;5;124m to \u001b[39m\u001b[38;5;132;01m{}\u001b[39;00m\u001b[38;5;124m.\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;241m.\u001b[39mformat(oldname, newname)\n\u001b[0;32m--> 965\u001b[0m     \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(msg)\n",
+      "\u001b[0;31mValueError\u001b[0m: Failed to rename grid variable M_1 to lnM_1."
+     ]
+    }
+   ],
    "source": [
     "# Rename the old variable (M_1) because we want it to be called lnM_1 now\n",
     "population.rename_grid_variable(\"M_1\",\"lnM_1\")"
@@ -520,8 +624,8 @@
     "# because  M * dprob/dM = dprob/dlnM\n",
     "population.update_grid_variable(\n",
     "    name=\"lnM_1\",\n",
-    "    samplerfunc=\"const(math.log({min}), math.log({max}), {res})\".format(min = massrange[0], max = massrange[1], res = resolution[\"M_1\"]),\n",
-    "    probdist=\"three_part_powerlaw(M_1, 0.1, 0.5, 1.0, 150, -1.3, -2.3, -2.3)*M_1\",\n",
+    "    samplerfunc=\"self.const_linear(math.log({min}), math.log({max}), {res})\".format(min = massrange[0], max = massrange[1], res = resolution[\"M_1\"]),\n",
+    "    probdist=\"self.three_part_powerlaw(M_1, 0.1, 0.5, 1.0, 150, -1.3, -2.3, -2.3)*M_1\",\n",
     "    dphasevol=\"dlnM_1\",\n",
     "    parameter_name=\"M_1\",\n",
     "    precode=\"M_1=math.exp(lnM_1)\",\n",
@@ -615,7 +719,7 @@
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -629,7 +733,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.6.4"
+   "version": "3.9.9"
   }
  },
  "nbformat": 4,
-- 
GitLab