From 44ccba50cf8ee6884242f6fd222ea15dd02201d7 Mon Sep 17 00:00:00 2001 From: dh00601 <dh00601@surrey.ac.uk> Date: Sat, 18 Jun 2022 15:57:22 +0100 Subject: [PATCH] rebuilt docs after merge with development_0.9.4 --- docs/build/doctrees/environment.pickle | Bin 981572 -> 976242 bytes .../notebook_massive_remnants.doctree | Bin 83665 -> 0 bytes docs/build/doctrees/index.doctree | Bin 45204 -> 45624 bytes .../examples/notebook_massive_remnants.ipynb | 761 -------------- ...xamples_notebook_massive_remnants_20_1.png | Bin 31898 -> 0 bytes ...xamples_notebook_massive_remnants_25_1.png | Bin 31453 -> 0 bytes ...xamples_notebook_massive_remnants_33_0.png | Bin 39614 -> 0 bytes docs/build/doctrees/readme_link.doctree | Bin 41915 -> 42335 bytes ...xamples_notebook_massive_remnants_20_1.png | Bin 31898 -> 0 bytes ...xamples_notebook_massive_remnants_25_1.png | Bin 31453 -> 0 bytes ...xamples_notebook_massive_remnants_33_0.png | Bin 39614 -> 0 bytes docs/build/html/_images/test_coverage.svg | 4 +- .../utils/custom_logging_functions.html | 2 +- .../_modules/binarycpython/utils/dicts.html | 2 +- .../binarycpython/utils/ensemble.html | 2 +- .../binarycpython/utils/functions.html | 2 +- .../_modules/binarycpython/utils/grid.html | 2 +- .../binarycpython/utils/plot_functions.html | 2 +- .../utils/population_extensions/HPC.html | 2 +- .../Moe_di_Stefano_2017.html | 2 +- .../population_extensions/analytics.html | 2 +- .../utils/population_extensions/cache.html | 2 +- .../utils/population_extensions/condor.html | 2 +- .../utils/population_extensions/dataIO.html | 2 +- .../distribution_functions.html | 2 +- .../population_extensions/grid_logging.html | 2 +- .../grid_options_defaults.html | 2 +- .../utils/population_extensions/gridcode.html | 2 +- .../utils/population_extensions/metadata.html | 2 +- .../utils/population_extensions/slurm.html | 2 +- .../spacing_functions.html | 2 +- .../population_extensions/version_info.html | 2 +- .../utils/run_system_wrapper.html | 2 +- .../binarycpython/utils/useful_funcs.html | 2 +- docs/build/html/_modules/index.html | 2 +- .../notebook_massive_remnants.ipynb.txt | 761 -------------- docs/build/html/binary_c_parameters.html | 2 +- docs/build/html/custom_logging_functions.html | 2 +- docs/build/html/dicts.html | 2 +- docs/build/html/ensemble.html | 2 +- docs/build/html/example_notebooks.html | 2 +- docs/build/html/examples/notebook_BHBH.html | 2 +- docs/build/html/examples/notebook_HRD.html | 2 +- .../examples/notebook_api_functionality.html | 2 +- .../notebook_common_envelope_evolution.html | 2 +- .../examples/notebook_custom_logging.html | 2 +- .../html/examples/notebook_ensembles.html | 2 +- .../examples/notebook_extra_features.html | 2 +- .../examples/notebook_individual_systems.html | 2 +- ...notebook_luminosity_function_binaries.html | 2 +- .../notebook_luminosity_function_single.html | 2 +- .../examples/notebook_massive_remnants.html | 942 ------------------ .../examples/notebook_massive_remnants.ipynb | 761 -------------- .../html/examples/notebook_population.html | 2 +- .../html/examples/notebook_solar_system.html | 2 +- .../html/examples/old/basic_example.html | 2 +- .../old/workshop_example_notebook.html | 2 +- docs/build/html/functions.html | 2 +- docs/build/html/genindex.html | 2 +- docs/build/html/grid.html | 2 +- .../build/html/grid_options_descriptions.html | 2 +- docs/build/html/index.html | 3 +- docs/build/html/modules.html | 2 +- docs/build/html/objects.inv | Bin 11965 -> 11835 bytes docs/build/html/plot_functions.html | 2 +- .../build/html/population_extensions/HPC.html | 2 +- .../Moe_di_Stefano_2017.html | 2 +- .../html/population_extensions/analytics.html | 2 +- .../html/population_extensions/cache.html | 2 +- .../html/population_extensions/condor.html | 2 +- .../html/population_extensions/dataIO.html | 2 +- .../distribution_functions.html | 2 +- .../population_extensions/grid_logging.html | 2 +- .../grid_options_defaults.html | 2 +- .../html/population_extensions/gridcode.html | 2 +- .../html/population_extensions/metadata.html | 2 +- .../html/population_extensions/slurm.html | 2 +- .../spacing_functions.html | 2 +- .../population_extensions/version_info.html | 2 +- docs/build/html/py-modindex.html | 2 +- docs/build/html/readme_link.html | 3 +- docs/build/html/run_system_wrapper.html | 2 +- docs/build/html/search.html | 2 +- docs/build/html/searchindex.js | 2 +- docs/build/html/stellar_types.html | 2 +- docs/build/html/useful_funcs.html | 2 +- docs/source/_templates/footer.html | 2 +- docs/source/badges/test_coverage.svg | 4 +- 88 files changed, 77 insertions(+), 3300 deletions(-) delete mode 100644 docs/build/doctrees/examples/notebook_massive_remnants.doctree delete mode 100644 docs/build/doctrees/nbsphinx/examples/notebook_massive_remnants.ipynb delete mode 100644 docs/build/doctrees/nbsphinx/examples_notebook_massive_remnants_20_1.png delete mode 100644 docs/build/doctrees/nbsphinx/examples_notebook_massive_remnants_25_1.png delete mode 100644 docs/build/doctrees/nbsphinx/examples_notebook_massive_remnants_33_0.png delete mode 100644 docs/build/html/_images/examples_notebook_massive_remnants_20_1.png delete mode 100644 docs/build/html/_images/examples_notebook_massive_remnants_25_1.png delete mode 100644 docs/build/html/_images/examples_notebook_massive_remnants_33_0.png delete mode 100644 docs/build/html/_sources/examples/notebook_massive_remnants.ipynb.txt delete mode 100644 docs/build/html/examples/notebook_massive_remnants.html delete mode 100644 docs/build/html/examples/notebook_massive_remnants.ipynb diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle index d44af2094a2cec55151d115a3ca70b52ec5bf81f..4c381d515cef510a9c2686e78ef968bd07b8f715 100644 GIT binary patch delta 103496 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 delta 107544 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 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 GIT binary patch literal 0 HcmV?d00001 literal 83665 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 diff --git a/docs/build/doctrees/index.doctree b/docs/build/doctrees/index.doctree index b0f8d923e6b9ddb0339b819824a7e432b632a587..85010eee044d533a2317a8a4fb1d628e4c28d96d 100644 GIT binary patch delta 6249 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 delta 5937 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 F@_%=ot;zrZ 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 28227d1a1..000000000 --- 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 GIT binary patch literal 0 HcmV?d00001 literal 31898 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 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 GIT binary patch literal 0 HcmV?d00001 literal 31453 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 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 GIT binary patch literal 0 HcmV?d00001 literal 39614 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 b?q^)aPyMUc-&OsMoJ&qd;ds)~3%C9kweXmS diff --git a/docs/build/doctrees/readme_link.doctree b/docs/build/doctrees/readme_link.doctree index 40863031f5e6966fc89995465e95bd701facd102..142b88abc7c54eb8bd59ca1258496bd1aa06087d 100644 GIT binary patch delta 5713 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 delta 5349 zcma)Adr*|u70<n}%eM&~m#&Yv3#^M6Ub{R51R@4S5mEdAK_nW(OLX}Ll&6YH0r7!C z6**`ujt{DFd?Y?*JElI8>e!A>jn-GAW}Gn@YtxBsnznXYr%vrX_p;wUx{Uefz<2NO zob&sgd%k<`w~u~H&tIXMcFoRH2TyB4--J(=nBeJHo0Lsnd(CcAvS6GsL7#~a!FE4; zh}~)ronwS@<3nk_Kos^_lC{AMnn_?<MmQWYO_r95sU_UG+|$_%k--B}lRz{uXN`q9 zmxF)E9<l`vge;b}h`DZ@3ukkip};)exKWI*_lPDpS16lcT_{M0#PrY6X##WFhfX@x z2|D7U;IMgwz8!Hw2F5Ojgz+OC56osF{Ypgm6!k>l6oG;k1IU&vZ~bQY+rm(|WXX{3 z3!g8z&^!3xs!}xMgdLXtC=h=@URD<M4of&$dL~By&PKyyadgO)$?0JKMs@VJ_D9+^ zcC9^NaepL}czwJwMnhSAe75U)0&1$8sv62``k^1P!Y7eH*b#5lDX$~Mqy)g}@I5qu zLhsllZ2}wcqcGSJ=B(jsh*F7)8vc61r9hiAf$|209dFGf6Fs8FIeru|nb0^9b|MQK z^UAOnBTobtx`$m8HI<Zjgq`pBKFUPsd=WO0g)QJ=BZd~w2V1ui^|XV<+6E)6yD1}m z)H;c@c|>0eqinYfYgNUvJro5q>~mW@>GQ&t##(%0AvT_T=!JbAYoTie=_E#a6(=n@ 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 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 GIT binary patch literal 0 HcmV?d00001 literal 31898 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 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 GIT binary patch literal 0 HcmV?d00001 literal 31453 zcmce;2UL`4(=FNt%)l4`6@gJfB&&erph(W4n+zfX(n!u3BO?eX5+o;yO;B<MMMOYi z)3js}NsWL4O%AtSVE%9Zd%o}d=dOF#?X_IPG;er9)vjH;>fxE1iY(=kvqw-U6s5e} zEe#ZEKMsZ3d;8D<_(uA{w|e-Gkdw5Ilcue?ldFk?8A{p2$?m?b(|yZ3f4Z1CI9l4; z@N)BU^K$-q&&kQoQJ9Cv`oAvVwso-J`4WGt4IXmXPEOYmg*ti?`L_oZ9eWyu@=%b! zbwkT7_UC}BPB?k1;Wts}evhK$t$uySNYB})9S&iX931*J#nyd31@~u7>b?{frkdyW zV+0*kPu)^Kb(d|#u633=^ujsWGfUpzR!X^ZkIt@%k5~Gw-E{k1HdInSY$v!M-VLAE zeuRmgpHQ{(Vd$M7uTVCz@BH-ofEmrsPfCySk;Q;d+6`TbouBZD*?YHt^0O?ZXQ-ul zlRp00#`QEqO4DIVGQK0FN2bB==*YR7y7p8_*@FIRm{_UH9IfZWXvY6&`tH@ngd-$> zyFG-TNzZn8I53l#o%N@ek@`O`3UEARRxk88|2sTG>*GqDncvQf|Bnaw&1UD0^i!vP zaBxh$zF+LsGyO!S;f9c)*H`w60UM`dr5RiC5*S=e|A5%&EE6*|b=$m;(a!v9b>jqI zretS3t*lTqHFMm8t2k)`JKm|u%*<eV?uVfTCAP$U&r$jRT)a6t8mH#5YO=C+u(_dO zX+6F~RBC%|veJJ3JVrtBq!Ewro4AZp`h4fz=av>je(ZAdz<^X#l;yY~=4!$A(%NC3 zJfWET_3N7O0TkW0;bE4ToNtv(synM~cO-ISkDZKejkX$Q&-N<R@?8d#gpZ%1gWx$C zSwXIpf-@VdX1m*yQC#jkW%sEhM8c=0%XH9Vir;yv`^Ie5Qa4+|{K|L&ro@K9sh)-| zVbM9kd+{*x%QlHEr)Sgj*RzRI)Efy;sitv*RU#bRHW@}<zt6C+&Pt3lT(xKoA$8|G zqGA$vTBI(2K2tf58E|Z4pxG4OA`gYw&kpV%uy1&M#64#`!B>xHz?;21q;2H>%*bO> zH=U{GPW?5prG8DgI^8j=O&Ny3XVxTZ<}=e&JAm4r7NOg7*4v|LdbWD)>E^0cm0n48 z;zyU5mb8`m@vIw<o<{SI%MN(WTRXV&Y~YIO?{p+dvGwMgy^0pF)xBeEWE3C4rLRZ2 zTC-KHM=kCa;z1_iWEtIWR#*Eds0`-iRj(S940=?FFMs2emL+o6$?A*G)NCD>8jEzE z=~sr;$$a=oidkMUg0t&WkT1H)s^-^+<~cIiadp|YIx6kM%|6|bis7d*&g*U}y2){! znc@P-O&2a)Xxb=Z-@D^2iM`mKd~~Mukhg#otR{Y<Lm<<%AyDC`ewD|QPCS0$XTeE+ zoBkHPa;Imj3zOO;q2y#Nn}mchyp|J<$uX+Zu(7cT`0FpucN@(-=^1F;Q9hFoN9+4~ zi>4A=<0?obod4uhUOH)WjfuP2U!R*qz}bGDI&knHhoIos7et%>Qp+czwq_9_>B7X8 zfaaZ*UGD47i6M{0<YjrU1(&ak^(jnmt&B4f-pKPB+TEb%w;j|N^4%I>OK7<BE<-!7 zTCdVgJ<~gowne)wzDhCYvx1`Hs{tDxXD=O{(wU0c8_qx7lJHConcM{ZibYk#eqgSV z%--w2*Uk#fv2*DaN?w#TN)q=jzxVSiefaBAZ4L}4-kE5aQ|(<r>ejbyZ;k6yUF#nx zcW(dLGemkqcj;bx;vi|L#y{Te`|;HD^l-Ng_j#XgWq}}#8lM5Dl~JjMZv8wq9-b06 zUk{J+OG<7Akw(I5-m6XoN`dEH{bdp~vs+7MeoVgW)#9rYRo{tQ%OgwV<q_(sCJr7p ze%xecIwPS)AVhq6oSm0flc(~^jYkKUIudVGky}M<!&ZgYm*y&sedE%n@|ci;lfDP8 zO+{J6x4*oYS)Y)wygXFov!RDf)rz>OyI!`nxi))>PC#ql!NsmsvX!FYfy?p~6f4nu zlhTyuzG_POFT(2bgzI=aXDL#&EtUzbY}WAX6ZKkt5%0YyPf34W$9v6%P-<UtZ=ihn z`^G_PMm2DWg+ANBg^3jEEZ?n}v!bOTmsGrr%F4>J<aY5{uBoZ1^Ob6__U+p*;(b=# zb#qvJ%~VuXiCO4oe!Fjf$alUtPiHmVD^cj{+sT%Yr<&j+>~=-Buh^PvFd`-f7tRrh zvmM%#8eB7x%)L65M=l?a@8bu@7PkAd%x$Qij#@K>v8rh}g>&-T`+ck59=STrx0Fmh zV~y|F+<4~k>%AvpMc9Rj7{n@tohA}tHjTXEZJx7LZ1Nt9J#@|u46au70cIXkIgRye z5}V83Vq5EYEIuvH$ju})x6J%a_130{*h0H^{b*-Fn|M-{=hDQ3gP*KA-w<IrP9j(9 zRV=n?<heGo)H(H-+56TkrkDQ+H90H1a3b~1xvr;_Qvo5(jg8&;W;K?-zG=2m7xYb+ zZ*5i-VhKkE+{ddt)_<oL*^eCHG7#J<WSTPe%^^CriKQA<txkk%54Ib+ZX|pk@g+V! z9HPixu9UA^Fox|feKzPhtI2OU*OrydrYYVDP?ZO0^tLOY;uS6D>%1z@lM6pywM~Aa zx9#Am`O*P<AYsjDAuh1x{NwZS0f**$);;<1uKo5QV4CViMuX)`gCeJxwq&1~8hcC% z5wd7<=#0Ij!7I`ee4=xBss+iT1*1=P{d3&9?Saxp>4h6*D^H$|{aSRwvlvcg`sDb{ z`vlV&x#{^+Gj-D2RvL@aO%9E<C0vvz4f(!c&a@qR;4u=^xH{}V>(s!o6ee5^aB+&! zNE5(B3!m1)EYG3M9a&Nm0^p%WTGqF%k`fXU0vPrG{vpx4<q+T=8gN>}nbajV8#3*r z5-XVG&*)Jo*aj9&o-P@hAQOksYl{pl^6>Fkn<hG~FWVC`)JMYF@NZ2_#a8ciNd69H z2*hM?8J6D)4U39O%G8v=k4742R?Jo#hjwM+rH@dDv}>vcfrWB(r78;K7}sC~`t2O; z*@$V%A`}M>G}hInbWIVm&m{f&6&<=+R>{T3r!+jwPj2RM?1D?=JCmi4G7ELpY}IOx z8C7|t7TXMDLtN3MGy19<+Ewk%YUoU0N#BUI{`%Gk7XB<h$-~{lLm_nU-n~WEeY8U7 zs0cW1V~Dz$Z`(1X&Wh4f9HGD>0WV&{OhG|02`2F(GO~oZabUpk)upO8aUvx+^^{8% zUfE8hwiaLI1aY*kZV$LZTL6#jbZ2UeO{vM_LGLAH?}d)>`UaQjUPISG_dMoIDSwsK zkq~~pGKVOeveCr?b0Om$ul1W>oJx@IeY=*?ag|wK+-Rnp+(|o5{+d^_snHy<ktQ-z zDobb3J{H#SC2BrJ*riepLI5~=s8-=wY-?<SQ!|%q7&}_U=t$|^#+w5!eQ}`y+<Sf! zaC!ax{R(0=>FMc=KFe1jH0tE&6(ujvy_>DsQgIwx&#;JhS0AWY63z>mRnjY5ws_Lk z7&<eA^Vz#^AB%iXk8U~_POpev=&x!phS9P37tGd!mGUbqD<opxU6ZZ~S7WiISpV*v zK<!BGfv#ff4i+mBm-|F%I_GZqhcC5HRjkF^J38VMZ%FZ5bt`QQZHY0fs;aict-UID zn#}d{tJM@YuY2k|x3Iv@oyFYP&>%}^*oCGSun`<J?Jc%Wr<U-NO_4QD0pHAW9M2_n zO<n+_Bxj$Y=f`?=n+m(mU<|b6HA-x%_$)gW5x`OjN4M(K_~dMpgML07A*<T^;6zHu zAcuX=uy0K<SdR1ZuVIHqd*Q!Vzq>~2xx@VZG#y<+jp-M6F&BJVkjHFQNmq)jZO}RQ z0k)8yVr!hs>|p9Zg)1P+VCv%5Vqda`*>f!?wr|hR;0qncU8H3j?tvG3kO?KNuUWxF z!JVVHtCz3IOBbZYyN?}Kj$Q}_+NGQ8`rXmdkwg7??2nNVN0qjb(NXmGA=<#y<+<wY zY$bVVCSr|l4hBq*LqtSB6v5He^?B98dmVXt`FE4DF*sqTQZ;I^g^UXqQ(~L0-u=w7 z`aMv!=uW)`5C<(-yY{V3ftA7r3v+Y!%a=2{7PrhdN`U%If!h%mCN=rJSGBxXMo&F? z{1||m-gz{<uI+VO!+4k3P|b!bdZ^KhRYG<2JO_s+_&r;Z7&EgLmA_O&2oulX*tFr? z`dhsm2SJ5442NnM+V2gM_6#BZ$FTvy!l=Dix3dfffpyxQAzM*Q#N)UH*B)F72d7Vu zKb!aYbH?}PuPSD(u}nXvrf{%4sa@4zfH$|9MROL65C>+)WmKs~CK0qHB@^{ZY&1!w zEinR<FJ))&uT;e~NmP%gd!5@qza&lu2^gU<m@!N3!y7U6cU}${<x7g%fB&e<q<wsS zV}nIrHiVJQeo3TaAa`M*@cXq-ZEdQ6z9loIBQ`9TW(Y`ZXbKBiAmO$|Ootb2uU>WT zDtD$wm`P*f8qJ9lSt@bD35&~#iGMPPL~#4psVDFM^5u)*$drMbiG?Bj8yy>C7vH3A zd3{wmuj;xym%fpjSL67Ka2a;?&8tTw)d(GF<GxU{j%OzuoVj60&I|V@X<ovxUTQh% zjx;U>)%rPWc}6wN^IJ_aT7UJ{(j1??B20ylc7^YDf(!kQs%&CnhHc_&q3i4GD((h8 zKGi-OWIE^BK}A@E%jE8wtv_@0>GD2)tV(6ncVfHEw6WNCflD_ZSkHpUXj8`P*TTZ~ z-%HKEEU$*S?pIRkPX`25p+Sct>tE+j9sYHZXgn3?ao^plBRO1DOswekdmffz9@v5F zG0Hjm#))td8*qGD9-}|yvozClWrE6$7=#UUNF#!iT9FzGo$X1HSTZSGukhZ3161d{ zdPkTufk8I4wGrn=YiMjaE?;h+t;rLgHXU>yr$nM4psl;7C(epEb5>x+NS?iwH0HAD z+??RMnfu{`Z@{Nl39nu`mSVep5t5`VHhbeIO}RaC7s0V9S;R|RDhvZ@H?quIqUqYc zUpvBqQ=1;$uqt!-@Lp-(D<s{?P~x>vAvT3KBSsw_8JVXXb3H=%6OpLxx%d+U=EA0} zBHxLik##TK>gJkm`Bd%}M^TMx!shB&j3tr=lniZ7gtZ<2<BvoHcJr!*)ki)JWGix) z85Ciq5sy@i<nFF?mzbJNH?~_fo$5@jh~P2K5*Uij&NZx<%B$(N8mvr+^YL;&a_CUk zU&o1)^KB9@D=I1gtFj(H7Fz|{Nr12gCPW8rE-fQ7Swy_V#>y(&(NP5P2%-2liN+FR zVQo|6+J$$fh{ofYX3gCJ0a+~aq=AYABTws4m!DtLSmWKsp7#L7dIOd^^@J|I<Lf(F zn&Zcl&hS=uzcZaYa`dRgsHw2a&o`F%>UJ1J&Vzjiaf!8QNTPG&#tm#=vA2COC4D!W z_-2S>Ja2fkhn%Vyzfs*&!^}7l*NHmnA;OFEkr^s+I`Yzw+H2Mw0;-qq1i)5jjyC&h zdU-X9T#BD@bnN6OKJP>pB;M18s4Os$b(Y@?!2Z~DUx_wP&HAd)XwIQsq{Uh`1Y3u` ziQ=v4{t{)JF!%bpb#G&Hvp$T5)SiTA3$biZOghVt%?4`U`Ssn1!n7?ICL~a1MdjhA z%{Pth?X@#uJT0*+MT5RuTxNIgX2?()Lwa%(Vx^7!@$b)*q<GK{b3RCfF>i~{gcnSe zjb9=y_Nf}KYZdC-lo_5se|~kb&z2A35ye6OiTvj8PIzTgvm)A@n;x4hTN~c2<x62N z?UnegWG2#LY=F%W6Xt{}TxU~-9DTOeQIV(0U}<3KEpw(!&{<f<ILO=3c}5!r=AOe( zBFQrqwn)4|8yQuvE>7nu@&w_*B30bI8iMI2C({#%U6~0}9kNWJkfBo06?On|)Ani{ zK}Zo`9qGZrneLGgRl(5#7FCO{Z#lxl!!v)6%titS$t}maJrkJ?V)T9$%pkJ8k>IF? z<xYf)A)-mLjAgUg2{EreeE6_1Q^7Pf;5yU}DMph`3C<Ef7A?9mtvQ&PpRaq4l{J32 zFqp9=VxToWv+{}m8V5iB)X#&Mw_T>J3%@*Z%<?7=23Los4Uehpw}=`&_izdkS^gGk z!riG--~80Pd-r~7B`teMMFsl0emzxl?tO?5#L-CV?o#_DQl}!1fUruqOWORn(hzSp zCh(?|s&`M$$6fJAjpCfBo8<i1MmA8droKM?eFu(R7e3K?a#vEabEgeN^O}2c85<jm zk-O&S78n2fuV21=8O>{v)Nxgfs&&gK0P%ekN>V80zeJ~9B_#Gk%a1*RDcM6DyMhP; z+er@}il&&N?DkMlxI4Hm3C=cX?&v11O>I1C4Z#fRDk>32j#_8u?^SzPH>_roq%0() z3!e0sm-oK5wX#zBKatmc%l7i}8l9O*`uWqesj>0JfYCiC=CFM@!haW!L`6ku&KYPj zGRBW@RPLr}>9Ol9r_i!)r8OFw1<!-`(4p1GsU!F7C}#g9-k@%u-Mt?5f2?Z#OLqHT zw4ncYkJG~Cvx5vFFzA*7;o!d0DP##ysMwoDY&cLG)6`RBET?;mWMp?0C`+xFd~9!_ zW%)?32t-z^l$4ztzVT%#>GFFn-UqL(?9#_zBA6{dJU$G_R`Q;0=U%%@GcpG+^VB`1 zge0O4mS_7;ziS!SICfMm)VI~$?Swg{ao~XQXVG%$U1nhcN|E5RDlg?vg`Vop;dlFW zyCq(%Vs78g$|inzjWs9C3{>#D{M6~WU#zh<_9ZIiAfuZk(b%^N$XOc2QQC=Nf2N3% zl9B_IXMZeMdHt@Z8$EMoXY8Y&Pnm_cnBx~F@#H3syw7!YBVi3n@uIqq4pMh7{~lqH z2ZE?ABlFbAcZ2N6j%$^@mtp)w+}D|wamLnZKaJj&?(KWd1<@By#x@X-{+E3Dw`YL_ z8W<qxtE7&pZ)kvgSN<%o`Ex+Oh2@cu$gc@uVQ)TuyaitE%~DK#PEgHpycMmX5qjs& z9d^zkP*n5#7-$yP3FyDADyh(vHDIWOu2=cx;nu6oLi>q->!tsE;k=k{Hm3Ou-GQh( z=IBQUC<|}D-wR1{oC9#wBHy-nvCuall!bp~q^IYQSCEs-Sbnjy7#Vgzm}zKfT|RB- z>PmCPB^Wn$w?L!~4U3C2y!w9UBDGAVclo6I=Yn~SA6gWZfArto%L2P+5e-8%_jI&X zR8*c#vubO_^;5@Er@h?%{cT2Wbxd3=I{fu(ojYsQ-fId!5n2h%$jb3qKKu3Sm?A48 z1mSsw`w0@h)gU@Tnu0wOb`1TXepj+ie9d+sTg0@#)c&l5PbK6t05m*Y2BpZV5q>nj z3JONldU&G4_iJWo1B2MP`FV09Yr?%x&(8!rd)D#s*-8GppZ`cn*%@$R?Cad@fWSaa z1A~6HB}yi71E5BEKW=S51C_zay{prrP=tN|l*I}0b$<`&^nd^UzXtl>zTbJ?zm?I| zFiE|Rrx|vxIQ37YOX@B7x8Ls!{eOm&EHVF%oogkp{!`u05)1sd-|r0JKdAmUi^i`A z?_6<N<{#C7n?)8^|K0b0R|)<-TxBetliAsNRQ<nP{-3C*<w={eZ~J|IcmDbP&Jg}X zk>Uxq&BSTv3bp6|C|<z#cmCb?|7%g>pTkv~7J82GcK8IS|KAn(ZPd+J<oq9|v2*)> zAMXDz#`7;DQJdENAEvQ0NF)|%c~boktN#C~@%-<N<X^-3*D8LqI~}+4f9pa2*x>*D zM(*73pQ7%6a+96A{)0R0Mb++KWNPi6`Ed*=2Yj9)o?Cl+QrF#M?$r=^o$hz9<Dd8m zLHLzl5|}vRidwGpOXs+Jd>dEq?&LL}{^{=j+OeHC|EKZp{1zG4e=?+<EB*u8{O?}_ z2H;;eacKJq-)#Sn9q;e;w-XSSl#aP(7GT~Q%NAIlEbL60C>xL0w6lBL@or~Wc1O@2 zW@s<3O1LC*5}!WRz~rm7u}VfF?`ejkI~S#^r#5FnjxM(H;}w)*!kK|p7&JCE9!THi zQj?|YW_|@0ZQUs$;(FM%Xnw1%#2fqg@3l)JaViItIoXS{!P!6m+I?wgb0m6~c(l5G zNs{t+TAMDx8CJNQy?W=?=>8p~sTIO?M($DQ1m5G+!cWXFuJMV!V)C%Ve)k~<xNGuB zN};b_IoDANOn^Av-ku~C6ub*l1y@>{vU2oGvZMoP73AgFie^Fbg-lwC05pk`QB((p z>p~JrSBgqL$*MB(h+4eeEYdKonY%)1X~@@Ch;;`LCEc&qH)R3gu=@G+U4GB~)Ww!4 zURi3<Uw*kYn;uYzP(Dh_*<MF2!D(x2OL>-W;(6QJSJRNmcMXiVjITQ*y=?I`0u3ny zK3$c_kym+vnmR<2k=K3hE;5XfhLA{RP#X--oH^sMK_<58VZtNZ)oK*n<4Bi9`-dhD zH5F~mR})&W0ZMj^#ynx+XIjroNX&j;@~#w90?siq^<=v|yGu7{Y3w&o>-|6GHlpLZ z+-6glp!_dxQyBYwY5Iwa=G}*mUmU33J42q*)Y{7Bvvten0o%3rLgqsL-^%|{Sgv0| zO1Y!Yk3KpUr%M1E;L>?33EQ8JXr$9a1r{O9nV=rC6gPbOq!4=I#0hqB=AA`i4@%;| zK~mLPD#3xvh?}41=qX-VT~!FpFDT%+1T}f&bIc^VVo!WPo&A{NY&J%-VP}tOg|0dG zjm#SJz2RVGP5-#~iX%&9W_SAtw@LY=AK6(SKYl#Xw=~_SeMe&FQCUwNxp5%1tFQY& zB`ZxOF3S?1Hu?3P>1dRqM#rDz-XbfI7~ENk+Y%&<VV}_;>Naigt8dsP$ZkL3OWow2 zsi>%^)tap}2{UtZEN~iFn{FCygCt<8O~ZB*ajt_M+Q#0guV24*pcJ&}7Yt&OFnaLd z0aObkX}JwD${feBb3YnKS9e49m3TY{&d76`KS#Gf25c^pxg}Oe^B~o^b}-KjC=MH7 zaOk|MMZL0v&jSPTj}M<L^jdKUq8Cu{UH|QWNhLPpywuaMHLG1v(NW3E1|i{PF5EHT zy)+Q|28j1%K0Ymh0jF2YmR%X@s|$G5HW4`>X5YVmS1Gdv$@Z+c*Rs2Wz|JBWJc0oQ zGm2$F3N9a-pPygov*F<k35c7oot@n?cg)UZwPg<F*-$N21ETyU8I6AO<Oxhs`}Zag zNOpGitp2|<gH^lLYqf(_o>NeA(sXet_SsyqfZ{`zYJxaOEHA{@e@S_7Z7d<#4Er^X z-Hj4VZ_YZ%<fX={65IYIiWd=Iz?Jm|2M2rKnffC;2U39+6qT){&3BMbl4jgVx5#!# zTx{)UfyYeQxWawg-oi|uwP^uDwr)Xx-Jb9d!&iiNmT5T#&x^Au9X?Ps*Tj)p?CIg5 zp|$gyL<2!X41<J^0Zb$JGw055GR9)Laft7GuTG}-mfD+2kL_G7$v?L6B@3jm$zQ{D z<*Ovz==5|BfF=|NE4TrCVeP{_<#ryTMXeHvc6WD&Dz%xk`QP`$pvm=g##(oGX-@4* z6uR|mzL}!CID;D7zbIO)k#2ZGLLMZEQq2)u_}?Q9W+i=rOOPe7gTU3()6)wO_hkR> zS`fw;nzA7CGGy{zczNyGHPFLTe*CyAEiH}ITG-gwK)!A_4H3h<)ZH0~TD_1V1~d}Y zIALd~`UEaOs-_Sc?=>gCG1tuF0sCWC(DP$>Sl#5t?hRzPfkD_w4)lc=1T6a2t;aW| zq>5|?gyl6LwQ*h<jhu?Ht<HR#xVwa_u!NOWRf^fMAa@3X%%;9R+nuA&!N!*9h2ME* zqMm(uHnuxEDuUZkZ+&)^JVlq69U6c!(&dbpQ{HiIKWzPEKK94wmwKgkNixCbGJpQO zPst#xrC)r%1M);Nj2qh&#)c(ip}{iPpZ=XBd}DUCpayB=EkFwyq@pG$h=9D)k)fW# z=S+e^2e|se=Zhg)I%>Py<qg{v>O??mPiEnA**BL?s){CEHT`t?;zcRI{1@rz7G(!_ z`gtVD!wY79DY7BmS!kSsbsicQ0nspRv^mmhqCIK!?C#bQnk}_4af0?YCnqQCw>CGH zh6pvjzV)9zMF@A>lvqu6ruHKL|7Q20MRuR^v0vYsAmu1#T~6AnUmuQo3_qb$ajyjB zgqUl{afxMTs98_&5oi$KJYdnG`YHoTa1{vFP}8r8=Cjlw=|HLG#fv|<_w7D8D%QT% z12ze2ajNp2pk4BLE!!E|y{8C2act*_gb=*zJ|sa`E%P34jmy`|!L}#fD0{M({S~sH zzj$^tg9DD`*`aT!#g`=yA3p2>*Mm_y_gR-%f{lm1;WjLv2oe~4k(XzSSZ1PdqGZF0 zo!~jWs?itu4s(PzDsS&xSif7O<_(mB_yarvw7W@ywlR8XW`IQ=$tOEg6`{B;$&c-l zWAa%}8uVGSh61(}m^}<Mm4%_T+h4+lZL=gH#6OxyiJ31yk7cCKe)}iWKE$SC=>bM` z3(PZpw>CZITLj>lV_#l|gg|jW_A<oo(H}qV0p4$OtZ>e?TQ}gsYVup3ArGBUE#A-R zrIpyT^qdk*)EDo-2nE6N*xA_Rp@#a1IWsX)5{JprNLPvbF+I&C59{+F_?(c&`SbAJ zZ?QhpR#Q4E)x|T)nku=<p-#(R4>K6~-c;;ndLgZG|BY`)7Owm~R!c;UamMD;Q%IPX z>0qdSekd~w3&qgxY~2*#2skKd)UTa9c@n0J**uIqxR6TOD$8E!#ZM~#P%1O4=0QH| zo|rU-HD0aT1<mIzZ51LG)9zZflDy~aO0v|aC5tlXlgFH;Ub_M?90RN&6kF><g(@;2 zI2c-fs#slJT`5mrk%W>MG@iUmQ;tdV*;qy2MKE5l5&Q1)^-kk=FE`J6sb?R#|D?A_ zLMmn{4SDOdVq>V3#)FnzE>C=snQi%-fw}qLYWT0;zBeDRx;6`)Ra)0zLb6QWTBe_# zcYw6Q1#k!zZn@#%VZ8$Lpqc758$zD3@e&kc5J!Dn_r9tGg+eFzSHwgUDAfzf&xfA9 zymsqB@w6f_!drTjFuZUwG+@kdqip)^W<Q2+mR<Do+N|OMsjlbl+9*`w3BYZ@w@H5{ zpLQsCoq~w**I$R^HSlT5(2bOr<vKe!_j{Pf7G{=P+twh(5Z$fipT-a6tl+rI+_}X+ zm3bI@<2^XFYjPwKhc@F~(X1b8+z9BD-Uo9Fw+Epi@3Jw12tQ_Kasjs@ztWyQy&Zb3 zF2f_Wa>3@vhvw8nj$#{U?Cxz1--nIKZSlkx@=m^<+lqHBnpKNfWN7N_=YQtl$`S4A zoL?Cb^ed9kR0%Op?fSSDlHS&OHLX2#!2xSOzL|A$IPV5sH(Ru8c&u(E32Up6c8;nM zbC1~VJ=t5%V>q-~EL%M|0~Wfz^mg&~lY=XtKfHB;5@GOmI&UWfriG=Y&o+PezC1ZS z?A6**C9cN5h-uYx5Dhl@yHAs*MhqQ#igv=Vl9Xk6|1DBvTrq*k&}}!f`8j@{noe3& z#%6iHsu?#li*4_&+B#;{CT#R;Y0-ddz)nq3;9M9pA#*Z)j2wV5<j-PY<{2~GgYwf9 zwAL-U+jyerevgKUiAi`A0^Qt~INN0hcz&rbZGEZe&F4`T2@PhespXbe5RJ|GSl1I> za!Gy0hL-<16=ya6_JG{>lP*A+oYC#u9<jO47t0}3v&bVT3+)lPt#KmSdPr(l8qqnQ z`x7!fshF+myH|$4HM(n4Su2XBSwCx780Zws8XnDsC8&?2>^^3WY$JhS+05==m$ba> zh6E0Aaq(4vVrMczTig6P3YEp+!!L^-8MZ;c5`K@>VAZh~BTc#4JSb*i<Y4TM4|OpJ zbrNk$TV}`%7*Yo-<f~O|*<|b*6uo|HPxY6Iy{N=;m_GmQT2xCkzak_Y+=GkX9#NCt zA7m1peg!xV-72XDK#tVn!j=pNPz9O8(@8Etb%b2|Qf4+TUTyF&nwHAmn6xjj>I^Mk z@N+d(*cD^x`P@6$RhqnVtbvG}QT+CsvV`GHCLi_}-Rrn1;__1s>X^{t;|VOt=<3z0 z;ZfAEJ{BV%xGd!SO3F)eQ)hCl8i(yJ3-PDlBM_>ctW`zRDj(jI*XSI+k3cC;4QpeI zhr=NHZ8Q-qbkw})?D|Vcp648T^PBK^O(GP?e%DyE#phV%mdQjKILN0WX`3YZ&O05g zinIhQaRKkA;(V8*(8|?8=J(sh$NO~iMb5DoiWG`XzAk2Ez-OBsp8M^fjTgS*OKnAs zxhqGBZ1cAdD*BiWBIJAlLlO=@{-Qc3_$M_rwe+o9mzkO0-24EJk+|yMx@Iv*7|qHX zDZ6g1s=&jZx0p8hts~i8n|1EKUdjAl-P58M<c}Qwr7{0C`Fob`z#kObI28HaNtZ=F z=DKw!Z<}Ze@aBlGKJO{$CLmeU1ORX1KL?A{s*E;L)2iz;w5ET8vrh3HGqfIvG!o4g zyU4mVJMFGl{W~$jmNVKFEz-X<i`G7m)#bT`v7*^z-h)!30N}A6sx~AVy2de20@PqY z>%CjjS7gz~xB>d|Suu~o>Xk8QtLV!3@BvAlS)c58!&%`jJ6qGRfFbUabtqhcry?LB z!7sa}>BzSg!pxt`kkQ9uTaN{JQ2H{NPbwlBy~@kWOH)nAotT(7u?F>aDns|taA@}` zS%5Nbq^Dfs1t9~s%Uph0{$$45m3KOv0aQzxPNfM4oSwhTY0niqcrDPsXjZ;8Y+$%O zc;k$Rc@tAPZ*DkAn&LDAJ%r1L_!8w6sAuv!{P?UP9nK6TRP4vUjsspRmp$DFmYpPV zun7Pf9c22DFWb{w%){EV%3jsg+2%N#yh2+OKF~Oq0Ooo&_5?gF0B?o{i}dpLR;?I< zCIRTC8$E&a++J4YuN-imuW#W?HomCKMcZ>^di8EA##_j@;{Fqtlo5as-(4o?vpUJT zT~0W1<jBHEh(wnC$fq4bWiftRIbIVwgI8Vu>Ueaq_jAote`d>$-n+`t#kp>RA}ADO zR%Xz5IFt>WPU^MFBS6hG8EU6iYm3v-BCfeeiUeIZx{w)Z?qm^7+46C>#oWDR>t$9I zHGZGN!HQ9;Ky-fNc>3*Np0R}3?~f;eQiaY`Ee(F3hTaWmd-7Nw_6OA?G2rtdWN&p( z<7dO#C2fP42r9<w`Gy?VQ!k5gsPZTW5uNu%XRJ{aJr6#Jk}MiS%rZqL2$3g>umtw$ zp&Da&Afz3bNN&SZr%q|zI1YyIH#a^xoEG!+y5>Lz%Dc)g{r(dwZ(-LMB+TEck#TT! zT)hCaPA#}K6POsJ9-uFjUdV@$pu(G=rPOw<H;Z8g=W1@N(fxZbmr-Q)MrKdBsg5GW zs{0v+<0wC@zXaVL)a?rfwG^jQkm);1$r3g^g9)u0XQHo+QcsJ&FtNJ^xX6SE*h-H* z%lCXbeE3)QvQ=NE6;4jR^W9G`<=Aoz1cNJrP|YD6MbvmdT*@e?07Rg2OF7;k(vXe~ zCJ;uh995y5u$6CEe6ynCH#8N{LQ?S4Wz!LsSd!rC5KMrLWKTpkva$T`#w^ZRI3mu% z4l?B|abOdOP6J)jx;xpEQVQ^(_{yXdk~B@ryWa5FB#X55q=CjS?*M}@Kz1@cP@xUz zP7{SBMP~J3n+`N5zU9cu6ls=V)PYLqRPj0I_~<9x-<}>fyufCl+;Ve$1)41KK8wOl zewl8i6_cOND?3m7B@1DmxcH05lo%$o^`-5lPk}YLY&+A+__fed(|fVUf;3oF0kx9U z_I9<u(?4h+OzM}~OVjvXOAmGFL-Og`Sj1opaXG!iJ{}f}m(0d~ST(NhQ&4E>E^XFl z``p$%@fVPZGe9(;72D?bT5}|i#OPIopoUSBg>Kt`<1KViGLRRugCOK-R=ncnH)&!z zE07(2wwsDim=PG%L$G>)Qub>|)ctni;YQWMug@;44x27qYg38W^5^+~<BHDmC%*G2 zdUhSTgS%}q3cY0x%pLkE$F#xdUZXhX*nx?m1&-NdO&z$-7H>*kshp0!7AXYGFpMA+ z4y}pPcth8L)WzvOoafR^Ku8F*8RE9nCD1IgGoB;MH>tx(OSYlU@s}w^C+4LyTTVXR zw>qS46&@eHy{iV1FjkNToRKUG6gX|*{edMFWo4F-os>_e#enp%y6ab0-_*<j#dyPN zJCSjqXfLyT1@&E06r1n8@lDfD2lk<ArD4mfAO(ktc6Y3h;{wPW&BK@V>;^M6SrPpX zm<R%u?3@T+yN!9jY2<P5t_Zm_F@l-xBCGM%8a9qLPmz1G42)Q?0g_DUl>%uJNo&pC zg{{XJLW+wdoRIB@drBrI|DL}H7C_B9t`o$#&~^^T<I|JdHg>h)2+GfK*l9ak_w)0^ z&n*4=rDnuP9NULdqc!+IQCe+eolJ%u*@`xGRy!GGN`dmjgBwI&w?<^kIEMr%gHlVZ zCtgyH4%5E^rhk#vb1zz|uJ?hoV|H@j=GTgG$+SyKD^ft9&d@``M)%E07b&~u7?f!s zA|)ozh)Z5UMWy@0lcW3|3rKscH0TDVPbk0<YBTNSD}*T4JSUTmPj}&zJI>+0#ClbU zTEpZA+Rj0+X{{aT*#}#SoFy>gsr>a25p3i;A^kn?Uw58|hevGvSKV1byW88(Lm32t zounM(N8f)_Qyp8Aaxa*$&Y&RI*y+6QEIk7-5KYjDLf@2@3L=RH2PPX4jDEUQB&Vbh zQWfba4j$Cjl7StmO(owynKNN0Q6*-T0#;hIp7%&WrKRJQfbm@?K0u!F*d}&)s3qe4 z_UsFbh`59!D9FQvZeLQG6v%nn@xX)hG}yzU`_i;Rs~WT|Z4CVwa_TeV>Jq&4dBP2B z`YA|0%$8tb<!dt)glcb3M92jRKpj#zKA&~B)HiRmwnvhvaA<D6Q|e-0mTTWV1m8rr zm**2NvbC>3h(U7fAVx7g$eKtUDgLCc%!?4lA3xr|@vDv+ju&Jic@*gGT6c|L`}k<< zA+3R+Nu<25A==Oc48F_Q^`5apL@xbT9e_v~+5M<mHE{V?my|;j5)we&(#v{*=v*=( zj5*IvvXX%CaxWppVM#Q8<e?t6<FY}UZ@x?etdiHr4Hl-xZS-KS?L#Jd`qN}HO5pz2 z#Eul%1cy<rkxxO06@b2xWl#rvWx($EA8J*6L6jYu0!~_BR-tbmKhj0GKyUnO8w3lV zk2vYlK${jQvtYiU{g(*%A{`VNUR|-dob7Fj)IrM@!RWEydzDu`#2m8$^drEL5h=y2 z=@cl1xUOpG6POI-scwgC-Y|C<0Rz&vALnrN2L!?^Vx$2{(>BYc64oox6vg<h_oq>Q zSrdi4xKANW##ntgPx6$KJ`K7FaG)FK>u@5*3`)Q#^m8U5`jedt?Wcu`LPokSjp-eO z=`5HlyrUTq8uDYJRd7sa4=O7JG?4=H7UAhf&{UCKA4nJZ)dgCptKjqiG>CgPb0NG> zZJ;ZUCXqF7HW313Cq%s7n9$V2nw#wmb$VG43=uA(HVo|4y019rnj`9|$tei7S7Ib3 zc*F#gbE=I>H3PdZaZI^AFp4iWA}&~GK;qwg$Ap3bl}K{%Fo#H(;kLed7}O^LTrNZV zEdeS^cK8v}_cX4rnIXP|S?hbZhntJf%@z*tDX@SJei{X3<#0IkQ8aYt-2|wn93^%T z6a+XI_x~~;(5Gv8=P^|Q;fO=E^<8;o_|1I?hGcjEhFnsO&juJZW@KbMLP;4;XiDaU zN%DRRUChce((*%s<zQTuJOGE~P|cVQe~?))4Jr`}TnqH72&79xV8}~zJ7yk+8*6>{ zuX>Ok3|sSgcW`q(AIkfAk|KJ6>|uycPg-@pjoeGJ^KjP!Q5RYi<<yZld-~%*OP2Zu zz15d?^Q|xM^h!0EHa-HZND=@O300o1(1cfhp#ZK-e6C}lDduENllq%jtogPklG&0l zcB<-^S!M9u*lj9dHV(3ys_5^>HkH3+27I?RpgB4L;8?Y+tJJh1c=YTa8TY6@oq-gD zPK$?KQguVD0qfa$m4&gXn^$wQYZ~_O3}T(!2z{=7un#%GfdnTZ$FZ>9Sv$eI?{o?Q z1RN+2p(LFlI-|xf)Dkt9sBKehX{S3M){N^^&B1I3Djux5J~x5s*0Mm15u5+Q+w|p2 z*XygMS|v7yWfdYD+may-GV_-k^c<j>ARLF{dPTKSp`s_X+2raC<<Ze$bEjK?uFvp6 zct~EI$KzZ{5&AZn2+`28GI)LLn-}B*sS|d_RpbGgRI@Ql@|cwHi|7=Q5j{4}zhWTO zF!0Ck>%MsLqFIr!H<J3YA7)`y$)Z1#h{VJ+=ZDPl&-@F>Uo3pFpwO5;+JmyAinU3w zsa`Qh_z4s@w0CrCwF7(jf&P$Z|F|d*F(oaJ2$^5gaANO%)awL%<Q|*8VrAMu=}04w zOlW~QMN4~0pd^%7qt8i;JZF^g1iagCzCRliG(nVezPQ0}Hh7)p>(A)wdyzm(C!fAY zDA?;5fQ0Y$fzTC}_W83M&8brp-`+o>i8=~5OP+DIIg_bpQVoV&<HX0SYE^u$^T9<J z%Ll}kudo3ZgII{ZOI0hF{q*4N3;lN)CEWvq7KkSWoVq*<1T6KxUqv!j*yeU?*k<X0 zKek=<$Vo)@^JAX@sM*61IHoiDqj!O{K#neXiZGXXdk-_hL`O=T@C;-*60;CpwOrSm z4kad+>gJpsEO~hcnT!p@L|fX~&T6Ucc?7~dHaFH3t>LVTf~u-Epc4|i0PP$o5sH=Q z1?f+wUJ^2yAmQk!X0Ud@$uM_ww24U)Qt^T6ssV^#Y$dnhYP%DPb9TY-9`X-LhK0eU zm?CFm56CpYWpF0bl1~n}0el27qH0e=Ku8~f#oM#*z&)s&B54QYenyOC@D!BRpIc|+ z%V(pH@;NrzY|MFvIyhLberw<gWwuonARL)T=Ug$CPVhRqr1>I&m4z0S_#wP3TR0O4 z?kec{%~O-eP#7nU+i}A-f<Hslws0)r$V*fU4T~|(fV`(@T+;m6h<9Z_%|_k{9Hul6 z>%YQY8+qa=O3kM!H5+L}Mp#OFd;6T5aH59&C;(%|3^$fBvzuHO=5|@JQP#ofn_MtJ zG6)X(LS@C@M^t|F6mkejRfO^?hz=6hW>0YR=ee<9a_o#Lx_)K<q^5vuI&8(p56(eA zKa`redD;xL5jz|`0RH*0d_PJCw36Jkcke;-GN^0;C4-l>CZm*H{m$sbtw9ME49Hp{ zix&49HbYq=d?`bGF?Ti$@4{+?CxpnRdK-YqteIA^M?snw2S}0!;YkN7)STP<f_iTD zPUqCbcq%|Ue;&O?<p9+3bX=-KL+(yVVpX19;}EEMyIh(*LeU%Hrqp*LB;0LK(zwlc z%;d=$yYLs)q7Po^x{Cg^Fciu_Cu;Tp<bqAqk(c(_QGh1_*F3Vgq|xlL^?a|r;5min zFKZSw7_3Xjnyh1(@ogS)ZXlp%gjPV-tNJ*9V9hi9G|7mgU%Tk0_vnc9GYS;p@DLdc z+aUH)^vO#mFwnCTIgn!(+5A#{X67pB#CNg8jjFq``7kx3Snl3FSPBnJJQ5Ry&gXob ze|o@;O}KwH;r)z>G)qKex_+wneUx95V{bkwr({q#kF|2XRisS>s3e5p22g!PKg$l^ z5Xa)LWV=-i%&1{M9cD@2w7P`B25WRW+~rtLe=HUqm7WsizG}79@!gtM-sHw$edHhU zobQrvT7AYp0wXcdjcU%?8cdErT109EAzs%#(aE8e-cMA!Wk*?Lb<U`=s@;Y-ypVii zs<vj#B=rr0c2ZTwM+Z3tu?Sq3X_;Qll-zGqF4|1<7i~jQ16zzUjAQAaUz`PD8?)$t z2qj1j+90@>TlYZ=3kxeKslpkKXZ-^Ms-6v!FcXwrL<}J-L(N$F$!f$`8;-&$wcg(+ zTrY{*G0XaQs(hYVu7H>McdAaPtsc(lTY-fv(m8efyXGAl3`iyy9(w<nk%6T*2l0zt zSa|h0bu6z%Fr27mVG#Gy0g{8qt4id23ZjpMWZ=Wqv3-8e-d;L@QfY%I04!G8e=Yp0 z(d_~bmT9++fx}zXVZUl$o?}pvP+w1p2l?fFN`v#S3Hy3mRW6_G7(z14Y>Vxk7n=90 ztPMti6LsZ-5Vek~f<h-!@V!%i1S+N^Xyd?#Ya8hv??LAGEnBodCjivf*U>DB+3OE) zGKhLqeq=}Td*RTR`d&&&1L}Os8*;&$%S6+G0nUJ9E8`j;dQGac4DqV4z2OV$dnC!D zPP%9{wM3+ZgA`ci=H}qUXXF&9m0D2km4>V(QP1QZD=Lghm0AE~5r}Rz9~UdvZ!!q3 zwxvFn=6ILy%*UIzd|E$AYE82M1gwgWrl#1{Osi%&!>$V&d#dBZ=j_3MN3?W{Jjht( z*H>;ptq8QRm+>AXHfJc1B^Q8cqa@4b=bSXFGEjuTBbVQ8+=|c1__(?@^O#lJG}U55 z^9};{#6XwHnEDDr`HhV7!slHSly#>EsZgU6&&|+!deKI1!xS6q^KD212#RhVbbqVQ z%#3@H6HTCN)ETL6f-j1BK>dhXjG2QNzYom)F^juo*)Px}AL%{7s&TyixHwWqA#C@f zw0K4lAE3-89Baha?!A$F5$y3Vuc`q;ru*aaq5zEnxh)M>rGu#07<{n`)EMwqc~xm& zz9^9=@v<Qjo2ALg$?UxPQBa1n)q8j6iO=%zK{%5Tbe3P?C>^&JRR4C`Bx|L+el4m2 z3CHS)sL{D*;szR{5VdjhtBV}#+>!8CR`~Blje3>Wb=8yjyNb|Z!X<xc0axni*i*|A zSDX#aF*kp&1=4aMMcdZZyD&khgt8^v9ZdwCmeiRV2u;$EEv02=bAk!QZ#+Ou$L<Im ziYhHV+mrVaRMTXd7%Hse&FFJfpr?*Rm)$L?-mosw>!MVT#Jt23FB`-&LXL6}6=~nQ zU6AB{=jFWkv&UnhLsrq+7-~6i1ZQ-3I0?dm+HB=~FdQz*fztt6K60<4A6c;??_(4d z>vuAlKV<k-^d|IY=~W3ygDy4!9wBtDGwm^-wSwHMkjNO}>p7X+Tq#`{E{Tfk@f0W- z(6`CZ@QyYQp1*$o>lHY=`}282ze6)u`S4SEq+B}zz5U%tAzNq|vUb_^)xD@(wy#5q zk9YzIiASgIK|u_2Uo?YXpNfr@n0C_riC+0|VuX!gM)Z4eQs*@dLp>RG&i00huc+G! zxx8!}qR{ap1#LTEERp{H{&33dj`v(6t4sr;+p0-JA^N)rr4c^;<z}z<EspDH_eSDV zK;L!}+<0uxquBn_>@Zf3RnAafI@9}=ox3My(zpexfm)NZf59=C4(Mn|gyR%?aL5pP z?1Q22{hkvrbd|uPul6L8enH93`&Be{=uO%+$GIYp=JPrIZfZd3SmYtzAe09bQvY6o z!`j4%m)H~ZoE(vd_hyVKX=1Dg%F%ExGZkSQpFe*-v4+T|RgmT?C@5$+ITd~iX7KD* z++v19AUAs995`fGmjna^!1->J47li1cth+)eM<bX{|gTg;C;fM?nySB1{&Sjq|Aow zRaC>#Fm1Jr@EDCk2hD(+`zpK2%)-ixpKINcqf9Z~=XV|&tEUI6^nsK^6E{bZZELKM z$F~OuouIb~r(a^D_xAP!I45ZW=aZ~p2o~Nmo-<{#+oivcApL=0f?@q&?0jL}*(~os zZ`g~paC&Mi_*_1XFv1Qca{6%zm>G24gru`2O{NNzK%bWQcf8w^*a=-vJ@>D}Nm0YR z%DDhhQI(ArR|o}Xq0kSxB#%5I%0d4FqK}K9G2#CIt;tHErIp8Lh-A($eMvARkFKfd z*!YW@8rR=z;)9H7pZAYP4NuX$2sK>yk^3tT8lT*~s<KKlK1-5k4ODd-=8K#R^JzDt zG8mpUfEX3Zi!d8wp0AmKdNP@+4X2AN4K!`KLn9A6?ED#y|93rFy0?u7Kh$l6M@O4E z9ZOATf^i$&6M%6yaE||B5UJaml%3uGeM$8P?Q3X(H;r(-%sYSU_uAy7kOH~z?CS&L zAK<z#Ntz>9oU!N9pyIGu&G{=a*le6*$eh?oZqzFm*L~mvfN=p_LYhtZOC<aekWcVO zKm>>88?Z&O_9icq%>Hg-fAaJx2@V<m`zH1<2>5<YALI;ClE6U?dvFiFdvrks*HW+S zs`PIW4K&2Wiz3F3L}u(v^eqB#`r1}!LbA$>b+1yTKO_kz_x{!TJ{=3K@5TSs`cAqE zwt`Zl0UlA5O_voxzUeGVOp_>K>JA7xSmfyYlo=_24<;0;gWBB7cT5w(FSLZ#j7@g# z{%^fXS8s1PA^q|m7DaQ)r{PhO1Z}AKh;e76f|SrXyfC6y#s<KYHgV59_sBF={j3~% zJy>gn_^bU%%f+r7bQtN@75_tiR@a<$M`w)}TKNCjdX|`V`{o7IxBJ)w#P+u{WM|6~ z58>FTyoAWv?u0&#aPS`>k9xnxeYln#Yq0)nh<c7h$OqN&G7Se%=~3m`!a_Lqt5?;P zqxskdt8Is>Ppm;?%ql2=7H7a7F4`jO>9o(1JV7K|&GkjCoc^$6>$T3&7lji1`gpqO z&gT#svwZ$4FAnI0(D-Axm4+SlrKQUZegA$omYAF4K0k(ZLe%$-w<Y93wx5N`(L0a^ z=`#xD2q)jQi5PWKFS~*)uS1c8V*rAib(5@jT?GqGmei4Blu&IZb#dNA(9I~UhLhH2 zdQYvFk|9REv($bBk<gH~F6}%cq%~)(H4fMKij|&$5_!B5D_^^Qq*Ep?P^1Ct>X3%H zFPt${!r1*xGzJnEy-IG~Kq3nVd*M?E>spZ!>cEz-313H@;`P?0p`%M*U-v>#IQpvT zQ%Fep?7!clJag^i#69HExAh?AQCc0$g6t`1qEBwhm7!w}%t7e9GL^p*P%Q7YK1T1Q zK1TjLy5wB0i-cnP(n`_(=fPBo(Y(srk1s7P)tsRh_bPo#&1BU03=z5vp6@|r9D=}y zOgJuD8Y$u6O5WTX{d5ZCwwF?!V-U1d<X)AeZwIa1oMZ@Ee*zv~d2G4U=r37+baAQk z+fh^g3{8e<<;KpYAiz=<X`!;~qhoZ~9^->WKl2_Pp`ODKBh-;lWO73s>_9CD>3@fe zw~G>`2G!y~D9&Yoc9T2Vr$+C>KtL?rzD=E`mjU6)J<TWiJl!8gf7}n&bh*g(1UDc< z(0;Xd%iOT7-{vxe_Jjq2^f(>!7zY6fDL1r4Na?+sOguqtrWlHpWEbC<uFessu|uV4 zU^rU%ueWu}zz->Qk2{?@`irc!6?~O6bX7*)zo6*O$c>yq2e~Mrl_s9IRv_5q^u{K) zqj->nK9?)y)NzeE2&P$oAdBF~{@CO*s!3BxS%Px5PfnX`lc?<3S%^Gh$oW?BP5)r? zvB~uCwFP{WH}(&PM7X~zQ};2}ZQkmVU;c2#A?OQ#q=*m*KVJI+J?9&BR}9;)DD|)& zS!n2nS+GfaQr%Subz!wYY|5OoC-p`gDZ{tnw7cir)Fr?9I#-aNl^*j0Y!u8xd&;a! z5uw7+nn5%=g@!(m`=}CBET2{0Y|)EIeDZsZzfjSTj6KOk?TYJoxu^8>&NkM%KRZGu zgjb!toGa@MPH?Lr;?g}|Z1J@ax_iA3<D$1bL%F9gs=y<fu%oKiP_a@wCo?Xeguk;? z9P|Mh^hP!Lg*lIM`>-i1gfs1gFFjdhR*RE!Gh{-wykG$t6-$HE%r1R6C5H0jDA409 z&v1Vu%$J!t>dVkY&2hqsQ^fdS2qRIXKp@lRO-=4Zk7Uc#0ZqL<f?V5!q-&_UiF%Ff zb5*YlPO({zOD`rnL3<i$^YGNnUuaq&BdkPw;eO(Qjt4Tb6t{0Gm2bPf)*)c^l;v-O zFAa7}gMV`HPz%U+7JoGL*bH>5TA4QPO^CL(Q$U&5?e1qF7WG=4($>{*Fr|96I4>sw zGffC}ZiGNxXfu91XUP2)UD03dW&=|=^A{l<>U&<Jwr6&;1DvX9ua_8qzOgCg#OV|! z%umFWNA2Wr*O@wJ^{H{PF?!{16b&g>pe#w__n`FHABcCWWq#P}?Sy|}?lCiVl#nD} z%ADCg(+-r_<3|-5p{foJM~|r-uDzVSb3XC(1@<m&SA#(XPt9xO0b9>Pw)4s>*DJ=d z2h;1PLiv|J2$P1+%NWH2p`}oJrUQHB_smXH0P+(pfoqaWhIkq3ko&j;9eYCGoOHkL zUE&nN=;Iqs`)M{Zr`-k?BK!%G&jRWkQ6}x5>agmYn&HsHxs>KHv+=STYx)i($x7(t z(9lyi*^H}-NTM6e{E*90__sQoSo~$B9QvnN@WAM*`ym=3qa-<*T=7kJ+*po$*Qgi? zIuEYsa`s2>&j{FV;mJDTW4ljHT8E1kQJ8|2tq{~8*9Gi1yF1RYA{RWkY6Hbjiiv=D zGNIDuFIes{-t7Y<nB&Oqrj5>+qi2gd5O4|nzGMYmVNH!iY{R$HE_qiOwcL5+EZue> z%b25fA_LWQm=_1a_Hn3HpzN?lj5bKi7Z`;uo$IskNZAgCy(Ke>M8|}!%#!N9j2{<; z4y5l_V?@>uK6YpLE5%L`Qy#1qhjg@YEMehvMb8liy^4$IDVMY?$3Qtsa1jLGWGU?8 zcMltJv$hj8FRlr6`>9-A^>KfQu~B$g2aGo?8OVC3cFaA){-WHy-eN()N4}l2Kl3Nz zAE(8TRt=rRkWa^~b1gm@WGn{NvB*O)fi`y_&wofi)7G~y2l6)<oE`V};J$soEVM^5 zfNGvlT8dE+e4RP#)0YEXS>eXFiEX$=q|8iNeHr83N92xorl_slol(X$WL-Cht;yg1 zDz0}u^rf-Lax8QJF*?0Mmm26&c%->k@Z_#jh$!rpd<i{99zV+$%Q<qxlk2=#<U!7X znk$vq;xIO+H|#=1Tv4Xq8JI_w*rw;++m}v3TnuA^p19(mIs_wf21Ap3nol?}U)0WQ za3Bw>>hoE&h}V-d@~%_X-F^3~=E`l_owFc*>@C=$48`Wl&RE){RC=n31{%-sm#^}E zbe#i_mEq5zNi2=0?Bcxs754Sk&JJZ<>L17^;d6_Dw0AySW^OTz%NTLL4z>Nv$n+e| z!1DJ2Q$3R8<h{>>k7!vT?|FR)#4D8A?@G}DzCuR;M*19gs}p4SYbprt&ks6T53Z&6 z3Q!RdyX_t-$VF*!?|{*`otop`+Ld4A#daDo`V8Z>-c`#{aW372?3)!*KmdzeEV7X7 z-E4rwhNNB@l0`RnN7=o1qmmCR2?%j2Wj2!a9wF@%<c9$eI15H!K)JfR-jKvzOT;7h z+~(hIpl>?vTCmq|o|f@PN(_$;7=@EY#i!v=W{@L}eqWjzUcyXPq*ee=G`CYoB$=Ag z)TY88{X?NPS%mvlT|X6d#_x+-T`U<uI_lgho@@`*C?@+nU4547TJPMP9j`FE8p}Jx z>ra{}gG4r_UW4&tJlBDtK4z=w<zE|X5Cf4XM|RLS6%fXZqmVxKM25$%9o3%U%cD;Q z)6lCJ`OBQEF9n!)*vq&)q*iR)&5YGq@*s7I-o$X%A84Z3J;i7N`d(MHd};6XBlxTq zHpDlA@BSeDdUp~Lc%utE625!zwNp?^nI#qOZF;;jGEj_BW9CJA+Y$kPV0$O!!G)2g zs-`cE#7(e^-_yp}(+n9L9^Kl|)dp^8K#TZ0d<10~XE0=IWBrp2E*OK5)w$p7dPnmi zl{s0Xm#&?jN30Ix1Y6I277j)MpIBBNRRP2P)Lf5}!0vv+GreCHp>x(Qkig?1k9WRz zBDdMIOIs@=56~#`hVBz=h@uTNB^=h&07<)gkg+^pdmnj9O<y9nAD22sodIZ`fOH~W zL<6my%+Do*v}x_6RlBeq08S<W$Ez)ZpfFj!M|ojAhc44G@Q^MuSOwA*w|)>uCeB=h z0;*ET4lesSV0b^vmKb#2JZVFE1M!zx9(qmEz6_-Gd&Rt;L^<vr_ey-&l{=YUk$W$v zV_%G1C?rBt4dI?aloYSe?QR22Hbf*qN6ApWttDoVCj|tL-!|HD4FT`k6+64{AoBw$ zN4i^R5fG}@dn-j%{a|1EuG2}fWYEzh&d_y*GF$h)N+VaCE~bh-f;?W5=FV_LDC#!W zUTg~YG_r!(5~xHI&t*P%g?Jb`V^PQLXsyx&G$Lg5LRThfj*$#~s@EL&ZIzSXKSRwY z?F75T6J)Hu;#K|)W_gLc!Sss_DyL%)U7_1{L#PhD1pO1r3W}je?z<=(7dC&p<yW?Q zxKge0Y{UM^WZM6$v@;K<a((x>YBy0DRU}P|B2$@4hEixzGAvVw2D8nQp)&7;NYly` zGL+0iGK30EyEY-iqC!Z@5K$DF&i7f^=l8p=v(Gu#IqTYg?7gkwecxxgpZocKKld_5 z0)&k3qOV%eH<ikfnOS_<r%s%CdKxp+;xYCqR8x^R8;#<d@!?&p4;Sp5FSUiOAi>OA z%;a5OCWYjT$gbwZoLK_X5JaE7&}3;r+()hX$%<a8@aX}3`@|Zu8z|k-XRmkZOUnU9 zNVsV-_eJh}&Z(G}B`Wt(Yq)nb`JEJJI3?qq#{rheVS)IJm3Q9S_et?`O&7hCV}JE< zzU?)heXjfBRMWHh`pq4&da0bvNJx14_Q*YjxA;}Z>D5O3kH@R)wG86!Q>^Q2<jZ7Z z9B{*HrdpF@!tv-%N47Y%{y}=}g<|EW^-efUvG3yZT`}v==`gsI@=lUnr`&BLBLTg3 zE7s7*fj(ubWZu&BGZ1dlS<YsB1JsENUY9;v<h|V3m1cVSWuMtXkyJDX9DSKL5!2UU z`q+T@1PPV{4A=E9>#!x5w`I1_>gg^g;N%!y#QyDj2&KaKp85-?-^m}B%>1#vy(2Si zR5FBO&L{TzXZZ>sBxrooZGEuwiN!J--W3$;ku@cz$irS*{2OgK`QyR!f^OIeP_WXV zFO(m@hNI`=UoHW>i;PsI_K@pu{V<$2mn}6jBGQYj5EPPV8qe;%iyI7L-5|p6z{NdB z4|^%_F%r5ix(bSwyl&mU=lQMl*~3nfY;o+_#3QZQ=kZA18TlJV!eF}Gc&<%W_8&g% z#HZ{Ns0sask4{&;tlH46F@9>vSWNOh>lcf01H3agP-&BGMVl00P29Ds`Y;kSXWEWF z3(TWr_nxiP8q)_?NM49Mml;N?=!c+~#UI-{M5&SaW&!MWxGyG&!4cP0;dqWNfDCle zLw9+qc6YXM#i;yWxbzX$EI@b3jb_u#7_?svIaV<vAy&VSSsiSQR_{QUV)7}r%wbDi zX)m~tO*dv{C}FBQWcuu`3r%FI@5m$2qN`v|ExLR5Jf*9uH|5<unF{g~(_^%BF3yiJ zlA0(~M2Ax&Y0t<^ubNAQIE+jeekzIYZw-(CId68^!s!+lP4x~~qkO*ZDy8CROkD66 zIb4}JX%XC7Ex9#O8~~6UE=5qLL{lQ{i!>gZE4eN<(aOCQ3)z@Q(tgF;G;Te}AZa_- z-YRjtL7Mdj=%x$WJlFo!oYAR2Cg$BN`rxMG$x;_B;)L&)=Ovw*IF`ltpSgO)-<YP# zz=@tw$?rSO=$l%{h!fjv6NzA2JxKHvKkGdsfdp322cT&xXS%GePk2C-|IgpIQW1Az z8FojPjb_ORafzuHi0Jv2{as4eeV4!9g)_|Y)lJhTZv?%<t1v|n*&y#P_cyY>Zf(b> zrYEluBrDCixVqCO)*VOU?YcysjZP3cs}pPIh2HGDi><XpwCjjI5?YJ|Zgtn5{V`|~ zpYQmBdh7*Lmvj8YmmDBCxT4e5cZVQ=@+^^iJpC3-fi_4=Y97T|X1q!saBUpzKS{Wa znfLR|{5cm}bJoOvk!E$elMMF9dF}LB)6bTsg<K{x?e|=Ybx*M~&UmDDE~8Ji432J( zg`dt6gQ<jCgYyibtT+s&(i<~3?l&@Wh6MEdRBIfson<PZ(JiM&k+||~eEK{@+=7r8 zFeDu+6mXtokH<DRJ<BD301qa!x5a>Qa+`B!kKY6G!1>I%QswRaXO$jA8p)@;op&}{ zw1zKIskU7FRC1~z{YCaTzNBvEO9V1InR^tD+A|WYIZmgR{(09WVx~oz`yu1=ciG01 z??p1+llhJ4>ee%Nz4=k2@;2F5`V2|W$DB|w@I)`z8aTZ!+pyFT-b;+C%Ejtr$eiy) zMo8)Yg3lO2$&0WZVWt=!qLRI!Egl+fdy+Lu=#EWqSFzC*GW(h}kH%nfF2U?Y0`L{H zl(zy?HSk@YEl!9v1-0%_n*Gq_P|2<GS=X<8v>JGKa_UWFRSP0bdc%LnE)JQ0M#9_j zpIbL?X=&Zh+Ml93GQ*&2R{3E|p~_y<Pj(0=gNZdgVzthzFWMV{eByPANXr>b^teSD z=esY@+?f5D7JoQ8QWq4DxdeQ1O&oo)bLN3KN%`7Zz4mjVP)D`z<$lSUGjEHM%T#0b z%N&eeGT)MuEsl3lFK-$$DAbz!CB0fd0%!ZKh%X{@>j+{xHnxu)ZHczORxUQGQqYPs zEdPNeo;j5+I1cKA@%k;x*y0wELxG$(X4D$&#nt3OFqCMj(-*Oa0hx>BJ?|5Rh9akS zCZv?~U48nvV{5W8Gcg_XyDH?@ES<^GFV+eXG#<7>VU*sc*m$N9CpUiUP~O(Ge7m=| zaJuullO#<sb(}9RV(R!n(AgEG{J?or6`}{)7Tw}>uzG;!R7k<eLlv;gtoQ!5UhK39 zGwlzS$Wk%$jji1V+BQ*BJ<wx}aLOV!6c(y0`CA_>c|guKClK05^h!3LoD)RWEPk;P z89Q-VO~xR09<pa7U$pK|7BwzT=aIIHz*T8?SG2U4ws`)$iDNEFLKQhd#t82b4YoaV z?;a86VU}bIGmy&l&$wMv;9=+@04(Zl93{mOEipN#1A8!It$o4cP6Ki7`HF3r@t0l{ zR#C;5Y=rTt`>pg5MlSqK^?e60hEwO9zCDMQa9D9XcX%8mE~^jE0wZCycf_gMP7X3_ zm`M}6$d!zM5S-jKaGXvtAJ;s4wt#ybhi-(m9_ye6AUsW+%cOWJjt^e<=UkTxH<4|B z>*Gjych`<7M`0Wf+*H^-UG&dbU-63B#2iJBORZdK{-1=MI}U!kEGv2C`%C8l(h^0C zabOBk(MoqeRYaZE$Z~{Lkd>v+ddX@C+FFw5ezU-vS`*C-l=b*>{&ApYD7PDT-2W20 z;{w-Xvi2!||6jUgJv7y}wh0wg&DQuYAAUABrIX{5fgvTs8*RLhXo`BZG&Vk6d81WM z!sF4{_~fntB_&TTKI5mQk~{S+b_TS*Blhvin0@V;Hn#)b9}zH$H^~X(?;MB{O>aF( zpUX8M|MK-cAq9n_kVMu%XhqyykkLGRHj$7(;TI6-E*|aMmhIVE`Ues6GZ>7OD^}>V z?YhDuZ!PWn1}aciU7hgl6I(Zbk1biSa@Bv5ddzV)vU~Ua;qj)X+0zzxbMtX0&O7TW zu07YYGUJKn$cf%ZHvuvz&1qM_lQFrvJLU<<PE<!$2p-9`$U4GYlF@ozJm>p3-^siq zl?CE2UzfA3m9&Z@grmycUqhmdy4vh;+;@!vKXlf!A8+0mP_>nml%5Ct2AkSI(z56! zm227dm=~t%&pGS9YJ6gXnYA1Ky|vK`bg$u*#lRo}Os|$F7Uo=ePF`O8jnby3rc`ZL zSJ#vmY@dT;`*A41Rx0?1*HNDO46D6=#SgCdHB?2xv>~+PxzA9o<Ic*aO$Hf>mzS`W z?jrme(W)oZ-`JAPJl{3wW!$}`Ou;ZrLy(3~q;CHw7k%hcmYfY1@NewwLlqxPFn8&m z_^*xi$#NAv{>l4lBN+)u-dMXIFCu*_0{-wzmvkYOAV8|+|90xY&q_bWxjjfcz3*(% zY9>2Lohj{pTCb(hbcvHL4bf^X?7Up?*g*nn-S)(fG&J;$c0>z|S1QrJEbi6T&k5_R z#uirun|7~t$Ad5X36&2157;5izJk4ih@bd<WuIG(n9dJ@>kr*8Stn<~++jDKbsVCV zlB}=zSA+Z+{w<hV@Ur~S)|a?!oTul~4eze~F^Ay8GlHzs!dbXrr%qM+Y@s=6tZA}! zEYEsPV*O$zeroxIERj?p;MJds-&nyFj>T05Z7HYk--<m6HLQv2{PNlKiRo2%&yD@R zHM}m>z}m5JeoijL(DSyO+cpC$F?V(RT!cds2H7b<TZOReTpHF4)&-h>>gd9fL3RqU zTgj31zy7h~)`{9kk_~3$TJ?HCR3R<B)Ob0GI0c?;)y9&v&u$hQkr+v)dY{1V7CY^_ zk;V~k_RpaCF!@?!Nau?i+mG`rSW6fQu%6~x^lbE9@tFDdCa$!@P&itdjji3JJ|hPE z*8_}V!(8>k5ox?DbUK3aIi-uEH~k+%2qlo-MmhisL&3`F?SN)qQEm{;_XyIkBPCm~ z#pK0Db^rdTWu5^^6B$x)41%bC%hUR{zdyOLTV-A{w(g9CLkq2slzhMNIIxv{=Arrp z_Gp>n7>gC!2$hh~OMG{k&>rD^bJ+@{C$`LCi@4#v_%O+CQ@W6x{gg??PUO|}TF*vH zhIU^!DKVBpEVi<z$Q){BF}={nDH&!UJmF6%wP-+KhqcpUhSDTteEZ$r?xsyjj9gdM zRB3)*tR=64rnjxMpfop`knp4^3fVM59*#uAs|$bsaf70mNqt@nMUcO@z-wFr+ZXZ8 zGf&C-mrHU+@@pPO0`lp)kbL2CSn++t1=zIdhoW~v8vCKog89-5SN8oIht!FM7-DGd zRQdUetz-=DxnrXxw!e36fI36ZK_Ous^+oXF-*l!zGgiEqLthT%=`$(MwPjBqC5H_o zr^)q>JOA>gncJ@MoBPYk>azj0W}?nc#PD<}u8?E;3e7J3+qPSdY`Y_7P492S&y$b~ zBY-L!V_AE;q<1@R+-Lg6*CZZ#DxR0VeiQXb_CTDS->b~jzUfx<Ifi4g$QP?Zb^ToD zn{%=Lukp<(qkjkM!A);TAu*o*$p0457vb;Q*rex9ZY^SgVpQA1ejTKola*M3W;^~B zuTLb);S)%PaD!!=FveWw|Am7D{uXCI^)gsUR*-&IAZu@N(VI2Cla+=I*CWc3oqmXH z|IV&rUBrJ=55yp&Nk8dUM4M9&5(cbb7pWSobl->F;?rNzIhp+vpGU8jWF-+vgT=5L zv;W6dg@C5!jF~l@KxOd05k!aHH<)FU=9wQoiuEkrgGmLGN*UI<41(#H=_8tds7*3G zSlRw(NZQm5{Tt=UPwgkvb=DAv*)$jB&0E5k4rTn>bqhspz#g=zzU8N_tsQ)M_UhyJ z8^N2EG&%JbKWL#DAVwsCeyjx?hKj21MW6;qbOvpDGGeSA2#J^o`5?I|NZ$SRq0ac| zPZ`;H#=#X9I`~%947k4B0XlyvSsvq;C}t49Y_m$|ISx@22WUp^h$?V4UUVAJXW7=L z3l5EcZgGISK<K+|LHIt6QfqJps^=_`ivy+hC`v2To}0@t2s21I0Gx1x?vUj(e)%^X zQTq1n(&rvfPr3ExHAq^#S_AI3A>k*qUy{kSZ4gB*hZia@d^yg5x-kUmeP`x_K5ZCS zbDg`iNxTPsVC~h7`(Ptn{S7)dU~Ij0f$bpA<NDRBaStELVc=^)*e>$kKJVVDS(Sz* zUXO@`o@moxE6apuD+!1iU2ALWNV&83st3$YAt-$f_M*C-(@tKuFWD~$ZGPy>+niTf z$l<C<{R6j1Fs*eZii8k^6m*H#AegFlY(0*CjXDsUO`IyEP#a*BpGr(Nz)wwlot!uf zH4w37;LJ{fAdI)fdfXz<88SH#k?<UdQ8(Pwi)uJGiO@wL*MGQa^X5yqx7^<wr6HkP z3_c?q3Mw!D;2@G{a4>HZ&<R8U_?c_X_6^{~q=N25KiU=yx-&TTQOg?@M!!h#Qz)Hi z9=!tx4%{&H?Oqou0G2~wU?7jU*`C1OIrBN|V&vUJLPAbz?kHfu91ax*l|XZd|NM4) z>GO{tKX#HX1X_#nad+Ud_{pbLo}J?$9CmcOcu@ZHp1H!g45JEn2zzGdz>D?z0Cg}6 zoh;GjbBRm~L3+Gq=~=3}dM(JzDY$pkrdjE*Udkq9m9RnSSwE++$Vh^2c{F^l=Gz`T zd|1f&sM?R*hScn?T)GrW%Z=vV83lx<)#Gz>iy+*Ez}~`{w_uH;qN4o7aJx-Qv1ec} z0998hQg&}%UofC=1V9KkqXqvOng)=HTSV=-O+T|vs=@e#vs}RiZV3yk@1H8%J_K$d zy(ka$F~IS+c@?ppj4H^~lF?3#k&E;)z;Qp)cdkTO26}}4@9%Q8U<4eh(>W|CBh%1% zhQ8OKcqB1hFO3*vPq}M|&e?zGFM`t_EdNkK$WF^A3!ezWiKn8vhb!mU(|Ml#kLMFt z2alwc8E)b#>do|^%t;sp<~wy_Kp?9(a9=|oE{b*I$qR><Q#9o<N)KU-7j>tmITP9l z^p^zh5sKbVI?OX0?$(l;ni>lAirlvgzkYtr0@+i)@xDU?5ouz4JQ}P~pSR`wwq0(6 z$zU00MA;WnXU&?`@dFguWJ%6|_TW+O1q<Wu0T$Ym-)OIc5O%1^sfv5ue9=URXo!TK zJflYwzj}&>>WzlpTE-5jZ_+4-WE=z&U6>aMv;>{T?+_5CfIr#PBm`1Wjpj0JIZVQJ z3f-ok3cwI9;s%@%2N*DCBqhbTscBb_DZ@(!(-#V3I0Bcsea9x_m%-c;FqFf^)p^SE z=(|}o9&c}Ns*ua>x+&_FPnkHjg3V{zF9ih!)r1J@tmNgjbEXskLAAyOpdI-3Gx*%U zY$t>%%ybg6s}9=1v__PGe4c|^5YWM5{Xy~5_^4;A9r3Lh({9!Q>Pb~j%k+`hb=F+{ z3ZJ~19dJES=s@`nE%y5{g_?SeD1%oe_LKR9Jhd&By5pyP2BwgrK0!aQp(ndE9Smp! z*a3s7w(|ge85qE|m{*AIcX?x!jDsju)?@hYvh3DPULzf=QGSN#1<4E#h*dl${cX@g zk;w@Nr{K#AR?`PNwZMhHT~`sPQOWb+irCI52$|Fv*mSDfDHeVR;(9`_2U{-JynGdL zLN~=m-D3|G_-C%^9+w>_{#-;l1kntVc}vgbL-d<oSAv{~RPb~Q?1g6$W68eh4aU;4 z6#@qdkV^gGP+zkVSjo@7&apg^ZGZ|Thr7$gN`$jLp?xHTSC<vbT1(Ka<2pO7U_S+- z3?4L8pE4m!%vNsW3WzW%DN4m(#dFw0Nn`&bO*M{ZC;DlO_rzIcRaILMyij>bJ#ZW| z$+6b$l|Uryhl`;O+R_a`+Q3S#HZU+ih)u**n*sx^it72mo84mz*x4DVSAhhJ`JPP$ zw*UkpYGhN70Y5TL#_yX?dOL<~Eu1YuUvn2nU&eU`S<{fsIZS+|*bU`c*9s6_Y0-~& zwj+iMG#X)21gd%Ex^*UfRfjNH{kLkZ)IZG2!@9tKC4N5q3Q8fhOim;r74ypHB%L3` z8+{rrgg^<24Gj;MI5nlPK!O#UEI<ULKtgmjI+QSpkQQ_o0yslWr6_2rSEE|PQcPOJ zD_IYs8y61`VFg%2&x=riW7nyV2MXWM>TeO|6xcPjO)8~CAdq9d{-vba|0`_4*BO_= zN>`UaU4ctGt)eQJLyVA5IK*ghy;f@py}}~PyzhYWYu+EPsgn1>_g`Xc`V%;cT4G4a ztb+4S2w^QwO!ksCCyWxnJf1faE;&5Gou8r{q{R(K452DVr4Q|{tlfaj5d|zt4W$h> zAPHs8%7mNwAlJ1IYV$gg`%T)%M*+p5P%)ImH|Z7LYwRTu9)R<WyRuBu^hEG0AxuQQ z1shmF=bVE#b|@3fJdH*R?8Pt*BlyRr3kDrFppTWkd?}s)Pj6agks2}_7B0A0QGXJ+ z(-xAL0>DPMA74`NgQ*aqlm7(9U47jH?@6y_RHA|u@g|w?(2yo5Zqr?xbOjMk5qp(e zf9qZpsW8CWx-IYP$FkH^O+8|221teAD>r7fBpzBzm=u`2{2wYH=cWjpHCk|M8szPl z)@)ZIu5`lULki3mGaWqDk#Iw2V10WD00ko?CMFX!?JiirfV?XpCLk>ICO}Hd5(Dr@ zlYF}yfculQjrJ%>dX|=!E_X^dW|oC+TWqB3qK(-r56^s`1X^e6yutWA7)J@Hq|^<> zF~;WYp!+i5-&e_f4<?gIGnPpJvY?CybdB)2T)OUrt1*a=d~*D&H%b;<*~aex6ekQ3 zTB%nFOAs@tGjex&YL|mT!o!mQgy2!wT8zH@3*kg)NC=IeeGl><b67Yp(XS->J8<Aa zX5pvE<&9Z|pLkGwgoFmq8;S3=zn^Xbju-#sbrKc_@0<)xK>iG~Ncr*XkT=CHJ$k!% zFAF&?G{Xg8W(ST>GqWlR@dvqJ495n<#2E645`5nG;s~6q@DrXkR{&}1f`^Eoi9Z)L z;R>zbyD=faM8xHRC-5@Q3me-`u!C4u`SXeWezQujCVD6{>2R!emTk^kRN<&f(Mi%k zc>-Uu3L$2?DfKn`#ET#?^|AZcpE9eQx0EVQj_F{&6d6LrDRm@V)1PIN<SPQdTllq5 zx0s&H2O5ZNsvSzk^}0{kW0{54-RPmn#*KSXlO#a2sB;sk{D4bU>@oSFmu?UbGy<^r zqroq3UL-3RF)Uyh-6D%GF7b5`*S0|dAaA2bf7?D;JO;5y!8|f1d}<dgT2u!Ji;>5| zHgC+6?qmdcjSZ+)02YZN2KAW!J?cN_9m&Axx|6@#X-g^RI$6{hbK!rF{+I+d2Ws}o zKYxLMts6nAwx;G)i&qhjWuH?`ONxu(6j|O#=00p<!rw^4&yQ|+n3zS-I0TX?WnJ?z zczru43n=CkF2Uy{3W#3($B!q0@z)_MCg^%x>(*u95vD>rjK2R)aQ*3T-@knNq-Sr4 zojy6R#XuDk5KzHx16))7{6;%zP%`d6OTUFx3gbPCX6TF+7G%q?H}&v~lF6sKx;n|D z`G$mLHwlFZ=TAw=nYdRW0oOTptd0A-KlI?3a_{6jfHVNijV6NC%Hd(}a(D!%84)Cm z+V)<-;k_Jj!GMTK5bFSxr@Y_<4;AB04+b8JAc_HC`4@2vf0COkiR(EG7I-+IH;5<+ ziX1}SS_^nE8?c=#&r6R4p&a{~KXv+SQCEn}F`nc6T;4JJ_U$VdfzLGAfNbPTJBE51 z4r5-rqqo!(Q6ehpZPO|q#PXezk^-J%tQxO-=2NDGgoF#`A8aRc<f_6LS4Jkcl59 z6!M{xMvOua)b1fm7kr7>zo=E*lf6#*41kVqWJue^LY(Zsi2D|3oS@h5!-i0B$N-63 z^5Y2M!)UZ(G7?dbNmxMuYc{g!uR+dD#V)`Q`v}Vl)KC+G@evhC!Zf^jE!*4Mb;iyb z-nYLg`mkT=5d!_^qp<d*V5$joYeI-a;qt5mDaV#oZL_okHK;03jxh!Wk+=!*0h4BJ zea2+V`*A<X!WWLblLxhvD<-Tq|M|<-pGHf5w!CYTSkSAbCpZ7KLHxYZxjo#;CTFxX zSMKLeSmCP{M9<(>UenQ6!yysae^59`vS@+zaq)n{o7+^YZp7p~-F0)-=kX$*md{ni z?yf)EevT@X{M9pL1DmS9ObxTHuCwiFfQ_9Ug2*iL99N4S?F0=GMkwW)mR<L?yGD2E zgQDtxg5zzTZMcU*tct2?`!Rj-HFaOUq;I-*L5}b66Dd?utG>2bbx|IcAEBiSUgG-) zK0F`zg`p-XF23P@V@7cBqR_CgvYw%`j#K<i4PDONSY2fiEA_RMWaZ~e%b)%Bj9v*I za9wqEe0{y%BhOJiczax2T!chKZvF(>U<f!Y%B#7f5<u=S-r8v-e+7jH6gmGR;%jJI zSJt$)nmx3Tj{5A`hdu>g)4F3=>PnVA!F<qPUJesD%DFgqlyMFH_)+%xyC7=Vpr(lI z*>4HQBF>`zf_+PI#`n)vJwTl7xN#8mLW>;R{i8K3Yvw%ud@eL4MbI##e)#j(D<UU> zr9i)|EiK(6m(Ih-7e;vm=<0i!rrxH)+NF9!KY#YXN^Rrd&;Z8j;?J%wE~KmtkY86R zx-{C$j#Jjo&NM{YJEDzX<}(mZ#Dll#C<`qsFIQiX2IOUj>jV5VG}NQt{K#D&H;%v5 z!o0Y`&2wU`Ff}c0a*%thdcA&81rX0#T3Xi<lakt{!pr%AjzoBP=J%5)_k&3*ZoKxA zij<^eu30kT4DA)<aSY$t$;){uIG9qGbMIbVQ&ak<PoGL2z93;xP0jIS&yjD+@tOyu zqeM~^!1WYDzQ9a;&H4iha&p2sZy&Y>r+sx75flWh;>w3vG+o`$)YMeQufBl+N8~ir z?C%?ahE2D#uuy4kZjOwM)OK{tZi{H>(M5wi8IRUT5;ZQkT9=b!AdGElgdE=$@Ej!^ z3`p)G!7G4*_7OeC(e44@2nux)rz3pj-1)8=hYneLco+k(BV%0K(2x`uxNz6a$^_!K zP+ZTttCkxvF&YMYrS1>)jrv%+y6RzHUHj@)@bT;j^w5I>Iv$DFYrAMhMp1|uLJ?Sm zg{?wcP=-Dgc6ZwlkLY>@kJpHEuJ_6Fa;D|y>+$pRFKnF6FSvAp)u~h3UL~dor7kwC zmpc>p<A*Dg$>g@srq+<X%h~T1Pu1@1x_<q7cW3A8$G-DX|I+RG@$DlX3Vu(IA&Vf@ zRXmyU?c1rF^6q+V^f&$MFI~FS^{u1)yFVRY`~3NH|H9*t8VxOjP{U{PW@IGK+g?{P zDO6k0#>dCmf13^awoLk)uD(9$^Bb@+4sW*CcW}s}bm7c}-A_pf70M)ez(^UTnVQDZ zmVoX14j5-VU2JZyJAajzmuH{n>oz&@h)>Zgn(l#hoqWXJJ~RHPp<xP!n!M*P$zw** z&yO4SS9pSV`fF??htxR4b4F>QtuitsFQWd&Yk2dGg91|0(lEK`n3$Mg4B&@D!IRa| z(RuPPJ3D*((BNQlPR@759;8agb{_=P>_<)%qL5)RlM*iz-0pfsFB)ZeHP*%4(_fD= z>+5+w8I4=TDtKz2JzMzj=+~AbCVnOLuU~I~1S&BxF}4}O%W%|!DfuJY)g27)Sa1Ny ntKXMAF!I`9zV!d`Z)2R>ubzsxY)#xtzKg1?u|HGE?A(6<wg=39 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 GIT binary patch literal 0 HcmV?d00001 literal 39614 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 b?q^)aPyMUc-&OsMoJ&qd;ds)~3%C9kweXmS diff --git a/docs/build/html/_images/test_coverage.svg b/docs/build/html/_images/test_coverage.svg index a4262d340..9f708fe59 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 64c12ca78..1c8b3ee25 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 8efa633ac..0c78730b7 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 9978f72ec..03fc1bc7b 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 7af29a496..ef155fe55 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 f65920e96..6d8e6a8d0 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 88842178c..397f6601c 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 57a4d14f1..5aadeab91 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 685664a1b..092b28ec1 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 e696f61ab..72654f29a 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 0799b491d..b6be39630 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 20fd81c70..9d93a620f 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 beaac5daf..65a6b6504 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 2b4f99f11..a4427a202 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 455af7acb..77ec01cf1 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 3fbf8de0e..cc76d9d6c 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 ab13f9367..747bc9478 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 ddecddcdf..8cf18bfd5 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 8d4487530..c99f085bd 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 77daf649d..941ae1d17 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 542d6340f..4ca4cd979 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 5a0df8e7b..5987941d5 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 6e2bc47a6..3d8da4100 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 8be7d4c0f..b43b3f1a8 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 28227d1a1..000000000 --- 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//wGPePy0tjd27c4lEIoeVf3v37jnu6wwYMJABAwZy4MABFi78gOefn8yDD97HaaedQdeu3SqU9VgOjdI75NAC9IfKq7Kf7eElUUFBPieifv367Nx55AjInTt3AGXTFw/dliRJkk7E1l35TJyWzRkZTRjd9+QGEkh1hQunq1wkEuG3v/0lubm5/OY3vyM1NfWo9ysqKmLatDcZOnQ4Z57Z94j/xow5j48/Xsj69WuPeGwoFGLkyFG8/fZMZs+ewciRo486Eqpt23YUFOTz/PPPHnWHv/Xr19GsWfMKFVQAKSkpbNuWc9ixTz/9pEKPrWw9epxOQkIC06e/edjxWbNmUFJSQs+eZ7BtWw6XXjqOWbOmA9CuXQcmTPg6ffsOOOLrOORoUyYBxo27iHnz3mfmzOmce+7YY94PoE+ffhQVFfHee2+XHysuLmbBgnnHfMz//d/DfOtb1xCJREhKSmLw4KHcdNP3Acqzxsae/FvNhx8uoLT03wXjoe/JoXW26tVLISfn+D/b433NZc/Vh08/XXTY9zYcDjNz5jS6detevtaWJEmSdCLCkQhPvrqEz9fsYvKMFezZXxR0JKlGcySVyr3wwhTef/89LrvsKgoLi1i8+LMj7pOSksLq1avYt2/vUUdKAZx33jgmT36Gl19+kf/5nx8ccX7UqDE8++wkNm3ayB//+ORRn6NBgwbceOP3uP/+e7nppuu58MJLaNWqNXl5ebzzzizeeOM1fvWruyv8tQ0aNJT33nuHRx55gMGDh/Lpp5/wxhuvVfjxlalBg4ZcffV/8be//YW4uDgGDhzMmjWr+fOfH6dXrzMZMGAQMTExtGjRkgcfvI/9+/fTunUbli1byrx5c/j616876vOmppaN0Jo27Q1OO60nLVu2AmDEiNE8+OB9ZGcv4447fn3cbH379qd//4Hcffev+fa3d5Kens7zzz/L7t25NG3a7KiP6devP5MnP8Ndd/2Kc88dS3FxCZMm/Y20tDR69+5Tnm3Roo9ZuPCDE15Havv2HH75y9u4+OLLWLEimz/96VEuuOAi2rVrD5QtcP73vz/FM888RY8ep/Hee2+zcOHhOyAe63tzyJVXTuCNN17je9/7DtdeewP16qXw4ovPs27dWv73fx86obySJEnSIXMXb2X15rLlPiIR+HDZNkb1afMlj5LqLksqlcvOXgbACy88ywsvPHvU+/TqdSaJiUmkpaXRt2//o94nI6MzmZlZvPHGq3z72zcdcf6003qSnt6CmJjYwxYp/0+XXno57dq154UXnuXxx//Anj17qFcvhe7de/DQQ4+WFyAVMW7cRWzatJHXX3+Vl156gV69+vDb397Ld75z9MKnqn3rW9+hcePG/OMfz/Hiiy/QqFFjvvKVS7n22m8TE1M26uiuu/7fwZ3lHmPPnt00b57OtdfewIQJXz/qcw4dOpypU1/hrrt+xUUXXcIPf/gTAOrVq0fv3meSm5tLx46dvjTb3Xf/L48++jBPPvkohYVFjBo1hosuupT333/3qPfv1+8sfvWru5g48W/87Gc/JhQKccYZvXj44cfKpzZecsllfP75Z9xyy83cfvudR90t8lguvvgy9u3by223/YjExCQuv/wqvvOdG8vPX3PNtezevZtJk/5GSUkJgwYN5qc/vYOf/vSHX/q9OaRp06Y8+uifefTRh7nvvnsIh8N07dqdBx7441F3npQkSZK+TEFhCc/PXnXYsXlLtlpSSccRihxazVlH2Lkzj3D42N+erVvX0aJF+2pMVDvExcVQUuJC09UlPz+fSy4Zy003fZ+LLrok6DiVIhqvId8vapZmzeqzffu+L7+jdAxeQzpVXkM6VV5DNd+UmSt4c8EGANo0S2Xj9rKNf+7974E0SzuxjZmqgteQTtXJXEMxMSGaNDn60kLgmlRSrbVly2b++tc/8YMf3ERSUhLnnDM26EiSJElSnbBl536mf7gRgM5tGnL9Bf/eTGjB0qOvMSvJkkqqtUKhGJ5//ll27drJL395F0lJSUFHkiRJkmq9SCTCpOkrKA1HCAETRmfRtnkqrZumADB/iSWVdCyuSSXVUi1atGDq1BlBx5AkSZLqlE9W7uDzNbsAGNarFe1blK3T2r97Oi++s5qN2/ezcXsebZode8qTVFc5kkqSJEmSpEpQXFLKszNWAJCSFMclZ/9746IB3dPLbzuaSjo6SypJkiRJkirBmws2sH33AQAuHtqJ+vUSys81T0umU6sGQFlJ5R5m0pEsqU6RbyySvozvE5IkSbXfrr0HeHXuWgDaNEtheO9WR9zn0GiqHXsOsHrz3uqMJ0UFS6pTEBsbR3FxUdAxJNVwxcVFxMa6BKAkSVJt9tyslRQVhwEYPzqL2JgjP27379qcUKjs9jyn/ElHsKQ6BampaezevZ2iokJHSkg6QiQSoaiokN27t5OamhZ0HEmSJFWR5etzWbB0GwD9ujana/tGR71fw9REuh0898GybZSGw9WWUYoG/tP+KUhOLttCdM+eHZSWlgScJnrExMQQ9s1YpyCarqHY2Djq129U/n4hSZKk2qU0HGbitLLF0hPiYrhiROfj3n9At3SWrM1l7/4ilq3bTY+OjasjphQVLKlOUXJyih8+T1CzZvXZvn1f0DEUxbyGJEmSVFO888lmNm7PA+D8ge1p0jDpuPfv06UZz7y1nJLSCPOX5FhSSV/gdD9JkiRJkk5CXkEx/3xnNQBNGyZxXv92X/qYeknxnN6pCQALs7dRXFJapRmlaGJJJUmSJEnSSXjx3dXsP1C29MtVozJJiI+t0OPO6tECgILCUj5dtavK8knRxpJKkiRJkqQTtD5nH7M/3gRAjw6N6J3ZtMKPPSOjCYkJZYXW/CVbqySfFI0sqSRJkiRJOgGRSIRJ07KJRCA2JsTVo7MIhUIVfnxCfCxnZjYDYNGqnRQUuhGXBJZUkiRJkiSdkAVLt5G9cQ8Ao/q0oVXTE99Ma0D3dACKS8J8lL29UvNJ0cqSSpIkSZKkCiosKuW5WSsBaFAvnosGdzyp5+neoRGpyfEAzF+aU2n5pGhmSSVJkiRJUgW9Nm8tufsKAfjqsAzqJcWd1PPExcbQr2tzAJasyWVvflGlZZSilSWVJEmSJEkVsC03nzfmrwegY8v6DO7Z8pSe79CUv3AkwofLtp1yPinaWVJJkiRJklQBz85YSUlpBIDxY7KIOYHF0o+mc5uGNG6QCMC8JU75kyypJEmSJEn6Ep+t3sknK3cAMPj0FmS0anjKzxkTCtG/W9loqpUb97Bzz4FTfk4pmllSSZIkSZJ0HCWlYSZPXwFAUkIslw3LqLTnPuvglD+ABS6grjrOkkqSJEmSpOOY/uFGtu7KB+CiwR1pmJpYac/dtnkqLZvUA5zyJ1lSSZIkSZJ0DHvyCnllzhoAWjSux+i+bSr1+UOhUPkC6hu25bFpx/5KfX4pmlhSSZIkSZJ0DC+8vYoDRaUAjB+dSVxs5X+MHvCFKX/zHU2lOsySSpIkSZKko1i1aQ9zPtsKQO/MppzWqUmVvE56o3p0bFkfgAVLcohEIlXyOlJNZ0klSZIkSdJ/CEciTJyWDUBcbAxXjsqs0tcbcHCXv227C1izZV+VvpZUU1lSSZIkSZL0H+Z8uoW1W8vKovMGtKV5WnKVvl6/bumEDt52yp/qKksqSZIkSZK+IP9AMS+8vQqARvUTGXdWhyp/zUb1E+nSLg2ABUtzCIed8qe6x5JKkiRJkqQveGXOWvblFwNwxYjOJCbEVsvrntWjBQB79hexfH1utbymVJNYUkmSJEmSdNCmHfuZsXAjAFlt0+jfrXm1vXafLs2IjSmb9DfPKX+qgyypJEmSJEkCIpEIk6dnUxqOEArB+NGZhEKhL39gJUlJiuf0gzsILly+neKScLW9tlQTWFJJkiRJkgR8lL2DJWvLptkN792adun1qz3DgO5lu/zlF5awePXOan99KUiWVJIkSZKkOq+ouJQpM1cAkJIUxyVDOwWSo1fnpiTGl62BNX+pU/5Ut1hSSZIkSZLqvDcWrGfHngMAXHp2J1KT4wPJkZgQS+/MpgB8smIHB4pKAskhBcGSSpIkSZJUp+3cc4Cpc9cB0LZ5KsN6tQ40z6Epf0UlYT5esSPQLFJ1sqSSJEmSJNVpz81aSdHBRcrHj84kJqb6Fks/mh4dG5OSFAfAfHf5Ux1iSSVJkiRJqrOWrcvlg2XbgLIRTF3aNQo4EcTFxtCva3MAPl+zi335RQEnkqqHJZUkSZIkqU4qDYeZND0bgIT4GC4fnhFwon87NOWvNBzhw+XbA04jVQ9LKkmSJElSnTT7481s3L4fgAsGdqBxg6SAE/1bZts0GtVPBJzyp7rDkkqSJEmSVOfsyy/ixXdWA9AsLYlz+7cNONHhYkIh+ncrm/KXvWE3u/YeCDiRVPUsqSRJkiRJdc6L76wmv7AEgKtGZRIfFxtwoiOd1b1F+e0FS7cFmESqHpZUkiRJkqQ6Zd3Wfbz9yWYATuvYmF6dmwac6OjapaeS3rgeAPOWbA04jVT1LKkkSZIkSXVGJBJh4vRsIkBsTIirR2cSCoWCjnVUoVCIsw4uoL4+J48tO/cHnEiqWpZUkiRJkqQ6Y96SHFZu3APAmL5tadkkJeBEx3dolz9wAXXVfpZUkiRJkqQ6oaCwhOdmrQSgQUoCFw7uEGygCmjRuB7tW9QHykqqSCQScCKp6lhSSZIkSZLqhNfmrmNPXhEAlw/PIDkxLuBEFTOgW9loqpzcAtZu3RdwGqnqWFJJkiRJkmq9nF35vPXBegA6tWrAwNNafMkjao7+3ZpzaNUsp/ypNrOkkiRJkiTVes/OWEFJadlUuQljsoipoYulH03jBklktU0DYMHSHMJhp/ypdrKkkiRJkiTVap+u2sGiVTsBGNKzJR1bNgg40Ykb0KNsyt/uvCKyN+wONoxURSypJEmSJEm1VklpmMnTVwCQnBjLZcMyAk50cvp2aU5sTNnor3lO+VMtZUklSZIkSaq1pn2wgZzcAgC+MqQTDVISAk50clKT4zmtY2MAFi7fRklpOOBEUuWzpJIkSZIk1Uq5+wp55f21ALRsUo+RZ7YONtApGtC9bMrf/gMlLF69K+A0UuWzpJIkSZIk1UovzF5FYVEpAONHZxEXG90fgXtlNiUhruxrmL/UKX+qfaL7/1BJkiRJko5i5cY9zP18KwBnZjWjx8GpctEsKSGOXplNAfh4xfbyAk6qLSypJEmSJEm1SjgcYeL0bADiYmO4cmTngBNVnkNT/oqKw3y8cnvAaaTKZUklSZIkSapV3vtsC+u27gNg7IB2NEtLDjhR5Tm9UxNSkuIAWLBkW8BppMplSSVJkiRJqjX2HyjmhdmrAGjcIJHzB7YPOFHliouNoU+XZgB8tnoneQXFASeSKo8llSRJkiSp1nj53TXlxc2VIzNJjI8NOFHlG9C9BQCl4QgLlzuaSrWHJZUkSZIkqVbYuD2PmR9tAqBruzT6HhxxVNt0aZtGw9QEAOYvcZc/1R6WVJIkSZKkqBeJRJg8fQXhSIRQCMaPziIUCgUdq0rExIQY0K1sAfXl63eTu68w4ERS5bCkkiRJkiRFvYXLt7N0XS4AI3u3oU3z1IATVa1Du/xFgAVLHU2l2sGSSpIkSZIU1QqLS5kycwUAqcnxfGVox4ATVb0OLerTvFHZroVO+VNtYUklSZIkSYpqr89bx869ZVPeLh3WidTk+IATVb1Q6N9T/tZu3UfOrvyAE0mnzpJKkiRJkhS1duwu4PX56wFol57K2T1bBZyo+hya8geOplLtYEklSZIkSYpaU2atpLgkDMCEMVnExNTOxdKPplXTFNodXHtr3pIcIpFIwImkU2NJJUmSJEmKSkvW7mLh8u0AnNUjncw2acEGCsCAHmWjqbbuymd9Tl7AaaRTY0klSZIkSYo6JaVhJk8vWyw9MT6Wy4d3DjhRMPp3dcqfag9LKkmSJElS1Jn18SY27dgPwAWD2tOofmLAiYLRpGESWW0aAjB/aQ5hp/wpillSSZIkSZKiyt78Il56dw0AzRslc06/dgEnCtahBdRz9xWyYsPuYMNIp8CSSpIkSZIUVf759ioKCksAuHpUJvFxdfujbd+uzYk9uGD8/KXbAk4jnby6/X+yJEmSJCmqrNmyl3cXbQGgZ0YTzujcNOBEwatfL4HuHRoD8OGybZSUhgNOJJ0cSypJkiRJUlQIRyJMmp5NBIiNCXHVqMygI9UYZx2c8pdXUMyStbsCTiOdHEsqSZIkSVJUmPf5VlZt2gvAOf3a0qJxvYAT1Ry9MpuWT3uc5y5/ilKWVJIkSZKkGq+gsITnZ60CoGFKAhcM6hBsoBomOTGOXgenPn6cvYPC4tKAE0knzpJKkiRJklTjvfr+WvbsLwLg8hEZJCfGBZyo5jm0y19hcSmLVu4IOI104iypJEmSJEk12pad+3nrgw0AZLRuwMAeLQJOVDOd3qlJeXk33yl/ikKWVJIkSZKkGisSiTB5xgpKwxFCwIQxWYRCoaBj1UjxcTH06dIMgE9X7WT/geKAE0knxpJKkiRJklRjLVq1k8Wry3arG3pGKzq0aBBwoprt0C5/peEIC5dvDziNdGIsqSRJkiRJNVJxSZhnp68AyhYGv3RYp4AT1Xxd2zWiYUoC4JQ/RR9LKkmSJElSjfTWB+vZtrsAgIuHdqRBvYSAE9V8MTEh+nVrDsCydbnszisMOJFUcZZUkiRJkqQaJ3dfIa++vw6A1k1TGNG7dcCJosehXf4iwIKl24INI50ASypJkiRJUo3z/KyVFBaXAjB+dCZxsX58rahOLRvQLC0JcMqfoov/l0uSJEmSapTsDbuZd7Bc6dulGd06NA44UXQJhULlo6nWbNlLTm5+wImkirGkkiRJkiTVGOFwhEnTsgGIj4vhipGdA04UnQZ0b1F+e4GjqRQlLKkkSZIkSTXGO4s2s35bHgDnn9Wepg2TA04UnVo3TaFNs1QA5i3JIRKJBJxI+nKWVJIkSZKkGiGvoJh/vrMagCYNkhg7oF3AiaLbgO5lu/xt2ZnPhoPFn1STWVJJkiRJkmqEl99dQ15BMQBXjuxMQnxswImi24Bu6eW35y91yp9qPksqSZIkSVLgNm7LY+bHGwHo1r4Rfbo0CzhR9Gualkzn1g2BsnWpwk75Uw1nSSVJkiRJClQkEmHitGwiEYgJhRg/OpNQKBR0rFrh0C5/O/cWsmrTnoDTSMdnSSVJkiRJCtQHy7axfMNuAEb2aU3rgwt+69T169qcmIOF3zx3+VMNZ0klSZIkSQpMYVEpz81aCUBqcjwXD+kYcKLapUFKAt07NALgw2XbKCkNB5xIOjZLKkmSJElSYKbOW8euvYUAXDY8g3pJ8QEnqn0OTfnbl1/M0nW5AaeRjs2SSpIkSZIUiO27C3h9/noA2reoz5DTWwacqHY6M6sZcbFlH//nO+VPNZgllSRJkiQpEFNmriyffjZhdBYxMS6WXhWSE+M4o3MTABZmb6eouDTgRNLRWVJJkiRJkqrd52t28VH2dgAG9mhB5zYNA05Uu511cMpfYVEpn67aGXAa6egsqSRJkiRJ1aqkNMyk6dkAJCbEcvmIjIAT1X49M5qQnBgLuMufai5LKkmSJElStZq5cCNbduYDcNHgDqSlJgacqPaLj4vlzKxmAHy6aid5BcUBJ5KOZEklSZIkSao2e/YX8fKcNQCkN67HmL5tA05Udxza5a+kNMy8zzYHnEY6kiWVJEmSJKna/OPtVRQUli3cffWozPJd51T1urVvRIN68QC8/fGmgNNIR/LdQJIkSZJULVZv3st7n24B4IyMJvTMaBJworolNiaGfl3LRlN9umI7e/IKA04kHc6SSpIkSZJU5cKRCBOnlS2WHhcb4qrRmQEnqpsG9CgrqcIR+GDZtoDTSIezpJIkSZIkVbn3P9vKmi17ATi3fzvSG9ULOFHdlNGqAU0bJgEw313+VMNYUkmSJEmSqlT+gRJeeHsVAGmpCYwb2D7gRHVXKBQqX0B91ea9bNtdEHAi6d8sqSRJkiRJVepf769h7/4iAK4Y0ZmkhLiAE9VtA7qll99e4Ggq1SCWVJIkSZKkKrNl536mf7gRgM5tGpaP4lFw2jRPpX2L+gDMX2pJpZrDkkqSJEmSVCUikQiTpq+gNBwhBEwYnUUoFAo6loCze7cBYNP2/WzclhdwGqmMJZUkSZIkqUp8smIHn6/ZBcCwXq3KR+8oeGf3bl1+29FUqiksqSRJkiRJla64pJTJM1YAkJIUxyVndwo4kb6oRZMUMlo1AMp2+YtEIgEnkiypJEmSJElV4I0FG9ix5wAAFw/tRP16CQEn0n86tD7Yjj0HWLV5b8BpJEsqSZIkSVIl27X3AK/NXQtAm2YpDO/dKthAOqp+3dI5tETY/M+d8qfgWVJJkiRJkirVc7NWUlQcBmD86CxiY/zoWRM1TEmge/tGAHywLIfScDjgRKrrfKeQJEmSJFWa5etzWbB0GwD9ujan68ESRDVT/4NT/vbmF7N0XW7AaVTXWVJJkiRJkipFaTjMxGlli6UnxMVwxYjOASfSl+mT1Zy42LJqYP4Sp/wpWJZUkiRJkqRK8fYnm9m4PQ+A8we2p0nDpIAT6cvUS4qjZ0YTAD7K3k5xSWnAiVSXWVJJkiRJkk5ZXkExL76zGoCmDZMYO6BdwIlUUWcdnPJXUFjKp6t2BpxGdZkllSRJkiTplL34zmr2HygB4KpRmcTHxQacSBXVM6MJSQllP695TvlTgCypJEmSJEmnZH3OPmZ/sgmAHh0a0TuzacCJdCIS4mM5M6sZAItW7qSgsCTgRKqrLKkkSZIkSSctEokwaVo2kQjExoS4enQWoVAo6Fg6QQMOTvkrKQ3zUfb2gNOorrKkkiRJkiSdtAVLt5G9cQ8Ao/q0oVXTlIAT6WR0a9+I+vXiAXf5U3AsqSRJkiRJJ+VAUQnPzVoJQIN68Vw0uGPAiXSy4mJj6Nu1OQBL1uayd39RwIlUF1lSSZIkSZJOymtz15G7rxCArw7LoF5SXMCJdCoGdCub8heORPhg2baA06gusqSSJEmSJJ2wbbn5vLlgPQAdW9ZncM+WASfSqercpiFNGiQCMH+pU/5U/SypJEmSJEkn7NkZKykpjQAwfkwWMS6WHvViQiH6HxxNtXLjHnbsKQg4keoaSypJkiRJ0gn5bPVOPlm5A4DBp7cgo1XDgBOpshza5Q/KFsWXqpMllSRJkiSpwkpKw0yevgKApIRYLhuWEXAiVaa2zVNp2aQeAPM+d8qfqpcllSRJkiSpwqZ/uJGtu/IBuGhwRxqmJgacSJUpFApx1sHRVBu357Fpe17AiVSXWFJJkiRJkipkd14hL89ZA0CLxvUY3bdNwIlUFfp/YcqfC6irOllSSZIkSZIq5B+zV1FYVArA+DGZxMX6kbI2Sm9Uj44tGwAwf0kOkUgk4ESqK3xHkSRJkiR9qVWb9jBn8VYAemc25bSOTQJOpKp0aAH17bsPsHrL3oDTqK6wpJIkSZIkHVc4EmHitGwA4mJjuHJUZsCJVNX6d2tO6ODt+Uuc8qfqYUklSZIkSTquOZ9uYe3WfQCcN6AtzdOSA06kqpaWmkjX9o0A+GDpNsJhp/yp6llSSZIkSZKOKf9AMS+8vQqARvUTGXdWh2ADqdocmvK3Z38Ry9bnBpxGdYEllSRJkiTpmF5+by378osBuGJEZxITYgNOpOrSp0szYmPKJv3Nc8qfqoEllSRJkiTpqDbt2M+MhRsByGqbRv9uzQNOpOqUkhRPz4yyBfIXLt9OcUk44ESq7SypJEmSJElHiEQiTJqWTTgSIRSC8aMzCYVCX/5A1SqHpvwVFJbw2eqdAadRbWdJJUmSJEk6wkfZO1i6rmwdouG9W9MuvX7AiRSEMzo3JTG+bIqnu/ypqllSSZIkSZIOU1RcypSZKwBISYrjkqGdAk6koCTGx9I7qykAn6zcQUFhScCJVJtZUkmSJEmSDvPGgvXs2HMAgEvP7kRqcnzAiRSksw5O+SsuCfPJih0Bp1FtZkklSZIkSSq3Y08BU+euA6Bt81SG9WodcCIFrXuHxuVFpbv8qSpZUkmSJEmSyj03axVFB3dxmzAmi5gYF0uv6+JiY+jbtWxnx8/X7GJvflHAiVRbWVJJkiRJkgBYui6XD5dtA8p2dctqmxZsINUYA7qVlVThSISFB68RqbJZUkmSJEmSKA2HmTQ9G4CE+BguH54RcCLVJJlt02hUPxFwlz9VHUsqSZIkSRKzP97Mpu37AbhgYAcaN0gKOJFqkphQiAHdyhZQz964h50HF9aXKpMllSRJkiTVcfvyi3jxndUANEtL4tz+bQNOpJpowMFd/gAWLHM0lSqfJZUkSZIk1XH/fGc1+YUlAFw1KpP4uNiAE6kmapeeSovG9QCY/7kllSqfJZUkSZIk1WHrtu7jnU82A3Bap8b06tw04ESqqUKhEGcdHE21flsem3fsDziRahtLKkmSJEmqoyKRCBOnZRMBYmNCXD0qk1AoFHQs1WBfnPLnAuqqbJZUkiRJklRHzVuSw8pNewAY07ctLZukBJxINV1643p0aFEfgPlLc4hEIgEnUm1iSSVJkiRJdVBBYQnPzVoJQIOUBC4c3CHYQIoah0ZTbcstYO3WfQGnUW1iSSVJkiRJddBrc9exJ68IgMuHZ5CcGBdwIkWL/t3SOTQp1Cl/qkyWVJIkSZJUx+TsyufNBesByGjVgIGntQg4kaJJo/qJdGmXBsCCpTmEw075U+WwpJIkSZKkOmbyjBWUhiOEgPFjsohxsXSdoENT/nbnFbF8w+5gw6jWsKSSJEmSpDpk0codfLpqJwBDerakY8sGASdSNOrTpTmxMWXlplP+VFksqSRJkiSpjiguCfPsjBUAJCfG8tVhGQEnUrRKTY7ntI6NAVi4fBslpeGAE6k2sKSSJEmSpDpi+ocbyMktAOArQzrRICUh4ESKZgN6lE3523+ghMWrdwWcRrWBJZUkSZIk1QG5+wp55f21ALRsUo+RZ7YONpCiXu/OzUiIL6sV5i3ZGnAa1QaWVJIkSZJUB7wweyWFRaUAjB+dRVysHwd1ahITYumd2QyAT1bu4EBRScCJFO18V5IkSZKkWm7Fxt3M/bxsceszs5rR4+BaQtKpGtCtbMpfUXGYT1bsCDiNop0llSRJkiTVYuFwhEnTyhZLj4+L4aqRnQNOpNrktE6NSUmKA9zlT6fOkkqSJEmSarF3P93Mupx9AIwd0I6mackBJ1JtEhcbQ58uzQFYvGYXeQXFASdSNLOkkiRJkqRaav+BYv7x9moAGjdIZOxZ7QNOpNrorO5lU/5KwxE+XL4t4DSKZpZUkiRJklRLvfzumvKRLVeOzCQxPjbgRKqNstqmkZaaAMD8z53yp5NnSSVJkiRJtdDG7XnM/GgTAF3bpdG3S7OAE6m2iokJ0f/gAurZG3aza++BgBMpWllSSZIkSVItE4lEmDQtm3AkQkwoxPjRWYRCoaBjqRYbcHDKXwRYsNQpfzo5llSSJEmSVMssXL6dZet3AzDizNa0aZ4abCDVeh1a1Ce9Udmi/POXOuVPJ8eSSpIkSZJqkcLiUqbMXAFAanI8Fw/tGHAi1QWhUKh8NNW6rfvYuis/4ESKRpZUkiRJklSLvD5vHTv3FgJw6bBOpCTFB5xIdcWhkgpg/hJHU+nEWVJJkiRJUi2xY3cBr89fD0C79FTO7tkq4ESqS1o2SaFdetnU0nlLcohEIgEnUrSxpJIkSZKkWmLKrJUUl4QBmDAmi5gYF0tX9TqrewsAcnblsz4nL+A0ijaWVJIkSZJUCyxZu4uFy7cDcFaPdDLbpAUbSHVS/27Ny2/PW7I1wCSKRpZUkiRJkhTlSkrDTJpetlh6Ynwslw/vHHAi1VWNGySR1TYNgAVLtxF2yp9OgCWVJEmSJEW5WR9tYvOO/QBcOLgDjeonBpxIddmhBdRz9xWyYsPuYMMoqlhSSZIkSVIU27u/iJfeWwNA80bJjOnbNuBEquv6dmlG7MH10NzlTyfCkkqSJEmSotg/31lFQWEJAFePyiQ+zo95Clb9egn06NgYgA+WbaOkNBxwIkUL370kSZIkKUqt2bKXdxdtAaBnRhPO6Nw04ERSmUNT/vYfKOHzNbsCTqNoYUklSZIkSVEoHIkwaVo2ESA2JsRVozKDjiSV653ZlISDo/qc8qeKsqSSJEmSpCg0d/FWVm3eC8A5/dvSonG9gBNJ/5aUEEevzLKRfR+v2EFhUWnAiRQNLKkkSZIkKcrkHyjmhdmrAGiYmsAFAzsEG0g6igHdyqb8FRaX8snKHQGnUTSwpJIkSZKkKDNlWjZ79hcBcMXwziQnxgWcSDrSaZ2aUO/gtemUP1WEJZUkSZIkRZEtO/fzyrtlo6gyWjfgrB7pASeSji4+LoY+XZoB8NnqneQVFAecSDWdJZUkSZIkRYlIJMLkGSsoKY0QAiaMySIUCgUdSzqmsw7u8lcajvBR9vaA06imO+GSqqCgoPx2bm4uEydOZPLkyezevbsyc0mSJEmS/sOilTtZvHoXAEPPaEWHFg0CTiQdX5d2jWiYmgDAvM+3BpxGNV2FJy7v3buXH/zgB+zdu5fnn3+evLw8vvrVr7JlyxYikQj/93//x6RJk2jbtm1V5pUkSZKkOqm4pJTJM7IBSEmO59JhnQJOJH25mJgQ/bumM+3DDSxfv5vcfYU0qp8YdCzVUBUeSfXggw8yf/58hg4dCsALL7zA5s2bufXWW/nb3/5GTEwMDz74YFXllCRJkqQ67a0PNrB99wEAJpzblQb1EgJOJFXMgINT/iLAB8u2BRtGNVqFS6qZM2fyta99jZtvvhmA6dOn06RJE6699lr69+/PhAkTeP/996ssqCRJkiTVVbv2HuBf768FoHXTFM4f1CHQPNKJ6NiyPs3TkgGYv8Qpfzq2CpdUO3fuJDMzE4B9+/bxySefMHjw4PLzjRo1Omy9KkmSJElS5Xhh9iqKisMAjB+dSWyse2ApeoRCIfofHE21Zss+cnLzA06kmqrC72zp6els2LABKBtFVVpayvDhw8vPf/TRR7Rs2bLSA0qSJElSXZa9YTfzluQA0LdLM7p1aBxwIunEHZryBzD/4PUs/acKL5w+YsQInn76afLy8njttddo2LAhI0eOJCcnhz/96U+8/PLL3HjjjVWZVZIkSZLqlHA4wqRpZYulJ8TFcMXIzgEnkk5O66YptG2eyoZtecxfksOFgzoQCoWCjqUapsIjqW699VbGjRvHCy+8QIMGDXjggQdISkoiJyeHiRMncuGFF3LDDTdUZVZJkiRJqlPeXrSZ9dvyADj/rPY0bZgccCLp5B0aTbVlZz4bDl7X0hdVeCTVunXr+M1vfsNvf/vbw4537dqVt99+m+bNm1d6OEmSJEmqq/IKivnn26sAaNIgifMGtAs4kXRq+ndrzguzy67p+UtyaJdeP+BEqmkqPJLqG9/4Br///e+POJ6QkGBBJUmSJEmV7KV3V7P/QAkAV43qTEJ8bMCJpFPTtGEynds0BGD+0hzCkUjAiVTTVLikys/Pp02bNlWZRZIkSZIEbNiWx6yPNwHQrX0jzsxqFnAiqXKcdXDK3669hazcuCfgNKppKlxSff3rX+evf/0rn332WVXmkSRJkqQ6LRIpWyw9EoGYUIjxozNdYFq1Rt+uzYk5eD27y5/+U4XXpFq8eDHbtm3jiiuuICkpibS0NGJiDu+4QqEQ06dPr/SQkiRJklRXfLBsG8s37AZgZJ/WtG6WGmwgqRI1qJdA946NWLx6Fx8s28bVozOJi63w+BnVchUuqQoLCznttNOqMoskSZIk1WmFRaVMmbkSgPr14rl4SMeAE0mVb0C3dBav3kVeQTFL1ubSM6NJ0JFUQ1S4pHrmmWeqMockSZIk1XmvzVtH7r5CAL46LIN6SfEBJ5Iq35lZzfjbm8spLgkzf0mOJZXKVeqYuiVLllTm00mSJElSnbFtdwFvzF8PQIcW9RnSs2XAiaSqkZwYxxkHi6mPVmynsLg04ESqKSo8kqqoqIiHH36Yd999l/z8fMLhcPm50tJS9u/fT15eHkuXLq2SoJIkSZJUm02ZsYKS0rLPWePHZJUvLi3VRgO6t+DD5dspLCrl01U76de1edCRVANUeCTVQw89xJNPPsmePXtITk5m06ZNtGzZkri4OLZu3UpxcTE///nPqzKrJEmSJNVKi9fs5OMVOwAYdFoLOrduGHAiqWr1zGhMcmIsAPM+3xpwGtUUFS6p3njjDfr378/MmTP505/+BMAvfvEL3nzzTR5//HFKSkqIj3e+tCRJkiSdiJLSMJOnrwAgMSGWy4ZnBJxIqnrxcbH0ySobPfXZ6p3kHygOOJFqggqXVDk5OZxzzjnExMSQnp5OkyZN+PjjjwEYNmwYl1xyCc8991yVBZUkSZKk2mjGwo1s2ZkPwEWDO5CWmhhwIql6DOieDkBJaYSFy7cHnEY1QYVLqqSkpMNGSrVr147s7OzyP/fs2ZMNGzZUbjpJkiRJqsX25BXy8ntrAEhvXI8xfdsGnEiqPl3bp9EgJQGA+UtzAk6jmqDCJVW3bt145513yv/cqVOn8pFUUDbSKuTCfpIkSZJUYf94ezUHisp2Nhs/OpO42ErdgF2q0WJjYsoXTF+6Lpc9eYUBJ1LQKvwOOH78eGbMmMH48ePJy8tj3LhxLFmyhNtuu40//elPPPXUU5x++ulVmVWSJEmSao3Vm/fy3mdbAOjVuSmnd2oScCKp+h2a8heJwKJVOwNOo6DFVfSOY8eOJS8vj7/+9a8kJyczaNAgJkyYwMSJEwFo1aoVP/3pT6ssqCRJkiTVFuFIhInTypZPiYsNceWozgEnkoLRqkm98tuHRhWq7qpwSQVw+eWXc/nll5f/+Y477uC6665jz549ZGRkkJCQUOkBJUmSJKm2ef+zrazZsheAc/u3I71RvS95hCTVfhWe7nfNNdcwd+7cI463atWKbt268d577zFu3LhKDSdJkiRJtU3+gRJemL0SgEb1Exk3sH3AiSSpZjjmSKqCggJyc3PL/7xgwQLGjBlD+/ZHvoGGw2HeeecdNm7cWDUpJUmSJKmWeGXOGvbmFwNw+YgMkhJOaIKLJNVaxy2pLr74Yvbt2wdAKBTi7rvv5u677z7q/SORCIMHD66alJIkSZJUC2zesZ8ZC8v+cT+zTUMGdEsPOJEk1RzHLKkaN27M//7v//LZZ58RiUT44x//yJgxY+jSpcsR942JiaFx48ZO95MkSZKkY4hEIkyesYLScIRQCCaMySIUCgUdS5JqjOOOKx02bBjDhg0DYPPmzVx11VWcccYZ1RJMkiRJkmqTT1bs4PM1uwAY1qs17dLrB5xIkmqWCk9+vueee456fMWKFcTExJCRkVFpoSRJkiSpNikuKWXyjBUApCTFccnQjgEnkqSap8K7+wE88cQT3HbbbUDZYuk33HADF110ERdccAHXXXcd+/fvr5KQkiRJkhTN3pi/nh17DgBw8dBO1K+XEHAiSap5KlxSPfnkk9x///3s2LEDgNdff5133nmHc845h5tuuokPP/yQP/7xj1UWVJIkSZKi0a69B3ht7joA2jRLZXjvVgEnkqSaqcLT/V588UXGjBnDI488AsDUqVNJTk7m3nvvJSkpif379/PGG2/w4x//uMrCSpIkSVK0eW7WSopKwgBMGJNJbMwJTWiRpDqjwu+OGzZs4OyzzwaguLiYuXPn0r9/f5KSkgDIyMgoH2UlSZIkSYLl63NZsHQbAP27NadLu0YBJ5KkmqvCJVWDBg3Iy8sDYP78+eTn55eXVgDr16+nadOmlZ9QkiRJkqJQaTjMxGlli6UnxMVwxYjOASeSpJqtwtP9evfuzd///ndat27NY489RlxcHOeccw7FxcXMmjWLyZMnM3r06KrMKkmSJElR4+1PNrNxe9k/9I8b2J7GDZICTiRJNVuFR1L97Gc/IzExkZtvvpmlS5fyox/9iGbNmvHRRx9x880306xZM773ve9VZVZJkiRJigr78ot48Z3VADRtmMR5A9oFnEiSar4Kj6Rq2bIlr7zyCkuWLCE9PZ309HQAunbtyv3338+IESNITk6usqCSJEmSFC1efHcN+w+UAHD1qEzi42IDTiRJNV+FSyqAuLg4evbsedixhg0bcv7551dqKEmSJEmKVuu27uPtjzcB0KNjY3plunavJFWEe59KkiRJUiWJRCJMmp5NBIiNCXH1qExCoVDQsSQpKlhSSZIkSVIlmb80hxUb9wAwqk8bWjVNCTiRJEUPSypJkiRJqgQHikp4ftYqABrUi+eiwR0DTiRJ0eWYJdXs2bPZsWNHdWaRJEmSpKj12tx15O4rBOCrwzOol3RCSwBLUp13zJLqlltuYfbs2eV/vuaaa5g7d251ZJIkSZKkqJKTm8+bC9YD0LFlAwaf3jLgRFIUikSCTqCAHbOkikQiLFy4kIKCAgAWLFjAzp07qy2YJEmSJEWLKTNWUlJa9gF7wpgsYlwsXZJO2DHHn55zzjm8+OKLvPTSS+XHbr31Vm699dZjPlkoFGLJkiWVGlCSJEmSarJPV+3kk5VlS6UMOb0lnVo1CDiRFE0sdPVvxyyp7rzzTnr06EF2djZFRUW8/PLL9OnTh7Zt21ZnPkmSJEmqsUpKw0yesQKA5MRYvjo8I+BEkhS9jllSJSQk8LWvfa38zy+99BJXXnklF154YbUEkyRJkqSabvqHG8nZlQ/ARYM70jAlIeBEkhS9KrzdxLJly8pv79ixg82bNxMfH096ejqNGzeuknCSJEmSVFPtzivk5TlrAGjZpB6j+rQJOJEkRbcT2hN18eLF/PrXv+azzz477PgZZ5zBz3/+c04//fRKDSdJkiRJNdULs1dRWFQKwNWjM4mLPea+VJKkCqhwSbV8+XL+67/+C4ArrriCjIwMwuEwq1ev5l//+hfXXHMNzz33HJmZmVUWVpIkSZJqgpWb9vD+4q0A9M5symkdmwScSJKiX4VLqgcffJCUlBSmTJlC69atDzt34403ctlll/GHP/yBhx56qNJDSpIkSVJNEY5EmDgtG4C42BiuHOU/1EtSZajweNQPP/yQ8ePHH1FQAbRo0YKrr76a+fPnV2q4ylJUVMQ3v/lNZs2aFXQUSZIkSVHuvU+3sG7rPgDOG9CO5mnJASeSpNqhwiVVUVERKSkpxzyfmprKgQMHKiVUZVq2bBkTJkzgo48+CjqKJEmSpCiXf6CYf7y9CoBG9RMZd1b7gBNJUu1R4ZKqW7duvPrqq5SUlBxxrri4mH/9619kZWVVarjKMHnyZG688UZ69uwZdBRJkiRJUe7l99ayL78YgCtHdiYxITbgRJJUe1S4pLr++uv57LPP+NrXvsabb77J8uXLWb58Oa+//jpf+9rX+Pzzz7n22murMutRvfTSS3Tv3v2I//btKxt+e+eddzJixIhqzyVJkiSpdtm0PY8ZCzcC0KVtGv26Ng84kSTVLhVeOH306NHccccd3HfffXz/+98vPx6JREhMTOQnP/kJ5513XlVkPK6LL76Yiy++uNpfV5IkSVLdEYlEmDR9BeFIhFAIxo/JIhQKBR1LkmqVCpdUABMmTGDcuHHMnTuXjRs3EolEaNOmDYMGDSItLa2KIkqSJElSsD7K3s7SdbkAjOjdmrbNUwNOJEm1zwmVVABpaWmMHTu2KrJIkiRJUo1TVFzKszNWApCSFMfFQzsFnEiSaqcKr0lV1ZYuXUqPHj3YunXrEedeffVVxo0bR8+ePRk7diwvvfRS9QeUJEmSVCe9MX89O/eW7WR+6bAMUpPjA04kSbXTCY+kqgqrVq3i29/+9lF3Dpw6dSq33HILX//61xkyZAjTp0/nJz/5CUlJSSe0BtYzzzxTmZElSZIk1QE79hTw2rx1ALRtnsqwM1oFnEiSaq9AS6qSkhKmTJnC73//e+Ljj/6vEQ888ABjx47ltttuA2Do0KHs2bOHhx56qMoXam/SxHnmVaVZs/pBR1CU8xrSqfIa0qnyGtKp8hqKDn+euozikjAAN13ei/T0BgEn+jevIZ2qmnAN7S8oLr+dkppUIzKp4ir751XhkiocDhMTU7mzAxcuXMh9993HddddR3p6Orfffvth5zds2MD69ev54Q9/eNjxc889l9dff50NGzbQtm3bSs30RTt35hEOR6rs+euqZs3qs337vqBjKIp5DelUeQ3pVHkN6VR5DUWHpWt3MefTzQAM6J5O8/oJNebn5jWkU1VTrqH8A/+eUbU/70CNyKSKOZlrKCYmdNwBQRVunb7yla/w9NNPn9CLf5mMjAymT5/Od7/7XWJjY484v3r1agA6dux42PH27dsDsGbNmkrNI0mSJEkApeEwk6avACAxPpYrRnQOOJEk1X4VHkm1du1akpOTK/XFmzZtetzz+/aVNXKpqYe3bCkpKQDk5eVVah5JkiRJApj10SY27dgPwAWD2tOofmLAiSSp9qvwSKohQ4bw1ltvUVRUVJV5DhOJHH+qXWVPP5QkSZKkvflFvPRu2ayN5mnJnNOv6pYYkST9W4VHUnXt2pWnn36aoUOHcvrpp9OkSZMjSqJQKMTdd99daeHq1y9bgGv//v2HHT80gurQeUmSJEmqLC++s5r8wrJ1cq4alUl83JFLk0iqfK4IrQqXVI8++mj57ffee++o96nskurQWlTr16+nS5cu5cfXrVt32HlJkiRJqgxrt+7lnU/KFks/rVNjzujcJOBEUu0WCgWdQDVJhUuqZcuWVWWOo2rfvj1t2rThjTfeYMyYMeXH33rrLTp06ECrVq2qPZMkSZKk2ikSiTBxWjYRIDYmxNWjMgn5CVqSqk2FS6ovCofD7Nq1iwYNGpCQkFDZmQ5z0003cdttt9GwYUOGDx/OjBkzeP3113nggQeq9HUlSZIk1S3zPs9h1aa9AIzp15aWTVICTiRJdcsJlVTr1q3jvvvu47333uPAgQP85S9/AeD+++/nJz/5CX379q30gJdeeilFRUX85S9/4fnnn6dt27bce++9nH/++ZX+WpIkSZLqpoLCEp6bvRKAhikJXDioQ7CBJKkOqnBJtXbtWq644gpCoRBDhw5l2rRpAMTGxrJ69WquvfZa/va3v9GrV6+TCnLppZdy6aWXHvXcVVddxVVXXXVSzytJkiRJX+bVuWvZk1e2k/llwzNITjypSSeSpFMQ8+V3KXP//feTlJTE1KlT+dWvfkUkUrbufv/+/Zk6dSpNmzblD3/4Q5UFlSRJkqSqkLMrn7cWbAAgo1UDBp7WIuBEklQ3VbikmjdvHldffTVNmjQ5YvHA9PR0xo8fz+LFiys9oCRJkiRVpckzVlAajhACxo/JIsbF0iUpEBUuqYqKimjQoMExz8fHx1NYWFgpoSRJkiSpOixauYNPV+0EYEjPlnRseezPPJKkqlXhkqpr167MnDnzqOdKSkp45ZVX6NKlS6UFkyRJkqSqVFwSZvKMFQAkJ8bx1WEZASeSpLqtwiXVt7/9bd5//31uueUW5s2bB8CmTZuYMWMG11xzDUuWLOGb3/xmlQWVJEmSpMo07cMNbMstAODiIR1pkJIQcCJJqtsqvGXFiBEjuOuuu7j77rt57bXXALjjjjuIRCIkJibyk5/8hHPPPbfKgkqSJElSZcndV8i/5qwFoFXTFEac2TrYQJKkipdUAJdeeinnnHMOc+bMYcOGDYTDYVq3bs2gQYNo1KhRVWWUJEmSpEr1wuyVFBaXAnD16EziYis8yUSSVEVOqKQCSE1N5ZxzzmHXrl3ExMRYTkmSJEmKKis27mbu5zkA9MlqRo8OjQNOJEmCEyypVq1axUMPPcR7771HQUHZ3O369eszatQovve979GiRYsqCSlJkiRJlSEcjjBxWjYA8XExXDmyc8CJJEmHVLik+uyzz7jmmmsoLi7m7LPPpl27dkQiEdasWcMrr7zCO++8w+TJk2nXrl1V5pUkSZKkk/bOp5tZn5MHwNgB7WialhxwIknSIRUuqe677z5SU1OZOHHiEUVUdnY211xzDffeey9//OMfKz2kJEmSJJ2q/QeK+efbqwFo0iCRsWe1DziRJOmLKrw64KJFi7jmmmuOOlIqKyuLa665hrlz51ZqOEmSJEmqLC+9u4a8gmIArhyZSWJ8bMCJJElfVOGSqkGDBpSWlh7zfEpKCklJSZUSSpIkSZIq08Ztecz6aBMAXdul0adLs4ATSZL+U4VLqgkTJvDUU0+xcuXKI87l5OTwzDPPcMUVV1RqOEmSJEk6VZFIhEnTswlHIsSEQowfnUUoFAo6liTpPxxzTarbbrvtiGOFhYVcfPHFDB06lI4dOxIKhdi0aRPvvPMOiYmJVRpUkiRJkk7Gh8u3s2z9bgBGnNmaNs1Tgw0kSTqqY5ZUL7744jEfNGvWLGbNmnXYsfz8fB5//HG+//3vV1o4SZIkSToVhcWlTJm5AoDU5HguHtox4ESSpGM5Zkm1bNmy6swhSZIkSZXu9Xnr2LW3EICvDutESlJ8wIkkHUskEnQCBa3Ca1JJkiRJUjTZvruAqfPWA9A+vT5De7YKOJEk6XiOOZLqaF566SXmzJnD9u3bCYfDR5wPhUI8/fTTlRZOkiRJkk7WczNXUlJa9rll/JhMYmJcLF2SarIKl1QPPPAAjz/+OPHx8TRp0oSYGAdhSZIkSaqZPl+7i4XZ2wEY2COdzDZpwQaSJH2pCpdUL774IkOGDOGRRx4hOTm5KjNJkiRJ0kkrKQ0zaVo2AIkJsVw2vHPAiSRJFVHh4VB5eXmce+65FlSSJEmSarSZH21iy858AC4a1IFG9RMDTiRJqogKl1RDhw5l3rx5VZlFkiRJkk7J3v1FvPzeagDSGyUzum/bgBNJkiqqwtP97rjjDr75zW/yox/9iNGjR9OkSRNCoSMXHuzXr1+lBpQkSZKkivrH26soKCwF4OrRmcTHuZauJEWLCpdUmzdvZt++fbz22mtMnTr1iPORSIRQKMTSpUsrNaAkSZIkVcSaLXt579MtAPTMaELPjKYBJ5IknYgKl1S//vWv2bt3L9dddx0dOnQgLq7CD5UkSZKkKhWORJg0LZsIEBsT4upRmUFHkiSdoAo3TStWrOC73/0u3/rWt6oyjyRJkiSdsLmLt7Jq814AzunflvTG9QJOJEk6URWeoN2iRQtiYpzPLUmSJKlmKSgs4fnZqwBIS03gwkEdgg0kSTopFW6drr/+ep5++mlWrlxZlXkkSZIk6YT8a85a9u4vAuDyEZ1JSnBpEkmKRhV+9162bBmhUIiLLrqItm3b0rRpU2JjYw+7TygU4umnn670kJIkSZJ0NFt27mfahxsA6Ny6IWd1Tw84kSTpZFW4pJo1axaxsbG0aNGC4uJitmzZUpW5JEmSJOm4IpEIk6evoDQcIQRMGJNFKBQKOpYk6SRVuKSaOXNmVeaQJEmSpBOyaOVOFq/ZBcDZvVrRvkX9gBNJkk6FK6FLkiRJijrFJaVMnpENQL3EOC45u1PAiSRJp6rCI6muueaaCt3vb3/720mHkSRJkqSKeHPBBrbvPgDAJWd3okG9hIATSZJOVYVLqo0bNx5xLBwOk5ubS2FhIa1btyYzM7NSw0mSJEnSf9q19wCvzl0LQOtmKQzv3SrYQJKkSnHKa1KVlpYyY8YMbr/9dq677rpKCyZJkiRJR/P87FUUFYcBGD86i9gYVzGRpNrglN/NY2NjOeecc7j88su57777KiOTJEmSJB1V9obdzF+SA0Dfrs3p1r5RwIkkSZWl0v7JoUOHDixbtqyynk6SJEmSDhMOR5g4rWyx9IS4GK4YkRFwIklSZaqUkqqoqIhXXnmFJk2aVMbTSZIkSdIR3l60mQ3b8gA4/6z2NG2YHHAiSVJlOuXd/YqKilizZg179+7lf/7nfyotmCRJkiQdkldQzD/fXgVA04ZJnDegXcCJJFWGUCjoBKpJTml3Pyhbk6pTp05ccMEFjB8/vtKCSZIkSdIhL767mv0HSgC4cmQmCfGxASeSJFW2U97dT5IkSZKq0vqcfcz+eBMA3Ts04syspgEnkiRVBfdqlSRJklRjRSIRJk1fQSQCMaEQV4/OIuT8IEmqlY45kuoPf/jDST3hd7/73ZMOI0mSJElf9MGybWRv2A3AqD5taN00JdhAkqQqc8ol1X/+K4YllSRJkqTKUFhUypSZKwGoXy+erwzpEGwgSVKVOmZJNWPGjC99cF5eHg888ACzZ88mLi7umDsASpIkSdKJem3eWnL3FQLw1WEZ1EuKDziRJKkqHbOkat269XEfOHXqVH73u9+xbds2zjzzTH71q1+RlZVV6QElSZIk1T3bcvN5Y/56ADq0qM+Qni0DTiRJqmoV3t3vkA0bNnDnnXcyZ84cGjZsyG9/+1suu+yyqsgmSZIkqY6aMnMlJaURACaMySLGxdIlqdarcElVXFzME088wZ/+9CcKCwu55JJLuPXWW2nUqFFV5pMkSZJUxyxevZOPV+wAYPBpLcho3TDgRJKk6lChkmrevHnceeedrFmzhszMTH75y1/St2/fqs4mSZIkqY4pKQ0zafoKAJISYvnq8IyAE0mSqstxS6pdu3Zx991389prr5GUlMSPfvQjvvnNbxIXd8KzBCVJkiTpS81YuJGtu/IBuGhwR9JSEwNOJEmqLsdsmyZPnsyDDz7I3r17GTlyJLfffjstW7pYoSRJkqSqsSevkJffWwNAi8b1GN23TcCJJEnV6Zgl1Z133ll+e+bMmcycOfNLnywUCrFkyZLKSSZJkiSpTnnh7VUcKCoF4OrRmcTFxgScSJJUnY5ZUl188cWE3EFDkiRJUjVYtXkPcz7bCkCvzk05vVOTgBNJkqrbMUuq3/3ud9WZQ5IkSVIdFY5EmDQtG4C42BBXjeoccCJJUhAcPytJkiQpUHM+28KaLfsAOLd/O5o3qhdwIklSECypJEmSJAUm/0AJ/5i9CoBG9RMZN7B9wIkkSUGxpJIkSZIUmFfmrGFvfjEAl4/IICnhmCuSSJJqOUsqSZIkSYHYvGM/MxZuBCCrTUMGdEsPOJEkKUiWVJIkSZKqXSQSYdL0bErDEUIhGD8my93FJamOs6SSJEmSVO0+XrGDJWtzARjeqzXt0usHnEhS0CJEgo6ggFlSSZIkSapWRcWlPDtjBQApSXFccnangBNJkmoCSypJkiRJ1erNBevZsecAAJec3YnU5PiAE0kKSgin+erfLKkkSZIkVZtdew/w2tx1ALRplsqwXq0CTiRJqiksqSRJkiRVmykzV1JUEgZgwphMYmP8SCJJKuPfCJIkSZKqxbJ1uXywbBsA/bs1p0u7RgEnkiTVJJZUkiRJkqpcaTjMpOnZACTEx3DFiM4BJ5Ik1TSWVJIkSZKq3OyPN7Nx+34Axg3sQOMGSQEnkiTVNJZUkiRJkqrUvvwiXnp3NQBNGyZxXv+2ASeSJNVEllSSJEmSqtSL765h/4ESAK4elUl8XGzAiSRJNZEllSRJkqQqs27rPt7+eBMAPTo2pldm04ATSZJqKksqSZIkSVUiEokwaXo2ESA2JsT40ZmEQqGgY0mSaihLKkmSJElVYv6SHFZs3APA6L5taNkkJeBEkqSazJJKkiRJUqU7UFTCc7NWAtAgJYGLBncMOJEkqaazpJIkSZJU6V6bu47deUUAXDYsg+TEuIATSZJqOksqSZIkSZUqJzefNxesB6BjywYMOr1FwIkkSdHAkkqSJElSpZoyYyUlpREAJozJIsbF0iVJFWBJJUmSJKnSfLpqJ5+s3AHAkJ4t6dSqQcCJJEnRwpJKkiRJUqUoKQ0zeXo2AMmJsXx1WEbAiSRJ0cSSSpIkSVKlmPbhBnJyCwD4yuCONExJCDiRJCmaWFJJkiRJOmW78wp5Zc5aAFo2qcfIPm2CDSRJijqWVJIkSZJO2QuzV1FYVArA+NFZxMX6UUOSdGL8m0OSJEnSKVm5aQ/vL94KQO/MpvTo2DjgRJKkaGRJJUmSJOmkhcMRJk4rWyw9LjaGq0ZlBpxIUtSKBB1AQbOkkiRJknTS3vtsC+u27gNg7IB2NEtLDjiRpKgSCjqAahJLKkmSJEknJf9AMS/MXgVA4waJnD+wfcCJJEnRzJJKkiRJ0kl56b015BUUA3DFiM4kxscGnEiSFM0sqSRJkiSdsE3b85i5cBMAXdqm0a9r84ATSZKinSWVJEmSpBMSiUSYNH0F4UiEUAjGj8kiFHJhGUnSqbGkkiRJknRCFi7fztJ1uQCM7N2Gts1TA04kSaoNLKkkSZIkVVhhcSlTZq4AIDU5nq8M7RhwIklSbWFJJUmSJKnC3pi/np17CwG49OxOpCbHB5xIklRbWFJJkiRJqpAdewqYOm8dAO2ap3L2Ga0CTiRJqk0sqSRJkiRVyHMzV1JcEgbKFkuPiXGxdElS5bGkkiRJkvSllq7dxYfLtwNwVvd0stqmBRtIklTrWFJJkiRJOq7ScJhJ08sWS0+Mj+XyEZ0DTiRJqo0sqSRJkiQd18yPNrFpx34ALhjUnkb1EwNOJEmqjSypJEmSJB3T3vwiXnp3DQDN05I5p1+7gBNJkmorSypJkiRJx/TPt1dTUFgCwFWjM4mP8yOEJKlq+DeMJEmSpKNau3Uv7y7aDMDpnZpwRkaTgBNJkmozSypJkiRJR4hEIkyclk0EiI0JcdWozoRCoaBjSZJqMUsqSZIkSUeY93kOqzbtBWBMv7a0bJIScCJJUm1nSSVJkiTpMAWFJTw3eyUADVMSuHBQh2ADSZLqBEsqSZIkSYd59f217MkrAuDyERkkJ8YFnEiSVBdYUkmSJEkqt3VXPm99sAGAjNYNOKtHi4ATSZLqCksqSZIkSeWenbGC0nCEEDB+dBYxLpYuqZpEgg6gwFlSSZIkSQJg0codfLpqJwBDz2hJx5YNAk4kqbazBtcXWVJJkiRJorgkzOQZKwBITozj0rMzAk4kSaprLKkkSZIk8dYH69mWWwDAxUM70iAlIeBEkqS6xpJKkiRJquNy9xXy6vvrAGjdNIURvVsHnEiSVBdZUkmSJEl13POzV1JYXArA1aMziYv1Y4IkqfrFBR1AkiRJqkq79h5gz/6ioGMcZveBEnJz84OOAcD23QXM+zwHgD5dmtG9Q+OAE0mS6ipLKkmSJNVaS9bu4v4piwhH3Nj8y8THxXDliM5Bx5Ak1WGO45UkSVKtVFIa5pm3si2oKuiCQR1ompYcdAxJUh3mSCpJkiTVStM/3EjOrrIpdef0a0vX9o0CTvRvDRsms2dPQdAxytVLjCOzTcOgY0iS6jhLKkmSJNU6u/MKeXnOGgBaNqnHZcMzatRi4M2a1Wf79n1Bx5AkqUapOX9TS5IkSZXkH7NXUVjkbnWSJEUT/7aWJElSrbJq0x7mLN4KQO/MppzWsUnAiSRJUkVYUkmSJKnWCEciTJyWDUBcbAxXjsoMOJEkSaooSypJkiTVGu99uoW1W8vWejpvQDuau1udJElRw5JKkiRJtUL+gWL+8fYqABrVT2TcWe0DTiRJkk6EJZUkSZJqhZffW8u+/GIArhzZmcSE2IATSZKkE2FJJUmSpKi3acd+ZizcCEBW2zT6dW0ecCJJknSiLKkkSZIU1SKRCJOmZROORAiFYPzoTEKhUNCxJEnSCbKkkiRJUlT7KHsHS9flAjCid2vapdcPOJEkSToZllSSJEmKWkXFpUyZuQKAlKQ4Lh7aKeBEkiTpZFlSSZIkKWq9MX89O/YcAODSYRmkJscHnEiSJJ0sSypJkiRFpR17Cnht3joA2jZPZdgZrQJOJEk6FZFIJOgICpgllSRJkqLSc7NWUVwSBmDCmCxiYlwsXZKijftc6IssqSRJkhR1lq7L5cNl2wAY0D2drLZpwQaSJEmnzJJKkiRJUaU0HGbS9GwAEuNjuWJE54ATSZKkymBJJUmSpKgy66NNbNq+H4ALBrWnUf3EgBNJkqTKYEklSZKkqLE3v4iX3l0DQPO0ZM7p1zbgRJIkqbJYUkmSJClqvPjOavILSwC4alQm8XGxASeSJEmVxZJKkiRJUWHd1n2888lmAE7r1JgzOjcJOJEkSapMllSSJEmq8SKRCBOnZRMBYmNCXD0qk5D7lkuSVKtYUkmSJKnGm7ckh5Wb9gAwpl9bWjZJCTiRJEmqbJZUkiRJqtEKCkt4btZKABqmJHDhoA7BBpIkSVXCkkqSJEk12qtz17InrwiAy4ZnkJwYF3AiSZJUFSypJEmSVGPl7MrnrQUbAMho1YCBp7UIOJEkSaoqllSSJEmqsSbPWEFpOEIIGD8mixgXS5ckqdaypJIkSVKNtGjlDj5dtROAIT1b0rFlg4ATSZKkqmRJJUmSpBqnuCTMszNWAJCcGMdXh2UEnEiSJFU1SypJkiTVONM+3EBObgEAFw/pSIOUhIATSZKkqmZJJUmSpBold18h/5qzFoBWTVMYcWbrYANJkqRqYUklSZKkGuWF2SspLC4F4OrRmcTF+iurJEl1gX/jS5IkqcZYsXE3cz/PAaBPVjN6dGgccCJJklRdLKkkSZJUI4TDESZNK1ssPT4uhitHdg44kSRJqk6WVJIkSaoR3v10M+ty9gEwdkA7mqYlB5xIkiRVJ0sqSZIkBW7/gWL+8fZqAJo0SGTsWe0DTiRJkqqbJZUkSZIC99K7a8grKAbgypGZJMbHBpxIklQ9QkEHUA1iSSVJkqRAbdyWx6yPNgHQtV0afbo0CziRJEkKgiWVJEmSAhOJRJg0PZtwJEJMKMT40VmEQv6ruiRJdZEllSRJkgKzcPl2lq3fDcCIM1vTpnlqsIEkSVJgLKkkSZIUiMLiUqbMXAFAanI8Fw/tGHAiSZIUJEsqSZIkBeL1eevYubcQgK8O60RKUnzAiSRJUpAsqSRJklTttu8uYOq89QC0T6/P0J6tAk4kSZKCZkklSZKkavfczJWUlIYBGD8mk5gYF0uXJKmus6SSJElStfp87S4WZm8HYGCPdDLbpAUbSJIk1QiWVJIkSao2JaVhJk8vWyw9MT6Wy4Z3DjiRJEmqKSypJEmSVG1mfbSJzTv2A3Dh4A40qp8YcCJJklRTWFJJkiSpWuzdX8RL760BIL1RMmP6tg04kSRJqkksqSRJklQt/vH2KgoKSwC4enQm8XH+KipJkv7N3wwkSZJU5dZs2ct7n24BoGdGE3pmNA04kSRJqmksqSRJklSlwpEIk6ZlEwFiY0JcPSoz6EiSJKkGsqSSJElSlZq7eCurNu8F4Jz+bUlvXC/gRJIkqSaypJIkSVKVKSgs4YXZqwBomJrABQM7BBtIkiTVWJZUkiRJqjL/mrOWPfuLALhiRGeSE+MCTiRJkmoqSypJkiRViS079zPtww0AdG7dkLO6pwecSJIk1WSWVJIkSap0kUiEydNXUBqOEAImjMkiFAoFHUuSJNVgllSSJEmqdItW7mTxml0AnN2rFe1b1A84kSRJquksqSRJklSpiktKmTwjG4B6iXFccnangBNJkqRoYEklSZKkSvXWBxvYvvsAABcP7UiDegkBJ5IkRYNIJOgECpollSRJkirNrr0H+Nf7awFo3SyFEWe2DjaQJKlGc7lCfZEllSRJkirN87NXUVQcBmD86CxiY/x1U5IkVYy/NUiSJKlSZG/YzfwlOQD07dqcbu0bBZxIkiRFE0sqSZIknbJwOMLEaWWLpSfExXDFiIyAE0mSpGhjSSVJkqRT9vaizWzYlgfA+We1p2nD5IATSZKkaGNJJUmSpFOSV1DMP99eBUDThkmcN6BdwIkkSVI0sqSSJEnSKXnx3dXsP1ACwJUjM0mIjw04kSRJikaWVJIkSTpp63P2MfvjTQB079CIM7OaBpxIkiRFK0sqSZIknZRIJMKk6SuIRCAmFOLq0VmEQqGgY0mSpChlSSVJkqST8sGybWRv2A3AqD5taN00JdhAkiQpqllSSZIk6YQVFpUyZeZKAOrXi+crQzoEG0iSJEU9SypJkiSdsNfmrSN3XyEAXx2WQb2k+IATSZKkaGdJJUmSpBOybXcBb8xfD0CHFvUZ0rNlwIkkSVJtYEklSZKkEzJlxgpKSsMATBiTRYyLpUuSpEpgSSVJkqQKW7x6Jx+v2AHA4NNakNG6YcCJJElSbWFJJUmSpAopKQ0zafoKAJISYvnq8IyAE0mSpNrEkkqSJEkVMmPhRrbuygfgosEdSUtNDDiRJEmqTSypJEmS9KX25BXy8ntrAGjRuB6j+7YJOJEkSaptLKkkSZL0pV54exUHikoBuHp0JnGx/hopSZIql79dSJIk6bhWbd7DnM+2AtCrc1NO79Qk4ESSJKk2sqSSJEnSMYUjESZNywYgLjbEVaM6B5xIkiTVVpZUkiRJOqY5n21hzZZ9AJzbvx3NG9ULOJEkqbaKBB1AgbOkkiRJ0lHlHyjhH7NXAdCofiLjBrYPOJEkSarNLKkkSZJ0VK/MWcPe/GIALh+RQVJCXMCJJElSbWZJJUmSpCNs3rGfGQs3ApDVpiEDuqUHnEiSJNV2llSSJEk6TCQSYdL0bErDEUIhGD8mi1AoFHQsSZJUy1lSSZIk6TAfr9jBkrW5AAzv1Zp26fUDTiRJkuoCSypJkiSVKyou5dkZKwBISYrjkrM7BZxIkiTVFZZUkiRJKvfmgvXs2HMAgEvO7kRqcnzAiSRJUl1hSSVJkiQAdu09wGtz1wHQplkqw3q1CjiRJEmqSyypJEmSBMCUmSspKgkDMGFMJrEx/qooSZKqj795SJIkiWXrcvlg2TYA+ndrTpd2jQJOJEmS6hpLKkmSpDquNBxm0vRsABLiY7hiROeAE0mSpLrIkkqSJKmOm/3xZjZu3w/AuIEdaNwgKeBEkiSpLrKkkiRJqsP25Rfx0rurAWjaMInz+rcNOJEkSaqrLKkkSZLqsBffXcP+AyUAXD0qk/i42IATSZKkusqSSpIkqY5at3Ufb3+8CYAeHRvTK7NpwIkkSVJdZkklSZJUB0UiESZOzyYCxMaEGD86k1AoFHQsSZJUh1lSSZIk1UHzl+SwcuMeAEb3bUPLJikBJ5IkSXWdJZUkSVIdc6CohOdmrQSgQUoCFw3uGHAiSZIkSypJkqQ657W569idVwTAZcMySE6MCziRJEmSJZUkSVKdkpObz5sL1gPQsWUDBp3eIuBEkiRJZSypJEmS6pBnp6+gpDQCwIQxWcS4WLokSaohLKkkSZLqiE9X7WDRqp0ADOnZkk6tGgScSJKkL4hEgk6ggFlSSZIk1QElpWEmT18BQHJiLF8dlhFwIkmSwAG9+iJLKkmSpDpg2ocbyMktAOArgzvSMCUh4ESSJEmHs6SSJEmq5XbnFfLKnLUAtGxSj5F92gQbSJIk6SgsqSRJkmq5F2avorCoFIDxo7OIi/VXQEmSVPP4G4okSVIttnLjHt5fvBWA3plN6dGxccCJJEmSjs6SSpIkqZYKhyNMnJ4NQFxsDFeNygw4kSRJ0rFZUkmSJNVS7322hXVb9wEwdkA7mqUlB5xIkiTp2CypJEmSaqH8A8W8MHsVAI0bJHL+wPYBJ5IkSTo+SypJkqRa6KX31pBXUAzAFSM6kxgfG3AiSZKk47OkkiRJqmU2bc9j5sJNAHRpm0a/rs0DTiRJkvTlLKkkSZJqkUgkwqTpKwhHIoRCMH5MFqFQKOhYkiRJX8qSSpIkqRZZuHw7S9flAjCydxvaNk8NOJEkSVLFWFJJkiTVEoXFpUyZuQKA1OR4vjK0Y8CJJEmSKs6SSpIkqZZ4Y/56du4tBODSszuRmhwfcCJJkqSKs6SSJEmqBXbsKWDqvHUAtGueytlntAo4kSRJ0omxpJIkSaoFnpu5kuKSMFC2WHpMjIulS5Kk6GJJJUmSFOWWrN3Fh8u3A3BW93Sy2qYFG0iSJOkkWFJJkiRFsZLSMJOnly2Wnhgfy+UjOgecSJIk6eRYUqlO2767gMnTV7B2696go0iqo9bn7GPy9BXk5OYHHUVRatbHm9i0Yz8AFwxqT6P6iQEnkiRJOjmWVKrT/t+kj5j24QZ+/dSHQUeRVEf96q8fMO3DDdz9zMKgoyhKvbNoMwDN05I5p1+7gNNIkiSdPEsq1WmHtumWpKDtyy8OOoKiVGFRKQCd2zQkPs5f7SRJUvTyNxlJkiRJkhS4SNABFDhLKkmSJEmSFIgQoaAjqAaxpJIkSZIkSVLgLKkkSZIkSZIUOEsqSZIkSZIkBc6SSpIkSZIkSYGzpJIkSZIkSVLgLKkkSZIkSZIUOEsqSZIkSZIkBc6SSpIkSZIkSYGzpJIkSZIkSVLgLKkkSZIkSZIUOEsqSZIkSZIkBc6SSpIkSZIkSYGzpJIkSZIkSVLgLKkkSZIkSZIUOEsqSZIkSZIkBc6SSpIkSZIkSYGzpJIkSZIkSVLgLKkkSZIkSZIUOEsqSZIkSZIkBc6SSpIkSZIkSYGLCzpATRYTEwo6Qq1VU763zRsll9+uKZlUMf68dKpqyjXk+1D0qik/ryYNk4iJCdEwNaHGZFLF+PPSqfIa0qmqKdfQod+HUpPja0wmVcyJ/ry+7P6hSCQSOZVAkiRJkiRJ0qlyup8kSZIkSZICZ0klSZIkSZKkwFlSSZIkSZIkKXCWVJIkSZIkSQqcJZUkSZIkSZICZ0klSZIkSZKkwFlSSZIkSZIkKXCWVJIkSZIkSQqcJZUkSZIkSZICZ0mlavPqq68ybtw4evbsydixY3nppZeCjqQotXTpUnr06MHWrVuDjqIoEg6HmTx5MhdeeCG9e/dm9OjR3HPPPeTl5QUdTVEiEonw1FNPce6559KzZ08uuugi/vWvfwUdS1Hsu9/9LmPGjAk6hqJISUkJPXv2pEuXLof917t376CjKYp88MEHXH311ZxxxhkMGTKE3/zmN+zfvz/oWIoC8+fPP+L954v/vfjii6f8GnGVkFP6UlOnTuWWW27h61//OkOGDGH69On85Cc/ISkpifPOOy/oeIoiq1at4tvf/jYlJSVBR1GUefLJJ3nwwQe57rrrGDhwIGvWrOHhhx9m5cqV/PnPfw46nqLA448/zsMPP8z//M//0KtXL9555x1uueUWYmNjOf/884OOpyjz8ssvM23aNNq1axd0FEWRNWvWUFhYyL333kuHDh3Kj8fEOPZAFfPJJ5/wzW9+k5EjR/Loo4+ybt067r//fnbt2sUDDzwQdDzVcD169GDKlCmHHYtEIvz85z8nPz+fYcOGnfJrWFKpWjzwwAOMHTuW2267DYChQ4eyZ88eHnroIUsqVUhJSQlTpkzh97//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/binary_c_parameters.html b/docs/build/html/binary_c_parameters.html index 93a63cd8a..e67ed4e6b 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 15c05e49d..d32f75ac4 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 d1dbed5b9..cfea40d7d 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 933d10648..afb38efb3 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 81ecc725e..3ffc73970 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 0d48698de..2720eb88d 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 144063807..a8f72aef5 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 ae8ea57ea..fb06a9396 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 8a8719953..2f498e8dc 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, 'Number of stars') 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 009670e82..545746509 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 5a42e0703..3c55c5713 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 932432ecd..fe5d781d2 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(['networks', 'isotopes', 'argpairs', '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 b4d0b7fe0..58de6967b 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 b399028e0..2de613734 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 507722285..ca5c2a571 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 396e1e18e..000000000 --- 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 — 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> »</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">"notebooks"</span><span class="p">,</span> <span class="s2">"notebook_luminosity"</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(<parameter_name>=<value>)</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">"verbosity is"</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">'verbosity'</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">"M_1"</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 "more accurate" 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">'luminosity'</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">"M_1"</span><span class="p">,</span> - <span class="n">longname</span><span class="o">=</span><span class="s2">"Primary mass"</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">"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">)"</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">"M_1"</span><span class="p">]),</span> - <span class="n">probdist</span><span class="o">=</span><span class="s2">"</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">)"</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">"dM_1"</span><span class="p">,</span> - <span class="n">parameter_name</span><span class="o">=</span><span class="s2">"M_1"</span><span class="p">,</span> - <span class="n">condition</span><span class="o">=</span><span class="s2">""</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're on the first timestep (stars are born on the ZAMS)</span> -<span class="c1"># we make sure that the stellar type is <= 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">"""</span> -<span class="s2">if(stardata->model.model_number == 0 &&</span> -<span class="s2"> stardata->star[0].stellar_type <= MAIN_SEQUENCE &&</span> -<span class="s2"> stardata->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("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",</span> -<span class="s2"> stardata->model.time, // 1</span> -<span class="s2"> stardata->common.zero_age.mass[0], // 2</span> -<span class="s2"> stardata->star[0].mass, // 3</span> -<span class="s2"> stardata->star[0].luminosity, // 4</span> -<span class="s2"> stardata->model.probability // 5</span> -<span class="s2"> );</span> -<span class="s2">};</span> -<span class="s2">"""</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">"""</span> -<span class="sd"> Example parse function</span> -<span class="sd"> """</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">"header"</span><span class="p">,</span> <span class="s2">"time"</span><span class="p">,</span> <span class="s2">"zams_mass"</span><span class="p">,</span> <span class="s2">"mass"</span><span class="p">,</span> <span class="s2">"luminosity"</span><span class="p">,</span> <span class="s2">"probability"</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">'header'</span><span class="p">]</span> <span class="o">==</span> <span class="s2">"ZERO_AGE_MAIN_SEQUENCE_STAR"</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">'luminosity'</span><span class="p">]),</span> - <span class="n">binwidth</span><span class="p">[</span><span class="s1">'luminosity'</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">'luminosity distribution'</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">'probability'</span><span class="p">]</span> - - <span class="c1">#print (self.grid_results)</span> - - <span class="c1"># verbose reporting</span> - <span class="c1">#print("parse out results_dictionary=",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> -{'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} -</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">'figure.figsize'</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">"notebook"</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">"lines.linewidth"</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">'luminosity distribution'</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">'luminosity'</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">'ZAMS luminosity distribution'</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">"$\log_</span><span class="si">{10}</span><span class="s2">$ ($L_\mathrm</span><span class="si">{ZAMS}</span><span class="s2">$ / L$_{☉}$)"</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">"Number of stars"</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">"log"</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">"M_1"</span><span class="p">,</span> - <span class="n">probdist</span><span class="o">=</span><span class="s2">"three_part_powerlaw(M_1, 0.1, 0.5, 1.0, 150, -1.3, -2.3, -2.3)"</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">'luminosity distribution'</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">'luminosity'</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">'ZAMS luminosity distribution'</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">"$\log_</span><span class="si">{10}</span><span class="s2">$ ($L_\mathrm</span><span class="si">{ZAMS}</span><span class="s2">$ / L$_{☉}$)"</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">"Number of stars"</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">"log"</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">"M_1"</span><span class="p">,</span><span class="s2">"lnM_1"</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">"lnM_1"</span><span class="p">,</span> - <span class="n">samplerfunc</span><span class="o">=</span><span class="s2">"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">)"</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">"M_1"</span><span class="p">]),</span> - <span class="n">probdist</span><span class="o">=</span><span class="s2">"three_part_powerlaw(M_1, 0.1, 0.5, 1.0, 150, -1.3, -2.3, -2.3)*M_1"</span><span class="p">,</span> - <span class="n">dphasevol</span><span class="o">=</span><span class="s2">"dlnM_1"</span><span class="p">,</span> - <span class="n">parameter_name</span><span class="o">=</span><span class="s2">"M_1"</span><span class="p">,</span> - <span class="n">precode</span><span class="o">=</span><span class="s2">"M_1=math.exp(lnM_1)"</span><span class="p">,</span> -<span class="p">)</span> -<span class="c1"># print(population.grid_options["_grid_variables"]) # 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">'luminosity distribution'</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">'luminosity'</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">'ZAMS luminosity distribution'</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">"$\log_</span><span class="si">{10}</span><span class="s2">$ ($L_\mathrm</span><span class="si">{ZAMS}</span><span class="s2">$ / L$_{☉}$)"</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">"Number of stars"</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">"log"</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>© 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 28227d1a1..000000000 --- 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": "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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//wGPePy0tjd27c4lEIoeVf3v37jnu6wwYMJABAwZy4MABFi78gOefn8yDD97HaaedQdeu3SqU9VgOjdI75NAC9IfKq7Kf7eElUUFBPieifv367Nx55AjInTt3AGXTFw/dliRJkk7E1l35TJyWzRkZTRjd9+QGEkh1hQunq1wkEuG3v/0lubm5/OY3vyM1NfWo9ysqKmLatDcZOnQ4Z57Z94j/xow5j48/Xsj69WuPeGwoFGLkyFG8/fZMZs+ewciRo486Eqpt23YUFOTz/PPPHnWHv/Xr19GsWfMKFVQAKSkpbNuWc9ixTz/9pEKPrWw9epxOQkIC06e/edjxWbNmUFJSQs+eZ7BtWw6XXjqOWbOmA9CuXQcmTPg6ffsOOOLrOORoUyYBxo27iHnz3mfmzOmce+7YY94PoE+ffhQVFfHee2+XHysuLmbBgnnHfMz//d/DfOtb1xCJREhKSmLw4KHcdNP3Acqzxsae/FvNhx8uoLT03wXjoe/JoXW26tVLISfn+D/b433NZc/Vh08/XXTY9zYcDjNz5jS6detevtaWJEmSdCLCkQhPvrqEz9fsYvKMFezZXxR0JKlGcySVyr3wwhTef/89LrvsKgoLi1i8+LMj7pOSksLq1avYt2/vUUdKAZx33jgmT36Gl19+kf/5nx8ccX7UqDE8++wkNm3ayB//+ORRn6NBgwbceOP3uP/+e7nppuu58MJLaNWqNXl5ebzzzizeeOM1fvWruyv8tQ0aNJT33nuHRx55gMGDh/Lpp5/wxhuvVfjxlalBg4ZcffV/8be//YW4uDgGDhzMmjWr+fOfH6dXrzMZMGAQMTExtGjRkgcfvI/9+/fTunUbli1byrx5c/j616876vOmppaN0Jo27Q1OO60nLVu2AmDEiNE8+OB9ZGcv4447fn3cbH379qd//4Hcffev+fa3d5Kens7zzz/L7t25NG3a7KiP6devP5MnP8Ndd/2Kc88dS3FxCZMm/Y20tDR69+5Tnm3Roo9ZuPCDE15Havv2HH75y9u4+OLLWLEimz/96VEuuOAi2rVrD5QtcP73vz/FM888RY8ep/Hee2+zcOHhOyAe63tzyJVXTuCNN17je9/7DtdeewP16qXw4ovPs27dWv73fx86obySJEnSIXMXb2X15rLlPiIR+HDZNkb1afMlj5LqLksqlcvOXgbACy88ywsvPHvU+/TqdSaJiUmkpaXRt2//o94nI6MzmZlZvPHGq3z72zcdcf6003qSnt6CmJjYwxYp/0+XXno57dq154UXnuXxx//Anj17qFcvhe7de/DQQ4+WFyAVMW7cRWzatJHXX3+Vl156gV69+vDb397Ld75z9MKnqn3rW9+hcePG/OMfz/Hiiy/QqFFjvvKVS7n22m8TE1M26uiuu/7fwZ3lHmPPnt00b57OtdfewIQJXz/qcw4dOpypU1/hrrt+xUUXXcIPf/gTAOrVq0fv3meSm5tLx46dvjTb3Xf/L48++jBPPvkohYVFjBo1hosuupT333/3qPfv1+8sfvWru5g48W/87Gc/JhQKccYZvXj44cfKpzZecsllfP75Z9xyy83cfvudR90t8lguvvgy9u3by223/YjExCQuv/wqvvOdG8vPX3PNtezevZtJk/5GSUkJgwYN5qc/vYOf/vSHX/q9OaRp06Y8+uifefTRh7nvvnsIh8N07dqdBx7441F3npQkSZK+TEFhCc/PXnXYsXlLtlpSSccRihxazVlH2Lkzj3D42N+erVvX0aJF+2pMVDvExcVQUuJC09UlPz+fSy4Zy003fZ+LLrok6DiVIhqvId8vapZmzeqzffu+L7+jdAxeQzpVXkM6VV5DNd+UmSt4c8EGANo0S2Xj9rKNf+7974E0SzuxjZmqgteQTtXJXEMxMSGaNDn60kLgmlRSrbVly2b++tc/8YMf3ERSUhLnnDM26EiSJElSnbBl536mf7gRgM5tGnL9Bf/eTGjB0qOvMSvJkkqqtUKhGJ5//ll27drJL395F0lJSUFHkiRJkmq9SCTCpOkrKA1HCAETRmfRtnkqrZumADB/iSWVdCyuSSXVUi1atGDq1BlBx5AkSZLqlE9W7uDzNbsAGNarFe1blK3T2r97Oi++s5qN2/ezcXsebZode8qTVFc5kkqSJEmSpEpQXFLKszNWAJCSFMclZ/9746IB3dPLbzuaSjo6SypJkiRJkirBmws2sH33AQAuHtqJ+vUSys81T0umU6sGQFlJ5R5m0pEsqU6RbyySvozvE5IkSbXfrr0HeHXuWgDaNEtheO9WR9zn0GiqHXsOsHrz3uqMJ0UFS6pTEBsbR3FxUdAxJNVwxcVFxMa6BKAkSVJt9tyslRQVhwEYPzqL2JgjP27379qcUKjs9jyn/ElHsKQ6BampaezevZ2iokJHSkg6QiQSoaiokN27t5OamhZ0HEmSJFWR5etzWbB0GwD9ujana/tGR71fw9REuh0898GybZSGw9WWUYoG/tP+KUhOLttCdM+eHZSWlgScJnrExMQQ9s1YpyCarqHY2Djq129U/n4hSZKk2qU0HGbitLLF0hPiYrhiROfj3n9At3SWrM1l7/4ilq3bTY+OjasjphQVLKlOUXJyih8+T1CzZvXZvn1f0DEUxbyGJEmSVFO888lmNm7PA+D8ge1p0jDpuPfv06UZz7y1nJLSCPOX5FhSSV/gdD9JkiRJkk5CXkEx/3xnNQBNGyZxXv92X/qYeknxnN6pCQALs7dRXFJapRmlaGJJJUmSJEnSSXjx3dXsP1C29MtVozJJiI+t0OPO6tECgILCUj5dtavK8knRxpJKkiRJkqQTtD5nH7M/3gRAjw6N6J3ZtMKPPSOjCYkJZYXW/CVbqySfFI0sqSRJkiRJOgGRSIRJ07KJRCA2JsTVo7MIhUIVfnxCfCxnZjYDYNGqnRQUuhGXBJZUkiRJkiSdkAVLt5G9cQ8Ao/q0oVXTE99Ma0D3dACKS8J8lL29UvNJ0cqSSpIkSZKkCiosKuW5WSsBaFAvnosGdzyp5+neoRGpyfEAzF+aU2n5pGhmSSVJkiRJUgW9Nm8tufsKAfjqsAzqJcWd1PPExcbQr2tzAJasyWVvflGlZZSilSWVJEmSJEkVsC03nzfmrwegY8v6DO7Z8pSe79CUv3AkwofLtp1yPinaWVJJkiRJklQBz85YSUlpBIDxY7KIOYHF0o+mc5uGNG6QCMC8JU75kyypJEmSJEn6Ep+t3sknK3cAMPj0FmS0anjKzxkTCtG/W9loqpUb97Bzz4FTfk4pmllSSZIkSZJ0HCWlYSZPXwFAUkIslw3LqLTnPuvglD+ABS6grjrOkkqSJEmSpOOY/uFGtu7KB+CiwR1pmJpYac/dtnkqLZvUA5zyJ1lSSZIkSZJ0DHvyCnllzhoAWjSux+i+bSr1+UOhUPkC6hu25bFpx/5KfX4pmlhSSZIkSZJ0DC+8vYoDRaUAjB+dSVxs5X+MHvCFKX/zHU2lOsySSpIkSZKko1i1aQ9zPtsKQO/MppzWqUmVvE56o3p0bFkfgAVLcohEIlXyOlJNZ0klSZIkSdJ/CEciTJyWDUBcbAxXjsqs0tcbcHCXv227C1izZV+VvpZUU1lSSZIkSZL0H+Z8uoW1W8vKovMGtKV5WnKVvl6/bumEDt52yp/qKksqSZIkSZK+IP9AMS+8vQqARvUTGXdWhyp/zUb1E+nSLg2ABUtzCIed8qe6x5JKkiRJkqQveGXOWvblFwNwxYjOJCbEVsvrntWjBQB79hexfH1utbymVJNYUkmSJEmSdNCmHfuZsXAjAFlt0+jfrXm1vXafLs2IjSmb9DfPKX+qgyypJEmSJEkCIpEIk6dnUxqOEArB+NGZhEKhL39gJUlJiuf0gzsILly+neKScLW9tlQTWFJJkiRJkgR8lL2DJWvLptkN792adun1qz3DgO5lu/zlF5awePXOan99KUiWVJIkSZKkOq+ouJQpM1cAkJIUxyVDOwWSo1fnpiTGl62BNX+pU/5Ut1hSSZIkSZLqvDcWrGfHngMAXHp2J1KT4wPJkZgQS+/MpgB8smIHB4pKAskhBcGSSpIkSZJUp+3cc4Cpc9cB0LZ5KsN6tQ40z6Epf0UlYT5esSPQLFJ1sqSSJEmSJNVpz81aSdHBRcrHj84kJqb6Fks/mh4dG5OSFAfAfHf5Ux1iSSVJkiRJqrOWrcvlg2XbgLIRTF3aNQo4EcTFxtCva3MAPl+zi335RQEnkqqHJZUkSZIkqU4qDYeZND0bgIT4GC4fnhFwon87NOWvNBzhw+XbA04jVQ9LKkmSJElSnTT7481s3L4fgAsGdqBxg6SAE/1bZts0GtVPBJzyp7rDkkqSJEmSVOfsyy/ixXdWA9AsLYlz+7cNONHhYkIh+ncrm/KXvWE3u/YeCDiRVPUsqSRJkiRJdc6L76wmv7AEgKtGZRIfFxtwoiOd1b1F+e0FS7cFmESqHpZUkiRJkqQ6Zd3Wfbz9yWYATuvYmF6dmwac6OjapaeS3rgeAPOWbA04jVT1LKkkSZIkSXVGJBJh4vRsIkBsTIirR2cSCoWCjnVUoVCIsw4uoL4+J48tO/cHnEiqWpZUkiRJkqQ6Y96SHFZu3APAmL5tadkkJeBEx3dolz9wAXXVfpZUkiRJkqQ6oaCwhOdmrQSgQUoCFw7uEGygCmjRuB7tW9QHykqqSCQScCKp6lhSSZIkSZLqhNfmrmNPXhEAlw/PIDkxLuBEFTOgW9loqpzcAtZu3RdwGqnqWFJJkiRJkmq9nF35vPXBegA6tWrAwNNafMkjao7+3ZpzaNUsp/ypNrOkkiRJkiTVes/OWEFJadlUuQljsoipoYulH03jBklktU0DYMHSHMJhp/ypdrKkkiRJkiTVap+u2sGiVTsBGNKzJR1bNgg40Ykb0KNsyt/uvCKyN+wONoxURSypJEmSJEm1VklpmMnTVwCQnBjLZcMyAk50cvp2aU5sTNnor3lO+VMtZUklSZIkSaq1pn2wgZzcAgC+MqQTDVISAk50clKT4zmtY2MAFi7fRklpOOBEUuWzpJIkSZIk1Uq5+wp55f21ALRsUo+RZ7YONtApGtC9bMrf/gMlLF69K+A0UuWzpJIkSZIk1UovzF5FYVEpAONHZxEXG90fgXtlNiUhruxrmL/UKX+qfaL7/1BJkiRJko5i5cY9zP18KwBnZjWjx8GpctEsKSGOXplNAfh4xfbyAk6qLSypJEmSJEm1SjgcYeL0bADiYmO4cmTngBNVnkNT/oqKw3y8cnvAaaTKZUklSZIkSapV3vtsC+u27gNg7IB2NEtLDjhR5Tm9UxNSkuIAWLBkW8BppMplSSVJkiRJqjX2HyjmhdmrAGjcIJHzB7YPOFHliouNoU+XZgB8tnoneQXFASeSKo8llSRJkiSp1nj53TXlxc2VIzNJjI8NOFHlG9C9BQCl4QgLlzuaSrWHJZUkSZIkqVbYuD2PmR9tAqBruzT6HhxxVNt0aZtGw9QEAOYvcZc/1R6WVJIkSZKkqBeJRJg8fQXhSIRQCMaPziIUCgUdq0rExIQY0K1sAfXl63eTu68w4ERS5bCkkiRJkiRFvYXLt7N0XS4AI3u3oU3z1IATVa1Du/xFgAVLHU2l2sGSSpIkSZIU1QqLS5kycwUAqcnxfGVox4ATVb0OLerTvFHZroVO+VNtYUklSZIkSYpqr89bx869ZVPeLh3WidTk+IATVb1Q6N9T/tZu3UfOrvyAE0mnzpJKkiRJkhS1duwu4PX56wFol57K2T1bBZyo+hya8geOplLtYEklSZIkSYpaU2atpLgkDMCEMVnExNTOxdKPplXTFNodXHtr3pIcIpFIwImkU2NJJUmSJEmKSkvW7mLh8u0AnNUjncw2acEGCsCAHmWjqbbuymd9Tl7AaaRTY0klSZIkSYo6JaVhJk8vWyw9MT6Wy4d3DjhRMPp3dcqfag9LKkmSJElS1Jn18SY27dgPwAWD2tOofmLAiYLRpGESWW0aAjB/aQ5hp/wpillSSZIkSZKiyt78Il56dw0AzRslc06/dgEnCtahBdRz9xWyYsPuYMNIp8CSSpIkSZIUVf759ioKCksAuHpUJvFxdfujbd+uzYk9uGD8/KXbAk4jnby6/X+yJEmSJCmqrNmyl3cXbQGgZ0YTzujcNOBEwatfL4HuHRoD8OGybZSUhgNOJJ0cSypJkiRJUlQIRyJMmp5NBIiNCXHVqMygI9UYZx2c8pdXUMyStbsCTiOdHEsqSZIkSVJUmPf5VlZt2gvAOf3a0qJxvYAT1Ry9MpuWT3uc5y5/ilKWVJIkSZKkGq+gsITnZ60CoGFKAhcM6hBsoBomOTGOXgenPn6cvYPC4tKAE0knzpJKkiRJklTjvfr+WvbsLwLg8hEZJCfGBZyo5jm0y19hcSmLVu4IOI104iypJEmSJEk12pad+3nrgw0AZLRuwMAeLQJOVDOd3qlJeXk33yl/ikKWVJIkSZKkGisSiTB5xgpKwxFCwIQxWYRCoaBj1UjxcTH06dIMgE9X7WT/geKAE0knxpJKkiRJklRjLVq1k8Wry3arG3pGKzq0aBBwoprt0C5/peEIC5dvDziNdGIsqSRJkiRJNVJxSZhnp68AyhYGv3RYp4AT1Xxd2zWiYUoC4JQ/RR9LKkmSJElSjfTWB+vZtrsAgIuHdqRBvYSAE9V8MTEh+nVrDsCydbnszisMOJFUcZZUkiRJkqQaJ3dfIa++vw6A1k1TGNG7dcCJosehXf4iwIKl24INI50ASypJkiRJUo3z/KyVFBaXAjB+dCZxsX58rahOLRvQLC0JcMqfoov/l0uSJEmSapTsDbuZd7Bc6dulGd06NA44UXQJhULlo6nWbNlLTm5+wImkirGkkiRJkiTVGOFwhEnTsgGIj4vhipGdA04UnQZ0b1F+e4GjqRQlLKkkSZIkSTXGO4s2s35bHgDnn9Wepg2TA04UnVo3TaFNs1QA5i3JIRKJBJxI+nKWVJIkSZKkGiGvoJh/vrMagCYNkhg7oF3AiaLbgO5lu/xt2ZnPhoPFn1STWVJJkiRJkmqEl99dQ15BMQBXjuxMQnxswImi24Bu6eW35y91yp9qPksqSZIkSVLgNm7LY+bHGwHo1r4Rfbo0CzhR9Gualkzn1g2BsnWpwk75Uw1nSSVJkiRJClQkEmHitGwiEYgJhRg/OpNQKBR0rFrh0C5/O/cWsmrTnoDTSMdnSSVJkiRJCtQHy7axfMNuAEb2aU3rgwt+69T169qcmIOF3zx3+VMNZ0klSZIkSQpMYVEpz81aCUBqcjwXD+kYcKLapUFKAt07NALgw2XbKCkNB5xIOjZLKkmSJElSYKbOW8euvYUAXDY8g3pJ8QEnqn0OTfnbl1/M0nW5AaeRjs2SSpIkSZIUiO27C3h9/noA2reoz5DTWwacqHY6M6sZcbFlH//nO+VPNZgllSRJkiQpEFNmriyffjZhdBYxMS6WXhWSE+M4o3MTABZmb6eouDTgRNLRWVJJkiRJkqrd52t28VH2dgAG9mhB5zYNA05Uu511cMpfYVEpn67aGXAa6egsqSRJkiRJ1aqkNMyk6dkAJCbEcvmIjIAT1X49M5qQnBgLuMufai5LKkmSJElStZq5cCNbduYDcNHgDqSlJgacqPaLj4vlzKxmAHy6aid5BcUBJ5KOZEklSZIkSao2e/YX8fKcNQCkN67HmL5tA05Udxza5a+kNMy8zzYHnEY6kiWVJEmSJKna/OPtVRQUli3cffWozPJd51T1urVvRIN68QC8/fGmgNNIR/LdQJIkSZJULVZv3st7n24B4IyMJvTMaBJworolNiaGfl3LRlN9umI7e/IKA04kHc6SSpIkSZJU5cKRCBOnlS2WHhcb4qrRmQEnqpsG9CgrqcIR+GDZtoDTSIezpJIkSZIkVbn3P9vKmi17ATi3fzvSG9ULOFHdlNGqAU0bJgEw313+VMNYUkmSJEmSqlT+gRJeeHsVAGmpCYwb2D7gRHVXKBQqX0B91ea9bNtdEHAi6d8sqSRJkiRJVepf769h7/4iAK4Y0ZmkhLiAE9VtA7qll99e4Ggq1SCWVJIkSZKkKrNl536mf7gRgM5tGpaP4lFw2jRPpX2L+gDMX2pJpZrDkkqSJEmSVCUikQiTpq+gNBwhBEwYnUUoFAo6loCze7cBYNP2/WzclhdwGqmMJZUkSZIkqUp8smIHn6/ZBcCwXq3KR+8oeGf3bl1+29FUqiksqSRJkiRJla64pJTJM1YAkJIUxyVndwo4kb6oRZMUMlo1AMp2+YtEIgEnkiypJEmSJElV4I0FG9ix5wAAFw/tRP16CQEn0n86tD7Yjj0HWLV5b8BpJEsqSZIkSVIl27X3AK/NXQtAm2YpDO/dKthAOqp+3dI5tETY/M+d8qfgWVJJkiRJkirVc7NWUlQcBmD86CxiY/zoWRM1TEmge/tGAHywLIfScDjgRKrrfKeQJEmSJFWa5etzWbB0GwD9ujan68ESRDVT/4NT/vbmF7N0XW7AaVTXWVJJkiRJkipFaTjMxGlli6UnxMVwxYjOASfSl+mT1Zy42LJqYP4Sp/wpWJZUkiRJkqRK8fYnm9m4PQ+A8we2p0nDpIAT6cvUS4qjZ0YTAD7K3k5xSWnAiVSXWVJJkiRJkk5ZXkExL76zGoCmDZMYO6BdwIlUUWcdnPJXUFjKp6t2BpxGdZkllSRJkiTplL34zmr2HygB4KpRmcTHxQacSBXVM6MJSQllP695TvlTgCypJEmSJEmnZH3OPmZ/sgmAHh0a0TuzacCJdCIS4mM5M6sZAItW7qSgsCTgRKqrLKkkSZIkSSctEokwaVo2kQjExoS4enQWoVAo6Fg6QQMOTvkrKQ3zUfb2gNOorrKkkiRJkiSdtAVLt5G9cQ8Ao/q0oVXTlIAT6WR0a9+I+vXiAXf5U3AsqSRJkiRJJ+VAUQnPzVoJQIN68Vw0uGPAiXSy4mJj6Nu1OQBL1uayd39RwIlUF1lSSZIkSZJOymtz15G7rxCArw7LoF5SXMCJdCoGdCub8heORPhg2baA06gusqSSJEmSJJ2wbbn5vLlgPQAdW9ZncM+WASfSqercpiFNGiQCMH+pU/5U/SypJEmSJEkn7NkZKykpjQAwfkwWMS6WHvViQiH6HxxNtXLjHnbsKQg4keoaSypJkiRJ0gn5bPVOPlm5A4DBp7cgo1XDgBOpshza5Q/KFsWXqpMllSRJkiSpwkpKw0yevgKApIRYLhuWEXAiVaa2zVNp2aQeAPM+d8qfqpcllSRJkiSpwqZ/uJGtu/IBuGhwRxqmJgacSJUpFApx1sHRVBu357Fpe17AiVSXWFJJkiRJkipkd14hL89ZA0CLxvUY3bdNwIlUFfp/YcqfC6irOllSSZIkSZIq5B+zV1FYVArA+DGZxMX6kbI2Sm9Uj44tGwAwf0kOkUgk4ESqK3xHkSRJkiR9qVWb9jBn8VYAemc25bSOTQJOpKp0aAH17bsPsHrL3oDTqK6wpJIkSZIkHVc4EmHitGwA4mJjuHJUZsCJVNX6d2tO6ODt+Uuc8qfqYUklSZIkSTquOZ9uYe3WfQCcN6AtzdOSA06kqpaWmkjX9o0A+GDpNsJhp/yp6llSSZIkSZKOKf9AMS+8vQqARvUTGXdWh2ADqdocmvK3Z38Ry9bnBpxGdYEllSRJkiTpmF5+by378osBuGJEZxITYgNOpOrSp0szYmPKJv3Nc8qfqoEllSRJkiTpqDbt2M+MhRsByGqbRv9uzQNOpOqUkhRPz4yyBfIXLt9OcUk44ESq7SypJEmSJElHiEQiTJqWTTgSIRSC8aMzCYVCX/5A1SqHpvwVFJbw2eqdAadRbWdJJUmSJEk6wkfZO1i6rmwdouG9W9MuvX7AiRSEMzo3JTG+bIqnu/ypqllSSZIkSZIOU1RcypSZKwBISYrjkqGdAk6koCTGx9I7qykAn6zcQUFhScCJVJtZUkmSJEmSDvPGgvXs2HMAgEvP7kRqcnzAiRSksw5O+SsuCfPJih0Bp1FtZkklSZIkSSq3Y08BU+euA6Bt81SG9WodcCIFrXuHxuVFpbv8qSpZUkmSJEmSyj03axVFB3dxmzAmi5gYF0uv6+JiY+jbtWxnx8/X7GJvflHAiVRbWVJJkiRJkgBYui6XD5dtA8p2dctqmxZsINUYA7qVlVThSISFB68RqbJZUkmSJEmSKA2HmTQ9G4CE+BguH54RcCLVJJlt02hUPxFwlz9VHUsqSZIkSRKzP97Mpu37AbhgYAcaN0gKOJFqkphQiAHdyhZQz964h50HF9aXKpMllSRJkiTVcfvyi3jxndUANEtL4tz+bQNOpJpowMFd/gAWLHM0lSqfJZUkSZIk1XH/fGc1+YUlAFw1KpP4uNiAE6kmapeeSovG9QCY/7kllSqfJZUkSZIk1WHrtu7jnU82A3Bap8b06tw04ESqqUKhEGcdHE21flsem3fsDziRahtLKkmSJEmqoyKRCBOnZRMBYmNCXD0qk1AoFHQs1WBfnPLnAuqqbJZUkiRJklRHzVuSw8pNewAY07ctLZukBJxINV1643p0aFEfgPlLc4hEIgEnUm1iSSVJkiRJdVBBYQnPzVoJQIOUBC4c3CHYQIoah0ZTbcstYO3WfQGnUW1iSSVJkiRJddBrc9exJ68IgMuHZ5CcGBdwIkWL/t3SOTQp1Cl/qkyWVJIkSZJUx+TsyufNBesByGjVgIGntQg4kaJJo/qJdGmXBsCCpTmEw075U+WwpJIkSZKkOmbyjBWUhiOEgPFjsohxsXSdoENT/nbnFbF8w+5gw6jWsKSSJEmSpDpk0codfLpqJwBDerakY8sGASdSNOrTpTmxMWXlplP+VFksqSRJkiSpjiguCfPsjBUAJCfG8tVhGQEnUrRKTY7ntI6NAVi4fBslpeGAE6k2sKSSJEmSpDpi+ocbyMktAOArQzrRICUh4ESKZgN6lE3523+ghMWrdwWcRrWBJZUkSZIk1QG5+wp55f21ALRsUo+RZ7YONpCiXu/OzUiIL6sV5i3ZGnAa1QaWVJIkSZJUB7wweyWFRaUAjB+dRVysHwd1ahITYumd2QyAT1bu4EBRScCJFO18V5IkSZKkWm7Fxt3M/bxsceszs5rR4+BaQtKpGtCtbMpfUXGYT1bsCDiNop0llSRJkiTVYuFwhEnTyhZLj4+L4aqRnQNOpNrktE6NSUmKA9zlT6fOkkqSJEmSarF3P93Mupx9AIwd0I6mackBJ1JtEhcbQ58uzQFYvGYXeQXFASdSNLOkkiRJkqRaav+BYv7x9moAGjdIZOxZ7QNOpNrorO5lU/5KwxE+XL4t4DSKZpZUkiRJklRLvfzumvKRLVeOzCQxPjbgRKqNstqmkZaaAMD8z53yp5NnSSVJkiRJtdDG7XnM/GgTAF3bpdG3S7OAE6m2iokJ0f/gAurZG3aza++BgBMpWllSSZIkSVItE4lEmDQtm3AkQkwoxPjRWYRCoaBjqRYbcHDKXwRYsNQpfzo5llSSJEmSVMssXL6dZet3AzDizNa0aZ4abCDVeh1a1Ce9Udmi/POXOuVPJ8eSSpIkSZJqkcLiUqbMXAFAanI8Fw/tGHAi1QWhUKh8NNW6rfvYuis/4ESKRpZUkiRJklSLvD5vHTv3FgJw6bBOpCTFB5xIdcWhkgpg/hJHU+nEWVJJkiRJUi2xY3cBr89fD0C79FTO7tkq4ESqS1o2SaFdetnU0nlLcohEIgEnUrSxpJIkSZKkWmLKrJUUl4QBmDAmi5gYF0tX9TqrewsAcnblsz4nL+A0ijaWVJIkSZJUCyxZu4uFy7cDcFaPdDLbpAUbSHVS/27Ny2/PW7I1wCSKRpZUkiRJkhTlSkrDTJpetlh6Ynwslw/vHHAi1VWNGySR1TYNgAVLtxF2yp9OgCWVJEmSJEW5WR9tYvOO/QBcOLgDjeonBpxIddmhBdRz9xWyYsPuYMMoqlhSSZIkSVIU27u/iJfeWwNA80bJjOnbNuBEquv6dmlG7MH10NzlTyfCkkqSJEmSotg/31lFQWEJAFePyiQ+zo95Clb9egn06NgYgA+WbaOkNBxwIkUL370kSZIkKUqt2bKXdxdtAaBnRhPO6Nw04ERSmUNT/vYfKOHzNbsCTqNoYUklSZIkSVEoHIkwaVo2ESA2JsRVozKDjiSV653ZlISDo/qc8qeKsqSSJEmSpCg0d/FWVm3eC8A5/dvSonG9gBNJ/5aUEEevzLKRfR+v2EFhUWnAiRQNLKkkSZIkKcrkHyjmhdmrAGiYmsAFAzsEG0g6igHdyqb8FRaX8snKHQGnUTSwpJIkSZKkKDNlWjZ79hcBcMXwziQnxgWcSDrSaZ2aUO/gtemUP1WEJZUkSZIkRZEtO/fzyrtlo6gyWjfgrB7pASeSji4+LoY+XZoB8NnqneQVFAecSDWdJZUkSZIkRYlIJMLkGSsoKY0QAiaMySIUCgUdSzqmsw7u8lcajvBR9vaA06imO+GSqqCgoPx2bm4uEydOZPLkyezevbsyc0mSJEmS/sOilTtZvHoXAEPPaEWHFg0CTiQdX5d2jWiYmgDAvM+3BpxGNV2FJy7v3buXH/zgB+zdu5fnn3+evLw8vvrVr7JlyxYikQj/93//x6RJk2jbtm1V5pUkSZKkOqm4pJTJM7IBSEmO59JhnQJOJH25mJgQ/bumM+3DDSxfv5vcfYU0qp8YdCzVUBUeSfXggw8yf/58hg4dCsALL7zA5s2bufXWW/nb3/5GTEwMDz74YFXllCRJkqQ67a0PNrB99wEAJpzblQb1EgJOJFXMgINT/iLAB8u2BRtGNVqFS6qZM2fyta99jZtvvhmA6dOn06RJE6699lr69+/PhAkTeP/996ssqCRJkiTVVbv2HuBf768FoHXTFM4f1CHQPNKJ6NiyPs3TkgGYv8Qpfzq2CpdUO3fuJDMzE4B9+/bxySefMHjw4PLzjRo1Omy9KkmSJElS5Xhh9iqKisMAjB+dSWyse2ApeoRCIfofHE21Zss+cnLzA06kmqrC72zp6els2LABKBtFVVpayvDhw8vPf/TRR7Rs2bLSA0qSJElSXZa9YTfzluQA0LdLM7p1aBxwIunEHZryBzD/4PUs/acKL5w+YsQInn76afLy8njttddo2LAhI0eOJCcnhz/96U+8/PLL3HjjjVWZVZIkSZLqlHA4wqRpZYulJ8TFcMXIzgEnkk5O66YptG2eyoZtecxfksOFgzoQCoWCjqUapsIjqW699VbGjRvHCy+8QIMGDXjggQdISkoiJyeHiRMncuGFF3LDDTdUZVZJkiRJqlPeXrSZ9dvyADj/rPY0bZgccCLp5B0aTbVlZz4bDl7X0hdVeCTVunXr+M1vfsNvf/vbw4537dqVt99+m+bNm1d6OEmSJEmqq/IKivnn26sAaNIgifMGtAs4kXRq+ndrzguzy67p+UtyaJdeP+BEqmkqPJLqG9/4Br///e+POJ6QkGBBJUmSJEmV7KV3V7P/QAkAV43qTEJ8bMCJpFPTtGEynds0BGD+0hzCkUjAiVTTVLikys/Pp02bNlWZRZIkSZIEbNiWx6yPNwHQrX0jzsxqFnAiqXKcdXDK3669hazcuCfgNKppKlxSff3rX+evf/0rn332WVXmkSRJkqQ6LRIpWyw9EoGYUIjxozNdYFq1Rt+uzYk5eD27y5/+U4XXpFq8eDHbtm3jiiuuICkpibS0NGJiDu+4QqEQ06dPr/SQkiRJklRXfLBsG8s37AZgZJ/WtG6WGmwgqRI1qJdA946NWLx6Fx8s28bVozOJi63w+BnVchUuqQoLCznttNOqMoskSZIk1WmFRaVMmbkSgPr14rl4SMeAE0mVb0C3dBav3kVeQTFL1ubSM6NJ0JFUQ1S4pHrmmWeqMockSZIk1XmvzVtH7r5CAL46LIN6SfEBJ5Iq35lZzfjbm8spLgkzf0mOJZXKVeqYuiVLllTm00mSJElSnbFtdwFvzF8PQIcW9RnSs2XAiaSqkZwYxxkHi6mPVmynsLg04ESqKSo8kqqoqIiHH36Yd999l/z8fMLhcPm50tJS9u/fT15eHkuXLq2SoJIkSZJUm02ZsYKS0rLPWePHZJUvLi3VRgO6t+DD5dspLCrl01U76de1edCRVANUeCTVQw89xJNPPsmePXtITk5m06ZNtGzZkri4OLZu3UpxcTE///nPqzKrJEmSJNVKi9fs5OMVOwAYdFoLOrduGHAiqWr1zGhMcmIsAPM+3xpwGtUUFS6p3njjDfr378/MmTP505/+BMAvfvEL3nzzTR5//HFKSkqIj3e+tCRJkiSdiJLSMJOnrwAgMSGWy4ZnBJxIqnrxcbH0ySobPfXZ6p3kHygOOJFqggqXVDk5OZxzzjnExMSQnp5OkyZN+PjjjwEYNmwYl1xyCc8991yVBZUkSZKk2mjGwo1s2ZkPwEWDO5CWmhhwIql6DOieDkBJaYSFy7cHnEY1QYVLqqSkpMNGSrVr147s7OzyP/fs2ZMNGzZUbjpJkiRJqsX25BXy8ntrAEhvXI8xfdsGnEiqPl3bp9EgJQGA+UtzAk6jmqDCJVW3bt145513yv/cqVOn8pFUUDbSKuTCfpIkSZJUYf94ezUHisp2Nhs/OpO42ErdgF2q0WJjYsoXTF+6Lpc9eYUBJ1LQKvwOOH78eGbMmMH48ePJy8tj3LhxLFmyhNtuu40//elPPPXUU5x++ulVmVWSJEmSao3Vm/fy3mdbAOjVuSmnd2oScCKp+h2a8heJwKJVOwNOo6DFVfSOY8eOJS8vj7/+9a8kJyczaNAgJkyYwMSJEwFo1aoVP/3pT6ssqCRJkiTVFuFIhInTypZPiYsNceWozgEnkoLRqkm98tuHRhWq7qpwSQVw+eWXc/nll5f/+Y477uC6665jz549ZGRkkJCQUOkBJUmSJKm2ef+zrazZsheAc/u3I71RvS95hCTVfhWe7nfNNdcwd+7cI463atWKbt268d577zFu3LhKDSdJkiRJtU3+gRJemL0SgEb1Exk3sH3AiSSpZjjmSKqCggJyc3PL/7xgwQLGjBlD+/ZHvoGGw2HeeecdNm7cWDUpJUmSJKmWeGXOGvbmFwNw+YgMkhJOaIKLJNVaxy2pLr74Yvbt2wdAKBTi7rvv5u677z7q/SORCIMHD66alJIkSZJUC2zesZ8ZC8v+cT+zTUMGdEsPOJEk1RzHLKkaN27M//7v//LZZ58RiUT44x//yJgxY+jSpcsR942JiaFx48ZO95MkSZKkY4hEIkyesYLScIRQCCaMySIUCgUdS5JqjOOOKx02bBjDhg0DYPPmzVx11VWcccYZ1RJMkiRJkmqTT1bs4PM1uwAY1qs17dLrB5xIkmqWCk9+vueee456fMWKFcTExJCRkVFpoSRJkiSpNikuKWXyjBUApCTFccnQjgEnkqSap8K7+wE88cQT3HbbbUDZYuk33HADF110ERdccAHXXXcd+/fvr5KQkiRJkhTN3pi/nh17DgBw8dBO1K+XEHAiSap5KlxSPfnkk9x///3s2LEDgNdff5133nmHc845h5tuuokPP/yQP/7xj1UWVJIkSZKi0a69B3ht7joA2jRLZXjvVgEnkqSaqcLT/V588UXGjBnDI488AsDUqVNJTk7m3nvvJSkpif379/PGG2/w4x//uMrCSpIkSVK0eW7WSopKwgBMGJNJbMwJTWiRpDqjwu+OGzZs4OyzzwaguLiYuXPn0r9/f5KSkgDIyMgoH2UlSZIkSYLl63NZsHQbAP27NadLu0YBJ5KkmqvCJVWDBg3Iy8sDYP78+eTn55eXVgDr16+nadOmlZ9QkiRJkqJQaTjMxGlli6UnxMVwxYjOASeSpJqtwtP9evfuzd///ndat27NY489RlxcHOeccw7FxcXMmjWLyZMnM3r06KrMKkmSJElR4+1PNrNxe9k/9I8b2J7GDZICTiRJNVuFR1L97Gc/IzExkZtvvpmlS5fyox/9iGbNmvHRRx9x880306xZM773ve9VZVZJkiRJigr78ot48Z3VADRtmMR5A9oFnEiSar4Kj6Rq2bIlr7zyCkuWLCE9PZ309HQAunbtyv3338+IESNITk6usqCSJEmSFC1efHcN+w+UAHD1qEzi42IDTiRJNV+FSyqAuLg4evbsedixhg0bcv7551dqKEmSJEmKVuu27uPtjzcB0KNjY3plunavJFWEe59KkiRJUiWJRCJMmp5NBIiNCXH1qExCoVDQsSQpKlhSSZIkSVIlmb80hxUb9wAwqk8bWjVNCTiRJEUPSypJkiRJqgQHikp4ftYqABrUi+eiwR0DTiRJ0eWYJdXs2bPZsWNHdWaRJEmSpKj12tx15O4rBOCrwzOol3RCSwBLUp13zJLqlltuYfbs2eV/vuaaa5g7d251ZJIkSZKkqJKTm8+bC9YD0LFlAwaf3jLgRFIUikSCTqCAHbOkikQiLFy4kIKCAgAWLFjAzp07qy2YJEmSJEWLKTNWUlJa9gF7wpgsYlwsXZJO2DHHn55zzjm8+OKLvPTSS+XHbr31Vm699dZjPlkoFGLJkiWVGlCSJEmSarJPV+3kk5VlS6UMOb0lnVo1CDiRFE0sdPVvxyyp7rzzTnr06EF2djZFRUW8/PLL9OnTh7Zt21ZnPkmSJEmqsUpKw0yesQKA5MRYvjo8I+BEkhS9jllSJSQk8LWvfa38zy+99BJXXnklF154YbUEkyRJkqSabvqHG8nZlQ/ARYM70jAlIeBEkhS9KrzdxLJly8pv79ixg82bNxMfH096ejqNGzeuknCSJEmSVFPtzivk5TlrAGjZpB6j+rQJOJEkRbcT2hN18eLF/PrXv+azzz477PgZZ5zBz3/+c04//fRKDSdJkiRJNdULs1dRWFQKwNWjM4mLPea+VJKkCqhwSbV8+XL+67/+C4ArrriCjIwMwuEwq1ev5l//+hfXXHMNzz33HJmZmVUWVpIkSZJqgpWb9vD+4q0A9M5symkdmwScSJKiX4VLqgcffJCUlBSmTJlC69atDzt34403ctlll/GHP/yBhx56qNJDSpIkSVJNEY5EmDgtG4C42BiuHOU/1EtSZajweNQPP/yQ8ePHH1FQAbRo0YKrr76a+fPnV2q4ylJUVMQ3v/lNZs2aFXQUSZIkSVHuvU+3sG7rPgDOG9CO5mnJASeSpNqhwiVVUVERKSkpxzyfmprKgQMHKiVUZVq2bBkTJkzgo48+CjqKJEmSpCiXf6CYf7y9CoBG9RMZd1b7gBNJUu1R4ZKqW7duvPrqq5SUlBxxrri4mH/9619kZWVVarjKMHnyZG688UZ69uwZdBRJkiRJUe7l99ayL78YgCtHdiYxITbgRJJUe1S4pLr++uv57LPP+NrXvsabb77J8uXLWb58Oa+//jpf+9rX+Pzzz7n22murMutRvfTSS3Tv3v2I//btKxt+e+eddzJixIhqzyVJkiSpdtm0PY8ZCzcC0KVtGv26Ng84kSTVLhVeOH306NHccccd3HfffXz/+98vPx6JREhMTOQnP/kJ5513XlVkPK6LL76Yiy++uNpfV5IkSVLdEYlEmDR9BeFIhFAIxo/JIhQKBR1LkmqVCpdUABMmTGDcuHHMnTuXjRs3EolEaNOmDYMGDSItLa2KIkqSJElSsD7K3s7SdbkAjOjdmrbNUwNOJEm1zwmVVABpaWmMHTu2KrJIkiRJUo1TVFzKszNWApCSFMfFQzsFnEiSaqcKr0lV1ZYuXUqPHj3YunXrEedeffVVxo0bR8+ePRk7diwvvfRS9QeUJEmSVCe9MX89O/eW7WR+6bAMUpPjA04kSbXTCY+kqgqrVq3i29/+9lF3Dpw6dSq33HILX//61xkyZAjTp0/nJz/5CUlJSSe0BtYzzzxTmZElSZIk1QE79hTw2rx1ALRtnsqwM1oFnEiSaq9AS6qSkhKmTJnC73//e+Ljj/6vEQ888ABjx47ltttuA2Do0KHs2bOHhx56qMoXam/SxHnmVaVZs/pBR1CU8xrSqfIa0qnyGtKp8hqKDn+euozikjAAN13ei/T0BgEn+jevIZ2qmnAN7S8oLr+dkppUIzKp4ir751XhkiocDhMTU7mzAxcuXMh9993HddddR3p6Orfffvth5zds2MD69ev54Q9/eNjxc889l9dff50NGzbQtm3bSs30RTt35hEOR6rs+euqZs3qs337vqBjKIp5DelUeQ3pVHkN6VR5DUWHpWt3MefTzQAM6J5O8/oJNebn5jWkU1VTrqH8A/+eUbU/70CNyKSKOZlrKCYmdNwBQRVunb7yla/w9NNPn9CLf5mMjAymT5/Od7/7XWJjY484v3r1agA6dux42PH27dsDsGbNmkrNI0mSJEkApeEwk6avACAxPpYrRnQOOJEk1X4VHkm1du1akpOTK/XFmzZtetzz+/aVNXKpqYe3bCkpKQDk5eVVah5JkiRJApj10SY27dgPwAWD2tOofmLAiSSp9qvwSKohQ4bw1ltvUVRUVJV5DhOJHH+qXWVPP5QkSZKkvflFvPRu2ayN5mnJnNOv6pYYkST9W4VHUnXt2pWnn36aoUOHcvrpp9OkSZMjSqJQKMTdd99daeHq1y9bgGv//v2HHT80gurQeUmSJEmqLC++s5r8wrJ1cq4alUl83JFLk0iqfK4IrQqXVI8++mj57ffee++o96nskurQWlTr16+nS5cu5cfXrVt32HlJkiRJqgxrt+7lnU/KFks/rVNjzujcJOBEUu0WCgWdQDVJhUuqZcuWVWWOo2rfvj1t2rThjTfeYMyYMeXH33rrLTp06ECrVq2qPZMkSZKk2ikSiTBxWjYRIDYmxNWjMgn5CVqSqk2FS6ovCofD7Nq1iwYNGpCQkFDZmQ5z0003cdttt9GwYUOGDx/OjBkzeP3113nggQeq9HUlSZIk1S3zPs9h1aa9AIzp15aWTVICTiRJdcsJlVTr1q3jvvvu47333uPAgQP85S9/AeD+++/nJz/5CX379q30gJdeeilFRUX85S9/4fnnn6dt27bce++9nH/++ZX+WpIkSZLqpoLCEp6bvRKAhikJXDioQ7CBJKkOqnBJtXbtWq644gpCoRBDhw5l2rRpAMTGxrJ69WquvfZa/va3v9GrV6+TCnLppZdy6aWXHvXcVVddxVVXXXVSzytJkiRJX+bVuWvZk1e2k/llwzNITjypSSeSpFMQ8+V3KXP//feTlJTE1KlT+dWvfkUkUrbufv/+/Zk6dSpNmzblD3/4Q5UFlSRJkqSqkLMrn7cWbAAgo1UDBp7WIuBEklQ3VbikmjdvHldffTVNmjQ5YvHA9PR0xo8fz+LFiys9oCRJkiRVpckzVlAajhACxo/JIsbF0iUpEBUuqYqKimjQoMExz8fHx1NYWFgpoSRJkiSpOixauYNPV+0EYEjPlnRseezPPJKkqlXhkqpr167MnDnzqOdKSkp45ZVX6NKlS6UFkyRJkqSqVFwSZvKMFQAkJ8bx1WEZASeSpLqtwiXVt7/9bd5//31uueUW5s2bB8CmTZuYMWMG11xzDUuWLOGb3/xmlQWVJEmSpMo07cMNbMstAODiIR1pkJIQcCJJqtsqvGXFiBEjuOuuu7j77rt57bXXALjjjjuIRCIkJibyk5/8hHPPPbfKgkqSJElSZcndV8i/5qwFoFXTFEac2TrYQJKkipdUAJdeeinnnHMOc+bMYcOGDYTDYVq3bs2gQYNo1KhRVWWUJEmSpEr1wuyVFBaXAnD16EziYis8yUSSVEVOqKQCSE1N5ZxzzmHXrl3ExMRYTkmSJEmKKis27mbu5zkA9MlqRo8OjQNOJEmCEyypVq1axUMPPcR7771HQUHZ3O369eszatQovve979GiRYsqCSlJkiRJlSEcjjBxWjYA8XExXDmyc8CJJEmHVLik+uyzz7jmmmsoLi7m7LPPpl27dkQiEdasWcMrr7zCO++8w+TJk2nXrl1V5pUkSZKkk/bOp5tZn5MHwNgB7WialhxwIknSIRUuqe677z5SU1OZOHHiEUVUdnY211xzDffeey9//OMfKz2kJEmSJJ2q/QeK+efbqwFo0iCRsWe1DziRJOmLKrw64KJFi7jmmmuOOlIqKyuLa665hrlz51ZqOEmSJEmqLC+9u4a8gmIArhyZSWJ8bMCJJElfVOGSqkGDBpSWlh7zfEpKCklJSZUSSpIkSZIq08Ztecz6aBMAXdul0adLs4ATSZL+U4VLqgkTJvDUU0+xcuXKI87l5OTwzDPPcMUVV1RqOEmSJEk6VZFIhEnTswlHIsSEQowfnUUoFAo6liTpPxxzTarbbrvtiGOFhYVcfPHFDB06lI4dOxIKhdi0aRPvvPMOiYmJVRpUkiRJkk7Gh8u3s2z9bgBGnNmaNs1Tgw0kSTqqY5ZUL7744jEfNGvWLGbNmnXYsfz8fB5//HG+//3vV1o4SZIkSToVhcWlTJm5AoDU5HguHtox4ESSpGM5Zkm1bNmy6swhSZIkSZXu9Xnr2LW3EICvDutESlJ8wIkkHUskEnQCBa3Ca1JJkiRJUjTZvruAqfPWA9A+vT5De7YKOJEk6XiOOZLqaF566SXmzJnD9u3bCYfDR5wPhUI8/fTTlRZOkiRJkk7WczNXUlJa9rll/JhMYmJcLF2SarIKl1QPPPAAjz/+OPHx8TRp0oSYGAdhSZIkSaqZPl+7i4XZ2wEY2COdzDZpwQaSJH2pCpdUL774IkOGDOGRRx4hOTm5KjNJkiRJ0kkrKQ0zaVo2AIkJsVw2vHPAiSRJFVHh4VB5eXmce+65FlSSJEmSarSZH21iy858AC4a1IFG9RMDTiRJqogKl1RDhw5l3rx5VZlFkiRJkk7J3v1FvPzeagDSGyUzum/bgBNJkiqqwtP97rjjDr75zW/yox/9iNGjR9OkSRNCoSMXHuzXr1+lBpQkSZKkivrH26soKCwF4OrRmcTHuZauJEWLCpdUmzdvZt++fbz22mtMnTr1iPORSIRQKMTSpUsrNaAkSZIkVcSaLXt579MtAPTMaELPjKYBJ5IknYgKl1S//vWv2bt3L9dddx0dOnQgLq7CD5UkSZKkKhWORJg0LZsIEBsT4upRmUFHkiSdoAo3TStWrOC73/0u3/rWt6oyjyRJkiSdsLmLt7Jq814AzunflvTG9QJOJEk6URWeoN2iRQtiYpzPLUmSJKlmKSgs4fnZqwBIS03gwkEdgg0kSTopFW6drr/+ep5++mlWrlxZlXkkSZIk6YT8a85a9u4vAuDyEZ1JSnBpEkmKRhV+9162bBmhUIiLLrqItm3b0rRpU2JjYw+7TygU4umnn670kJIkSZJ0NFt27mfahxsA6Ny6IWd1Tw84kSTpZFW4pJo1axaxsbG0aNGC4uJitmzZUpW5JEmSJOm4IpEIk6evoDQcIQRMGJNFKBQKOpYk6SRVuKSaOXNmVeaQJEmSpBOyaOVOFq/ZBcDZvVrRvkX9gBNJkk6FK6FLkiRJijrFJaVMnpENQL3EOC45u1PAiSRJp6rCI6muueaaCt3vb3/720mHkSRJkqSKeHPBBrbvPgDAJWd3okG9hIATSZJOVYVLqo0bNx5xLBwOk5ubS2FhIa1btyYzM7NSw0mSJEnSf9q19wCvzl0LQOtmKQzv3SrYQJKkSnHKa1KVlpYyY8YMbr/9dq677rpKCyZJkiRJR/P87FUUFYcBGD86i9gYVzGRpNrglN/NY2NjOeecc7j88su57777KiOTJEmSJB1V9obdzF+SA0Dfrs3p1r5RwIkkSZWl0v7JoUOHDixbtqyynk6SJEmSDhMOR5g4rWyx9IS4GK4YkRFwIklSZaqUkqqoqIhXXnmFJk2aVMbTSZIkSdIR3l60mQ3b8gA4/6z2NG2YHHAiSVJlOuXd/YqKilizZg179+7lf/7nfyotmCRJkiQdkldQzD/fXgVA04ZJnDegXcCJJFWGUCjoBKpJTml3Pyhbk6pTp05ccMEFjB8/vtKCSZIkSdIhL767mv0HSgC4cmQmCfGxASeSJFW2U97dT5IkSZKq0vqcfcz+eBMA3Ts04syspgEnkiRVBfdqlSRJklRjRSIRJk1fQSQCMaEQV4/OIuT8IEmqlY45kuoPf/jDST3hd7/73ZMOI0mSJElf9MGybWRv2A3AqD5taN00JdhAkqQqc8ol1X/+K4YllSRJkqTKUFhUypSZKwGoXy+erwzpEGwgSVKVOmZJNWPGjC99cF5eHg888ACzZ88mLi7umDsASpIkSdKJem3eWnL3FQLw1WEZ1EuKDziRJKkqHbOkat269XEfOHXqVH73u9+xbds2zjzzTH71q1+RlZVV6QElSZIk1T3bcvN5Y/56ADq0qM+Qni0DTiRJqmoV3t3vkA0bNnDnnXcyZ84cGjZsyG9/+1suu+yyqsgmSZIkqY6aMnMlJaURACaMySLGxdIlqdarcElVXFzME088wZ/+9CcKCwu55JJLuPXWW2nUqFFV5pMkSZJUxyxevZOPV+wAYPBpLcho3TDgRJKk6lChkmrevHnceeedrFmzhszMTH75y1/St2/fqs4mSZIkqY4pKQ0zafoKAJISYvnq8IyAE0mSqstxS6pdu3Zx991389prr5GUlMSPfvQjvvnNbxIXd8KzBCVJkiTpS81YuJGtu/IBuGhwR9JSEwNOJEmqLsdsmyZPnsyDDz7I3r17GTlyJLfffjstW7pYoSRJkqSqsSevkJffWwNAi8b1GN23TcCJJEnV6Zgl1Z133ll+e+bMmcycOfNLnywUCrFkyZLKSSZJkiSpTnnh7VUcKCoF4OrRmcTFxgScSJJUnY5ZUl188cWE3EFDkiRJUjVYtXkPcz7bCkCvzk05vVOTgBNJkqrbMUuq3/3ud9WZQ5IkSVIdFY5EmDQtG4C42BBXjeoccCJJUhAcPytJkiQpUHM+28KaLfsAOLd/O5o3qhdwIklSECypJEmSJAUm/0AJ/5i9CoBG9RMZN7B9wIkkSUGxpJIkSZIUmFfmrGFvfjEAl4/IICnhmCuSSJJqOUsqSZIkSYHYvGM/MxZuBCCrTUMGdEsPOJEkKUiWVJIkSZKqXSQSYdL0bErDEUIhGD8my93FJamOs6SSJEmSVO0+XrGDJWtzARjeqzXt0usHnEhS0CJEgo6ggFlSSZIkSapWRcWlPDtjBQApSXFccnangBNJkmoCSypJkiRJ1erNBevZsecAAJec3YnU5PiAE0kKSgin+erfLKkkSZIkVZtdew/w2tx1ALRplsqwXq0CTiRJqiksqSRJkiRVmykzV1JUEgZgwphMYmP8SCJJKuPfCJIkSZKqxbJ1uXywbBsA/bs1p0u7RgEnkiTVJJZUkiRJkqpcaTjMpOnZACTEx3DFiM4BJ5Ik1TSWVJIkSZKq3OyPN7Nx+34Axg3sQOMGSQEnkiTVNJZUkiRJkqrUvvwiXnp3NQBNGyZxXv+2ASeSJNVEllSSJEmSqtSL765h/4ESAK4elUl8XGzAiSRJNZEllSRJkqQqs27rPt7+eBMAPTo2pldm04ATSZJqKksqSZIkSVUiEokwaXo2ESA2JsT40ZmEQqGgY0mSaihLKkmSJElVYv6SHFZs3APA6L5taNkkJeBEkqSazJJKkiRJUqU7UFTCc7NWAtAgJYGLBncMOJEkqaazpJIkSZJU6V6bu47deUUAXDYsg+TEuIATSZJqOksqSZIkSZUqJzefNxesB6BjywYMOr1FwIkkSdHAkkqSJElSpZoyYyUlpREAJozJIsbF0iVJFWBJJUmSJKnSfLpqJ5+s3AHAkJ4t6dSqQcCJJEnRwpJKkiRJUqUoKQ0zeXo2AMmJsXx1WEbAiSRJ0cSSSpIkSVKlmPbhBnJyCwD4yuCONExJCDiRJCmaWFJJkiRJOmW78wp5Zc5aAFo2qcfIPm2CDSRJijqWVJIkSZJO2QuzV1FYVArA+NFZxMX6UUOSdGL8m0OSJEnSKVm5aQ/vL94KQO/MpvTo2DjgRJKkaGRJJUmSJOmkhcMRJk4rWyw9LjaGq0ZlBpxIUtSKBB1AQbOkkiRJknTS3vtsC+u27gNg7IB2NEtLDjiRpKgSCjqAahJLKkmSJEknJf9AMS/MXgVA4waJnD+wfcCJJEnRzJJKkiRJ0kl56b015BUUA3DFiM4kxscGnEiSFM0sqSRJkiSdsE3b85i5cBMAXdqm0a9r84ATSZKinSWVJEmSpBMSiUSYNH0F4UiEUAjGj8kiFHJhGUnSqbGkkiRJknRCFi7fztJ1uQCM7N2Gts1TA04kSaoNLKkkSZIkVVhhcSlTZq4AIDU5nq8M7RhwIklSbWFJJUmSJKnC3pi/np17CwG49OxOpCbHB5xIklRbWFJJkiRJqpAdewqYOm8dAO2ap3L2Ga0CTiRJqk0sqSRJkiRVyHMzV1JcEgbKFkuPiXGxdElS5bGkkiRJkvSllq7dxYfLtwNwVvd0stqmBRtIklTrWFJJkiRJOq7ScJhJ08sWS0+Mj+XyEZ0DTiRJqo0sqSRJkiQd18yPNrFpx34ALhjUnkb1EwNOJEmqjSypJEmSJB3T3vwiXnp3DQDN05I5p1+7gBNJkmorSypJkiRJx/TPt1dTUFgCwFWjM4mP8yOEJKlq+DeMJEmSpKNau3Uv7y7aDMDpnZpwRkaTgBNJkmozSypJkiRJR4hEIkyclk0EiI0JcdWozoRCoaBjSZJqMUsqSZIkSUeY93kOqzbtBWBMv7a0bJIScCJJUm1nSSVJkiTpMAWFJTw3eyUADVMSuHBQh2ADSZLqBEsqSZIkSYd59f217MkrAuDyERkkJ8YFnEiSVBdYUkmSJEkqt3VXPm99sAGAjNYNOKtHi4ATSZLqCksqSZIkSeWenbGC0nCEEDB+dBYxLpYuqZpEgg6gwFlSSZIkSQJg0codfLpqJwBDz2hJx5YNAk4kqbazBtcXWVJJkiRJorgkzOQZKwBITozj0rMzAk4kSaprLKkkSZIk8dYH69mWWwDAxUM70iAlIeBEkqS6xpJKkiRJquNy9xXy6vvrAGjdNIURvVsHnEiSVBdZUkmSJEl13POzV1JYXArA1aMziYv1Y4IkqfrFBR1AkiRJqkq79h5gz/6ioGMcZveBEnJz84OOAcD23QXM+zwHgD5dmtG9Q+OAE0mS6ipLKkmSJNVaS9bu4v4piwhH3Nj8y8THxXDliM5Bx5Ak1WGO45UkSVKtVFIa5pm3si2oKuiCQR1ompYcdAxJUh3mSCpJkiTVStM/3EjOrrIpdef0a0vX9o0CTvRvDRsms2dPQdAxytVLjCOzTcOgY0iS6jhLKkmSJNU6u/MKeXnOGgBaNqnHZcMzatRi4M2a1Wf79n1Bx5AkqUapOX9TS5IkSZXkH7NXUVjkbnWSJEUT/7aWJElSrbJq0x7mLN4KQO/MppzWsUnAiSRJUkVYUkmSJKnWCEciTJyWDUBcbAxXjsoMOJEkSaooSypJkiTVGu99uoW1W8vWejpvQDuau1udJElRw5JKkiRJtUL+gWL+8fYqABrVT2TcWe0DTiRJkk6EJZUkSZJqhZffW8u+/GIArhzZmcSE2IATSZKkE2FJJUmSpKi3acd+ZizcCEBW2zT6dW0ecCJJknSiLKkkSZIU1SKRCJOmZROORAiFYPzoTEKhUNCxJEnSCbKkkiRJUlT7KHsHS9flAjCid2vapdcPOJEkSToZllSSJEmKWkXFpUyZuQKAlKQ4Lh7aKeBEkiTpZFlSSZIkKWq9MX89O/YcAODSYRmkJscHnEiSJJ0sSypJkiRFpR17Cnht3joA2jZPZdgZrQJOJEk6FZFIJOgICpgllSRJkqLSc7NWUVwSBmDCmCxiYlwsXZKijftc6IssqSRJkhR1lq7L5cNl2wAY0D2drLZpwQaSJEmnzJJKkiRJUaU0HGbS9GwAEuNjuWJE54ATSZKkymBJJUmSpKgy66NNbNq+H4ALBrWnUf3EgBNJkqTKYEklSZKkqLE3v4iX3l0DQPO0ZM7p1zbgRJIkqbJYUkmSJClqvPjOavILSwC4alQm8XGxASeSJEmVxZJKkiRJUWHd1n2888lmAE7r1JgzOjcJOJEkSapMllSSJEmq8SKRCBOnZRMBYmNCXD0qk5D7lkuSVKtYUkmSJKnGm7ckh5Wb9gAwpl9bWjZJCTiRJEmqbJZUkiRJqtEKCkt4btZKABqmJHDhoA7BBpIkSVXCkkqSJEk12qtz17InrwiAy4ZnkJwYF3AiSZJUFSypJEmSVGPl7MrnrQUbAMho1YCBp7UIOJEkSaoqllSSJEmqsSbPWEFpOEIIGD8mixgXS5ckqdaypJIkSVKNtGjlDj5dtROAIT1b0rFlg4ATSZKkqmRJJUmSpBqnuCTMszNWAJCcGMdXh2UEnEiSJFU1SypJkiTVONM+3EBObgEAFw/pSIOUhIATSZKkqmZJJUmSpBold18h/5qzFoBWTVMYcWbrYANJkqRqYUklSZKkGuWF2SspLC4F4OrRmcTF+iurJEl1gX/jS5IkqcZYsXE3cz/PAaBPVjN6dGgccCJJklRdLKkkSZJUI4TDESZNK1ssPT4uhitHdg44kSRJqk6WVJIkSaoR3v10M+ty9gEwdkA7mqYlB5xIkiRVJ0sqSZIkBW7/gWL+8fZqAJo0SGTsWe0DTiRJkqqbJZUkSZIC99K7a8grKAbgypGZJMbHBpxIklQ9QkEHUA1iSSVJkqRAbdyWx6yPNgHQtV0afbo0CziRJEkKgiWVJEmSAhOJRJg0PZtwJEJMKMT40VmEQv6ruiRJdZEllSRJkgKzcPl2lq3fDcCIM1vTpnlqsIEkSVJgLKkkSZIUiMLiUqbMXAFAanI8Fw/tGHAiSZIUJEsqSZIkBeL1eevYubcQgK8O60RKUnzAiSRJUpAsqSRJklTttu8uYOq89QC0T6/P0J6tAk4kSZKCZkklSZKkavfczJWUlIYBGD8mk5gYF0uXJKmus6SSJElStfp87S4WZm8HYGCPdDLbpAUbSJIk1QiWVJIkSao2JaVhJk8vWyw9MT6Wy4Z3DjiRJEmqKSypJEmSVG1mfbSJzTv2A3Dh4A40qp8YcCJJklRTWFJJkiSpWuzdX8RL760BIL1RMmP6tg04kSRJqkksqSRJklQt/vH2KgoKSwC4enQm8XH+KipJkv7N3wwkSZJU5dZs2ct7n24BoGdGE3pmNA04kSRJqmksqSRJklSlwpEIk6ZlEwFiY0JcPSoz6EiSJKkGsqSSJElSlZq7eCurNu8F4Jz+bUlvXC/gRJIkqSaypJIkSVKVKSgs4YXZqwBomJrABQM7BBtIkiTVWJZUkiRJqjL/mrOWPfuLALhiRGeSE+MCTiRJkmoqSypJkiRViS079zPtww0AdG7dkLO6pwecSJIk1WSWVJIkSap0kUiEydNXUBqOEAImjMkiFAoFHUuSJNVgllSSJEmqdItW7mTxml0AnN2rFe1b1A84kSRJquksqSRJklSpiktKmTwjG4B6iXFccnangBNJkqRoYEklSZKkSvXWBxvYvvsAABcP7UiDegkBJ5IkRYNIJOgECpollSRJkirNrr0H+Nf7awFo3SyFEWe2DjaQJKlGc7lCfZEllSRJkirN87NXUVQcBmD86CxiY/x1U5IkVYy/NUiSJKlSZG/YzfwlOQD07dqcbu0bBZxIkiRFE0sqSZIknbJwOMLEaWWLpSfExXDFiIyAE0mSpGhjSSVJkqRT9vaizWzYlgfA+We1p2nD5IATSZKkaGNJJUmSpFOSV1DMP99eBUDThkmcN6BdwIkkSVI0sqSSJEnSKXnx3dXsP1ACwJUjM0mIjw04kSRJikaWVJIkSTpp63P2MfvjTQB079CIM7OaBpxIkiRFK0sqSZIknZRIJMKk6SuIRCAmFOLq0VmEQqGgY0mSpChlSSVJkqST8sGybWRv2A3AqD5taN00JdhAkiQpqllSSZIk6YQVFpUyZeZKAOrXi+crQzoEG0iSJEU9SypJkiSdsNfmrSN3XyEAXx2WQb2k+IATSZKkaGdJJUmSpBOybXcBb8xfD0CHFvUZ0rNlwIkkSVJtYEklSZKkEzJlxgpKSsMATBiTRYyLpUuSpEpgSSVJkqQKW7x6Jx+v2AHA4NNakNG6YcCJJElSbWFJJUmSpAopKQ0zafoKAJISYvnq8IyAE0mSpNrEkkqSJEkVMmPhRrbuygfgosEdSUtNDDiRJEmqTSypJEmS9KX25BXy8ntrAGjRuB6j+7YJOJEkSaptLKkkSZL0pV54exUHikoBuHp0JnGx/hopSZIql79dSJIk6bhWbd7DnM+2AtCrc1NO79Qk4ESSJKk2sqSSJEnSMYUjESZNywYgLjbEVaM6B5xIkiTVVpZUkiRJOqY5n21hzZZ9AJzbvx3NG9ULOJEkqbaKBB1AgbOkkiRJ0lHlHyjhH7NXAdCofiLjBrYPOJEkSarNLKkkSZJ0VK/MWcPe/GIALh+RQVJCXMCJJElSbWZJJUmSpCNs3rGfGQs3ApDVpiEDuqUHnEiSJNV2llSSJEk6TCQSYdL0bErDEUIhGD8mi1AoFHQsSZJUy1lSSZIk6TAfr9jBkrW5AAzv1Zp26fUDTiRJkuoCSypJkiSVKyou5dkZKwBISYrjkrM7BZxIkiTVFZZUkiRJKvfmgvXs2HMAgEvO7kRqcnzAiSRJUl1hSSVJkiQAdu09wGtz1wHQplkqw3q1CjiRJEmqSyypJEmSBMCUmSspKgkDMGFMJrEx/qooSZKqj795SJIkiWXrcvlg2TYA+ndrTpd2jQJOJEmS6hpLKkmSpDquNBxm0vRsABLiY7hiROeAE0mSpLrIkkqSJKmOm/3xZjZu3w/AuIEdaNwgKeBEkiSpLrKkkiRJqsP25Rfx0rurAWjaMInz+rcNOJEkSaqrLKkkSZLqsBffXcP+AyUAXD0qk/i42IATSZKkusqSSpIkqY5at3Ufb3+8CYAeHRvTK7NpwIkkSVJdZkklSZJUB0UiESZOzyYCxMaEGD86k1AoFHQsSZJUh1lSSZIk1UHzl+SwcuMeAEb3bUPLJikBJ5IkSXWdJZUkSVIdc6CohOdmrQSgQUoCFw3uGHAiSZIkSypJkqQ657W569idVwTAZcMySE6MCziRJEmSJZUkSVKdkpObz5sL1gPQsWUDBp3eIuBEkiRJZSypJEmS6pBnp6+gpDQCwIQxWcS4WLokSaohLKkkSZLqiE9X7WDRqp0ADOnZkk6tGgScSJKkL4hEgk6ggFlSSZIk1QElpWEmT18BQHJiLF8dlhFwIkmSwAG9+iJLKkmSpDpg2ocbyMktAOArgzvSMCUh4ESSJEmHs6SSJEmq5XbnFfLKnLUAtGxSj5F92gQbSJIk6SgsqSRJkmq5F2avorCoFIDxo7OIi/VXQEmSVPP4G4okSVIttnLjHt5fvBWA3plN6dGxccCJJEmSjs6SSpIkqZYKhyNMnJ4NQFxsDFeNygw4kSRJ0rFZUkmSJNVS7322hXVb9wEwdkA7mqUlB5xIkiTp2CypJEmSaqH8A8W8MHsVAI0bJHL+wPYBJ5IkSTo+SypJkqRa6KX31pBXUAzAFSM6kxgfG3AiSZKk47OkkiRJqmU2bc9j5sJNAHRpm0a/rs0DTiRJkvTlLKkkSZJqkUgkwqTpKwhHIoRCMH5MFqFQKOhYkiRJX8qSSpIkqRZZuHw7S9flAjCydxvaNk8NOJEkSVLFWFJJkiTVEoXFpUyZuQKA1OR4vjK0Y8CJJEmSKs6SSpIkqZZ4Y/56du4tBODSszuRmhwfcCJJkqSKs6SSJEmqBXbsKWDqvHUAtGueytlntAo4kSRJ0omxpJIkSaoFnpu5kuKSMFC2WHpMjIulS5Kk6GJJJUmSFOWWrN3Fh8u3A3BW93Sy2qYFG0iSJOkkWFJJkiRFsZLSMJOnly2Wnhgfy+UjOgecSJIk6eRYUqlO2767gMnTV7B2696go0iqo9bn7GPy9BXk5OYHHUVRatbHm9i0Yz8AFwxqT6P6iQEnkiRJOjmWVKrT/t+kj5j24QZ+/dSHQUeRVEf96q8fMO3DDdz9zMKgoyhKvbNoMwDN05I5p1+7gNNIkiSdPEsq1WmHtumWpKDtyy8OOoKiVGFRKQCd2zQkPs5f7SRJUvTyNxlJkiRJkhS4SNABFDhLKkmSJEmSFIgQoaAjqAaxpJIkSZIkSVLgLKkkSZIkSZIUOEsqSZIkSZIkBc6SSpIkSZIkSYGzpJIkSZIkSVLgLKkkSZIkSZIUOEsqSZIkSZIkBc6SSpIkSZIkSYGzpJIkSZIkSVLgLKkkSZIkSZIUOEsqSZIkSZIkBc6SSpIkSZIkSYGzpJIkSZIkSVLgLKkkSZIkSZIUOEsqSZIkSZIkBc6SSpIkSZIkSYGzpJIkSZIkSVLgLKkkSZIkSZIUOEsqSZIkSZIkBc6SSpIkSZIkSYGLCzpATRYTEwo6Qq1VU763zRsll9+uKZlUMf68dKpqyjXk+1D0qik/ryYNk4iJCdEwNaHGZFLF+PPSqfIa0qmqKdfQod+HUpPja0wmVcyJ/ry+7P6hSCQSOZVAkiRJkiRJ0qlyup8kSZIkSZICZ0klSZIkSZKkwFlSSZIkSZIkKXCWVJIkSZIkSQqcJZUkSZIkSZICZ0klSZIkSZKkwFlSSZIkSZIkKXCWVJIkSZIkSQqcJZUkSZIkSZICZ0mlavPqq68ybtw4evbsydixY3nppZeCjqQotXTpUnr06MHWrVuDjqIoEg6HmTx5MhdeeCG9e/dm9OjR3HPPPeTl5QUdTVEiEonw1FNPce6559KzZ08uuugi/vWvfwUdS1Hsu9/9LmPGjAk6hqJISUkJPXv2pEuXLof917t376CjKYp88MEHXH311ZxxxhkMGTKE3/zmN+zfvz/oWIoC8+fPP+L954v/vfjii6f8GnGVkFP6UlOnTuWWW27h61//OkOGDGH69On85Cc/ISkpifPOOy/oeIoiq1at4tvf/jYlJSVBR1GUefLJJ3nwwQe57rrrGDhwIGvWrOHhhx9m5cqV/PnPfw46nqLA448/zsMPP8z//M//0KtXL9555x1uueUWYmNjOf/884OOpyjz8ssvM23aNNq1axd0FEWRNWvWUFhYyL333kuHDh3Kj8fEOPZAFfPJJ5/wzW9+k5EjR/Loo4+ybt067r//fnbt2sUDDzwQdDzVcD169GDKlCmHHYtEIvz85z8nPz+fYcOGnfJrWFKpWjzwwAOMHTuW2267DYChQ4eyZ88eHnroIUsqVUhJSQlTpkzh97//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/FFw9Tjx69yuGjLOngwQP64IN3dPPNt+uJJ57R/v2JevDBe/Xmm69q9OibNGHCCzp06KCeffbJMz7Pe++9KUl69tkXdccdd2vFimV6663Jxfs//vh9Pf/802rTpp1eeGGSrrlmpL7//js99NB9xeXSs88+ob179+iBB8Zr0qTX1bhxEz3//NNau/bPUq93ySXDdNllcX+/9qe65JJhGjr0EqWkHNSGDeuKj8vJydayZb9p8OBTzw+z2+26//67tGrVCt155716/PGntXHjBi1cOP+0H+tff63Xc889pV69+uiVV97QXXf9n+Ljf9eECY9LKrpMslmz5mrcuInee+9TNWnyz6qsKVM+0j333K97732w1Iq7kxYsmK+9exP05JPP6cYbb9Evv8zRk0+OP20eZz43/3XkyBHdcstobdmySXfccY8mTHhRXl7euvfeOxQf/0eJY1966TnVqhWtF198RSNHXqeffpqtL7449eWz5YXLAAEAAAAA523PgUz9uCJBufmFhubw9nTTJV3rqX6tgPN+jhdeeFqHDx/SG2+8XzwX6d/mz58jSerff5AkqW/fgXrjjcn64YfvdMcd95Q6vlWrCxQeXlNLlixU06bNJEkrVy6Xt7eP2rXrUOr4W2+9Qzk5OZoz54fiwqBmzQh17txV11wzUnXq1D3vj+10Tpw4oYceerQ4z/r1a/Xtt9/o9dffVfv2HSVJSUlJevvt13T8+HHVqFHjlM/TsGFjPfpo0UDxjh2LVqgtXbpEkpSZmaGpUz/T5Zdfqbvvvl+S1KnTRQoPj9BTT43XqlUr1KVLN61fv1Y33HBzcSnXpk07BQYGycPDo9Tr1awZofDwmpL+ubwtNDRM4eE19csvc9SmTTtJ0qJFCyQ51L//wFPmXr16pbZu3axXXnlTF17YWZLUvn0nXXXVJaf9nG3YsF5eXt4aNep6eXp6SpICAgK1bdsWORwO1atXXzVq+Kmw0Fbq0ru4uKvVs2ef0z63JAUFBemVV96Ql5e3JMnd3V2TJr2knTu3q1GjJmd8rHTqz81/TZ8+VVlZ2frgg8+KL0ft0qWbbrhhhN5990199NHnxcd27dpdd955rySpQ4dO+uOPNVq5cpluueX2s2Y5X5RVAAAAAIDz9uufSdqw+6jRMSRJPl7uuvXSFuf12K+//lLLlv2mO+64Rxdc0OaUx8yZ86M6drxQbm5uysrKklS0GmrOnJ90yy13lCpVTl4KuGTJQt12252Sii4B7NWrr9zc3Eo9v6enpx5++DHdfPNYrVq1ovjyse+//05z5vyoZ555Ud279zqvj+9MWrT4Z4XPyZLu36t+AgMDJUnZ2VmnLatatSo5iL5mzQjl5p6QJG3evEn5+fnq169kYdS7d18995yH1q2LV5cu3dS2bdElazt2bNdFF3XWRRd107hxpUvA03Fzc9OgQUM1a9ZM/d//PSRPT0/NnfuTunTproCAwFM+ZsOGdfL09CouqiTJx8dHF13UVRs3bjjlY9q2bacPP3xHo0dfo169+qpz567q1Okide7c9awZGzVqfNZjOnfuVlxUSVK3br00adJL+uuv9U6VVc5Yv36tWre+oMTcNKvVqr59B+ijj94rcdnhf7+24eE1dfjw4XLJcTqUVQAAAACA89a/Q4xy82ymWFnVv2PMeT1206aNeu+9t9SjR2+NHHndKY/Ztm2rdu/epd27d2nw4N6l9v/226JSZYxUdCngjBnTtHPndkVHx2jVqhV69dW3zpgnNDRMF198mS6++DJJRbOmnnnmCU2a9JK6detZrnfic3NzK1GMnOTj43NOz+Pl5VXi3xaLpfjyvqysTElFH9e/Wa1WBQUFKzs7W5I0YcIL+vzzT7Ro0a9asmShrFarOnS4UA899KgiI6OcyjFkyCX64otPtWLFUjVu3FQbN27Q//43+bTHZ2ZmKigoqNT2/2b9t5YtW+vll1/X9OlTNX36VH355RSFhIRq9OgbdeWVw8+Yz8fn1GXfv/13Vd/JfCc/T+UhKytTderUKbU9JCRUDodDx48fL97m7V3y/LBarXI4Ss9WK0+UVYCkH1fu1Z7kDN04tJkCangaHQcAAABwGfVrBeieqy44+4EmlZmZoaeeGq/IyKjiy9hOZc6cH+Tr66sXX3yl1L5nnnlC33//3SnLqpYtW6tmzQgtXrxQ9erVV0BAoFq3blPquM2bN+mRR+7Tk08+U+oOhO3addDIkdfpjTdeVVZW5mlXCf2bxWKR3V6yQDxx4sRZH1cR/P39JUlHjx4pcfc7u92u9PS04jLGz89Pd9xxt+64424lJu7VsmW/acqUj/Tqq/87Y+H0bzExddS6dRstWrRAycn7FRISqk6dOp/2+KCgIB07li6Hw1GiBMzMzDjj61x4YWddeGFn5ebmKj7+D82YMU2vvTZJLVteUHzJ5/k6uWrvpJOD6k+WWEVf25Jl0YkTx3Uu/P39dfRo6RWRR48ekVR0WePJ943AgHVUe5nH8zVr6R5t2H1UU+fvMDoOAAAAgEricDj03HNPKT09Xc8++5L8/PxOeVx+fr5+/fUXde/eS+3adSj11r//IK1bF6/ExL2lHlt0KWAf/fbbIi1ZslB9+vQ75cqomJg6OnHiuGbM+PqUdwRMTNyn8PCaThVVkuTr66vDhw+V2PbXX+udemx5a9GilTw9PbVgwS8lti9evFA2m02tW1+gw4cPKS5uqBYvXiBJqlOnrkaNul4dOlxY6uM46VSXUkrS0KGXavXqlVq0aIEGDhx82uMkqX37jsrPz9fy5b8VbysoKNDvv68+7WPeeecN3XLLaDkcDnl7e6tr1+4aN+5eSSrO6uZ2/nXLn3/+rsLCf4rGk5+Tk3O4atTw1aFDZ/7anuljLnqu9vrrrw0lPrd2u12LFv2qZs2aF8/iMgorq1Dt5f1ruXLCwUwDkwAAAACoTDNnTtfKlct15ZXDlZeXr02bNpY6xtfXV3v27FZWVuYpV05J0qBBQzVt2hf6/vtZuuuu/yu1v0+f/vrmm2lKTt6vt9/+6JTPERAQoDvuuEevvjpR48bdrEsuuVy1akUrOztbS5cu1rx5P+vpp19w+mPr0qW7li9fqjffnKyuXbvrr7/Wa968n51+fHkKCAjUiBHX6fPPP5G7u7s6d+6qhIQ9+vjj99WmTTtdeGEXWa1WRUZG6bXXJiknJ0fR0bW1bdtWrV69QtdfP+aUz+vnV7Ri69df56lly9aKiqolSerdu59ee22SduzYpieeeOaM2Tp06KROnTrrhRee0dixRxUREaEZM77WsWPpCgsLP+VjOnbspGnTvtDzzz+tgQMHq6DApq+++lxBQUFq27Z9cbYNG9YpPv6Pc54zlZp6SE89NV7Dhl2pnTt36MMP39WQIZeoTp1YSUWD0L/8coq++GKKWrRoqeXLf1N8fMk7Jp7uc3PSNdeM0rx5P+uee27XTTfdqho1fDVr1gzt27dXL7/8+jnlrQiUVQAAAACAamnHjm2SpJkzv9bMmV+f8pg2bdrJy8tbQUFB6tCh0ymPadCgoRo1aqx5837S2LHjSu1v0aKVIiIiZbW6lRhm/l9xcVepTp1YzZz5td5//y1lZGSoRg1fNW/eQq+//m5xEeKMoUMvVXLyfs2d+5Nmz56pNm3a67nnJur2209d/FS0W265XSEhIfr22280a9ZMBQeH6LLL4nTTTWNltRatQnr++f/9fSe695SRcUw1a0bopptu1ahR15/yObt376U5c37Q888/rUsvvVz33fewJKlGjRpq27ad0tPTVa9e/bNme+GFl/Xuu2/oo4/eVV5evvr27a9LL43TypXLTnl8x44X6emnn9fUqZ/r0UcfksVi0QUXtNEbb7xXfMnj5Zdfqc2bN+qBB+7W449POOXdJU9n2LArlZWVqfHj75eXl7euump4iTvvjR59k44dO6avvvpcNptNXbp01SOPPKFHHrnvrJ+bk8LCwvTuux/r3Xff0KRJL8put6tp0+aaPPntU96psrJZHCcnnuG0jh7Nlt3Op6m8hYf7KzU16+wHVrDUYyf08HurJElhgd763+1dDE4EZ5nlHILr4hxCWXEOoaw4h1BWlXkOpaTsU2RkbKW8FiqPu7tVNlvFDsuubMePH9fllw/WuHH36tJLLzc6TpV2pvPnTN8zrFaLQkNPfdmtxMoqAAAAAABQBRw8eEDz5v2s1atXytvbWwMGDDY6Es4TZRUAAAAAAHB5FotVM2Z8LV9fXz311PPy9vY2OhLOE2UVAAAAAABweZGRkZozZ6HRMVAOzv9eigAAAAAAAEA5o6wCAAAAAACAaVBWAQAAAACcws3kATijrN8rKKsAAAAAAGfl5uahgoI8o2MAcAEFBXlyd/c478dTVgEAAAAAzsrPL1DHjh1RTk6WCgttrLICUILD4VBhoU05OVk6duyIfH0Dz/u5uBsgAAAAAOCsfHx85e7uoezsY8rJyZDdXmh0JJQDq9Uqu91udAy4qP+eP1armzw8PBUcXFMeHp7n/byUVQAAAAAAp5z8JRRVR3i4v1JTs4yOARdVUecPlwECAAAAAADANCirAAAAAAAAYBqUVQAAAAAAADANyioAAAAAAACYBmUVAAAAAAAATIOyCgAAAAAAAKZBWQUAAAAAAADToKwCAAAAAACAaVBWAQAAAAAAwDQoqwAAAAAAAGAalFUAAAAAAAAwDcoqAAAAAAAAmAZlFQAAAAAAAEyDsgoAAAAAAACmQVkFAAAAAAAA06CsAgAAAAAAgGlUq7IqPz9fN954oxYvXmx0FAAAAAAAAJxCtSmrtm3bplGjRmnt2rVGRwEAAAAAAMBpVJuyatq0abrjjjvUunVro6MAAAAAAADgNKpMWTV79mw1b9681FtWVpYkacKECerdu7fBKQEAAAAAAHAm7kYHKC/Dhg3TsGHDjI4BAAAAAACAMqgyK6sAAAAAAADg+iirAAAAAAAAYBqmK6u2bt2qFi1aKCUlpdS+n376SUOHDlXr1q01ePBgzZ49u/IDAgAAAAAAoMKYambV7t27NXbsWNlstlL75syZowceeEDXX3+9unXrpgULFujhhx+Wt7e3Bg0a5PRrfPHFF+UZGQAAAAAAAOXIFGWVzWbT9OnT9corr8jDw+OUx0yePFmDBw/W+PHjJUndu3dXRkaGXn/99XMqq85HaKhfhT5/dRYe7m90BBVa/1lgaHWzmiITnMfXC2XFOYSy4hxCWXEOoaw4h1BWnEMoi4o4f0xRVsXHx2vSpEkaM2aMIiIi9Pjjj5fYn5SUpMTERN13330ltg8cOFBz585VUlKSYmJiKizf0aPZstsdFfb81VV4uL9SU7OMjqG0YyeK37cX2k2RCc4xyzkE18U5hLLiHEJZcQ6hrDiHUFacQyiL8z1/rFbLGRcGmWJmVYMGDbRgwQLdeeedcnNzK7V/z549kqR69eqV2B4bGytJSkhIqPiQAAAAAAAAqHCmWFkVFhZ2xv1ZWUUtnZ9fydbN19dXkpSdnV0xwQAAAAAAAFCpTLGy6mwcjjNfgme1usSHAQAAAAAAgLNwiZbH379oWFdOTk6J7SdXVJ3cD5wPppEBAAAAAGAeLlFWnZxVlZiYWGL7vn37SuwHAAAAAACAa3OJsio2Nla1a9fWvHnzSmyfP3++6tatq1q1ahmUDFWBxegAAAAAAACgmCkGrDtj3LhxGj9+vAIDA9WrVy8tXLhQc+fO1eTJk42OBgAAAAAAgHLiMmVVXFyc8vPz9cknn2jGjBmKiYnRxIkTNWTIEKOjAQAAAAAAoJyYrqyKi4tTXFzcKfcNHz5cw4cPr+REAAAAAAAAqCwuMbMKAAAAAAAA1QNlFQAAAAAAAEyDsgrVnsPoAAAAAAAAoBhlFQAAAAAAAEyDsgrVnsXoAAAAAAAAoBhlFQAAAAAAAEyDsgoAAAAAAACmQVkFAAAAAAAA06CsAgAAAAAAgGlQVqHacxgdAAAAAAAAFKOsAgAAAAAAgGlQVqHasxgdAAAAAAAAFKOsAgAAAAAAgGlQVgEAAAAAAMA0KKsAAAAAAABgGpRVAAAAAAAAMA3KKgAAAAAAAJgGZRWqPYfRAQAAAAAAQDHKKgAAAAAAAJgGZRWqPYvRAQAAAAAAQDHKKgAAAAAAAJgGZRUAAAAAAABMg7IKAAAAAAAApkFZBQAAAAAAANOgrEK15zA6AAAAAAAAKEZZBQAAAAAAANOgrEK1ZzE6AAAAAAAAKEZZBQAAAAAAANOgrAIAAAAAAIBpUFYBAAAAAADANCirAAAAAAAAYBqUVaj2HEYHAAAAAAAAxSirAAAAAAAAYBqUVQAAAAAAADANyipUexajAwAAAAAAgGKUVQAAAAAAADANyioAAAAAAACYBmUVAAAAAAAATIOyCgAAAAAAAKZBWYVqz2F0AAAAAAAAUIyyCgAAAAAAAKZBWYVqz2J0AAAAAAAAUIyyCgAAAAAAAKZBWQUAAAAAAADToKwCAAAAAACAaVBWAQAAAAAAwDQoq1DtOYwOAAAAAAAAilFWAQAAAAAAwDQoqwAAAAAAAGAalFWo9ixGBwAAAAAAAMUoqwAAAAAAAGAalFUAAAAAAAAwDcoqAAAAAAAAmAZlFQAAAAAAAEyDsgrVnsPoAAAAAAAAoBhlFQAAAAAAAEyDsgrVnsXoAAAAAAAAoBhlFQAAAAAAAEyDsgoAAAAAAACmQVkFAAAAAAAA06CsAgAAAAAAgGlQVqHacxgdAAAAAAAAFKOsAgAAAAAAgGlQVgEAAAAAAMA0KKtQ7VmMDgAAAAAAAIpRVgEAAAAAAMA0KKsAAAAAAABgGpRVAAAAAAAAMA3KKlR7DqMDAAAAAACAYpRVAAAAAAAAMA3KKgAAAAAAAJgGZRWqPYvRAQAAAAAAQDHKKgAAAAAAAJgGZRUAAAAAAABMg7IKAAAAAAAApkFZBQAAAAAAANOgrEK15zA6AAAAAAAAKEZZBQAAAAAAANOgrAIAAAAAAIBpUFYBAAAAAADANCirAAAAAAAAYBqUVQAAAAAAADANyioAAAAAAACYBmUV4HAYnQAAAAAAAPyNsgoAAAAAAACmQVkFAAAAAAAA06CsAgAAAAAAgGlQVgEAAAAAAMA0KKsAAAAAAABgGpRVAAAAAAAAMA3KKgAAAAAAAJgGZRWqPYfRAQAAAAAAQDHKKgAAAAAAAJgGZRUAAAAAAABMg7IKAAAAAAAApkFZBQAAAAAAANOgrAIAwAT2H87W7uQMo2MAAAAAhqOsAgDAYOlZeXryk9/1/Bfx2nMg0+g4AAAAgKEoqwCH0QEAVHcb9xwtfn/J+mQDkwAAAADGo6wCAAAAAACAaVBWAQAAAAAAwDQoqwAAAAAAAGAalFUAAAAAAAAwDcoqAAAAAAAAmAZlFQAAAAAAAEyDsgrVnsPoAAAAAAAAoBhlFQAAAAAAAEyDsgoAAAAAAACmQVkFAAAAAAAA06CsAgAAAAAAgGlQVgEAAAAAAMA0KKsAAAAAAABgGpRVAAAAAAAAMA3KKlR7DofD6AgAAAAAAOBvlFUAAAAAAAAwDcoqAAAAAAAAmAZlFQAAAAAAAEyDsgoAAAAAAACmQVkFAAAAAAAA03A3OkBFmzJlimbOnCmLxaI6deroueeeU3BwsNGxAAAAAAAAcApVemVVfHy8Zs6cqenTp+vHH39U/fr19corrxgdCwAAAAAAAKdRpcuqoKAgPfnkk/L19ZUkNW/eXMnJyQanAgAAAAAAwOm4/GWAs2fP1qOPPlpq+5o1a9SgQQM1aNBAkpSdna133nlHI0eOrOyIAAAAAAAAcJLLl1XDhg3TsGHDznjMoUOHdPvtt6tdu3YaMWJE5QQDAAAAAADAOavSlwFK0rZt23TNNdeoX79+mjBhgtFxAAAAAAAAcAYuv7LqTJKTk3XDDTfoiSee0NChQ42OAwAAAAAAgLMwzcqqrVu3qkWLFkpJSSm176efftLQoUPVunVrDR48WLNnz3bqOadMmaITJ07ogw8+0GWXXabLLrtM999/fzknBwAAAAAAQHkxxcqq3bt3a+zYsbLZbKX2zZkzRw888ICuv/56devWTQsWLNDDDz8sb29vDRo06IzP+9hjj+mxxx6rqNgAAAAAAAAoZ4aWVTabTdOnT9crr7wiDw+PUx4zefJkDR48WOPHj5ckde/eXRkZGXr99dfPWlaVl9BQv0p5neooPNzf6AjKtf/zvtXNaopMcB5fL5SVGc4hPz/v4vd9vD1MkQnO4+uFsuIcQllxDqGsOIdQFhVx/hhaVsXHx2vSpEkaM2aMIiIi9Pjjj5fYn5SUpMTERN13330ltg8cOFBz585VUlKSYmJiKjzn0aPZstsdFf461U14uL9SU7OMjqG0tJzi9+2FdlNkgnPMcg7BdZnlHMrOzi1+/0RugSkywTlmOYfgujiHUFacQygrziGUxfmeP1ar5YwLgwydWdWgQQMtWLBAd955p9zc3Ert37NnjySpXr16JbbHxsZKkhISEio+JAAAAAAAACqNoSurwsLCzrg/K6uonfPzK9m2+fr6SpKys7MrJhgAAAAAAAAMYZq7AZ6Kw3HmS++sVlPHBwAAAAAAwDkyddvj7180pCsnJ6fE9pMrqk7uBwAAAAAAQNVg6rLq5KyqxMTEEtv37dtXYj8AAAAAAACqhnMuq06cOFH8fnp6uqZOnapp06bp2LFj5ZlLUtEg9dq1a2vevHklts+fP19169ZVrVq1yv01Uf1wn0cAAAAAAMzD6QHrmZmZ+r//+z9lZmZqxowZys7O1hVXXKGDBw/K4XDonXfe0VdffaWYmJhyDThu3DiNHz9egYGB6tWrlxYuXKi5c+dq8uTJ5fo6AAAAAAAAMJ7TK6tee+01rVmzRt27d5ckzZw5UwcOHNCDDz6ozz//XFarVa+99lq5B4yLi9OECRO0fPlyjRs3Tn/88YcmTpyoIUOGlPtrAQAAAAAAwFhOr6xatGiRrr32Wt19992SpAULFig0NFQ33XSTJGnUqFH69NNPzztIXFyc4uLiTrlv+PDhGj58+Hk/NwAAAAAAAFyD0yurjh49qkaNGkmSsrKytH79enXt2rV4f3BwcIl5VgAAAAAAAMC5crqsioiIUFJSkqSiVVWFhYXq1atX8f61a9cqKiqq3AMCAAAAAACg+nD6MsDevXvrs88+U3Z2tn7++WcFBgaqT58+OnTokD788EN9//33uuOOOyoyKwAAAAAAAKo4p8uqBx98UCdOnNDMmTMVERGhp59+Wt7e3tqxY4emTp2qSy+9VLfeemtFZgUAAAAAAEAV53RZtW/fPj377LN67rnnSmxv2rSpfvvtN9WsWbPcwwGVwuEwOgEAAAAAAPib0zOrbrjhBr3yyiultnt6elJUAQAAAAAAoFw4XVYdP35ctWvXrsgsAAAAAAAAqOacLquuv/56ffrpp9q4cWNF5gEAAAAAAEA15vTMqk2bNunw4cO6+uqr5e3traCgIFmtJbsui8WiBQsWlHtIAAAAAAAAVA9Ol1V5eXlq2bJlRWYBAAAAAABANed0WfXFF19UZA4AAAAAAADA+ZlVztiyZUt5Ph1QKRxGBwAAAAAAAMWcXlmVn5+vN954Q8uWLdPx48dlt9uL9xUWFionJ0fZ2dnaunVrhQQFAAAAAABA1ef0yqrXX39dH330kTIyMuTj46Pk5GRFRUXJ3d1dKSkpKigo0GOPPVaRWQEAAAAAAFDFOV1WzZs3T506ddKiRYv04YcfSpKefPJJ/fLLL3r//fdls9nk4eFRYUEBAAAAAABQ9TldVh06dEgDBgyQ1WpVRESEQkNDtW7dOklSz549dfnll+ubb76psKAAAAAAAACo+pwuq7y9vUusnKpTp4527NhR/O/WrVsrKSmpfNMBAAAAAACgWnG6rGrWrJmWLl1a/O/69esXr6ySilZeWSyW8k0HAAAAAACAasXpsmrkyJFauHChRo4cqezsbA0dOlRbtmzR+PHj9eGHH2rKlClq1apVRWYFKobD6AAAAAAAAOAkd2cPHDx4sLKzs/Xpp5/Kx8dHXbp00ahRozR16lRJUq1atfTII49UWFAAAAAAAABUfU6XVZJ01VVX6aqrrir+9xNPPKExY8YoIyNDDRo0kKenZ7kHBAAAAAAAQPXh9GWAo0eP1qpVq0ptr1Wrlpo1a6bly5dr6NCh5RoOAAAAAAAA1ctpV1adOHFC6enpxf/+/fff1b9/f8XGxpY61m63a+nSpdq/f3/FpAQAAAAAAEC1cMayatiwYcrKypIkWSwWvfDCC3rhhRdOebzD4VDXrl0rJiUAAAAAAACqhdOWVSEhIXr55Ze1ceNGORwOvf322+rfv7+aNGlS6lir1aqQkBAuAwQAAAAAAECZnHHAes+ePdWzZ09J0oEDBzR8+HBdcMEFlRIMAAAAAAAA1Y/TdwN88cUXT7l9586dslqtatCgQbmFAiqTw+gAAPAvFqMDAAAAAAZzuqySpA8++EAJCQl68cUXZbfbddttt2nZsmWSpC5duuiNN96Qr69vhQQFAKA6oEDH+XA4HFq95ZCycvLVpE6wYiL8ZLVQfQIAANfkdFn10Ucf6dVXX1X37t0lSXPnztXSpUs1cOBANWrUSB9++KHefvttPfTQQxUWFgAAAKUlHc7Whz9uKf63n4+HmtcNVvO6IWoeG6ywIB8D0wEAAJwbp8uqWbNmqX///nrzzTclSXPmzJGPj48mTpwob29v5eTkaN68eZRVAAAAlSz7REGpf/++9bB+33pYklQzyKe4vGoaGyw/Hw8jYgIAADjF6bIqKSlJN9xwgySpoKBAq1atUqdOneTt7S1JatCggY4cOVIhIQEAAOCcfu1r61hOvrbuTVNOrk2SdPjYCR1ef0JL1h+QRVJspH/Rqqu6wWpUO1Ae7m7GhgYAAPgXp8uqgIAAZWdnS5LWrFmj48ePq0ePHsX7ExMTFRYWVv4JAQAA4LQOTWuqcUyQ7A6Hkg5la8veNG3Zm6Yd+zNUYLPLIWlvSpb2pmRpzup98nC3qlHtQLWoG6LmdUOYdwUAAAzndFnVtm1bffnll4qOjtZ7770nd3d3DRgwQAUFBVq8eLGmTZumfv36VWRWAAAAOMlqsSg20l+xkf4afFGsCmyF2rU/Q5v3pmvL3jTtS8mSQ1KBza4te9O1ZW+6pN3y8/FQ09jg4ssGazLvCgAAVDKny6pHH31UY8aM0d133y2LxaKHHnpI4eHhWrNmje6++27Vr19f99xzT0VmBSqEw8G9twAAVZ+Hu5ua1Q1Rs7ohkhoo+0SBtu1L15Z9ReXV4fQTkormXf257bD+3FY07yo8yPvvSwZD1Ix5VwAAoBI4XVZFRUXphx9+0JYtWxQREaGIiAhJUtOmTfXqq6+qd+/e8vHhL28AAACuwM/HQx2a1lSHpjUlSUeOnSgurrbsTS8e2p56LFe/rT+g3/6ed1Unwr941VWj2oHy9GDeFQAAKF9Ol1WS5O7urtatW5fYFhgYqCFDhpRrKAAAAFSusCAf9QjyUY8LasnucGj/4Wxt2ZuuzXvTtDPpmPL/nne171CW9h3K0tw1iXJ3K5p3dbK8io3wl9XKvCsAAFA251RWAQAAwHzK+4J2q8WiOhH+qhPhr0EX1imad5WcWbzqam9KphwOyVZo19Z96dq6L13f/rZHvt7uahob/Pew9mCFB/nIwrB2AABwjiirAAAAcEYe7m5qFhusZrHBuqKnlJP797yrv4e1H/p73lVOrk3x21MVvz1VkhQW6F286qppbLACanga+WEAAAAXQVkFAACAc+Lr7aH2TWqqfZO/511lnNDWvf8Ma886XvD39lwt3XBQSzcclCTVqemn5vWKVl01qh0kL+ZdAQCAUzhtWbVkyRK1bNlSYWFhlZkHAAAALiYs0EfdL/BR9//Mu9qyL007ko4pv8AuSUo8nK3Ew9matyZR7m4WNYwOLL7TYN1I5l0BAIAipy2rHnjgAT3yyCO68sorJUmjR4/W7bffrs6dO1daOAAAALiW0vOu7NpzIEOb/75kMOHgyXlXDm1LPKZticf03dI9quHlrmaxwcWXDdYMZt4VAADV1WnLKofDofj4eA0dOlQ+Pj76/fffdfXVV1dmNgAAqh1+NUdV4+FuVZM6wWpSJ1hxPerreG6BtiUeKx7WnpJ2XJJ0PM+m+B2pit9RNO8qNMBLzf4e1N48NkQBvsy7AgCgujhtWTVgwADNmjVLs2fPLt724IMP6sEHHzztk1ksFm3ZsqVcAwIAUJ2U913dALOp4e2hdo3D1a5xuCQpLTNXm/emFc282pumzL/nXR3NzNPyvw5q+V9F865iavoVr7pqXDtIXp7MuwIAoKo6bVk1YcIEtWjRQjt27FB+fr6+//57tW/fXjExMZWZDwAAAGfjwi1nSIC3ureupe6ta8nhcCg5Nado1dW+dG1PPKa8gkJJUtLhbCUdztYvvyfJzXpy3lWwmtcrmnflZrUa/JEAAIDyctqyytPTU9dee23xv2fPnq1rrrlGl1xySaUEAwAAQPVisVhUu6afatf004BOdWQrtGt3ckbxsPaEA1myOxwqtDu0PemYticd06xlCfLxclfTOkF/D2sPVmRIDeZdAQDgwk5bVv3Xtm3bit8/cuSIDhw4IA8PD0VERCgkJKRCwgEAAKD6cnf7Z97V5aqv47k2bU9KLyqv9qbp4NGieVcn8mxat/OI1u08IkkKCfBS89ii4qpZ3RAFMu8KAACX4nRZJUmbNm3SM888o40bN5bYfsEFF+ixxx5Tq1atyjUcAAAAzk1VXlBUw9tdbRuFq22jf+Zdbd2XXjysPSMn/+/teVq+8aCWbyyad1U73PfvVVchalkvRFZrFf4kAQBQBThdVm3fvl3XXXedJOnqq69WgwYNZLfbtWfPHv34448aPXq0vvnmGzVq1KjCwgIAAAAnhQR4q2urKHVtFSWHw6EDR3K0+e9VV/+ed7U/NUf7U3M0/48kNa4dqNsvb8VqKwAATMzpsuq1116Tr6+vpk+frujo6BL77rjjDl155ZV666239Prrr5d7SKAiOVx4KC2Aqof1HsD5sVgsig73U3S4nwZ0jJGt0K49BzKLh7XvSc6U3eHQjv0ZembKH7ozrpXqRQUYHRsAAJyC07dN+fPPPzVy5MhSRZUkRUZGasSIEVqzZk25hgMAoLqhPwfKh7ubVY1jgjSse309em17vXFPd3VuESlJSs/K04tfrtXyvw4anBIAAJyK02VVfn6+fH19T7vfz89Pubm55RIKAAAAKE81vN1188XNNKJfI1ktFtkK7fpkzlZ9OX+7bIV2o+MBAIB/cbqsatasmX766SfZbLZS+woKCvTjjz+qcePG5RoOAAAAZ+dgTZ5TLBaL+neI0YMj2si/hockadHaZE2atq54ODsAADCe02XVzTffrI0bN+raa6/VL7/8ou3bt2v79u2aO3eurr32Wm3evFk33XRTRWYFAAAAyqxJnWA9eX1HxUb6S1LxHKs9BzINTgYAAKRzGLDer18/PfHEE5o0aZLuvffe4u0Oh0NeXl56+OGHNWjQoIrICAAAACdZGNPvlNBAb40f1U5f/LJdKzalKD0rTy9Njdd1A5qo+wW1jI4HAEC15nRZJUmjRo3S0KFDtWrVKu3fv18Oh0O1a9dWly5dFBQUVEERAQAAgPLn6eGmm4Y2U92oAH29cKdshQ59Oneb9qZkaUS/RnJ3c/oiBAAAUI7OqaySpKCgIA0ePLgisgAAAACVymKxqG/72qod7qt3Zm9S1vECLV6XrP2p2bpjWEsF+nkZHREAgGqHPxcBAGAiXMAFGKNJnWA9dUNH1f17jtXO/RmaMOUP7T6QYXAyAACqH8oqAABMhHu6AcYJCfDW+GvbqWurSEnSsex8TZy6Vks3HDA4GQAA1QtlFQAAgKuj5Sw3Hu5uumlIM43q31huVotshQ5NmbtNn/+yXbZCu9HxAACoFpwuq+x2/nMGAABA1XdyjtWDI9oqoIaHJGnJumT976t1OpadZ3A6AACqPqfLqssuu0yfffZZRWYBAAAATKNxTJCevKGj6kUVzbHalZyhZ6b8od3JzLECAKAiOV1W7d27Vz4+PhWZBQAAAGXFlP5yFRLgrUdGtVO3VlGSiuZYvTR1rX5bn2xwMgAAqi6ny6pu3bpp/vz5ys/Pr8g8AAAAgKl4uLvpxiFNde2AojlWhXaHPpu3XZ/P26YCG6MyAAAob+7OHti0aVN99tln6t69u1q1aqXQ0FBZrSW7LovFohdeeKHcQwIVycFUWgAmwqIYwJwsFov6tKut2uF+emf2JmXm5GvJ+gNKSs3WuMtbKcjPy+iIAABUGU6XVe+++27x+8uXLz/lMZRVAACUDfU5YG6NY4L01A0d9fasjdpzIFO7kzM1YcofGjeslRrWDjQ6HgAAVYLTZdW2bdsqMgcAAADgEoL9vfTwyHb6cv52LfvroDKy8zXxq7UaNaCxerWJNjoeAAAuz+mZVf9mt9t15MgR5lcBAACYACvyKp+Hu1U3DG6q6wY2KZ5j9fm87ZoylzlWAACU1TmVVfv27dNdd92l9u3bq3v37oqPj9eqVat01VVX6c8//6yojAAAAIDpWCwW9W4brYdGtlWgr6ckaemGA/rfV2uVnpVncDoAAFyX02XV3r17ddVVV+n3339X9+7di7e7ublpz549uummm7R+/fqKyAgAAAAnMaS/8jWqHaQnb+ioBrUCJEm7D2TqmSl/aOf+Y8YGAwDARTldVr366qvy9vbWnDlz9PTTT8vhKFpw3qlTJ82ZM0dhYWF66623KiwoAAAAYFbB/l56aGQ79bigliQpIydf//tqnRavSy7+uRkAADjH6bJq9erVGjFihEJDQ2WxlPybXUREhEaOHKlNmzaVe0CgovHzIwAAKA8n51iNHvTPHKsvftmuz+YxxwoAgHPhdFmVn5+vgICA0+738PBQXh7X5gMAUBZcwgW4vl5tovXwyHb/mmN1UBOZYwUAgNOcLquaNm2qRYsWnXKfzWbTDz/8oCZNmpRbMAAAqiMWewJVQ8PagUVzrKKL/ti750CmJkz5QzuSjhkbDAAAF+B0WTV27FitXLlSDzzwgFavXi1JSk5O1sKFCzV69Ght2bJFN954Y4UFBQAAwKlxSbs5Bft76aER7dSrTdEcq8ycfL08bZ0Wr93PHCsAAM7A3dkDe/fureeff14vvPCCfv75Z0nSE088IYfDIS8vLz388MMaOHBghQUFAAAAXI2Hu1WjBzVVbKS/vpy/o2iO1fwdSkjJ0nUDGhsdDwAAU3K6rJKkuLg4DRgwQCtWrFBSUpLsdruio6PVpUsXBQcHV1RGAAAAwKX1bBOt6HA/vT1rozKy87X8r4NKTs3RkzdfZHQ0AABM55zKKkny8/PTgAEDlJaWJqvVSkkFAABgJkzpN62G0YF66oaOemfWJu1KzlDCwUz93+TfdNtlLdQ4JsjoeAAAmIbTM6skaffu3br77rvVvn17devWTV26dFGnTp00fvx4paSkVFRGAAAAoEoI8vPSQyPbqnfbaEnSsew8vTxtnRbGM8cKAICTnF5ZtXHjRo0ePVoFBQXq0aOH6tSpI4fDoYSEBP3www9aunSppk2bpjp16lRkXgAAqjQWxQBVn7ubVdcNbFI8x8pWaNfUX3doX0qWrhvYWB7ubkZHBADAUE6XVZMmTZKfn5+mTp1aqpDasWOHRo8erYkTJ+rtt98u95AAAABAVdPjglpq0Shcz3+yRsey87V840ElH8nWuMtbKSTA2+h4AAAYxunLADds2KDRo0efcuVU48aNNXr0aK1atapcwwEAUN1wERBQvTSNDdFTN3RUw9qBkqSEg1l6Zsof2p6YbnAyAACM43RZFRAQoMLCwtPu9/X1lbc3fwECAACofNScrizQz0sPjfhnjlXm8QJN+no9c6wAANWW02XVqFGjNGXKFO3atavUvkOHDumLL77Q1VdfXa7hAAAAgOrg5ByrGwY3lbubRYV2h6b+ukOf/LxVBbbT/8EYAICq6LQzq8aPH19qW15enoYNG6bu3burXr16slgsSk5O1tKlS+Xl5VWhQQEAAHB2Fsb0u7QeF9RS7XA/vT1ro9Kz8rRiU4qSj+TozjjmWAEAqo/TllWzZs067YMWL16sxYsXl9h2/Phxvf/++7r33nvLLRwAAABQ3dSvFaAnr++gd2Zv0s79GdqbkqUJU/7QHcNaqkmdYKPjAQBQ4U5bVm3btq0ycwCGYRQEAAAwm0A/Lz04oq2+XrhTi9YmK+t4gV6etl7X9G2ofu1ry2JhBR0AoOpyemYVAACoePz6CeAkdzerrh3QRDcOaSp3N6vsDoemLdipj3/eqvwC5lgBAKqu066sOpXZs2drxYoVSk1Nld1uL7XfYrHos88+K7dwAABUNyz2BPBf3VsXzbF667uiOVYrT86xuryVQgOZYwUAqHqcLqsmT56s999/Xx4eHgoNDZXVyqIsAAAAM+CS9qqvXlSAnryho96dvUk7ko5p37/mWDWNZY4VAKBqcbqsmjVrlrp166Y333xTPj4+FZkJAAAAwH8E+nrqgeFtNH3RLi2M36/sEwWa9PV6XdOnofp1YI4VAKDqcHp5VHZ2tgYOHEhRBQAAABjE3c2qUf0ba8zQZv/MsVq4Ux/9xBwrAEDV4XRZ1b17d61evboiswAAAKCMWFxTPXRtFaXx17ZTsL+XJGnV5hS98GW8jmScMDgZAABl5/RlgE888YRuvPFG3X///erXr59CQ0NPudS4Y8eO5RoQqGgOxhkDAAAXVC8qQE/9Pcdqe9IxJR7K1jNT/tTtw1qqGXOsAAAuzOmy6sCBA8rKytLPP/+sOXPmlNrvcDhksVi0devWcg0IAEB1wqIYAOciwNdT9w9vo28W7dKCv+dYvfL1el3du4H6d4xhjhUAwCU5XVY988wzyszM1JgxY1S3bl25uzv9UAAAAAAVxN3NqpH9Gys20l+f/7JdBTa7vl60S3sPZen6QU3l5eFmdEQAAM6J043Tzp07deedd+qWW26pyDwAAFRrXJgM4Hx1bRWl6HBfvfXdRqVl5mn15kM6kJqjO+NaKSyImyQBAFyH0wPWIyMjZbU6fTgAAAAqCSUnTqobGaAnb+iopnWCJEmJh7P1zGd/asveNGODAQBwDpxun26++WZ99tln2rVrV0XmAQAAAFAGATWK5lj17xAjSUVzrKav1y+/J8rhoNoEAJif05cBbtu2TRaLRZdeeqliYmIUFhYmN7eS179bLBZ99tln5R4SAAAAgPPcrFaN6NdIdSP9NWXeNhXY7Jq+aJf2pmTphsHMsQIAmJvTZdXixYvl5uamyMhIFRQU6ODBgxWZCwAAAEAZdW4ZqVphvnrru790NDNPa7Yc0oEjRXOswpljBQAwKafLqkWLFlVkDsA4rIYHYCLcZB5AeYuN9NcTN3TUe7M3aVviMSUdztYzU/7QbcNaqkXdEKPjAQBQChPTAQAAgCru5ByrAR2L5ljl5Nr06vT1mreGOVYAAPNxemXV6NGjnTru888/P+8wAABUd/zKCKCiuFmtGt63kWIj/TVlbtEcq28W79K+Q8yxAgCYi9Nl1f79+0tts9vtSk9PV15enqKjo9WoUaNyDQcAAACgfHVuEalaob5667uNOpqZyxwrAIDplHlmVWFhoRYuXKjHH39cY8aMKbdgAAAAcBJL8nCOYiP99eQNHfTe95u1dV968RyrUf0bq2HtQIUGeMtiYYoeAMAYTpdVp+Pm5qYBAwZow4YNmjRpkqZPn14euQAAAABUIP8anrrvmgs0c8lu/fJ7knJybfrgxy2SJG9PN9UK81WtMF9Fn3wL91OQnyclFgCgwpW5rDqpbt26+vLLL8vr6QAAAHAe6BFwLtysVl3Tp2iO1WdztyuvoFCSlJtfqD0HMrXnQGaJ43283BX9rxKrVrivaof5KsCXEgsAUH7KpazKz8/XDz/8oNDQ0PJ4OqBSceUEAACo7i5qHqnW9cOUeChLyUdydOBIjpKP5Cg5NVs5ubbi407k2bQrOUO7kjNKPN7X++8SK9yveCVWrXBfBdTwrOwPBQBQBZT5boD5+flKSEhQZmam7rrrrnILBgBAdcS6BABGqeHtrqaxwWoaG1y8zeFwKDMnv6i4KlFi5ehE3j8lVk6uTTv2Z2jH/pIlln8Nj39WYv1dZNUK85Wfj0elfVwAANdTprsBSkUzq+rXr6+LL75YI0eOLLdgAAAAAIxlsVgU6OelQD8vNa8bUrzd4XDoWHa+ko9k60BqTokyKze/sPi4rOMF2pZ4TNsSj5V43kBfz3/mYYX7KjrMT7XCfFXDu9ymlAAAXFiZ7wYIAADKD5cmA3AFFotFwf5eCvb3Ust6/4wCcTgcSsvM+2cVVmp20ftHc5RfYC8+LiMnXxk5+dq6L73E8wb7e5UY6l4r3Fe1Qn3l40WJBQDVCd/1AQAAXJyDmhMmYbFYFBrordBAb7Vu8E+JZXc4dDQjt3gO1snLCQ8ePa4C2z8lVnpWntKz8rQ5Ia3E84YGeCk63O+fwe5hRSWWl6dbpX1sAIDKc9qy6q233jqvJ7zzzjvPOwwAAACAqsdqsSg8yEfhQT5q0zCseLvd7lBqxgklp/5rJlZqjlLScmQr/KeEPZqZp6OZefpr99HibRZJYUHexZcQniyxokJryNODEgsAXFmZy6r/3qKWsgoAAMA4Fsb0w4VYrRZFBNdQRHANtWscXry90G7X4fSiEuvAv+ZhpaQdV6G9qMRySEo9lqvUY7lav+tI8WMtFqlmkM/fQ93/Hu4e5qfIkBrycLdW9ocIADgPpy2rFi5ceNYHZ2dna/LkyVqyZInc3d1Pe8dAAAAAAHCWm9WqqFBfRYX6lthuK7TrUNrxEncmPHAkR4fSTsju+LvEckiH0k/oUPoJrdv5T4lltVgUEeJTYhVWdLifIoJ95O5GiQUAZnLasio6OvqMD5wzZ45eeuklHT58WO3atdPTTz+txo0bl3tAoMIx5gOAibAmBgBOz93NquhwP0WH+5XYXmCzKyXteNHdCf++lPDAkRwdTj9R/KOe3eHQwaPHdfDoccVvTy1+rJvVosiQGv8psXxVM9hHblZKLAAwwjkPWE9KStKECRO0YsUKBQYG6rnnntOVV15ZEdkAAAAA4Kw83K2KqemnmJolS6z8gkIdPHq8xCqs/anZOpKRW3xMod1RNPj9SI7++Ndj3d0sigz551LC2mG+ql3TT+FBPpX0UQFA9eV0WVVQUKAPPvhAH374ofLy8nT55ZfrwQcfVHBwcEXmAwCgWmGxJwCUH08PN8VG+is20r/E9rz8Qh04+s+lhEUrsbJ1NDOv+BhboUP7U7O1PzW7xGNjavqpa8tIXdQiUgG+npXycQBAdeNUWbV69WpNmDBBCQkJatSokZ566il16NChorMBAAAAQLnz8nRTvagA1YsKKLH9RJ6tqMT6++6EJ1djpWf9U2IlHc7W14t26ZvFu9W6Qai6tIzUBQ3DGN4OAOXojGVVWlqaXnjhBf3888/y9vbW/fffrxtvvFHu7ud89aBhXn/9dc2bN08Wi0U9evTQQw89JCvXngMAgKqEJXlAufDxcleDWoFqUCuwxPbjuQU6cOS4tu5L04pNKTqcXjTQff2uI1q/64h8vd3VqXmEurWKUt1I/1J3TAcAnJvTtk7Tpk3Ta6+9pszMTPXp00ePP/64oqKiKjNbmf32229asWKFfvjhB1mtVo0aNUoLFy5U//79jY4GAAAAwEXU8PZQw9qBalg7UBd3qavdyZlavvGg/th2SCfyCpWTa9PitclavDZZUaE11LVVlDq3iFSwv5fR0QHAJZ22rJowYULx+4sWLdKiRYvO+mQWi0Vbtmwpn2TloGfPnurSpYs8PDyUlpamrKwsBQYGnv2BAAAAAHAKFouluLga2a+R1u08ohWbDmpzQpocDung0eOauWS3vv1tt1rUDVGXVpFq1yhcnh5uRkcHAJdx2rJq2LBhLrF8dfbs2Xr00UdLbV+zZo38/f3l4eGhDz/8UO+8845at26tNm3aVH5ImJqDaycAAABwHjw93HRh8whd2DxC6Vl5Wr05RSs2pejAkRw5HNKmhDRtSkiTj5ebOjatqS4to9SodqBL/J4FAEY6bVn10ksvVWaO8zZs2DANGzbsjMfccsstuuGGG/TII4/o5Zdf1mOPPVY54QAAOEf8+gIArinY30uDL4rVoAvraG9KllZsPKg1Ww4pJ9emE3mFWrrhoJZuOKiawT7q0jJSXVpGKizQx+jYAGBKrjMp/Tzs2LFDNptNzZs3l4eHhy6++GJ98sknRscCAAAAUEVZLJbiOw1e06eR/tp9RCs2pmjjnqMqtDt0OP2EZi9L0OxlCWpaJ0hdW0WpfZNweXtW6V/NAOCcVOnviHv27NEHH3ygr7/+Wm5ubpozZ446duxodCwAAE6LC5MBoOrwcLeqfZOaat+kpjJz8rV6yyGt3HhQiYezJUnbEo9pW+IxfTl/h9o3CVfXlpFqEhssK5cJAqjmTFNWbd26VVdeeaUWLlyoyMjIEvt++uknvfvuu0pKSlJ0dLTGjh171kv/JGnQoEHavn27hg0bJjc3N3Xo0EG33XZbBX0EAAAAxqDkBMwvwNdTAzrGaEDHGCUeytLKTSlavTlFmccLlFdQqJWbUrRyU4pCA7zUuWWUuraMVERIDaNjA4AhTFFW7d69W2PHjpXNZiu1b86cOXrggQd0/fXXq1u3blqwYIEefvhheXt7a9CgQWd97nvuuUf33HNPRcQGAAAAgHNWJ8JfdSL8dWWvBtqUkKaVGw9q/a4jshU6dDQzTz+t3KufVu5Vw+hAdWkVqU5Na6qGt4fRsQGg0hhaVtlsNk2fPl2vvPKKPDxO/c138uTJGjx4sMaPHy9J6t69uzIyMvT66687VVaVh9BQv0p5neooPNzf6AhKzc4vft/qZjVFJjiPrxfKygznkL+/d/H7Pt4epsgE55nh6xWQkl38fkiIrykywXl8vaq3qMhA9e9cT1nH87V0XbIW/ZmoHYnHJEm7kjO0KzlDXy/YqYtaRqlPxxi1aVxTbtaSlwlyDqGsOIdQFhVx/hhaVsXHx2vSpEkaM2aMIiIi9Pjjj5fYn5SUpMTERN13330ltg8cOFBz585VUlKSYmJiKjzn0aPZsttZYF/ewsP9lZqaZXQMpacfL37fXmg3RSY4xyznEFyXWc6hrKzc4vdP5BaYIhOcY5ZzKDPzRPH76ek5SvW0GpgG58Is5xDMoVPjMHVqHKYDR3L+vizwoI5l5yvfZtfS9clauj5ZgX6e6tIiUl1aRSk6zJdzCGXGOYSyON/zx2q1nHFhkKFlVYMGDbRgwQKFhobqu+++K7V/z549kqR69eqV2B4bGytJSkhIqJSyCgCAysJIXQBArTBfXdmrgeJ61NeWfWlauTFF8TtSVWCzKyM7X3PXJGrumkTVjfTXwM511aJOkPx8uEwQQNVhaFkVFhZ2xv1ZWUXtnJ9fybbN19dXkpSdnV3qMQAAAABQFVitFrWsF6qW9UJ1PNemP7cf1oqNB7Vzf4YkaW9Klt6ftVFuVovaNAxTl1aRalU/VO5urK4E4NpMMWD9dByOM196Z7XyTRgAAABA1VfD2109LqilHhfU0uH041q5KUUrNqboaGauCu0Oxe9IVfyOVPnX8NCFzSPUrVWU6kQwhwiAazJ1WeXvX/TNNScnp8T2kyuqTu4HAKCqYEIiAOBsagbX0LDu9XVpt3o6nJmvn5fv1p/bUpVXUKis4wVa8Od+Lfhzv2qH+6lrq0hd1CJSgb6eRscGAKeZuqw6OasqMTFRTZo0Kd6+b9++EvsBAACqs7MsRgdQRVktFrVqGKbIQC+N6m9T/PZUrdyUom370uWQtD81W9MX7dKMxbvVqn6IuraK0gUNw+ThzhUqAMzN1GVVbGysateurXnz5ql///7F2+fPn6+6deuqVq1aBqYDAAAAAHPw9nRX11ZR6toqSkczcrVyc4pWbDyow+knZHc4tGH3UW3YfVS+3u7q1CxCXVtFqV6UvywWbu0BwHxMXVZJ0rhx4zR+/HgFBgaqV69eWrhwoebOnavJkycbHQ0AAAAATCc00FuXdKmrizvHandyplZsOqjftx7WiTybcnJtWrwuWYvXJSsqtIa6tIxUl5ZRCvb3Mjo2ABQzfVkVFxen/Px8ffLJJ5oxY4ZiYmI0ceJEDRkyxOhoAAAAAGBaFotFDWsHqmHtQI3o20jrdx3R8o0HtTkhTQ6HdPDocX372x5999seNa8Xoq4tI9W2cbi8PNyMjg6gmjNNWRUXF6e4uLhT7hs+fLiGDx9eyYkAAKh8XIwBAKgInh5u6tQsQp2aRSg9K0+rt6Ro5cYUJR/JkUPS5oQ0bU5Ik7enmzo2ramuraLUqHYglwkCMIRpyioAAAAAQMUL9vfS4AtjNahTHe1NydLKjSlavSVFObk25eYXatlfB7Xsr4MKD/JW15ZR6tIyUmFBPkbHBlCNUFYBAGAi3NQNAFBZLBaL6kUFqF5UgK7p21Abdh3Vio0HtXHPURXaHUo9lqvZyxM0e3mCmsQEqWurKLVvEi4fL36NBFCx+C4DAADg8qg5AZSNu5tV7ZuEq32TcGXm5GvNlkNasemgEg9lS5K2Jx3T9qRj+vLX7WrfuKa6topU09hgWblMEEAFoKwCAAAAABQL8PVU/44x6t8xRkmHs7Vi40Gt3nJImTn5yi+wa9XmFK3anKLQAC91bhmpri2jFBFSw+jYAKoQyioAAIAqhGHIAMpTTE0/De/bSFf1bqBNe9K0YuNBrd91RLZCh45m5umnlfv008p9ahAdoK4to9SpWYRqePNrJoCy4bsIqj2Hg0snAAAAgDNxs1p1QcMwXdAwTNknCvTH1kNasSlFew5kSpJ2J2dqd3KmZizZpUGd6qh/xxh5e/LrJoDzw3cPAABMhDUxAACz8/PxUO92tdW7XW0dPJqjFRuLLgtMz8rTibxCzVqWoIXx+zW0S131ahMtD3er0ZEBuBjKKgAAAADAeYkK9dWVvRoorkd9bdh9RLOWJmh/arYyjxdo2oKdmv97ki7rVk9dWkbKauVPMgCcQ1kFAAAAACgTq9Wito3CdUHDMP2+9ZBmL03Q4WMndDQzV5/M2aq5a/bp8u711b5JOLP1AJwVZRUAACbCFD0AgCuzWiy6qHmkOjSpqeV/HdQPKxJ0LDtfB48e1zuzN6lupL+u6NlAzesGU1oBOC3KKgAAABfHvUIAmI27m1W92karS8tILVqbrJ9X7VVOrk17U7L0yvT1alonSFf0bKAG0YFGRwVgQky6AwAAAABUCE8PNw26sI4m3tZFl3SpKy8PN0nStsRjev6LeL357V/an5ptcEoAZsPKKgAAgCqEi2oAmFENb3dd3qO++ravrZ9W7dWSdcmyFTq0bucRrd95RBe1iNBl3eurZpCP0VEBmABlFQAAJkLRAACoygJ8PTWyX2MN6BijH1bs1YqNB+VwSKs2H9LvWw+rR5tauqRLXQX5eRkdFYCBuAwQAAAAAFCpwgJ9dNOQZnru5gvVoUm4JKnQ7tDitcl65L1Vmrlkt3JyCwxOCcAorKwCAAAAABgiKtRXd1zeSntTMvXdb3u0KSFN+Ta75qzep8XrkjX4wjrq3yFGXp5uRkcFUIlYWQUAgIlwUzcAQHVUNzJA913TRg+PbKsG0QGSpBN5Nn23dI8efn+VFsbvl63QbnBKAJWFsgoAAAAAYApN6gTr0Wvb6+4rWqt2uK8kKTMnX1N/3aFHP1itFRsPym7nTztAVcdlgAAAAAAA07BYLGrTKEytG4ZqzZZDmr1sj1KP5epIRq4+/nmr5q1J1OU96qttozBZLNyaBKiKKKsAAACqEn5vA1BFWC0WdW4RqY5Na2rZXwf1w4oEZWTnK/lIjt76bqPqRQXoip711bxuiNFRAZQzyipUew5WEQMAAACm5e5mVe+20erSMlKL4vdrzup9ysm1KeFgpiZ9vV7NYoN1Rc8Gql8rwOioAMoJM6sAADARFsUAAHBqXh5uGnxRrCbe1lkXd4mVl0fRHQK37kvXc5//qbe+26jkIzkGpwRQHlhZBQAAAABwGTW8PRTXo4H6to/Rzyv3asn6ZNkKHVq7I1Xrdqaqc4tIDetWT2FBPkZHBXCeKKsAAAAAAC4n0NdTI/s31oBOMfp+eYJWbkqRwyGt3JSiNVsOqVebaF3cta4CfT2NjgrgHHEZIAAAJsIYPQAAzk1YoI/GDG2uZ8ZcqPaNwyVJhXaHFq7dr4ffW6lvf9ut47kFBqcEcC5YWQUAAODiKDkBQIoO89W4uFZKOJip737brc1705VfYNfPq/ZpybpkDb4oVn3b1y6edQXAvFhZBQAAAACoMupFBej+4W314Ii2xXcIzMm1aeaS3XrkvVVatHa/bIV2g1MCOBPKKgAAgCqEO0oCQJFmscF67Lr2uiuulaLDfCVJGTn5+nL+Dj324Wqt2pQiu521qYAZcRkgqj3+ewJgJhQNAACUH4vForaNw3VBwzCt3pKi2csSdCQjV6nHcvXhT1s0Z80+xfWorzYNw2Sx8L8wYBaUVQAAAACAKs1qtahLyyh1ahahpRsO6McVe5WRk6/k1By9+e1GNagVoLieDdQsNtjoqABEWQUAAAAAqCbc3azq0662uraM0oL4JM1dnajjeTbtPpCpl6etU4u6wYrr2UD1ogKMjgpUa5RVAACYCJcmAwBQ8bw83TS0c131ahuteWsS9eufScovsGvz3nRt3vun2jcO1+U96qvW37OuAFQuyioAAAAX53BQcwLA+fD19tAVPRuoX/va+mnlPi1Zn6xCu0PxO1K1dmequrSM1GXd6iks0MfoqEC1QlkFAAAAAKjWAv28NGpAYw3oFKPvlydo1aYUORzSio0pWrPlkHq1idbFXeoqwNfT6KhAtWA1OgAAAADKEXezAoDzFh7ko5svbq5nxnRSu8bhkiRboUML4vfr4fdW6bulu3U812ZwSqDqY2UVwKUTAAAAAP4lOtxPd8a10p4Dmfr2t93aui9deQWF+mnlPi1em6whF8WqT/va8vJwMzoqUCWxsgoAABNhTQwAAOZRv1aAHhzRVg8Mb1N8h8CcXJtmLNmtR95fpcXrkmUrtBucEqh6WFkFAAAAAMAZNK8bomaxwVq744hmLdujA0dylJGdry9+2a5f1iRqWPd66tQ8QlYuxQbKBWUVAAAAAABnYbFY1L5JuNo2CtOqzSn6fnmCjmTk6vCxE/rgxy2as3qf4no00AUNQ2WhtALKhLIKAAATYYoeAADmZrVa1LVVlDo1i9DSDQf048q9yszJ1/7UHL3x7V9qGB2oK3rWV5M6wUZHBVwWM6sAAAAAADhHHu5W9W1fWxPHdlZcj/ry8SpaC7IrOUMTv1qnV6ev176ULINTAq6JlVUAAAAAAJwnL083Xdylrnq3i9bc1Yla8GeS8m12bUpI06aENHVoEq7Le9RXVKiv0VEBl0FZhWqPS24AAFUJU1IAwBi+3h66slcD9etQWz+u3Kul6w+o0O7Qn9tTFb8jVV1bRemyrvUUGuhtdFTA9LgMEAAAE6FoAADAtQX5eem6AU30/K0XqXOLCFkkORzS8r8OavwHq/XX7iNGRwRMj7IKAAAAAIByVjPIR7dc0kITbuqkto3CJEm2QrumzN2m3HybwekAc6OsAgAAAACggtSu6ae7rmit0QObSJKOZefrx5V7jQ0FmBxlFQAAAAAAFaxHm1qqXytAkjT/9ySlpB03OBFgXpRVAACYCDd9wPlwcOIAgOlZLRaN6t9YFkmFdoe+WrBDDr6BA6dEWQUAAAAAQCWoFxWg7hfUkiRt2pOm9bsYtg6cCmUVAABAFWLhlpIAYGpxPeurhpe7JGnagp3KLyg0OBFgPpRVqPZYeAvATOgZAACo2gJqeOryHvUlSUcycjVvTaLBiQDzoawCAAAAAKAS9WpbSzE1/SRJP6/epyPHThicCDAXyioAAAAAACqRm9WqUf0bS5IKbHZNX7TL4ESAuVBWAQAAAABQyRrHBOmiFhGSpPgdqdqckGZwIsA8KKsAADAR5ugBAFB9XNWrobw83SRJXy3YIVuh3eBEgDlQVgEAALg4BzUnALikYH8vXdq1riTp4NHjWvDnfmMDASZBWQUAAAAAgEH6d4hRZEgNSdL3KxJ0LDvP4ESA8SirAP4YDQAAAMAg7m5WjezfSJKUl1+oGYsZtg5QVgEAYCIWowMAAIBK17JeqNo1Dpckrdp8SDuSjhkbCDAYZRUAAAAAAAYb3qehPNyLfkWf+usO2e1cAoLqi7IKAAAAAACDhQX5aMhFsZKkpMPZWrI+2eBEgHEoqwAAAAAAMIHBF9ZRWKC3JGnW0j3KOp5vcCLAGJRVAACYCAv+cV44cQCgSvD0cNOIvkXD1nNybfpu6R6DEwHGoKwCAAAAAMAk2jQKU8t6IZKkpesPKOFgpsGJgMpHWQUAAFCFWCzcUxIAXJnFYtGIfo3kZrXIIemrX3fI7mAJLaoXyipUew6unQBgItQMAAAgKtRXAzrGSJJ2H8jUyo0pBicCKhdlFQAAAAAAJnNxl7oK8vOUJM1cskvHc20GJwIqD2UVAAAAAAAm4+Plrqv7NJQkZR4v0PfLEwxOBFQeyioAAAAAAEzowmYRahwTJElaGL9f+1OzjQ0EVBLKKgAATIQpegAA4CSLxaJR/RvLYpHsDoe++nWHHAxbRzVAWQUAAODi+LUFAKqumJp+6tOutiRpW+Ix/bHtsMGJgIpHWQUAAAAAgIkN615Pfj4ekqTpi3YpL7/Q4ERAxaKsAvhzNACgCrEYHQAAUO58vT10Za8GkqT0rDz9tGqvsYGACkZZBQCAiVA0AACAU+nWOkr1ovwlSb/8nqhDaccNTgRUHMoqAAAAAABMzmqxaFT/JpIkW6FD0xbuNDgRUHEoqwAAAAAAcAH1awWoe+soSdJfu49q/a4jBicCKgZlFQAAAAAALuKKng3k4+UuSZq2YIcKbAxbR9VDWQUAgIlwzwcAAHAmAb6eurx7PUlS6rFczfs9yeBEQPmjrAIAAHB1tJwAUK30bhet2uG+kqSfV+7V0YxcgxMB5YuyCtUeP98DAKoUbikJAFWem9WqUf0bS5LybXZNX8SwdVQtlFUAAJgIPQMAAHBGkzrBurB5hCTpz+2p2rI3zeBEQPmhrAIAAAAAwAVd3buhvDzcJElTf90hW6Hd4ERA+aCsAgAAAADABQX7e+mSrnUlSQePHtei+P3GBgLKCWUVAAAAAAAuqn+HGEWE1JAkzV6eoIzsPIMTAWVHWQUAgIlw0wcAAHAuPNytGtmvkSQpN79QM5bsNjgRUHaUVQAAAC7OQc0JANVaq/qhatsoTJK0clOKdu3PMDgRUDaUVQAAAAAAuLjhfRvJ3a3oV/wvf90uu50/ZMB1UVah2nPwPRwAUIVYjA4AADBEeJCPhlxUR5KUeChbv204YHAi4PxRVgEAYCIUDQAA4HwNvihWoQHekqTvftut7BMFBicCzg9lFQAAAAAAVYCXh5uG920oScrJtem7pXsMTgScH8oqAAAAAACqiHaNw9WibrAk6bd1ydqXkmVwIuDcUVYBAAAAAFBFWCwWjezfWG5Wixz6e9g6g3rhYiirAAAwEX6UBAAAZRUV6qv+HWIkSbuTM7VqU4rBiYBzQ1kFAADg4viDOQDgvy7pWleBfp6SpBlLdutEns3gRIDzKKsA1jEAAKoSC/eUBABIPl7uurp30bD1zJx8fb88weBEgPMoqwAAMBFqBgAAUF4uah6hRrUDJUkL4/cr+UiOwYkA51BWAQAAAABQBVksFo3q31gWi1Rod+irX3fIwbXjcAGUVQAAAAAAVFF1IvzVq220JGnrvnTFb081OBFwdpRVAAAAAABUYZd3ry8/Hw9J0teLdiqvoNDgRMCZUVYBAAAAAFCF+fl46Iqe9SVJaZl5+nnVPoMTAWdGWQUAgIkwRQIAAFSE7q1rKTbSX5I0b80+HU4/bnAi4PQoqwAAAAAAqOKsVouu7d9YkmQrdOjrhbsMTgScHmUVqj1uhgHATCxGB4DL4xwCAJxOg+hAdWsVJUlav+uINuw6YnAi4NQoqwAAAAAAqCau6NVAPl5ukqRpC3eqwMawdZgPZRUAAAAAANVEoK+nhnUrGrZ+OP2EZv+22+BEQGmUVQAAAAAAVCO920UrOsxXkjR9wQ6lZeYanAgoibIKAAAAAIBqxN3NqpF/D1vPyy/UN4sZtg5zoawCAMBEuOcDAACoDM1ig9WpWU1J0u9bD2vrvnSDEwH/oKwCAABwcdzZFgBwPq7u3VBenkXD1r/6dYdshXaDEwFFKKtQ7fHzPQCgKrEYHQAA4DJCArx1Tb+iywGTj+Ro8dpkgxMBRSirAAAwEYoGAABQmYb1bKCawT6SpNnL9ygjJ9/gRABlFQAAAAAA1ZaHu5tG9mskSTqRV6hvl+w2OBFAWQUAAAAAQLXWukGY2jQMkyQt33hQu5MzDE6E6o6yCgAAAACAam5434ZydyuqCL78dYfsdqb7wjiUVQAAAAAAVHM1g2to0IV1JEn7UrK07K8DBidCdUZZBQCAifA3TJwPB2cOAKAcDO0cq9AAL0nSt7/tUfaJAoMTobqirAL4+R4AAAAA5OXhpmv6FA1bzz5RoFnL9hicCNUVZRUAACZiMToAXB8nEQCgDNo3CVez2GBJ0pJ1yUo8lGVwIlRHlFUAAAAAAECSZLFYNLJ/Y7lZLXI4pKm/7pDDweUoqFzVpqz6/PPPFRcXZ3QMAAAAAABMLTrMV33b15Yk7dyfodVbDhmcCNVNtSirtmzZog8//NDoGAAAAAAAuITLutVTgK+nJOmbRbt0Is9mcCJUJ1W+rMrJydGTTz6p++67z+goAAAAAAC4BB8vd13Vq4EkKSMnXz+u2GtsIFQrLl9WzZ49W82bNy/1lpVVNATu6aef1k033aRatWoZnBQAgLNjIgQAADCLzi0j1TA6UJL0659JOng0x+BEqC5cvqwaNmyYtmzZUurN399f3333nTw8PDRkyBCjYwIAAFQcWk4AQAWwWiwa1b+xLJIK7Q6GraPSuHxZdSY//vijNmzYoMsuu0yPP/64du/erRtuuMHoWDAZBz/hAwCqEIssRkcAAFQhsZH+6tk2WpK0ZW+61u5INTgRqgN3owNUpE8//bT4/TVr1mjixImaMmWKcYEAADgLagYAAGA2cT3q64+th5STa9PXC3epZf1QeXm4GR0LVZhpVlZt3bpVLVq0UEpKSql9P/30k4YOHarWrVtr8ODBmj17duUHBAAAAACgGvLz8dAVPYuGrR/NzNXc1fsMToSqzhRl1e7duzV27FjZbKVvhTlnzhw98MAD6tatm95++2116tRJDz/8sObNm3dOr3HhhRfqu+++K6/IAAAAAABUGz0uqKXYCH9J0pzViTp87ITBiVCVGXoZoM1m0/Tp0/XKK6/Iw8PjlMdMnjxZgwcP1vjx4yVJ3bt3V0ZGhl5//XUNGjSoUnKGhvpVyutUR+Hh/kZHUOCh7OL33dyspsgE5/H1QlmZ4Rzy8/Muft/b28MUmeA8M3y9/P3/OYdCQn0VHlzDwDQ4V2Y4h+DaOIdQVs6eQ+OuaqOH3lomW6Fds5Yl6PGbLqzgZHAFFfE9yNCyKj4+XpMmTdKYMWMUERGhxx9/vMT+pKQkJSYm6r777iuxfeDAgZo7d66SkpIUExNT4TmPHs2W3c4Q7vIWHu6v1NQso2MoI/OfvwgUFtpNkQnOMcs5BNdllnMoOzu3+P3c3AJTZIJzzHIOZWX9cw6lHc2RxVZoYBqcC7OcQ3BdnEMoq3M5h8L8PNSlZaRWbkrRms0pWrRmr1rVD63ghDCz8/0eZLVazrgwyNDLABs0aKAFCxbozjvvlJtb6eFse/bskSTVq1evxPbY2FhJUkJCQsWHBACgEvGnEZwPzhsAQGW5qlcDeXsW/f7+1a87VGCzG5wIVZGhZVVYWJhCQ0/fwmZlFbVzfn4l2zZfX19JUnZ2dqnHAOeMn/ABAAAAwCmBfl4a1q1oQcmh9BP69c8kgxOhKjLFgPXTcTjO3CJYraaODwDAObMYHQAuz8JJBACoYH3a11atsKJFJD+u2Kv0rDyDE6GqMXXb4+9fNKQrJyenxPaTK6pO7gcAAAAAAJXD3c2qkf0aSZLyCgr1zeJdBidCVWPqsurkrKrExMQS2/ft21diPwAAAAAAqDzN64aoQ9OakqQ1Ww5pe2K6wYlQlZi6rIqNjVXt2rU1b968Etvnz5+vunXrqlatWgYlAwAAAACgerumd0N5uhfVClN/3aFCO8PWUT7cjQ5wNuPGjdP48eMVGBioXr16aeHChZo7d64mT55sdDQAAAAAAKqt0EBvDe1SV7OW7tH+1BwtXpusfh1ijI6FKsD0ZVVcXJzy8/P1ySefaMaMGYqJidHEiRM1ZMgQo6MBAFDuuEEpAABwJYM6xWj5XweUeixXs5YlqFOzCAX4ehodCy7ONGVVXFyc4uLiTrlv+PDhGj58eCUnAgAAAAAAZ+Lh7qYR/RrrjZl/6USeTd/+tls3DmlmdCy4OFPPrAIqA6sYAAAAAOD8tWkYptYNQiVJy/46qD0HMg1OBFdHWQUAgIlYjA4AAABwHkb0ayR3t6KfZKb+ul12B8sCcP4oqwAAAAAAQJlEBNfQwE51JEkJB7O0/K+DBieCK6OsAgAAAAAAZXZx57oK9veSJM1csls5uQUGJ4KroqwCAAAAAABl5uXppmv6NJQkZZ8o0OxlCQYngquirAIAAAAAAOWiY9OaalonSJK0aO1+JR3ONjYQXBJlFQAAJsIoUpwPB0NsAQAmYbFYNKp/Y1ktFjkc0tT52/l/CueMsgrVHt83AQAAAKD8RIf7qW/72pKkHfsztGbrIYMTwdVQVgEAYCIWowPA5VksnEUAAONd1q2eAmp4SJK+WbRLufk2gxPBlVBWAQAAAACAclXD211X9ioatn4sO18/rtxrbCC4FMoqAAAAAABQ7rq0ilSDWgGSpPm/J+ng0RyDE8FVUFYBAAAAAIByZ7VYNGpAY1kkFdodmrZgJ8PW4RTKKgAAAAAAUCHqRgaoR5takqRNCWlav/OIwYngCiirAAAAAABAhYnrUV++3u6SpGkLdyq/oNDgRDA7yipALEMFALg2/icDAJiZfw1PXd6jviTpSEau5q5JNDgRzI6yCgAAAAAAVKhebaJVp6afJGnO6n06cuyEwYlgZpRVAAAAAACgQlmtRcPWJanAZtfXi3YZnAhmRlkFAAAAAAAqXKPaQercIkKStHZHqjYlHDU4EcyKsgoAAAAAAFSKq3o3lJenmyTpq193ylZoNzgRzIiyCgAAAAAAVIogPy9d1rWeJCkl7bh+/TPJ4EQwI8oqAAAAAABQafp1qK2o0BqSpB9W7FV6Vp7BiWA2lFUAAJiIw+gAcE2cOAAAF+LuZtXIfkXD1vPyCzVjCcPWURJlFao9Bz/gAwAAAEClalEvRO0bh0uSVm8+pB1Jx4wNBFOhrAIAwEQsRgeAy7NwEgEAXMQ1fRvKw72olvhy/g4V2hm2jiKUVQAAAAAAoNKFBfpoaOdYSdL+1GwtWXfA4EQwC8oqAAAAAABgiMEX1lFYoLckadbSPco8nm9wIpgBZRUAAAAAADCEh7ubRvRrJEk6nmfTd7/tMTgRzICyCgAAAAAAGKZNwzC1rB8iSVqx8aBshcyuqu4oqwAAAAAAgGEsFouaxxaVVYV2B2UVKKsAAABcncPoAAAAAOWIsgoAAKAKsRgdAAAAoIwoqwAAAAAAAGAalFUAAAAAAAAwDcoqAAAAAAAAmAZlFQAAAAAAAEyDsgoAAAAAAJiGg9vcVnuUVQAAmAg/m+G88FM9AACoQiirUO3x4z0AAAAAAOZBWQUAgIlYjA4A12fhLAIAAK6NsgoAAAAAAACmQVkFAAAAAAAA06CsAgAAAAAAgGlQVgEAAAAAAMA0KKsAAAAAAABgGpRVqPYcDofREQAAKBP+JwMAuDpuZot/o6wCAACoQvhZHwAAuDrKKgAAAAAAAJgGZRUAAAAAAABMg7IKAAAAAAAApkFZBQAAAAAAANOgrAIAAAAAAIBpuBsdwBVYrdxXp6KY4XPr4+WumsE+kqRgfy9TZILz+HqhrMxwDtXw/uf7kL+vpykywXlm+HrV8PYoPofc3a2myATn8fVCWXEOoazMcA75+vzzf5nVyv9lruR8vlZne4zF4XA4zjcQAAAAAAAAUJ64DBAAAAAAAACmQVkFAAAAAAAA06CsAgAAAAAAgGlQVgEAAAAAAMA0KKsAAAAAAABgGpRVAAAAAAAAMA3KKgAAAAAAAJgGZRUAAAAAAABMg7IKAAAAAAAApkFZhUr3008/aejQoWrdurUGDx6s2bNnGx0JLmrr1q1q0aKFUlJSjI4CF2K32zVt2jRdcsklatu2rfr166cXX3xR2dnZRkeDi3A4HJoyZYoGDhyo1q1b69JLL9WPP/5odCy4qDvvvFP9+/c3OgZcjM1mU+vWrdWkSZMSb23btjU6GlzIH3/8oREjRuiCCy5Qt27d9OyzzyonJ8foWHABa9asKfX9599vs2bNKvNruJdDTsBpc+bM0QMPPKDrr79e3bp104IFC/Twww/L29tbgwYNMjoeXMju3bs1duxY2Ww2o6PAxXz00Ud67bXXNGbMGHXu3FkJCQl64403tGvXLn388cdGx4MLeP/99/XGG2/orrvuUps2bbR06VI98MADcnNz05AhQ4yOBxfy/fff69dff1WdOnWMjgIXk5CQoLy8PE2cOFF169Yt3m61shYBzlm/fr1uvPFG9enTR++++6727dunV199VWlpaZo8ebLR8WByLVq00PTp00tsczgceuyxx3T8+HH17NmzzK9BWYVKNXnyZA0ePFjjx4+XJHXv3l0ZGRl6/fXXKavgFJvNpunTp+uVV16Rh4eH0XHgYhwOhz766CNdc801uv/++yVJXbp0UXBwsP7v//5PW7duVbNmzQxOCTMrKCjQJ598ohEjRuj222+XJHXu3FmbNm3Sl19+SVkFpx06dEjPP/+8IiMjjY4CF7Rt2zZZrVYNHDhQPj4+RseBC5o0aZLatGmj119/XRaLRV26dJHdbtenn36qEydOcF7hjPz8/NSmTZsS2z777DMlJCTo66+/VkhISJlfg+odlSYpKUmJiYkaMGBAie0DBw7Unj17lJSUZFAyuJL4+HhNmjRJN910kx544AGj48DF5OTk6NJLL9XFF19cYnv9+vUlSYmJiUbEggtxc3PTF198oVtvvbXEdg8PD+Xl5RmUCq7o8ccfV9euXdW5c2ejo8AFbd26VXXq1KFQwHlJS0vTn3/+qREjRshisRRvHzVqlBYsWMB5hXOWmpqq119/vfiy0vJAWYVKs2fPHklSvXr1SmyPjY2VVLScGTibBg0aaMGCBbrzzjvl5uZmdBy4GD8/Pz3++ONq3759ie0LFiyQJDVs2NCIWHAhVqtVTZo0UUREhBwOh44cOaIPPvhAK1eu1DXXXGN0PLiIGTNmaPPmzXriiSeMjgIXtX37dnl6emrMmDFq27atOnbsqCeffJL5i3DKjh075HA4FBgYqHvvvVdt2rRR+/bt9dRTTyk3N9foeHBBb775pqxWq+69995ye04uA0SlycrKklT0y+K/+fr6ShL/ucIpYWFhRkdAFbNhwwZ98MEH6tevnxo0aGB0HLiQ+fPn6+6775Yk9erVS5deeqnBieAKkpOT9eKLL+rFF18sl8skUD1t27ZN2dnZuuqqq3Tbbbdp06ZNevPNN5WQkKDPP/+8xGoZ4L/S0tIkSY888oj69++vd999V9u3b9drr72mvLw8vfTSSwYnhCs5evSoZs+erZtuukkBAQHl9ryUVag0DofjjPsZCAmgssXHx+u2225T7dq19dxzzxkdBy6mefPm+vLLL7V9+3a9/vrruvXWW/XZZ5/xSyJOy+Fw6NFHH1XPnj01cOBAo+PAhU2ePFmBgYFq0qSJJKljx44KDQ3Vgw8+qJUrV6pr164GJ4SZFRQUSJLatWunp556SlLR/EWHw6GJEydq3LhxiomJMTIiXMiMGTNkt9s1evTocn1e2gFUGn9/f0kqdTvUkyuqTu4HgMowZ84c3XjjjYqKitKUKVMUHBxsdCS4mJiYGHXs2FHXXnutHnvsMa1Zs0br1q0zOhZMbOrUqdq+fbseffRR2Ww22Wy24j/m/ft94Gw6depUXFSd1KtXL0lFq66AMzl5ZUuPHj1KbO/WrZscDoe2b99uRCy4qF9++UXdu3cv99XClFWoNCdnVf13gPG+fftK7AeAivbpp5/qvvvuU5s2bTR16lTVrFnT6EhwEceOHdPs2bN16NChEtubN28uSTp8+LARseAifvnlF6Wnp6tbt25q0aKFWrRoodmzZysxMVEtWrTQrFmzjI4IF3D06FHNmDGj1M2JTs4a4o8vOJu6detKkvLz80tsP7niihXCcNahQ4e0ZcsWDR48uNyfm7IKlSY2Nla1a9fWvHnzSmyfP3++6tatq1q1ahmUDEB1MmPGDL300ksaPHiwPvroI1Z14pzY7XY98sgjmj59eontK1askCQ1btzYiFhwERMmTNDMmTNLvPXu3VuRkZHF7wNnY7FY9OSTT+rLL78ssX3OnDlyc3MrdRMR4L8aNGig6OhozZkzp8T2xYsXy93dXW3btjUoGVzNhg0bJKlCvu8wswqVaty4cRo/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 0b2d2d390..96975f411 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 1b4fa431d..d5186edd8 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 c61dcdcf1..9954a2b4a 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 55ef3f357..500aaf10b 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 dce673ad7..ef1abd20b 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 8aa8d8bb6..f96b236d6 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 988f50bae..4c0a274a9 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 9a8a2c676..0037fc2d4 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 1f80a8ff1..27c00fa1f 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 c65f10a95..9961ab613 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 GIT binary patch delta 11391 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 N>j=Hl`v0bt?;8b#F8}}l delta 11525 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 diff --git a/docs/build/html/plot_functions.html b/docs/build/html/plot_functions.html index 531211e81..31775e892 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 6eac60d04..4995e61e4 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 da844f5e7..bc5a51dd1 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 7ba8c7a04..d7897bedb 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 ee1e8d5d6..7d2c7c6d0 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 fbf83d2a2..35e886946 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 e3a8fd30c..232d3c6e9 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 d7fc6de81..32fec1717 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 6da7aee98..4b38425e1 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 753e9b0ca..e4f6a9eaa 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 b97d558f7..7e063b248 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 add7db083..6d5ab84dc 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 ddf4f0e59..d5bc70a5b 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 e3db921fd..a39d45529 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 348f01c47..5d423b5f1 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 d2840cb25..16dab6e8c 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 baf3c5c76..e62e89399 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 514c3aba4..0e7202022 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 dcaa7b14a..1d0efe756 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 497d25460..45468d049 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 cc3dd3d95..b34277ea9 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 5ec042793..30b97845d 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 2ca0040ea..8ffdad5e6 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 a4262d340..9f708fe59 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> -- GitLab