diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle
index d44af2094a2cec55151d115a3ca70b52ec5bf81f..4c381d515cef510a9c2686e78ef968bd07b8f715 100644
Binary files a/docs/build/doctrees/environment.pickle and b/docs/build/doctrees/environment.pickle differ
diff --git a/docs/build/doctrees/examples/notebook_massive_remnants.doctree b/docs/build/doctrees/examples/notebook_massive_remnants.doctree
deleted file mode 100644
index 1b014e5877a7766dc85a44b7fe33a673438e7620..0000000000000000000000000000000000000000
Binary files a/docs/build/doctrees/examples/notebook_massive_remnants.doctree and /dev/null differ
diff --git a/docs/build/doctrees/index.doctree b/docs/build/doctrees/index.doctree
index b0f8d923e6b9ddb0339b819824a7e432b632a587..85010eee044d533a2317a8a4fb1d628e4c28d96d 100644
Binary files a/docs/build/doctrees/index.doctree and b/docs/build/doctrees/index.doctree differ
diff --git a/docs/build/doctrees/nbsphinx/examples/notebook_massive_remnants.ipynb b/docs/build/doctrees/nbsphinx/examples/notebook_massive_remnants.ipynb
deleted file mode 100644
index 28227d1a1cb7536b70a32fd936026697be9cbe35..0000000000000000000000000000000000000000
--- a/docs/build/doctrees/nbsphinx/examples/notebook_massive_remnants.ipynb
+++ /dev/null
@@ -1,761 +0,0 @@
-{
- "cells": [
-  {
-   "cell_type": "markdown",
-   "id": "bbbaafbb-fd7d-4b73-a970-93506ba35d71",
-   "metadata": {
-    "tags": []
-   },
-   "source": [
-    "# Example use case: Massive star luminosity\n",
-    "\n",
-    "In this notebook we compute the luminosity function of the zero-age main-sequence by running a population of single stars using binary_c. \n",
-    "\n",
-    "We start by loading in some standard Python modules and the binary_c module.\n"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 1,
-   "id": "bf6b8673-a2b5-4b50-ad1b-e90671f57470",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "import os\n",
-    "import math\n",
-    "import matplotlib.pyplot as plt\n",
-    "\n",
-    "from binarycpython.utils.functions import temp_dir\n",
-    "from binarycpython.utils.grid import Population\n",
-    "\n",
-    "TMP_DIR = temp_dir(\"notebooks\", \"notebook_luminosity\")\n",
-    "\n",
-    "# help(Population) # Uncomment this line to see the public functions of this object"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "f268eff3-4e08-4f6b-8b59-f22dba4d2074",
-   "metadata": {},
-   "source": [
-    "## Setting up the Population object\n",
-    "To set up and configure the population object we need to make a new instance of the `Population` object and configure it with the `.set()` function.\n",
-    "\n",
-    "In our case, we only need to set the maximum evolution time to something short, because we care only about zero-age main sequence stars which have, by definition, age zero."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 2,
-   "id": "79ab50b7-591f-4883-af09-116d1835a751",
-   "metadata": {},
-   "outputs": [
-    {
-     "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",
-      "verbosity is 1\n"
-     ]
-    }
-   ],
-   "source": [
-    "# Create population object\n",
-    "population = Population()\n",
-    "\n",
-    "# If you want verbosity, set this before other things\n",
-    "population.set(verbosity=1)\n",
-    "\n",
-    "# Setting values can be done via .set(<parameter_name>=<value>)\n",
-    "# Values that are known to be binary_c_parameters are loaded into bse_options.\n",
-    "# Those that are present in the default grid_options are set in grid_options\n",
-    "# All other values that you set are put in a custom_options dict\n",
-    "population.set(\n",
-    "    # binary_c physics options\n",
-    "    max_evolution_time=0.1,  # maximum stellar evolution time in Myr\n",
-    "    tmp_dir=TMP_DIR,\n",
-    ")\n",
-    "\n",
-    "# We can access the options through \n",
-    "print(\"verbosity is\", population.grid_options['verbosity'])"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "f9a65554-36ab-4a04-96ca-9f1422c307fd",
-   "metadata": {},
-   "source": [
-    "## Adding grid variables\n",
-    "The main purpose of the Population object is to handle the population synthesis side of running a set of stars. The main method to do this with binarycpython, as is the case with Perl binarygrid, is to use grid variables. These are loops over a predefined range of values, where a probability will be assigned to the systems based on the chosen probability distributions.\n",
-    "\n",
-    "Usually we use either 1 mass grid variable, or a trio of mass, mass ratio and period (other notebooks cover these examples). We can, however, also add grid sampling for e.g. eccentricity, metallicity or other parameters. \n",
-    "\n",
-    "To add a grid variable to the population object we use `population.add_grid_variable`"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 3,
-   "id": "68c84521-9ae8-4020-af7a-5334173db969",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# 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",
-   "metadata": {},
-   "source": [
-    "First let us set up some global variables that will be useful throughout.\n",
-    "\n",
-    "* The resolution is the number of stars we simulate in our model population.\n",
-    "* The massrange is a list of the min and max masses\n",
-    "* The total_probability is the theoretical integral of a probability density function, i.e. 1.0.\n",
-    "* The binwidth sets the resolution of the final distribution. If set to 0.5, the bins in log*L* are 0.5dex wide."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 5,
-   "id": "aba3fe4e-18f2-4bb9-8e5c-4c6007ab038b",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# Set resolution and mass range that we simulate\n",
-    "resolution = {\"M_1\": 40} # start with resolution = 10, and increase later if you want \"more accurate\" data\n",
-    "massrange = (0.07, 100.0) # we work with stars of mass 0.07 to 100 Msun\n",
-    "total_probability = 1.0 # theoretical integral of the mass probability density function over all masses    \n",
-    "# distribution binwidths : \n",
-    "# (log10) luminosity distribution\n",
-    "binwidth = { 'luminosity' : 0.5 }"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "1b3a007b-5c17-42a7-a981-7e268e6f545c",
-   "metadata": {},
-   "source": [
-    "The next cell contains an example of adding the mass grid variable, sampling the phase space in linear mass *M*_1."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 6,
-   "id": "47979841-2c26-4b26-8945-603d013dc93a",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# Mass\n",
-    "population = Population()\n",
-    "population.set(\n",
-    "    tmp_dir=TMP_DIR,\n",
-    ")\n",
-    "population.add_grid_variable(\n",
-    "    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",
-    "    dphasevol=\"dM_1\",\n",
-    "    parameter_name=\"M_1\",\n",
-    "    condition=\"\",  # Impose a condition on this grid variable. Mostly for a check for yourself\n",
-    ")"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "163f13ae-fec1-4ee8-b9d4-c1b75c19ff39",
-   "metadata": {},
-   "source": [
-    "## Setting logging and handling the output\n",
-    "By default, binary_c will not output anything (except for 'SINGLE STAR LIFETIME'). It is up to us to determine what will be printed. We can either do that by hardcoding the print statements into `binary_c` (see documentation binary_c) or we can use the custom logging functionality of binarycpython (see notebook `notebook_custom_logging.ipynb`), which is faster to set up and requires no recompilation of binary_c, but is somewhat more limited in its functionality. For our current purposes, it works perfectly well.\n",
-    "\n",
-    "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 `notebook_individual_systems.ipynb`). \n",
-    "\n",
-    "In the code below we will set up both the custom logging and a parse function to handle that output."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 7,
-   "id": "0c986215-93b1-4e30-ad79-f7c397e9ff7d",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# Create custom logging statement\n",
-    "#\n",
-    "# we check that the model number is zero, i.e. we're on the first timestep (stars are born on the ZAMS)\n",
-    "# we make sure that the stellar type is <= MAIN_SEQUENCE, i.e. the star is a main-sequence star\n",
-    "# we also check that the time is 0.0 (this is not strictly required, but good to show how it is done)\n",
-    "#\n",
-    "# The Printf statement does the outputting: note that the header string is ZERO_AGE_MAIN_SEQUENCE_STAR\n",
-    "\n",
-    "custom_logging_statement = \"\"\"\n",
-    "if(stardata->model.model_number == 0 &&\n",
-    "   stardata->star[0].stellar_type <= MAIN_SEQUENCE &&\n",
-    "   stardata->model.time == 0)\n",
-    "{\n",
-    "   /* Note that we use Printf - with a capital P! */\n",
-    "   Printf(\"ZERO_AGE_MAIN_SEQUENCE_STAR %30.12e %g %g %g %g\\\\n\",\n",
-    "          stardata->model.time, // 1\n",
-    "          stardata->common.zero_age.mass[0], // 2\n",
-    "          stardata->star[0].mass, // 3\n",
-    "          stardata->star[0].luminosity, // 4\n",
-    "          stardata->model.probability // 5\n",
-    "      );\n",
-    "};\n",
-    "\"\"\"\n",
-    "\n",
-    "population.set(\n",
-    "    C_logging_code=custom_logging_statement\n",
-    ")\n"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "ae1f1f0c-1f8b-42d8-b051-cbf8c6b51514",
-   "metadata": {},
-   "source": [
-    "The parse function must now catch lines that start with \"ZERO_AGE_MAIN_SEQUENCE_STAR\" and process the associated data."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 8,
-   "id": "fd197154-a8ce-4865-8929-008d3483101a",
-   "metadata": {},
-   "outputs": [],
-   "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",
-    "from binarycpython.utils.functions import bin_data,datalinedict\n",
-    "\n",
-    "def parse_function(self, output):\n",
-    "    \"\"\"\n",
-    "    Example parse function\n",
-    "    \"\"\"\n",
-    "    \n",
-    "    # list of the data items\n",
-    "    parameters = [\"header\", \"time\", \"zams_mass\", \"mass\", \"luminosity\", \"probability\"]\n",
-    "    \n",
-    "    # Loop over the output.\n",
-    "    for line in output.splitlines():\n",
-    "        # obtain the line of data in dictionary form \n",
-    "        linedata = datalinedict(line,parameters)\n",
-    "        \n",
-    "        # Check the header and act accordingly\n",
-    "        if linedata['header'] == \"ZERO_AGE_MAIN_SEQUENCE_STAR\":\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",
-    "    \n",
-    "# Add the parsing function\n",
-    "population.set(\n",
-    "    parse_function=parse_function,\n",
-    ")"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "91509ce5-ffe7-4937-aa87-6d7baac9ac04",
-   "metadata": {},
-   "source": [
-    "## Evolving the grid\n",
-    "Now that we configured all the main parts of the population object, we can actually run the population! Doing this is straightforward: `population.evolve()`\n",
-    "\n",
-    "This will start up the processing of all the systems. We can control how many cores are used by settings `num_cores`. By setting the `verbosity` 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.\n",
-    "\n",
-    "There are many grid_options that can lead to different behaviour of the evolution of the grid. Please do have a look at those: [grid options docs](https://ri0005.pages.surrey.ac.uk/binary_c-python/grid_options_descriptions.html), and try  "
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 9,
-   "id": "8ea376c1-1e92-45af-8cab-9d7fdca564eb",
-   "metadata": {
-    "tags": []
-   },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Doing dry run to calculate total starcount and probability\n",
-      "Generating grid code\n",
-      "Grid has handled 40 stars with a total probability of 1\n",
-      "**************************************\n",
-      "* Total starcount for this run is 40 *\n",
-      "*       Total probability is 1       *\n",
-      "**************************************\n",
-      "\n",
-      "Generating grid code\n",
-      "**********************************************************\n",
-      "*  Population-b6213f2eb7f94d3196cf966b7b76b9f9 finished! *\n",
-      "*               The total probability is 1.              *\n",
-      "*  It took a total of 6.99s to run 40 systems on 2 cores *\n",
-      "*                  = 13.98s of CPU time.                 *\n",
-      "*              Maximum memory use 472.211 MB             *\n",
-      "**********************************************************\n",
-      "\n",
-      "There were no errors found in this run.\n"
-     ]
-    }
-   ],
-   "source": [
-    "# set number of threads\n",
-    "population.set(\n",
-    "    # verbose output is not required    \n",
-    "    verbosity=0,\n",
-    "    # set number of threads (i.e. number of CPU cores we use)\n",
-    "    num_cores=2,\n",
-    "    )\n",
-    "\n",
-    "# Evolve the population - this is the slow, number-crunching step\n",
-    "analytics = population.evolve()  \n",
-    "\n",
-    "# Show the results (debugging)\n",
-    "# print (population.grid_results)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "91ab45c7-7d31-4543-aee4-127ab58e891f",
-   "metadata": {},
-   "source": [
-    "After the run is complete, some technical report on the run is returned. I stored that in `analytics`. As we can see below, this dictionary is like a status report of the evolution. Useful for e.g. debugging."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 10,
-   "id": "e1f0464b-0424-4022-b34b-5b744bc2c59d",
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "{'population_name': 'b6213f2eb7f94d3196cf966b7b76b9f9', 'evolution_type': 'grid', 'failed_count': 0, 'failed_prob': 0, 'failed_systems_error_codes': [], 'errors_exceeded': False, 'errors_found': False, 'total_probability': 0.9999999999999998, 'total_count': 40, 'start_timestamp': 1635760806.5066257, 'end_timestamp': 1635760813.4966016, 'total_mass_run': 2001.3999999999996, 'total_probability_weighted_mass_run': 50.03499999999999, 'zero_prob_stars_skipped': 0}\n"
-     ]
-    }
-   ],
-   "source": [
-    "print(analytics)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 11,
-   "id": "05c6d132-abee-423e-b1a8-2039c8996fbc",
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "[None]"
-      ]
-     },
-     "execution_count": 11,
-     "metadata": {},
-     "output_type": "execute_result"
-    },
-    {
-     "data": {
-      "image/png": "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9VW+9a0bjyhTDk35mzlzOjfccBNQNtVv+PBRxMbGHvH8CQkJ/OQnP+f667/N3LlzyqeJvfzyP5k69V/8+tf3MHTo8JP6+o6nR49/j+g5VM59cZRPw4YNAcjL23fMkur00w9fYL5583QOHCgA4PPPF1NUVMTo0YcXRSNGjOK3v43n448XMmjQEHr3Lpualp29nLPOGshZZw3hppuOLP+OJTY2lvPOG8eLL77AD37wYxISEnj99VcZNGgoDRo0POpjFi36mISExPKCCiA5OZmzzhrMZ58tOupjevc+kz/96f+45porGT58FAMHDqZ//7MYOHDwl2bMzMz60vsMHDikvKACGDJkOPfd9zs+/fSTCpVUFfHJJx/Rs+cZh62LFhMTw6hR5/Dkk48dtpj7f/5smzVrzrZt2yolhyRJkiTVZZZUlWxM37YcKCypESOpxvRre1KPXbz4Mx577A+cffYIxo//r6PeZ9mypaxatZJVq1YyduyII86//fbMI0oYKJvy9/zzk1mxYjmtW7dl7tw53H//H46bp0mTplxwwVe44IKvAGVrSf3613dw332/Y8iQYZW6s15sbOxhhcghycnJJ/Q8iYmJh/05FAqVT+Pbt28vUPZ1fVFMTAxpaY3Iy8sD4M477+Zvf/sLM2dOY/bsGcTExNC37wB+/OOf0aJFywrlOP/8C3nmmb8yZ847ZGV15bPPFvH//t8Dx7z/3r17SUtLO+L4f2b9otNO68n//u9DTJkykSlTJvL3vz9F48ZNuOaab3LZZVcdN19y8tFLvi/6z1F8h/Id+j5Vhn379tKuXbsjjjdu3IRIJEJ+fn75saSkw6+PmJgYIpEj106TJEmSJJ0YS6pK1qlVA753+Rlffscaau/ePfzyl7fRokXL8ulqRzN16iukpKRwzz2/P+Lcr399By+//M+jllSnndaT5s3TmTVrBh07dqJBg4b07NnriPt9/vlifvrTH/KLX/z6iB0FzzyzL+PH/xcPP3w/+/btPeaooC8KhUKEw4cXhwUFBV/6uKpQv359AHbu3HHYbnbhcJjc3F3lJUxqaio33ngzN954M+vXr+Xdd9/mqaee5P77/99xi6Yvatu2HT179mLmzOls2rSRxo2b0L//wGPePy0tjd27c4lEIoeVf3v37jnu6wwYMJABAwZy4MABFi78gOefn8yDD97HaaedQdeu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IUsqVUhJSQlTpkzh97//PfHx8UHHUZSJRCI8+eSTXHnllfzoRz8CYNCgQTRq1Igf/OAHLF26lG7dugWcUjVZcXExf/nLX7j66qv5zne+A8DAgQNZvHgxf//73y2pdEJycnK46667aNGiRdBRFGWWLVtGTEwM5557LsnJyUHHURS677776NWrFw899BChUIhBgwYRDof561//SkFBgdeVjis1NZVevXodduzpp59mzZo1PPvsszRu3PiUX8PKXVVuw4YNrF+/nnPOOeew4+eeey6rV69mw4YNASVTNFm4cCH33Xcf1157LbfcckvQcRRl9u/fz0UXXcQFF1xw2PFOnToBsH79+iBiKYrExsbyzDPPcMMNNxx2PD4+nsLCwoBSKVrdfvvtDB48mIEDBwYdRVFm6dKltGvXziJBJ2XXrl18+OGHXH311YRCofLjEyZMYPr06V5XOmHbt2/noYceKp8+WhksqVTlVq9eDUDHjh0PO96+fXugbNiy9GUyMjKYPn063/3ud4mNjQ06jqJMamoqt99+O3369Dns+PTp0wHo3LlzELEURWJiYujSpQvp6elEIhF27NjBE088wfvvv8+VV14ZdDxFkeeff57PP/+cO+64I+goikLLly8nISGB6667jt69e9OvXz9+8YtfuL6iKiQ7O5tIJELDhg35/ve/T69evejTpw+//OUvOXDgQNDxFIUeeeQRYmJi+P73v19pz+l0P1W5ffv2AWUfEr8oJSUFwL9UVSFNmzYNOoJqmUWLFvHEE08wevRoMjIygo6jKPLWW29x8803AzB8+HAuuuiigBMpWmzatIl77rmHe+65p1KmRKjuWbZsGXl5eVx++eX893//N4sXL+aRRx5hzZo1/O1vfztsdIz0n3bt2gXAT3/6U8aMGcOjjz7K8uXLefDBByksLOR3v/tdwAkVTXbu3MlLL73EtddeS4MGDSrteS2pVOUikchxz7vQo6TqtnDhQv77v/+bNm3a8Nvf/jboOIoy3bt35+9//zvLly/noYce4oYbbuDpp5/2w6GOKxKJ8LOf/Yxhw4Zx7rnnBh1HUeqBBx6gYcOGdOnSBYB+/frRpEkTbr31Vt5//30GDx4ccELVZMXFxQCceeaZ/PKXvwTK1leMRCLce++93HTTTbRt2zbIiIoizz//POFwmGuuuaZSn9d2QFWufv36AEds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\n",
-      "text/plain": [
-       "<Figure size 1440x720 with 1 Axes>"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    }
-   ],
-   "source": [
-    "# make a plot of the luminosity distribution using Seaborn and Pandas\n",
-    "import seaborn as sns\n",
-    "import pandas as pd\n",
-    "from binarycpython.utils.functions import pad_output_distribution\n",
-    "\n",
-    "# set up seaborn for use in the notebook\n",
-    "sns.set(rc={'figure.figsize':(20,10)})\n",
-    "sns.set_context(\"notebook\",\n",
-    "                font_scale=1.5,\n",
-    "                rc={\"lines.linewidth\":2.5})\n",
-    "                    \n",
-    "\n",
-    "# this saves a lot of typing! \n",
-    "ldist = population.grid_results['luminosity distribution']\n",
-    "\n",
-    "# pad the distribution with zeros where data is missing\n",
-    "pad_output_distribution(ldist,\n",
-    "                        binwidth['luminosity'])\n",
-    "\n",
-    "# make pandas dataframe from our sorted dictionary of data\n",
-    "plot_data = pd.DataFrame.from_dict({'ZAMS luminosity distribution' : ldist})\n",
-    "\n",
-    "# make the plot\n",
-    "p = sns.lineplot(data=plot_data)\n",
-    "p.set_xlabel(\"$\\log_{10}$ ($L_\\mathrm{ZAMS}$ / L$_{☉}$)\")\n",
-    "p.set_ylabel(\"Number of stars\")\n",
-    "p.set(yscale=\"log\")"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "7d7b275e-be92-4d59-b44d-ef6f24023cc3",
-   "metadata": {},
-   "source": [
-    "Does this look like a reasonable stellar luminosity function to you? The implication is that the most likely stellar luminosity is 10<sup>5.8</sup> L<sub>☉</sub>! Clearly, this is not very realistic... let's see what went wrong."
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "e32c3bbf-390f-45da-ad9c-cc3e7c9449dc",
-   "metadata": {},
-   "source": [
-    "## ZAMS Luminosity distribution with the initial mass function\n",
-    "\n",
-    "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).\n"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 12,
-   "id": "1f37d2c0-1108-4ab9-a309-20b1e6b6e3fd",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# 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",
-    ")"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 13,
-   "id": "6f4463e8-1935-45f2-8c5f-e7b215f8dc47",
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Doing dry run to calculate total starcount and probability\n",
-      "Generating grid code\n",
-      "Grid has handled 40 stars with a total probability of 0.218222\n",
-      "**************************************\n",
-      "* Total starcount for this run is 40 *\n",
-      "*    Total probability is 0.218222   *\n",
-      "**************************************\n",
-      "\n",
-      "Generating grid code\n",
-      "**********************************************************\n",
-      "*  Population-4b8c7f4a86e445099d73f27dffaad94b finished! *\n",
-      "*           The total probability is 0.218222.           *\n",
-      "*  It took a total of 7.95s to run 40 systems on 2 cores *\n",
-      "*                  = 15.89s of CPU time.                 *\n",
-      "*              Maximum memory use 587.984 MB             *\n",
-      "**********************************************************\n",
-      "\n",
-      "There were no errors found in this run.\n"
-     ]
-    }
-   ],
-   "source": [
-    "# Clean and re-evolve the population \n",
-    "population.clean()\n",
-    "analytics = population.evolve()  \n",
-    "\n",
-    "# Show the results (debugging)\n",
-    "# print (population.grid_results)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 14,
-   "id": "cfe45a9e-1121-43b6-b6b6-4de6f8946a18",
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "[None]"
-      ]
-     },
-     "execution_count": 14,
-     "metadata": {},
-     "output_type": "execute_result"
-    },
-    {
-     "data": {
-      "image/png": "iVBORw0KGgoAAAANSUhEUgAABKsAAAJgCAYAAABFgeDFAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAB6SklEQVR4nOzdd1iV9f/H8dc5bNlLQETcW3OXe++G0XKUDSsrW7+2bdt+s2zvYcPMtLSlZq7cVjhyTxREURRkKeNwzu8PkiIcRxn3feD5uC6uC+/7Pue8gPtCePG537fF4XA4BAAAAAAAAJiA1egAAAAAAAAAwEmUVQAAAAAAADANyioAAAAAAACYBmUVAAAAAAAATIOyCgAAAAAAAKZBWQUAAAAAAADToKwCAAAAAACAabgbHcAVpKfnyG53GB2jygkN9dPRo9lGx4AL4xxCWXEOoaw4h1BWnEMoK84hlBXnEMrifM8fq9Wi4GDf0+6nrHKC3e6grKogfF5RVpxDKCvOIZQV5xDKinMIZcU5hLLiHEJZVMT5w2WAAAAAAAAAMA3KKgAAAAAAAJgGZRUAAAAAAABMg7IKAAAAAAAApkFZBQAAAAAAANPgboAAAAAAAKcUFOQrK+uYbLZ82e2FRsdBOTh82Cq73W50DLio/54/Vqub3N095e8fJA8Pz/N+XsoqAAAAAMBZnTiRo6ysdPn5BcrLK0RWq5ssFovRsVBG7u5W2WyUVTg//z5/HA6H7PZC5eWdUHr6Yfn7B8vHx/f8nrc8QwIAAAAAqqbs7AwFBYXJ09Pb6CgATMhiscjNzV01avjL3d1DmZlp511WMbMKAAAAAHBWhYUF8vDwMjoGABfg4eElm63gvB9PWQUAAAAAcAqX/QFwRlm/V1BWAQAAAAAAwDQoqwAAAAAAgEtyOBxGRzgto7MZ/fplQVkFAAAAAKi2unXrcMa3jz9+v9Rj3nrrNXXr1kHvvffWKZ/z+eefVrduHXTFFRef9nWfffYJdevWQc8//3SJ7Rs2rNdDD/2fhg7tq969OysubqhefPEZJSfvP+PHMWfOj+rWrYMOHz509g+6jO6881bdc88dFf46//Xfj3Hv3gTdcceYCnmt559/WtdcM6z431deeYleeulZpx+/YsUyPffcUxX+Oqdzqs9Nt24dNGXKR2V+7srA3QABAAAAANXWe+99esrt7777hv76a71at76gxHabzab58+eqQYOGmjPnR918821ydy/9q7XFYtGhQynasmWTmjdvWWJfXl6eli1bWuoxv/++Wg8+eI969eqrRx55Qr6+fkpO3q+vvvpct956vT744DNFR9cuw0dbPu6//xFD5pd17txN7733qYKDQyRJS5Ys1MaNf1XKa7/wwsvy9fVz+vhvvpmmwkLbWY+74Yabdfx4TlmindKpPjfvvfepIiIiyv21KgJlFQAAAACg2mrZslWpbd99N0MbNqzT6NE3qWPHi0rsW716hdLT0/TssxM1btzNWrp0ifr06VfqOaKiaik/P19LliwsVVatXr1Sbm5uioiILLH9yy+nqFWrCzRhwgvF29q166DOnbvq6quH6euvp+r++x8uy4dbLurVq2/I6wYHBys4ONiQ127cuGmFPG9llo+nOtfNissAAQAAAAD429atm/Xmm6+qffuOuvnm20rt//nnH9WkSTNdcEEbNW/eUt9//90pn8disahXr75avHhRqX2LFs1Xz569S63ISktLk91uL3V8WFi47rvvQXXseKHTH8epLtVbu/ZPdevWQRs2rJckffzx+xo58iotWrRAI0deoT59umjs2BuVmLhXK1Ys03XXXa2+fbvq1ltv0M6d20/73N26ddDs2d/qhRcmaNCg3urfv4eeeOIRpaenlXj9efN+1k03jVK/ft10+eVD9NZbrykvL7d4f3p6uiZMeFyXXjpQffp01Q03jNTcuT8V7//3ZYAff/y+PvroveLX//jj9/X44w/ryisvKTWr6amnHtXNN48+7ecqMzNTL7wwQYMH99GgQb31zjtvlPo6/PfyvF9/nafrrx+hPn266uKL++uZZ57QkSOpxZ+f+PjftX79WnXr1kFr1/5Z/Ln//vvvFBc3VAMH9tT69WtLXQYoSQUF+Zo06UUNHNhTQ4f21aRJL5VYfXWqSwXP9rk5+f6/LwM8fPiQnn32SQ0bNlh9+3bVuHG3aN26+OL9Bw8eULduHfTbb4v06KMPqn//7ho8uI8mTnxeubm5qkiUVQAAAAAASMrKytKTT45XYGCQnn76eVmtJX9lTk9P16pVyzVw4BBJ0pAhF2vt2j+0f3/SKZ+vT59+OngwWdu2bS3elpubq5Url6tv3wGljr/ooi7666/1uuee2zVnzo86cCC5eN/FFw9Tjx69yuGjLOng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cRo/frwCAwPVq1cvLVy4UHPnztXkyZONjgagGjh69Kief/55RUdHa9SoUdqyZUuJ/XXq1GHgMc4oJCREI0eO1AcffCBvb2+1atVK8fHxev/993XVVVepfv36RkeEiZ3q/AgKCpKnp6datWplQCK4opCQEI0aNUpffPGF/Pz81KFDB8XHx+u9997TqFGjiu+0DZyOxWLRAw88oPvuu08PPPCA4uLitGnTJr377ru69tpr+VkITtuxY4d8fHwUHR1d7s9NWYVKFRcXp/z8fH3yySeaMWOGYmJiNHHiRA0ZMsToaACqgWXLlunEiRNKTk7WqFGjSu3/3//+p8suu8yAZHAl48ePV1RUlGbOnKk333xTkZGRuvvuuzVmzBijowGoJh5++GFFRETo22+/1QcffKCIiAjdfffduvnmm42OBhcxZMgQeXp66u2339bYsWMVGhqqcePGaezYsUZHgws5cuRIud4B8N8sDiY5AgAAAAAAwCSYWQUAAAAAAADToKwCAAAAAACAaVBWAQAAAAAAwDQoqwAAAAAAAGAalFUAAAAAAAAwDcoqAAAAAAAAmAZlFQAAAAAAAEyDsgoAAAAAAACmQVkFAABcypo1a9SkSRN99913Rkcps0OHDunCCy9UUlKS0VEqzPTp09W3b9/T7n/kkUfUpEkT7d+/v1xf97HHHtOLL75Yrs8JAAAqB2UVAACAQZ5//nkNHTpUMTExxduOHTumJk2a6OabbzYwWflZsWKFunTpUumvO27cOE2fPl3btm2r9NcGAABlQ1kFAABggD/++EMLFy7ULbfcUmL7li1bJEktWrQwIla5stvtWrNmjTp37lzpr12rVi0NHTqU1VUAALggyioAAAADTJkyRe3bt1dUVFSJ7Zs3b5YkNW/e3IhY5WrLli3KyMgwpKySpKuuukqrV69mdRUAAC6GsgoAAFQJaWlpmjBhgnr27KmWLVuqZ8+emjBhgtLT00sdu3//ft11111q166d2rVrp9tvv11JSUnq06ePrrvuugrPevDgQS1evFj9+vUrte/kyqqqUFatXLlSzZo1U3BwsCGv36ZNG0VGRmrq1KmGvD4AADg/7kYHAAAAKKusrCyNGDFC+/bt0xVXXKHmzZtr69atmjZtmlavXq0ZM2bIz89PkpSenq5Ro0bp6NGjGj58uOrXr6/4+Hhdf/31On78eKXkXbZsmQoLC9WrV69S+7Zs2aLAwMASc6xc1cqVKw1bVXVSx44dtXTpUkMzAACAc0NZBQAAXN5HH32kvXv36sknn9SoUaOKtzdr1kzPPPOMPvroI917772SpA8//FApKSl6+eWXdemll0qSRo4cqf/973/6+OOPKyVvfHy8atSoUaqQys7O1r59+3ThhRdWSo6KlJeXp7Vr1xo+KL5x48b68ccflZSUVCUKQAAAqgMuAwQAAC7v119/VUhIiK655poS26+55hqFhIRowYIFxdsWL16s8PBwXXzxxSWOHTNmTKVklaSkpCRFR0fLYrGU2L5161Y5HI4qcQlgfHy8HA6HOnToUK7Pm5qaqg8//FDjx4/XpEmTtGnTpjMef7Kg2r9/f7nmAAAAFYeyCgAAuLz9+/erXr16cncvuWjc3d1ddevWVVJSUoljY2NjZbWW/DEoNDRUAQEBJbbNmTNHI0aMUNu2bdWnT59Sr2uz2fTcc8+pU6dO6tChgx599FHl5eWdNe+xY8eKL0v8t5PD1c90J8A///xTbdu2LfXWsmVLNWvWrMSxTz/9tJo0aaJ169aVep7rrrtOTZo00W+//VbqY27SpInGjh1bvC0hIUF33HGHLrroIrVt21b9+/c/6132VqxYobZt28rb2/uMx52LX375Re+88466dOmip556SiNGjNCKFSv0yiuvyOFwnPIx/778EwAAuAbKKgAAgNMIDAzUtddeW3wJ4X+99957WrNmjX788UfNnz9fu3fv1ssvv3zW57VarbLb7aW2O3MnwA4dOmjdunUl3ubNm6egoCDdc889xcfl5ubqp59+UlBQkGbMmHHK56pfv76+/fbbEttmzpyp+vXrl9g2duxY1atXTwsXLlR8fLw+/PBDNWnS5Iwf46pVq9SlS5czHnMuduzYoeTkZD311FNq0aKFvL29FR0drbFjx6pv376aNm3aKR938vPs5uZWblkAAEDFoqwCAAAuLyYmRgkJCbLZbCW222w27d27t8SsoujoaO3bt69UWXT06FFlZmaW2Na1a1cNHTpU0dHRp3zdmTNn6rbbblNERIRCQkJ055136rvvvlNhYeEZ84aGhurYsWOltm/ZskU1atRQvXr1zvj4f8vPz9ddd92l9u3b67bbbivePm/ePFmtVo0fP15z585VTk5OqccOHjxYq1evVlpamiQpOTlZ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\n",
-      "text/plain": [
-       "<Figure size 1440x720 with 1 Axes>"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    }
-   ],
-   "source": [
-    "# plot luminosity distribution\n",
-    "ldist = population.grid_results['luminosity distribution']\n",
-    "\n",
-    "# pad the distribution with zeros where data is missing\n",
-    "pad_output_distribution(ldist,\n",
-    "                        binwidth['luminosity'])\n",
-    "\n",
-    "# make pandas dataframe from our sorted dictionary of data\n",
-    "plot_data = pd.DataFrame.from_dict({'ZAMS luminosity distribution' : ldist})\n",
-    "\n",
-    "# make the plot\n",
-    "p = sns.lineplot(data=plot_data)\n",
-    "p.set_xlabel(\"$\\log_{10}$ ($L_\\mathrm{ZAMS}$ / L$_{☉}$)\")\n",
-    "p.set_ylabel(\"Number of stars\")\n",
-    "p.set(yscale=\"log\")"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "0546f2f3-4732-4841-8ef3-565fbf6b9961",
-   "metadata": {},
-   "source": [
-    "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! \n",
-    "\n",
-    "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. \n",
-    "\n",
-    "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."
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "673031c9-7d80-45d4-b209-301c127d3edf",
-   "metadata": {
-    "tags": []
-   },
-   "source": [
-    "## A better-sampled grid\n",
-    "\n",
-    "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. \n",
-    "\n",
-    "To do this we first rename the mass grid variable so that it is clear we are working in (natural) logarithmic phase space."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 15,
-   "id": "5956f746-e3b9-4912-b75f-8eb0af66d3f6",
-   "metadata": {},
-   "outputs": [],
-   "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\")"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "532f691c-c1f6-46cc-84f2-970ec1216e40",
-   "metadata": {},
-   "source": [
-    "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."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 16,
-   "id": "108d470a-bb21-40b0-8387-2caa7ab0f923",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# update the sampling, note that the IMF is dprob/dM1, and the phase \n",
-    "# space is now sampled in lnM1, so we multiply by M_1 to \n",
-    "# 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",
-    "    dphasevol=\"dlnM_1\",\n",
-    "    parameter_name=\"M_1\",\n",
-    "    precode=\"M_1=math.exp(lnM_1)\",\n",
-    ")\n",
-    "# print(population.grid_options[\"_grid_variables\"]) # debugging"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 17,
-   "id": "fb8db646-f3d0-4ccd-81ba-7fde23f29c79",
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Doing dry run to calculate total starcount and probability\n",
-      "Generating grid code\n",
-      "Grid has handled 40 stars with a total probability of 0.995631\n",
-      "**************************************\n",
-      "* Total starcount for this run is 40 *\n",
-      "*    Total probability is 0.995631   *\n",
-      "**************************************\n",
-      "\n",
-      "Generating grid code\n",
-      "**********************************************************\n",
-      "*  Population-7a2e4301f5224b2cb8939d2297df0aad finished! *\n",
-      "*           The total probability is 0.995631.           *\n",
-      "*  It took a total of 4.77s to run 40 systems on 2 cores *\n",
-      "*                   = 9.55s of CPU time.                 *\n",
-      "*              Maximum memory use 621.930 MB             *\n",
-      "**********************************************************\n",
-      "\n",
-      "There were no errors found in this run.\n"
-     ]
-    }
-   ],
-   "source": [
-    "# Clean and re-evolve the population \n",
-    "population.clean()\n",
-    "analytics = population.evolve()  \n",
-    "\n",
-    "# Show the results (debugging)\n",
-    "# print (population.grid_results)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "182b1094-5057-4ccf-bac6-9b0e560ad4f6",
-   "metadata": {},
-   "source": [
-    "You should see that the total probability is very close to 1.0, as you would expect for a well-sampled grid. The total will never be exactly 1.0, but that is because we are running a simulation, not a perfect copy of reality."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 18,
-   "id": "68ee1e56-21e5-48f4-b74c-50e48685ae94",
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "image/png": "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\n",
-      "text/plain": [
-       "<Figure size 1440x720 with 1 Axes>"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    }
-   ],
-   "source": [
-    "# plot luminosity distribution\n",
-    "ldist = population.grid_results['luminosity distribution']\n",
-    "\n",
-    "# pad the distribution with zeros where data is missing\n",
-    "pad_output_distribution(ldist,\n",
-    "                        binwidth['luminosity'])\n",
-    "\n",
-    "# make pandas dataframe from our sorted dictionary of data\n",
-    "plot_data = pd.DataFrame.from_dict({'ZAMS luminosity distribution' : ldist})\n",
-    "\n",
-    "# make the plot\n",
-    "p = sns.lineplot(data=plot_data)\n",
-    "p.set_xlabel(\"$\\log_{10}$ ($L_\\mathrm{ZAMS}$ / L$_{☉}$)\")\n",
-    "p.set_ylabel(\"Number of stars\")\n",
-    "p.set(yscale=\"log\")\n",
-    "plt.show()"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "31fe91bb-177d-4e4e-90cf-298a3f8a8b61",
-   "metadata": {},
-   "source": [
-    "Most stars are low mass red dwarfs, with small luminosities. Without the IMF weighting, our model population would have got this completely wrong! \n",
-    "\n",
-    "As you increase the resolution, you will see this curve becomes even smoother. The wiggles in the curve are (usually) sampling artefacts because the curve should monotonically brighten above about log(*L*/L<sub>☉</sub>)=-2. \n",
-    " \n",
-    "Remember you can play with the binwidth too. If you want a very accurate distribution you need a narrow binwidth, but then you'll also need high resolution (lots of stars) so lots of CPU time, hence cost, CO<sub>2</sub>, etc."
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "ba032bd8-b4a2-4558-9fd9-8e1e03d7d162",
-   "metadata": {},
-   "source": [
-    "Things to try:\n",
-    "\n",
-    " * Change the resolution to make the distributions smoother: what about error bars, how would you do that?\n",
-    " * Different initial distributions: the Kroupa distribution isn't the only one out there\n",
-    " * Change the metallicity and mass ranges\n",
-    " * What about a non-constant star formation rate? This is more of a challenge!\n",
-    " * What about evolved stars? Here we consider only the *zero-age* main sequnece. What about other main-sequence stars? What about stars in later phases of stellar evolution?\n",
-    " * Binary stars! (see notebook_luminosity_function_binaries.ipynb)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "5abd0935-3957-4859-80c1-6f5d7ce4b614",
-   "metadata": {},
-   "outputs": [],
-   "source": []
-  }
- ],
- "metadata": {
-  "kernelspec": {
-   "display_name": "Python 3",
-   "language": "python",
-   "name": "python3"
-  },
-  "language_info": {
-   "codemirror_mode": {
-    "name": "ipython",
-    "version": 3
-   },
-   "file_extension": ".py",
-   "mimetype": "text/x-python",
-   "name": "python",
-   "nbconvert_exporter": "python",
-   "pygments_lexer": "ipython3",
-   "version": "3.6.4"
-  }
- },
- "nbformat": 4,
- "nbformat_minor": 5
-}
diff --git a/docs/build/doctrees/nbsphinx/examples_notebook_massive_remnants_20_1.png b/docs/build/doctrees/nbsphinx/examples_notebook_massive_remnants_20_1.png
deleted file mode 100644
index e763ec5df18c57b5a9e78e7202ff5a9759b1eaf3..0000000000000000000000000000000000000000
Binary files a/docs/build/doctrees/nbsphinx/examples_notebook_massive_remnants_20_1.png and /dev/null differ
diff --git a/docs/build/doctrees/nbsphinx/examples_notebook_massive_remnants_25_1.png b/docs/build/doctrees/nbsphinx/examples_notebook_massive_remnants_25_1.png
deleted file mode 100644
index 61b112e2c2bed2fd2e75fc63bf4e88bb8ef4eb6b..0000000000000000000000000000000000000000
Binary files a/docs/build/doctrees/nbsphinx/examples_notebook_massive_remnants_25_1.png and /dev/null differ
diff --git a/docs/build/doctrees/nbsphinx/examples_notebook_massive_remnants_33_0.png b/docs/build/doctrees/nbsphinx/examples_notebook_massive_remnants_33_0.png
deleted file mode 100644
index a3bd8cc4e0921e7ec53f93975ae23a335ed58cd0..0000000000000000000000000000000000000000
Binary files a/docs/build/doctrees/nbsphinx/examples_notebook_massive_remnants_33_0.png and /dev/null differ
diff --git a/docs/build/doctrees/readme_link.doctree b/docs/build/doctrees/readme_link.doctree
index 40863031f5e6966fc89995465e95bd701facd102..142b88abc7c54eb8bd59ca1258496bd1aa06087d 100644
Binary files a/docs/build/doctrees/readme_link.doctree and b/docs/build/doctrees/readme_link.doctree differ
diff --git a/docs/build/html/_images/examples_notebook_massive_remnants_20_1.png b/docs/build/html/_images/examples_notebook_massive_remnants_20_1.png
deleted file mode 100644
index e763ec5df18c57b5a9e78e7202ff5a9759b1eaf3..0000000000000000000000000000000000000000
Binary files a/docs/build/html/_images/examples_notebook_massive_remnants_20_1.png and /dev/null differ
diff --git a/docs/build/html/_images/examples_notebook_massive_remnants_25_1.png b/docs/build/html/_images/examples_notebook_massive_remnants_25_1.png
deleted file mode 100644
index 61b112e2c2bed2fd2e75fc63bf4e88bb8ef4eb6b..0000000000000000000000000000000000000000
Binary files a/docs/build/html/_images/examples_notebook_massive_remnants_25_1.png and /dev/null differ
diff --git a/docs/build/html/_images/examples_notebook_massive_remnants_33_0.png b/docs/build/html/_images/examples_notebook_massive_remnants_33_0.png
deleted file mode 100644
index a3bd8cc4e0921e7ec53f93975ae23a335ed58cd0..0000000000000000000000000000000000000000
Binary files a/docs/build/html/_images/examples_notebook_massive_remnants_33_0.png and /dev/null differ
diff --git a/docs/build/html/_images/test_coverage.svg b/docs/build/html/_images/test_coverage.svg
index a4262d340358b7051e60330569727e5a2d1695f9..9f708fe590212702a85ebf795bd860dae8fad77f 100644
--- a/docs/build/html/_images/test_coverage.svg
+++ b/docs/build/html/_images/test_coverage.svg
@@ -15,7 +15,7 @@
     <g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
         <text x="31.5" y="15" fill="#010101" fill-opacity=".3">coverage</text>
         <text x="31.5" y="14">coverage</text>
-        <text x="80" y="15" fill="#010101" fill-opacity=".3">69%</text>
-        <text x="80" y="14">69%</text>
+        <text x="80" y="15" fill="#010101" fill-opacity=".3">60%</text>
+        <text x="80" y="14">60%</text>
     </g>
 </svg>
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 64c12ca7862f9a3d5443f25ae805c73f6d068371..1c8b3ee25c6f01e51b76d151d2009e43b51d1179 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 8efa633acc52f2f91480bc81105e4dbbd498a7ab..0c78730b75cc71999c9f88691cc0e8f6cb3c8a51 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 9978f72ec08c338b6b157828faa98d32cb981933..03fc1bc7b6eac7f2f9ff6ccf707bf91d0469ac15 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 7af29a4965408e08789716caa4212a3cedde0a4d..ef155fe55aa1c59d940de458122a15aa28b5a95e 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 f65920e96040e0a4dc75ae9b0d807e9828e4cc1a..6d8e6a8d0b3f1a9d8b0873b5c3acdf4155264216 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 88842178cc7569dd2ec0905b0f544e11a1cc18cd..397f6601c16481344365537e583e65a4c67be4c7 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 57a4d14f15722e04ada7e7dca6a5024e47f2e8a5..5aadeab9168c372fce8749f96d6322fcb8018c6d 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 685664a1b2f1cfca7d106bb6ac774c30ecdc8394..092b28ec13a94fdfe4cbada8fd803df4ba869c05 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 e696f61ab9f78a20d925f2158c96843465700566..72654f29aa570afb21e994e8d175a3f387ec1ed6 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 0799b491ddc56d0b9c83a0125b1983f10d368601..b6be39630daab80f2d4c5210115a0fc9eb17784c 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 20fd81c70123ac2fd82f9a0f60cde72b435e2731..9d93a620fd5c3ad360d168e7b73c40211e1d5c0e 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 beaac5dafb02462dfe8c54f753fe5631d36ae2f0..65a6b6504189c52e98dd98133e505d5d4e88659b 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 2b4f99f1143ddc5468cb622384fae2fae5106cee..a4427a20215271b9963aab9755448bfa4ffce2b0 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 455af7acbbacd13a101120dd9c65e895a2b71b55..77ec01cf1dca24896750604ca3df1410858027c3 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 3fbf8de0e42ef0c73258bfba0ca67eae467b8415..cc76d9d6cd84145848429698555d84fac3e60420 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 ab13f936744ea4a1e4feadb7c128563c6196fb7c..747bc947814025222de656ea2830c2784786a759 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 ddecddcdf851767e10a21b0491880d22cef362af..8cf18bfd58f04d5fb8b72b137c659d0d71e135f7 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 8d4487530bfb39c3afe6ffb85090abeed8372c50..c99f085bd89c8bc7f2e7af317cba7e8de7ffb367 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 77daf649da81f599d8753ae315ee9a2dcab937ad..941ae1d1715de3b8d5c0addb80ac9de35078645d 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 542d6340fd4f8ea6fdb2915e5cf217524bd641b3..4ca4cd9794c7849ef26c3125653cd85c822c7b58 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 5a0df8e7b74cd1736f13fe775edc226eb16dfa58..5987941d5e538826c6191b9a7d9e5995eb91e251 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 6e2bc47a633c979115c9db9e983f94f23620682b..3d8da410094776e2d1affa9d8e807de06d23ec88 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 8be7d4c0ffc82e511745caf8466d3ddee7b23ee6..b43b3f1a80003eb1ad5775e8ad3b4841ece638e9 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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_massive_remnants.ipynb.txt b/docs/build/html/_sources/examples/notebook_massive_remnants.ipynb.txt
deleted file mode 100644
index 28227d1a1cb7536b70a32fd936026697be9cbe35..0000000000000000000000000000000000000000
--- a/docs/build/html/_sources/examples/notebook_massive_remnants.ipynb.txt
+++ /dev/null
@@ -1,761 +0,0 @@
-{
- "cells": [
-  {
-   "cell_type": "markdown",
-   "id": "bbbaafbb-fd7d-4b73-a970-93506ba35d71",
-   "metadata": {
-    "tags": []
-   },
-   "source": [
-    "# Example use case: Massive star luminosity\n",
-    "\n",
-    "In this notebook we compute the luminosity function of the zero-age main-sequence by running a population of single stars using binary_c. \n",
-    "\n",
-    "We start by loading in some standard Python modules and the binary_c module.\n"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 1,
-   "id": "bf6b8673-a2b5-4b50-ad1b-e90671f57470",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "import os\n",
-    "import math\n",
-    "import matplotlib.pyplot as plt\n",
-    "\n",
-    "from binarycpython.utils.functions import temp_dir\n",
-    "from binarycpython.utils.grid import Population\n",
-    "\n",
-    "TMP_DIR = temp_dir(\"notebooks\", \"notebook_luminosity\")\n",
-    "\n",
-    "# help(Population) # Uncomment this line to see the public functions of this object"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "f268eff3-4e08-4f6b-8b59-f22dba4d2074",
-   "metadata": {},
-   "source": [
-    "## Setting up the Population object\n",
-    "To set up and configure the population object we need to make a new instance of the `Population` object and configure it with the `.set()` function.\n",
-    "\n",
-    "In our case, we only need to set the maximum evolution time to something short, because we care only about zero-age main sequence stars which have, by definition, age zero."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 2,
-   "id": "79ab50b7-591f-4883-af09-116d1835a751",
-   "metadata": {},
-   "outputs": [
-    {
-     "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",
-      "verbosity is 1\n"
-     ]
-    }
-   ],
-   "source": [
-    "# Create population object\n",
-    "population = Population()\n",
-    "\n",
-    "# If you want verbosity, set this before other things\n",
-    "population.set(verbosity=1)\n",
-    "\n",
-    "# Setting values can be done via .set(<parameter_name>=<value>)\n",
-    "# Values that are known to be binary_c_parameters are loaded into bse_options.\n",
-    "# Those that are present in the default grid_options are set in grid_options\n",
-    "# All other values that you set are put in a custom_options dict\n",
-    "population.set(\n",
-    "    # binary_c physics options\n",
-    "    max_evolution_time=0.1,  # maximum stellar evolution time in Myr\n",
-    "    tmp_dir=TMP_DIR,\n",
-    ")\n",
-    "\n",
-    "# We can access the options through \n",
-    "print(\"verbosity is\", population.grid_options['verbosity'])"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "f9a65554-36ab-4a04-96ca-9f1422c307fd",
-   "metadata": {},
-   "source": [
-    "## Adding grid variables\n",
-    "The main purpose of the Population object is to handle the population synthesis side of running a set of stars. The main method to do this with binarycpython, as is the case with Perl binarygrid, is to use grid variables. These are loops over a predefined range of values, where a probability will be assigned to the systems based on the chosen probability distributions.\n",
-    "\n",
-    "Usually we use either 1 mass grid variable, or a trio of mass, mass ratio and period (other notebooks cover these examples). We can, however, also add grid sampling for e.g. eccentricity, metallicity or other parameters. \n",
-    "\n",
-    "To add a grid variable to the population object we use `population.add_grid_variable`"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 3,
-   "id": "68c84521-9ae8-4020-af7a-5334173db969",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# 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",
-   "metadata": {},
-   "source": [
-    "First let us set up some global variables that will be useful throughout.\n",
-    "\n",
-    "* The resolution is the number of stars we simulate in our model population.\n",
-    "* The massrange is a list of the min and max masses\n",
-    "* The total_probability is the theoretical integral of a probability density function, i.e. 1.0.\n",
-    "* The binwidth sets the resolution of the final distribution. If set to 0.5, the bins in log*L* are 0.5dex wide."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 5,
-   "id": "aba3fe4e-18f2-4bb9-8e5c-4c6007ab038b",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# Set resolution and mass range that we simulate\n",
-    "resolution = {\"M_1\": 40} # start with resolution = 10, and increase later if you want \"more accurate\" data\n",
-    "massrange = (0.07, 100.0) # we work with stars of mass 0.07 to 100 Msun\n",
-    "total_probability = 1.0 # theoretical integral of the mass probability density function over all masses    \n",
-    "# distribution binwidths : \n",
-    "# (log10) luminosity distribution\n",
-    "binwidth = { 'luminosity' : 0.5 }"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "1b3a007b-5c17-42a7-a981-7e268e6f545c",
-   "metadata": {},
-   "source": [
-    "The next cell contains an example of adding the mass grid variable, sampling the phase space in linear mass *M*_1."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 6,
-   "id": "47979841-2c26-4b26-8945-603d013dc93a",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# Mass\n",
-    "population = Population()\n",
-    "population.set(\n",
-    "    tmp_dir=TMP_DIR,\n",
-    ")\n",
-    "population.add_grid_variable(\n",
-    "    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",
-    "    dphasevol=\"dM_1\",\n",
-    "    parameter_name=\"M_1\",\n",
-    "    condition=\"\",  # Impose a condition on this grid variable. Mostly for a check for yourself\n",
-    ")"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "163f13ae-fec1-4ee8-b9d4-c1b75c19ff39",
-   "metadata": {},
-   "source": [
-    "## Setting logging and handling the output\n",
-    "By default, binary_c will not output anything (except for 'SINGLE STAR LIFETIME'). It is up to us to determine what will be printed. We can either do that by hardcoding the print statements into `binary_c` (see documentation binary_c) or we can use the custom logging functionality of binarycpython (see notebook `notebook_custom_logging.ipynb`), which is faster to set up and requires no recompilation of binary_c, but is somewhat more limited in its functionality. For our current purposes, it works perfectly well.\n",
-    "\n",
-    "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 `notebook_individual_systems.ipynb`). \n",
-    "\n",
-    "In the code below we will set up both the custom logging and a parse function to handle that output."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 7,
-   "id": "0c986215-93b1-4e30-ad79-f7c397e9ff7d",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# Create custom logging statement\n",
-    "#\n",
-    "# we check that the model number is zero, i.e. we're on the first timestep (stars are born on the ZAMS)\n",
-    "# we make sure that the stellar type is <= MAIN_SEQUENCE, i.e. the star is a main-sequence star\n",
-    "# we also check that the time is 0.0 (this is not strictly required, but good to show how it is done)\n",
-    "#\n",
-    "# The Printf statement does the outputting: note that the header string is ZERO_AGE_MAIN_SEQUENCE_STAR\n",
-    "\n",
-    "custom_logging_statement = \"\"\"\n",
-    "if(stardata->model.model_number == 0 &&\n",
-    "   stardata->star[0].stellar_type <= MAIN_SEQUENCE &&\n",
-    "   stardata->model.time == 0)\n",
-    "{\n",
-    "   /* Note that we use Printf - with a capital P! */\n",
-    "   Printf(\"ZERO_AGE_MAIN_SEQUENCE_STAR %30.12e %g %g %g %g\\\\n\",\n",
-    "          stardata->model.time, // 1\n",
-    "          stardata->common.zero_age.mass[0], // 2\n",
-    "          stardata->star[0].mass, // 3\n",
-    "          stardata->star[0].luminosity, // 4\n",
-    "          stardata->model.probability // 5\n",
-    "      );\n",
-    "};\n",
-    "\"\"\"\n",
-    "\n",
-    "population.set(\n",
-    "    C_logging_code=custom_logging_statement\n",
-    ")\n"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "ae1f1f0c-1f8b-42d8-b051-cbf8c6b51514",
-   "metadata": {},
-   "source": [
-    "The parse function must now catch lines that start with \"ZERO_AGE_MAIN_SEQUENCE_STAR\" and process the associated data."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 8,
-   "id": "fd197154-a8ce-4865-8929-008d3483101a",
-   "metadata": {},
-   "outputs": [],
-   "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",
-    "from binarycpython.utils.functions import bin_data,datalinedict\n",
-    "\n",
-    "def parse_function(self, output):\n",
-    "    \"\"\"\n",
-    "    Example parse function\n",
-    "    \"\"\"\n",
-    "    \n",
-    "    # list of the data items\n",
-    "    parameters = [\"header\", \"time\", \"zams_mass\", \"mass\", \"luminosity\", \"probability\"]\n",
-    "    \n",
-    "    # Loop over the output.\n",
-    "    for line in output.splitlines():\n",
-    "        # obtain the line of data in dictionary form \n",
-    "        linedata = datalinedict(line,parameters)\n",
-    "        \n",
-    "        # Check the header and act accordingly\n",
-    "        if linedata['header'] == \"ZERO_AGE_MAIN_SEQUENCE_STAR\":\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",
-    "    \n",
-    "# Add the parsing function\n",
-    "population.set(\n",
-    "    parse_function=parse_function,\n",
-    ")"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "91509ce5-ffe7-4937-aa87-6d7baac9ac04",
-   "metadata": {},
-   "source": [
-    "## Evolving the grid\n",
-    "Now that we configured all the main parts of the population object, we can actually run the population! Doing this is straightforward: `population.evolve()`\n",
-    "\n",
-    "This will start up the processing of all the systems. We can control how many cores are used by settings `num_cores`. By setting the `verbosity` 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.\n",
-    "\n",
-    "There are many grid_options that can lead to different behaviour of the evolution of the grid. Please do have a look at those: [grid options docs](https://ri0005.pages.surrey.ac.uk/binary_c-python/grid_options_descriptions.html), and try  "
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 9,
-   "id": "8ea376c1-1e92-45af-8cab-9d7fdca564eb",
-   "metadata": {
-    "tags": []
-   },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Doing dry run to calculate total starcount and probability\n",
-      "Generating grid code\n",
-      "Grid has handled 40 stars with a total probability of 1\n",
-      "**************************************\n",
-      "* Total starcount for this run is 40 *\n",
-      "*       Total probability is 1       *\n",
-      "**************************************\n",
-      "\n",
-      "Generating grid code\n",
-      "**********************************************************\n",
-      "*  Population-b6213f2eb7f94d3196cf966b7b76b9f9 finished! *\n",
-      "*               The total probability is 1.              *\n",
-      "*  It took a total of 6.99s to run 40 systems on 2 cores *\n",
-      "*                  = 13.98s of CPU time.                 *\n",
-      "*              Maximum memory use 472.211 MB             *\n",
-      "**********************************************************\n",
-      "\n",
-      "There were no errors found in this run.\n"
-     ]
-    }
-   ],
-   "source": [
-    "# set number of threads\n",
-    "population.set(\n",
-    "    # verbose output is not required    \n",
-    "    verbosity=0,\n",
-    "    # set number of threads (i.e. number of CPU cores we use)\n",
-    "    num_cores=2,\n",
-    "    )\n",
-    "\n",
-    "# Evolve the population - this is the slow, number-crunching step\n",
-    "analytics = population.evolve()  \n",
-    "\n",
-    "# Show the results (debugging)\n",
-    "# print (population.grid_results)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "91ab45c7-7d31-4543-aee4-127ab58e891f",
-   "metadata": {},
-   "source": [
-    "After the run is complete, some technical report on the run is returned. I stored that in `analytics`. As we can see below, this dictionary is like a status report of the evolution. Useful for e.g. debugging."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 10,
-   "id": "e1f0464b-0424-4022-b34b-5b744bc2c59d",
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "{'population_name': 'b6213f2eb7f94d3196cf966b7b76b9f9', 'evolution_type': 'grid', 'failed_count': 0, 'failed_prob': 0, 'failed_systems_error_codes': [], 'errors_exceeded': False, 'errors_found': False, 'total_probability': 0.9999999999999998, 'total_count': 40, 'start_timestamp': 1635760806.5066257, 'end_timestamp': 1635760813.4966016, 'total_mass_run': 2001.3999999999996, 'total_probability_weighted_mass_run': 50.03499999999999, 'zero_prob_stars_skipped': 0}\n"
-     ]
-    }
-   ],
-   "source": [
-    "print(analytics)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 11,
-   "id": "05c6d132-abee-423e-b1a8-2039c8996fbc",
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "[None]"
-      ]
-     },
-     "execution_count": 11,
-     "metadata": {},
-     "output_type": "execute_result"
-    },
-    {
-     "data": {
-      "image/png": "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9VW+9a0bjyhTDk35mzlzOjfccBNQNtVv+PBRxMbGHvH8CQkJ/OQnP+f667/N3LlzyqeJvfzyP5k69V/8+tf3MHTo8JP6+o6nR49/j+g5VM59cZRPw4YNAcjL23fMkur00w9fYL5583QOHCgA4PPPF1NUVMTo0YcXRSNGjOK3v43n448XMmjQEHr3Lpualp29nLPOGshZZw3hppuOLP+OJTY2lvPOG8eLL77AD37wYxISEnj99VcZNGgoDRo0POpjFi36mISExPKCCiA5OZmzzhrMZ58tOupjevc+kz/96f+45porGT58FAMHDqZ//7MYOHDwl2bMzMz60vsMHDikvKACGDJkOPfd9zs+/fSTCpVUFfHJJx/Rs+cZh62LFhMTw6hR5/Dkk48dtpj7f/5smzVrzrZt2yolhyRJkiTVZZZUlWxM37YcKCypESOpxvRre1KPXbz4Mx577A+cffYIxo//r6PeZ9mypaxatZJVq1YyduyII86//fbMI0oYKJvy9/zzk1mxYjmtW7dl7tw53H//H46bp0mTplxwwVe44IKvAGVrSf3613dw332/Y8iQYZW6s15sbOxhhcghycnJJ/Q8iYmJh/05FAqVT+Pbt28vUPZ1fVFMTAxpaY3Iy8sD4M477+Zvf/sLM2dOY/bsGcTExNC37wB+/OOf0aJFywrlOP/8C3nmmb8yZ847ZGV15bPPFvH//t8Dx7z/3r17SUtLO+L4f2b9otNO68n//u9DTJkykSlTJvL3vz9F48ZNuOaab3LZZVcdN19y8tFLvi/6z1F8h/Id+j5Vhn379tKuXbsjjjdu3IRIJEJ+fn75saSkw6+PmJgYIpEj106TJEmSJJ0YS6pK1qlVA753+Rlffscaau/ePfzyl7fRokXL8ulqRzN16iukpKRwzz2/P+Lcr399By+//M+jllSnndaT5s3TmTVrBh07dqJBg4b07NnriPt9/vlifvrTH/KLX/z6iB0FzzyzL+PH/xcPP3w/+/btPeaooC8KhUKEw4cXhwUFBV/6uKpQv359AHbu3HHYbnbhcJjc3F3lJUxqaio33ngzN954M+vXr+Xdd9/mqaee5P77/99xi6Yvatu2HT179mLmzOls2rSRxo2b0L//wGPePy0tjd27c4lEIoeVf3v37jnu6wwYMJABAwZy4MABFi78gOefn8yDD97HaaedQdeu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IUsqVUhJSQlTpkzh97//PfHx8UHHUZSJRCI8+eSTXHnllfzoRz8CYNCgQTRq1Igf/OAHLF26lG7dugWcUjVZcXExf/nLX7j66qv5zne+A8DAgQNZvHgxf//73y2pdEJycnK46667aNGiRdBRFGWWLVtGTEwM5557LsnJyUHHURS677776NWrFw899BChUIhBgwYRDof561//SkFBgdeVjis1NZVevXodduzpp59mzZo1PPvsszRu3PiUX8PKXVVuw4YNrF+/nnPOOeew4+eeey6rV69mw4YNASVTNFm4cCH33Xcf1157LbfcckvQcRRl9u/fz0UXXcQFF1xw2PFOnToBsH79+iBiKYrExsbyzDPPcMMNNxx2PD4+nsLCwoBSKVrdfvvtDB48mIEDBwYdRVFm6dKltGvXziJBJ2XXrl18+OGHXH311YRCofLjEyZMYPr06V5XOmHbt2/noYceKp8+WhksqVTlVq9eDUDHjh0PO96+fXugbNiy9GUyMjKYPn063/3ud4mNjQ06jqJMamoqt99+O3369Dns+PTp0wHo3LlzELEURWJiYujSpQvp6elEIhF27NjBE088wfvvv8+VV14ZdDxFkeeff57PP/+cO+64I+goikLLly8nISGB6667jt69e9OvXz9+8YtfuL6iKiQ7O5tIJELDhg35/ve/T69evejTpw+//OUvOXDgQNDxFIUeeeQRYmJi+P73v19pz+l0P1W5ffv2AWUfEr8oJSUFwL9UVSFNmzYNOoJqmUWLFvHEE08wevRoMjIygo6jKPLWW29x8803AzB8+HAuuuiigBMpWmzatIl77rmHe+65p1KmRKjuWbZsGXl5eVx++eX893//N4sXL+aRRx5hzZo1/O1vfztsdIz0n3bt2gXAT3/6U8aMGcOjjz7K8uXLefDBByksLOR3v/tdwAkVTXbu3MlLL73EtddeS4MGDSrteS2pVOUikchxz7vQo6TqtnDhQv77v/+bNm3a8Nvf/jboOIoy3bt35+9//zvLly/noYce4oYbbuDpp5/2w6GOKxKJ8LOf/Yxhw4Zx7rnnBh1HUeqBBx6gYcOGdOnSBYB+/frRpEkTbr31Vt5//30GDx4ccELVZMXFxQCceeaZ/PKXvwTK1leMRCLce++93HTTTbRt2zbIiIoizz//POFwmGuuuaZSn9d2QFWufv36AEds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\n",
-      "text/plain": [
-       "<Figure size 1440x720 with 1 Axes>"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    }
-   ],
-   "source": [
-    "# make a plot of the luminosity distribution using Seaborn and Pandas\n",
-    "import seaborn as sns\n",
-    "import pandas as pd\n",
-    "from binarycpython.utils.functions import pad_output_distribution\n",
-    "\n",
-    "# set up seaborn for use in the notebook\n",
-    "sns.set(rc={'figure.figsize':(20,10)})\n",
-    "sns.set_context(\"notebook\",\n",
-    "                font_scale=1.5,\n",
-    "                rc={\"lines.linewidth\":2.5})\n",
-    "                    \n",
-    "\n",
-    "# this saves a lot of typing! \n",
-    "ldist = population.grid_results['luminosity distribution']\n",
-    "\n",
-    "# pad the distribution with zeros where data is missing\n",
-    "pad_output_distribution(ldist,\n",
-    "                        binwidth['luminosity'])\n",
-    "\n",
-    "# make pandas dataframe from our sorted dictionary of data\n",
-    "plot_data = pd.DataFrame.from_dict({'ZAMS luminosity distribution' : ldist})\n",
-    "\n",
-    "# make the plot\n",
-    "p = sns.lineplot(data=plot_data)\n",
-    "p.set_xlabel(\"$\\log_{10}$ ($L_\\mathrm{ZAMS}$ / L$_{☉}$)\")\n",
-    "p.set_ylabel(\"Number of stars\")\n",
-    "p.set(yscale=\"log\")"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "7d7b275e-be92-4d59-b44d-ef6f24023cc3",
-   "metadata": {},
-   "source": [
-    "Does this look like a reasonable stellar luminosity function to you? The implication is that the most likely stellar luminosity is 10<sup>5.8</sup> L<sub>☉</sub>! Clearly, this is not very realistic... let's see what went wrong."
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "e32c3bbf-390f-45da-ad9c-cc3e7c9449dc",
-   "metadata": {},
-   "source": [
-    "## ZAMS Luminosity distribution with the initial mass function\n",
-    "\n",
-    "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).\n"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 12,
-   "id": "1f37d2c0-1108-4ab9-a309-20b1e6b6e3fd",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# 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",
-    ")"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 13,
-   "id": "6f4463e8-1935-45f2-8c5f-e7b215f8dc47",
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Doing dry run to calculate total starcount and probability\n",
-      "Generating grid code\n",
-      "Grid has handled 40 stars with a total probability of 0.218222\n",
-      "**************************************\n",
-      "* Total starcount for this run is 40 *\n",
-      "*    Total probability is 0.218222   *\n",
-      "**************************************\n",
-      "\n",
-      "Generating grid code\n",
-      "**********************************************************\n",
-      "*  Population-4b8c7f4a86e445099d73f27dffaad94b finished! *\n",
-      "*           The total probability is 0.218222.           *\n",
-      "*  It took a total of 7.95s to run 40 systems on 2 cores *\n",
-      "*                  = 15.89s of CPU time.                 *\n",
-      "*              Maximum memory use 587.984 MB             *\n",
-      "**********************************************************\n",
-      "\n",
-      "There were no errors found in this run.\n"
-     ]
-    }
-   ],
-   "source": [
-    "# Clean and re-evolve the population \n",
-    "population.clean()\n",
-    "analytics = population.evolve()  \n",
-    "\n",
-    "# Show the results (debugging)\n",
-    "# print (population.grid_results)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 14,
-   "id": "cfe45a9e-1121-43b6-b6b6-4de6f8946a18",
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "[None]"
-      ]
-     },
-     "execution_count": 14,
-     "metadata": {},
-     "output_type": "execute_result"
-    },
-    {
-     "data": {
-      "image/png": "iVBORw0KGgoAAAANSUhEUgAABKsAAAJgCAYAAABFgeDFAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAB6SklEQVR4nOzdd1iV9f/H8dc5bNlLQETcW3OXe++G0XKUDSsrW7+2bdt+s2zvYcPMtLSlZq7cVjhyTxREURRkKeNwzu8PkiIcRxn3feD5uC6uC+/7Pue8gPtCePG537fF4XA4BAAAAAAAAJiA1egAAAAAAAAAwEmUVQAAAAAAADANyioAAAAAAACYBmUVAAAAAAAATIOyCgAAAAAAAKZBWQUAAAAAAADToKwCAAAAAACAabgbHcAVpKfnyG53GB2jygkN9dPRo9lGx4AL4xxCWXEOoaw4h1BWnEMoK84hlBXnEMrifM8fq9Wi4GDf0+6nrHKC3e6grKogfF5RVpxDKCvOIZQV5xDKinMIZcU5hLLiHEJZVMT5w2WAAAAAAAAAMA3KKgAAAAAAAJgGZRUAAAAAAABMg7IKAAAAAAAApkFZBQAAAAAAANPgboAAAAAAAKcUFOQrK+uYbLZ82e2FRsdBOTh82Cq73W50DLio/54/Vqub3N095e8fJA8Pz/N+XsoqAAAAAMBZnTiRo6ysdPn5BcrLK0RWq5ssFovRsVBG7u5W2WyUVTg//z5/HA6H7PZC5eWdUHr6Yfn7B8vHx/f8nrc8QwIAAAAAqqbs7AwFBYXJ09Pb6CgATMhiscjNzV01avjL3d1DmZlp511WMbMKAAAAAHBWhYUF8vDwMjoGABfg4eElm63gvB9PWQUAAAAAcAqX/QFwRlm/V1BWAQAAAAAAwDQoqwAAAAAAgEtyOBxGRzgto7MZ/fplQVkFAAAAAKi2unXrcMa3jz9+v9Rj3nrrNXXr1kHvvffWKZ/z+eefVrduHXTFFRef9nWfffYJdevWQc8//3SJ7Rs2rNdDD/2fhg7tq969OysubqhefPEZJSfvP+PHMWfOj+rWrYMOHz509g+6jO6881bdc88dFf46//Xfj3Hv3gTdcceYCnmt559/WtdcM6z431deeYleeulZpx+/YsUyPffcUxX+Oqdzqs9Nt24dNGXKR2V+7srA3QABAAAAANXWe+99esrt7777hv76a71at76gxHabzab58+eqQYOGmjPnR918821ydy/9q7XFYtGhQynasmWTmjdvWWJfXl6eli1bWuoxv/++Wg8+eI969eqrRx55Qr6+fkpO3q+vvvpct956vT744DNFR9cuw0dbPu6//xFD5pd17txN7733qYKDQyRJS5Ys1MaNf1XKa7/wwsvy9fVz+vhvvpmmwkLbWY+74Yabdfx4TlmindKpPjfvvfepIiIiyv21KgJlFQAAAACg2mrZslWpbd99N0MbNqzT6NE3qWPHi0rsW716hdLT0/TssxM1btzNWrp0ifr06VfqOaKiaik/P19LliwsVVatXr1Sbm5uioiILLH9yy+nqFWrCzRhwgvF29q166DOnbvq6quH6euvp+r++x8uy4dbLurVq2/I6wYHBys4ONiQ127cuGmFPG9llo+nOtfNissAAQAAAAD429atm/Xmm6+qffuOuvnm20rt//nnH9WkSTNdcEEbNW/eUt9//90pn8disahXr75avHhRqX2LFs1Xz569S63ISktLk91uL3V8WFi47rvvQXXseKHTH8epLtVbu/ZPdevWQRs2rJckffzx+xo58iotWrRAI0deoT59umjs2BuVmLhXK1Ys03XXXa2+fbvq1ltv0M6d20/73N26ddDs2d/qhRcmaNCg3urfv4eeeOIRpaenlXj9efN+1k03jVK/ft10+eVD9NZbrykvL7d4f3p6uiZMeFyXXjpQffp01Q03jNTcuT8V7//3ZYAff/y+PvroveLX//jj9/X44w/ryisvKTWr6amnHtXNN48+7ecqMzNTL7wwQYMH99GgQb31zjtvlPo6/PfyvF9/nafrrx+hPn266uKL++uZZ57QkSOpxZ+f+PjftX79WnXr1kFr1/5Z/Ln//vvvFBc3VAMH9tT69WtLXQYoSQUF+Zo06UUNHNhTQ4f21aRJL5VYfXWqSwXP9rk5+f6/LwM8fPiQnn32SQ0bNlh9+3bVuHG3aN26+OL9Bw8eULduHfTbb4v06KMPqn//7ho8uI8mTnxeubm5qkiUVQAAAAAASMrKytKTT45XYGCQnn76eVmtJX9lTk9P16pVyzVw4BBJ0pAhF2vt2j+0f3/SKZ+vT59+OngwWdu2bS3elpubq5Url6tv3wGljr/ooi7666/1uuee2zVnzo86cCC5eN/FFw9Tjx69yuGjLOng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cRo/frwCAwPVq1cvLVy4UHPnztXkyZONjgagGjh69Kief/55RUdHa9SoUdqyZUuJ/XXq1GHgMc4oJCREI0eO1AcffCBvb2+1atVK8fHxev/993XVVVepfv36RkeEiZ3q/AgKCpKnp6datWplQCK4opCQEI0aNUpffPGF/Pz81KFDB8XHx+u9997TqFGjiu+0DZyOxWLRAw88oPvuu08PPPCA4uLitGnTJr377ru69tpr+VkITtuxY4d8fHwUHR1d7s9NWYVKFRcXp/z8fH3yySeaMWOGYmJiNHHiRA0ZMsToaACqgWXLlunEiRNKTk7WqFGjSu3/3//+p8suu8yAZHAl48ePV1RUlGbOnKk333xTkZGRuvvuuzVmzBijowGoJh5++GFFRETo22+/1QcffKCIiAjdfffduvnmm42OBhcxZMgQeXp66u2339bYsWMVGhqqcePGaezYsUZHgws5cuRIud4B8N8sDiY5AgAAAAAAwCSYWQUAAAAAAADToKwCAAAAAACAaVBWAQAAAAAAwDQoqwAAAAAAAGAalFUAAAAAAAAwDcoqAAAAAAAAmAZlFQAAAAAAAEyDsgoAAAAAAACmQVkFAABcypo1a9SkSRN99913Rkcps0OHDunCCy9UUlKS0VEqzPTp09W3b9/T7n/kkUfUpEkT7d+/v1xf97HHHtOLL75Yrs8JAAAqB2UVAACAQZ5//nkNHTpUMTExxduOHTumJk2a6OabbzYwWflZsWKFunTpUumvO27cOE2fPl3btm2r9NcGAABlQ1kFAABggD/++EMLFy7ULbfcUmL7li1bJEktWrQwIla5stvtWrNmjTp37lzpr12rVi0NHTqU1VUAALggyioAAAADTJkyRe3bt1dUVFSJ7Zs3b5YkNW/e3IhY5WrLli3KyMgwpKySpKuuukqrV69mdRUAAC6GsgoAAFQJaWlpmjBhgnr27KmWLVuqZ8+emjBhgtLT00sdu3//ft11111q166d2rVrp9tvv11JSUnq06ePrrvuugrPevDgQS1evFj9+vUrte/kyqqqUFatXLlSzZo1U3BwsCGv36ZNG0VGRmrq1KmGvD4AADg/7kYHAAAAKKusrCyNGDFC+/bt0xVXXKHmzZtr69atmjZtmlavXq0ZM2bIz89PkpSenq5Ro0bp6NGjGj58uOrXr6/4+Hhdf/31On78eKXkXbZsmQoLC9WrV69S+7Zs2aLAwMASc6xc1cqVKw1bVXVSx44dtXTpUkMzAACAc0NZBQAAXN5HH32kvXv36sknn9SoUaOKtzdr1kzPPPOMPvroI917772SpA8//FApKSl6+eWXdemll0qSRo4cqf/973/6+OOPKyVvfHy8atSoUaqQys7O1r59+3ThhRdWSo6KlJeXp7Vr1xo+KL5x48b68ccflZSUVCUKQAAAqgMuAwQAAC7v119/VUhIiK655poS26+55hqFhIRowYIFxdsWL16s8PBwXXzxxSWOHTNmTKVklaSkpCRFR0fLYrGU2L5161Y5HI4qcQlgfHy8HA6HOnToUK7Pm5qaqg8//FDjx4/XpEmTtGnTpjMef7Kg2r9/f7nmAAAAFYeyCgAAuLz9+/erXr16cncvuWjc3d1ddevWVVJSUoljY2NjZbWW/DEoNDRUAQEBJbbNmTNHI0aMUNu2bdWnT59Sr2uz2fTcc8+pU6dO6tChgx599FHl5eWdNe+xY8eKL0v8t5PD1c90J8A///xTbdu2LfXWsmVLNWvWrMSxTz/9tJo0aaJ169aVep7rrrtOTZo00W+//VbqY27SpInGjh1bvC0hIUF33HGHLrroIrVt21b9+/c/6132VqxYobZt28rb2/uMx52LX375Re+88466dOmip556SiNGjNCKFSv0yiuvyOFwnPIx/778EwAAuAbKKgAAgNMIDAzUtddeW3wJ4X+99957WrNmjX788UfNnz9fu3fv1ssvv3zW57VarbLb7aW2O3MnwA4dOmjdunUl3ubNm6egoCDdc889xcfl5ubqp59+UlBQkGbMmHHK56pfv76+/fbbEttmzpyp+vXrl9g2duxY1atXTwsXLlR8fLw+/PBDNWnS5Iwf46pVq9SlS5czHnMuduzYoeTkZD311FNq0aKFvL29FR0drbFjx6pv376aNm3aKR938vPs5uZWblkAAEDFoqwCAAAuLyYmRgkJCbLZbCW222w27d27t8SsoujoaO3bt69UWXT06FFlZmaW2Na1a1cNHTpU0dHRp3zdmTNn6rbbblNERIRCQkJ055136rvvvlNhYeEZ84aGhurYsWOltm/ZskU1atRQvXr1zvj4f8vPz9ddd92l9u3b67bbbivePm/ePFmtVo0fP15z585VTk5OqccOHjxYq1evVlpamiQpOTlZW7duLXGXwrS0NO3bt0/Dhw+Xr6+vrFar6tatq7i4uNNmSk9P19atW8u1rJo/f75uvPHGU+5r06aN0tPTS339JRV/nkNDQ8stCwAAqFiUVQAAwOX169dPaWlppVYQffPNN0pLSytRvvTu3Vupqan66aefShx7rsPVMzMzdfDgQTVt2rR4W4sWLZSTk6Pk5OQzPrZWrVo6fPhwiVLrxIkTSkhIULNmzUrNsjqTp556Snl5eXrppZdKbJ8xY4aGDBmiIUOGyMPDQ3PmzCn1WF9fX/Xr10+zZ8+WVFS+XXzxxfL09Cw+JiQkRA0aNNCjjz6qn3/+WYmJiWfNtGrVKvn5+ally5ZOfxxn4+PjU/x5WbdunS688EK98847xftbtmypvXv3lnrcoUOHJBV9zgEAgGvgboAAAMDl3XzzzZo3b56eeeYZbdmyRc2aNdPWrf/f3v2FNLnHcRz/TFKozf5oI8b6a4ZUVKjEEukiL4rMEGQjySAwhEKCQBmoXXhRUBREJaQTg0qKcK0ZRRjl7tILM4nwTCyKNLoIaWIwh7mdK0fPmZ6zwzmdFuf9uhrf58++e3b34ff7Pr/J6/Vqw4YNhjfS1dTU6OHDh2psbNSrV6+Uk5OjFy9e6OXLl1qxYkXS3zm3Uun7OVeZmZmGYwvZtWuXfD6fRkdH42FXMBjU7OysIpGIPB5PwjVLlizRkSNHDLWbN28qEAjI6/Vq8eLF8fq7d+80MDAgt9utjIwMlZaWyuv1yuVyJdzX6XTq9OnTOnr0qO7fv6+2tjY9efLEcM6tW7fU0dGh1tZWvX37VjabTXV1dSotLZ339/X19cnhcCTMBfszly5dktlsTqjv379fRUVFhlowGFQoFNLg4GC8Zjab533uQ0NDWrduHWEVAAC/EMIqAADwy8vMzNSdO3d05coV9fb2yufzKTs7W5WVlTp58qRhmHlWVpZu376t8+fP6969ezKZTHI4HLpx44acTmfSA8HngpWpqSlZrdb45++PLWT37t1KS0vTwMBAPKwaHh6WJL1+/XreN9zt3LnTEFb19/fr4sWLam9v1+rVqw3ndnV1KScnRzt27JAkVVRUyOVyaXR0VJs2bTKcW1BQoFgspqtXr2rlypXKy8tLCKuys7Pldrvldrv19etX3b17V/X19crLy9PGjRsTen3+/Lmqq6v/9Bn80R9Xus3JyclRUVGRpqen4zWXyyWr1ar8/Px4bWRkRAcOHDBcG41GNTQ0tGCoBgAAUhNhFQAA+KU4HA6NjIwk1LOystTc3Kzm5ua/vMeaNWvU0tJiqH358kWhUEg2my2pPpYuXSqbzaZgMBgfSD48PCyz2bzgjKvvey0pKdGjR4/iAVRVVZWqqqqS+u7x8XGdOnVKbrdbDofDcGxmZkbd3d2amppScXGx4ZjX61VDQ0PC/ZxOpy5cuJDUs7NYLDp27Jg8Ho/evHkzb1j17NmzpH6HJJ07dy5hC+N87Ha7BgcHVVBQoEWLFhm2dk5NTWl8fFzLly83XNPX16eJiQk5nc6k+wEAAD8fYRUAAPjfmZ6eTlhBNbf17vuAZ3Z2Vt++fdPMzIxisZgikYhMJlN8ppPT6VRbW5sKCwuVnp6ulpYWVVRUJPXmuerqah0+fFgfPnzQ2rVrk+49HA6rtrZWJSUlCdsCJSkQCGhyclJ+v1/Lli2L1x88eKD29nbV1dUZZlJJ0qFDh7R582bDSqU5k5OT6ujo0MGDB7V+/XrFYjH5fD6Fw2Ft3bo16b7/qfLycp09e1bhcNjwH42Njeny5cvzhnB+v1/FxcWGuWIAACD1EVYBAID/nZqaGtntdm3ZskXRaFT9/f0KBALKz883rNjp7u42hCDbt2+X3W5Xb2+vJOn48eMKhUIqKytTNBrVvn37VF9fn1QPhYWF2rNnjzwej86cOZN07z09PQoGg3r//r0eP36ccHzbtm0qKytTbm6uoV5ZWanW1lY9ffo0YVucxWJZ8M196enp+vz5s06cOKGJiQllZGQoNzdX165dS9h++COZTCY1Njaqs7NTXV1dSktLUzQaldVqVVNTU8K8sbGxMfX09Kizs/M/6xEAAPw7TLFYLPazmwAAAPgvXb9+XX6/Xx8/flQkEtGqVau0d+9e1dbWGuZb/WifPn1SeXm5vF7v31pdhb/W0NAgi8Wipqamn90KAAD4mwirAAAAAAAAkDKSf58wAAAAAAAA8IMRVgEAAAAAACBlEFYBAAAAAAAgZRBWAQAAAAAAIGUQVgEAAAAAACBlEFYBAAAAAAAgZRBWAQAAAAAAIGUQVgEAAAAAACBl/A4xkHKhZ+CmQQAAAABJRU5ErkJggg==\n",
-      "text/plain": [
-       "<Figure size 1440x720 with 1 Axes>"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    }
-   ],
-   "source": [
-    "# plot luminosity distribution\n",
-    "ldist = population.grid_results['luminosity distribution']\n",
-    "\n",
-    "# pad the distribution with zeros where data is missing\n",
-    "pad_output_distribution(ldist,\n",
-    "                        binwidth['luminosity'])\n",
-    "\n",
-    "# make pandas dataframe from our sorted dictionary of data\n",
-    "plot_data = pd.DataFrame.from_dict({'ZAMS luminosity distribution' : ldist})\n",
-    "\n",
-    "# make the plot\n",
-    "p = sns.lineplot(data=plot_data)\n",
-    "p.set_xlabel(\"$\\log_{10}$ ($L_\\mathrm{ZAMS}$ / L$_{☉}$)\")\n",
-    "p.set_ylabel(\"Number of stars\")\n",
-    "p.set(yscale=\"log\")"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "0546f2f3-4732-4841-8ef3-565fbf6b9961",
-   "metadata": {},
-   "source": [
-    "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! \n",
-    "\n",
-    "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. \n",
-    "\n",
-    "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."
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "673031c9-7d80-45d4-b209-301c127d3edf",
-   "metadata": {
-    "tags": []
-   },
-   "source": [
-    "## A better-sampled grid\n",
-    "\n",
-    "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. \n",
-    "\n",
-    "To do this we first rename the mass grid variable so that it is clear we are working in (natural) logarithmic phase space."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 15,
-   "id": "5956f746-e3b9-4912-b75f-8eb0af66d3f6",
-   "metadata": {},
-   "outputs": [],
-   "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\")"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "532f691c-c1f6-46cc-84f2-970ec1216e40",
-   "metadata": {},
-   "source": [
-    "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."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 16,
-   "id": "108d470a-bb21-40b0-8387-2caa7ab0f923",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# update the sampling, note that the IMF is dprob/dM1, and the phase \n",
-    "# space is now sampled in lnM1, so we multiply by M_1 to \n",
-    "# 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",
-    "    dphasevol=\"dlnM_1\",\n",
-    "    parameter_name=\"M_1\",\n",
-    "    precode=\"M_1=math.exp(lnM_1)\",\n",
-    ")\n",
-    "# print(population.grid_options[\"_grid_variables\"]) # debugging"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 17,
-   "id": "fb8db646-f3d0-4ccd-81ba-7fde23f29c79",
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Doing dry run to calculate total starcount and probability\n",
-      "Generating grid code\n",
-      "Grid has handled 40 stars with a total probability of 0.995631\n",
-      "**************************************\n",
-      "* Total starcount for this run is 40 *\n",
-      "*    Total probability is 0.995631   *\n",
-      "**************************************\n",
-      "\n",
-      "Generating grid code\n",
-      "**********************************************************\n",
-      "*  Population-7a2e4301f5224b2cb8939d2297df0aad finished! *\n",
-      "*           The total probability is 0.995631.           *\n",
-      "*  It took a total of 4.77s to run 40 systems on 2 cores *\n",
-      "*                   = 9.55s of CPU time.                 *\n",
-      "*              Maximum memory use 621.930 MB             *\n",
-      "**********************************************************\n",
-      "\n",
-      "There were no errors found in this run.\n"
-     ]
-    }
-   ],
-   "source": [
-    "# Clean and re-evolve the population \n",
-    "population.clean()\n",
-    "analytics = population.evolve()  \n",
-    "\n",
-    "# Show the results (debugging)\n",
-    "# print (population.grid_results)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "182b1094-5057-4ccf-bac6-9b0e560ad4f6",
-   "metadata": {},
-   "source": [
-    "You should see that the total probability is very close to 1.0, as you would expect for a well-sampled grid. The total will never be exactly 1.0, but that is because we are running a simulation, not a perfect copy of reality."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 18,
-   "id": "68ee1e56-21e5-48f4-b74c-50e48685ae94",
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "image/png": "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\n",
-      "text/plain": [
-       "<Figure size 1440x720 with 1 Axes>"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    }
-   ],
-   "source": [
-    "# plot luminosity distribution\n",
-    "ldist = population.grid_results['luminosity distribution']\n",
-    "\n",
-    "# pad the distribution with zeros where data is missing\n",
-    "pad_output_distribution(ldist,\n",
-    "                        binwidth['luminosity'])\n",
-    "\n",
-    "# make pandas dataframe from our sorted dictionary of data\n",
-    "plot_data = pd.DataFrame.from_dict({'ZAMS luminosity distribution' : ldist})\n",
-    "\n",
-    "# make the plot\n",
-    "p = sns.lineplot(data=plot_data)\n",
-    "p.set_xlabel(\"$\\log_{10}$ ($L_\\mathrm{ZAMS}$ / L$_{☉}$)\")\n",
-    "p.set_ylabel(\"Number of stars\")\n",
-    "p.set(yscale=\"log\")\n",
-    "plt.show()"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "31fe91bb-177d-4e4e-90cf-298a3f8a8b61",
-   "metadata": {},
-   "source": [
-    "Most stars are low mass red dwarfs, with small luminosities. Without the IMF weighting, our model population would have got this completely wrong! \n",
-    "\n",
-    "As you increase the resolution, you will see this curve becomes even smoother. The wiggles in the curve are (usually) sampling artefacts because the curve should monotonically brighten above about log(*L*/L<sub>☉</sub>)=-2. \n",
-    " \n",
-    "Remember you can play with the binwidth too. If you want a very accurate distribution you need a narrow binwidth, but then you'll also need high resolution (lots of stars) so lots of CPU time, hence cost, CO<sub>2</sub>, etc."
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "ba032bd8-b4a2-4558-9fd9-8e1e03d7d162",
-   "metadata": {},
-   "source": [
-    "Things to try:\n",
-    "\n",
-    " * Change the resolution to make the distributions smoother: what about error bars, how would you do that?\n",
-    " * Different initial distributions: the Kroupa distribution isn't the only one out there\n",
-    " * Change the metallicity and mass ranges\n",
-    " * What about a non-constant star formation rate? This is more of a challenge!\n",
-    " * What about evolved stars? Here we consider only the *zero-age* main sequnece. What about other main-sequence stars? What about stars in later phases of stellar evolution?\n",
-    " * Binary stars! (see notebook_luminosity_function_binaries.ipynb)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "5abd0935-3957-4859-80c1-6f5d7ce4b614",
-   "metadata": {},
-   "outputs": [],
-   "source": []
-  }
- ],
- "metadata": {
-  "kernelspec": {
-   "display_name": "Python 3",
-   "language": "python",
-   "name": "python3"
-  },
-  "language_info": {
-   "codemirror_mode": {
-    "name": "ipython",
-    "version": 3
-   },
-   "file_extension": ".py",
-   "mimetype": "text/x-python",
-   "name": "python",
-   "nbconvert_exporter": "python",
-   "pygments_lexer": "ipython3",
-   "version": "3.6.4"
-  }
- },
- "nbformat": 4,
- "nbformat_minor": 5
-}
diff --git a/docs/build/html/binary_c_parameters.html b/docs/build/html/binary_c_parameters.html
index 93a63cd8ae7635602d064078ca8055b3f2fb15d7..e67ed4e6b0acd500a1612fa5204b53754e29a0cf 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 15c05e49da60b1f0ea3e706f32f6e6cb43e13b5f..d32f75ac4d785eff44bed6054ad5265d635d019a 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 d1dbed5b9ccf50600a52b43aa5387b31b5591b50..cfea40d7d975ba6a75623154d00b21ddc4880474 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 933d10648f6029014c3d2a182b1042f0fe8e9a8c..afb38efb3fa6f99cb3fa2151fdcd2c73f4700979 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 81ecc725eba32814ed6fa61009dc8476b3442b74..3ffc73970c89ebe28f7a9df2c505a7a0c5951123 100644
--- a/docs/build/html/example_notebooks.html
+++ b/docs/build/html/example_notebooks.html
@@ -210,7 +210,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 0d48698de22eb9d17457d8987adc478cd3f04cb0..2720eb88d01c2d2bb4aaa68043dd22ccfcc82b6d 100644
--- a/docs/build/html/examples/notebook_BHBH.html
+++ b/docs/build/html/examples/notebook_BHBH.html
@@ -937,7 +937,7 @@ Found bound BHBH system
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 1440638073b6e11c5200536156c24fd4aa4e3955..a8f72aef5be74973986bc6e1f1d58773eeeeb219 100644
--- a/docs/build/html/examples/notebook_HRD.html
+++ b/docs/build/html/examples/notebook_HRD.html
@@ -945,7 +945,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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 ae8ea57ea4e2a9ac772a4393fe156e04c81e6a7a..fb06a9396497f972ea9334db821f43e0c8b0a0c0 100644
--- a/docs/build/html/examples/notebook_api_functionality.html
+++ b/docs/build/html/examples/notebook_api_functionality.html
@@ -721,7 +721,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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 8a87199533e942fa393e0a5dba783c4c06651e10..2f498e8dc92de444b20a5d03c49d03960a0582c6 100644
--- a/docs/build/html/examples/notebook_common_envelope_evolution.html
+++ b/docs/build/html/examples/notebook_common_envelope_evolution.html
@@ -739,7 +739,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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 009670e8264099a9881e4855edb7edcfe623c374..545746509158503319041aa90de67ad8a9c4b9ae 100644
--- a/docs/build/html/examples/notebook_custom_logging.html
+++ b/docs/build/html/examples/notebook_custom_logging.html
@@ -793,7 +793,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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 5a42e070302224e3b71c56dbaf76f5da4d336ce4..3c55c57134765a41942852ba319a4d74d6f15305 100644
--- a/docs/build/html/examples/notebook_ensembles.html
+++ b/docs/build/html/examples/notebook_ensembles.html
@@ -151,7 +151,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 932432ecd0d70d72756aad7b6280944c7d56a0fb..fe5d781d2d04ac856548e304b4f7ee1884dc194b 100644
--- a/docs/build/html/examples/notebook_extra_features.html
+++ b/docs/build/html/examples/notebook_extra_features.html
@@ -526,7 +526,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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 b4d0b7fe05132db9c2ee7425dd586692f9044700..58de6967befb93badf2afd532ca631a131773f52 100644
--- a/docs/build/html/examples/notebook_individual_systems.html
+++ b/docs/build/html/examples/notebook_individual_systems.html
@@ -832,7 +832,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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 b399028e0cfe9508b2c1aa05835a996a87440217..2de6137343981b55f9fa52b60f7dbc672409c322 100644
--- a/docs/build/html/examples/notebook_luminosity_function_binaries.html
+++ b/docs/build/html/examples/notebook_luminosity_function_binaries.html
@@ -935,7 +935,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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 5077222855e7358e5be25395d9ffbe1fba2975b4..ca5c2a57118861b0cd7c594c88db326d37eec2d1 100644
--- a/docs/build/html/examples/notebook_luminosity_function_single.html
+++ b/docs/build/html/examples/notebook_luminosity_function_single.html
@@ -949,7 +949,7 @@ Added analytics to metadata
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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_massive_remnants.html b/docs/build/html/examples/notebook_massive_remnants.html
deleted file mode 100644
index 396e1e18e58dcdaf0f94aef13e7a75f5c91a9ef9..0000000000000000000000000000000000000000
--- a/docs/build/html/examples/notebook_massive_remnants.html
+++ /dev/null
@@ -1,942 +0,0 @@
-<!DOCTYPE html>
-<html class="writer-html5" lang="en" >
-<head>
-  <meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
-
-  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-  <title>Example use case: Massive star luminosity &mdash; binary_c-python  documentation</title>
-      <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
-      <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
-  <!--[if lt IE 9]>
-    <script src="../_static/js/html5shiv.min.js"></script>
-  <![endif]-->
-  
-        <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
-        <script src="../_static/jquery.js"></script>
-        <script src="../_static/underscore.js"></script>
-        <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
-        <script src="../_static/doctools.js"></script>
-        <script crossorigin="anonymous" integrity="sha256-Ae2Vz/4ePdIu6ZyI/5ZGsYnb+m0JlOmKPjt6XZ9JJkA=" src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.4/require.min.js"></script>
-        <script>window.MathJax = {"tex": {"inlineMath": [["$", "$"], ["\\(", "\\)"]], "processEscapes": true}, "options": {"ignoreHtmlClass": "tex2jax_ignore|mathjax_ignore|document", "processHtmlClass": "tex2jax_process|mathjax_process|math|output_area"}}</script>
-        <script defer="defer" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
-    <script src="../_static/js/theme.js"></script>
-    <link rel="index" title="Index" href="../genindex.html" />
-    <link rel="search" title="Search" href="../search.html" /> 
-</head>
-
-<body class="wy-body-for-nav"> 
-  <div class="wy-grid-for-nav">
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search" >
-            <a href="../index.html" class="icon icon-home"> binary_c-python
-          </a>
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
-              <p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../readme_link.html">Python module for binary_c</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../modules.html">Binarycpython code</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../example_notebooks.html">Example notebooks</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../binary_c_parameters.html">Binary_c parameters</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../grid_options_descriptions.html">Population grid code options</a></li>
-<li class="toctree-l1"><a class="reference external" href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python">Visit the GitLab repo</a></li>
-<li class="toctree-l1"><a class="reference external" href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/issues/new">Submit an issue</a></li>
-</ul>
-
-        </div>
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
-          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-          <a href="../index.html">binary_c-python</a>
-      </nav>
-
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          <div role="navigation" aria-label="Page navigation">
-  <ul class="wy-breadcrumbs">
-      <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
-      <li>Example use case: Massive star luminosity</li>
-      <li class="wy-breadcrumbs-aside">
-            <a href="../_sources/examples/notebook_massive_remnants.ipynb.txt" rel="nofollow"> View page source</a>
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-             
-  
-<style>
-/* CSS for nbsphinx extension */
-
-/* remove conflicting styling from Sphinx themes */
-div.nbinput.container div.prompt *,
-div.nboutput.container div.prompt *,
-div.nbinput.container div.input_area pre,
-div.nboutput.container div.output_area pre,
-div.nbinput.container div.input_area .highlight,
-div.nboutput.container div.output_area .highlight {
-    border: none;
-    padding: 0;
-    margin: 0;
-    box-shadow: none;
-}
-
-div.nbinput.container > div[class*=highlight],
-div.nboutput.container > div[class*=highlight] {
-    margin: 0;
-}
-
-div.nbinput.container div.prompt *,
-div.nboutput.container div.prompt * {
-    background: none;
-}
-
-div.nboutput.container div.output_area .highlight,
-div.nboutput.container div.output_area pre {
-    background: unset;
-}
-
-div.nboutput.container div.output_area div.highlight {
-    color: unset;  /* override Pygments text color */
-}
-
-/* avoid gaps between output lines */
-div.nboutput.container div[class*=highlight] pre {
-    line-height: normal;
-}
-
-/* input/output containers */
-div.nbinput.container,
-div.nboutput.container {
-    display: -webkit-flex;
-    display: flex;
-    align-items: flex-start;
-    margin: 0;
-    width: 100%;
-}
-@media (max-width: 540px) {
-    div.nbinput.container,
-    div.nboutput.container {
-        flex-direction: column;
-    }
-}
-
-/* input container */
-div.nbinput.container {
-    padding-top: 5px;
-}
-
-/* last container */
-div.nblast.container {
-    padding-bottom: 5px;
-}
-
-/* input prompt */
-div.nbinput.container div.prompt pre {
-    color: #307FC1;
-}
-
-/* output prompt */
-div.nboutput.container div.prompt pre {
-    color: #BF5B3D;
-}
-
-/* all prompts */
-div.nbinput.container div.prompt,
-div.nboutput.container div.prompt {
-    width: 4.5ex;
-    padding-top: 5px;
-    position: relative;
-    user-select: none;
-}
-
-div.nbinput.container div.prompt > div,
-div.nboutput.container div.prompt > div {
-    position: absolute;
-    right: 0;
-    margin-right: 0.3ex;
-}
-
-@media (max-width: 540px) {
-    div.nbinput.container div.prompt,
-    div.nboutput.container div.prompt {
-        width: unset;
-        text-align: left;
-        padding: 0.4em;
-    }
-    div.nboutput.container div.prompt.empty {
-        padding: 0;
-    }
-
-    div.nbinput.container div.prompt > div,
-    div.nboutput.container div.prompt > div {
-        position: unset;
-    }
-}
-
-/* disable scrollbars on prompts */
-div.nbinput.container div.prompt pre,
-div.nboutput.container div.prompt pre {
-    overflow: hidden;
-}
-
-/* input/output area */
-div.nbinput.container div.input_area,
-div.nboutput.container div.output_area {
-    -webkit-flex: 1;
-    flex: 1;
-    overflow: auto;
-}
-@media (max-width: 540px) {
-    div.nbinput.container div.input_area,
-    div.nboutput.container div.output_area {
-        width: 100%;
-    }
-}
-
-/* input area */
-div.nbinput.container div.input_area {
-    border: 1px solid #e0e0e0;
-    border-radius: 2px;
-    /*background: #f5f5f5;*/
-}
-
-/* override MathJax center alignment in output cells */
-div.nboutput.container div[class*=MathJax] {
-    text-align: left !important;
-}
-
-/* override sphinx.ext.imgmath center alignment in output cells */
-div.nboutput.container div.math p {
-    text-align: left;
-}
-
-/* standard error */
-div.nboutput.container div.output_area.stderr {
-    background: #fdd;
-}
-
-/* ANSI colors */
-.ansi-black-fg { color: #3E424D; }
-.ansi-black-bg { background-color: #3E424D; }
-.ansi-black-intense-fg { color: #282C36; }
-.ansi-black-intense-bg { background-color: #282C36; }
-.ansi-red-fg { color: #E75C58; }
-.ansi-red-bg { background-color: #E75C58; }
-.ansi-red-intense-fg { color: #B22B31; }
-.ansi-red-intense-bg { background-color: #B22B31; }
-.ansi-green-fg { color: #00A250; }
-.ansi-green-bg { background-color: #00A250; }
-.ansi-green-intense-fg { color: #007427; }
-.ansi-green-intense-bg { background-color: #007427; }
-.ansi-yellow-fg { color: #DDB62B; }
-.ansi-yellow-bg { background-color: #DDB62B; }
-.ansi-yellow-intense-fg { color: #B27D12; }
-.ansi-yellow-intense-bg { background-color: #B27D12; }
-.ansi-blue-fg { color: #208FFB; }
-.ansi-blue-bg { background-color: #208FFB; }
-.ansi-blue-intense-fg { color: #0065CA; }
-.ansi-blue-intense-bg { background-color: #0065CA; }
-.ansi-magenta-fg { color: #D160C4; }
-.ansi-magenta-bg { background-color: #D160C4; }
-.ansi-magenta-intense-fg { color: #A03196; }
-.ansi-magenta-intense-bg { background-color: #A03196; }
-.ansi-cyan-fg { color: #60C6C8; }
-.ansi-cyan-bg { background-color: #60C6C8; }
-.ansi-cyan-intense-fg { color: #258F8F; }
-.ansi-cyan-intense-bg { background-color: #258F8F; }
-.ansi-white-fg { color: #C5C1B4; }
-.ansi-white-bg { background-color: #C5C1B4; }
-.ansi-white-intense-fg { color: #A1A6B2; }
-.ansi-white-intense-bg { background-color: #A1A6B2; }
-
-.ansi-default-inverse-fg { color: #FFFFFF; }
-.ansi-default-inverse-bg { background-color: #000000; }
-
-.ansi-bold { font-weight: bold; }
-.ansi-underline { text-decoration: underline; }
-
-
-div.nbinput.container div.input_area div[class*=highlight] > pre,
-div.nboutput.container div.output_area div[class*=highlight] > pre,
-div.nboutput.container div.output_area div[class*=highlight].math,
-div.nboutput.container div.output_area.rendered_html,
-div.nboutput.container div.output_area > div.output_javascript,
-div.nboutput.container div.output_area:not(.rendered_html) > img{
-    padding: 5px;
-    margin: 0;
-}
-
-/* fix copybtn overflow problem in chromium (needed for 'sphinx_copybutton') */
-div.nbinput.container div.input_area > div[class^='highlight'],
-div.nboutput.container div.output_area > div[class^='highlight']{
-    overflow-y: hidden;
-}
-
-/* hide copybtn icon on prompts (needed for 'sphinx_copybutton') */
-.prompt .copybtn {
-    display: none;
-}
-
-/* Some additional styling taken form the Jupyter notebook CSS */
-.jp-RenderedHTMLCommon table,
-div.rendered_html table {
-  border: none;
-  border-collapse: collapse;
-  border-spacing: 0;
-  color: black;
-  font-size: 12px;
-  table-layout: fixed;
-}
-.jp-RenderedHTMLCommon thead,
-div.rendered_html thead {
-  border-bottom: 1px solid black;
-  vertical-align: bottom;
-}
-.jp-RenderedHTMLCommon tr,
-.jp-RenderedHTMLCommon th,
-.jp-RenderedHTMLCommon td,
-div.rendered_html tr,
-div.rendered_html th,
-div.rendered_html td {
-  text-align: right;
-  vertical-align: middle;
-  padding: 0.5em 0.5em;
-  line-height: normal;
-  white-space: normal;
-  max-width: none;
-  border: none;
-}
-.jp-RenderedHTMLCommon th,
-div.rendered_html th {
-  font-weight: bold;
-}
-.jp-RenderedHTMLCommon tbody tr:nth-child(odd),
-div.rendered_html tbody tr:nth-child(odd) {
-  background: #f5f5f5;
-}
-.jp-RenderedHTMLCommon tbody tr:hover,
-div.rendered_html tbody tr:hover {
-  background: rgba(66, 165, 245, 0.2);
-}
-
-/* CSS overrides for sphinx_rtd_theme */
-
-/* 24px margin */
-.nbinput.nblast.container,
-.nboutput.nblast.container {
-    margin-bottom: 19px;  /* padding has already 5px */
-}
-
-/* ... except between code cells! */
-.nblast.container + .nbinput.container {
-    margin-top: -19px;
-}
-
-.admonition > p:before {
-    margin-right: 4px;  /* make room for the exclamation icon */
-}
-
-/* Fix math alignment, see https://github.com/rtfd/sphinx_rtd_theme/pull/686 */
-.math {
-    text-align: unset;
-}
-</style>
-<section id="Example-use-case:-Massive-star-luminosity">
-<h1>Example use case: Massive star luminosity<a class="headerlink" href="#Example-use-case:-Massive-star-luminosity" title="Permalink to this heading"></a></h1>
-<p>In this notebook we compute the luminosity function of the zero-age main-sequence by running a population of single stars using binary_c.</p>
-<p>We start by loading in some standard Python modules and the binary_c module.</p>
-<div class="nbinput nblast docutils container">
-<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[1]:
-</pre></div>
-</div>
-<div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">os</span>
-<span class="kn">import</span> <span class="nn">math</span>
-<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
-
-<span class="kn">from</span> <span class="nn">binarycpython.utils.functions</span> <span class="kn">import</span> <span class="n">temp_dir</span>
-<span class="kn">from</span> <span class="nn">binarycpython.utils.grid</span> <span class="kn">import</span> <span class="n">Population</span>
-
-<span class="n">TMP_DIR</span> <span class="o">=</span> <span class="n">temp_dir</span><span class="p">(</span><span class="s2">&quot;notebooks&quot;</span><span class="p">,</span> <span class="s2">&quot;notebook_luminosity&quot;</span><span class="p">)</span>
-
-<span class="c1"># help(Population) # Uncomment this line to see the public functions of this object</span>
-</pre></div>
-</div>
-</div>
-<section id="Setting-up-the-Population-object">
-<h2>Setting up the Population object<a class="headerlink" href="#Setting-up-the-Population-object" title="Permalink to this heading"></a></h2>
-<p>To set up and configure the population object we need to make a new instance of the <code class="docutils literal notranslate"><span class="pre">Population</span></code> object and configure it with the <code class="docutils literal notranslate"><span class="pre">.set()</span></code> function.</p>
-<p>In our case, we only need to set the maximum evolution time to something short, because we care only about zero-age main sequence stars which have, by definition, age zero.</p>
-<div class="nbinput docutils container">
-<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[2]:
-</pre></div>
-</div>
-<div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Create population object</span>
-<span class="n">population</span> <span class="o">=</span> <span class="n">Population</span><span class="p">()</span>
-
-<span class="c1"># If you want verbosity, set this before other things</span>
-<span class="n">population</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="n">verbosity</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
-
-<span class="c1"># Setting values can be done via .set(&lt;parameter_name&gt;=&lt;value&gt;)</span>
-<span class="c1"># Values that are known to be binary_c_parameters are loaded into bse_options.</span>
-<span class="c1"># Those that are present in the default grid_options are set in grid_options</span>
-<span class="c1"># All other values that you set are put in a custom_options dict</span>
-<span class="n">population</span><span class="o">.</span><span class="n">set</span><span class="p">(</span>
-    <span class="c1"># binary_c physics options</span>
-    <span class="n">max_evolution_time</span><span class="o">=</span><span class="mf">0.1</span><span class="p">,</span>  <span class="c1"># maximum stellar evolution time in Myr</span>
-    <span class="n">tmp_dir</span><span class="o">=</span><span class="n">TMP_DIR</span><span class="p">,</span>
-<span class="p">)</span>
-
-<span class="c1"># We can access the options through</span>
-<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;verbosity is&quot;</span><span class="p">,</span> <span class="n">population</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s1">&#39;verbosity&#39;</span><span class="p">])</span>
-</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: max_evolution_time=0.1 to BSE_options
-adding: tmp_dir=/tmp/binary_c_python-izzard/notebooks/notebook_luminosity to grid_options
-verbosity is 1
-</pre></div></div>
-</div>
-</section>
-<section id="Adding-grid-variables">
-<h2>Adding grid variables<a class="headerlink" href="#Adding-grid-variables" title="Permalink to this heading"></a></h2>
-<p>The main purpose of the Population object is to handle the population synthesis side of running a set of stars. The main method to do this with binarycpython, as is the case with Perl binarygrid, is to use grid variables. These are loops over a predefined range of values, where a probability will be assigned to the systems based on the chosen probability distributions.</p>
-<p>Usually we use either 1 mass grid variable, or a trio of mass, mass ratio and period (other notebooks cover these examples). We can, however, also add grid sampling for e.g. eccentricity, metallicity or other parameters.</p>
-<p>To add a grid variable to the population object we use <code class="docutils literal notranslate"><span class="pre">population.add_grid_variable</span></code></p>
-<div class="nbinput nblast docutils container">
-<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"># help(population.add_grid_variable)</span>
-</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>
-<li><p>The massrange is a list of the min and max masses</p></li>
-<li><p>The total_probability is the theoretical integral of a probability density function, i.e. 1.0.</p></li>
-<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]:
-</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>
-<span class="n">resolution</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;M_1&quot;</span><span class="p">:</span> <span class="mi">40</span><span class="p">}</span> <span class="c1"># start with resolution = 10, and increase later if you want &quot;more accurate&quot; data</span>
-<span class="n">massrange</span> <span class="o">=</span> <span class="p">(</span><span class="mf">0.07</span><span class="p">,</span> <span class="mf">100.0</span><span class="p">)</span> <span class="c1"># we work with stars of mass 0.07 to 100 Msun</span>
-<span class="n">total_probability</span> <span class="o">=</span> <span class="mf">1.0</span> <span class="c1"># theoretical integral of the mass probability density function over all masses</span>
-<span class="c1"># distribution binwidths :</span>
-<span class="c1"># (log10) luminosity distribution</span>
-<span class="n">binwidth</span> <span class="o">=</span> <span class="p">{</span> <span class="s1">&#39;luminosity&#39;</span> <span class="p">:</span> <span class="mf">0.5</span> <span class="p">}</span>
-</pre></div>
-</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 nblast docutils container">
-<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[6]:
-</pre></div>
-</div>
-<div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Mass</span>
-<span class="n">population</span> <span class="o">=</span> <span class="n">Population</span><span class="p">()</span>
-<span class="n">population</span><span class="o">.</span><span class="n">set</span><span class="p">(</span>
-    <span class="n">tmp_dir</span><span class="o">=</span><span class="n">TMP_DIR</span><span class="p">,</span>
-<span class="p">)</span>
-<span class="n">population</span><span class="o">.</span><span class="n">add_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">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">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>
-<span class="p">)</span>
-</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>
-<p>By default, binary_c will not output anything (except for ‘SINGLE STAR LIFETIME’). It is up to us to determine what will be printed. We can either do that by hardcoding the print statements into <code class="docutils literal notranslate"><span class="pre">binary_c</span></code> (see documentation binary_c) or we can use the custom logging functionality of binarycpython (see notebook <code class="docutils literal notranslate"><span class="pre">notebook_custom_logging.ipynb</span></code>), which is faster to set up and requires no recompilation of binary_c, but is somewhat more limited in its functionality. For our current purposes, it
-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>[7]:
-</pre></div>
-</div>
-<div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Create custom logging statement</span>
-<span class="c1">#</span>
-<span class="c1"># we check that the model number is zero, i.e. we&#39;re on the first timestep (stars are born on the ZAMS)</span>
-<span class="c1"># we make sure that the stellar type is &lt;= MAIN_SEQUENCE, i.e. the star is a main-sequence star</span>
-<span class="c1"># we also check that the time is 0.0 (this is not strictly required, but good to show how it is done)</span>
-<span class="c1">#</span>
-<span class="c1"># The Printf statement does the outputting: note that the header string is ZERO_AGE_MAIN_SEQUENCE_STAR</span>
-
-<span class="n">custom_logging_statement</span> <span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
-<span class="s2">if(stardata-&gt;model.model_number == 0 &amp;&amp;</span>
-<span class="s2">   stardata-&gt;star[0].stellar_type &lt;= MAIN_SEQUENCE &amp;&amp;</span>
-<span class="s2">   stardata-&gt;model.time == 0)</span>
-<span class="s2">{</span>
-<span class="s2">   /* Note that we use Printf - with a capital P! */</span>
-<span class="s2">   Printf(&quot;ZERO_AGE_MAIN_SEQUENCE_STAR </span><span class="si">%30.12e</span><span class="s2"> </span><span class="si">%g</span><span class="s2"> </span><span class="si">%g</span><span class="s2"> </span><span class="si">%g</span><span class="s2"> </span><span class="si">%g</span><span class="se">\\</span><span class="s2">n&quot;,</span>
-<span class="s2">          stardata-&gt;model.time, // 1</span>
-<span class="s2">          stardata-&gt;common.zero_age.mass[0], // 2</span>
-<span class="s2">          stardata-&gt;star[0].mass, // 3</span>
-<span class="s2">          stardata-&gt;star[0].luminosity, // 4</span>
-<span class="s2">          stardata-&gt;model.probability // 5</span>
-<span class="s2">      );</span>
-<span class="s2">};</span>
-<span class="s2">&quot;&quot;&quot;</span>
-
-<span class="n">population</span><span class="o">.</span><span class="n">set</span><span class="p">(</span>
-    <span class="n">C_logging_code</span><span class="o">=</span><span class="n">custom_logging_statement</span>
-<span class="p">)</span>
-<br/></pre></div>
-</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>[8]:
-</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>
-<span class="c1"># import the datalinedict to make a dictionary from each line of data from binary_c</span>
-<span class="kn">from</span> <span class="nn">binarycpython.utils.functions</span> <span class="kn">import</span> <span class="n">bin_data</span><span class="p">,</span><span class="n">datalinedict</span>
-
-<span class="k">def</span> <span class="nf">parse_function</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">output</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Example parse function</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-
-    <span class="c1"># list of the data items</span>
-    <span class="n">parameters</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;header&quot;</span><span class="p">,</span> <span class="s2">&quot;time&quot;</span><span class="p">,</span> <span class="s2">&quot;zams_mass&quot;</span><span class="p">,</span> <span class="s2">&quot;mass&quot;</span><span class="p">,</span> <span class="s2">&quot;luminosity&quot;</span><span class="p">,</span> <span class="s2">&quot;probability&quot;</span><span class="p">]</span>
-
-    <span class="c1"># Loop over the output.</span>
-    <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">output</span><span class="o">.</span><span class="n">splitlines</span><span class="p">():</span>
-        <span class="c1"># obtain the line of data in dictionary form</span>
-        <span class="n">linedata</span> <span class="o">=</span> <span class="n">datalinedict</span><span class="p">(</span><span class="n">line</span><span class="p">,</span><span class="n">parameters</span><span class="p">)</span>
-
-        <span class="c1"># Check the header and act accordingly</span>
-        <span class="k">if</span> <span class="n">linedata</span><span class="p">[</span><span class="s1">&#39;header&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s2">&quot;ZERO_AGE_MAIN_SEQUENCE_STAR&quot;</span><span class="p">:</span>
-
-            <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>
-
-<span class="c1"># Add the parsing function</span>
-<span class="n">population</span><span class="o">.</span><span class="n">set</span><span class="p">(</span>
-    <span class="n">parse_function</span><span class="o">=</span><span class="n">parse_function</span><span class="p">,</span>
-<span class="p">)</span>
-</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 docutils container">
-<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[9]:
-</pre></div>
-</div>
-<div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># set number of threads</span>
-<span class="n">population</span><span class="o">.</span><span class="n">set</span><span class="p">(</span>
-    <span class="c1"># verbose output is not required</span>
-    <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="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>
-
-<span class="c1"># Show the results (debugging)</span>
-<span class="c1"># print (population.grid_results)</span>
-</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>
-Doing dry run to calculate total starcount and probability
-Generating grid code
-Grid has handled 40 stars with a total probability of 1
-**************************************
-* Total starcount for this run is 40 *
-*       Total probability is 1       *
-**************************************
-
-Generating grid code
-**********************************************************
-*  Population-b6213f2eb7f94d3196cf966b7b76b9f9 finished! *
-*               The total probability is 1.              *
-*  It took a total of 6.99s to run 40 systems on 2 cores *
-*                  = 13.98s of CPU time.                 *
-*              Maximum memory use 472.211 MB             *
-**********************************************************
-
-There were no errors found in this run.
-</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 docutils container">
-<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[10]:
-</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="nboutput nblast docutils container">
-<div class="prompt empty docutils container">
-</div>
-<div class="output_area docutils container">
-<div class="highlight"><pre>
-{&#39;population_name&#39;: &#39;b6213f2eb7f94d3196cf966b7b76b9f9&#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.9999999999999998, &#39;total_count&#39;: 40, &#39;start_timestamp&#39;: 1635760806.5066257, &#39;end_timestamp&#39;: 1635760813.4966016, &#39;total_mass_run&#39;: 2001.3999999999996, &#39;total_probability_weighted_mass_run&#39;: 50.03499999999999, &#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>[11]:
-</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>
-<span class="kn">import</span> <span class="nn">seaborn</span> <span class="k">as</span> <span class="nn">sns</span>
-<span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span>
-<span class="kn">from</span> <span class="nn">binarycpython.utils.functions</span> <span class="kn">import</span> <span class="n">pad_output_distribution</span>
-
-<span class="c1"># set up seaborn for use in the notebook</span>
-<span class="n">sns</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="n">rc</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;figure.figsize&#39;</span><span class="p">:(</span><span class="mi">20</span><span class="p">,</span><span class="mi">10</span><span class="p">)})</span>
-<span class="n">sns</span><span class="o">.</span><span class="n">set_context</span><span class="p">(</span><span class="s2">&quot;notebook&quot;</span><span class="p">,</span>
-                <span class="n">font_scale</span><span class="o">=</span><span class="mf">1.5</span><span class="p">,</span>
-                <span class="n">rc</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;lines.linewidth&quot;</span><span class="p">:</span><span class="mf">2.5</span><span class="p">})</span>
-
-
-<span class="c1"># this saves a lot of typing!</span>
-<span class="n">ldist</span> <span class="o">=</span> <span class="n">population</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="c1"># pad the distribution with zeros where data is missing</span>
-<span class="n">pad_output_distribution</span><span class="p">(</span><span class="n">ldist</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"># make pandas dataframe from our sorted dictionary of data</span>
-<span class="n">plot_data</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="o">.</span><span class="n">from_dict</span><span class="p">({</span><span class="s1">&#39;ZAMS luminosity distribution&#39;</span> <span class="p">:</span> <span class="n">ldist</span><span class="p">})</span>
-
-<span class="c1"># make the plot</span>
-<span class="n">p</span> <span class="o">=</span> <span class="n">sns</span><span class="o">.</span><span class="n">lineplot</span><span class="p">(</span><span class="n">data</span><span class="o">=</span><span class="n">plot_data</span><span class="p">)</span>
-<span class="n">p</span><span class="o">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="s2">&quot;$\log_</span><span class="si">{10}</span><span class="s2">$ ($L_\mathrm</span><span class="si">{ZAMS}</span><span class="s2">$ / L$_{☉}$)&quot;</span><span class="p">)</span>
-<span class="n">p</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="s2">&quot;Number of stars&quot;</span><span class="p">)</span>
-<span class="n">p</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="n">yscale</span><span class="o">=</span><span class="s2">&quot;log&quot;</span><span class="p">)</span>
-</pre></div>
-</div>
-</div>
-<div class="nboutput docutils container">
-<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[11]:
-</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_massive_remnants_20_1.png" src="../_images/examples_notebook_massive_remnants_20_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>[12]:
-</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="p">)</span>
-</pre></div>
-</div>
-</div>
-<div class="nbinput docutils container">
-<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[13]:
-</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>
-<span class="n">population</span><span class="o">.</span><span class="n">clean</span><span class="p">()</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>
-
-<span class="c1"># Show the results (debugging)</span>
-<span class="c1"># print (population.grid_results)</span>
-</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>
-Doing dry run to calculate total starcount and probability
-Generating grid code
-Grid has handled 40 stars with a total probability of 0.218222
-**************************************
-* Total starcount for this run is 40 *
-*    Total probability is 0.218222   *
-**************************************
-
-Generating grid code
-**********************************************************
-*  Population-4b8c7f4a86e445099d73f27dffaad94b finished! *
-*           The total probability is 0.218222.           *
-*  It took a total of 7.95s to run 40 systems on 2 cores *
-*                  = 15.89s of CPU time.                 *
-*              Maximum memory use 587.984 MB             *
-**********************************************************
-
-There were no errors found in this run.
-</pre></div></div>
-</div>
-<div class="nbinput docutils container">
-<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[14]:
-</pre></div>
-</div>
-<div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># plot luminosity distribution</span>
-<span class="n">ldist</span> <span class="o">=</span> <span class="n">population</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="c1"># pad the distribution with zeros where data is missing</span>
-<span class="n">pad_output_distribution</span><span class="p">(</span><span class="n">ldist</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"># make pandas dataframe from our sorted dictionary of data</span>
-<span class="n">plot_data</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="o">.</span><span class="n">from_dict</span><span class="p">({</span><span class="s1">&#39;ZAMS luminosity distribution&#39;</span> <span class="p">:</span> <span class="n">ldist</span><span class="p">})</span>
-
-<span class="c1"># make the plot</span>
-<span class="n">p</span> <span class="o">=</span> <span class="n">sns</span><span class="o">.</span><span class="n">lineplot</span><span class="p">(</span><span class="n">data</span><span class="o">=</span><span class="n">plot_data</span><span class="p">)</span>
-<span class="n">p</span><span class="o">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="s2">&quot;$\log_</span><span class="si">{10}</span><span class="s2">$ ($L_\mathrm</span><span class="si">{ZAMS}</span><span class="s2">$ / L$_{☉}$)&quot;</span><span class="p">)</span>
-<span class="n">p</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="s2">&quot;Number of stars&quot;</span><span class="p">)</span>
-<span class="n">p</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="n">yscale</span><span class="o">=</span><span class="s2">&quot;log&quot;</span><span class="p">)</span>
-</pre></div>
-</div>
-</div>
-<div class="nboutput docutils container">
-<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[14]:
-</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_massive_remnants_25_1.png" src="../_images/examples_notebook_massive_remnants_25_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>
-</section>
-<section id="A-better-sampled-grid">
-<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>[15]:
-</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>
-<span class="n">population</span><span class="o">.</span><span class="n">rename_grid_variable</span><span class="p">(</span><span class="s2">&quot;M_1&quot;</span><span class="p">,</span><span class="s2">&quot;lnM_1&quot;</span><span class="p">)</span>
-</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>[16]:
-</pre></div>
-</div>
-<div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># update the sampling, note that the IMF is dprob/dM1, and the phase</span>
-<span class="c1"># space is now sampled in lnM1, so we multiply by M_1 to</span>
-<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">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>
-<span class="p">)</span>
-<span class="c1"># print(population.grid_options[&quot;_grid_variables&quot;]) # debugging</span>
-</pre></div>
-</div>
-</div>
-<div class="nbinput docutils container">
-<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[17]:
-</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>
-<span class="n">population</span><span class="o">.</span><span class="n">clean</span><span class="p">()</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>
-
-<span class="c1"># Show the results (debugging)</span>
-<span class="c1"># print (population.grid_results)</span>
-</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>
-Doing dry run to calculate total starcount and probability
-Generating grid code
-Grid has handled 40 stars with a total probability of 0.995631
-**************************************
-* Total starcount for this run is 40 *
-*    Total probability is 0.995631   *
-**************************************
-
-Generating grid code
-**********************************************************
-*  Population-7a2e4301f5224b2cb8939d2297df0aad finished! *
-*           The total probability is 0.995631.           *
-*  It took a total of 4.77s to run 40 systems on 2 cores *
-*                   = 9.55s of CPU time.                 *
-*              Maximum memory use 621.930 MB             *
-**********************************************************
-
-There were no errors found in this run.
-</pre></div></div>
-</div>
-<p>You should see that the total probability is very close to 1.0, as you would expect for a well-sampled grid. The total will never be exactly 1.0, but that is because we are running a simulation, not a perfect copy of reality.</p>
-<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"># plot luminosity distribution</span>
-<span class="n">ldist</span> <span class="o">=</span> <span class="n">population</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="c1"># pad the distribution with zeros where data is missing</span>
-<span class="n">pad_output_distribution</span><span class="p">(</span><span class="n">ldist</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"># make pandas dataframe from our sorted dictionary of data</span>
-<span class="n">plot_data</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="o">.</span><span class="n">from_dict</span><span class="p">({</span><span class="s1">&#39;ZAMS luminosity distribution&#39;</span> <span class="p">:</span> <span class="n">ldist</span><span class="p">})</span>
-
-<span class="c1"># make the plot</span>
-<span class="n">p</span> <span class="o">=</span> <span class="n">sns</span><span class="o">.</span><span class="n">lineplot</span><span class="p">(</span><span class="n">data</span><span class="o">=</span><span class="n">plot_data</span><span class="p">)</span>
-<span class="n">p</span><span class="o">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="s2">&quot;$\log_</span><span class="si">{10}</span><span class="s2">$ ($L_\mathrm</span><span class="si">{ZAMS}</span><span class="s2">$ / L$_{☉}$)&quot;</span><span class="p">)</span>
-<span class="n">p</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="s2">&quot;Number of stars&quot;</span><span class="p">)</span>
-<span class="n">p</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="n">yscale</span><span class="o">=</span><span class="s2">&quot;log&quot;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
-</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_massive_remnants_33_0.png" src="../_images/examples_notebook_massive_remnants_33_0.png" />
-</div>
-</div>
-<p>Most stars are low mass red dwarfs, with small luminosities. Without the IMF weighting, our model population would have got this completely wrong!</p>
-<p>As you increase the resolution, you will see this curve becomes even smoother. The wiggles in the curve are (usually) sampling artefacts because the curve should monotonically brighten above about log(<em>L</em>/L☉)=-2.</p>
-<p>Remember you can play with the binwidth too. If you want a very accurate distribution you need a narrow binwidth, but then you’ll also need high resolution (lots of stars) so lots of CPU time, hence cost, CO2, etc.</p>
-<p>Things to try:</p>
-<ul class="simple">
-<li><p>Change the resolution to make the distributions smoother: what about error bars, how would you do that?</p></li>
-<li><p>Different initial distributions: the Kroupa distribution isn’t the only one out there</p></li>
-<li><p>Change the metallicity and mass ranges</p></li>
-<li><p>What about a non-constant star formation rate? This is more of a challenge!</p></li>
-<li><p>What about evolved stars? Here we consider only the <em>zero-age</em> main sequnece. What about other main-sequence stars? What about stars in later phases of stellar evolution?</p></li>
-<li><p>Binary stars! (see notebook_luminosity_function_binaries.ipynb)</p></li>
-</ul>
-<div class="nbinput nblast docutils container">
-<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[ ]:
-</pre></div>
-</div>
-<div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre><span></span>
-</pre></div>
-</div>
-</div>
-</section>
-</section>
-
-
-           </div>
-          </div>
-          <footer>
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>&#169; Copyright 2021, David Hendriks, Robert Izzard.</p>
-  </div>
-
-  Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
-    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
-    provided by <a href="https://readthedocs.org">Read the Docs</a>.
-  
-<br><br>
-Generated on binarycpython git branch: development_0.9.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/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>.
-
-
-
-</footer>
-        </div>
-      </div>
-    </section>
-  </div>
-  <script>
-      jQuery(function () {
-          SphinxRtdTheme.Navigation.enable(true);
-      });
-  </script> 
-
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/build/html/examples/notebook_massive_remnants.ipynb b/docs/build/html/examples/notebook_massive_remnants.ipynb
deleted file mode 100644
index 28227d1a1cb7536b70a32fd936026697be9cbe35..0000000000000000000000000000000000000000
--- a/docs/build/html/examples/notebook_massive_remnants.ipynb
+++ /dev/null
@@ -1,761 +0,0 @@
-{
- "cells": [
-  {
-   "cell_type": "markdown",
-   "id": "bbbaafbb-fd7d-4b73-a970-93506ba35d71",
-   "metadata": {
-    "tags": []
-   },
-   "source": [
-    "# Example use case: Massive star luminosity\n",
-    "\n",
-    "In this notebook we compute the luminosity function of the zero-age main-sequence by running a population of single stars using binary_c. \n",
-    "\n",
-    "We start by loading in some standard Python modules and the binary_c module.\n"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 1,
-   "id": "bf6b8673-a2b5-4b50-ad1b-e90671f57470",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "import os\n",
-    "import math\n",
-    "import matplotlib.pyplot as plt\n",
-    "\n",
-    "from binarycpython.utils.functions import temp_dir\n",
-    "from binarycpython.utils.grid import Population\n",
-    "\n",
-    "TMP_DIR = temp_dir(\"notebooks\", \"notebook_luminosity\")\n",
-    "\n",
-    "# help(Population) # Uncomment this line to see the public functions of this object"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "f268eff3-4e08-4f6b-8b59-f22dba4d2074",
-   "metadata": {},
-   "source": [
-    "## Setting up the Population object\n",
-    "To set up and configure the population object we need to make a new instance of the `Population` object and configure it with the `.set()` function.\n",
-    "\n",
-    "In our case, we only need to set the maximum evolution time to something short, because we care only about zero-age main sequence stars which have, by definition, age zero."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 2,
-   "id": "79ab50b7-591f-4883-af09-116d1835a751",
-   "metadata": {},
-   "outputs": [
-    {
-     "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",
-      "verbosity is 1\n"
-     ]
-    }
-   ],
-   "source": [
-    "# Create population object\n",
-    "population = Population()\n",
-    "\n",
-    "# If you want verbosity, set this before other things\n",
-    "population.set(verbosity=1)\n",
-    "\n",
-    "# Setting values can be done via .set(<parameter_name>=<value>)\n",
-    "# Values that are known to be binary_c_parameters are loaded into bse_options.\n",
-    "# Those that are present in the default grid_options are set in grid_options\n",
-    "# All other values that you set are put in a custom_options dict\n",
-    "population.set(\n",
-    "    # binary_c physics options\n",
-    "    max_evolution_time=0.1,  # maximum stellar evolution time in Myr\n",
-    "    tmp_dir=TMP_DIR,\n",
-    ")\n",
-    "\n",
-    "# We can access the options through \n",
-    "print(\"verbosity is\", population.grid_options['verbosity'])"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "f9a65554-36ab-4a04-96ca-9f1422c307fd",
-   "metadata": {},
-   "source": [
-    "## Adding grid variables\n",
-    "The main purpose of the Population object is to handle the population synthesis side of running a set of stars. The main method to do this with binarycpython, as is the case with Perl binarygrid, is to use grid variables. These are loops over a predefined range of values, where a probability will be assigned to the systems based on the chosen probability distributions.\n",
-    "\n",
-    "Usually we use either 1 mass grid variable, or a trio of mass, mass ratio and period (other notebooks cover these examples). We can, however, also add grid sampling for e.g. eccentricity, metallicity or other parameters. \n",
-    "\n",
-    "To add a grid variable to the population object we use `population.add_grid_variable`"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 3,
-   "id": "68c84521-9ae8-4020-af7a-5334173db969",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# 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",
-   "metadata": {},
-   "source": [
-    "First let us set up some global variables that will be useful throughout.\n",
-    "\n",
-    "* The resolution is the number of stars we simulate in our model population.\n",
-    "* The massrange is a list of the min and max masses\n",
-    "* The total_probability is the theoretical integral of a probability density function, i.e. 1.0.\n",
-    "* The binwidth sets the resolution of the final distribution. If set to 0.5, the bins in log*L* are 0.5dex wide."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 5,
-   "id": "aba3fe4e-18f2-4bb9-8e5c-4c6007ab038b",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# Set resolution and mass range that we simulate\n",
-    "resolution = {\"M_1\": 40} # start with resolution = 10, and increase later if you want \"more accurate\" data\n",
-    "massrange = (0.07, 100.0) # we work with stars of mass 0.07 to 100 Msun\n",
-    "total_probability = 1.0 # theoretical integral of the mass probability density function over all masses    \n",
-    "# distribution binwidths : \n",
-    "# (log10) luminosity distribution\n",
-    "binwidth = { 'luminosity' : 0.5 }"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "1b3a007b-5c17-42a7-a981-7e268e6f545c",
-   "metadata": {},
-   "source": [
-    "The next cell contains an example of adding the mass grid variable, sampling the phase space in linear mass *M*_1."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 6,
-   "id": "47979841-2c26-4b26-8945-603d013dc93a",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# Mass\n",
-    "population = Population()\n",
-    "population.set(\n",
-    "    tmp_dir=TMP_DIR,\n",
-    ")\n",
-    "population.add_grid_variable(\n",
-    "    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",
-    "    dphasevol=\"dM_1\",\n",
-    "    parameter_name=\"M_1\",\n",
-    "    condition=\"\",  # Impose a condition on this grid variable. Mostly for a check for yourself\n",
-    ")"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "163f13ae-fec1-4ee8-b9d4-c1b75c19ff39",
-   "metadata": {},
-   "source": [
-    "## Setting logging and handling the output\n",
-    "By default, binary_c will not output anything (except for 'SINGLE STAR LIFETIME'). It is up to us to determine what will be printed. We can either do that by hardcoding the print statements into `binary_c` (see documentation binary_c) or we can use the custom logging functionality of binarycpython (see notebook `notebook_custom_logging.ipynb`), which is faster to set up and requires no recompilation of binary_c, but is somewhat more limited in its functionality. For our current purposes, it works perfectly well.\n",
-    "\n",
-    "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 `notebook_individual_systems.ipynb`). \n",
-    "\n",
-    "In the code below we will set up both the custom logging and a parse function to handle that output."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 7,
-   "id": "0c986215-93b1-4e30-ad79-f7c397e9ff7d",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# Create custom logging statement\n",
-    "#\n",
-    "# we check that the model number is zero, i.e. we're on the first timestep (stars are born on the ZAMS)\n",
-    "# we make sure that the stellar type is <= MAIN_SEQUENCE, i.e. the star is a main-sequence star\n",
-    "# we also check that the time is 0.0 (this is not strictly required, but good to show how it is done)\n",
-    "#\n",
-    "# The Printf statement does the outputting: note that the header string is ZERO_AGE_MAIN_SEQUENCE_STAR\n",
-    "\n",
-    "custom_logging_statement = \"\"\"\n",
-    "if(stardata->model.model_number == 0 &&\n",
-    "   stardata->star[0].stellar_type <= MAIN_SEQUENCE &&\n",
-    "   stardata->model.time == 0)\n",
-    "{\n",
-    "   /* Note that we use Printf - with a capital P! */\n",
-    "   Printf(\"ZERO_AGE_MAIN_SEQUENCE_STAR %30.12e %g %g %g %g\\\\n\",\n",
-    "          stardata->model.time, // 1\n",
-    "          stardata->common.zero_age.mass[0], // 2\n",
-    "          stardata->star[0].mass, // 3\n",
-    "          stardata->star[0].luminosity, // 4\n",
-    "          stardata->model.probability // 5\n",
-    "      );\n",
-    "};\n",
-    "\"\"\"\n",
-    "\n",
-    "population.set(\n",
-    "    C_logging_code=custom_logging_statement\n",
-    ")\n"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "ae1f1f0c-1f8b-42d8-b051-cbf8c6b51514",
-   "metadata": {},
-   "source": [
-    "The parse function must now catch lines that start with \"ZERO_AGE_MAIN_SEQUENCE_STAR\" and process the associated data."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 8,
-   "id": "fd197154-a8ce-4865-8929-008d3483101a",
-   "metadata": {},
-   "outputs": [],
-   "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",
-    "from binarycpython.utils.functions import bin_data,datalinedict\n",
-    "\n",
-    "def parse_function(self, output):\n",
-    "    \"\"\"\n",
-    "    Example parse function\n",
-    "    \"\"\"\n",
-    "    \n",
-    "    # list of the data items\n",
-    "    parameters = [\"header\", \"time\", \"zams_mass\", \"mass\", \"luminosity\", \"probability\"]\n",
-    "    \n",
-    "    # Loop over the output.\n",
-    "    for line in output.splitlines():\n",
-    "        # obtain the line of data in dictionary form \n",
-    "        linedata = datalinedict(line,parameters)\n",
-    "        \n",
-    "        # Check the header and act accordingly\n",
-    "        if linedata['header'] == \"ZERO_AGE_MAIN_SEQUENCE_STAR\":\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",
-    "    \n",
-    "# Add the parsing function\n",
-    "population.set(\n",
-    "    parse_function=parse_function,\n",
-    ")"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "91509ce5-ffe7-4937-aa87-6d7baac9ac04",
-   "metadata": {},
-   "source": [
-    "## Evolving the grid\n",
-    "Now that we configured all the main parts of the population object, we can actually run the population! Doing this is straightforward: `population.evolve()`\n",
-    "\n",
-    "This will start up the processing of all the systems. We can control how many cores are used by settings `num_cores`. By setting the `verbosity` 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.\n",
-    "\n",
-    "There are many grid_options that can lead to different behaviour of the evolution of the grid. Please do have a look at those: [grid options docs](https://ri0005.pages.surrey.ac.uk/binary_c-python/grid_options_descriptions.html), and try  "
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 9,
-   "id": "8ea376c1-1e92-45af-8cab-9d7fdca564eb",
-   "metadata": {
-    "tags": []
-   },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Doing dry run to calculate total starcount and probability\n",
-      "Generating grid code\n",
-      "Grid has handled 40 stars with a total probability of 1\n",
-      "**************************************\n",
-      "* Total starcount for this run is 40 *\n",
-      "*       Total probability is 1       *\n",
-      "**************************************\n",
-      "\n",
-      "Generating grid code\n",
-      "**********************************************************\n",
-      "*  Population-b6213f2eb7f94d3196cf966b7b76b9f9 finished! *\n",
-      "*               The total probability is 1.              *\n",
-      "*  It took a total of 6.99s to run 40 systems on 2 cores *\n",
-      "*                  = 13.98s of CPU time.                 *\n",
-      "*              Maximum memory use 472.211 MB             *\n",
-      "**********************************************************\n",
-      "\n",
-      "There were no errors found in this run.\n"
-     ]
-    }
-   ],
-   "source": [
-    "# set number of threads\n",
-    "population.set(\n",
-    "    # verbose output is not required    \n",
-    "    verbosity=0,\n",
-    "    # set number of threads (i.e. number of CPU cores we use)\n",
-    "    num_cores=2,\n",
-    "    )\n",
-    "\n",
-    "# Evolve the population - this is the slow, number-crunching step\n",
-    "analytics = population.evolve()  \n",
-    "\n",
-    "# Show the results (debugging)\n",
-    "# print (population.grid_results)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "91ab45c7-7d31-4543-aee4-127ab58e891f",
-   "metadata": {},
-   "source": [
-    "After the run is complete, some technical report on the run is returned. I stored that in `analytics`. As we can see below, this dictionary is like a status report of the evolution. Useful for e.g. debugging."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 10,
-   "id": "e1f0464b-0424-4022-b34b-5b744bc2c59d",
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "{'population_name': 'b6213f2eb7f94d3196cf966b7b76b9f9', 'evolution_type': 'grid', 'failed_count': 0, 'failed_prob': 0, 'failed_systems_error_codes': [], 'errors_exceeded': False, 'errors_found': False, 'total_probability': 0.9999999999999998, 'total_count': 40, 'start_timestamp': 1635760806.5066257, 'end_timestamp': 1635760813.4966016, 'total_mass_run': 2001.3999999999996, 'total_probability_weighted_mass_run': 50.03499999999999, 'zero_prob_stars_skipped': 0}\n"
-     ]
-    }
-   ],
-   "source": [
-    "print(analytics)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 11,
-   "id": "05c6d132-abee-423e-b1a8-2039c8996fbc",
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "[None]"
-      ]
-     },
-     "execution_count": 11,
-     "metadata": {},
-     "output_type": "execute_result"
-    },
-    {
-     "data": {
-      "image/png": "iVBORw0KGgoAAAANSUhEUgAABKkAAAJgCAYAAABBdDD4AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAB8B0lEQVR4nOzdd3iV9cH/8ffJDgkQZtgrJCxFkCVLtoqoVeuEPrZVa59qH7u0ra22ta1af491to+jttVaQNTWUcXBdCBDUVFkhL0JK4yQkHXO749AKmUYIMmdk7xf1+V1He77jE+S20POh+8IRSKRCJIkSZIkSVKAYoIOIEmSJEmSJFlSSZIkSZIkKXCWVJIkSZIkSQqcJZUkSZIkSZICZ0klSZIkSZKkwFlSSZIkSZIkKXCWVJIkSZIkSQpcXNABarLc3P2Ew5GgY9Q6TZqksnNnXtAxFMW8hnSqvIZ0qryGdKq8hnSqvIZ0qryGdKpO5hqKiQnRqFHKMc9bUh1HOByxpKoifl91qryGdKq8hnSqvIZ0qryGdKq8hnSqvIZ0qir7GnK6nyRJkiRJkgJnSSVJkiRJkqTAWVJJkiRJkiQpcJZUkiRJkiRJCpwllSRJkiRJkgLn7n6nqKBgP3l5uyktLQk6StTYti2GcDgcdAxFsWi6hmJj40hNTSM5+djbrEqSJEmSLKlOSUHBfvbtyyUtrRnx8QmEQqGgI0WFuLgYSkqio2BQzRQt11AkEqG4uIjdu7cDWFRJkiRJ0nE43e8U5OXtJi2tGQkJiRZUko4QCoVISEgkLa0ZeXm7g44jSZIkSTWaJdUpKC0tIT4+IegYkmq4+PgEpwRLkiRJ0pewpDpFjqCS9GV8n5AkSZKkL2dJJUmSJEmSpMBZUkm1SCQSCTrCMQWdLejXlyRJkiQdnyWVDjNkSN/j/vfnPz9+xGP+8IcHGTKkL4899oejPuddd/2KIUP68tWvXnDM1/3Nb+5gyJC+3HXXrw47vmjRJ/z4xz9g3LhRjBgxkEsvHcc99/yaTZs2HvfrmDr1XwwZ0pdt23K+/Is+Rd/97g1873s3Vvnr/Kf//BrXrl3DjTdeVyWvddddv+LKKy8u//Nll13I7373mwo/fs6cd/ntb39Z5a9zLEf73gwZ0pennnrylJ9bkiRJklQ54oIOoJrlscf+etTjjz76MJ9++gk9e55x2PGSkhLeeut1MjI6M3Xqv7j++v8mLu7IyyoUCpGTs5UlSxbTs2fPw84VFhby7rvvHPGYBQvmceut32P48FH89Kd3kJKSyqZNG5k06W/ccMPXeeKJp2ndus0pfLWV40c/+mkgaw4NHDiExx77K40aNQZg9uwZfPbZp9Xy2nff/b+kpKRW+P7PPTe5QguHf+Mb15Ofv/9Uoh3V0b43jz32V9LT0yv9tSRJkiRJJ8eSSoc57bTTjzj2z38+z6JFH3PNNdfSr99Zh52bN28Oubm7+M1v7uWmm67nnXdmM3Lk6COeo2XLVhQVFTF79owjSqp5894nNjaW9PQWhx3/+9+f4vTTz+DOO+8uP3bmmX0ZOHAwV1xxMc8+O5Ef/egnp/LlVoqOHTsF8rqNGjWiUaNGgbx2VlbXKnne6iwdj3atS5IkSZKC43Q/HdfSpZ/zyCP306dPP66//r+POP/aa/+iS5dunHFGL7p3P42XX/7nUZ8nFAoxfPgoZs2aecS5mTPfYtiwEUeMwNq1axfhcPiI+zdt2owf/vBW+vUbUOGv42hT8j766EOGDOnLokWfAPDnPz/Of/3XFcycOZ3x47/KyJGD+Pa3v8n69WuZM+dd/uu/rmDUqMHccMM3WLFi+TGfe8iQvrz00j+4++47Oe+8EYwZczZ33PFTcnN3Hfb6b7zxGtdeO4HRo4dwySXn84c/PEhh4YHy87m5udx55+1cdNG5jBw5mG98Yzyvv/5q+fkvTvf7858f58knHyt//T//+XFuv/0nXHbZhUesxfTLX/6M66+/5pjfq71793L33XcyduxIzjtvBP/3fw8f8XP4z2l406a9wde/fjUjRw7mggvG8Otf38GOHdvLvz8LFy7gk08+YsiQvnz00Yfl3/uXX/4nl146jnPPHcYnn3x0xHQ/gOLiIu677x7OPXcY48aN4r77fsf+/fuPmaUi35tDt7843W/bthx+85tfcPHFYxk1ajA33fQtPv54Yfn5LVs2M2RIX95+eyY/+9mtjBkzlLFjR3LvvXdx4MABJEmSJEmnxpJKx7Rv3z5+8YvbaNgwjV/96i5iYg6/XHJzc5k79z3OPfd8AM4//wI++ugDNm7ccNTnGzlyNFu2bGLZsiXlxw4cOMD777/HqFHnHHH/s84axKeffsL3vvcdpk79F5s3byo/d8EFF3P22cMr4as83NatW3jiif/j+uu/wx13/JqNG9dz663f55FH7ueaa67lzjvvJidnC7/5zS+O+zyPPfYIAL/5zT3ceOPNzJnzLn/4wwPl5//858e5665f0avXmdx9931ceeV4Xn75n/z4xz8sL5V+85s7WLt2Nbfcchv33fcQWVlduOuuX/HRRx8e8XoXXngxX/nKpQdf+69ceOHFjBt3IVu3bmHRoo/L77d/fx7vvvs2Y8cefX2wcDjMj370P8ydO4fvfvf73H77r/jss0XMmPHWMb/WTz/9hN/+9pcMHz6S3//+Yf7nf37AwoULuPPO24Gy6ZDdunUnK6sLjz32V7p0+fcorKeeepLvfe9HfP/7t9K9+2lHff7p099i7do1/OIXv+Wb3/wWb745ldtv/+kx81Tke/OfduzYwbe+dQ1Llizmxhu/x5133kNiYhLf//6NLFz4wWH3/d3vfkurVq25557fM378f/Hqqy/xzDNHnyYrSZIkSao4p/tVstWb9/KvOWs4UFQaaI6khFguHNyRTq0anPRz3H33r9i2LYeHH368fN2jL3rrrakAjBlzHgCjRp3Lww8/wCuv/JMbb/zeEfc//fQzaNasOTNnzqBz57Ki4v333yMpKZkzz+x7xP1vuOFG9u/fz9Spr5QXBc2bpzNw4GCuvHI87dp1OOmv7VgKCgr48Y9/Vp7nk08+4h//eI6HHnqUPn36AbBhwwb++McHyc/Pp169ekd9ns6ds/jZz8oWCu/Xr2xE2jvvzAZg7949TJz4NJdcchk33/wjAPr3P4tmzdL55S9vY+7cOQwaNIRPPvmIb3zj+vIyrlevM2nYMI34+PgjXq9583SaNWsO/HsaW5MmTWnWrDlvvjmVXr3OBGDmzOlAhDFjzj1q7nnz3mfp0s/5/e8fYcCAgQD06dOfyy+/8Jjfs0WLPiExMYkJE75OQkICAA0aNGTZsiVEIhE6duxEvXqplJaWHDHF7tJLr2DYsJHHfG6AtLQ0fv/7h0lMTAIgLi6O++77HStWLCczs8txHwtH/978pylTJrJvXx5PPPF0+bTTQYOG8I1vXM2jjz7Ck0/+rfy+gwcP5bvf/T4Affv254MP5vP+++/yrW9950uzSJIkSZKOzZKqkk37cAOLVu0MOgYAyYlx3HBRj5N67LPP/p13332bG2/8Hmec0euo95k69V/06zeA2NhY9u3bB5SNfpo69VW+9a0bjyhTDk35mzlzOjfccBNQNtVv+PBRxMbGHvH8CQkJ/OQnP+f667/N3LlzyqeJvfzyP5k69V/8+tf3MHTo8JP6+o6nR49/j+g5VM59cZRPw4YNAcjL23fMkur00w9fYL5583QOHCgA4PPPF1NUVMTo0YcXRSNGjOK3v43n448XMmjQEHr3Lpualp29nLPOGshZZw3hppuOLP+OJTY2lvPOG8eLL77AD37wYxISEnj99VcZNGgoDRo0POpjFi36mISExPKCCiA5OZmzzhrMZ58tOupjevc+kz/96f+45porGT58FAMHDqZ//7MYOHDwl2bMzMz60vsMHDikvKACGDJkOPfd9zs+/fSTCpVUFfHJJx/Rs+cZh62LFhMTw6hR5/Dkk48dtpj7f/5smzVrzrZt2yolhyRJkiTVZZZUlWxM37YcKCypESOpxvRre1KPXbz4Mx577A+cffYIxo//r6PeZ9mypaxatZJVq1YyduyII86//fbMI0oYKJvy9/zzk1mxYjmtW7dl7tw53H//H46bp0mTplxwwVe44IKvAGVrSf3613dw332/Y8iQYZW6s15sbOxhhcghycnJJ/Q8iYmJh/05FAqVT+Pbt28vUPZ1fVFMTAxpaY3Iy8sD4M477+Zvf/sLM2dOY/bsGcTExNC37wB+/OOf0aJFywrlOP/8C3nmmb8yZ847ZGV15bPPFvH//t8Dx7z/3r17SUtLO+L4f2b9otNO68n//u9DTJkykSlTJvL3vz9F48ZNuOaab3LZZVcdN19y8tFLvi/6z1F8h/Id+j5Vhn379tKuXbsjjjdu3IRIJEJ+fn75saSkw6+PmJgYIpEj106TJEmSJJ0YS6pK1qlVA753+Rlffscaau/ePfzyl7fRokXL8ulqRzN16iukpKRwzz2/P+Lcr399By+//M+jllSnndaT5s3TmTVrBh07dqJBg4b07NnriPt9/vlifvrTH/KLX/z6iB0FzzyzL+PH/xcPP3w/+/btPeaooC8KhUKEw4cXhwUFBV/6uKpQv359AHbu3HHYbnbhcJjc3F3lJUxqaio33ngzN954M+vXr+Xdd9/mqaee5P77/99xi6Yvatu2HT179mLmzOls2rSRxo2b0L//wGPePy0tjd27c4lEIoeVf3v37jnu6wwYMJABAwZy4MABFi78gOefn8yDD97HaaedQdeu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IUsqVUhJSQlTpkzh97//PfHx8UHHUZSJRCI8+eSTXHnllfzoRz8CYNCgQTRq1Igf/OAHLF26lG7dugWcUjVZcXExf/nLX7j66qv5zne+A8DAgQNZvHgxf//73y2pdEJycnK46667aNGiRdBRFGWWLVtGTEwM5557LsnJyUHHURS677776NWrFw899BChUIhBgwYRDof561//SkFBgdeVjis1NZVevXodduzpp59mzZo1PPvsszRu3PiUX8PKXVVuw4YNrF+/nnPOOeew4+eeey6rV69mw4YNASVTNFm4cCH33Xcf1157LbfcckvQcRRl9u/fz0UXXcQFF1xw2PFOnToBsH79+iBiKYrExsbyzDPPcMMNNxx2PD4+nsLCwoBSKVrdfvvtDB48mIEDBwYdRVFm6dKltGvXziJBJ2XXrl18+OGHXH311YRCofLjEyZMYPr06V5XOmHbt2/noYceKp8+WhksqVTlVq9eDUDHjh0PO96+fXugbNiy9GUyMjKYPn063/3ud4mNjQ06jqJMamoqt99+O3369Dns+PTp0wHo3LlzELEURWJiYujSpQvp6elEIhF27NjBE088wfvvv8+VV14ZdDxFkeeff57PP/+cO+64I+goikLLly8nISGB6667jt69e9OvXz9+8YtfuL6iKiQ7O5tIJELDhg35/ve/T69evejTpw+//OUvOXDgQNDxFIUeeeQRYmJi+P73v19pz+l0P1W5ffv2AWUfEr8oJSUFwL9UVSFNmzYNOoJqmUWLFvHEE08wevRoMjIygo6jKPLWW29x8803AzB8+HAuuuiigBMpWmzatIl77rmHe+65p1KmRKjuWbZsGXl5eVx++eX893//N4sXL+aRRx5hzZo1/O1vfztsdIz0n3bt2gXAT3/6U8aMGcOjjz7K8uXLefDBByksLOR3v/tdwAkVTXbu3MlLL73EtddeS4MGDSrteS2pVOUikchxz7vQo6TqtnDhQv77v/+bNm3a8Nvf/jboOIoy3bt35+9//zvLly/noYce4oYbbuDpp5/2w6GOKxKJ8LOf/Yxhw4Zx7rnnBh1HUeqBBx6gYcOGdOnSBYB+/frRpEkTbr31Vt5//30GDx4ccELVZMXFxQCceeaZ/PKXvwTK1leMRCLce++93HTTTbRt2zbIiIoizz//POFwmGuuuaZSn9d2QFWufv36AEds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\n",
-      "text/plain": [
-       "<Figure size 1440x720 with 1 Axes>"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    }
-   ],
-   "source": [
-    "# make a plot of the luminosity distribution using Seaborn and Pandas\n",
-    "import seaborn as sns\n",
-    "import pandas as pd\n",
-    "from binarycpython.utils.functions import pad_output_distribution\n",
-    "\n",
-    "# set up seaborn for use in the notebook\n",
-    "sns.set(rc={'figure.figsize':(20,10)})\n",
-    "sns.set_context(\"notebook\",\n",
-    "                font_scale=1.5,\n",
-    "                rc={\"lines.linewidth\":2.5})\n",
-    "                    \n",
-    "\n",
-    "# this saves a lot of typing! \n",
-    "ldist = population.grid_results['luminosity distribution']\n",
-    "\n",
-    "# pad the distribution with zeros where data is missing\n",
-    "pad_output_distribution(ldist,\n",
-    "                        binwidth['luminosity'])\n",
-    "\n",
-    "# make pandas dataframe from our sorted dictionary of data\n",
-    "plot_data = pd.DataFrame.from_dict({'ZAMS luminosity distribution' : ldist})\n",
-    "\n",
-    "# make the plot\n",
-    "p = sns.lineplot(data=plot_data)\n",
-    "p.set_xlabel(\"$\\log_{10}$ ($L_\\mathrm{ZAMS}$ / L$_{☉}$)\")\n",
-    "p.set_ylabel(\"Number of stars\")\n",
-    "p.set(yscale=\"log\")"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "7d7b275e-be92-4d59-b44d-ef6f24023cc3",
-   "metadata": {},
-   "source": [
-    "Does this look like a reasonable stellar luminosity function to you? The implication is that the most likely stellar luminosity is 10<sup>5.8</sup> L<sub>☉</sub>! Clearly, this is not very realistic... let's see what went wrong."
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "e32c3bbf-390f-45da-ad9c-cc3e7c9449dc",
-   "metadata": {},
-   "source": [
-    "## ZAMS Luminosity distribution with the initial mass function\n",
-    "\n",
-    "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).\n"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 12,
-   "id": "1f37d2c0-1108-4ab9-a309-20b1e6b6e3fd",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# 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",
-    ")"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 13,
-   "id": "6f4463e8-1935-45f2-8c5f-e7b215f8dc47",
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Doing dry run to calculate total starcount and probability\n",
-      "Generating grid code\n",
-      "Grid has handled 40 stars with a total probability of 0.218222\n",
-      "**************************************\n",
-      "* Total starcount for this run is 40 *\n",
-      "*    Total probability is 0.218222   *\n",
-      "**************************************\n",
-      "\n",
-      "Generating grid code\n",
-      "**********************************************************\n",
-      "*  Population-4b8c7f4a86e445099d73f27dffaad94b finished! *\n",
-      "*           The total probability is 0.218222.           *\n",
-      "*  It took a total of 7.95s to run 40 systems on 2 cores *\n",
-      "*                  = 15.89s of CPU time.                 *\n",
-      "*              Maximum memory use 587.984 MB             *\n",
-      "**********************************************************\n",
-      "\n",
-      "There were no errors found in this run.\n"
-     ]
-    }
-   ],
-   "source": [
-    "# Clean and re-evolve the population \n",
-    "population.clean()\n",
-    "analytics = population.evolve()  \n",
-    "\n",
-    "# Show the results (debugging)\n",
-    "# print (population.grid_results)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 14,
-   "id": "cfe45a9e-1121-43b6-b6b6-4de6f8946a18",
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "[None]"
-      ]
-     },
-     "execution_count": 14,
-     "metadata": {},
-     "output_type": "execute_result"
-    },
-    {
-     "data": {
-      "image/png": "iVBORw0KGgoAAAANSUhEUgAABKsAAAJgCAYAAABFgeDFAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAB6SklEQVR4nOzdd1iV9f/H8dc5bNlLQETcW3OXe++G0XKUDSsrW7+2bdt+s2zvYcPMtLSlZq7cVjhyTxREURRkKeNwzu8PkiIcRxn3feD5uC6uC+/7Pue8gPtCePG537fF4XA4BAAAAAAAAJiA1egAAAAAAAAAwEmUVQAAAAAAADANyioAAAAAAACYBmUVAAAAAAAATIOyCgAAAAAAAKZBWQUAAAAAAADToKwCAAAAAACAabgbHcAVpKfnyG53GB2jygkN9dPRo9lGx4AL4xxCWXEOoaw4h1BWnEMoK84hlBXnEMrifM8fq9Wi4GDf0+6nrHKC3e6grKogfF5RVpxDKCvOIZQV5xDKinMIZcU5hLLiHEJZVMT5w2WAAAAAAAAAMA3KKgAAAAAAAJgGZRUAAAAAAABMg7IKAAAAAAAApkFZBQAAAAAAANPgboAAAAAAAKcUFOQrK+uYbLZ82e2FRsdBOTh82Cq73W50DLio/54/Vqub3N095e8fJA8Pz/N+XsoqAAAAAMBZnTiRo6ysdPn5BcrLK0RWq5ssFovRsVBG7u5W2WyUVTg//z5/HA6H7PZC5eWdUHr6Yfn7B8vHx/f8nrc8QwIAAAAAqqbs7AwFBYXJ09Pb6CgATMhiscjNzV01avjL3d1DmZlp511WMbMKAAAAAHBWhYUF8vDwMjoGABfg4eElm63gvB9PWQUAAAAAcAqX/QFwRlm/V1BWAQAAAAAAwDQoqwAAAAAAgEtyOBxGRzgto7MZ/fplQVkFAAAAAKi2unXrcMa3jz9+v9Rj3nrrNXXr1kHvvffWKZ/z+eefVrduHXTFFRef9nWfffYJdevWQc8//3SJ7Rs2rNdDD/2fhg7tq969OysubqhefPEZJSfvP+PHMWfOj+rWrYMOHz509g+6jO6881bdc88dFf46//Xfj3Hv3gTdcceYCnmt559/WtdcM6z431deeYleeulZpx+/YsUyPffcUxX+Oqdzqs9Nt24dNGXKR2V+7srA3QABAAAAANXWe+99esrt7777hv76a71at76gxHabzab58+eqQYOGmjPnR918821ydy/9q7XFYtGhQynasmWTmjdvWWJfXl6eli1bWuoxv/++Wg8+eI969eqrRx55Qr6+fkpO3q+vvvpct956vT744DNFR9cuw0dbPu6//xFD5pd17txN7733qYKDQyRJS5Ys1MaNf1XKa7/wwsvy9fVz+vhvvpmmwkLbWY+74Yabdfx4TlmindKpPjfvvfepIiIiyv21KgJlFQAAAACg2mrZslWpbd99N0MbNqzT6NE3qWPHi0rsW716hdLT0/TssxM1btzNWrp0ifr06VfqOaKiaik/P19LliwsVVatXr1Sbm5uioiILLH9yy+nqFWrCzRhwgvF29q166DOnbvq6quH6euvp+r++x8uy4dbLurVq2/I6wYHBys4ONiQ127cuGmFPG9llo+nOtfNissAAQAAAAD429atm/Xmm6+qffuOuvnm20rt//nnH9WkSTNdcEEbNW/eUt9//90pn8disahXr75avHhRqX2LFs1Xz569S63ISktLk91uL3V8WFi47rvvQXXseKHTH8epLtVbu/ZPdevWQRs2rJckffzx+xo58iotWrRAI0deoT59umjs2BuVmLhXK1Ys03XXXa2+fbvq1ltv0M6d20/73N26ddDs2d/qhRcmaNCg3urfv4eeeOIRpaenlXj9efN+1k03jVK/ft10+eVD9NZbrykvL7d4f3p6uiZMeFyXXjpQffp01Q03jNTcuT8V7//3ZYAff/y+PvroveLX//jj9/X44w/ryisvKTWr6amnHtXNN48+7ecqMzNTL7wwQYMH99GgQb31zjtvlPo6/PfyvF9/nafrrx+hPn266uKL++uZZ57QkSOpxZ+f+PjftX79WnXr1kFr1/5Z/Ln//vvvFBc3VAMH9tT69WtLXQYoSQUF+Zo06UUNHNhTQ4f21aRJL5VYfXWqSwXP9rk5+f6/LwM8fPiQnn32SQ0bNlh9+3bVuHG3aN26+OL9Bw8eULduHfTbb4v06KMPqn//7ho8uI8mTnxeubm5qkiUVQAAAAAASMrKytKTT45XYGCQnn76eVmtJX9lTk9P16pVyzVw4BBJ0pAhF2vt2j+0f3/SKZ+vT59+OngwWdu2bS3elpubq5Url6tv3wGljr/ooi7666/1uuee2zVnzo86cCC5eN/FFw9Tjx69yuGjLOng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cRo/frwCAwPVq1cvLVy4UHPnztXkyZONjgagGjh69Kief/55RUdHa9SoUdqyZUuJ/XXq1GHgMc4oJCREI0eO1AcffCBvb2+1atVK8fHxev/993XVVVepfv36RkeEiZ3q/AgKCpKnp6datWplQCK4opCQEI0aNUpffPGF/Pz81KFDB8XHx+u9997TqFGjiu+0DZyOxWLRAw88oPvuu08PPPCA4uLitGnTJr377ru69tpr+VkITtuxY4d8fHwUHR1d7s9NWYVKFRcXp/z8fH3yySeaMWOGYmJiNHHiRA0ZMsToaACqgWXLlunEiRNKTk7WqFGjSu3/3//+p8suu8yAZHAl48ePV1RUlGbOnKk333xTkZGRuvvuuzVmzBijowGoJh5++GFFRETo22+/1QcffKCIiAjdfffduvnmm42OBhcxZMgQeXp66u2339bYsWMVGhqqcePGaezYsUZHgws5cuRIud4B8N8sDiY5AgAAAAAAwCSYWQUAAAAAAADToKwCAAAAAACAaVBWAQAAAAAAwDQoqwAAAAAAAGAalFUAAAAAAAAwDcoqAAAAAAAAmAZlFQAAAAAAAEyDsgoAAAAAAACmQVkFAABcypo1a9SkSRN99913Rkcps0OHDunCCy9UUlKS0VEqzPTp09W3b9/T7n/kkUfUpEkT7d+/v1xf97HHHtOLL75Yrs8JAAAqB2UVAACAQZ5//nkNHTpUMTExxduOHTumJk2a6OabbzYwWflZsWKFunTpUumvO27cOE2fPl3btm2r9NcGAABlQ1kFAABggD/++EMLFy7ULbfcUmL7li1bJEktWrQwIla5stvtWrNmjTp37lzpr12rVi0NHTqU1VUAALggyioAAAADTJkyRe3bt1dUVFSJ7Zs3b5YkNW/e3IhY5WrLli3KyMgwpKySpKuuukqrV69mdRUAAC6GsgoAAFQJaWlpmjBhgnr27KmWLVuqZ8+emjBhgtLT00sdu3//ft11111q166d2rVrp9tvv11JSUnq06ePrrvuugrPevDgQS1evFj9+vUrte/kyqqqUFatXLlSzZo1U3BwsCGv36ZNG0VGRmrq1KmGvD4AADg/7kYHAAAAKKusrCyNGDFC+/bt0xVXXKHmzZtr69atmjZtmlavXq0ZM2bIz89PkpSenq5Ro0bp6NGjGj58uOrXr6/4+Hhdf/31On78eKXkXbZsmQoLC9WrV69S+7Zs2aLAwMASc6xc1cqVKw1bVXVSx44dtXTpUkMzAACAc0NZBQAAXN5HH32kvXv36sknn9SoUaOKtzdr1kzPPPOMPvroI917772SpA8//FApKSl6+eWXdemll0qSRo4cqf/973/6+OOPKyVvfHy8atSoUaqQys7O1r59+3ThhRdWSo6KlJeXp7Vr1xo+KL5x48b68ccflZSUVCUKQAAAqgMuAwQAAC7v119/VUhIiK655poS26+55hqFhIRowYIFxdsWL16s8PBwXXzxxSWOHTNmTKVklaSkpCRFR0fLYrGU2L5161Y5HI4qcQlgfHy8HA6HOnToUK7Pm5qaqg8//FDjx4/XpEmTtGnTpjMef7Kg2r9/f7nmAAAAFYeyCgAAuLz9+/erXr16cncvuWjc3d1ddevWVVJSUoljY2NjZbWW/DEoNDRUAQEBJbbNmTNHI0aMUNu2bdWnT59Sr2uz2fTcc8+pU6dO6tChgx599FHl5eWdNe+xY8eKL0v8t5PD1c90J8A///xTbdu2LfXWsmVLNWvWrMSxTz/9tJo0aaJ169aVep7rrrtOTZo00W+//VbqY27SpInGjh1bvC0hIUF33HGHLrroIrVt21b9+/c/6132VqxYobZt28rb2/uMx52LX375Re+88466dOmip556SiNGjNCKFSv0yiuvyOFwnPIx/778EwAAuAbKKgAAgNMIDAzUtddeW3wJ4X+99957WrNmjX788UfNnz9fu3fv1ssvv3zW57VarbLb7aW2O3MnwA4dOmjdunUl3ubNm6egoCDdc889xcfl5ubqp59+UlBQkGbMmHHK56pfv76+/fbbEttmzpyp+vXrl9g2duxY1atXTwsXLlR8fLw+/PBDNWnS5Iwf46pVq9SlS5czHnMuduzYoeTkZD311FNq0aKFvL29FR0drbFjx6pv376aNm3aKR938vPs5uZWblkAAEDFoqwCAAAuLyYmRgkJCbLZbCW222w27d27t8SsoujoaO3bt69UWXT06FFlZmaW2Na1a1cNHTpU0dHRp3zdmTNn6rbbblNERIRCQkJ055136rvvvlNhYeEZ84aGhurYsWOltm/ZskU1atRQvXr1zvj4f8vPz9ddd92l9u3b67bbbivePm/ePFmtVo0fP15z585VTk5OqccOHjxYq1evVlpamiQpOTlZ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\n",
-      "text/plain": [
-       "<Figure size 1440x720 with 1 Axes>"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    }
-   ],
-   "source": [
-    "# plot luminosity distribution\n",
-    "ldist = population.grid_results['luminosity distribution']\n",
-    "\n",
-    "# pad the distribution with zeros where data is missing\n",
-    "pad_output_distribution(ldist,\n",
-    "                        binwidth['luminosity'])\n",
-    "\n",
-    "# make pandas dataframe from our sorted dictionary of data\n",
-    "plot_data = pd.DataFrame.from_dict({'ZAMS luminosity distribution' : ldist})\n",
-    "\n",
-    "# make the plot\n",
-    "p = sns.lineplot(data=plot_data)\n",
-    "p.set_xlabel(\"$\\log_{10}$ ($L_\\mathrm{ZAMS}$ / L$_{☉}$)\")\n",
-    "p.set_ylabel(\"Number of stars\")\n",
-    "p.set(yscale=\"log\")"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "0546f2f3-4732-4841-8ef3-565fbf6b9961",
-   "metadata": {},
-   "source": [
-    "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! \n",
-    "\n",
-    "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. \n",
-    "\n",
-    "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."
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "673031c9-7d80-45d4-b209-301c127d3edf",
-   "metadata": {
-    "tags": []
-   },
-   "source": [
-    "## A better-sampled grid\n",
-    "\n",
-    "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. \n",
-    "\n",
-    "To do this we first rename the mass grid variable so that it is clear we are working in (natural) logarithmic phase space."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 15,
-   "id": "5956f746-e3b9-4912-b75f-8eb0af66d3f6",
-   "metadata": {},
-   "outputs": [],
-   "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\")"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "532f691c-c1f6-46cc-84f2-970ec1216e40",
-   "metadata": {},
-   "source": [
-    "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."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 16,
-   "id": "108d470a-bb21-40b0-8387-2caa7ab0f923",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# update the sampling, note that the IMF is dprob/dM1, and the phase \n",
-    "# space is now sampled in lnM1, so we multiply by M_1 to \n",
-    "# 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",
-    "    dphasevol=\"dlnM_1\",\n",
-    "    parameter_name=\"M_1\",\n",
-    "    precode=\"M_1=math.exp(lnM_1)\",\n",
-    ")\n",
-    "# print(population.grid_options[\"_grid_variables\"]) # debugging"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 17,
-   "id": "fb8db646-f3d0-4ccd-81ba-7fde23f29c79",
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Doing dry run to calculate total starcount and probability\n",
-      "Generating grid code\n",
-      "Grid has handled 40 stars with a total probability of 0.995631\n",
-      "**************************************\n",
-      "* Total starcount for this run is 40 *\n",
-      "*    Total probability is 0.995631   *\n",
-      "**************************************\n",
-      "\n",
-      "Generating grid code\n",
-      "**********************************************************\n",
-      "*  Population-7a2e4301f5224b2cb8939d2297df0aad finished! *\n",
-      "*           The total probability is 0.995631.           *\n",
-      "*  It took a total of 4.77s to run 40 systems on 2 cores *\n",
-      "*                   = 9.55s of CPU time.                 *\n",
-      "*              Maximum memory use 621.930 MB             *\n",
-      "**********************************************************\n",
-      "\n",
-      "There were no errors found in this run.\n"
-     ]
-    }
-   ],
-   "source": [
-    "# Clean and re-evolve the population \n",
-    "population.clean()\n",
-    "analytics = population.evolve()  \n",
-    "\n",
-    "# Show the results (debugging)\n",
-    "# print (population.grid_results)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "182b1094-5057-4ccf-bac6-9b0e560ad4f6",
-   "metadata": {},
-   "source": [
-    "You should see that the total probability is very close to 1.0, as you would expect for a well-sampled grid. The total will never be exactly 1.0, but that is because we are running a simulation, not a perfect copy of reality."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 18,
-   "id": "68ee1e56-21e5-48f4-b74c-50e48685ae94",
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "image/png": "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\n",
-      "text/plain": [
-       "<Figure size 1440x720 with 1 Axes>"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    }
-   ],
-   "source": [
-    "# plot luminosity distribution\n",
-    "ldist = population.grid_results['luminosity distribution']\n",
-    "\n",
-    "# pad the distribution with zeros where data is missing\n",
-    "pad_output_distribution(ldist,\n",
-    "                        binwidth['luminosity'])\n",
-    "\n",
-    "# make pandas dataframe from our sorted dictionary of data\n",
-    "plot_data = pd.DataFrame.from_dict({'ZAMS luminosity distribution' : ldist})\n",
-    "\n",
-    "# make the plot\n",
-    "p = sns.lineplot(data=plot_data)\n",
-    "p.set_xlabel(\"$\\log_{10}$ ($L_\\mathrm{ZAMS}$ / L$_{☉}$)\")\n",
-    "p.set_ylabel(\"Number of stars\")\n",
-    "p.set(yscale=\"log\")\n",
-    "plt.show()"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "31fe91bb-177d-4e4e-90cf-298a3f8a8b61",
-   "metadata": {},
-   "source": [
-    "Most stars are low mass red dwarfs, with small luminosities. Without the IMF weighting, our model population would have got this completely wrong! \n",
-    "\n",
-    "As you increase the resolution, you will see this curve becomes even smoother. The wiggles in the curve are (usually) sampling artefacts because the curve should monotonically brighten above about log(*L*/L<sub>☉</sub>)=-2. \n",
-    " \n",
-    "Remember you can play with the binwidth too. If you want a very accurate distribution you need a narrow binwidth, but then you'll also need high resolution (lots of stars) so lots of CPU time, hence cost, CO<sub>2</sub>, etc."
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "ba032bd8-b4a2-4558-9fd9-8e1e03d7d162",
-   "metadata": {},
-   "source": [
-    "Things to try:\n",
-    "\n",
-    " * Change the resolution to make the distributions smoother: what about error bars, how would you do that?\n",
-    " * Different initial distributions: the Kroupa distribution isn't the only one out there\n",
-    " * Change the metallicity and mass ranges\n",
-    " * What about a non-constant star formation rate? This is more of a challenge!\n",
-    " * What about evolved stars? Here we consider only the *zero-age* main sequnece. What about other main-sequence stars? What about stars in later phases of stellar evolution?\n",
-    " * Binary stars! (see notebook_luminosity_function_binaries.ipynb)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "5abd0935-3957-4859-80c1-6f5d7ce4b614",
-   "metadata": {},
-   "outputs": [],
-   "source": []
-  }
- ],
- "metadata": {
-  "kernelspec": {
-   "display_name": "Python 3",
-   "language": "python",
-   "name": "python3"
-  },
-  "language_info": {
-   "codemirror_mode": {
-    "name": "ipython",
-    "version": 3
-   },
-   "file_extension": ".py",
-   "mimetype": "text/x-python",
-   "name": "python",
-   "nbconvert_exporter": "python",
-   "pygments_lexer": "ipython3",
-   "version": "3.6.4"
-  }
- },
- "nbformat": 4,
- "nbformat_minor": 5
-}
diff --git a/docs/build/html/examples/notebook_population.html b/docs/build/html/examples/notebook_population.html
index 0b2d2d3901d2deeffd24aae4a525ad7d9ab07d68..96975f411c6091e3ab350da8b953d9cdf4183845 100644
--- a/docs/build/html/examples/notebook_population.html
+++ b/docs/build/html/examples/notebook_population.html
@@ -1412,7 +1412,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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 1b4fa431d1de9a3cd0539a2ab06408a42915d48e..d5186edd83aa08725045f1d86581776cd4bdc714 100644
--- a/docs/build/html/examples/notebook_solar_system.html
+++ b/docs/build/html/examples/notebook_solar_system.html
@@ -657,7 +657,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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 c61dcdcf13b82e3d0d2b19a667e32bb68799b5d2..9954a2b4a8de1103b9028d8e847406e22baabb4d 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 55ef3f357ec8d30890dbf6ffc98a7baeec470d93..500aaf10b5d7b3c3bdb0e410523b3bbf11b38a66 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 dce673ad7e2c8ed45e3d3e38e493fdabf6575d93..ef1abd20b1f3562675efb451e42f8d11453bd692 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 8aa8d8bb6ee8f6762372fa38faff2c3762f25ed1..f96b236d6ec19936be34c76ba35646dee432ad91 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 988f50baead42ae68aefadd4e916cb735621ad6b..4c0a274a99a04eaa21d8d67b937bf53ec1f1f9c8 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 9a8a2c676bcd005350fac1d83a013911e847bbb4..0037fc2d4c192f02a55feea1666ff97a24ed9c04 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 1f80a8ff15a787dd2e9239aefc9495b781be825a..27c00fa1f3e013c688a548d7d7ae2939e68f15a0 100644
--- a/docs/build/html/index.html
+++ b/docs/build/html/index.html
@@ -108,6 +108,7 @@
 <p>We present our package <a class="reference external" href="https://ri0005.pages.surrey.ac.uk/binary_c-python/">binary-c-python</a>, a population synthesis code which is aimed to provide a convenient and easy-to-use interface to the <a class="reference external" href="http://personal.ph.surrey.ac.uk/~ri0005/doc/binary_c/binary_c.html">binary_c</a> framework, allowing the user to rapidly evolve single stellar systems and populations of star systems. Based on a early work by Jeff Andrews. Updated and extended for Python3 by David Hendriks, Robert Izzard.</p>
 <p>binary_c-python is developed for students and scientists in the field of stellar astrophysics, who want to study the evolution of individual or populations of single and binary star systems (see the example use-case notebooks in the <a class="reference external" href="https://ri0005.pages.surrey.ac.uk/binary_c-python/example_notebooks.html">online documentation</a>.</p>
 <p>The current release is version <a class="reference external" href="VERSION">version</a>, and is designed and tested to work with binary_c version 2.2.1 (for older or newer versions we can’t guarantee correct behaviour).</p>
+<p>The current development branch is <code class="docutils literal notranslate"><span class="pre">development_0.9.5/2.2.1</span></code>.</p>
 <section id="installation">
 <h2>Installation<a class="headerlink" href="#installation" title="Permalink to this heading"></a></h2>
 <p>To install binary_c-python we need to make sure we meet the requirements of installation, and</p>
@@ -335,7 +336,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 c65f10a95f12f50b1a350ae7f8324c6e9d543b60..9961ab6130bf5030dcde025ce46ea15927fe985b 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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/objects.inv b/docs/build/html/objects.inv
index eff0c40607a9ed046007d96819db1ba0f28cbfd4..3e77a5e386089d1e8be497065e27c43a57ccfc7e 100644
Binary files a/docs/build/html/objects.inv and b/docs/build/html/objects.inv differ
diff --git a/docs/build/html/plot_functions.html b/docs/build/html/plot_functions.html
index 531211e8139eb5fb39febfa9bb14925d7383526b..31775e89269b09fa059195ebf430d0d2ff024d92 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 6eac60d04e03a2158c7b9d18adfc73f6968d7044..4995e61e4f26048357fc7cc6e9268fd5d20ee15b 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 da844f5e72fc6c70dfbbc8de5bc3b26d8f9815d2..bc5a51dd11d8f32248f82ab8e7398bd1d29bfb46 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 7ba8c7a040fdddaa15f6f5f0ab61f1369a3057f8..d7897bedb140bc66d7bc81ce50e9597571f06e3d 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 ee1e8d5d6f801633a373d80ae348d9b3b7eb7f90..7d2c7c6d09e0b13c4945bb6614f3b68d7f128708 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 fbf83d2a2f731fdd06c48393c8a9d792510ced16..35e8869466a51527616c7e4f11ebd04d20e9cff3 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 e3a8fd30cd1442b4707c3e810869f3f8ff3ce22b..232d3c6e979b5cdbc792feeb55421440946294e1 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 d7fc6de813d6dac6048db04e2106a0b60beab30e..32fec17173ad69d8050e16aa6e975fdc730d12cc 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 6da7aee9883d0912e98acf83e65dfdeddb6b479c..4b38425e1e9a9adb576ef6990145f9b6d108967b 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 753e9b0ca4fde7b6a2c607ba151a3a9afb3ab3aa..e4f6a9eaafff42c08dc78d8eb09aa6dbe831a6aa 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 b97d558f702d5a84db465adf8989eec13d7306c7..7e063b248079c5d46807d3cdb14cbc5525e94d6a 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 add7db0836e185315685a3381af6c4d35e5028c7..6d5ab84dca989c276aa47e8f189e20b9158e3fae 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 ddf4f0e59937dd72d1cb7a302e9ca9f6bc6a07d2..d5bc70a5b2644ee0c4e366b2c612bc2cd85c4184 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 e3db921fdeedc9714401d18400c5eaf7c0406dff..a39d45529463e4fc77bac16f31c2ddb891640ad9 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 348f01c471094bce110f7f9160ca76a61765d7dd..5d423b5f193ef18eba22e7736640344f9f223c09 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 d2840cb251c6a63b7b43ed4dd4a3f4945d7ee72f..16dab6e8c697d71a4c4a6e52cc057ea16f4b31ac 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 baf3c5c761297ca6d5989ab59f77cab916051844..e62e89399bd7fa1a8ad6caa7954095aabe836dbb 100644
--- a/docs/build/html/readme_link.html
+++ b/docs/build/html/readme_link.html
@@ -134,6 +134,7 @@
 <p>We present our package <a class="reference external" href="https://ri0005.pages.surrey.ac.uk/binary_c-python/">binary-c-python</a>, a population synthesis code which is aimed to provide a convenient and easy-to-use interface to the <a class="reference external" href="http://personal.ph.surrey.ac.uk/~ri0005/doc/binary_c/binary_c.html">binary_c</a> framework, allowing the user to rapidly evolve single stellar systems and populations of star systems. Based on a early work by Jeff Andrews. Updated and extended for Python3 by David Hendriks, Robert Izzard.</p>
 <p>binary_c-python is developed for students and scientists in the field of stellar astrophysics, who want to study the evolution of individual or populations of single and binary star systems (see the example use-case notebooks in the <a class="reference external" href="https://ri0005.pages.surrey.ac.uk/binary_c-python/example_notebooks.html">online documentation</a>.</p>
 <p>The current release is version <a class="reference external" href="VERSION">version</a>, and is designed and tested to work with binary_c version 2.2.1 (for older or newer versions we can’t guarantee correct behaviour).</p>
+<p>The current development branch is <code class="docutils literal notranslate"><span class="pre">development_0.9.5/2.2.1</span></code>.</p>
 <section id="installation">
 <h2>Installation<a class="headerlink" href="#installation" title="Permalink to this heading"></a></h2>
 <p>To install binary_c-python we need to make sure we meet the requirements of installation, and</p>
@@ -282,7 +283,7 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 514c3aba459c1043082ee6c38d8f0bd7df458052..0e7202022329eceab06de691294f3558038a9789 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 dcaa7b14a857839f10278fab1d6c1b76d8807df7..1d0efe756337e4b925b359bd1b1fe7350be95515 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 497d2546080eb76337d7cb2bbe09c7444880a500..45468d04955b4d5a5a2ff2f2a866629ea3b55e9f 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, 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, 17, 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, 5, 6, 11, 12, 13, 14, 15, 16, 20, 22, 23, 25, 26, 32, 34, 40], "properti": [0, 5, 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, 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, 13, 14, 15, 16, 19], "2022": [0, 13], "23": [0, 5, 16], "20": [0, 5, 8, 9, 13, 14, 15, 16, 17, 19, 38], "34": [0, 5, 7, 9, 12, 13, 16], "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, 5, 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, 17, 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, 5, 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, 5, 6, 7, 8, 12, 13, 14, 15, 16, 17, 31, 35, 38], "1e": [0, 7, 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, 13], "see": [0, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 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, 14, 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, 17, 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, 5, 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, 17, 19, 22, 23, 25, 38, 40], "so": [0, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 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, 6, 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, 17, 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, 13, 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, 17, 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, 17, 19, 23, 40], "hem": 0, "7": [0, 1, 5, 6, 7, 8, 9, 12, 14, 15, 16, 17, 18, 19, 23, 32, 40], "hehg": 0, "8": [0, 3, 5, 6, 8, 9, 12, 14, 15, 16, 17, 19, 31, 32], "hegb": [0, 5], "9": [0, 5, 6, 7, 9, 12, 13, 14, 15, 16, 19, 23, 40], "hewd": 0, "10": [0, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 18, 19, 22, 32, 38, 41], "cowd": 0, "11": [0, 5, 6, 9, 12, 14, 15, 16, 19], "onewd": 0, "12": [0, 5, 6, 9, 12, 13, 14, 15, 16, 19, 20, 32], "ns": [0, 1, 8, 9, 16], "13": [0, 5, 6, 8, 9, 12, 14, 15, 16, 19], "bh": [0, 5, 8], "14": [0, 5, 9, 12, 14, 15, 16, 19], "massless_remn": 0, "15": [0, 5, 6, 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, 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, 14, 15, 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, 5, 8, 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, 5, 12, 20, 21, 23, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 43], "simul": [0, 1, 6, 8, 9, 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, 7, 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, 21, 25, 32, 35], "call": [0, 1, 2, 11, 12, 14, 15, 16, 20, 21, 22, 25, 26, 30, 31, 33, 35, 37, 38, 39, 41], "code": [0, 1, 5, 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, 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, 5, 6, 7, 8, 11, 12, 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, 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, 5, 7, 12, 13, 14, 15, 16, 17, 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, 5, 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, 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, 8, 9, 13, 14, 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], "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, "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, 5, 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, 5, 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, "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, 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, 17, 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, 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, "milki": 0, "wai": [0, 2, 5, 12, 14, 15, 21, 22, 26], "500": 0, "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, 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, 5, 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, 5, 6, 8, 13, 17, 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, "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, 19], "hendrik": [0, 19, 23, 40], "21": [0, 1, 5, 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, 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, 5, 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, 5, 13, 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, 5, 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, 5, 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, 6], "assum": [0, 6, 8, 13, 17, 25, 38], "mc": [0, 5, 16, 19, 31], "bagb": 0, "6msun": 0, "around": [0, 5, 9, 12, 18, 19], "08msun": 0, "pol": 0, "1998": [0, 32], "08": [0, 5, 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, 17, 19, 20, 21, 22, 23, 25, 26, 30, 31, 34, 37, 40, 41], "explod": 0, "electon": 0, "42": [0, 5, 8, 16], "minimum_mcbagb_for_nondegenerate_carbon_ignit": 0, "degener": 0, "25msun": 0, "25": [0, 5, 6, 8, 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, 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, 15, 23, 40], "2004": 0, "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, 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, 5, 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, 32], "use_tabular_intershell_abundances_karakas_2012": 0, "c13_eff": 0, "intershel": 0, "region": [0, 38], "process": [0, 5, 6, 8, 13, 14, 15, 16, 18, 19, 20, 21, 22, 26, 30], "gallino": 0, "busso": 0, "lugaro": 0, "provid": [0, 16, 17, 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, "e2_prescript": 0, "how": [0, 2, 4, 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, 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, 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, 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, 32], "rais": [0, 2, 16, 20, 22], "batchmod": 0, "control": [0, 6, 13, 14, 15, 16, 22], "variabl": [0, 4, 6, 7, 8, 13, 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, 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, 19], "62": [0, 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, 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, "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, 7, 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, 5, 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, 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, 12, 13, 14, 15, 16, 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, 5, 6, 7, 8, 11, 13, 14, 15, 16, 17, 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, 5, 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, 5, 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, 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, 5, 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, 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, 5, 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, 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, 9, 13, 16], "accord": [0, 6, 31, 32, 38], "75": [0, 5, 6], "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, 14, 15, 32, 38], "won": [0, 12, 23, 40], "t": [0, 1, 2, 5, 6, 12, 14, 15, 16, 17, 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, 5, 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, 17, 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, 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, 17, 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, 6, 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, 14, 15, 20, 22, 23, 26, 31, 40], "nucreacmult": 0, "z": [0, 6, 8, 19, 21, 32, 43], "04": [0, 5, 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, 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, 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, 13, 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, 13, 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, 5, 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, 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, 5, 7, 11, 23, 24, 40, 41], "legacy_yield": 0, "ensemble_def": 0, "defer": 0, "ensemble_dt": 0, "store": [0, 2, 4, 5, 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, 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, 5, 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], "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, 5, 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, 5, 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, 14, 15, 16, 31, 35, 38], "good": [0, 5, 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, 17, 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, 13, 22], "idum": 0, "nb": 0, "pleas": [0, 6, 7, 13, 14, 15, 16, 20, 22, 23, 29, 40], "reverse_tim": 0, "To": [0, 5, 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, 5, 6, 8, 12, 13, 14, 15, 16, 17, 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, 5, 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, 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, 5, 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, 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, 5, 6, 8, 13, 14, 15, 16, 17, 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, 5, 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, 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, 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, 7, 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, 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, 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, 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, 23, 40], "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, 5, 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, 5, 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, 5, 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, 11, 12, 20, 22], "ad": [2, 4, 6, 8, 12, 13, 23, 31, 35, 40], "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, 5, 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, 17, 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], "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, 5, 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, 23, 40], "last": [4, 19, 20, 32], "usecas": 4, "tutori": [4, 23, 40], "individu": [4, 5, 13, 23, 40], "run_system_wrapp": [4, 5, 9, 18, 23, 24], "via": [4, 5, 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], "notebook": [5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 23, 40], "log_fil": [5, 22], "bbh": 5, "summari": 5, "run_system": [5, 7, 9, 11, 12, 17, 18, 25, 41], "bhbh": 5, "There": [5, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19, 21, 22, 23, 25, 32, 34, 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], "tmp_dir": [5, 6, 8, 12, 14, 15, 16, 17, 22, 35], "notebook_bhbh": 5, "txt": [5, 12, 16, 19, 23, 31, 40, 41], "60": [5, 31], "readout": 5, "m2": [5, 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], "13868": 5, "random_count": [5, 12, 19], "0000": [5, 12, 19], "000": [5, 12, 19], "00": [5, 12, 16, 19], "6492": 5, "26": 5, "756": 5, "off_m": [5, 12, 19], "type_chng": [5, 12, 19], "6588": 5, "687": 5, "2135": 5, "972": 5, "5298": 5, "325": 5, "5700": 5, "903": 5, "randbuf": [5, 19], "14456": 5, "mer": 5, "415747": 5, "403489": 5, "273236": 5, "627902": 5, "92015": 5, "31213": 5, "gt": [5, 7, 9, 12, 13, 16, 18, 19], "vk": [5, 19], "223": 5, "39": [5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 18], "vr": [5, 19], "94523": 5, "phi": [5, 19], "470721": 5, "vn": [5, 19], "final": [5, 8, 14, 15, 19], "runawai": [5, 19], "v": [5, 19, 23, 40], "155": 5, "054": [5, 32], "143": 5, "72": 5, "9341": 5, "max_tim": [5, 12, 19], "entir": [5, 9, 12, 18, 19], "wider": 5, "littl": [5, 6, 8, 13, 16, 17, 29], "40": [5, 14, 15], "71985": 5, "3101": 5, "48": 5, "y": [5, 6, 17, 20, 21, 25, 26], "009": [5, 17], "beg_symb": 5, "3583": 5, "081": 5, "35": [5, 32], "930": [5, 15], "3971": 5, "98": [5, 15], "023": 5, "014": 5, "lock": [5, 31], "3928": [5, 19], "41": [5, 13], "632": 5, "894": 5, "3995": 5, "4219": 5, "27": [5, 14, 16], "615": 5, "603": 5, "5603": 5, "013": 5, "5403": 5, "157": 5, "151": 5, "5696": 5, "18": [5, 13, 15, 19], "012": 5, "6475": 5, "763": [5, 32], "731": 5, "5791": 5, "19": [5, 16, 19], "010": 5, "011": 5, "6548": 5, "730": 5, "729": [5, 8], "5794": 5, "203": 5, "6550": 5, "728": 5, "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, "724": [5, 9], "5798": 5, "546": 5, "021": 5, "6649": 5, "502": 5, "683": 5, "5812": 5, "548": 5, "543": 5, "2663": 5, "178": 5, "480": 5, "8828": 5, "57": 5, "460": 5, "end_symb": 5, "2670": 5, "171": 5, "458": 5, "8837": 5, "58": 5, "455": 5, "2733": 5, "111": 5, "272": 5, "8921": 5, "59": 5, "265": 5, "2801": 5, "033": 5, "166": 5, "8987": 5, "4925": 5, "910": 5, "995": 5, "11434": 5, "97": 5, "4989": 5, "850": 5, "942": [5, 13], "11516": 5, "5282": 5, "966": 5, "616": 5, "539": 5, "54990": 5, "431329": 5, "844304": 5, "737837": 5, "957392": 5, "745668": 5, "49451": 5, "76448": 5, "366": 5, "674": [5, 16], "5058": 5, "68517": 5, "15497": 5, "077": 5, "5393": 5, "16623": 5, "147": 5, "335": [5, 14], "088": 5, "214": 5, "68852": 5, "172227": 5, "112321": 5, "69127": 5, "5344": 5, "029": 5, "787956": 5, "497544": 5, "721903": 5, "10755": 5, "526": 5, "7893": 5, "410": [5, 19], "158": 5, "675756": 5, "459842": 5, "312": 5, "331": 5, "229": 5, "113": 5, "746": 5, "54865e": 5, "51": 5, "54769e": 5, "104": 5, "39903e": 5, "let": [5, 8, 12, 14, 15, 16, 17, 21], "def": [5, 6, 8, 12, 13, 14, 15, 16, 19], "detect_bhbh": 5, "logfil": [5, 12, 20, 23, 40], "log_file_lin": 5, "readlin": 5, "len": [5, 6, 12, 16, 19], "enough": [5, 32], "loop": [5, 6, 8, 12, 13, 14, 15, 16, 31, 35], "stellar_type1": 5, "stellar_type2": 5, "rememb": [5, 6, 14, 15], "pop": [5, 9, 17, 29], "return_dict": 5, "system_properti": 5, "log_file_cont": 5, "join": [5, 6, 7, 8, 9, 12, 13, 14, 16, 19, 22, 26], "oop": 5, "found": [5, 6, 8, 13, 14, 15, 16, 30, 32, 37], "unbound": 5, "bound": [5, 32, 38], "search": [5, 6, 13, 17, 23], "search_for_bhbh": 5, "maxcount": 5, "No": [5, 6, 7, 8, 13, 14, 16, 22, 23, 40], "arg": [5, 7, 16, 20, 29, 32, 33], "search_result": 5, "16379": 5, "17247": 5, "211": [5, 15], "81114": 5, "159326": 5, "970141": 5, "340351": 5, "132638": 5, "502053": 5, "15449": 5, "825261": 5, "304595": 5, "5300": 5, "592": 5, "17209": 5, "210": [5, 19], "22992": 5, "391": 5, "584197": 5, "452365": 5, "0846357": 5, "848993": 5, "111944": 5, "44077": 5, "703362": 5, "772581": 5, "130746": 5, "5444": 5, "wide": [5, 14, 15], "caus": [5, 13, 43], "former": 5, "unphys": [5, 8, 13], "3486": 5, "006": 5, "8674": 5, "840": 5, "505": 5, "3185": 5, "78": 5, "017": [5, 17], "8704": 5, "600": 5, "509": 5, "3192": 5, "393": 5, "418": 5, "8706": 5, "568": 5, "510": 5, "3193": 5, "81": [5, 6], "496": [5, 6], "8910": 5, "54": [5, 14], "758": [5, 19], "3246": 5, "beg_rch": 5, "9650": 5, "495": 5, "571": 5, "3223": 5, "29": [5, 22], "913": [5, 13], "0585": 5, "24": 5, "961": [5, 13], "453": 5, "3211": 5, "65": [5, 6, 38], "999": 5, "007": [5, 17], "end_rch": 5, "0649": 5, "747": 5, "479": 5, "3216": 5, "67": [5, 16], "002": [5, 18, 19], "2699": 5, "22": [5, 14, 19], "235": [5, 6], "402": 5, "3331": 5, "32131": 5, "175268": 5, "383437": 5, "361343": 5, "457958": 5, "403947": 5, "2347": 5, "8374": 5, "64": [5, 13], "5055": 5, "53807": 5, "084183": 5, "10734e": 5, "2799": 5, "398": 5, "2946": 5, "392": [5, 19], "beg_bss": 5, "9074": 5, "49": [5, 13], "493": 5, "3373": 5, "end_bss": 5, "9113": 5, "243": 5, "3393": 5, "238": 5, "9192": 5, "236": [5, 19], "059": 5, "3447": 5, "9203": 5, "47": 5, "904": 5, "3454": 5, "69": 5, "9786": 5, "242": 5, "145": 5, "3893": 5, "83": 5, "0907": 5, "249": 5, "4523": 5, "296": 5, "1018": 5, "256": [5, 22], "583": 5, "4540": 5, "997": 5, "1137": 5, "232": 5, "4551": 5, "925": 5, "4596": 5, "101099": 5, "660012": 5, "331365": 5, "36634": 5, "576176": 5, "9248": 5, "0519": 5, "8488": 5, "62022": 5, "27061": 5, "58096e": 5, "3473": 5, "oh": 5, "dear": 5, "secondari": [5, 6, 13, 32, 43], "shorter": 5, "shrink": [5, 8], "best": [5, 21, 22], "acquir": 5, "closer": 5, "grvitation": 5, "0001": [5, 7, 43], "39800": 5, "005": 5, "8571": 5, "8600": 5, "096": 5, "0451": 5, "503": 5, "0491": 5, "561": 5, "0678": 5, "3099": 5, "0681": 5, "2094": 5, "56": 5, "978": 5, "43": 5, "022": 5, "2884": 5, "91": [5, 13], "672": [5, 13], "32438": 5, "qc": 5, "733417": 5, "st": 5, "9778": 5, "8207": 5, "1945": 5, "85": [5, 38], "rc": [5, 6, 8, 13, 14, 15, 17, 25], "67126": 5, "0222": 5, "1192": 5, "comenv": [5, 8], "presc": 5, "m01": 5, "mc1": 5, "l1": 5, "14773e": 5, "rzam": [5, 43], "21541": 5, "convfrac": 5, "560301": 5, "lambda_ion": 5, "a_in": 5, "p_in": 5, "1793": 5, "89": [5, 15, 16], "jtot_in": 5, "09752e": 5, "55": [5, 8, 13, 15, 16, 32], "jorb_in": 5, "95297e": 5, "eorbi": 5, "31037e": 5, "ebindi": 5, "92616e": 5, "sepf": 5, "1221": 5, "1116": 5, "1193": 5, "7646": 5, "mf1": 5, "6094": 5, "mf2": 5, "af": 5, "jf": 5, "44174e": 5, "jej": 5, "82682e": 5, "eorbf": 5, "99926e": 5, "eej": 5, "89371e": 5, "alpha_ej": 5, "0273415": 5, "2095": 5, "821": 5, "122": 5, "647": 5, "092": 5, "793": 5, "mstart": 5, "407726": 5, "3102": 5, "62709": 5, "46857": 5, "a_out": 5, "p_out": 5, "00631839": 5, "30747": 5, "jorb_out": 5, "6543": 5, "rl1": 5, "099": 5, "rl2": 5, "792766": 5, "60828": 5, "gyr": [5, 6, 8], "61249": 5, "803": 5, "44": 5, "040": 5, "566": [5, 19], "32": [5, 20, 22], "457": 5, "79375": 5, "301545": 5, "0266946": 5, "404793": 5, "189909": 5, "0438563": 5, "126": 5, "248": 5, "275557": 5, "668975": 5, "421": 5, "918": 5, "5655": 5, "319412": 5, "506": 5, "521": 5, "8539": 5, "46": [5, 16], "629": 5, "9016": 5, "45": 5, "848": 5, "33": 5, "648": 5, "4816": 5, "633": 5, "954": 5, "5343": 5, "533": 5, "5348": 5, "5599": 5, "534": 5, "5604": 5, "5867": 5, "899": 5, "781": 5, "5875": 5, "5878": 5, "106": [5, 16], "5914": 5, "901": 5, "258": 5, "428": 5, "5916": 5, "804": 5, "873": 5, "461": 5, "28": [5, 7, 9, 12], "413": 5, "6245": 5, "808": 5, "245": 5, "7494": 5, "823": 5, "806": 5, "63": [5, 8, 13], "569": 5, "454": 5, "8032": 5, "830": [5, 19], "333": 5, "087": 5, "998": 5, "8033": 5, "990": 5, "8290": 5, "085": 5, "053": 5, "0403": 5, "050": 5, "0427": 5, "37": 5, "893": 5, "99": [5, 13, 15], "552236": 5, "103282": 5, "393936": 5, "539534": 5, "864167": 5, "3329": 5, "0483": 5, "179": 5, "074": 5, "327": 5, "351": 5, "42972": 5, "0791504": 5, "8925": 5, "991187": 5, "66": [5, 8, 13], "5305": 5, "36": 5, "3905": 5, "82105": 5, "9857": 5, "7333": 5, "68": [5, 16], "5019": 5, "08275": 5, "77": [5, 15], "3696": 5, "0742": 5, "1051": 5, "0146": 5, "contact": [5, 23, 40], "00319559": 5, "00262864": 5, "163": 5, "57683": 5, "0798097": 5, "bh_bh": 5, "1626": 5, "501459": 5, "154271": 5, "coalesc": 5, "r_": 5, "odot": [5, 6, 8, 19], "13312": 5, "7617": 5, "018": 5, "7647": 5, "572": 5, "7721": 5, "7785": 5, "3100": 5, "1326": 5, "52": 5, "305": 5, "695": 5, "2791": 5, "159": 5, "09665": 5, "714712": 5, "3048": 5, "0276": 5, "2332": 5, "71818": 5, "6952": 5, "9757": 5, "44223e": 5, "33552": 5, "467851": 5, "1708": 5, "09706e": 5, "96557e": 5, "76416e": 5, "30388e": 5, "7114": 5, "4385": 5, "9758": 5, "8926": 5, "5423": 5, "72832e": 5, "63566e": 5, "39152e": 5, "03996e": 5, "0241634": 5, "1327": 5, "028": 5, "711": 5, "367": 5, "459": 5, "397754": 5, "3084": 5, "9071": 5, "46089": 5, "0152545": 5, "57093": 5, "6771": 5, "459382": 5, "9411": 5, "9452": 5, "215": 5, "508": 5, "76": [5, 13], "284": 5, "67260": 5, "643477": 5, "441321": 5, "365945": 5, "352254": 5, "0493316": 5, "2147": 5, "401": 5, "309959": 5, "299971": 5, "175": 5, "0005": 5, "759863": 5, "986": 5, "186": 5, "8186": 5, "301": 5, "55202": 5, "8609": 5, "46244": 5, "7292": 5, "322": 5, "3844": 5, "4261": 5, "09": 5, "8255": 5, "339": 5, "1375": 5, "026": 5, "1380": [5, 19], "7437": 5, "276": 5, "488": 5, "702": 5, "185": 5, "7464": 5, "110": 5, "815": 5, "7466": 5, "938": 5, "881": 5, "7479": 5, "466": 5, "188": 5, "114": 5, "7598": 5, "278": 5, "754": 5, "7691": 5, "279": 5, "231": 5, "697": 5, "7692": 5, "987": 5, "7854": 5, "696": 5, "061": 5, "9061": 5, "063": 5, "1521": 5, "1942": 5, "060": 5, "1949": 5, "936": 5, "534629": 5, "163092": 5, "907792": 5, "0909357": 5, "00121347": 5, "2315": 5, "7429": 5, "140": 5, "491": 5, "362": 5, "342": 5, "00762447": 5, "958149": 5, "304": 5, "115": [5, 32], "9359": 5, "295576": 5, "61": [5, 16], "understand": [5, 22], "mention": 5, "introduct": [5, 6], "nto": 5, "most": [5, 6, 7, 8, 14, 15, 20, 23, 40], "next": [5, 14, 15, 16, 20], "catch": [5, 6, 8, 12, 13, 14, 15, 16, 19, 20, 22], "sever": [5, 11, 16, 19, 22, 25, 34, 41], "trend": 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, 17, 22, 23, 32, 40], "mathrm": [6, 8, 13, 14, 15], "univers": [6, 8, 22], "These": [6, 7, 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], "through": [6, 7, 11, 12, 13, 14, 15, 16, 25, 26, 35, 41], "studi": [6, 23, 40], "leq": 6, "bse_opt": [6, 13, 14, 15, 16, 21, 38], "grid_opt": [6, 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, "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], "self": [6, 8, 12, 13, 14, 15, 16, 21, 22, 26, 29, 30, 31, 32, 35, 37, 38, 39], "const_linear": [6, 8, 13, 14, 16, 35, 38], "min_mass": 6, "max_mass": 6, "res_mass": 6, "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, 16, 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], "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], "zams_mass": [6, 13, 14, 15, 16], "splitlin": [6, 7, 8, 9, 12, 13, 14, 15, 16, 17], "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], "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], "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, "ensur": 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], "subprocess": [6, 8, 13, 14, 16], "c98b63ab1b0346d9a1067fc08cb8dd00": 6, "finish": [6, 8, 13, 14, 15, 16, 20, 25, 31], "took": [6, 8, 13, 14, 15, 16, 19], "167": 6, "133": [6, 16], "mb": [6, 8, 13, 14, 15, 16, 20, 22], "were": [6, 8, 13, 14, 15, 16, 20, 39], "metadata": [6, 8, 13, 14, 16, 21, 23, 24, 35], "complet": [6, 8, 13, 14, 15, 16], "technic": [6, 8, 9, 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], "pad_output_distribut": [6, 8, 13, 14, 15, 20], "max_row": [6, 8], "max_column": [6, 8], "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], "8af9954e2cc847aa8ceabc618e3d147d": 6, "suddenli": 6, "smooth": [6, 14, 15], "a34e3c842d96496c87ab0d70bdacac11": 6, "247": [6, 16], "824": 6, "jerki": 6, "strong": 6, "rgb": 6, "tip": [6, 32], "proper": [6, 9, 34], "program": [6, 23, 40], "languag": 6, "sim": 6, "750": 6, "cours": [6, 25], "simpl": [6, 8, 13, 17], "haven": 6, "talk": 6, "produc": 6, "suffer": 6, "thermonuclear": 6, "lumin": 6, "kilonova": 6, "interfac": [7, 17, 20, 23, 26, 40], "framework": [7, 23, 40], "sourcecod": [7, 9, 23, 40], "binary_c_python": [7, 12, 13, 14, 15, 16, 20], "_binary_c_bind": [7, 9, 12, 17, 39, 43], "cell": [7, 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, 23, 31, 34, 35, 40, 41], "4500": 7, "lt": [7, 12, 13, 16, 18], "0x7fc1f0c3ff00": 7, "single_star_lifetim": [7, 9, 12], "4838": [7, 9, 12], "unpars": 7, "abridg": [7, 9, 16], "algorithm": [7, 23], "__arg_begin": 7, "lastli": [7, 12], "00632092": 7, "0141": 7, "alter": [8, 13, 35], "intermedi": 8, "Not": 8, "notebook_comenv": 8, "alpha_": 8, "demonstr": 8, "keep": [8, 16, 31, 33], "log_dt": [8, 22], "progress": [8, 20], "focu": 8, "imposs": 8, "logperrang": [8, 13], "lnm1": [8, 13, 14, 15, 16], "min": [8, 9, 13, 14, 15, 16, 32], "precod": [8, 13, 14, 15, 16, 35], "exp": [8, 13, 14, 15, 16, 35], "three_part_powerlaw": [8, 13, 14, 15, 16, 32], "150": [8, 13, 14, 15, 16], "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], "comenv_count": 8, "had": [8, 13, 14, 15, 21], "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, 14, 15], "binned_pre_period": 8, "aritif": 8, "binned_post_period": 8, "histogram": 8, "machin": [8, 22, 23, 40], "0645564": 8, "e7857f8149e949a286f9bfe35157f91f": 8, "minut": [8, 20], "668": 8, "594": 8, "population_id": [8, 13, 14, 16, 22], "evolution_typ": [8, 13, 14, 15, 16, 22], "failed_count": [8, 13, 14, 15, 16], "failed_prob": [8, 13, 14, 15, 16], "failed_systems_error_cod": [8, 13, 14, 15, 16], "errors_exceed": [8, 13, 14, 15, 16], "errors_found": [8, 13, 14, 15, 16], "total_prob": [8, 13, 14, 15, 16], "06455639233064192": 8, "total_count": [8, 13, 14, 15, 16], "start_timestamp": [8, 13, 14, 15, 16], "1655558353": 8, "8189669": 8, "end_timestamp": [8, 13, 14, 15, 16], "1655558379": 8, "477376": 8, "time_elaps": [8, 13, 14, 16, 28], "658409118652344": 8, "total_mass_run": [8, 13, 14, 15, 16], "3410": 8, "9363465845586": 8, "total_probability_weighted_mass_run": [8, 13, 14, 15, 16], "2260906041851175": 8, "zero_prob_stars_skip": [8, 13, 14, 15, 16], "unmerg": 8, "deepcopi": 8, "logper": [8, 32], "90": 8, "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], "peak": [8, 14, 15, 38], "sim10": 8, "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], "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, 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], "338": 9, "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, 14, 15], "get_help": [11, 20], "get_help_al": [11, 20, 21], "get_help_sup": [11, 20], "get_default": [11, 20], "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], "dict_kei": [11, 12], "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], "uncom": [12, 13, 14, 15, 16, 17], "docstr": [12, 25], "12461": 12, "test_logfil": 12, "22065": 12, "11003": 12, "1302": 12, "11582": 12, "2424": 12, "12325": 12, "1085": 12, "817": 12, "12457": 12, "1301": 12, "783": 12, "12460": 12, "8955": 12, "774": 12, "shrinkagb": 12, "1490": 12, "678": 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, "1254": 12, "row": [12, 19, 25], "notebook_popul": [12, 13, 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], "output_dict": [12, 13], "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, "9927": 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], "side": [13, 14, 15, 16], "cube": 13, "nre": [13, 38], "07": [13, 14, 15, 19, 32, 38], "document": [13, 14, 15, 16, 22, 24, 31, 34], "recompil": [13, 14, 15, 16, 23, 40], "somewhat": [13, 14, 15, 16, 17], "purpos": [13, 14, 15, 16, 22, 25], "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], "amp": 13, "1dex": [13, 14, 15], "binned_log_luminos": [13, 14, 15], "0x7f777242c4c0": 13, "binary_c_grid_58bfc73fabfb43b18ae455666fe4d8f8": 13, "py": [13, 15, 16, 22, 23, 29, 40], "dry_run": [13, 16], "symlink": [13, 16], "binary_c_grid": [13, 16], "latest0": 13, "3159": 13, "645748": 13, "996": 13, "processor": 13, "008": 13, "019": 13, "025": 13, "mainprocess": 13, "system_queue_fil": 13, "027": 13, "latest1": 13, "3145": 13, "0s": 13, "tpr": 13, "36e": 13, "etf": 13, "mem": 13, "584": 13, "7mb": 13, "7e": 13, "23146": 13, "6e": 13, "3147": 13, "37e": 13, "signal": [13, 22], "941": 13, "free": 13, "18t12": 13, "996087": 13, "948339": 13, "95": [13, 15], "ran": [13, 22], "792": 13, "161354": 13, "018956": 13, "948532": 13, "93": 13, "791": 13, "158204": 13, "027113": 13, "949028": 13, "92": 13, "784": 13, "166051": 13, "queue": [13, 22, 26, 30], "007947": 13, "955484": 13, "160139": 13, "959": 13, "960": 13, "968": 13, "58bfc73fabfb43b18ae455666fe4d8f8": 13, "6457484448453049": 13, "1655552941": 13, "9314468": 13, "1655552946": 13, "3461084": 13, "414661645889282": 13, "65199": 13, "55913120549": 13, "6433998017038131": 13, "titl": [13, 34], "l_": [13, 14, 15], "yscale": [13, 14, 15, 17], "weirdli": 13, "cost": [13, 14, 15], "observ": [13, 14, 15], "later": [13, 14, 15, 22], "notebook_luminos": [14, 15], "synthesi": [14, 15, 16, 22, 23, 40], "binarygrid": [14, 15, 16], "predefin": [14, 15, 16, 32], "assign": [14, 15, 16, 35], "chosen": [14, 15, 16, 35], "trio": [14, 15, 16], "throughout": [14, 15, 16, 35], "theoret": [14, 15], "integr": [14, 15, 32, 38], "densiti": [14, 15, 32], "accur": [14, 15], "_1": [14, 15], "probtot": [14, 15], "mmax": [14, 15, 32, 38], "mmin": [14, 15, 22, 32, 38], "6afcef10590f48f3b089a6e5bffc70c4": 14, "164": 14, "1655551739": 14, "2635226": 14, "1655551740": 14, "371832": 14, "108309268951416": 14, "3650000000002": 14, "035": 14, "ldist": [14, 15], "implic": [14, 15], "105": [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, "452bcf6eb93e4e2493019ec93ee250df": 14, "468": 14, "883": 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], "dlnm": [14, 15], "dlnm_1": [14, 15, 16, 35], "_grid_vari": [14, 15, 22, 35], "991317": 14, "ec5d853278c743a3acdb8ab290f641df": 14, "475": 14, "789": 14, "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], "sequnec": [14, 15], "notebook_luminosity_function_binari": [14, 15], "distribution_funct": [15, 16, 21, 23, 24], "const": 15, "b6213f2eb7f94d3196cf966b7b76b9f9": 15, "472": [15, 19], "population_nam": 15, "9999999999999998": 15, "1635760806": 15, "5066257": 15, "1635760813": 15, "4966016": 15, "3999999999996": 15, "03499999999999": 15, "218222": 15, "4b8c7f4a86e445099d73f27dffaad94b": 15, "587": 15, "984": 15, "995631": 15, "7a2e4301f5224b2cb8939d2297df0aad": 15, "621": 15, "recogn": [16, 17], "__": 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], "alreadi": [16, 17, 26, 31, 35], "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], "centr": [16, 35], "branchpoint": [16, 35], "branchcod": [16, 35], "postcod": [16, 35], "topcod": [16, 35], "bottomcod": [16, 35], "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, "necessari": [16, 17, 19, 20, 21, 37], "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, "53": 16, "9508": 16, "000182216": 16, "399005684057e": 16, "82041": 16, "7151": 16, "00013561": 16, "443375325717e": 16, "81645": 16, "84": 16, "9909": 16, "000100925": 16, "451195752942e": 16, "81559": 16, "51114e": 16, "452661646076e": 16, "81543": 16, "59e": 16, "ce756bb317f64099a459bf8b55a746ac": 16, "73": 16, "293": 16, "406": 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, "latest2": 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, "299": 16, "531": 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, "300": [16, 38], "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, "solarsystem": 17, "central": 17, "notebook_solar_system": 17, "mmercuri": 17, "moreov": 17, "mercuri": 17, "1mmercuri": 17, "orbital_separ": 17, "1amercuri": 17, "star1": 17, "orbital_eccentr": 17, "206": 17, "venu": 17, "1mvenu": 17, "1avenu": 17, "earth": 17, "1mearth": 17, "1aearth": 17, "mar": 17, "1mmar": 17, "1amar": 17, "093": 17, "jupit": 17, "1mjupit": 17, "1ajupit": 17, "048": [17, 19], "saturn": 17, "1msaturn": 17, "1asaturn": 17, "056": 17, "uranu": 17, "1muranu": 17, "1auranu": 17, "047": 17, "neptun": 17, "1mneptun": 17, "1aneptun": 17, "pluto": 17, "1mpluto": 17, "1apluto": 17, "2444": 17, "244": 17, "planet": 17, "cs1": 17, "superflu": 17, "fourth": 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, "645": 19, "776": 19, "8427e": 19, "7773": 19, "639": 19, "775": 19, "8435e": 19, "748": 19, "9373e": 19, "0900": 19, "705": 19, "2934e": 19, "1204": 19, "726": 19, "700": 19, "3081e": 19, "2118": 19, "3702e": 19, "2646": 19, "462": 19, "34421": 19, "d48r": 19, "0570946": 19, "458272": 19, "13108": 19, "562029": 19, "924056": 19, "89211": 19, "78817": 19, "302": 19, "148": 19, "113492": 19, "80602": 19, "124379": 19, "2365": 19, "7087": 19, "7695": 19, "444": 19, "608402": 19, "696003": 19, "796455": 19, "0834973": 19, "85661": 19, "3914": 19, "156": 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, "3930": 19, "402750e": 19, "3931": 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, "94": 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], "length": 20, "human": 20, "readabl": 20, "trem": 20, "dn": [20, 32], "differenti": 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, 23, 40], "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, "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], "whenev": [23, 40], "reinstal": [23, 40], "virtualenviron": [23, 40], "host": [23, 40], "person": [23, 40], "ph": [23, 40], "recent": [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], "ve": [23, 28, 40], "dhendrik": [23, 40], "paper_joss_binarycpython": [23, 40], "submodul": [23, 40], "initialis": [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, "vb": [26, 29, 31, 38], "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, "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, "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, "80": [32, 38], "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, "795": 32, "imf_scalo1986": 32, "scalo": 32, "80msol": 32, "70": 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, "grid_variable_numb": 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, "281": 43, "257": 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, "how": 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": [14, 15, 16], "variabl": [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], "pull": [23, 40], "joss": [23, 40], "paper": [23, 40], "articl": [23, 40], "repo": [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_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_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", "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, 18, 19, 20, 21, 22, 24, 25, 27, 28, 29, 30, 31, 32, 34, 36, 37, 39, 40], "follow": [0, 7, 9, 15, 18, 19, 21, 24, 31, 37], "chapter": [0, 21, 23], "contain": [0, 1, 2, 3, 7, 11, 12, 14, 15, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "all": [0, 1, 2, 3, 6, 7, 8, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 30, 31, 33, 37, 38, 39, 40], "current": [0, 2, 8, 9, 11, 13, 14, 19, 20, 22, 25, 30, 39], "version": [0, 2, 7, 11, 15, 19, 20, 22, 38, 39], "can": [0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 30, 31, 34, 39, 40, 42], "handl": [0, 2, 3, 4, 7, 12, 19, 20, 21, 22, 25, 26, 34, 35, 38, 40, 42], "along": [0, 21, 22, 33, 39], "descript": [0, 7, 11, 19, 21, 26, 31, 33], "other": [0, 1, 2, 5, 6, 11, 12, 13, 14, 15, 19, 21, 22, 24, 25, 31, 33, 39], "properti": [0, 5, 19, 21, 24, 34], "thi": [0, 1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42], "inform": [0, 1, 3, 4, 6, 9, 12, 13, 14, 15, 19, 20, 21, 24, 25, 31, 33, 35, 38], "wa": [0, 6, 11, 12, 14, 15, 20, 21, 22, 30, 31, 39], "obtain": [0, 6, 8, 13, 14, 30], "build": [0, 1, 4, 7, 19, 25, 31], "git": [0, 15, 19, 22, 39], "branch": [0, 6, 19, 22, 38, 39], "branch_david": 0, "revis": [0, 38], "6118": 0, "20220617": 0, "8463fa650": 0, "built": [0, 1, 19, 22, 39], "jun": 0, "17": [0, 5, 13, 14, 15, 18], "2022": [0, 13], "23": [0, 5, 15], "20": [0, 5, 8, 9, 13, 14, 15, 16, 18, 37], "34": [0, 5, 7, 9, 12, 13, 15], "metal": [0, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 31, 42], "set": [0, 1, 2, 3, 4, 5, 9, 11, 12, 16, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 36, 37, 38, 39], "e": [0, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 19, 20, 21, 22, 25, 28, 29, 30, 31, 34, 36, 37, 39, 42], "amount": [0, 2, 7], "mass": [0, 1, 2, 4, 5, 6, 7, 8, 11, 12, 13, 15, 16, 18, 19, 21, 24, 31, 34, 37, 38, 40, 42], "matter": [0, 7], "which": [0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 25, 29, 30, 31, 33, 34, 36, 37, 38, 39, 40, 42], "hydrogen": [0, 6, 7], "helium": [0, 6, 7], "If": [0, 2, 6, 7, 8, 13, 14, 15, 16, 19, 20, 21, 22, 24, 25, 26, 27, 29, 30, 31, 34, 36, 39, 40, 42], "you": [0, 1, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 30, 31, 33, 34, 37, 39, 42], "ar": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 24, 28, 29, 30, 31, 33, 34, 36, 37, 38, 39, 42], "us": [0, 1, 2, 3, 4, 11, 12, 15, 19, 20, 21, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 36, 37, 38, 40, 42], "bse": [0, 7, 9, 15, 31], "must": [0, 2, 5, 6, 7, 8, 12, 13, 14, 15, 16, 30, 34, 37], "1e": [0, 7, 9, 12, 13, 18], "4": [0, 1, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 20, 30, 31, 37], "0": [0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 25, 26, 28, 31, 34, 37, 39, 42], "03": [0, 1, 5, 7, 13], "see": [0, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 20, 21, 22, 24, 28, 30, 31, 34, 38, 39], "also": [0, 4, 5, 6, 7, 8, 9, 13, 14, 15, 18, 19, 20, 21, 22, 25, 27, 30, 33, 38, 39, 42], "nucsyn_metal": [0, 7], "effective_metal": [0, 7, 18], "type": [0, 1, 2, 3, 5, 8, 12, 13, 14, 15, 18, 19, 20, 21, 24, 25, 30, 31, 33, 34, 37, 38, 41, 42], "float": [0, 2, 3, 5, 7, 11, 12, 16, 19, 31, 32, 37, 42], "default": [0, 1, 2, 3, 6, 7, 9, 11, 13, 14, 15, 18, 19, 20, 21, 25, 26, 28, 29, 30, 31, 33, 36, 37, 38, 40], "valu": [0, 1, 2, 3, 6, 7, 11, 12, 13, 14, 15, 18, 19, 20, 21, 24, 27, 28, 31, 33, 34, 37], "02": [0, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 18, 31, 42], "effect": [0, 5, 7, 9, 13, 21, 31], "routin": [0, 2, 4, 7, 22, 24, 40], "like": [0, 1, 6, 7, 8, 13, 14, 15, 16, 18, 19, 21, 22, 24, 30, 37, 39], "schneider": [0, 7], "wind": [0, 5, 6, 7, 13], "loss": [0, 5, 7, 12, 13, 16], "default_to_metal": [0, 7], "1": [0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 21, 22, 24, 25, 29, 30, 31, 32, 34, 36, 37, 39, 40, 42], "just": [0, 2, 6, 7, 8, 15, 18, 19, 20, 21, 22, 26, 30, 38, 39, 42], "same": [0, 2, 7, 12, 15, 21, 22, 31, 34, 39, 40], "main": [0, 1, 6, 7, 9, 13, 14, 15, 18, 21, 22, 39], "differ": [0, 5, 6, 7, 8, 13, 14, 15, 18, 19, 21, 22, 24, 37, 39], "between": [0, 7, 21, 31, 37], "rang": [0, 6, 7, 8, 12, 13, 14, 15, 21, 31, 34, 37], "valid": [0, 7, 9, 19, 31], "while": [0, 5, 6, 7, 8, 13], "s": [0, 2, 3, 5, 6, 7, 8, 12, 14, 15, 16, 18, 19, 20, 21, 25, 27, 28, 30, 31, 35, 42], "limit": [0, 6, 7, 8, 13, 14, 15, 21, 24], "stellar": [0, 4, 5, 7, 21, 22, 24, 31, 37, 38, 39, 41], "evolut": [0, 1, 4, 5, 6, 7, 12, 13, 14, 15, 16, 18, 21, 22, 24, 37, 39], "so": [0, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 20, 21, 24, 25, 30], "macro": [0, 11, 19, 38], "m_1": [0, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 34, 40], "initi": [0, 4, 5, 6, 7, 11, 12, 18, 20, 31], "one": [0, 2, 7, 11, 14, 15, 16, 17, 18, 21, 24, 28, 30, 33, 37, 40], "solar": [0, 4, 6, 7, 8, 11, 22, 31, 42], "unit": [0, 6, 7, 11, 16, 19, 42], "intern": [0, 7, 11, 21], "index": [0, 7, 11, 12, 15, 16, 21, 22, 25, 31, 34], "m_2": [0, 5, 6, 7, 8, 9, 12, 13, 15, 17, 18], "two": [0, 2, 6, 7, 9, 19, 22, 30, 32, 39, 41, 42], "m_3": [0, 7], "three": [0, 7, 13, 14, 15, 31], "2": [0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 21, 22, 24, 25, 29, 31, 36, 37, 39], "m_4": [0, 7], "four": [0, 7], "3": [0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 21, 22, 29, 31, 36, 37, 39], "vrot1": 0, "equatori": 0, "rotat": [0, 31], "veloc": [0, 31], "km": 0, "hurlei": 0, "et": [0, 31, 42], "al": [0, 31, 42], "2000": [0, 5], "2002": 0, "prescript": [0, 5, 15], "sequenc": [0, 6, 9, 13, 14, 18], "truli": 0, "non": [0, 2, 14, 21, 22, 30, 39], "someth": [0, 6, 8, 12, 13, 14, 21, 42], "small": [0, 5, 14], "g": [0, 1, 2, 5, 6, 8, 9, 12, 13, 14, 15, 17, 18, 19, 21, 22, 25, 28, 29, 30, 31, 36, 37, 39], "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, 18, 24, 31, 42], "dai": [0, 5, 8, 9, 12, 13, 15, 18, 31, 42], "prot4": 0, "inclination1": 0, "inclin": 0, "degre": 0, "inclination2": 0, "inclination3": 0, "inclination4": 0, "b_1": 0, "magnet": 0, "field": [0, 22, 39], "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, 15, 24], "usual": [0, 5, 6, 7, 13, 14, 15, 19, 21, 30, 31], "main_sequ": [0, 13, 14, 18], "note": [0, 5, 6, 13, 14, 15, 18, 19, 21, 25, 30, 34, 37, 38], "onli": [0, 2, 6, 9, 13, 14, 15, 16, 18, 19, 21, 22, 25, 26, 30, 37, 39, 42], "work": [0, 2, 3, 9, 12, 13, 14, 15, 18, 19, 21, 22, 25, 30, 39], "both": [0, 2, 7, 13, 14, 15], "ag": [0, 4, 5, 6, 8, 22, 37], "core_mass": [0, 9], "white": [0, 6], "dwarf": [0, 6, 14], "black": [0, 4, 6, 22], "hole": [0, 4, 6, 22], "neutrn": 0, "integ": [0, 6, 21, 37, 42], "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, 18, 19, 22, 28, 30, 31, 34, 39], "tpagb": [0, 6], "6": [0, 1, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 22, 39], "hem": 0, "7": [0, 1, 5, 6, 7, 8, 9, 12, 14, 15, 16, 17, 18, 22, 31, 39], "hehg": 0, "8": [0, 3, 5, 6, 8, 9, 12, 14, 15, 16, 18, 30, 31], "hegb": [0, 5], "9": [0, 5, 6, 7, 9, 12, 13, 14, 15, 18, 22, 39], "hewd": 0, "10": [0, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 17, 18, 21, 31, 37, 40], "cowd": 0, "11": [0, 5, 6, 9, 12, 14, 15, 18], "onewd": 0, "12": [0, 5, 6, 9, 12, 13, 14, 15, 18, 19, 31], "ns": [0, 1, 8, 9, 15], "13": [0, 5, 6, 8, 9, 12, 14, 15, 18], "bh": [0, 5, 8], "14": [0, 5, 9, 12, 14, 15, 18], "massless_remn": 0, "15": [0, 5, 6, 8, 9, 12, 13, 14, 15, 16, 18, 21, 31], "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, 15, 24], "stellar_type_3": 0, "stellar_type_4": 0, "max_stellar_type_1": 0, "maximum": [0, 6, 7, 8, 9, 13, 14, 15, 21, 31, 37, 42], "stop": [0, 8, 13, 18, 19, 21], "when": [0, 1, 2, 3, 6, 7, 8, 11, 12, 15, 16, 19, 21, 22, 25, 27, 28, 29, 30, 31, 33, 36, 37, 39, 40], "reach": [0, 5, 6, 8], "neg": [0, 2, 37], "massless": 0, "remnant": [0, 6], "allow": [0, 2, 9, 17, 18, 21, 22, 28, 31, 39], "absolut": [0, 19, 37], "16": [0, 5, 14, 18, 31], "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, 18, 20, 21, 24, 30, 31, 33, 34], "weight": [0, 14, 21], "appli": 0, "base": [0, 2, 3, 5, 8, 14, 15, 19, 20, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 42], "sai": [0, 6], "function": [0, 1, 2, 3, 4, 5, 6, 8, 9, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42], "run": [0, 1, 4, 5, 6, 7, 8, 13, 14, 17, 19, 20, 21, 25, 27, 29, 31, 34, 36, 40, 42], "grid": [0, 4, 5, 12, 19, 20, 22, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 42], "simul": [0, 1, 6, 8, 9, 14, 15, 36], "sum": [0, 2], "should": [0, 1, 2, 5, 6, 8, 12, 13, 14, 15, 18, 19, 21, 22, 24, 25, 29, 30, 31, 33, 36, 37, 39, 40], "phasevol": [0, 15], "system": [0, 4, 6, 7, 8, 9, 13, 14, 15, 17, 18, 19, 20, 21, 22, 24, 31, 32, 35, 39, 40, 42], "phase": [0, 6, 8, 13, 14], "volum": 0, "binary_grid": 0, "null": [0, 7, 19], "stellar_structure_algorithm": 0, "structur": [0, 2, 8, 19, 21, 24], "modifi": [0, 2, 9, 22, 39], "none": [0, 1, 2, 3, 5, 6, 7, 8, 13, 14, 15, 16, 18, 19, 20, 21, 25, 26, 28, 29, 30, 31, 33, 34, 36, 37, 42], "extern": 0, "defin": [0, 1, 15, 20, 24, 31, 34], "call": [0, 1, 2, 11, 12, 14, 15, 19, 20, 21, 24, 25, 29, 30, 32, 34, 36, 37, 38, 40], "code": [0, 1, 5, 9, 12, 13, 14, 15, 17, 18, 20, 24, 29, 30, 31, 33, 34, 36, 37, 40, 42], "yet": [0, 2, 18, 19, 21, 24], "implement": [0, 2, 21], "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, 18, 19, 38], "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, 18, 37], "myr": [0, 6, 8, 12, 13, 14, 16, 37], "15000": [0, 5, 7, 9, 12, 15, 16, 18], "max_model_numb": 0, "number": [0, 2, 3, 5, 6, 8, 13, 14, 15, 16, 18, 19, 20, 21, 25, 30, 31, 32, 33, 34, 37], "model": [0, 1, 6, 8, 9, 12, 13, 14, 15, 16, 17, 18, 21], "ignor": [0, 2, 9, 12, 15, 18, 21, 31, 34], "monte_carlo_kick": 0, "turn": [0, 2, 3, 5, 12, 15, 19], "mont": [0, 21], "carlo": [0, 21], "sn": [0, 5, 6, 8, 13, 14, 16, 18], "kick": [0, 5, 18, 21], "On": [0, 15, 19, 30], "true": [0, 2, 3, 5, 6, 8, 11, 13, 14, 15, 17, 18, 19, 20, 21, 24, 25, 27, 29, 30, 33, 34, 36, 37, 38], "inde": [0, 14], "broken": 0, "fals": [0, 3, 5, 6, 8, 13, 14, 15, 16, 19, 20, 21, 24, 25, 27, 28, 29, 30, 34, 36, 37, 38], "disable_debug": 0, "disabl": [0, 15], "debug": [0, 6, 8, 13, 14, 15, 21, 32], "ha": [0, 1, 2, 5, 6, 8, 9, 11, 13, 14, 15, 18, 19, 21, 27, 30, 34], "an": [0, 2, 3, 5, 6, 7, 8, 11, 12, 14, 15, 18, 19, 21, 22, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 40], "requir": [0, 3, 8, 12, 13, 14, 15, 16, 18, 19, 21, 24, 25, 31, 40], "rebuild": [0, 21, 22, 25, 39], "timestep_log": 0, "timestep": [0, 8, 9, 12, 13, 14], "log": [0, 1, 4, 5, 7, 12, 16, 17, 19, 21, 22, 24, 30, 31, 32, 34, 37, 39, 40, 42], "rejects_in_log": 0, "show": [0, 4, 6, 7, 8, 12, 13, 14, 15, 18, 21, 24, 37], "reject": 0, "vandenheuvel_log": 0, "van": 0, "den": 0, "heuvel": 0, "custom_timeout_tim": 0, "custom": [0, 1, 2, 3, 4, 5, 7, 12, 13, 14, 15, 16, 19, 20, 21, 22, 24, 31, 40], "timeout": 0, "time": [0, 1, 2, 3, 5, 6, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 24, 27, 30, 31, 32, 37], "compil": [0, 1, 9, 15, 18, 22, 39], "david_custom_timeout": 0, "100": [0, 5, 6, 8, 13, 14, 31, 37], "evolution_split": 0, "split": [0, 5, 12, 15, 16, 18, 21, 29, 36], "evolutionari": [0, 12], "splitpoint": 0, "supernova": [0, 5, 8, 21], "occur": [0, 42], "disable_ev": 0, "whether": [0, 5, 7, 15, 19, 20, 21, 24, 29, 30, 31, 33, 36, 37, 38, 42], "new": [0, 2, 6, 8, 12, 13, 14, 15, 19, 20, 25, 30, 31, 34], "event": [0, 5, 6], "we": [0, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 25, 26, 27, 28, 29, 30, 31, 33, 36, 37, 39, 42], "evolution_splitting_sn_eccentricity_threshold": 0, "threshold": [0, 19, 21], "eccentr": [0, 7, 9, 12, 14, 15, 16, 18, 24, 31, 42], "abov": [0, 6, 9, 12, 14, 15, 19, 20, 31], "happen": [0, 6, 8], "01": [0, 8, 9, 13, 14, 15, 18], "evolution_splitting_sn_n": 0, "evolution_splitting_maxdepth": 0, "max": [0, 8, 9, 13, 14, 15, 21, 31], "equation_of_state_algorithm": 0, "equat": 0, "state": [0, 30], "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], "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, 15, 21, 22, 32, 34, 40], "gbwind": 0, "first": [0, 2, 6, 8, 12, 13, 14, 15, 16, 19, 22, 25, 30, 31, 39, 42], "red": [0, 6, 14, 16], "giant": [0, 6, 16], "reimer": 0, "choos": [0, 6, 8, 9, 13, 18, 24, 25, 30], "gb_reimers_eta": 0, "rate": [0, 14, 31], "schroeder": 0, "cuntz": 0, "2005": 0, "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, 15], "post": [0, 5, 6, 8, 9, 20], "A": [0, 2, 4, 5, 15, 28, 42], "gb": 0, "postagb_wind_use_gi": 0, "mean": [0, 5, 19, 21, 22, 29, 31, 36, 37, 39], "whatev": [0, 9, 18, 19, 20, 22, 25, 30, 39], "prescrib": 0, "option": [0, 1, 2, 6, 8, 13, 14, 15, 16, 17, 18, 19, 20, 22, 25, 26, 28, 30, 31, 33, 34, 37, 39, 42], "includ": [0, 1, 2, 5, 6, 9, 12, 14, 15, 16, 19, 20, 22, 24, 30, 31, 39], "postagb_wind_non": 0, "postagb_wind_krticka2020": 0, "krticka": 0, "kub\u00e1t": 0, "krtickov\u00e1": 0, "635": 0, "a173": 0, "postagb_wind_gi": 0, "teff_postagb_min": 0, "minimum": [0, 7, 19, 21, 31, 37, 38, 42], "temperatur": [0, 16, 24, 31], "teff_postagb_max": 0, "6000": 0, "k": [0, 6, 16, 31], "120000": 0, "mattsson_orich_tpagbwind": 0, "experiment": [0, 19], "mattsson": 0, "oxygen": [0, 6], "rich": 0, "mattsson_mass_loss": 0, "magnetic_braking_factor": 0, "multipli": [0, 2, 14, 21, 37], "brake": 0, "angular": [0, 16, 24], "momentum": [0, 16], "magnetic_braking_gamma": 0, "gamma": 0, "factor": [0, 2, 21, 37], "rappaport": 0, "style": [0, 19, 32], "express": [0, 19], "magnetic_braking_algorithm": 0, "andronov": 0, "pinnsonneault": 0, "sill": 0, "2003": [0, 31], "barn": 0, "kim": 0, "2010": [0, 21, 31], "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, 18], "flash": 0, "multipl": [0, 2, 6, 21, 31], "cf": 0, "eta": [0, 13], "formula": [0, 19], "4e": [0, 18], "8e": 0, "gbwindfac": 0, "tpagbwindfac": 0, "eagbwindfac": 0, "nieuwenhuijzen_windfac": 0, "nieuwenhuijzen": 0, "de": [0, 5], "jager": 0, "tpagbwind": 0, "dure": [0, 5, 16, 18], "karaka": 0, "vassiliadi": 0, "wood": 0, "1993": 0, "bloecker": 0, "loon": 0, "rob": [0, 31, 42], "c": [0, 1, 5, 7, 9, 12, 15, 22, 39, 40], "variant": 0, "respect": [0, 29, 31, 36], "goldman": 0, "2017": [0, 15, 21, 31], "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, 31, 42], "calcul": [0, 2, 6, 8, 13, 14, 15, 19, 21, 27, 31, 34, 42], "typic": 0, "200": 0, "milki": 0, "wai": [0, 2, 5, 12, 14, 20, 21, 25], "500": 0, "magellan": 0, "cloud": 0, "approxim": [0, 6, 8], "mw": 0, "vwind_multipli": 0, "vwind_beta": 0, "beta": 0, "speed": [0, 28], "where": [0, 1, 2, 6, 13, 14, 15, 19, 21, 22, 25, 27, 30, 31, 33, 37, 39], "vwind": 0, "sqrt": 0, "escap": 0, "125": [0, 15], "from": [0, 2, 3, 5, 6, 8, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 24, 25, 29, 30, 31, 34, 36, 38, 42], "superwind_mira_switchon": 0, "In": [0, 2, 5, 6, 8, 9, 11, 12, 13, 14, 15, 18, 21, 30, 37], "agb": [0, 6], "superwind": 0, "given": [0, 1, 3, 7, 13, 14, 17, 18, 19, 20, 21, 25, 28, 29, 30, 31, 34, 36, 37, 40, 42], "mira": 0, "vari": [0, 6, 8, 15], "switch": 0, "vw93_mira_shift": 0, "depend": [0, 6, 19, 21, 22, 24, 31, 39], "plu": 0, "offset": 0, "vw93_multipli": 0, "tpagb_reimers_eta": 0, "tout_pringle_1992_multipli": 0, "tout": [0, 42], "pringl": 0, "1992": 0, "artificial_mass_accretion_r": 0, "d": [0, 1, 5, 6, 8, 9, 12, 13, 15, 16, 19, 37], "constant": [0, 2, 14, 24, 31, 37], "accret": [0, 5], "n": [0, 1, 5, 6, 7, 8, 9, 12, 13, 14, 15, 17, 18, 19, 21, 25, 31], "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, 16, 24, 31, 42], "artificial_accretion_start_tim": 0, "artifici": 0, "artificial_accretion_ignor": 0, "artificial_accretion_end_tim": 0, "end": [0, 5, 19, 21, 27, 31], "wr_wind": 0, "massiv": [0, 5, 6, 8, 13, 16, 31], "wr": 0, "maeder": 0, "meynet": 0, "nugi": 0, "lamer": 0, "john": 0, "eldridg": 0, "vink": 0, "earli": [0, 22, 39], "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, 19, 21], "bh_prescript": [0, 5], "prescrit": 0, "relat": 0, "newli": 0, "form": [0, 6, 7, 8, 13, 14, 15, 20, 25, 30, 33, 38], "its": [0, 2, 3, 13, 14, 15, 16, 19, 21, 22, 24, 25, 26, 30, 33, 37, 38, 39, 40], "progenitor": [0, 15], "co": [0, 5], "core": [0, 6, 8, 13, 14, 15, 21, 24], "bh_hurley2002": 0, "bh_belczynski": [0, 5], "belczynski": 0, "bh_spera2015": 0, "spera": 0, "2015": 0, "bh_fryer12_delai": 0, "fryer": 0, "2012": [0, 31], "delai": [0, 21], "bh_fryer12_rapid": [0, 5], "rapid": 0, "bh_fryer12_startrack": 0, "startrack": 0, "ppisn_prescript": 0, "pulsat": 0, "pair": [0, 2, 5, 19, 34, 38], "instabl": 0, "undergo": [0, 8], "ppisn": 0, "pisn": 0, "flag": [0, 1, 20, 21, 30, 37, 38], "binary_c_paramet": [0, 6, 13, 14, 15], "h": [0, 5, 9, 19], "farmer": 0, "2019": [0, 18], "hendrik": [0, 18, 22, 39], "21": [0, 1, 5, 15, 18], "prep": 0, "fit": [0, 2, 12, 31, 42], "data": [0, 3, 4, 5, 6, 7, 8, 12, 13, 14, 15, 16, 18, 19, 21, 22, 25, 26, 30, 31, 34, 40, 42], "ppisn_non": 0, "ppisn_farmer19": 0, "ppisn_new_fit_21": 0, "ppisn_additional_massloss": 0, "addit": 0, "massloss": 0, "top": [0, 15, 34], "result": [0, 1, 2, 3, 8, 12, 13, 14, 15, 18, 19, 21, 22, 25, 30, 31, 37, 39], "posit": [0, 2, 8, 31], "ppisn_core_mass_range_shift": 0, "shift": 0, "taken": [0, 2, 9, 31], "account": [0, 21, 31], "remov": [0, 2, 8, 12, 15, 16, 19, 20], "lower": [0, 13, 15, 31, 34, 37], "higher": [0, 6, 8, 13, 14, 15, 19, 21, 22, 31, 39], "ppisn_massloss_multipli": 0, "p": [0, 6, 8, 13, 14, 16, 31, 33], "THe": [0, 20], "affect": [0, 5, 6], "use_lwn_fallback": 0, "nazehdin": 0, "lovegrov": 0, "wooslei": 0, "envelop": [0, 4, 5, 6, 22], "eject": [0, 8, 16], "fail": [0, 6, 8, 13, 14, 15, 19, 21, 22, 30, 39], "sn_kick_distribution_ii": 0, "distribut": [0, 2, 4, 8, 13, 15, 19, 25, 26, 31, 37], "ii": [0, 18], "collaps": 0, "fix": [0, 5, 12, 19, 20, 24, 30, 31, 32], "maxwellian": 0, "kick_velocity_fix": 0, "kick_velocity_maxwellian": 0, "kick_velocity_custom": 0, "sn_kick_distribution_ecap": 0, "electron": 0, "captur": [0, 5, 13, 19], "sn_kick_distribution_ns_n": 0, "neutron": [0, 6, 15], "surviv": [0, 16], "merger": [0, 5], "sn_kick_distribution_ibc": 0, "born": [0, 6, 13, 14], "after": [0, 6, 8, 9, 13, 14, 15, 20, 21, 30, 34, 37], "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, 5, 7, 11, 16, 19, 20, 21, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40], "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, 15, 19, 20, 22, 25, 31, 34, 38, 39], "survivor": 0, "hybrid": 0, "he": [0, 5], "snia": 0, "explos": [0, 5, 6, 18], "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, 37], "190": [0, 5, 18], "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, 18, 30], "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, 19], "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, 22, 39], "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, 21, 25, 30, 31, 32], "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, 15, 16, 20, 21, 24, 25, 29, 36, 37], "zero": [0, 1, 4, 5, 6, 8, 19, 21, 22, 30], "wd_kick": 0, "wd_kick_direct": 0, "direct": [0, 20], "random": [0, 5, 7, 18, 21], "up": [0, 1, 4, 5, 9, 12, 16, 19, 20, 25, 26, 28, 29, 31, 36], "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, 17, 18, 19, 20, 21, 25], "birth": 0, "rlof": [0, 5, 7, 42], "puls": [0, 6, 42], "wd_kick_pulse_numb": 0, "everi": [0, 8, 19, 21, 22, 39], "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, 15, 18, 24], "minimum_helium_ignition_core_mass": 0, "ignit": [0, 6], "case": [0, 2, 4, 7, 15, 19, 21, 22, 25, 30, 37, 39], "strip": [0, 7, 12, 16], "make": [0, 1, 2, 3, 5, 6, 8, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 24, 25, 29, 30, 31, 39, 40, 42], "sdb": 0, "sdo": 0, "total": [0, 2, 6, 8, 13, 14, 15, 18, 19, 21, 24, 31, 34], "minimum_co_core_mass_for_carbon_ignit": 0, "carbon": [0, 6], "assum": [0, 6, 8, 13, 16, 24, 37], "mc": [0, 5, 15, 18, 30], "bagb": 0, "6msun": 0, "around": [0, 5, 9, 12, 17, 18], "08msun": 0, "pol": 0, "1998": [0, 31], "08": [0, 5, 18], "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, 18, 19, 20, 21, 22, 24, 25, 29, 30, 33, 36, 39, 40], "explod": 0, "electon": 0, "42": [0, 5, 8, 15], "minimum_mcbagb_for_nondegenerate_carbon_ignit": 0, "degener": 0, "25msun": 0, "25": [0, 5, 6, 8, 18], "maximum_mcbagb_for_degenerate_carbon_ignit": 0, "max_neutron_star_mass": 0, "befor": [0, 2, 5, 6, 8, 13, 14, 15, 20, 21, 22, 30, 31, 39], "2msun": 0, "chandrasekhar_mass": 0, "chandrasekhar": 0, "44msun": 0, "38": [0, 5, 15], "delta_mcmin": 0, "reduc": [0, 5], "third": [0, 16, 31, 37], "dredg": 0, "As": [0, 6, 8, 12, 13, 14, 15], "izzard": [0, 22, 39], "2004": 0, "increas": [0, 5, 8, 13, 14], "henc": [0, 8, 14, 16], "lambda_min": 0, "effici": [0, 6, 8], "lambda": [0, 5, 8], "lambda_mult": 0, "impli": 0, "onc": [0, 37], "mcmin": 0, "lambda_multipli": 0, "minimum_envelope_mass_for_third_dredgeup": 0, "straniero": 0, "suggest": [0, 22, 39], "5msun": 0, "howev": [0, 9, 14, 15], "circumstanti": 0, "evid": 0, "2009": 0, "well": [0, 3, 9, 12, 13, 14, 21, 22, 39], "newer": [0, 2, 22, 39], "stancliff": 0, "low": [0, 6, 8, 14, 31], "nearer": 0, "more": [0, 1, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 37, 39], "appropri": [0, 5, 15, 21, 25, 28, 29, 30, 34, 36], "mass_of_pmz": 0, "partial": 0, "mix": [0, 2, 21], "zone": 0, "tabl": [0, 31, 37], "ask": [0, 7, 42], "abat": 0, "detail": [0, 6, 12, 19, 21], "seri": [0, 37], "paper": 0, "2013": 0, "2014": [0, 31], "use_tabular_intershell_abundances_karakas_2012": 0, "c13_eff": 0, "intershel": 0, "region": [0, 37], "process": [0, 5, 6, 8, 13, 14, 15, 17, 18, 19, 20, 21, 25, 29], "gallino": 0, "busso": 0, "lugaro": 0, "provid": [0, 15, 16, 20, 21, 22, 25, 31, 39, 40], "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, "e2_prescript": 0, "how": [0, 2, 4, 5, 6, 7, 8, 9, 12, 13, 14, 15, 18, 21, 27, 31, 34], "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, 21, 23], "hot": 0, "bottom": [0, 15, 34], "burn": 0, "wind_multiplier_": 0, "specifi": [0, 21, 25, 37], "intger": 0, "By": [0, 6, 13, 14, 15, 18, 21], "wind_type_multiplier_": 0, "pre_main_sequ": 0, "rather": [0, 2, 9, 12, 15, 19, 21, 25, 38], "fraction": [0, 13, 18, 21, 31], "radii": [0, 42], "match": [0, 2, 6, 12, 13, 15, 16, 21, 24, 28], "railton": 0, "pre_main_sequence_fit_lob": 0, "forc": [0, 5, 21, 27], "roch": [0, 5, 8, 42], "lobe": [0, 5, 8, 42], "done": [0, 2, 5, 6, 13, 14, 15, 18, 21, 22, 30, 39], "small_envelope_method": 0, "method": [0, 9, 11, 12, 14, 15, 18, 20, 21, 26, 30, 32, 33, 34, 38], "determin": [0, 7, 9, 13, 14, 15, 20, 31, 34, 42], "radiu": [0, 1, 6, 9, 15, 17, 24, 42], "veri": [0, 5, 6, 7, 8, 9, 12, 14, 15, 30, 34, 37], "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, 14, 19, 31, 37], "timestep_multipli": 0, "maximum_timestep": 0, "zoomfac_multiplier_decreas": 0, "zoomfac_multiplier_increas": 0, "zoom": [0, 37], "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, 18, 21, 22, 30, 33, 39], "normal": [0, 2, 20, 25, 37, 38], "gaia_teff_binwidth": 0, "log10": [0, 6, 8, 13, 14, 15, 31, 37], "bin": [0, 8, 13, 14, 19, 21, 22, 37, 39], "width": [0, 8, 19], "gaia": [0, 31], "hrd": [0, 6, 8], "gaia_l_binwidth": 0, "luminos": [0, 4, 6, 22, 24], "gaia_colour_transform_method": 0, "select": [0, 3, 12, 13, 16, 18, 19], "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, 18, 21, 22, 25, 31, 33, 37, 38, 39, 40], "do": [0, 1, 2, 5, 6, 7, 8, 9, 11, 13, 14, 15, 18, 20, 21, 22, 24, 25, 30, 31, 33, 37, 39, 42], "breakup": 0, "overspin_bs": 0, "conserv": 0, "transfer": [0, 6, 21], "back": [0, 2, 5], "overspin_massloss": 0, "rotationally_enhanced_massloss": 0, "lose": [0, 18], "carri": 0, "awai": [0, 13], "expon": [0, 19], "power": [0, 8, 14, 21, 31], "rais": [0, 2, 15, 19, 21], "batchmod": 0, "control": [0, 6, 13, 14, 15, 21], "variabl": [0, 4, 6, 7, 8, 13, 19, 21, 29, 30, 34], "know": [0, 1, 2, 7, 12, 14, 21, 30, 33], "speedtest": 0, "off": [0, 5, 15, 18, 21], "use_fixed_timestep_": 0, "boolean": [0, 2, 7, 19, 20, 21, 24, 38, 42], "task": [0, 18, 19, 20, 24, 25, 28, 31, 37, 40, 42], "perform": [0, 30], "For": [0, 2, 9, 12, 13, 14, 24], "binary_c_macro": 0, "particularli": 0, "binary_c_task_": 0, "orbiting_object": [0, 16], "usag": [0, 4], "spinrat": 0, "central_object": 0, "orbiting_objects_log": [0, 16], "orbiting_objects_wind_accretion_multipli": 0, "orbiting_objects_close_pc_threshold": 0, "close": [0, 8, 14, 16, 30], "percentag": 0, "orbiting_objects_tides_multipli": 0, "torqu": 0, "evaporate_escaped_orbiting_object": 0, "evapor": 0, "rlof_transition_objects_escap": 0, "otherwis": [0, 2, 19, 20, 21, 25, 27, 29, 30, 33, 36], "place": [0, 2, 13, 19, 21], "outsid": [0, 31], "stabl": [0, 22, 39], "pn_resolv": 0, "shorten": [0, 5], "resolv": [0, 13, 30], "better": [0, 2, 4, 7, 15, 25, 29, 30, 36, 42], "pn": 0, "pn_resolve_minimum_luminos": 0, "resolut": [0, 6, 8, 13, 14, 15, 21, 34, 37], "pne": 0, "31": [0, 5, 7, 18], "62": [0, 13], "pn_resolve_maximum_envelope_mass": 0, "below": [0, 4, 6, 7, 8, 9, 13, 14, 15, 21, 31], "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, 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, 21, 22, 39], "4e3": 0, "lsun": [0, 24], "4000": 0, "wind_lbv_luminosity_lower_limit": 0, "6e5": 0, "600000": 0, "num_ansi_colour": 0, "extend": [0, 8, 22, 38, 39], "ansi": [0, 19], "255": [0, 5], "src": [0, 7, 9, 22, 39], "ansi_colour": 0, "int": [0, 1, 2, 5, 7, 13, 15, 19, 20, 21, 25, 31, 32, 33, 34, 37, 42], "apply_darwin_radau_correct": 0, "darwin": 0, "radau": 0, "correct": [0, 12, 20, 22, 24, 31, 32, 39, 42], "moment": [0, 6, 9, 15, 18, 37], "inertia": 0, "take": [0, 2, 8, 13, 15, 18, 19, 21, 26, 30, 31, 34, 40], "degenerate_core_merger_nucsyn": 0, "degner": 0, "energi": 0, "gener": [0, 1, 4, 7, 9, 12, 13, 15, 17, 18, 19, 20, 21, 24, 25, 30, 31, 33, 34, 37], "nucleosynthesi": [0, 38], "whole": [0, 8, 9, 20, 21], "disrupt": [0, 5, 18], "degenerate_core_helium_merger_ignit": 0, "r": [0, 1, 5, 6, 12, 15, 18, 22, 30, 39], "degenerate_core_merger_dredgeup_fract": 0, "separ": [0, 3, 5, 6, 7, 9, 12, 15, 16, 17, 18, 24, 30, 31, 42], "actual": [0, 3, 6, 8, 9, 12, 13, 14, 15, 20, 21, 22, 24, 29, 31, 37, 39], "semi": 0, "major": 0, "axi": [0, 24], "indic": [0, 31], "want": [0, 2, 3, 5, 8, 9, 13, 14, 15, 18, 19, 21, 22, 24, 25, 30, 31, 33, 34, 39], "either": [0, 2, 3, 13, 14, 15, 18, 20, 21, 34, 38, 40], "separation_tripl": 0, "tripl": [0, 21, 31], "separation_quadrupl": 0, "quadrupl": [0, 21, 31], "orbital_period": [0, 5, 7, 8, 9, 12, 13, 15, 17, 18, 42], "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, 5, 7, 12, 15, 16, 17, 18, 19, 20, 21, 25, 26, 31, 38, 40], "periastron": 0, "argument_of_periastron_tripl": 0, "argument_of_periastron_quadrupl": 0, "disc_timestep_factor": 0, "natur": [0, 14], "disc": [0, 16], "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, 20], "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, 16], "edg": [0, 6, 15, 34], "circumbinari": 0, "goe": [0, 2, 9, 12, 24], "young": 0, "clark": 0, "gerosa": 0, "50": [0, 5, 14, 15], "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, 31], "try": [0, 2, 5, 8, 12, 13, 14, 15, 22, 25, 30, 34, 39], "list": [0, 1, 2, 3, 6, 8, 12, 13, 14, 15, 16, 19, 21, 22, 25, 28, 31, 34, 37, 39, 40], "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, 15, 19, 20, 21, 22, 25, 28, 29, 30, 33, 36, 39], "sent": 0, "exist": [0, 2, 6, 15, 18, 21, 25, 30, 33, 34], "string": [0, 1, 2, 3, 4, 7, 12, 13, 14, 15, 16, 19, 20, 21, 24, 25, 29, 30, 33, 34, 36, 38, 40], "tmp": [0, 12, 13, 14, 15, 19, 22, 39], "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, 22], "need": [0, 2, 7, 9, 12, 13, 14, 15, 16, 18, 21, 22, 25, 31, 39, 42], "mai": [0, 8, 13, 30], "unstabl": [0, 5], "mani": [0, 5, 6, 7, 8, 11, 13, 14, 15, 16, 21, 29], "cee": [0, 8], "pn_comenv_transition_tim": 0, "transit": 0, "year": [0, 31], "1e2": 0, "move": [0, 6], "teff": [0, 5, 31], "30e4": 0, "hall": 0, "minimum_time_between_pn": 0, "planetari": 0, "nebula": 0, "detect": [0, 5, 8, 16], "prevent": [0, 5, 6, 21], "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, 24, 37], "fig": [0, 18, 31], "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], "cbdisc_inner_edge_stripping_timescal": 0, "long": [0, 5, 6, 8, 15, 21, 27, 30, 34, 38, 41], "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, 15], "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, 31], "gravitational_radiation_modulator_j": 0, "wave": [0, 6, 8, 15], "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, 17, 18, 20, 21, 22, 24, 25, 31, 39], "accretion_limit_eddington_steady_multipli": 0, "steadi": 0, "eddington": 0, "spheric": 0, "symmetr": 0, "known": [0, 6, 12, 13, 14, 15, 20, 31, 40], "trade": 0, "anyth": [0, 13, 14, 15, 19, 21, 37], "greater": 0, "than": [0, 2, 5, 6, 8, 13, 14, 15, 19, 21, 22, 25, 30, 31, 38, 39], "potenti": 0, "give": [0, 5, 8, 19, 20, 31, 42], "super": 0, "accretion_limit_eddington_lmms_multipli": 0, "accretion_limit_eddington_wd_to_remnant_multipli": 0, "onto": [0, 31], "anoth": [0, 25], "accretion_limit_thermal_multipli": 0, "accretor": [0, 5, 42], "thermal": [0, 6, 31, 42], "accretion_limit_dynamical_multipli": 0, "dynam": 0, "donor_limit_envelope_multipli": 0, "donor": [0, 5, 42], "per": [0, 5, 8, 12, 13, 15, 19, 21, 30, 42], "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, 16], "stronger": [0, 6], "hachisu_qcrit": 0, "critic": 0, "q": [0, 5, 8, 13, 15, 18, 21, 31, 42], "maccretor": [0, 5], "mdonor": [0, 5], "hachisu": 0, "disk": [0, 20], "hachisu_ignore_qcrit": 0, "hachisu_disk_wind": 0, "materi": [0, 6], "too": [0, 2, 6, 7, 14, 16, 21, 22, 39, 40], "help": [0, 5, 7, 11, 12, 13, 14, 15, 19, 33], "sneia": 0, "mass_accretion_for_eld": 0, "lit": 0, "deton": 0, "wdwd_merger_algorithm": 0, "peret": 0, "chen": 0, "todo": [0, 1, 2, 10, 11, 15, 19, 20, 21, 24, 25, 29, 30, 31, 32, 33, 36, 37, 38, 40, 42], "wdwd_merger_algorithm_bs": 0, "wdwd_merger_algorithm_perets2019": 0, "wdwd_merger_algorithm_chen2016": 0, "type_ia_mch_supernova_algorithm": 0, "yield": [0, 37], "dd7": 0, "iwamoto": 0, "1999": 0, "seitenzahl": 0, "3d": 0, "hydro": 0, "seitenzahl2013_model": 0, "One": [0, 5, 21], "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, 21], "max_hewd_mass": 0, "merger_mass_loss_fract": 0, "merger_angular_momentum_factor": 0, "spin": [0, 16], "smaller": [0, 37], "wind_angular_momentum_loss": 0, "lw": 0, "specif": [0, 11, 12, 24, 29, 36], "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, 37], "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, 22], "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, 21, 28], "mass_for_hestar_ia_low": 0, "alphacb": 0, "viscos": 0, "alpha": [0, 5], "minimum_donor_menv_for_comenv": 0, "msun": [0, 6, 9, 12, 14, 16, 18, 31, 37, 38], "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, 21], "omega": [0, 5, 18], "enter": [0, 21], "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, 16], "comenv_merger_spin_method_breakup": 0, "some": [0, 1, 5, 6, 8, 9, 11, 12, 13, 14, 15, 18, 20, 21, 22, 24, 29, 31, 34, 35, 36, 39], "comenv_ms_accret": 0, "comenv_ns_accret": 0, "formal": 0, "bind": [0, 7, 9, 12, 16], "m": [0, 5, 6, 8, 14, 16, 18, 19, 31, 42], "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, 19, 20, 21, 22, 30, 31, 37, 39], "nelemans_recalc_eccentr": 0, "recalcul": 0, "comenv_post_eccentr": 0, "remain": [0, 7, 19, 21], "05": [0, 5, 9, 13, 15], "accord": [0, 6, 30, 31, 37], "75": [0, 5, 6], "chang": [0, 1, 2, 5, 6, 8, 9, 13, 14, 15, 18, 19, 20, 21, 22, 33, 34, 39], "standard": [0, 13, 14, 29, 31, 36, 37], "recombin": 0, "big": [0, 21], "outcom": 0, "lambda_enthalpi": 0, "enthalpi": 0, "far": [0, 5, 6, 14, 16], "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, 21, 24], "less": [0, 1, 4, 5, 30, 31], "simpli": [0, 14], "immedi": [0, 6, 21], "1y": 0, "cbdisc_torquef": 0, "cbdisc_max_lifetim": 0, "lifetim": [0, 8, 13, 14, 15, 37], "cbdisc_init_dm": 0, "cbdisc": 0, "start": [0, 1, 5, 6, 8, 12, 13, 14, 15, 18, 19, 21, 27, 33, 34], "dm": [0, 14, 31, 37], "won": [0, 12, 22, 39], "t": [0, 1, 2, 5, 6, 12, 14, 15, 16, 19, 21, 22, 25, 30, 37, 39], "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, 5, 6, 9, 12, 16, 18, 19, 20, 24, 25, 31, 37], "rai": 0, "cbdisc_mass_loss_ism_ram_pressure_multipli": 0, "interstellar": 0, "medium": 0, "ram": [0, 21], "pressur": 0, "cbdisc_mass_loss_ism_pressur": 0, "boltzmann": 0, "kelvin": 0, "think": [0, 19, 20], "3000": [0, 16], "http": [0, 1, 2, 6, 15, 19, 20, 22, 30, 31, 39], "www": [0, 31], "astronomi": 0, "ohio": 0, "edu": 0, "pogg": 0, "ast871": 0, "intro": 0, "pdf": [0, 18, 22, 31, 39], "page": [0, 6, 15, 22, 39], "arxiv": [0, 31], "org": [0, 2, 31], "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, 16, 18, 33], "cbdisc_resonance_damp": 0, "l": [0, 6, 13, 14], "locat": [0, 21, 22, 31, 37, 39], "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, 16, 19, 21], "dimmer": [0, 13], "instantli": 0, "cbdisc_minimum_mass": 0, "cbdisc_minimum_fr": 0, "fring": 0, "ring": 0, "ab": [0, 19], "rout": 0, "rin": 0, "comenv_disc_angmom_fract": 0, "deprec": [0, 20], "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, 15, 21], "dx": 0, "dt": [0, 1, 19, 28, 37], "lengthen": 0, "altern": [0, 21], "rlof_mdot_factor": 0, "rlof_mdot_modul": 0, "rlof_f": 0, "enlarg": 0, "nomin": 0, "becaus": [0, 2, 6, 7, 8, 12, 13, 14, 16, 18, 20, 21, 22, 28, 30, 31, 39], "dermin": 0, "rlof_radiation_correct": 0, "minimum_separation_for_instant_rlof": 0, "evolv": [0, 4, 7, 9, 16, 20, 21, 22, 39], "report": [0, 6, 8, 13, 14, 15], "lead": [0, 6, 13, 14, 15, 30, 31, 42], "minimum_orbital_period_for_instant_rlof": 0, "maximum_mass_ratio_for_instant_rlof": 0, "m1": [0, 5, 9, 12, 13, 14, 15, 18, 30, 31, 42], "rlof_method": 0, "adapt": [0, 14], "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, 20, 21, 31, 37], "get": [0, 2, 3, 4, 6, 9, 12, 13, 14, 15, 16, 18, 19, 20, 22, 25, 26, 29, 31, 33, 34, 36, 39, 40, 42], "within": [0, 2, 9, 11, 15, 19, 22, 31, 34, 39], "toler": 0, "rlof_entry_threshold": 0, "revers": [0, 24], "newton": 0, "doe": [0, 2, 6, 7, 9, 11, 12, 13, 14, 15, 20, 21, 28, 30, 31, 34, 42], "repeat": [0, 21], "half": [0, 31], "until": [0, 2, 6, 30, 31], "latter": 0, "now": [0, 2, 5, 6, 8, 9, 12, 13, 14, 15, 16, 18, 19, 25, 31, 32], "break": 0, "rlof_interpolation_binary_c": 0, "rlof_interpolation_bs": 0, "beta_reverse_nova": 0, "automat": [0, 1, 9, 15, 16, 17, 18, 21, 22, 28, 30, 33, 34, 39], "geometr": 0, "beta_reverse_novae_geometri": 0, "wd_accretion_rate_novae_upper_limit_hydrogen_donor": 0, "upper": [0, 31, 37], "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, 20], "nor": 0, "wd_accretion_rate_new_giant_envelope_lower_limit_hydrogen_donor": 0, "format": [0, 2, 3, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 18, 19, 21, 29, 30, 31, 34, 37], "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, 42], "subject": 0, "bb": 0, "individual_nova": 0, "each": [0, 2, 8, 13, 14, 15, 16, 19, 21, 25, 34, 37], "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, 34, 37, 40], "momenta": [0, 24], "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, 15, 18, 31], "abund": 0, "element": [0, 1, 11, 16, 21, 24, 38], "nenamg": 0, "reaction": 0, "network": [0, 11], "nucsyn_hbb": 0, "nucsyn_network": 0, "nucsyn_network_error": 0, "error": [0, 2, 14, 19, 21, 22, 25, 30, 39], "nucreacmult": 0, "z": [0, 6, 8, 18, 20, 31, 42], "04": [0, 5, 18], "That": [0, 6], "said": 0, "been": [0, 2, 11, 20, 21, 25, 27, 29, 36], "warn": [0, 12, 15, 21, 25], "nucsyn_solv": 0, "kaps_rentrop": 0, "kap": 0, "rentrop": 0, "great": [0, 14, 21], "stiff": 0, "problem": [0, 13], "lsoda": 0, "adam": 0, "bsf": 0, "switcher": 0, "cvode": 0, "librari": [0, 1, 9, 18, 20, 21, 40], "comput": [0, 6, 13, 14], "llnl": 0, "gov": 0, "project": [0, 22, 39], "sundial": 0, "initial_abundance_mix": 0, "mixtur": [0, 13], "ag89": 0, "lodder": 0, "asplund": 0, "avail": [0, 7, 8, 9, 15, 19, 21, 22, 27, 39], "garcia": 0, "berro": 0, "grevess": 0, "noel": 0, "init_abund": 0, "isotop": [0, 11, 38], "init_abund_mult": 0, "init_abund_dex": 0, "dex": [0, 8, 37], "init_abunds_onli": 0, "exit": [0, 19, 20, 21, 25, 29, 30, 36], "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, 13, 18, 21, 31], "li7": 0, "decai": 0, "nucsyn_angelou_lithium": 0, "choic": [0, 24, 31], "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, 13, 14, 15, 18, 22, 39], "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, 21, 22, 23, 30, 34, 35, 38], "cf_amanda_log": 0, "amanda": 0, "float_overflow_check": 0, "check": [0, 5, 6, 8, 13, 14, 15, 18, 19, 20, 21, 25, 29, 30, 31, 33, 36, 40, 42], "stderr": [0, 21], "failur": [0, 19, 25], "save_pre_events_stardata": 0, "save": [0, 1, 8, 9, 13, 14, 15, 21, 25, 30, 31, 37], "copi": [0, 8, 14, 21, 42], "stardata": [0, 1, 6, 8, 9, 12, 13, 14, 15, 17, 18], "pre_events_stardata": 0, "disable_end_log": 0, "ensemble_filters_off": 0, "filter": [0, 2, 19], "ensemble_filter_": 0, "ensemble_macro": 0, "ensemble_legacy_ensembl": 0, "legaci": 0, "popul": [0, 3, 4, 5, 7, 11, 22, 23, 39, 40], "legacy_yield": 0, "ensemble_def": 0, "defer": 0, "ensemble_dt": 0, "store": [0, 2, 4, 5, 6, 8, 12, 13, 14, 15, 19, 20, 21, 22, 30, 37, 39, 42], "ensemble_logdt": 0, "ensemble_startlogtim": 0, "logensembletim": 0, "storag": 0, "ensemble_logtim": 0, "act": [0, 14, 15, 21], "linear": [0, 13, 14, 21, 31, 37], "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, 16, 18, 21], "galact": [0, 37], "chemic": [0, 37], "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, 18, 40], "filenam": [0, 1, 3, 5, 12, 15, 19, 20, 21, 25, 29, 30, 36, 40], "dev": 0, "c_log": 0, "dat": [0, 15, 19], "log_arrow": 0, "add": [0, 2, 6, 8, 9, 12, 13, 14, 15, 20, 21, 22, 24, 31, 34, 35, 37, 39], "arrow": 0, "stopfil": 0, "file": [0, 1, 3, 5, 7, 12, 15, 19, 20, 21, 22, 24, 25, 28, 29, 30, 33, 34, 36, 38, 39, 40], "stardata_dump_filenam": 0, "dump": [0, 3, 12, 20, 30], "stardata_load_filenam": 0, "load": [0, 1, 3, 6, 9, 12, 13, 14, 15, 18, 19, 20, 21, 24, 25, 26, 30, 34], "api_log_filename_prefix": [0, 5, 12, 16], "prefix": 0, "api": [0, 4, 19, 22, 25], "hrdiag_output": 0, "high": [0, 14, 31], "hertzstrpung": 0, "russel": [0, 4, 22], "diagram": [0, 4, 22, 24], "hrdiag": 0, "internal_buff": 0, "buffer": [0, 30], "prior": [0, 6], "shouldn": [0, 19], "realli": [0, 6, 15, 20, 21, 33, 34], "plai": [0, 5, 14], "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, 31], "fabian_imf_log": 0, "fabian_imf_log_timestep": 0, "displai": [0, 6, 8], "test": [0, 12, 19, 21, 25, 28, 30], "dumpvers": 0, "short": [0, 6, 8, 13, 14, 41], "version_onli": 0, "tides_diagnosis_log": 0, "mint_dir": 0, "mint_data_cleanup": 0, "incom": 0, "Will": [0, 19, 21, 40], "slower": 0, "few": [0, 8], "thing": [0, 3, 5, 6, 7, 8, 13, 14, 15, 18, 19, 20, 31, 40], "mint_ms_rejuven": 0, "rejuven": [0, 13], "mint_remesh": 0, "remesh": 0, "mint_use_zams_profil": 0, "profil": 0, "zam": [0, 4, 5, 6, 7, 13, 31, 40, 42], "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, 19, 33], "much": [0, 6, 8, 13, 15, 18, 19, 27], "mint_kippenhahn": 0, "kippenhahn": 0, "mint_nshel": 0, "shell": [0, 19], "shellular": 0, "mint_maximum_nshel": 0, "mint_hard_max_nshel": 0, "1000": [0, 8, 21, 37], "mint_minimum_nshel": 0, "equal": [0, 2, 14, 15, 19], "mint_hard_min_nshel": 0, "mint_kippenhahn_stellar_typ": 0, "selector": 0, "plot": [0, 6, 8, 12, 13, 14, 16, 17, 18, 24], "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, 15, 20, 22, 24, 39], "command": [0, 1, 15, 19, 20, 21, 22, 30, 39], "gogo": 0, "reset_star": 0, "reset": 0, "reset_stars_default": 0, "echo": 0, "execut": [0, 15, 21, 34], "noecho": 0, "deactiv": 0, "noechonow": 0, "bye": 0, "quit": [0, 6, 19, 31], "fin": 0, "reset_pref": 0, "prefer": [0, 20], "struct": [0, 9], "statu": [0, 1, 6, 8, 13, 14, 15, 21, 25, 29, 30, 36], "handi": 0, "re": [0, 1, 6, 7, 8, 13, 14, 16, 25, 33], "sampl": [0, 4, 13, 15, 31, 34, 37], "space": [0, 6, 14, 15, 30, 34, 37], "good": [0, 5, 12, 13, 14, 15, 21, 42], "statist": [0, 21, 29], "reason": [0, 14], "tbse": 0, "pgo": 0, "random_system": 0, "etc": [0, 7, 12, 14, 15, 16, 19, 20, 21, 22, 24, 30, 31, 39, 40], "random_se": [0, 5, 12, 18], "seed": 0, "possibl": [0, 1, 2, 6, 12, 16, 19, 21, 22, 28, 31, 33, 39], "exactli": [0, 14], "reproduc": 0, "involv": 0, "pseudorandom": 0, "random_systems_se": 0, "random_skip": 0, "skip": [0, 2, 13, 21], "idum": 0, "nb": 0, "pleas": [0, 6, 7, 13, 14, 15, 19, 21, 22, 28, 39], "reverse_tim": 0, "To": [0, 5, 7, 12, 13, 14, 15, 21, 22, 30, 31, 39], "consid": [0, 1, 2, 13, 14, 20, 21, 24, 32, 33, 37], "start_tim": [0, 21], "warmup_cpu": 0, "cpu": [0, 6, 8, 13, 14, 15, 21, 27], "second": [0, 2, 8, 16, 19, 22, 24, 30, 31, 32, 39], "topic": 0, "argopt": 0, "help_al": 0, "list_arg": 0, "here": [1, 6, 7, 9, 12, 13, 14, 16, 18, 19, 20, 21, 22, 24, 31, 39, 40], "user": [1, 9, 19, 20, 21, 22, 26, 31, 33, 39, 40], "binaryc": [1, 19, 40], "output": [1, 2, 3, 4, 5, 7, 9, 11, 12, 16, 17, 18, 19, 20, 21, 22, 24, 30, 38, 39, 40, 42], "runtim": [1, 21], "binarycpython": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42], "util": [1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 19, 20, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 42], "autogen_c_logging_cod": [1, 9, 18], "logging_dict": 1, "verbos": [1, 5, 6, 8, 12, 13, 14, 15, 16, 17, 19, 21, 22, 26, 30, 31, 32, 37, 39], "sourc": [1, 2, 3, 8, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 42], "auto": [1, 23], "printf": [1, 6, 8, 9, 12, 13, 14, 15, 17, 18], "statement": [1, 9, 12, 13, 14, 15, 16, 17, 18, 21], "input": [1, 2, 3, 5, 7, 11, 12, 19, 20, 21, 22, 24, 26, 30, 31, 32, 33, 40, 42], "dictionari": [1, 2, 3, 4, 6, 8, 13, 14, 15, 19, 20, 21, 24, 26, 27, 30, 31, 33, 34, 38, 41], "kei": [1, 2, 3, 11, 12, 15, 16, 18, 19, 20, 21, 24, 28, 30, 31, 33, 34, 38], "header": [1, 6, 8, 9, 12, 13, 14, 15, 18, 19], "line": [1, 5, 6, 8, 9, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 24, 30, 37, 39], "item": [1, 2, 6, 8, 13, 14, 19], "paramet": [1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14, 15, 19, 20, 21, 22, 24, 25, 28, 29, 30, 31, 33, 34, 36, 37, 38, 40, 42], "put": [1, 6, 13, 14, 15, 18, 19, 21, 24, 25, 33, 34, 35], "append": [1, 2, 6, 12, 13, 14, 16], "exampl": [1, 2, 12, 19, 20, 31, 34, 37, 40], "look": [1, 3, 5, 6, 8, 13, 14, 15, 16, 18, 22, 31, 39], "my_stellar_data": [1, 9, 15, 17, 18], "star": [1, 4, 5, 7, 8, 9, 11, 12, 13, 14, 16, 17, 18, 21, 22, 24, 29, 31, 36, 37, 39, 42], "dict": [1, 3, 5, 6, 12, 13, 14, 15, 16, 19, 20, 21, 22, 23, 25, 26, 28, 30, 31, 33, 38, 41], "binary_c": [1, 2, 3, 4, 5, 6, 8, 13, 14, 16, 19, 20, 21, 24, 28, 30, 31, 34, 38, 40], "sentenc": 1, "level": [1, 6, 19, 32], "return": [1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 14, 15, 18, 19, 20, 21, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 36, 37, 38, 40, 42], "str": [1, 2, 3, 6, 15, 19, 20, 24, 30, 33, 34, 38], "binary_c_log_cod": [1, 9, 12, 17, 18], "termin": [1, 6, 9, 15, 22, 39], "primari": [1, 6, 8, 13, 14, 15, 31, 34, 42], "stellar_typ": [1, 6, 9, 12, 13, 14, 15, 22, 23, 24], "example_log_co": [1, 9], "30": [1, 5, 6, 9, 12, 13, 14, 15, 16, 18], "12e": [1, 6, 9, 12, 13, 14, 15], "previous_stardata": [1, 8, 9, 12, 15], "kill": [1, 9, 15, 20], "dtm": [1, 9, 15], "exact": [1, 2, 21], "wrap": [1, 9, 19, 28], "logic": [1, 2, 9, 20, 21], "definit": [1, 13, 14, 42], "share": [1, 12, 17, 18, 21, 30, 40], "binary_c_write_log_cod": 1, "write": [1, 5, 7, 9, 12, 13, 15, 17, 18, 19, 20, 21, 30, 33, 40], "target": [1, 33], "compile_shared_lib": 1, "sourcefile_nam": 1, "outfile_nam": 1, "name": [1, 2, 5, 6, 7, 8, 13, 14, 15, 16, 18, 19, 21, 29, 30, 33, 34, 40, 41], "create_and_load_logging_funct": [1, 9, 18], "custom_logging_cod": [1, 9, 12, 15, 17, 18, 40], "custom_tmp_dir": 1, "ctype": 1, "unless": [1, 20, 21], "i": [1, 2, 6, 7, 8, 9, 12, 13, 14, 15, 16, 19, 20, 21, 22, 25, 31, 34, 38, 39, 42], "recommend": [1, 4, 22, 39], "combin": [1, 2, 9, 19, 20, 21], "tupl": [1, 6, 19, 25, 30, 37], "memori": [1, 6, 7, 8, 9, 13, 14, 15, 18, 19, 20, 21, 30, 42], "address": [1, 7, 9, 21, 42], "capsul": [1, 7, 19], "from_binary_c_config": 1, "config_fil": 1, "binaryc_config": 1, "config": [1, 19, 21, 22, 39], "filepath": 1, "return_compilation_dict": 1, "inspir": [1, 24, 42], "binary_c_inline_config": 1, "perl": [1, 2, 14, 15, 29], "still": [1, 9, 16, 21, 22, 39, 42], "clean": [1, 6, 12, 14, 20], "w": [1, 12, 15, 20, 30], "develop": 1, "redhat": 1, "com": [1, 19, 20, 22, 31, 39], "blog": 1, "linker": 1, "gcc": [1, 22, 39], "python": [2, 3, 4, 6, 8, 13, 14, 19, 21, 28, 30, 31, 34], "class": [2, 3, 19, 22, 23], "autovivificationdict": 2, "autovivif": 2, "featur": [2, 4, 15, 22], "overrid": [2, 18, 21, 31, 34, 37], "__iadd__": 2, "oper": [2, 30], "doc": [2, 6, 13, 14, 15, 19, 22, 33, 39], "refer": [2, 21, 30], "datamodel": 2, "html": [2, 6, 15, 22, 30, 39], "highlight": 2, "iadd": 2, "subdict": 2, "might": [2, 3, 13, 15, 16, 19, 21, 22, 30, 39], "newdict": 2, "print": [2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 21, 25, 32, 33], "__getitem__": [2, 28], "getitem": 2, "autoviv": 2, "count_keys_recurs": 2, "input_dict": 2, "recurs": [2, 19, 22, 39], "count": [2, 5, 6, 18, 19, 21], "local_count": 2, "custom_sort_dict": 2, "order": [2, 4, 15, 19, 34], "ordereddict": 2, "find": [2, 5, 8, 15, 19, 21, 28, 33], "uniqu": [2, 18, 21], "sort": [2, 6, 13, 14, 16, 19, 30], "Then": [2, 6, 19, 22, 39], "those": [2, 6, 8, 13, 14, 15, 18, 20, 22, 31, 38, 39], "them": [2, 5, 7, 8, 15, 17, 18, 19, 20, 29, 30, 31, 33, 40], "directli": [2, 12, 21, 25, 30], "without": [2, 9, 12, 14, 19, 21, 31], "filter_dict": 2, "arg_dict": [2, 19], "filter_list": 2, "out": [2, 3, 5, 6, 8, 9, 13, 14, 16, 19, 21, 22, 31, 33, 39], "filter_dict_through_valu": 2, "inspect_dict": 2, "indent": [2, 3, 12, 20, 30], "print_structur": 2, "inspect": [2, 12, 24], "nest": [2, 15, 34, 38], "content": [2, 3, 5, 7, 19, 20, 25], "bool": [2, 15, 19, 20, 24, 30, 33, 34, 38], "except": [2, 5, 6, 7, 13, 14, 15, 21, 24, 33], "keys_to_float": 2, "convert": [2, 3, 6, 8, 16, 19, 20, 30, 31, 37], "faster": [2, 13, 14, 15], "recursive_change_key_to_float": 2, "convers": 2, "noth": [2, 21, 25, 26, 30], "els": [2, 5, 8, 19, 21], "new_dict": 2, "merge_dict": [2, 11], "dict_1": 2, "dict_2": 2, "behaviour": [2, 6, 13, 14, 15, 22, 39, 40], "present": [2, 3, 6, 13, 14, 15, 18, 20, 22, 30, 31, 39], "again": [2, 3, 11, 12, 19, 21], "ad": [2, 4, 6, 8, 12, 13, 22, 30, 34, 39], "opt": [2, 5, 7, 31], "OR": [2, 18], "ident": 2, "concaten": 2, "nonetyp": 2, "instanc": [2, 11, 12, 13, 14, 15, 20, 31], "multiply_float_valu": 2, "multiply_values_dict": [2, 11], "over": [2, 5, 6, 8, 11, 12, 13, 14, 15, 19, 20, 30], "general_info": 2, "origin": [2, 16, 30], "union": [2, 15, 19, 31, 34, 37, 38, 42], "complex": [2, 8, 9, 17, 18, 21], "pass": [2, 7, 9, 12, 15, 16, 18, 19, 20, 21, 22, 24, 25, 26, 29, 30, 36, 37, 39, 40], "multiplied_dict": 2, "normalize_dict": 2, "result_dict": 2, "normalis": [2, 21, 31], "divid": 2, "term": 2, "design": [2, 20, 22, 24, 39], "normalized_dict": 2, "prepare_dict": 2, "global_dict": 2, "list_of_sub_kei": 2, "sure": [2, 12, 13, 14, 15, 22, 25, 30, 31, 39, 40], "prepar": 2, "don": [2, 6, 16, 19, 21, 25], "access": [2, 9, 12, 13, 14, 15, 21, 25, 30], "come": [2, 10, 22, 37, 39], "empti": [2, 12, 29, 33, 36], "recursive_change_key_to_str": 2, "custom_format": [2, 19], "ll": [2, 9, 11, 14, 16, 30], "set_opt": [2, 6, 8], "newopt": [2, 31], "updat": [2, 14, 15, 20, 22, 34, 39], "subtract_dict": 2, "subtract": 2, "numer": 2, "overlap": 2, "update_dict": [2, 11], "dict2": 2, "packag": [3, 7, 15, 19, 22, 34, 35, 36, 37, 39], "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, 19, 20], "binarycencod": 3, "skipkei": 3, "ensure_ascii": [3, 20, 30], "check_circular": 3, "allow_nan": 3, "sort_kei": [3, 30], "jsonencod": 3, "encod": [3, 15, 30], "attempt": [3, 19, 20], "o": [3, 19, 22, 31], "precis": 3, "json": [3, 7, 12, 15, 20, 21, 26, 30], "binaryc_json_seri": 3, "obj": [3, 19], "serialis": 3, "export": [3, 15, 19, 20, 22, 30, 39], "represent": [3, 15, 34], "themselv": [3, 31], "itself": [3, 6, 9, 12, 21, 22, 31, 39], "ensemble_compress": 3, "compress": [3, 30], "extens": [3, 7, 22, 23], "ensemble_file_typ": 3, "ensemble_set": 3, "parameter_nam": [3, 6, 7, 8, 11, 13, 14, 15, 19, 34], "extract_ensemble_json_from_str": 3, "binary_c_output": 3, "extract": [3, 15], "ensemble_json": 3, "raw": [3, 7, 18, 19, 20, 21, 24, 38, 40], "pars": [3, 4, 5, 6, 8, 12, 13, 14, 15, 18, 19, 20, 24, 38, 40], "format_ensemble_result": 3, "ensemble_dictionari": 3, "step": [3, 6, 8, 9, 12, 13, 14, 15, 24, 34, 37], "handle_ensemble_string_to_json": 3, "raw_output": 3, "deal": [3, 12], "creat": [3, 6, 8, 9, 12, 13, 14, 15, 19, 20, 27, 30, 31, 34, 36], "wrapper": [3, 7, 9, 12, 20, 30, 32, 42], "easi": [3, 12, 22, 39], "cl": 3, "load_ensembl": 3, "convert_float_kei": 3, "select_kei": 3, "flush": [3, 20, 30], "ensemebl": 3, "even": [3, 11, 14], "open_ensembl": 3, "utf": [3, 15, 30], "open": [3, 5, 12, 15, 18, 30], "read": [3, 4, 5, 12, 15, 18, 19, 21, 22, 30, 39], "decompress": 3, "explain": [4, 38], "repositori": [4, 22, 39], "last": [4, 18, 19, 31], "usecas": 4, "tutori": [4, 22, 39], "individu": [4, 5, 13, 22, 39], "run_system_wrapp": [4, 5, 9, 17, 22, 23], "via": [4, 5, 6, 7, 9, 13, 14, 15, 20, 21, 24], "noteworthi": 4, "full": [4, 9, 16, 19, 21, 29, 36], "script": [4, 9, 19, 21, 22, 25, 29, 36, 39], "about": [4, 6, 8, 13, 14, 15, 19, 20, 21, 25, 30, 33, 42], "modif": 4, "binari": [4, 7, 8, 12, 14, 21, 22, 24, 31, 34, 39, 42], "notebook": [5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 22, 39], "log_fil": [5, 21], "bbh": 5, "summari": 5, "run_system": [5, 7, 9, 11, 12, 16, 17, 24, 40], "bhbh": 5, "There": [5, 6, 7, 9, 11, 12, 13, 14, 15, 16, 18, 20, 21, 22, 24, 31, 33, 39], "import": [5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 34], "os": [5, 6, 8, 12, 13, 14, 15, 16, 18, 19], "temp_dir": [5, 6, 8, 12, 14, 15, 16, 19], "tmp_dir": [5, 6, 8, 12, 14, 15, 16, 21, 34], "notebook_bhbh": 5, "txt": [5, 12, 15, 18, 22, 30, 39, 40], "60": [5, 30], "readout": 5, "m2": [5, 9, 12, 13, 15, 18, 30, 31, 42], "k1": [5, 12, 18], "k2": [5, 12, 18], "sep": [5, 8, 12, 13, 15, 18, 30, 31, 42], "ecc": [5, 12, 15, 18, 30, 31], "r1": [5, 12, 18], "rol1": [5, 12, 18], "r2": [5, 12, 18], "rol2": [5, 12, 18], "13868": 5, "random_count": [5, 12, 18], "0000": [5, 12, 18], "000": [5, 12, 18], "00": [5, 12, 15, 18], "6492": 5, "26": 5, "756": 5, "off_m": [5, 12, 18], "type_chng": [5, 12, 18], "6588": 5, "687": 5, "2135": 5, "972": 5, "5298": 5, "325": 5, "5700": 5, "903": 5, "randbuf": [5, 18], "14456": 5, "mer": 5, "415747": 5, "403489": 5, "273236": 5, "627902": 5, "92015": 5, "31213": 5, "gt": [5, 7, 9, 12, 13, 15, 17, 18], "vk": [5, 18], "223": 5, "39": [5, 6, 7, 8, 11, 12, 13, 14, 15, 17], "vr": [5, 18], "94523": 5, "phi": [5, 18], "470721": 5, "vn": [5, 18], "final": [5, 8, 14, 18], "runawai": [5, 18], "v": [5, 18, 22, 39], "155": 5, "054": [5, 31], "143": 5, "72": 5, "9341": 5, "max_tim": [5, 12, 18], "entir": [5, 9, 12, 17, 18], "wider": 5, "littl": [5, 6, 8, 13, 15, 16, 28], "40": [5, 14], "71985": 5, "3101": 5, "48": 5, "y": [5, 6, 16, 19, 20, 24, 25], "009": [5, 16], "beg_symb": 5, "3583": 5, "081": 5, "35": [5, 31], "930": 5, "3971": 5, "98": 5, "023": 5, "014": 5, "lock": [5, 30], "3928": [5, 18], "41": [5, 13], "632": 5, "894": 5, "3995": 5, "4219": 5, "27": [5, 14, 15], "615": 5, "603": 5, "5603": 5, "013": 5, "5403": 5, "157": 5, "151": 5, "5696": 5, "18": [5, 13, 18], "012": 5, "6475": 5, "763": [5, 31], "731": 5, "5791": 5, "19": [5, 15, 18], "010": 5, "011": 5, "6548": 5, "730": 5, "729": [5, 8], "5794": 5, "203": 5, "6550": 5, "728": 5, "225": 5, "inv": [5, 18], "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, "724": [5, 9], "5798": 5, "546": 5, "021": 5, "6649": 5, "502": 5, "683": 5, "5812": 5, "548": 5, "543": 5, "2663": 5, "178": 5, "480": 5, "8828": 5, "57": 5, "460": 5, "end_symb": 5, "2670": 5, "171": 5, "458": 5, "8837": 5, "58": 5, "455": 5, "2733": 5, "111": 5, "272": 5, "8921": 5, "59": 5, "265": 5, "2801": 5, "033": 5, "166": 5, "8987": 5, "4925": 5, "910": 5, "995": 5, "11434": 5, "97": 5, "4989": 5, "850": 5, "942": [5, 13], "11516": 5, "5282": 5, "966": 5, "616": 5, "539": 5, "54990": 5, "431329": 5, "844304": 5, "737837": 5, "957392": 5, "745668": 5, "49451": 5, "76448": 5, "366": 5, "674": [5, 15], "5058": 5, "68517": 5, "15497": 5, "077": 5, "5393": 5, "16623": 5, "147": 5, "335": [5, 14], "088": 5, "214": 5, "68852": 5, "172227": 5, "112321": 5, "69127": 5, "5344": 5, "029": 5, "787956": 5, "497544": 5, "721903": 5, "10755": 5, "526": 5, "7893": 5, "410": [5, 18], "158": 5, "675756": 5, "459842": 5, "312": 5, "331": 5, "229": 5, "113": 5, "746": 5, "54865e": 5, "51": 5, "54769e": 5, "104": 5, "39903e": 5, "let": [5, 8, 12, 14, 15, 16, 20], "def": [5, 6, 8, 12, 13, 14, 15, 18], "detect_bhbh": 5, "logfil": [5, 12, 19, 22, 39], "log_file_lin": 5, "readlin": 5, "len": [5, 6, 12, 15, 18], "enough": [5, 31], "loop": [5, 6, 8, 12, 13, 14, 15, 30, 34], "stellar_type1": 5, "stellar_type2": 5, "rememb": [5, 6, 14], "pop": [5, 9, 16, 28], "return_dict": 5, "system_properti": 5, "log_file_cont": 5, "join": [5, 6, 7, 8, 9, 12, 13, 14, 15, 18, 21, 25], "oop": 5, "found": [5, 6, 8, 13, 14, 15, 29, 31, 36], "unbound": 5, "bound": [5, 31, 37], "search": [5, 6, 13, 16, 22], "search_for_bhbh": 5, "maxcount": 5, "No": [5, 6, 7, 8, 13, 14, 15, 21, 22, 39], "arg": [5, 7, 15, 19, 28, 31, 32], "search_result": 5, "16379": 5, "17247": 5, "211": 5, "81114": 5, "159326": 5, "970141": 5, "340351": 5, "132638": 5, "502053": 5, "15449": 5, "825261": 5, "304595": 5, "5300": 5, "592": 5, "17209": 5, "210": [5, 18], "22992": 5, "391": 5, "584197": 5, "452365": 5, "0846357": 5, "848993": 5, "111944": 5, "44077": 5, "703362": 5, "772581": 5, "130746": 5, "5444": 5, "wide": [5, 14], "caus": [5, 13, 42], "former": 5, "unphys": [5, 8, 13], "3486": 5, "006": 5, "8674": 5, "840": 5, "505": 5, "3185": 5, "78": 5, "017": [5, 16], "8704": 5, "600": 5, "509": 5, "3192": 5, "393": 5, "418": 5, "8706": 5, "568": 5, "510": 5, "3193": 5, "81": [5, 6], "496": [5, 6], "8910": 5, "54": [5, 14], "758": [5, 18], "3246": 5, "beg_rch": 5, "9650": 5, "495": 5, "571": 5, "3223": 5, "29": [5, 21], "913": [5, 13], "0585": 5, "24": 5, "961": [5, 13], "453": 5, "3211": 5, "65": [5, 6, 37], "999": 5, "007": [5, 16], "end_rch": 5, "0649": 5, "747": 5, "479": 5, "3216": 5, "67": [5, 15], "002": [5, 17, 18], "2699": 5, "22": [5, 14, 18], "235": [5, 6], "402": 5, "3331": 5, "32131": 5, "175268": 5, "383437": 5, "361343": 5, "457958": 5, "403947": 5, "2347": 5, "8374": 5, "64": [5, 13], "5055": 5, "53807": 5, "084183": 5, "10734e": 5, "2799": 5, "398": 5, "2946": 5, "392": [5, 18], "beg_bss": 5, "9074": 5, "49": [5, 13], "493": 5, "3373": 5, "end_bss": 5, "9113": 5, "243": 5, "3393": 5, "238": 5, "9192": 5, "236": [5, 18], "059": 5, "3447": 5, "9203": 5, "47": 5, "904": 5, "3454": 5, "69": 5, "9786": 5, "242": 5, "145": 5, "3893": 5, "83": 5, "0907": 5, "249": 5, "4523": 5, "296": 5, "1018": 5, "256": [5, 21], "583": 5, "4540": 5, "997": 5, "1137": 5, "232": 5, "4551": 5, "925": 5, "4596": 5, "101099": 5, "660012": 5, "331365": 5, "36634": 5, "576176": 5, "9248": 5, "0519": 5, "8488": 5, "62022": 5, "27061": 5, "58096e": 5, "3473": 5, "oh": 5, "dear": 5, "secondari": [5, 6, 13, 31, 42], "shorter": 5, "shrink": [5, 8], "best": [5, 20, 21], "acquir": 5, "closer": 5, "grvitation": 5, "0001": [5, 7, 42], "39800": 5, "005": 5, "8571": 5, "8600": 5, "096": 5, "0451": 5, "503": 5, "0491": 5, "561": 5, "0678": 5, "3099": 5, "0681": 5, "2094": 5, "56": 5, "978": 5, "43": 5, "022": 5, "2884": 5, "91": [5, 13], "672": [5, 13], "32438": 5, "qc": 5, "733417": 5, "st": 5, "9778": 5, "8207": 5, "1945": 5, "85": [5, 37], "rc": [5, 6, 8, 13, 14, 16, 24], "67126": 5, "0222": 5, "1192": 5, "comenv": [5, 8], "presc": 5, "m01": 5, "mc1": 5, "l1": 5, "14773e": 5, "rzam": [5, 42], "21541": 5, "convfrac": 5, "560301": 5, "lambda_ion": 5, "a_in": 5, "p_in": 5, "1793": 5, "89": [5, 15], "jtot_in": 5, "09752e": 5, "55": [5, 8, 13, 15, 31], "jorb_in": 5, "95297e": 5, "eorbi": 5, "31037e": 5, "ebindi": 5, "92616e": 5, "sepf": 5, "1221": 5, "1116": 5, "1193": 5, "7646": 5, "mf1": 5, "6094": 5, "mf2": 5, "af": 5, "jf": 5, "44174e": 5, "jej": 5, "82682e": 5, "eorbf": 5, "99926e": 5, "eej": 5, "89371e": 5, "alpha_ej": 5, "0273415": 5, "2095": 5, "821": 5, "122": 5, "647": 5, "092": 5, "793": 5, "mstart": 5, "407726": 5, "3102": 5, "62709": 5, "46857": 5, "a_out": 5, "p_out": 5, "00631839": 5, "30747": 5, "jorb_out": 5, "6543": 5, "rl1": 5, "099": 5, "rl2": 5, "792766": 5, "60828": 5, "gyr": [5, 6, 8], "61249": 5, "803": 5, "44": 5, "040": 5, "566": [5, 18], "32": [5, 19, 21], "457": 5, "79375": 5, "301545": 5, "0266946": 5, "404793": 5, "189909": 5, "0438563": 5, "126": 5, "248": 5, "275557": 5, "668975": 5, "421": 5, "918": 5, "5655": 5, "319412": 5, "506": 5, "521": 5, "8539": 5, "46": [5, 15], "629": 5, "9016": 5, "45": 5, "848": 5, "33": 5, "648": 5, "4816": 5, "633": 5, "954": 5, "5343": 5, "533": 5, "5348": 5, "5599": 5, "534": 5, "5604": 5, "5867": 5, "899": 5, "781": 5, "5875": 5, "5878": 5, "106": [5, 15], "5914": 5, "901": 5, "258": 5, "428": 5, "5916": 5, "804": 5, "873": 5, "461": 5, "28": [5, 7, 9, 12], "413": 5, "6245": 5, "808": 5, "245": 5, "7494": 5, "823": 5, "806": 5, "63": [5, 8, 13], "569": 5, "454": 5, "8032": 5, "830": [5, 18], "333": 5, "087": 5, "998": 5, "8033": 5, "990": 5, "8290": 5, "085": 5, "053": 5, "0403": 5, "050": 5, "0427": 5, "37": 5, "893": 5, "99": [5, 13], "552236": 5, "103282": 5, "393936": 5, "539534": 5, "864167": 5, "3329": 5, "0483": 5, "179": 5, "074": 5, "327": 5, "351": 5, "42972": 5, "0791504": 5, "8925": 5, "991187": 5, "66": [5, 8, 13], "5305": 5, "36": 5, "3905": 5, "82105": 5, "9857": 5, "7333": 5, "68": [5, 15], "5019": 5, "08275": 5, "77": 5, "3696": 5, "0742": 5, "1051": 5, "0146": 5, "contact": [5, 22, 39], "00319559": 5, "00262864": 5, "163": 5, "57683": 5, "0798097": 5, "bh_bh": 5, "1626": 5, "501459": 5, "154271": 5, "coalesc": 5, "r_": 5, "odot": [5, 6, 8, 18], "13312": 5, "7617": 5, "018": 5, "7647": 5, "572": 5, "7721": 5, "7785": 5, "3100": 5, "1326": 5, "52": 5, "305": 5, "695": 5, "2791": 5, "159": 5, "09665": 5, "714712": 5, "3048": 5, "0276": 5, "2332": 5, "71818": 5, "6952": 5, "9757": 5, "44223e": 5, "33552": 5, "467851": 5, "1708": 5, "09706e": 5, "96557e": 5, "76416e": 5, "30388e": 5, "7114": 5, "4385": 5, "9758": 5, "8926": 5, "5423": 5, "72832e": 5, "63566e": 5, "39152e": 5, "03996e": 5, "0241634": 5, "1327": 5, "028": 5, "711": 5, "367": 5, "459": 5, "397754": 5, "3084": 5, "9071": 5, "46089": 5, "0152545": 5, "57093": 5, "6771": 5, "459382": 5, "9411": 5, "9452": 5, "215": 5, "508": 5, "76": [5, 13], "284": 5, "67260": 5, "643477": 5, "441321": 5, "365945": 5, "352254": 5, "0493316": 5, "2147": 5, "401": 5, "309959": 5, "299971": 5, "175": 5, "0005": 5, "759863": 5, "986": 5, "186": 5, "8186": 5, "301": 5, "55202": 5, "8609": 5, "46244": 5, "7292": 5, "322": 5, "3844": 5, "4261": 5, "09": 5, "8255": 5, "339": 5, "1375": 5, "026": 5, "1380": [5, 18], "7437": 5, "276": 5, "488": 5, "702": 5, "185": 5, "7464": 5, "110": 5, "815": 5, "7466": 5, "938": 5, "881": 5, "7479": 5, "466": 5, "188": 5, "114": 5, "7598": 5, "278": 5, "754": 5, "7691": 5, "279": 5, "231": 5, "697": 5, "7692": 5, "987": 5, "7854": 5, "696": 5, "061": 5, "9061": 5, "063": 5, "1521": 5, "1942": 5, "060": 5, "1949": 5, "936": 5, "534629": 5, "163092": 5, "907792": 5, "0909357": 5, "00121347": 5, "2315": 5, "7429": 5, "140": 5, "491": 5, "362": 5, "342": 5, "00762447": 5, "958149": 5, "304": 5, "115": [5, 31], "9359": 5, "295576": 5, "61": [5, 15], "understand": [5, 21], "mention": 5, "introduct": [5, 6], "nto": 5, "most": [5, 6, 7, 8, 14, 19, 22, 39], "next": [5, 14, 15, 19], "catch": [5, 6, 8, 12, 13, 14, 15, 18, 19, 21], "sever": [5, 11, 15, 18, 21, 24, 33, 40], "trend": 5, "math": [6, 8, 13, 14, 15, 16, 34, 37], "matplotlib": [6, 8, 14, 16, 18, 24], "pyplot": [6, 8, 14, 16, 18], "plt": [6, 8, 14, 16, 18], "notebook_hrd": 6, "our": [6, 8, 13, 14, 16, 21, 22, 31, 39], "mathrm": [6, 8, 13, 14], "univers": [6, 8, 21], "These": [6, 7, 14, 15, 19, 21, 24, 25], "rough": 6, "real": [6, 13, 15, 34], "finit": [6, 8, 13, 14], "ago": 6, "cannot": [6, 9, 15, 28, 30, 33], "geq": 6, "_": [6, 8, 13, 14, 21, 33], "through": [6, 7, 11, 12, 13, 14, 15, 24, 25, 34, 40], "studi": [6, 22, 39], "leq": 6, "bse_opt": [6, 13, 14, 15, 20, 37], "grid_opt": [6, 12, 13, 14, 15, 20, 25, 28, 29, 30, 34, 35, 36, 37], "custom_opt": [6, 12, 13, 14, 15, 20, 30], "physic": [6, 13, 14, 15, 21], "13700": [6, 8], "nine": 6, "massrang": [6, 8, 13, 14], "add_grid_vari": [6, 8, 13, 14, 15, 34], "longnam": [6, 8, 13, 14, 15, 34], "valuerang": [6, 8, 13, 14, 15, 34], "samplerfunc": [6, 8, 13, 14, 15, 21, 34, 37], "self": [6, 8, 12, 13, 14, 15, 20, 21, 25, 28, 29, 30, 31, 34, 36, 37, 38], "const_linear": [6, 8, 13, 14, 15, 34, 37], "min_mass": 6, "max_mass": 6, "res_mass": 6, "probdist": [6, 8, 13, 14, 15, 34], "dprob": [6, 8, 14], "dm1": [6, 14], "care": [6, 13, 14, 21], "dphasevol": [6, 8, 13, 14, 15, 34], "dm_1": [6, 14], "condit": [6, 8, 9, 13, 14, 15, 17, 18, 34], "impos": [6, 8, 13, 14, 15], "mostli": [6, 8, 13, 14, 15, 18, 19, 21, 24, 33, 40], "yourself": [6, 8, 13, 14, 15, 24], "gridtyp": [6, 15, 34], "asymptot": 6, "made": [6, 25], "bit": [6, 13], "messi": 6, "avoid": [6, 7, 8], "track": [6, 21, 24], "custom_logging_stat": [6, 8, 13, 14], "foreach_star": [6, 13], "outermost_core_mass": 6, "doubl": [6, 9, 15, 19], "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], "c_logging_cod": [6, 8, 9, 12, 13, 14, 15, 21], "doesn": [6, 21], "associ": [6, 8, 13, 14, 29, 36], "datalinedict": [6, 8, 13, 14, 19], "parse_funct": [6, 8, 12, 13, 14, 15, 20, 21, 40], "zams_mass": [6, 13, 14, 15], "splitlin": [6, 7, 8, 9, 12, 13, 14, 15, 16], "nstar": [6, 13], "group": [6, 13, 16, 38], "linedata": [6, 8, 13, 14], "setup": [6, 15, 22, 39, 40], "grid_result": [6, 8, 13, 14, 21], "results_dictionari": [6, 8, 13, 14], "configur": [6, 11, 12, 13, 14, 15, 18, 21, 26, 31], "part": [6, 7, 12, 13, 14, 15, 18, 20, 29, 31, 34, 36, 42], "straightforward": [6, 13, 14, 15], "num_cor": [6, 8, 13, 14, 15, 21], "lot": [6, 13, 14, 15, 16, 21, 38, 40], "ri0005": [6, 15, 22, 39], "surrei": [6, 15, 22, 39], "ac": [6, 15, 22, 39], "uk": [6, 15, 22, 39], "grid_options_descript": [6, 15, 33], "thread": [6, 8, 13, 14, 19, 21, 32], "suffici": 6, "ensur": 6, "crunch": [6, 8, 13, 14], "analyt": [6, 8, 13, 14, 15, 20, 22, 23], "dry": [6, 8, 13, 14, 15, 21, 34], "starcount": [6, 8, 13, 14, 15], "subprocess": [6, 8, 13, 14, 15], "c98b63ab1b0346d9a1067fc08cb8dd00": 6, "finish": [6, 8, 13, 14, 15, 19, 24, 30], "took": [6, 8, 13, 14, 15, 18], "167": 6, "133": [6, 15], "mb": [6, 8, 13, 14, 15, 19, 21], "were": [6, 8, 13, 14, 15, 19, 38], "metadata": [6, 8, 13, 14, 15, 20, 22, 23, 34], "complet": [6, 8, 13, 14, 15], "technic": [6, 8, 9, 13, 14, 15], "seaborn": [6, 8, 13, 14, 16], "panda": [6, 8, 12, 13, 14, 16, 17, 18, 19, 24], "pd": [6, 8, 12, 13, 14, 16, 17, 18], "pad_output_distribut": [6, 8, 13, 14, 19], "max_row": [6, 8], "max_column": [6, 8], "figur": [6, 8, 13, 14, 16, 24], "figsiz": [6, 8, 13, 14, 16, 18], "set_context": [6, 8, 13, 14, 16], "font_scal": [6, 8, 13, 14, 16], "linewidth": [6, 8, 13, 14, 16], "datafram": [6, 8, 12, 13, 14, 16, 17, 18, 24], "column": [6, 8, 12, 15, 16, 18, 24], "lineplot": [6, 8, 13, 14, 16], "estim": [6, 16, 19, 21], "label": [6, 18, 31], "text": [6, 8, 16, 19, 33], "invert_xaxi": 6, "set_xlabel": [6, 8, 13, 14, 16, 18], "log_": [6, 8, 13, 14], "t_": 6, "eff": 6, "set_ylabel": [6, 8, 13, 14, 16, 18], "distanc": [6, 16], "rerun": [6, 21], "At": [6, 15], "expect": [6, 7, 8, 13, 14, 21, 22, 39], "begin": 6, "shortli": 6, "rsun": [6, 24], "8af9954e2cc847aa8ceabc618e3d147d": 6, "suddenli": 6, "smooth": [6, 14], "a34e3c842d96496c87ab0d70bdacac11": 6, "247": [6, 15], "824": 6, "jerki": 6, "strong": 6, "rgb": 6, "tip": [6, 31], "proper": [6, 9, 33], "program": [6, 22, 39], "languag": 6, "sim": 6, "750": 6, "cours": [6, 24], "simpl": [6, 8, 13, 16], "haven": 6, "talk": 6, "produc": 6, "suffer": 6, "thermonuclear": 6, "lumin": 6, "kilonova": 6, "interfac": [7, 16, 19, 22, 25, 39], "framework": [7, 22, 39], "sourcecod": [7, 9, 22, 39], "binary_c_python": [7, 12, 13, 14, 15, 19], "_binary_c_bind": [7, 9, 12, 16, 38, 42], "cell": [7, 14, 15], "free_persistent_data_memaddr_and_return_json_output": 7, "persistent_data": 7, "adress": [7, 9, 42], "persist": 7, "free_store_memaddr": 7, "memaddr": [7, 9], "return_arglin": 7, "return_help": 7, "info": [7, 11, 15, 19, 20, 22, 24, 38, 39], "return_help_al": [7, 19], "overview": 7, "categor": 7, "section": [7, 15, 19, 22, 31, 39], "return_maximum_mass_ratio_for_rlof": [7, 42], "argstr": [7, 9, 12, 16, 18], "store_capsul": 7, "unction": 7, "return_minimum_orbit_for_rlof": [7, 42], "return_persistent_data_memaddr": 7, "run_popul": 7, "return_store_memaddr": 7, "return_version_info": [7, 38], "abl": 7, "situat": 7, "slightli": 7, "custom_logging_func_memaddr": [7, 9, 21], "store_memaddr": [7, 42], "write_logfil": 7, "test_func": 7, "snippet": [7, 12], "reliabl": 7, "dont": [7, 18], "home": 7, "pyenv": [7, 22, 39], "binarycpython3": 7, "lib": [7, 12, 17, 18, 22, 39], "python3": [7, 22, 39], "site": 7, "cpython": 7, "x86_64": 7, "linux": 7, "gnu": 7, "categori": [7, 15], "creation": 7, "alloc": [7, 37], "written": [7, 12, 15, 21, 22, 30, 33, 34, 39, 40], "4500": 7, "lt": [7, 12, 13, 15, 17], "0x7fc1f0c3ff00": 7, "single_star_lifetim": [7, 9, 12], "4838": [7, 9, 12], "unpars": 7, "abridg": [7, 9, 15], "algorithm": [7, 22], "__arg_begin": 7, "lastli": [7, 12], "00632092": 7, "0141": 7, "alter": [8, 13, 34], "intermedi": 8, "Not": 8, "notebook_comenv": 8, "alpha_": 8, "demonstr": 8, "keep": [8, 15, 30, 32], "log_dt": [8, 21], "progress": [8, 19], "focu": 8, "imposs": 8, "logperrang": [8, 13], "lnm1": [8, 13, 14, 15], "min": [8, 9, 13, 14, 15, 31], "precod": [8, 13, 14, 15, 34], "exp": [8, 13, 14, 15, 34], "three_part_powerlaw": [8, 13, 14, 15, 31], "150": [8, 13, 14, 15], "dlnm1": [8, 13, 15], "flatsect": [8, 13, 15, 31], "height": [8, 13, 15, 31], "dq": [8, 13, 15], "log10per": [8, 13, 15], "calc_sep_from_period": [8, 13, 15, 42], "sep_min": [8, 13, 15], "sep_max": [8, 13, 15], "sana12": [8, 13, 15, 31], "dlog10per": [8, 13, 15], "comenv_count": 8, "had": [8, 13, 14, 20], "proport": 8, "previou": [8, 14, 19, 21, 38], "year_length_in_dai": 8, "wast": [8, 14], "evolution_stop": 8, "parse_data": 8, "bin_data": [8, 13, 14, 19], "binwidth": [8, 13, 14, 19], "pre_comenv_period": 8, "post_comenv_period": 8, "nearest": [8, 13, 14], "5dex": [8, 14], "binned_pre_period": 8, "aritif": 8, "binned_post_period": 8, "histogram": 8, "machin": [8, 21, 22, 39], "0645564": 8, "e7857f8149e949a286f9bfe35157f91f": 8, "minut": [8, 19], "668": 8, "594": 8, "population_id": [8, 13, 14, 15, 21], "evolution_typ": [8, 13, 14, 15, 21], "failed_count": [8, 13, 14, 15], "failed_prob": [8, 13, 14, 15], "failed_systems_error_cod": [8, 13, 14, 15], "errors_exceed": [8, 13, 14, 15], "errors_found": [8, 13, 14, 15], "total_prob": [8, 13, 14, 15], "06455639233064192": 8, "total_count": [8, 13, 14, 15], "start_timestamp": [8, 13, 14, 15], "1655558353": 8, "8189669": 8, "end_timestamp": [8, 13, 14, 15], "1655558379": 8, "477376": 8, "time_elaps": [8, 13, 14, 15, 27], "658409118652344": 8, "total_mass_run": [8, 13, 14, 15], "3410": 8, "9363465845586": 8, "total_probability_weighted_mass_run": [8, 13, 14, 15], "2260906041851175": 8, "zero_prob_stars_skip": [8, 13, 14, 15], "unmerg": 8, "deepcopi": 8, "logper": [8, 31], "90": 8, "del": 8, "pad": [8, 13, 14], "plot_data": [8, 13, 14], "from_dict": [8, 13, 14, 17, 18], "orient": 8, "p_": 8, "orb": [8, 15, 30], "peak": [8, 14, 37], "sim10": 8, "Such": 8, "prime": 8, "candid": 8, "excit": 8, "astrophys": [8, 14, 22, 39], "life": 8, "compact": [8, 15], "lambda_": 8, "smoother": [8, 14], "curv": [8, 14], "why": 8, "learn": [9, 21], "custom_logging_funct": [9, 12, 15, 17, 18, 21, 22, 23], "edit": 9, "log_every_timestep": [9, 12], "evolve_singl": [9, 12, 20], "publicli": 9, "elabor": 9, "advis": 9, "hardcod": [9, 13, 14, 15], "your": [9, 12, 17, 18, 21, 22, 39], "obvious": 9, "logging_lin": [9, 17, 18], "own": [9, 12, 15, 17, 18, 21, 22, 34, 39], "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], "2e": [9, 18], "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, 21, 22, 39], "custom_logging_memaddr": 9, "shared_lib_filenam": 9, "4530": [9, 12, 18], "example_logging_string_co": 9, "848380621869e": 9, "33469": 9, "1865": 9, "72498e": [9, 15], "338": 9, "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, 37], "cover": [11, 14], "get_help": [11, 19], "get_help_al": [11, 19, 20], "get_help_sup": [11, 19], "get_default": [11, 19], "print_help": [11, 19], "parameter_value_input_typ": [11, 19], "fetch": [11, 12], "return_binary_c_version_info": [11, 20, 38], "version_info": [11, 20, 22, 23], "dict_kei": [11, 12], "argpair": [11, 38], "ensemble_filt": 11, "dt_limit": 11, "nucleosynthesis_sourc": [11, 38], "miscellan": [11, 38], "conjunct": 11, "analyz": 12, "quickli": 12, "simplest": 12, "notebook_custom_log": [12, 13, 14, 15], "path": [12, 15, 18, 19, 21, 22, 25, 28, 29, 30, 33, 36, 39], "uncom": [12, 13, 14, 15, 16], "docstr": [12, 24], "12461": 12, "test_logfil": 12, "22065": 12, "11003": 12, "1302": 12, "11582": 12, "2424": 12, "12325": 12, "1085": 12, "817": 12, "12457": 12, "1301": 12, "783": 12, "12460": 12, "8955": 12, "774": 12, "shrinkagb": 12, "1490": 12, "678": 12, "custom_log": [12, 18, 20, 21], "custom_logging_print_stat": 12, "000000000000e": 12, "column_nam": 12, "initial_mass": [12, 18], "value_lin": 12, "chose": 12, "startswith": 12, "split_lin": 12, "el": [12, 15], "numpi": [12, 15, 17, 18, 19, 34, 37], "arrai": [12, 15, 18, 19, 21, 31, 34, 37], "my": 12, "favorit": 12, "queri": [12, 25], "example_df": 12, "iloc": [12, 18], "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, "1254": 12, "row": [12, 18, 24], "notebook_popul": [12, 13, 15], "everyth": [12, 15, 20, 21], "accordingli": [12, 14, 15], "example_pop": [12, 15], "stuff": [12, 15, 21], "libcustom_logging_34a350b8f15c4d149deab88632948c99": 12, "np": [12, 17, 18, 37], "object_parse_funct": 12, "output_fil": [12, 19, 30, 33], "output_dir": [12, 15, 30], "example_output": 12, "values_arrai": 12, "fill": [12, 19], "output_dict": [12, 13], "anywai": [12, 15, 31, 34], "written_data": 12, "0x7f35b603e9d0": 12, "previous": [12, 15, 25], "libcustom_logging_446fe4cddfa94946bcafd55591ef3730": 12, "under": [12, 37], "hood": 12, "fewer": 12, "failsaf": 12, "notebook_api_funct": 12, "9927": 12, "But": 12, "caught": [12, 19, 38], "correctli": [12, 18, 22, 39], "notebook_luminosity_funct": 13, "ipynb": [13, 14, 15], "conceptu": 13, "public": [13, 14, 15, 22], "side": [13, 14, 15], "cube": 13, "nre": [13, 37], "07": [13, 14, 18, 31, 37], "document": [13, 14, 15, 21, 23, 30, 33], "recompil": [13, 14, 15, 22, 39], "somewhat": [13, 14, 15, 16], "purpos": [13, 14, 15, 21, 24], "perfectli": [13, 14], "strictli": [13, 14], "zero_age_main_sequence_starn": 13, "unresolv": 13, "model_numb": [13, 14], "equival": [13, 21, 25], "capit": [13, 14], "zero_age_main_sequence_star": [13, 14], "amp": 13, "1dex": [13, 14], "binned_log_luminos": [13, 14], "0x7f777242c4c0": 13, "binary_c_grid_58bfc73fabfb43b18ae455666fe4d8f8": 13, "py": [13, 15, 21, 22, 28, 39], "dry_run": [13, 15], "symlink": [13, 15], "binary_c_grid": [13, 15], "latest0": 13, "3159": 13, "645748": 13, "996": 13, "processor": 13, "008": 13, "019": 13, "025": 13, "mainprocess": 13, "system_queue_fil": 13, "027": 13, "latest1": 13, "3145": 13, "0s": 13, "tpr": 13, "36e": 13, "etf": 13, "mem": 13, "584": 13, "7mb": 13, "7e": 13, "23146": 13, "6e": 13, "3147": 13, "37e": 13, "signal": [13, 21], "941": 13, "free": 13, "18t12": 13, "996087": 13, "948339": 13, "95": 13, "ran": [13, 21], "792": 13, "161354": 13, "018956": 13, "948532": 13, "93": 13, "791": 13, "158204": 13, "027113": 13, "949028": 13, "92": 13, "784": 13, "166051": 13, "queue": [13, 21, 25, 29], "007947": 13, "955484": 13, "160139": 13, "959": 13, "960": 13, "968": 13, "58bfc73fabfb43b18ae455666fe4d8f8": 13, "6457484448453049": 13, "1655552941": 13, "9314468": 13, "1655552946": 13, "3461084": 13, "414661645889282": 13, "65199": 13, "55913120549": 13, "6433998017038131": 13, "titl": [13, 33], "l_": [13, 14], "yscale": [13, 14, 16], "weirdli": 13, "cost": [13, 14], "observ": [13, 14], "later": [13, 14, 21], "notebook_luminos": 14, "synthesi": [14, 15, 21, 22, 39], "binarygrid": [14, 15], "predefin": [14, 15, 31], "assign": [14, 15, 34], "chosen": [14, 15, 34], "trio": [14, 15], "throughout": [14, 15, 34], "theoret": 14, "integr": [14, 31, 37], "densiti": [14, 31], "accur": 14, "_1": 14, "probtot": 14, "mmax": [14, 31, 37], "mmin": [14, 21, 31, 37], "6afcef10590f48f3b089a6e5bffc70c4": 14, "164": 14, "1655551739": 14, "2635226": 14, "1655551740": 14, "371832": 14, "108309268951416": 14, "3650000000002": 14, "035": 14, "ldist": 14, "implic": 14, "105": 14, "clearli": 14, "realist": 14, "went": 14, "wrong": [14, 22, 39], "unlik": 14, "realiti": 14, "law": [14, 31], "kroupa": [14, 31], "2001": [14, 31], "update_grid_vari": [14, 34], "211729": 14, "452bcf6eb93e4e2493019ec93ee250df": 14, "468": 14, "883": 14, "spiki": 14, "notic": 14, "poor": 14, "compens": 14, "intens": 14, "resourc": [14, 25], "smarter": 14, "linearli": [14, 37], "renam": [14, 34], "clear": [14, 38], "logarithm": [14, 31, 37], "old": [14, 21, 34], "lnm_1": [14, 15, 34], "rename_grid_vari": [14, 34], "dlnm": 14, "dlnm_1": [14, 15, 34], "_grid_vari": [14, 21, 34], "991317": 14, "ec5d853278c743a3acdb8ab290f641df": 14, "475": 14, "789": 14, "perfect": 14, "got": 14, "wiggl": 14, "artefact": 14, "monoton": 14, "brighten": 14, "narrow": 14, "co2": 14, "bar": 14, "isn": [14, 19], "challeng": 14, "sequnec": 14, "notebook_luminosity_function_binari": 14, "recogn": [15, 16], "__": 15, "45000000080": 15, "data_dir": [15, 19, 20, 21, 30], "example_python_population_result": 15, "base_filenam": [15, 20], "idea": [15, 24], "export_all_info": [15, 20], "include_popul": 15, "binary_c_default": 15, "commandlin": 15, "accept": [15, 19, 26], "include_binary_c_default": [15, 20], "include_binary_c_version_info": [15, 20], "include_binary_c_help_al": [15, 20], "fase": 15, "overriden": 15, "use_datadir": [15, 20], "outfil": [15, 20], "ok": [15, 25, 30], "example_pop_set": 15, "gz": [15, 30], "alreadi": [15, 16, 25, 30, 34], "ret": 15, "easier": [15, 18, 19, 20], "discret": 15, "unweight": 15, "notabl": 15, "moe": [15, 22, 25, 26, 31], "di": [15, 22, 26, 31], "stefano": [15, 22, 26, 31], "dataset": [15, 21, 25, 26], "further": 15, "down": 15, "population_extens": [15, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "gridcod": [15, 20, 22, 23], "centr": [15, 34], "branchpoint": [15, 34], "branchcod": [15, 34], "postcod": [15, 34], "topcod": [15, 34], "bottomcod": [15, 34], "dry_parallel": [15, 34], "deeper": [15, 34], "evalu": [15, 31, 34, 37, 42], "bewar": [15, 30, 34], "insert": [15, 34], "destruct": [15, 34], "piec": [15, 18, 34], "risk": [15, 34], "rest": [15, 31, 34], "correspond": [15, 24, 29, 34, 36], "m_min": [15, 34], "m_max": [15, 31, 34], "room": [15, 34], "kroupa2001": [15, 31, 34], "met": [15, 20, 25, 34], "continu": [15, 29, 34, 36], "stepsiz": [15, 34], "parallel": [15, 34], "block": [15, 34], "distribution_funct": [15, 20, 22, 23], "comment": [15, 25, 29, 36], "test_pop": 15, "Or": [15, 18], "example_compact_object": 15, "necessari": [15, 16, 18, 19, 20, 36], "makedir": [15, 19], "exist_ok": [15, 19], "seper": 15, "outfilenam": 15, "headerlin": 15, "isnt": 15, "valueerror": 15, "0x7f2b6ca163a0": 15, "grid_vari": [15, 21], "0443872": 15, "598268106227e": 15, "30592": 15, "75988": 15, "00193614": 15, "436983545111e": 15, "35842": 15, "9948": 15, "00144093": 15, "690157944401e": 15, "43124": 15, "7998": 15, "00107238": 15, "242397939068e": 15, "52416": 15, "3205": 15, "000798096": 15, "756794139032e": 15, "66914": 15, "7394": 15, "000593966": 15, "401414766976e": 15, "73729": 15, "2857": 15, "000442046": 15, "536373523810e": 15, "80677": 15, "000328983": 15, "393982410080e": 15, "82164": 15, "9844": 15, "000244839": 15, "396470605248e": 15, "82129": 15, "53": 15, "9508": 15, "000182216": 15, "399005684057e": 15, "82041": 15, "7151": 15, "00013561": 15, "443375325717e": 15, "81645": 15, "84": 15, "9909": 15, "000100925": 15, "451195752942e": 15, "81559": 15, "51114e": 15, "452661646076e": 15, "81543": 15, "59e": 15, "ce756bb317f64099a459bf8b55a746ac": 15, "73": 15, "293": 15, "406": 15, "044387171445641534": 15, "1646563001": 15, "7193637": 15, "1646563002": 15, "4480088": 15, "7286450862884521": 15, "649": 15, "905447944397": 15, "28133908148630704": 15, "write_binary_c_calls_to_fil": [15, 30], "dataio": [15, 20, 22, 23], "output_filenam": [15, 30], "include_default": [15, 30], "system_gener": [15, 30], "wouldn": [15, 30], "basic": [15, 30], "datadir": [15, 30], "binary_c_cal": [15, 30], "calls_filenam": 15, "binary_c_grid_ce756bb317f64099a459bf8b55a746ac": 15, "latest2": 15, "2406484012210224": 15, "22723621650191106": 15, "011394572976608001": 15, "812296769855663": 15, "22723621650191117": 15, "008480166685456411": 15, "5297876799548944": 15, "006311182276049824": 15, "430329401616038": 15, "004696962123378559": 15, "thats": 15, "evolve_popul": 15, "isfil": 15, "0fa4c2b8707741a5ab41d209ef95a3a4": 15, "299": 15, "531": 15, "regist": 15, "expand": 15, "intend": 15, "mass_1": [15, 18, 24], "zams_mass_1": 15, "mass_2": [15, 18, 24], "zams_mass_2": 15, "prev_stellar_type_1": 15, "prev_stellar_type_2": 15, "example_dco": 15, "logger": 15, "safe": [15, 30], "0211592": 15, "0eb5c0c9abd34607a6ee060b26a7e32f": 15, "300": [15, 37], "378266748188e": 15, "66293": 15, "9713": 15, "78767": 15, "8178": 15, "000339963": 15, "817608462595e": 15, "82104": 15, "41436": 15, "000193036": 15, "422997711686e": 15, "82479": 15, "82171": 15, "2535": 15, "205711924468e": 15, "73765": 15, "solarsystem": 16, "central": 16, "notebook_solar_system": 16, "mmercuri": 16, "moreov": 16, "mercuri": 16, "1mmercuri": 16, "orbital_separ": 16, "1amercuri": 16, "star1": 16, "orbital_eccentr": 16, "206": 16, "venu": 16, "1mvenu": 16, "1avenu": 16, "earth": 16, "1mearth": 16, "1aearth": 16, "mar": 16, "1mmar": 16, "1amar": 16, "093": 16, "jupit": 16, "1mjupit": 16, "1ajupit": 16, "048": [16, 18], "saturn": 16, "1msaturn": 16, "1asaturn": 16, "056": 16, "uranu": 16, "1muranu": 16, "1auranu": 16, "047": 16, "neptun": 16, "1mneptun": 16, "1aneptun": 16, "pluto": 16, "1mpluto": 16, "1apluto": 16, "2444": 16, "244": 16, "planet": 16, "cs1": 16, "superflu": 16, "fourth": 16, "dtype": [16, 17, 18], "argh": 16, "sun": 16, "df": [16, 17, 18, 24], "ci": 16, "legend": [16, 18], "xx": 16, "head": 16, "loc": 16, "yy": 16, "au": 16, "swallow": 16, "although": 16, "mess": 16, "push": 16, "beyond": 16, "explor": 16, "vs": [16, 24], "ylim": 16, "toasti": 16, "distant": 16, "futur": 16, "example_parse_output": [17, 19], "100000000000": [17, 18], "float64": [17, 18], "logi": 17, "axessubplot": 17, "xlabel": 17, "server": 18, "nov": 18, "binary_c_python_api": 18, "nbinary_c": 18, "example_header_1": 18, "st1": 18, "st2": 18, "3540": 18, "example_header_2": 18, "initial_grid": 18, "tempfil": 18, "gettempdir": 18, "test_log": 18, "7106": 18, "786e": 18, "7509": 18, "645": 18, "776": 18, "8427e": 18, "7773": 18, "639": 18, "775": 18, "8435e": 18, "748": 18, "9373e": 18, "0900": 18, "705": 18, "2934e": 18, "1204": 18, "726": 18, "700": 18, "3081e": 18, "2118": 18, "3702e": 18, "2646": 18, "472": 18, "462": 18, "34421": 18, "d48r": 18, "0570946": 18, "458272": 18, "13108": 18, "562029": 18, "924056": 18, "89211": 18, "78817": 18, "302": 18, "148": 18, "113492": 18, "80602": 18, "124379": 18, "2365": 18, "7087": 18, "7695": 18, "444": 18, "608402": 18, "696003": 18, "796455": 18, "0834973": 18, "85661": 18, "3914": 18, "156": 18, "524629": 18, "634667": 18, "func_memaddr": 18, "run_binary_custom_log": 18, "3e": 18, "serv": [18, 19], "parse_output": 18, "behind": 18, "scene": 18, "background": 18, "inlin": 18, "mind": 18, "result_example_header_1": 18, "selected_head": [18, 19], "result_example_header_2": 18, "cast": [18, 19], "df2": 18, "81762e": 18, "000000e": 18, "00000": 18, "817620e": 18, "3927": 18, "102750e": 18, "33817": 18, "62124": 18, "896110e": 18, "202750e": 18, "3929": 18, "302750e": 18, "3930": 18, "402750e": 18, "3931": 18, "500000e": 18, "3932": 18, "doesnt": [18, 33], "autogener": 18, "result_example_head": 18, "000000": 18, "3630": 18, "131680e": 18, "627748": 18, "3631": 18, "231680e": 18, "3632": 18, "331680e": 18, "3633": 18, "431680e": 18, "3634": 18, "3635": 18, "run_and_calc_mass": 18, "kwarg": [18, 20, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40], "2f": 18, "last_st": 18, "last_stellar_type_change_time_1": 18, "slice": 18, "sliced_df": 18, "cut": 18, "late": 18, "final_mass": 18, "initial_tim": 18, "final_tim": 18, "mass_lost": 18, "wrt": 18, "metallicity_002": 18, "metallicity_001": 18, "metallicity_0002": 18, "mass_rang": 18, "arang": 18, "fractions_z002": 18, "fractions_z001": 18, "fractions_z0002": 18, "214274644851685": 18, "ax": 18, "subplot": 18, "nrow": 18, "ncol": 18, "m_": 18, "fontsiz": 18, "set_titl": 18, "set_yscal": 18, "save_loop": 18, "mass_loss_m": 18, "png": 18, "ep": 18, "bbox_inch": 18, "tight": 18, "verbose_print": [19, 32], "iter": 19, "context": 19, "manag": [19, 22, 39], "__enter__": 19, "stdout": [19, 21, 37], "__exit__": 19, "releas": [19, 22, 39], "call_binary_c_config": 19, "catchtim": 19, "spent": 19, "clock": 19, "exc_typ": 19, "exc_val": 19, "exc_tb": 19, "measur": 19, "check_if_in_shel": 19, "command_string_from_list": 19, "quot": 19, "conv_time_unit": 19, "hour": 19, "magnitud": 19, "convert_byt": 19, "size": [19, 21, 28], "convfloat": 19, "scalar": 19, "create_arg_str": 19, "filter_valu": 19, "create_hdf5": 19, "hdf5": 19, "hdf5file": 19, "conveni": [19, 22, 39], "example_head": 19, "94": 19, "defaultdict": 19, "rethink": 19, "filter_arg_dict": 19, "format_numb": 19, "scientif": 19, "notat": 19, "trail": [19, 37], "get_ansi_colour": 19, "color": [19, 24], "get_arg_kei": 19, "sinc": [19, 24, 31], "param_nam": 19, "fail_sil": 19, "did": [19, 22, 39], "compon": [19, 24], "categoris": 19, "silent": 19, "get_siz": 19, "seen": 19, "github": [19, 30], "bosswissam": 19, "pysiz": 19, "get_usernam": 19, "usernam": 19, "spawn": 19, "is_capsul": 19, "tell": [19, 25], "isfloat": 19, "isint": 19, "load_logfil": 19, "make_build_text": 19, "mem_us": 19, "now_object": 19, "nospac": 19, "date": [19, 20, 21], "d_": 19, "output_lin": 19, "receiv": 19, "dist": 19, "quotewrap": 19, "remove_fil": 19, "child_dir": 19, "child": 19, "full_path": 19, "timedelta": 19, "delta": [19, 37], "length": 19, "human": 19, "readabl": 19, "trem": 19, "dn": [19, 31], "differenti": 19, "messag": [19, 20], "minimal_verbos": 19, "newlin": [19, 21, 30, 32], "charact": [19, 21, 30], "x0d": [19, 21], "carriag": [19, 21], "write_binary_c_parameter_descriptions_to_rst_fil": 19, "rst": [19, 33], "restructuredtext": 19, "save_snapshot": [20, 21, 30], "distinct": 20, "init": [20, 22, 39], "initial_abundance_hash": 20, "isotope_hash": 20, "isotope_list": 20, "nuclear_mass_hash": 20, "nuclear_mass_list": 20, "source_list": 20, "ensemble_list": 20, "spread": 20, "privat": [20, 22], "nice": [20, 24], "unload": 20, "custom_logging_info": 20, "grid_cod": 20, "mixin": 20, "portal": 20, "decor": 20, "staticmethod": 20, "classmethod": 20, "realpython": 20, "static": 20, "demystifi": 20, "cach": [20, 21, 22, 23, 27, 33, 37], "grid_log": [20, 22, 23], "grid_options_default": [20, 22, 23, 28], "hpc": [20, 21, 22, 23, 29, 36], "moe_di_stefano_2017": [20, 22, 23], "spacing_funct": [20, 22, 23], "reus": 20, "_pre_run_setup": 20, "relev": 20, "clean_up_custom_logging_fil": 20, "stacktrac": 20, "sy": 20, "include_population_set": 20, "all_info": 20, "flaw": 20, "rewrit": 20, "pl": 20, "population_set": 20, "return_population_set": 20, "_set": 20, "simulation_": 20, "jobid": [20, 21, 36], "job": [20, 21, 25, 29, 36], "id": [20, 21, 25, 29, 30, 31, 32, 36], "pid": 20, "hpc_jobid": [20, 25], "parse_cmdlin": 20, "return_all_info": 20, "return_binary_c_default": 20, "was_kil": 20, "meant": 21, "c_auto_log": 21, "headlin": 21, "hpc_force_join": 21, "slurm": [21, 22, 23, 25], "condor": [21, 22, 23, 25], "hpc_rebuild_joinlist": [21, 25], "joinlist": [21, 25], "moe2017_opt": 21, "cache_dir": [21, 37], "combine_ensemble_with_thread_join": 21, "ensemble_output_": 21, "thread_id": 21, "command_lin": 21, "htcondor": 21, "launch": [21, 29, 36], "condor_clusterid": [21, 29], "clusterid": [21, 29], "condor_process": [21, 29], "jobarrayindex": [21, 36], "condor_bash": 21, "bash": 21, "submit": [21, 22], "node": 21, "condor_batchnam": 21, "batchnam": 21, "appear": 21, "condor_q": 21, "condor_d": 21, "usr": 21, "condor_dir": [21, 25, 29, 36], "nf": [21, 30], "condor_env": 21, "env": [21, 24], "condor_extra_set": 21, "te": 21, "batch": 21, "overwrit": [21, 25], "condor_getenv": 21, "environ": 21, "submiss": 21, "almost": 21, "certainli": 21, "condor_initial_dir": 21, "condor_kill_sig": 21, "sigint": 21, "condor_memori": 21, "images": 21, "condor_njob": 21, "condor_postpone_join": 21, "condor_postpone_submit": 21, "tool": 21, "condor_pwd": 21, "pwd": 21, "instal": [21, 42], "condor_requir": 21, "condor_should_transfer_fil": 21, "ye": 21, "condor_snapshot_on_kil": 21, "snapshot": [21, 25, 30], "sigkil": 21, "condor_stream_error": 21, "stream": 21, "condor_stream_output": 21, "condor_submit": 21, "condor_univers": 21, "vanilla": 21, "condor_warn_max_memori": 21, "condor_when_to_transfer_output": 21, "on_exit_or_evict": 21, "custom_gener": 21, "do_analyt": 21, "do_dry_run": 21, "dry_run_hook": 21, "hook": 21, "dry_run_num_cor": 21, "ensemble_factor_in_probability_weighted_mass": 21, "probability_weighted_mass": 21, "multiprocess": 21, "exit_after_dry_run": 21, "exit_cod": 21, "failed_systems_threshold": 21, "failed_system": 21, "function_cach": 21, "certain": [21, 22, 39], "function_cache_ttl": 21, "function_cache_default_maxs": 21, "maxsiz": 21, "function_cache_default_typ": 21, "lrucach": 21, "lfucach": 21, "fifocach": 21, "mrucach": 21, "rrcach": 21, "ttlcach": 21, "nullcach": [21, 28], "nocach": 21, "cachetool": [21, 28], "fo": 21, "dummi": [21, 24, 31], "overhead": 21, "function_cache_funct": [21, 28], "gridcode_filenam": 21, "log_arg": 21, "log_args_dir": 21, "log_newlin": 21, "log_runtime_system": 21, "plan": 21, "max_queue_s": 21, "feed": 21, "modulo": 21, "multiplicity_fraction_funct": 21, "aren": [21, 31], "rhagavan": 21, "n_logging_stat": 21, "num_cores_avail": 21, "original_command_lin": 21, "original_submission_tim": 21, "original_working_diretori": 21, "Its": 21, "print_stack_on_exit": 21, "stack": 21, "trace": 21, "restore_from_snapshot_dir": 21, "restore_from_snapshot_fil": [21, 25], "return_after_dry_run": 21, "run_zero_probability_system": 21, "rungrid": 21, "save_ensemble_chunk": 21, "save_population_object": [21, 30], "skip_befor": 21, "slurm_arrai": 21, "slurm_array_max_job": 21, "concurr": 21, "slurm_bash": 21, "slurm_dat": 21, "slurm_dir": [21, 25, 29, 36], "slurm_env": 21, "slurm_extra_set": 21, "slurm_jobarrayindex": [21, 36], "slurm_jobid": [21, 36], "slurm_jobnam": 21, "slurm_memori": 21, "megabyt": 21, "512mb": 21, "slurm_njob": 21, "slurm_ntask": 21, "slurm_partit": 21, "partit": 21, "local": [21, 31], "sview": 21, "slurm_postpone_join": 21, "slurm_postpone_sbatch": 21, "sbatch": 21, "slurm_pwd": 21, "slurm_sbatch": 21, "slurm_tim": 21, "slurm_warn_max_memori": 21, "excess": 21, "mistak": 21, "1024mb": 21, "source_file_filenam": 21, "start_at": 21, "status_dir": 21, "stop_queu": 21, "symlink_latest_gridcod": 21, "diagnost": 21, "_repeat": 21, "reduct": 21, "working_diretori": 21, "multiplicity_model": 21, "log10m1": 21, "poisson": [21, 31], "map": 21, "quad": 21, "NO": 21, "multiplicity_modul": 21, "normalize_multipl": 21, "norm": 21, "b": [21, 30], "whichev": 21, "stick": 21, "predict": 21, "repres": 21, "canon": 21, "nonzero": 21, "q_high_extrapolation_method": 21, "q_low_extrapolation_method": 21, "extrapol": [21, 31], "flat": [21, 31], "linear2": 21, "plaw2": 21, "nolowq": 21, "_moe2017_json_data": 21, "distefano2017": 21, "_actually_evolve_system": 21, "_process_run_population_grid": 21, "_binary_c_config_execut": 21, "_binary_c_dir": 21, "director": 21, "_binary_c_execut": 21, "_binary_c_shared_librari": 21, "libbinary_c": 21, "_commandline_input": 21, "_count": 21, "counter": 21, "_custom_logging_shared_library_fil": 21, "_end_time_evolut": 21, "timestamp": [21, 27], "_errors_exceed": 21, "failed_system_log": 21, "_errors_found": 21, "encount": [21, 22, 39], "_evolution_type_opt": 21, "_failed_count": 21, "_failed_prob": 21, "_failed_systems_error_cod": 21, "_generate_grid_cod": 21, "_kill": 21, "_loaded_moe2017_data": 21, "_main_pid": 21, "master": [21, 22, 24, 39], "_population_id": 21, "char": 21, "hex": 21, "_probtot": 21, "_queue_don": 21, "_set_moe2017_grid": 21, "_start_time_evolut": 21, "_store_memaddr": 21, "_system_gener": 21, "_total_mass_run": 21, "_total_probability_weighted_mass_run": 21, "_total_starcount": 21, "_zero_prob_stars_skip": 21, "aim": [22, 39], "jeff": [22, 39], "andrew": [22, 39], "robert": [22, 39], "student": [22, 39], "scientist": [22, 39], "who": [22, 39], "onlin": [22, 39], "older": [22, 39], "guarante": [22, 39], "development_0": [22, 39], "meet": [22, 39], "least": [22, 39], "eol": [22, 39], "root": [22, 39], "ld_library_path": [22, 39], "libgsl": [22, 39], "libmemo": [22, 39], "librinterpol": [22, 39], "library_path": [22, 39], "gsl_dir": [22, 39], "gsl": [22, 39], "dir": [22, 29, 39], "binary_c2": [22, 39], "latest": [22, 39], "virtual": [22, 39], "sh": [22, 39], "suit": [22, 39], "pythonpath": [22, 39], "download": [22, 39], "clone": [22, 39], "gitlab": [22, 39], "whenev": [22, 39], "reinstal": [22, 39], "virtualenviron": [22, 39], "host": [22, 39], "person": [22, 39], "ph": [22, 39], "recent": [22, 39], "contribut": [22, 39], "development_requir": [22, 39], "hesit": [22, 39], "discuss": [22, 39], "generate_doc": [22, 39], "generate_report": [22, 39], "main_with_notebook": [22, 39], "test_notebook": [22, 39], "ve": [22, 27, 39], "dhendrik": [22, 39], "paper_joss_binarycpython": [22, 39], "submodul": [22, 39], "initialis": [22, 39], "exhaust": [22, 39], "solut": [22, 39], "mesa": [22, 39], "mesasdk_root": [22, 39], "mesasdk_init": [22, 39], "interfer": [22, 39], "throw": [22, 39], "unrecogn": [22, 39], "ftz": [22, 39], "flto": [22, 39], "due": [22, 39], "cflag": [22, 39], "avaibl": [22, 39], "1ckzg0p9": [22, 39], "egg": [22, 39], "pkg": [22, 39], "filenotfounderror": [22, 39], "errno": [22, 39], "jupyt": [22, 39], "seem": [22, 24, 33, 39], "everytim": [22, 39], "rebuilt": [22, 39], "plot_funct": [22, 23], "useful_func": [22, 23], "nucsyn": 22, "misc": 22, "sampler": 22, "visit": 22, "plot_system": 24, "loos": 24, "admittedli": 24, "customis": 24, "regardless": 24, "color_by_index": 24, "placehold": [24, 28, 29, 30], "parse_function_hr_diagram": 24, "hr": 24, "parse_function_mass": 24, "parse_function_orbit": 24, "plot_hr_diagram": 24, "show_stellar_typ": 24, "show_plot": 24, "use_astropy_valu": 24, "plot_hr_diagram_singl": 24, "radius_1": 24, "radius_2": 24, "luminosity_1": 24, "luminosity_2": 24, "teff_1": 24, "teff_2": 24, "hd": 24, "astropi": 24, "stefan": 24, "boltzman": 24, "plot_mass": 24, "pms_mass_1": 24, "pms_mass_2": 24, "quantiti": 24, "pm": 24, "mayb": 24, "plot_orbit": 24, "plot_typ": 24, "preset": 24, "mass_evolut": 24, "orbit_evolut": 24, "hr_diagram": 24, "keyword": [24, 40], "against": 24, "pick": 24, "pane": 24, "distefano": [25, 26, 31], "hpc_can_join": 25, "joinfil": 25, "joiningfil": 25, "vb": [25, 28, 30, 37], "hpc_check_requir": 25, "hpc_dir": 25, "hpc_dump_statu": 25, "hpc_get_statu": 25, "job_id": 25, "job_index": 25, "hpc_grid": 25, "makejoiningfil": 25, "hpc_task": 25, "exclud": 25, "hpc_id_filenam": 25, "hpc_id_from_dir": 25, "hpc_job": 25, "hpc_jobid_tupl": 25, "hpc_job_id_rang": 25, "hpc_job_task": 25, "hpc_job_typ": 25, "hpc_join_from_fil": 25, "newobj": 25, "hpc_join_previ": 25, "hpc_joinlist": 25, "hpc_load_joinfiles_list": 25, "hpc_make_joiningfil": 25, "error_on_overwrit": 25, "hpc_njob": 25, "error_on_overwit": 25, "issu": 25, "hpc_path": 25, "hpc_queue_stat": 25, "stat": 25, "hpc_restor": 25, "restor": 25, "_restart_dir": 25, "stage": 25, "hpc_set_statu": 25, "hpc_snapshot_filenam": 25, "hpc_statu": 25, "hpc_touch": 25, "touch": [25, 30], "distrefano": 26, "interpol": [26, 31, 37], "get_moe_di_stefano_2017_default_opt": 26, "get_moe_di_stefano_2017_default_options_descript": 26, "get_moe_di_stefano_dataset": 26, "set_moe_di_stefano_set": 26, "cpu_tim": 27, "make_analytics_dict": 27, "set_tim": 27, "elaps": 27, "lru": 28, "lru_": 28, "__delitem__": 28, "delet": [28, 34], "getter": 28, "__setitem__": 28, "setter": 28, "popitem": 28, "default_cache_dir": [28, 33], "setup_function_cach": 28, "cachetyp": 28, "function_cache_s": 28, "func": 28, "test_cach": 28, "replac": 29, "condorid": 29, "condor_check_requir": 29, "condor_grid": 29, "being": [29, 36], "condor_outfil": 29, "chunk": [29, 36], "condor_queue_stat": 29, "condor_status_fil": 29, "condorpath": 29, "get_condor_statu": 29, "correspon": [29, 36], "make_condor_dir": 29, "set_condor_statu": 29, "held": [29, 36], "io": 30, "nfs_flush_hack": 30, "opendir": 30, "closedir": 30, "complaint": 30, "unclos": 30, "scandir": 30, "nfspath": 30, "mount": 30, "compression_typ": 30, "dir_ok": 30, "load_population_object": 30, "load_snapshot": 30, "preloaded_popul": 30, "locked_clos": 30, "partner": 30, "locked_open_for_writ": 30, "unlock": 30, "lock_suffix": 30, "lock_timeout": 30, "lock_lifetim": 30, "exists_ok": 30, "fatal_open_error": 30, "mode": 30, "lockfil": 30, "flufl": 30, "file_object": 30, "lock_object": 30, "merge_popul": 30, "refpop": 30, "newpop": 30, "merge_populations_from_fil": 30, "closefd": 30, "compresslevel": 30, "population_object": 30, "confirm": 30, "gzip": 30, "pickl": 30, "compress_pickl": 30, "lucianopaz": 30, "shared_memori": 30, "set_statu": 30, "format_stat": 30, "process_": 30, "snapshot_filenam": 30, "wait_for_unlock": 30, "wait": 30, "write_ensembl": 30, "recognis": 30, "bz2": 30, "msgpack": 30, "support": 30, "grid_ensemble_result": [30, 35], "stackoverflow": 31, "28060251": 31, "hi": 31, "gonna": 31, "mathieu": 31, "sfh": 31, "redshift": 31, "arenou2010_binary_fract": 31, "c2": 31, "sp": 31, "opm": 31, "fa": 31, "rssd": 31, "esa": 31, "doc_fetch": 31, "php": 31, "2969346": 31, "izzard2012_period_distribut": 31, "log10pmin": 31, "duquennoi": 31, "mayor": 31, "1991": 31, "spectral": 31, "15msun": 31, "sana": 31, "3msun": 31, "dlogp": 31, "raghavan": 31, "gaussian": [31, 37], "log10p": 31, "logp": 31, "m0": 31, "p1": 31, "p2": 31, "p3": 31, "moe_di_stefano_2017_multiplicity_fract": 31, "6e1": 31, "moe_di_stefano_2017_pdf": 31, "m3": 31, "m4": 31, "ecc2": 31, "ecc3": 31, "80": [31, 37], "build_q_tabl": 31, "independ": 31, "q_min": 31, "renormalis": 31, "lowest": 31, "qmin": 31, "goal": 31, "boundari": 31, "calc_p_integr": 31, "min_logp": 31, "max_logp": 31, "integrals_str": 31, "interpolator_nam": 31, "mass_str": 31, "min_per": 31, "calc_e_integr": 31, "period_str": 31, "calc_total_probden": 31, "prob_dict": 31, "calculate_constants_three_part_powerlaw": 31, "law_const": 31, "slope": 31, "const_distribut": 31, "min_bound": [31, 37], "max_bound": [31, 37], "val": 31, "cosmic_sfh_madau_dickinson2014": 31, "cosmic": 31, "histori": 31, "madau": 31, "dickonson": 31, "1403": 31, "0007": 31, "mega": 31, "parsec": 31, "duquennoy1991": 31, "fill_data": 31, "sample_valu": 31, "data_dict": 31, "logmass": [31, 37], "logperiod": 31, "dstep": 31, "uniform": 31, "sigma": [31, 37], "gmin": 31, "gmax": 31, "deviat": [31, 37], "gaussian_func": 31, "gaussian_normalizing_const": 31, "get_integration_constant_q": 31, "q_interpol": 31, "tmp_tabl": 31, "qdata": 31, "get_max_multipl": 31, "multiplicity_arrai": 31, "imf_chabrier2003": 31, "chabrier": 31, "pasp": 31, "795": 31, "imf_scalo1986": 31, "scalo": 31, "80msol": 31, "70": 31, "imf_scalo1998": 31, "imf_tinsley1980": 31, "tinslei": 31, "1980": 31, "interpolate_in_mass_izzard2012": 31, "ktg93": 31, "linear_extrapolation_q": 31, "qs": 31, "qlimit": 31, "end_index": 31, "merge_multipl": 31, "result_arrai": 31, "max_multipl": 31, "fold": 31, "lambda_v": 31, "nmax": 31, "improv": [31, 37], "powerlaw": 31, "min_val": 31, "max_val": 31, "powerlaw_const": 31, "powerlaw_constant_nocach": 31, "powerlaw_extrapolation_q": 31, "raghavan2010_binary_fract": 31, "zsolar": 31, "long_spectral_typ": 31, "jaschek": 31, "amin": 31, "amax": 31, "x0": 31, "x1": 31, "ln": 31, "dp": 31, "p0": 31, "generalis": 31, "vb1print": 32, "system_numb": 32, "system_dict": 32, "ey": 32, "unix": 32, "epoch": 32, "vb2print": 32, "cmdline_str": 32, "grid_options_defaults_dict": 33, "grid_options_help": 33, "grid_options_description_check": 33, "write_grid_options_to_rst_fil": 33, "With": 33, "hack": 33, "reconsid": 33, "unnecessari": 33, "get_grid_options_defaults_dict": 33, "get_grid_options_descript": 33, "print_info": 33, "undescrib": 33, "And": [33, 42], "print_option_descript": 33, "filehandl": 33, "extra_text": 33, "delete_grid_vari": 34, "oldnam": 34, "newnam": 34, "grid_variable_numb": 34, "add_ensemble_metadata": 35, "combined_output_dict": 35, "add_system_metadata": 35, "get_slurm_statu": 36, "make_slurm_dir": 36, "set_slurm_statu": 36, "slurmid": 36, "slurm_check_requir": 36, "slurm_grid": 36, "slurm_outfil": 36, "slurm_queue_stat": 36, "xxx": 36, "slurm_status_fil": 36, "slurmpath": 36, "const_dt": 37, "cachedir": 37, "usecach": 37, "logspac": 37, "dlogt": 37, "tmin": 37, "tmax": 37, "mindm": 37, "1msun": 37, "0msun": 37, "comma": 37, "thu": 37, "maxdm": 37, "similar": 37, "fsampl": 37, "shannon": 37, "showtabl": 37, "showlist": 37, "log10mass": 37, "const_dt_cach": 37, "add_grid_valu": 37, "1gyr": 37, "suitabl": 37, "const_int": 37, "segment": 37, "linspac": 37, "const_rang": 37, "gaussian_zoom": 37, "zoom_mean": 37, "zoom_dispers": 37, "zoom_magnitud": 37, "depth": 37, "zoom_magntiud": 37, "peak_normalized_gaussian_func": 37, "hardli": 38, "minimum_stellar_mass": 38, "parse_binary_c_version_info": 38, "version_info_str": 38, "atom": 38, "dtlimit": 38, "git_branch": 38, "git_build": 38, "email": 38, "analys": 40, "example_log": 40, "fancy_parsing_funct": 40, "notifi": 40, "unknown": 40, "centralis": 40, "abstract": 40, "stellar_type_dict": 41, "stellar_type_dict_short": 41, "abbrevi": 41, "collect": 42, "binary_star": 42, "calc_period_from_sep": 42, "invers": 42, "zams_collis": 42, "collid": 42, "roche_lob": 42, "ragb": 42, "minimum_period_for_rlof": 42, "minimum_separation_for_rlof": 42, "maximum_mass_ratio_for_rlof": 42, "upon": 42, "r_l": 42, "1983": 42, "mass_accretor": 42, "mass_donor": 42, "rochelob": 42, "vice": 42, "versa": 42, "1996": 42, "mnra": 42, "281": 42, "257": 42, "pericent": 42}, "objects": {"binarycpython.utils": [[1, 0, 0, "-", "custom_logging_functions"], [2, 0, 0, "-", "dicts"], [3, 0, 0, "-", "ensemble"], [19, 0, 0, "-", "functions"], [20, 0, 0, "-", "grid"], [24, 0, 0, "-", "plot_functions"], [40, 0, 0, "-", "run_system_wrapper"], [41, 0, 0, "-", "stellar_types"], [42, 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": [[19, 2, 1, "", "Capturing"], [19, 1, 1, "", "bin_data"], [19, 1, 1, "", "call_binary_c_config"], [19, 2, 1, "", "catchtime"], [19, 1, 1, "", "check_if_in_shell"], [19, 1, 1, "", "command_string_from_list"], [19, 1, 1, "", "conv_time_units"], [19, 1, 1, "", "convert_bytes"], [19, 1, 1, "", "convfloat"], [19, 1, 1, "", "create_arg_string"], [19, 1, 1, "", "create_hdf5"], [19, 1, 1, "", "datalinedict"], [19, 1, 1, "", "example_parse_output"], [19, 1, 1, "", "filter_arg_dict"], [19, 1, 1, "", "format_number"], [19, 1, 1, "", "get_ANSI_colours"], [19, 1, 1, "", "get_arg_keys"], [19, 1, 1, "", "get_defaults"], [19, 1, 1, "", "get_help"], [19, 1, 1, "", "get_help_all"], [19, 1, 1, "", "get_help_super"], [19, 1, 1, "", "get_size"], [19, 1, 1, "", "get_username"], [19, 1, 1, "", "imports"], [19, 1, 1, "", "is_capsule"], [19, 1, 1, "", "isfloat"], [19, 1, 1, "", "isint"], [19, 1, 1, "", "load_logfile"], [19, 1, 1, "", "make_build_text"], [19, 1, 1, "", "mem_use"], [19, 1, 1, "", "now"], [19, 1, 1, "", "output_lines"], [19, 1, 1, "", "pad_output_distribution"], [19, 1, 1, "", "quotewrap"], [19, 1, 1, "", "remove_file"], [19, 1, 1, "", "temp_dir"], [19, 1, 1, "", "timedelta"], [19, 1, 1, "", "trem"], [19, 1, 1, "", "verbose_print"], [19, 1, 1, "", "write_binary_c_parameter_descriptions_to_rst_file"]], "binarycpython.utils.functions.Capturing": [[19, 3, 1, "", "__enter__"], [19, 3, 1, "", "__exit__"]], "binarycpython.utils.functions.catchtime": [[19, 3, 1, "", "__enter__"], [19, 3, 1, "", "__exit__"]], "binarycpython.utils.grid": [[20, 2, 1, "", "Population"]], "binarycpython.utils.grid.Population": [[20, 3, 1, "", "clean"], [20, 3, 1, "", "evolve"], [20, 3, 1, "", "evolve_single"], [20, 3, 1, "", "exit"], [20, 3, 1, "", "export_all_info"], [20, 3, 1, "", "jobID"], [20, 3, 1, "", "parse_cmdline"], [20, 3, 1, "", "return_all_info"], [20, 3, 1, "", "return_binary_c_defaults"], [20, 3, 1, "", "return_population_settings"], [20, 3, 1, "", "set"], [20, 3, 1, "", "was_killed"]], "binarycpython.utils.plot_functions": [[24, 1, 1, "", "color_by_index"], [24, 1, 1, "", "dummy"], [24, 1, 1, "", "parse_function_hr_diagram"], [24, 1, 1, "", "parse_function_masses"], [24, 1, 1, "", "parse_function_orbit"], [24, 1, 1, "", "plot_HR_diagram"], [24, 1, 1, "", "plot_masses"], [24, 1, 1, "", "plot_orbit"], [24, 1, 1, "", "plot_system"]], "binarycpython.utils.population_extensions": [[25, 0, 0, "-", "HPC"], [26, 0, 0, "-", "Moe_di_Stefano_2017"], [27, 0, 0, "-", "analytics"], [28, 0, 0, "-", "cache"], [29, 0, 0, "-", "condor"], [30, 0, 0, "-", "dataIO"], [31, 0, 0, "-", "distribution_functions"], [32, 0, 0, "-", "grid_logging"], [33, 0, 0, "-", "grid_options_defaults"], [34, 0, 0, "-", "gridcode"], [35, 0, 0, "-", "metadata"], [36, 0, 0, "-", "slurm"], [37, 0, 0, "-", "spacing_functions"], [38, 0, 0, "-", "version_info"]], "binarycpython.utils.population_extensions.HPC": [[25, 2, 1, "", "HPC"]], "binarycpython.utils.population_extensions.HPC.HPC": [[25, 3, 1, "", "HPC_can_join"], [25, 3, 1, "", "HPC_check_requirements"], [25, 3, 1, "", "HPC_dir"], [25, 3, 1, "", "HPC_dirs"], [25, 3, 1, "", "HPC_dump_status"], [25, 3, 1, "", "HPC_get_status"], [25, 3, 1, "", "HPC_grid"], [25, 3, 1, "", "HPC_id_filename"], [25, 3, 1, "", "HPC_id_from_dir"], [25, 3, 1, "", "HPC_job"], [25, 3, 1, "", "HPC_jobID"], [25, 3, 1, "", "HPC_jobID_tuple"], [25, 3, 1, "", "HPC_job_id_range"], [25, 3, 1, "", "HPC_job_task"], [25, 3, 1, "", "HPC_job_type"], [25, 3, 1, "", "HPC_join_from_files"], [25, 3, 1, "", "HPC_join_previous"], [25, 3, 1, "", "HPC_joinlist"], [25, 3, 1, "", "HPC_load_joinfiles_list"], [25, 3, 1, "", "HPC_make_joiningfile"], [25, 3, 1, "", "HPC_njobs"], [25, 3, 1, "", "HPC_path"], [25, 3, 1, "", "HPC_queue_stats"], [25, 3, 1, "", "HPC_restore"], [25, 3, 1, "", "HPC_set_status"], [25, 3, 1, "", "HPC_snapshot_filename"], [25, 3, 1, "", "HPC_status"], [25, 3, 1, "", "HPC_touch"]], "binarycpython.utils.population_extensions.Moe_di_Stefano_2017": [[26, 2, 1, "", "Moe_di_Stefano_2017"]], "binarycpython.utils.population_extensions.Moe_di_Stefano_2017.Moe_di_Stefano_2017": [[26, 3, 1, "", "Moe_di_Stefano_2017"], [26, 3, 1, "", "get_Moe_di_Stefano_2017_default_options"], [26, 3, 1, "", "get_Moe_di_Stefano_2017_default_options_description"], [26, 3, 1, "", "get_moe_di_stefano_dataset"], [26, 3, 1, "", "set_moe_di_stefano_settings"]], "binarycpython.utils.population_extensions.analytics": [[27, 2, 1, "", "analytics"]], "binarycpython.utils.population_extensions.analytics.analytics": [[27, 3, 1, "", "CPU_time"], [27, 3, 1, "", "make_analytics_dict"], [27, 3, 1, "", "set_time"], [27, 3, 1, "", "time_elapsed"]], "binarycpython.utils.population_extensions.cache": [[28, 2, 1, "", "cache"]], "binarycpython.utils.population_extensions.cache.cache": [[28, 2, 1, "", "NullCache"], [28, 3, 1, "", "default_cache_dir"], [28, 3, 1, "", "setup_function_cache"], [28, 3, 1, "", "test_caches"]], "binarycpython.utils.population_extensions.cache.cache.NullCache": [[28, 3, 1, "", "__delitem__"], [28, 3, 1, "", "__getitem__"], [28, 3, 1, "", "__setitem__"], [28, 3, 1, "", "popitem"]], "binarycpython.utils.population_extensions.condor": [[29, 2, 1, "", "condor"]], "binarycpython.utils.population_extensions.condor.condor": [[29, 3, 1, "", "condorID"], [29, 3, 1, "", "condor_check_requirements"], [29, 3, 1, "", "condor_dirs"], [29, 3, 1, "", "condor_grid"], [29, 3, 1, "", "condor_outfile"], [29, 3, 1, "", "condor_queue_stats"], [29, 3, 1, "", "condor_status_file"], [29, 3, 1, "", "condorpath"], [29, 3, 1, "", "get_condor_status"], [29, 3, 1, "", "make_condor_dirs"], [29, 3, 1, "", "set_condor_status"]], "binarycpython.utils.population_extensions.dataIO": [[30, 2, 1, "", "dataIO"]], "binarycpython.utils.population_extensions.dataIO.dataIO": [[30, 3, 1, "", "NFS_flush_hack"], [30, 3, 1, "", "NFSpath"], [30, 3, 1, "", "compression_type"], [30, 3, 1, "", "dir_ok"], [30, 3, 1, "", "load_population_object"], [30, 3, 1, "", "load_snapshot"], [30, 3, 1, "", "locked_close"], [30, 3, 1, "", "locked_open_for_write"], [30, 3, 1, "", "merge_populations"], [30, 3, 1, "", "merge_populations_from_file"], [30, 3, 1, "", "open"], [30, 3, 1, "", "save_population_object"], [30, 3, 1, "", "save_snapshot"], [30, 3, 1, "", "set_status"], [30, 3, 1, "", "snapshot_filename"], [30, 3, 1, "", "wait_for_unlock"], [30, 3, 1, "", "write_binary_c_calls_to_file"], [30, 3, 1, "", "write_ensemble"]], "binarycpython.utils.population_extensions.distribution_functions": [[31, 2, 1, "", "distribution_functions"]], "binarycpython.utils.population_extensions.distribution_functions.distribution_functions": [[31, 3, 1, "", "Arenou2010_binary_fraction"], [31, 3, 1, "", "Izzard2012_period_distribution"], [31, 3, 1, "", "Kroupa2001"], [31, 3, 1, "", "Moe_di_Stefano_2017_multiplicity_fractions"], [31, 3, 1, "", "Moe_di_Stefano_2017_pdf"], [31, 3, 1, "", "build_q_table"], [31, 3, 1, "", "calc_P_integral"], [31, 3, 1, "", "calc_e_integral"], [31, 3, 1, "", "calc_total_probdens"], [31, 3, 1, "", "calculate_constants_three_part_powerlaw"], [31, 3, 1, "", "const_distribution"], [31, 3, 1, "", "cosmic_SFH_madau_dickinson2014"], [31, 3, 1, "", "duquennoy1991"], [31, 3, 1, "", "fill_data"], [31, 3, 1, "", "flat"], [31, 3, 1, "", "flatsections"], [31, 3, 1, "", "gaussian"], [31, 3, 1, "", "gaussian_func"], [31, 3, 1, "", "gaussian_normalizing_const"], [31, 3, 1, "", "get_integration_constant_q"], [31, 3, 1, "", "get_max_multiplicity"], [31, 3, 1, "", "imf_chabrier2003"], [31, 3, 1, "", "imf_scalo1986"], [31, 3, 1, "", "imf_scalo1998"], [31, 3, 1, "", "imf_tinsley1980"], [31, 3, 1, "", "interpolate_in_mass_izzard2012"], [31, 3, 1, "", "ktg93"], [31, 3, 1, "", "linear_extrapolation_q"], [31, 3, 1, "", "merge_multiplicities"], [31, 3, 1, "", "number"], [31, 3, 1, "", "poisson"], [31, 3, 1, "", "powerlaw"], [31, 3, 1, "", "powerlaw_constant"], [31, 3, 1, "", "powerlaw_constant_nocache"], [31, 3, 1, "", "powerlaw_extrapolation_q"], [31, 3, 1, "", "raghavan2010_binary_fraction"], [31, 3, 1, "", "sana12"], [31, 3, 1, "", "three_part_powerlaw"]], "binarycpython.utils.population_extensions.grid_logging": [[32, 2, 1, "", "grid_logging"]], "binarycpython.utils.population_extensions.grid_logging.grid_logging": [[32, 3, 1, "", "vb1print"], [32, 3, 1, "", "vb2print"], [32, 3, 1, "", "verbose_print"]], "binarycpython.utils.population_extensions.grid_options_defaults": [[33, 2, 1, "", "grid_options_defaults"]], "binarycpython.utils.population_extensions.grid_options_defaults.grid_options_defaults": [[33, 3, 1, "", "default_cache_dir"], [33, 3, 1, "", "get_grid_options_defaults_dict"], [33, 3, 1, "", "get_grid_options_descriptions"], [33, 3, 1, "", "grid_options_description_checker"], [33, 3, 1, "", "grid_options_help"], [33, 3, 1, "", "print_option_descriptions"], [33, 3, 1, "", "write_grid_options_to_rst_file"]], "binarycpython.utils.population_extensions.gridcode": [[34, 2, 1, "", "gridcode"]], "binarycpython.utils.population_extensions.gridcode.gridcode": [[34, 3, 1, "", "add_grid_variable"], [34, 3, 1, "", "delete_grid_variable"], [34, 3, 1, "", "rename_grid_variable"], [34, 3, 1, "", "update_grid_variable"]], "binarycpython.utils.population_extensions.metadata": [[35, 2, 1, "", "metadata"]], "binarycpython.utils.population_extensions.metadata.metadata": [[35, 3, 1, "", "add_ensemble_metadata"], [35, 3, 1, "", "add_system_metadata"]], "binarycpython.utils.population_extensions.slurm": [[36, 2, 1, "", "slurm"]], "binarycpython.utils.population_extensions.slurm.slurm": [[36, 3, 1, "", "get_slurm_status"], [36, 3, 1, "", "make_slurm_dirs"], [36, 3, 1, "", "set_slurm_status"], [36, 3, 1, "", "slurmID"], [36, 3, 1, "", "slurm_check_requirements"], [36, 3, 1, "", "slurm_dirs"], [36, 3, 1, "", "slurm_grid"], [36, 3, 1, "", "slurm_outfile"], [36, 3, 1, "", "slurm_queue_stats"], [36, 3, 1, "", "slurm_status_file"], [36, 3, 1, "", "slurmpath"]], "binarycpython.utils.population_extensions.spacing_functions": [[37, 2, 1, "", "spacing_functions"]], "binarycpython.utils.population_extensions.spacing_functions.spacing_functions": [[37, 3, 1, "", "const_dt"], [37, 3, 1, "", "const_int"], [37, 3, 1, "", "const_linear"], [37, 3, 1, "", "const_ranges"], [37, 3, 1, "", "gaussian_zoom"], [37, 3, 1, "", "peak_normalized_gaussian_func"]], "binarycpython.utils.population_extensions.version_info": [[38, 2, 1, "", "version_info"]], "binarycpython.utils.population_extensions.version_info.version_info": [[38, 3, 1, "", "minimum_stellar_mass"], [38, 3, 1, "", "parse_binary_c_version_info"], [38, 3, 1, "", "return_binary_c_version_info"]], "binarycpython.utils.run_system_wrapper": [[40, 1, 1, "", "run_system"]], "binarycpython.utils.useful_funcs": [[42, 1, 1, "", "calc_period_from_sep"], [42, 1, 1, "", "calc_sep_from_period"], [42, 1, 1, "", "maximum_mass_ratio_for_RLOF"], [42, 1, 1, "", "minimum_period_for_RLOF"], [42, 1, 1, "", "minimum_separation_for_RLOF"], [42, 1, 1, "", "ragb"], [42, 1, 1, "", "roche_lobe"], [42, 1, 1, "", "rzams"], [42, 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, 15, 18, 22, 39], "paramet": [0, 11], "section": 0, "star": [0, 6, 15], "binari": [0, 5, 6, 13, 15, 18], "nucsyn": 0, "output": [0, 6, 8, 13, 14, 15], "input": 0, "i": 0, "o": 0, "algorithm": 0, "misc": 0, "custom_logging_funct": 1, "modul": [1, 2, 3, 19, 20, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42], "dict": 2, "ensembl": [3, 10], "exampl": [4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 16, 17, 18, 22, 39], "notebook": [4, 18], "content": [4, 22], "us": [5, 6, 7, 8, 9, 13, 14, 16, 18, 22, 39], "case": [5, 6, 8, 13, 14, 16], "black": 5, "hole": 5, "system": [5, 12, 16], "hertzsprung": 6, "russel": 6, "diagram": 6, "set": [6, 7, 8, 13, 14, 15], "up": [6, 7, 8, 13, 14, 15], "popul": [6, 8, 9, 12, 13, 14, 15, 20, 21, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "object": [6, 8, 9, 12, 13, 14, 15], "stellar": [6, 8, 13, 14], "grid": [6, 8, 13, 14, 15, 21], "log": [6, 8, 9, 13, 14, 15, 18], "handl": [6, 8, 10, 13, 14, 15], "evolv": [6, 8, 13, 14, 15], "tutori": [7, 9, 10, 11, 12, 15], "api": [7, 9, 12, 16, 18], "function": [7, 11, 12, 13, 14, 15, 16, 18, 19], "python": [7, 9, 11, 12, 15, 18, 22, 39], "usag": [7, 9, 22, 39], "free": 7, "store": 7, "get": [7, 11], "inform": [7, 11], "from": [7, 9, 22, 39], "common": 8, "envelop": 8, "evolut": [8, 9], "custom": [9, 18], "routin": 9, "when": 9, "run": [9, 12, 15, 18, 22, 39], "directli": 9, "string": 9, "compact": 9, "mass": [9, 14], "supernova": 9, "gener": [10, 22, 39], "data": 10, "how": 10, "extra": 11, "featur": 11, "about": 11, "build": [11, 22, 39], "pars": 11, "dictionari": 11, "modif": 11, "individu": 12, "singl": [12, 15], "run_system_wrapp": [12, 40], "via": [12, 22, 39], "zero": [13, 14], "ag": [13, 14], "luminos": [13, 14], "ad": [14, 15], "variabl": [14, 15, 22, 39], "zam": 14, "distribut": 14, "initi": 14, "A": 14, "better": 14, "sampl": 14, "noteworthi": 15, "full": 15, "script": 15, "solar": 16, "basic": 17, "core": 18, "wrapper": 18, "run_binari": 18, "run_binary_with_log": 18, "line": 18, "util": 18, "run_system": 18, "other": 18, "class": [20, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "code": [21, 22, 23, 39], "option": 21, "public": 21, "moe": 21, "di": 21, "stefano": 21, "sampler": 21, "privat": 21, "welcom": 22, "s": 22, "document": [22, 39], "instal": [22, 39], "requir": [22, 39], "environ": [22, 39], "instruct": [22, 39], "pip": [22, 39], "sourc": [22, 39], "after": [22, 39], "without": [22, 39], "note": [22, 39], "develop": [22, 39], "docstr": [22, 39], "test": [22, 39], "coverag": [22, 39], "report": [22, 39], "unit": [22, 39], "pull": [22, 39], "joss": [22, 39], "paper": [22, 39], "articl": [22, 39], "repo": [22, 39], "faq": [22, 39], "issu": [22, 39], "indic": 22, "tabl": 22, "binarycpython": 23, "plot_funct": 24, "extens": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "hpc": 25, "moe_di_stefano_2017": 26, "analyt": 27, "cach": 28, "condor": 29, "dataio": 30, "distribution_funct": 31, "grid_log": 32, "grid_options_default": 33, "gridcod": 34, "metadata": 35, "slurm": 36, "spacing_funct": 37, "version_info": 38, "stellar_typ": 41, "useful_func": 42}, "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 cc3dd3d958a9d5e880d65794800d7334e4b6ee74..b34277ea93c84025d665597149c28f69fecd4cb9 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 5ec042793958f66dde87f8ec6b033eccf1af3924..30b97845d24dfad8afa6f7965747c1549b08b4f6 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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 2ca0040ea510b483e032afd146f77695e9a75c02..8ffdad5e6d2465c64b7ee48bc2375b2101387d46 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.4/2.2.1 git revision c48f2256195b6290caa705a905bd276b3c042622 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.4/2.2.1">git url</a>.
+Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">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/badges/test_coverage.svg b/docs/source/badges/test_coverage.svg
index a4262d340358b7051e60330569727e5a2d1695f9..9f708fe590212702a85ebf795bd860dae8fad77f 100644
--- a/docs/source/badges/test_coverage.svg
+++ b/docs/source/badges/test_coverage.svg
@@ -15,7 +15,7 @@
     <g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
         <text x="31.5" y="15" fill="#010101" fill-opacity=".3">coverage</text>
         <text x="31.5" y="14">coverage</text>
-        <text x="80" y="15" fill="#010101" fill-opacity=".3">69%</text>
-        <text x="80" y="14">69%</text>
+        <text x="80" y="15" fill="#010101" fill-opacity=".3">60%</text>
+        <text x="80" y="14">60%</text>
     </g>
 </svg>