From c41cc68346a3243639956e53f658c8fc2e2b0f58 Mon Sep 17 00:00:00 2001 From: dh00601 <dh00601@surrey.ac.uk> Date: Tue, 2 Nov 2021 23:51:38 +0000 Subject: [PATCH] updated docs --- badges/test_coverage.svg | 6 +- docs/Makefile | 26 +- .../doctrees/binary_c_parameters.doctree | Bin 972302 -> 954875 bytes docs/build/doctrees/environment.pickle | Bin 601073 -> 608176 bytes docs/build/doctrees/example_notebooks.doctree | Bin 4635 -> 4743 bytes .../{ => examples}/notebook_BHBH.doctree | Bin 2184881 -> 2182264 bytes .../{ => examples}/notebook_HRD.doctree | Bin 131479 -> 131572 bytes .../notebook_api_functionality.doctree | Bin 415743 -> 415752 bytes ...notebook_common_envelope_evolution.doctree | Bin 105860 -> 105890 bytes .../notebook_custom_logging.doctree | Bin 45924 -> 45933 bytes .../notebook_extra_features.doctree | Bin 21130 -> 21139 bytes .../notebook_individual_systems.doctree | Bin 56489 -> 56498 bytes ...ebook_luminosity_function_binaries.doctree | Bin 144220 -> 143688 bytes ...otebook_luminosity_function_single.doctree | Bin 61558 -> 61567 bytes .../notebook_massive_remnants.doctree | Bin 75044 -> 75544 bytes .../notebook_population.doctree | Bin 142048 -> 142057 bytes .../notebook_solar_system.doctree | Bin 30530 -> 30670 bytes .../examples/old/basic_example.doctree | Bin 0 -> 9813 bytes .../old/workshop_example_notebook.doctree | Bin 0 -> 65313 bytes .../{ => examples}/notebook_BHBH.ipynb | 395 ++----- .../{ => examples}/notebook_HRD.ipynb | 0 .../notebook_api_functionality.ipynb | 0 .../notebook_common_envelope_evolution.ipynb | 0 .../notebook_custom_logging.ipynb | 0 .../notebook_extra_features.ipynb | 0 .../notebook_individual_systems.ipynb | 0 ...otebook_luminosity_function_binaries.ipynb | 38 +- .../notebook_luminosity_function_single.ipynb | 4 +- .../examples}/notebook_massive_remnants.ipynb | 26 +- .../{ => examples}/notebook_population.ipynb | 0 .../notebook_solar_system.ipynb | 10 +- .../nbsphinx/examples/old/basic_example.ipynb | 128 +++ .../old/workshop_example_notebook.ipynb | 641 +++++++++++ ...4_2.png => examples_notebook_HRD_14_2.png} | Bin ...9_2.png => examples_notebook_HRD_19_2.png} | Bin ...3_2.png => examples_notebook_HRD_23_2.png} | Bin ...6_2.png => examples_notebook_HRD_26_2.png} | Bin ...tebook_common_envelope_evolution_14_2.png} | Bin ...ook_luminosity_function_binaries_20_1.png} | Bin ...amples_notebook_massive_remnants_20_1.png} | Bin ...amples_notebook_massive_remnants_25_1.png} | Bin ...amples_notebook_massive_remnants_33_0.png} | Bin ...> examples_notebook_solar_system_10_1.png} | Bin ...=> examples_notebook_solar_system_8_1.png} | Bin .../examples_old_basic_example_1_1.png | Bin 0 -> 7243 bytes .../examples_old_basic_example_2_1.png | Bin 0 -> 7243 bytes ...les_old_workshop_example_notebook_17_0.png | Bin 0 -> 39816 bytes ...4_2.png => examples_notebook_HRD_14_2.png} | Bin ...9_2.png => examples_notebook_HRD_19_2.png} | Bin ...3_2.png => examples_notebook_HRD_23_2.png} | Bin ...6_2.png => examples_notebook_HRD_26_2.png} | Bin ...tebook_common_envelope_evolution_14_2.png} | Bin ...ook_luminosity_function_binaries_20_1.png} | Bin ...amples_notebook_massive_remnants_20_1.png} | Bin ...amples_notebook_massive_remnants_25_1.png} | Bin ...amples_notebook_massive_remnants_33_0.png} | Bin ...> examples_notebook_solar_system_10_1.png} | Bin ...=> examples_notebook_solar_system_8_1.png} | Bin .../examples_old_basic_example_1_1.png | Bin 0 -> 7243 bytes .../examples_old_basic_example_2_1.png | Bin 0 -> 7243 bytes ...les_old_workshop_example_notebook_17_0.png | Bin 0 -> 39816 bytes docs/build/html/_images/test_coverage.svg | 4 +- .../utils/custom_logging_functions.html | 4 +- .../utils/distribution_functions.html | 4 +- .../binarycpython/utils/functions.html | 11 +- .../_modules/binarycpython/utils/grid.html | 30 +- .../utils/grid_options_defaults.html | 16 +- .../binarycpython/utils/plot_functions.html | 4 +- .../utils/run_system_wrapper.html | 4 +- .../utils/spacing_functions.html | 4 +- .../binarycpython/utils/useful_funcs.html | 4 +- docs/build/html/_modules/index.html | 4 +- .../html/_sources/binary_c_parameters.rst.txt | 200 ++-- .../html/_sources/example_notebooks.rst.txt | 24 +- .../{ => examples}/notebook_BHBH.ipynb.txt | 395 ++----- .../{ => examples}/notebook_HRD.ipynb.txt | 0 .../notebook_api_functionality.ipynb.txt | 0 ...tebook_common_envelope_evolution.ipynb.txt | 0 .../notebook_custom_logging.ipynb.txt | 0 .../notebook_extra_features.ipynb.txt | 0 .../notebook_individual_systems.ipynb.txt | 0 ...ook_luminosity_function_binaries.ipynb.txt | 38 +- ...ebook_luminosity_function_single.ipynb.txt | 4 +- .../notebook_massive_remnants.ipynb.txt | 26 +- .../notebook_population.ipynb.txt | 0 .../notebook_solar_system.ipynb.txt | 10 +- .../examples/old/basic_example.ipynb.txt | 128 +++ .../old/workshop_example_notebook.ipynb.txt | 641 +++++++++++ docs/build/html/binary_c_parameters.html | 224 ++-- docs/build/html/custom_logging_functions.html | 4 +- docs/build/html/distribution_functions.html | 4 +- docs/build/html/example_notebooks.html | 143 ++- .../html/{ => examples}/notebook_BHBH.html | 81 +- .../html/{ => examples}/notebook_BHBH.ipynb | 395 ++----- .../html/{ => examples}/notebook_HRD.html | 66 +- .../html/{ => examples}/notebook_HRD.ipynb | 0 .../notebook_api_functionality.html | 58 +- .../notebook_api_functionality.ipynb | 0 .../notebook_common_envelope_evolution.html | 64 +- .../notebook_common_envelope_evolution.ipynb | 0 .../notebook_custom_logging.html | 58 +- .../notebook_custom_logging.ipynb | 0 .../notebook_extra_features.html | 58 +- .../notebook_extra_features.ipynb | 0 .../notebook_individual_systems.html | 62 +- .../notebook_individual_systems.ipynb | 0 ...notebook_luminosity_function_binaries.html | 91 +- ...otebook_luminosity_function_binaries.ipynb | 38 +- .../notebook_luminosity_function_single.html | 58 +- .../notebook_luminosity_function_single.ipynb | 4 +- .../notebook_massive_remnants.html | 89 +- .../examples}/notebook_massive_remnants.ipynb | 26 +- .../{ => examples}/notebook_population.html | 58 +- .../{ => examples}/notebook_population.ipynb | 0 .../{ => examples}/notebook_solar_system.html | 78 +- .../examples}/notebook_solar_system.ipynb | 10 +- .../html/examples/old/basic_example.html | 565 +++++++++ .../html/examples/old/basic_example.ipynb | 128 +++ .../old/workshop_example_notebook.html | 1008 +++++++++++++++++ .../old/workshop_example_notebook.ipynb | 641 +++++++++++ docs/build/html/functions.html | 4 +- docs/build/html/genindex.html | 4 +- docs/build/html/grid.html | 4 +- docs/build/html/grid_options_defaults.html | 4 +- .../build/html/grid_options_descriptions.html | 4 +- docs/build/html/hpc_functions.html | 4 +- docs/build/html/index.html | 28 +- docs/build/html/modules.html | 4 +- docs/build/html/objects.inv | Bin 6339 -> 6947 bytes docs/build/html/plot_functions.html | 4 +- docs/build/html/py-modindex.html | 4 +- docs/build/html/readme_link.html | 4 +- docs/build/html/run_system_wrapper.html | 4 +- docs/build/html/search.html | 4 +- docs/build/html/searchindex.js | 2 +- docs/build/html/spacing_functions.html | 4 +- docs/build/html/stellar_types.html | 4 +- docs/build/html/useful_funcs.html | 4 +- docs/source/_templates/footer.html | 4 +- docs/source/badges/test_coverage.svg | 4 +- docs/source/binary_c_parameters.rst | 200 ++-- docs/source/example_notebooks.rst | 24 +- .../example_plotting_distributions.py | 238 ++++ .../source/{ => examples}/notebook_BHBH.ipynb | 395 ++----- docs/source/{ => examples}/notebook_HRD.ipynb | 0 .../notebook_api_functionality.ipynb | 0 .../notebook_common_envelope_evolution.ipynb | 0 .../notebook_custom_logging.ipynb | 0 .../notebook_extra_features.ipynb | 0 .../notebook_individual_systems.ipynb | 0 ...otebook_luminosity_function_binaries.ipynb | 38 +- .../notebook_luminosity_function_single.ipynb | 4 +- .../examples}/notebook_massive_remnants.ipynb | 26 +- .../{ => examples}/notebook_population.ipynb | 0 .../examples}/notebook_solar_system.ipynb | 10 +- docs/source/examples/old/basic_example.ipynb | 128 +++ .../old/workshop_example_notebook.ipynb | 641 +++++++++++ reports/test_coverage/test_coverage.svg | 6 +- 158 files changed, 6173 insertions(+), 2475 deletions(-) rename docs/build/doctrees/{ => examples}/notebook_BHBH.doctree (99%) rename docs/build/doctrees/{ => examples}/notebook_HRD.doctree (98%) rename docs/build/doctrees/{ => examples}/notebook_api_functionality.doctree (99%) rename docs/build/doctrees/{ => examples}/notebook_common_envelope_evolution.doctree (97%) rename docs/build/doctrees/{ => examples}/notebook_custom_logging.doctree (97%) rename docs/build/doctrees/{ => examples}/notebook_extra_features.doctree (91%) rename docs/build/doctrees/{ => examples}/notebook_individual_systems.doctree (93%) rename docs/build/doctrees/{ => examples}/notebook_luminosity_function_binaries.doctree (95%) rename docs/build/doctrees/{ => examples}/notebook_luminosity_function_single.doctree (97%) rename docs/build/doctrees/{ => examples}/notebook_massive_remnants.doctree (94%) rename docs/build/doctrees/{ => examples}/notebook_population.doctree (98%) rename docs/build/doctrees/{ => examples}/notebook_solar_system.doctree (87%) create mode 100644 docs/build/doctrees/examples/old/basic_example.doctree create mode 100644 docs/build/doctrees/examples/old/workshop_example_notebook.doctree rename docs/build/doctrees/nbsphinx/{ => examples}/notebook_BHBH.ipynb (98%) rename docs/build/doctrees/nbsphinx/{ => examples}/notebook_HRD.ipynb (100%) rename docs/build/doctrees/nbsphinx/{ => examples}/notebook_api_functionality.ipynb (100%) rename docs/build/doctrees/nbsphinx/{ => examples}/notebook_common_envelope_evolution.ipynb (100%) rename docs/build/doctrees/nbsphinx/{ => examples}/notebook_custom_logging.ipynb (100%) rename docs/build/doctrees/nbsphinx/{ => examples}/notebook_extra_features.ipynb (100%) rename docs/build/doctrees/nbsphinx/{ => examples}/notebook_individual_systems.ipynb (100%) rename docs/{source => build/doctrees/nbsphinx/examples}/notebook_luminosity_function_binaries.ipynb (99%) rename docs/build/{html => doctrees/nbsphinx/examples}/notebook_luminosity_function_single.ipynb (99%) rename docs/build/{html => doctrees/nbsphinx/examples}/notebook_massive_remnants.ipynb (99%) rename docs/build/doctrees/nbsphinx/{ => examples}/notebook_population.ipynb (100%) rename docs/build/doctrees/nbsphinx/{ => examples}/notebook_solar_system.ipynb (99%) create mode 100644 docs/build/doctrees/nbsphinx/examples/old/basic_example.ipynb create mode 100644 docs/build/doctrees/nbsphinx/examples/old/workshop_example_notebook.ipynb rename docs/build/doctrees/nbsphinx/{notebook_HRD_14_2.png => examples_notebook_HRD_14_2.png} (100%) rename docs/build/doctrees/nbsphinx/{notebook_HRD_19_2.png => examples_notebook_HRD_19_2.png} (100%) rename docs/build/doctrees/nbsphinx/{notebook_HRD_23_2.png => examples_notebook_HRD_23_2.png} (100%) rename docs/build/doctrees/nbsphinx/{notebook_HRD_26_2.png => examples_notebook_HRD_26_2.png} (100%) rename docs/build/doctrees/nbsphinx/{notebook_common_envelope_evolution_14_2.png => examples_notebook_common_envelope_evolution_14_2.png} (100%) rename docs/build/doctrees/nbsphinx/{notebook_luminosity_function_binaries_20_1.png => examples_notebook_luminosity_function_binaries_20_1.png} (100%) rename docs/build/doctrees/nbsphinx/{notebook_massive_remnants_20_1.png => examples_notebook_massive_remnants_20_1.png} (100%) rename docs/build/doctrees/nbsphinx/{notebook_massive_remnants_25_1.png => examples_notebook_massive_remnants_25_1.png} (100%) rename docs/build/doctrees/nbsphinx/{notebook_massive_remnants_33_0.png => examples_notebook_massive_remnants_33_0.png} (100%) rename docs/build/doctrees/nbsphinx/{notebook_solar_system_10_1.png => examples_notebook_solar_system_10_1.png} (100%) rename docs/build/doctrees/nbsphinx/{notebook_solar_system_8_1.png => examples_notebook_solar_system_8_1.png} (100%) create mode 100644 docs/build/doctrees/nbsphinx/examples_old_basic_example_1_1.png create mode 100644 docs/build/doctrees/nbsphinx/examples_old_basic_example_2_1.png create mode 100644 docs/build/doctrees/nbsphinx/examples_old_workshop_example_notebook_17_0.png rename docs/build/html/_images/{notebook_HRD_14_2.png => examples_notebook_HRD_14_2.png} (100%) rename docs/build/html/_images/{notebook_HRD_19_2.png => examples_notebook_HRD_19_2.png} (100%) rename docs/build/html/_images/{notebook_HRD_23_2.png => examples_notebook_HRD_23_2.png} (100%) rename docs/build/html/_images/{notebook_HRD_26_2.png => examples_notebook_HRD_26_2.png} (100%) rename docs/build/html/_images/{notebook_common_envelope_evolution_14_2.png => examples_notebook_common_envelope_evolution_14_2.png} (100%) rename docs/build/html/_images/{notebook_luminosity_function_binaries_20_1.png => examples_notebook_luminosity_function_binaries_20_1.png} (100%) rename docs/build/html/_images/{notebook_massive_remnants_20_1.png => examples_notebook_massive_remnants_20_1.png} (100%) rename docs/build/html/_images/{notebook_massive_remnants_25_1.png => examples_notebook_massive_remnants_25_1.png} (100%) rename docs/build/html/_images/{notebook_massive_remnants_33_0.png => examples_notebook_massive_remnants_33_0.png} (100%) rename docs/build/html/_images/{notebook_solar_system_10_1.png => examples_notebook_solar_system_10_1.png} (100%) rename docs/build/html/_images/{notebook_solar_system_8_1.png => examples_notebook_solar_system_8_1.png} (100%) create mode 100644 docs/build/html/_images/examples_old_basic_example_1_1.png create mode 100644 docs/build/html/_images/examples_old_basic_example_2_1.png create mode 100644 docs/build/html/_images/examples_old_workshop_example_notebook_17_0.png rename docs/build/html/_sources/{ => examples}/notebook_BHBH.ipynb.txt (98%) rename docs/build/html/_sources/{ => examples}/notebook_HRD.ipynb.txt (100%) rename docs/build/html/_sources/{ => examples}/notebook_api_functionality.ipynb.txt (100%) rename docs/build/html/_sources/{ => examples}/notebook_common_envelope_evolution.ipynb.txt (100%) rename docs/build/html/_sources/{ => examples}/notebook_custom_logging.ipynb.txt (100%) rename docs/build/html/_sources/{ => examples}/notebook_extra_features.ipynb.txt (100%) rename docs/build/html/_sources/{ => examples}/notebook_individual_systems.ipynb.txt (100%) rename docs/build/html/_sources/{ => examples}/notebook_luminosity_function_binaries.ipynb.txt (99%) rename docs/build/html/_sources/{ => examples}/notebook_luminosity_function_single.ipynb.txt (99%) rename docs/build/html/_sources/{ => examples}/notebook_massive_remnants.ipynb.txt (99%) rename docs/build/html/_sources/{ => examples}/notebook_population.ipynb.txt (100%) rename docs/build/html/_sources/{ => examples}/notebook_solar_system.ipynb.txt (99%) create mode 100644 docs/build/html/_sources/examples/old/basic_example.ipynb.txt create mode 100644 docs/build/html/_sources/examples/old/workshop_example_notebook.ipynb.txt rename docs/build/html/{ => examples}/notebook_BHBH.html (99%) rename docs/build/html/{ => examples}/notebook_BHBH.ipynb (98%) rename docs/build/html/{ => examples}/notebook_HRD.html (96%) rename docs/build/html/{ => examples}/notebook_HRD.ipynb (100%) rename docs/build/html/{ => examples}/notebook_api_functionality.html (98%) rename docs/build/html/{ => examples}/notebook_api_functionality.ipynb (100%) rename docs/build/html/{ => examples}/notebook_common_envelope_evolution.html (95%) rename docs/build/html/{ => examples}/notebook_common_envelope_evolution.ipynb (100%) rename docs/build/html/{ => examples}/notebook_custom_logging.html (94%) rename docs/build/html/{ => examples}/notebook_custom_logging.ipynb (100%) rename docs/build/html/{ => examples}/notebook_extra_features.html (89%) rename docs/build/html/{ => examples}/notebook_extra_features.ipynb (100%) rename docs/build/html/{ => examples}/notebook_individual_systems.html (94%) rename docs/build/html/{ => examples}/notebook_individual_systems.ipynb (100%) rename docs/build/html/{ => examples}/notebook_luminosity_function_binaries.html (95%) rename docs/build/{doctrees/nbsphinx => html/examples}/notebook_luminosity_function_binaries.ipynb (99%) rename docs/build/html/{ => examples}/notebook_luminosity_function_single.html (95%) rename docs/{source => build/html/examples}/notebook_luminosity_function_single.ipynb (99%) rename docs/build/html/{ => examples}/notebook_massive_remnants.html (93%) rename docs/{source => build/html/examples}/notebook_massive_remnants.ipynb (99%) rename docs/build/html/{ => examples}/notebook_population.html (97%) rename docs/build/html/{ => examples}/notebook_population.ipynb (100%) rename docs/build/html/{ => examples}/notebook_solar_system.html (90%) rename docs/{source => build/html/examples}/notebook_solar_system.ipynb (99%) create mode 100644 docs/build/html/examples/old/basic_example.html create mode 100644 docs/build/html/examples/old/basic_example.ipynb create mode 100644 docs/build/html/examples/old/workshop_example_notebook.html create mode 100644 docs/build/html/examples/old/workshop_example_notebook.ipynb create mode 100644 docs/source/examples/example_plotting_distributions.py rename docs/source/{ => examples}/notebook_BHBH.ipynb (98%) rename docs/source/{ => examples}/notebook_HRD.ipynb (100%) rename docs/source/{ => examples}/notebook_api_functionality.ipynb (100%) rename docs/source/{ => examples}/notebook_common_envelope_evolution.ipynb (100%) rename docs/source/{ => examples}/notebook_custom_logging.ipynb (100%) rename docs/source/{ => examples}/notebook_extra_features.ipynb (100%) rename docs/source/{ => examples}/notebook_individual_systems.ipynb (100%) rename docs/{build/html => source/examples}/notebook_luminosity_function_binaries.ipynb (99%) rename docs/{build/doctrees/nbsphinx => source/examples}/notebook_luminosity_function_single.ipynb (99%) rename docs/{build/doctrees/nbsphinx => source/examples}/notebook_massive_remnants.ipynb (99%) rename docs/source/{ => examples}/notebook_population.ipynb (100%) rename docs/{build/html => source/examples}/notebook_solar_system.ipynb (99%) create mode 100644 docs/source/examples/old/basic_example.ipynb create mode 100644 docs/source/examples/old/workshop_example_notebook.ipynb diff --git a/badges/test_coverage.svg b/badges/test_coverage.svg index dfb99a19b..ae1c3500d 100644 --- a/badges/test_coverage.svg +++ b/badges/test_coverage.svg @@ -9,13 +9,13 @@ </mask> <g mask="url(#a)"> <path fill="#555" d="M0 0h63v20H0z"/> - <path fill="#dfb317" d="M63 0h36v20H63z"/> + <path fill="#fe7d37" d="M63 0h36v20H63z"/> <path fill="url(#b)" d="M0 0h99v20H0z"/> </g> <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">67%</text> - <text x="80" y="14">67%</text> + <text x="80" y="15" fill="#010101" fill-opacity=".3">54%</text> + <text x="80" y="14">54%</text> </g> </svg> diff --git a/docs/Makefile b/docs/Makefile index 0ee42a520..2134621db 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -20,18 +20,20 @@ help: # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). %: Makefile # copy the notebooks - cp ../examples/notebook_individual_systems.ipynb source/ - cp ../examples/notebook_custom_logging.ipynb source/ - cp ../examples/notebook_population.ipynb source/ - cp ../examples/notebook_extra_features.ipynb source/ - cp ../examples/notebook_api_functionality.ipynb source/ - cp ../examples/notebook_luminosity_function_single.ipynb source/ - cp ../examples/notebook_luminosity_function_binaries.ipynb source/ - cp ../examples/notebook_HRD.ipynb source/ - cp ../examples/notebook_common_envelope_evolution.ipynb source/ - cp ../examples/notebook_BHBH.ipynb source/ - cp ../examples/notebook_massive_remnants.ipynb source/ - cp ../examples/notebook_solar_system.ipynb source/ + cp -r ../examples/ source/ + +# cp ../examples/notebook_individual_systems.ipynb source/ +# cp ../examples/notebook_custom_logging.ipynb source/ +# cp ../examples/notebook_population.ipynb source/ +# cp ../examples/notebook_extra_features.ipynb source/ +# cp ../examples/notebook_api_functionality.ipynb source/ +# cp ../examples/notebook_luminosity_function_single.ipynb source/ +# cp ../examples/notebook_luminosity_function_binaries.ipynb source/ +# cp ../examples/notebook_HRD.ipynb source/ +# cp ../examples/notebook_common_envelope_evolution.ipynb source/ +# cp ../examples/notebook_BHBH.ipynb source/ +# cp ../examples/notebook_massive_remnants.ipynb source/ +# cp ../examples/notebook_solar_system.ipynb source/ # Copy the badges cp -r ../badges/ source/ diff --git a/docs/build/doctrees/binary_c_parameters.doctree b/docs/build/doctrees/binary_c_parameters.doctree index 38ffb1ad667e3de67c28e1421a743a9ae21b4e25..21f404548b3842f1c61cb7b1c9f8f5cd5074a519 100644 GIT binary patch delta 98258 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
DCLA-lySw)NDk4TOCli}+sT62D%WZiYPLqQ0w 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%0A6;~l>^ zPEcbBAJwSgm|&D6KRnlGmCN`YZV$!vaMcpuu&l3^(7_(AeBvu9%iCp%pCiTuQ?tP$ z3%Sc_9?H<um6?Wp1C|px?bs!x^mKhA#<Cs(X~#0jH8`_nZDradS2*S~E|`v=Ox{Nv zW5I`)@bgKB9R-hfBshj5db=izzgfbQCG@DbtG;-$WWuA)#lrkqO{7tMT!)p9DWVK& zq<1L|>FYX)UkB(UNkaLQp@o;SrwThkaW=u{C<ViPOLWbp?5LVfcygpMk^LltRd;#i zQmMi~S3SJ=BISL(l(r2-!}#@5S*p4%^>fx#^T9}0Dxpkf@c5->!7;8cl8NyW?F~Rr z3+5n>>lnRiDIW}8<tQ5aEH<}>3_mKFWl<c_GpPM=*9IKjmP+4UN-;mWu8F&j*qM%2 zn95d=15=+Bbh<YJElV04Wpw3MQ!eAyl17enrKceyF|tUxj3T?bi-qA!lD1^FZIxm& zorqXwTP1?g9)I+lVCx`69{Jc8t~eqm5x0yV`@*j!o;FrRwU>{5bz?v$oDM2s<Pi9k zfD6?D_;$E!39brA2_u%V1@P;j;5<hQ%w`M76B4jM2+bf@b7egXT(gXFOmWo~YnI7! zu+pEy&*qjXt~5e9$>3wl%zvl3+9wmoBpNTGPKkwrGFI1PhTLDq&cE+N9Ipk0+(D7; zs%N=u)r{rbt{N2C)KyGbIk^r{f6s9(6@?g(Z#f;F>$-@8*9@SPbzL89jsMKd<dHYY ztjRoAQ&Ep4)It{XFoLZmC3s?&`}uOI*<-#dE}7`g;4aI}`wLy?gK)*c%Fi2sUdAO{ zjAQhu<$QQ+6e|}?j~e-rT*<Jd&;Yklagx@O8K}VuGiH^`gUw3@A6RaFzZx?g9HMnX zuavH}=2@kixC&CjD_0ttv&rSAGixz~eabQ(E~of)DA*5KuY1%x0eT(UiVNv0ce;vD z0n;^@n(ab@6f2|~LRXlD*1HBPB6Nl2e$3Stw?GPOvMa(FQeXu)R0Sl$d(YpDYwgxH zmci9maQUq+!JYsx+6RY`IaW!n?nGW%l1>Dz1kqy!MO00e8z)urZg$lb-B`cQRG>BV zlZzHUMxj)HD;6LVOjl(Zunon#&_NKKu!44cg98~WOk*on8N?W$fF^Bx1Xr`p%WZ<o zCBoZzg<m<@U=#d}!G~;uha}h&0N&_Ga6J>0E-SMiF5CW{D><EC>#8oEv((2c=-(X} zv_57fA5fQ$7}8;V0)ehl(WCaR+?r>lJ)}c?u+6TbwCaE>9n~;hsm$`bG4jLnlaIQf zB0Zp4oos$e5t&jHTFE21LK5M9;LmR>^FvrhD;p8BQaaFjh8f~K0pM+p{5A(V5F`_n zo~(CwpWd0N%MMp+D!&IEQQT(N$Mkl;D;*;H%Y3>5m87BFZZ<!FA&)YNWsLL5So4ni zrv%zn*pdl{TsxF;j)D-V9UI%qS|+#Bwget>203p)raNs*9B1$m+Y)%X*|J0cc$cFk zwp*4cYz>NnDD*eHhVg=BJzYsdf5Y18Qz;9>z7;*;q#A#?o{QA0WJOG|%It93RasF| zkTM8<e1ri0zH(Z06~EQIiv1Wa5uQi>Cfmo|s<mz{YFjdMBa)m9D--L8-|t9Z54%$C zy-OCcr!YqAwTgCpj=H#t_MLKtD?M1nuV{2X9}8j@6MQTt_#j*R19J3b^6}yqsBb;n zyo$0m6GicCv&GZ<)ha*7AGT}T2`NwcjmGuDiurHMAOL&Bk-<S`F!P-2bMcb3dcKPC zop%*dp0iR<D9aD7jJPh4JT*1@!{sr{+`@d9-dq6Fv}la1XPQ=<nQytK32TRY1f2iG zU&~`W94)?@A8cC9e!;d9uz0+<$#8I%G1f+B(;A4ntEGqIS5sJaEjucj1@i`o{5_Z^ zUUeN4U#;e8>uPiKH5USQc6L<Ygd=r4Z*4WC<*&QG6jPy;^(ND5I&$4r1Qki@HlFs6 z|1at$tGU)keJ$%bezl*2{s^WWFO$y}rx<;FHGA{8BlxuK%_j_gu$tSJ2R>!8(}!L9 zDJBu#87-RZ4YuBQ)e-5}NE@bJL!}?M%8Jx$WN(#{mQQhIG!Hz0b4AHDwE8&;=^8WJ zBg}C{Q6Fa3EVx7VX!Y^-@oe-7Yq&?NEfL<7Yy23Vx0U{yv+RoFGuDW#s|0%jz!#(= ztX?_IJoL)w!@Lx#YAOwXju!6hGt6eEvm9DOG0)MF;djvU<i$MxnO+K(0a9gX>9D_D zW5mWaG`BZajMmWpzg^43FOI1$%Ms>GahkI@u|}Ro75KHXAY}!JZ|$pe5ziR#Xbp#H z#IFSi^Vi{uW1+&ntW~Jcd3_}^u9aR$yOv(P!YCsxtu|4TKVIu+ziYu1pBJaNmcMp= zFG{cF=bYD4vwvN~@a(yj!V{3<FRo4vS$f^IT%GDVO1~a#-3!e|ec!s8h;KN>S8FFJ zS}r{C<0SlsBdcqY6~D9<s<|ee)#Aj=wG=rD1!yhRQM8gc$tl@Q_Gfo1cyd0(CAOaG zFon=^C}J}!VXigflW8XvypJx`2uO!}@#u)epA0@_b3EmUy<_bl<e;s=T0`+SCwQ`! zDuf`nCyoj3I&!?lp2K~XHX`#n>ACdlXtb&o7wOko^~alLouB9K2UF(McnBs-dvsrg zUD_>CmXnoSXMUz>4N=ErI!{2l2h6Q8gX^#3+Erg-F~=IXlbgd%;#)?1y^iYb(z1)M z9i=^TBy*q1bPd(M7PDE*^mP;(rp1ftOlFEdnJ2;2r<AotpWUs};V|tlv2`84g0#*& z=h5mbVk2iCknSmyIk!$eE3MdMPBWP)6n6k*<ZMRvwEwUw&(`sMhG&i<pF1*o!i;1T z-+?HDG-9;NMW1}ERTo)*vAm^c{KX#fr7BH>Mq`O=?Z+qr87bRg)Vg%|m}JECBG`oQ zumV^fFR`h(()^2AFAZFV7tEaC|Jd`HrZOkd@E4xXG?ZWj)w}tdAI;tj`{oxOQ6QoM zRPY3-@XC?q3#KXWkdMirC5X9FmNwHzE+vi2prxXs8PPY+WM!xMbNe^goS9LJM|43} zWAiU&n#|fo1#g#0Jp$lw*n<}&SoxE>oxqm%pUi9;75alqV``F}^D7ql_b=Qz|LrId zr$38p9~{-hQ536Xl*=oz*D>#ymO<0#ZgwpOXL*$K7_(<yZ#(c~i(^Xa_X!rHt+<^q zUIu(i;y+=|$f(s)5HrV0Dax+5DOy20;q3r)vJlw|<B*R;H(t-ZFyaRRtYn}u=h4ge zFQ#?D$sURLc0G5!h^FC?IgUCz@Do%k6s<w{#pE86{Ho>CYU5obDRB0B+MQ1;ErWQ1 z%?y7wA@pN}_Aj1ElGv^5&DBM;;);yt`5{=PK|8dmH~=KU=hk!cZw2)P@c_ZDkO|)T z-y#s9#Qw9M=hwJ$Ww8ptYL2XM_S0hJD~~!23)kx6NTK%u%%0Vx;0Ucee&u3FCezPH z2DAE%vE@x>CCW>%HvsImU4)oMmgJ_UbP;}?B!^PBVp?AXK|L&NZ<B`{y&bV(j<gJ> zB`+_^*pGLMqsCyz))F|^q}C<S?9Y_~5q7fFQ&fVj7qRn?)mVc<OKP3)qLPKxeg$W_ zJDGoSNv#0=wjE{qYDq0z{L0$Q^0!F}c3vW9bOA4!Sm6#XNUS#io06UPma(r)UeJ8y zC^wZOORr=p!;49hFUz3c&b2}IZP_<a_p(}1)V;aSQ3<lpt$#rBRatG3sLY6p8|X+m zZ4v62h45tA;OE^ml8I==*ybC!7&dprrlmn`wd`b6)EbF_oS^Rp8dDKXSYO8k=^W|c zXer9#dpfNmL1!V$o40|^MS{*erZb0Xyak=o%`riQ&r(oyC9NQZZ$N@QoM6WWDp*OI zf=VaZ&GBcKk=b2k>?NDsB}Xg{-ZTTd%qbAXUD+s&`|k!yjKUb}U&jPEd+N}BWC&ol zp$e4EvymgiV5Ow0R#fEJC<pS{=*M6Udpke**j=cq^%hk)@6R^UplaGg@tMSWvTgKp zTQ-Z><j_eU*&EKd5&i|IYk_oDVQk@;F1uCbvQzm22;4guN+ED4-ZZrWC5!%!2|jTo zi8xYLb8^gz+9iu*(^VM#uZ%%}?P}FSqQzpVi~2K^wrUj}jnVR2VRkk8Ek?^PerEnZ zO?GP;&6+i>VaYz$e%D6xNUZi+5xZEMpZsa(Vt@X{;6$5hqQrUwu(_>zmrWjNQxMBL zrIuT~#nV7moSV0f!t*#%&B^|>UZ<5zSJgp>m5=4++C=&5V$ht6TBg*B;eZUKgg^22 zmt9)V)zz%nGcxbWo2Y+1Z9HPnSXj>|oBaHV^W#=;(3-KWHgPpXa5M*Of%gR!r;()a zft$FX4s=XV(2-a^_Mz;^C9`CW;E1IxaN#Bz(n$LZTlbRLd`g!d%+fX1mSUk+X1Qk* z-EXX|Q1)<^^ZogRGoKrby=wEh>WD>T*k)Qk5ww{@jBch4&9q!X*(|$^0J%jRsT2<I z(U|61Em2^ztiyRWla`>B6nUgPB_}n>re&J&YG?{tl%UNM)g?-+ve|C`8_?X=T6)@^ zfa2Y=HA?NJ7FuIbg_X$(RFct4F)od5H}eBlo4MkB;fO76wVgRQ{QUQ<+2G9_etxiH zf)b8QaYj{+PONnT=`>IcrUGARHN|q4x_C3q`$8)#7Bk-kv@H)jw_zXl{y{h`HTzPV zDGo8~eLmLhEY>wF!jr^4R%d}fSB%9`K*cT2<S(1+Uyj%^7S}#FOgN|zDqXTIJjhH& z#|xq02gt>7SBFNl6w{Qk*(A;Tz0o1hZm)$>rF=orN+Bs)%eTe$T2^{A2qR4Z%Asyr z`QS2ANMR61Pnd%;chri>UIPofQm1NLtUeJ>!FAL|qJm1razj`W=T_hn+@2G(-oiDq zwZwV@uobzBAI8}4w($520lzK60oX`K!sVH;@71ahl7y#s!CVHbx0V@~ZlO$FwZ^ER zQtBdqZ7b2%uG(hhh{UP~Y`c*1l@`x~8SxcHu?HN}R%WJmIG-Cf(;Lh*AfKrBjjC{M zl@%;#D>te^TV;g}NKnO*E^ZK6#kk@QU;iQLM)knJB3w$<3T(Aqo1I;YZyt_J`fm?d zqkzl|N8x&vhLigZ@U^&|dTM2Pd=SgpRo_ardTQ%Mb=EE~#3pfaG?(g*jBSf2*{rU! zt;Bi*u+@`L{}D**u`HYV_m0AAI8v|1)L%76yb52@?jlw*>*YSy*tHm>rJ>7xP-D0C z(aMSCOn3>Ms{q1reYKO~H`e;l)`d0uX?UWJm004>FqRqKW9%)P;VotufQ?JSP~Rq< z8?ud^8?sG0Hy{BH@j6uAn#@oJGWRhIr3-^F*{?B3ixx##bfImuZID)96q2HGgDQWN zmeFi8SR15>cnQ&Bw%LVX3MG!vQk&u5X?W}<W*apfs%>+%#aE1bT3gu6H1oW!d98oy z(KdhkFZh#%{9X%BX~|))$F|KJ+oM(cFSpU`@3q#hzKrYrUPKz}pZr9y3e@=rxZ=wn z@ETnV+amuvp=}Ga&0Mn%8+r<po4AdO(nLpWT^@yH9gePLJttVRjph%B@HLJJ>Ny&^ zHXFLtkJ=D=8m&c8>JeHSs$3nD&OfM6b(E9iBeX5zmCS(()zDmc9~*{j#!W)5QCdr? zTSF`E`NN+|L#C4MSK2WhmjaL1!u<VX^48aic>|D*l9ZSdztW>?K;jufjInUw!%7e+ zy0IgX227;ESd4d@|7sOHI)>Zoc)LS3>*3?H9!g^=Pia7fYlGN7<Ft#S@2?bD8V&vB z+L~&r6R-}1V;(Zs2EY0oE`8IC2~GQzS{^fOLX(+L0J3=!LK~zeVx3KBoulXkM?y`R z(ECRhUr*MW(}Vh21fFupHq+{=NGpLSJfyZ~{IzXK8K-D>NHo+U%#u?zU7^|y;iLdm zE6E9~9*NCi^fVON3e94g?bK~+vSJ>8fuFx8rIeC*QEWTcYy4UX!u%6_;YbQMI;}<< z?+~UT@X_euOjPM|Gqq}X@5ItVG~G@sXKFF{m90gi?S5WpZAQ-0a8tKGgL`i`N6g0b zU-Xt}ZveVYhzzKq%wY7C?O5#y3KvrxMdN<2HLbDUj#Mxdwscv)onP%+@0g&SBg59r za9}~a1Q9%6`%*z@2*{#}tw40feDqEiSlU^CW*w-^&)N+ISF5d@Uu`#I7HFD6JwDfp zdjp^ynU=`3L$<H!c1T)Sdra(%+7bZnMBX%dKT(FUC3bKmjS`O7&W?;aFr%(}gY4c0 zubz6yvlL5@Gk!!{+=@jv-$4(SXkD?gW~t$Avcu1DT|@8?eNYzaHyFvXjE614mutBA zI#P=j16e@d9W-;9b_VMJl1G4mZe0InF?QMx9!nv%fJ0_qy)Ud{3y|Z`&F<hP1+#I> zNCCpTI}-0o*-mJM-%U=NimNhn^%AJbDQVbhEi(nLMu&1qidD{&r!!iXEyI$hpbJ|u z2UxXQTPu{EvN_t`S#y~a*Jxo1UG9v^c;4Sa-!Q=}xbST~2C|bI{|q~=YTymP_Ou9o zE6VNU$3S-SdQd5e4V3$>Bex#x)b}$tIr|>JUW=tqyQ3Q@Vq)l!$Hc&QNO$xF&1h41 zKVnBVXkW-d5`FeH;GmU>@NbVre^#Q|PCxheVRCbJ^3x$UxfzbwzSdkW2Q^L`+(>Mb zrW2cX(uK6ax$r9+g#h9G92xdzhBDre970Hjowwrk=j-1p)x=-ymC#-&i%qwpW3Ihb z%PA6f(xXE`#i&y+Et84kKdBUY)(ZrmHO9Kc!>w9zYWl0zM7-Te8-LXrCr`KQqmL$p z;ZwowT3%Ng{Dsj3J|=9}&RZZ$R+zsj2C^wi?V@ZKv7@?+{akF96Lt{K_)hM`W_W{L zvbNXR#alr5br3$-(G&yN6z`9*-QEqA%kS2ziT*6L_bytsTdOU4?~(@YX%SJ{CTp8X z_I=-()%KubiWv-^vdgT#PkSiD6i4(>Cb)^g>urMTCDt1t`Fk$NXBc~O7e($*mPK(C zizCJk1I6#Sj>`S+4M)%^W=L>Hi?_S@HKbj%@CX{1S5hF3lsp)QVj6u^OB9)QTh`Rm z?dGaHa!6_Fx<|`O{eIJ)h;+N96<+vT;Ya3GMy6Cs(70h}s7pwwHvl?<X*JqS5#L}( zX*bu;dX8dowAg{yaEsS?F;HeE`tGI+CqSgHl%VvYd!tc22b|RKtn@4i(Wd#B9HB8M zwVdYLQ`R7O8fV!HACvfV3^UoXTQ-eMWCIfkK#pZ1XIYIuY$AU+N*(7&1aYy>YIqN6 zk1W0a?xs6uu}}9e6M0E}Ccz`a&!M(t*~1Or9&^lj4bP8f*dv|r(qDB%(X-YN%I)En zZx7d=QWEP8z)rH1?`7xQU=KT?fumR)8+LHQ1X*w7D)XSrm}U&#!>gTpNJ+#JY=0?A z=|hXBgM^k6?_P9q2Zhj{E80{la|LU*bM|n1x5r#}1@mq(gZ1pQ$Il&8L*yY~v5jrC zX%C+R-Q)<K#vVD(*fTb(Gt4SL@N^n`U7ICdGWPi%YIs9iCZ0QDXE<753b!2cOo@Du zas5rS64~}jXJ*<<MQ&l4DAQicQ{MD@{aDQkp*dNDa?o$jVG=yZm>?=}vNC(A-EBxI zBa?Xok|8pI<=|$FZM2si+(=@T^i<$ym^w={G+(lR=)<s{d%1t;=_qopBehvfO<wt_ z*co>iSKUJ^`x6VCg$sQ5(LBy#fz$n|%`<<!uOaU7cDzh!y`;3){P>}Un|50q(YVTK zF}lc-&)SU6N~||P^3RrcdBIt{-b>lCp!L|x!|WH1!WTGlo0r6G!=Iw$eL{)r(OPBM zho^b9ve@E@SdCFo#(jPsTSQ}?X{VJ)#+KWMV7A(ArJN%cw?RNkNnmUfoT0<2htfo1 zvC-aUH5N!S&riim=lvMfYafrna1Y5Lcbw{XsDg`_i6<V5m5pCwV{SgnnzN5izSQ#I zGPEVjJJX-Z@(`L*8KX@Z*s$Fz?KcdkECXoUfRlT4!>Gk8Z8$x7t&xJWnU+2QGH|xl zVtASJJ8v^Q?}%N=yO3`f`*I&|8NYPI;xL~BPh2;$CPt+_x|fc9l{{opAN@;_bH7#3 z)NK3h@n)o==b<pK9!gadJ(tLacx>G<zQE@sjr$r}<kCN<8Oij`v{%#PL?tOjRM<}y zbiKNX4|^5sFDtFbKkZt3X3=s#zu&Z<Crr&4j3*nc%9lp(A_lO`KKuDt6n-5v`Nfgx z8fIEk)dz_MEas>E^g`9!i=Xz(CV#fSQl<$)ofNT~!Q1zn;DJzZ+a=l?fZkwJxWed* zHie54j7|4ad#p9vG<sJ&8JcY$>cnfC!)wRPvFqUAE%TkX`eE%riuvRKC3^H$sA=5} zqcCMX;OCSr=5Vk6qk@-uB{=ecSuUj>FHqMkv^M~~)t<M0&gcZ3Yq#S4CrB_JU@36a z_5<DumGb%_*#Buf72VG<^Ish~Y+(*E_{y-fdOh65ld|R?ppbNW5mYouWUfDv9p->^ zdK(3ek_7KOV0tp>$uY%YA_3@~+_T{(xI|yZ;<5F9>19XoF4?o;Nt!_yu^RD)Y8}?H z;K$MekFuDj!8!d3#G_oBMc)M@SSXS4pgAY2UQ$7mGw3wT9*{qV2M*rD(PnF2H#ocg zIc_*hIh77l*e7}{!cs{w6%YD(Z=X5u6Fp5b#HX^rYD;{z8WD4LUVWJ`C+F2S2&JV= zi5>Ee=b)&(*D-`;4>-uI2lx<YF385Q16aw-XCCCm{+T{N$R&ulSV$j(g)oWOj98$B z^#wS#W2uKsLN99{T<O?njkF4re4g%7X$03^6`^aBBlK!`OGfH_#nzi<M(7#o&VB@W zn-!sFR<5wrOVlwD`KCLgq>wK+<SL?%5Xlem%T0&qToHYm_~?+Vp_lyabCi3y?1%UX zr$gLlXO>t@jeGwEvFNi?@y2+?Lvr*`_K@6f6lEPn9+RH4j)!);iS2rM=%iV3JwdeL z)Sn-s>&5l*;&V>j;*g)iey46HHTnL8Il6?NQV~Nr)u2P>p_2L%MGSIGc7l1#WAJR7 z$83r924r!P$6-4dyY&!{F1Jc7*0QqQ1?MSUL>PsZ(?1uNU`FfR-9t3JoZeQP^TCSV z`_PZSbH$ulULPrf4_mg<#9_PJDoW#8=^s<q3MjgQR{x_F6K@aE>icNZ<joFGwBCm1 zRMe-49Go(%FXd{gP+f0leT$|C)pd<>eWtHRHS)<we55TDpB<J@?$YYV(6#)#Z=NTR zFJI|uA*G6@hdHKWQwj0D^|$^xY(0IY&lmj}-1{(X>5ja5ORy&ZeEyxIW1hm%v5l~& zvAn#VlU7#M>xrLP#N5MFsG8mv6~<B*$8c8v4fEnM^6U5a<tNO|oKoy!{I7@264mu@ z6l)=w6I_0Q1Y>q+BSfNvC>NL{egN>!f|-)^p_fBAgyq}AJdZrgbYD4w6Pd1(X;Pw& z_jQjj+jKNHSTE)Y5R9tk&>&r8kJpIThbxt(l!`~_O}yUQI&cFi7=t~0g9#r(@8nRF zRua+th?%~QK1acNo6M-(5kCfh@#tls#P-FWo;5tf2^&cB20*Vf*-4jmJ2v4oN7xOU z<`zpN#V6BUw5z+ml3E4n#XSKcZ#vS%(P3+h)3A{~Rk<n^yL5yyG}fn~jgTD9`*XNW z7-nasieKnGX+|@>D*YObCK|D@!eHlrkC?TZ>bUfUgEf|+1Jd4M{#h8D0WA~^K&@PQ zac=<fF4L!vbszsyG&c-p3c%fC{`6@ma29jyBUre=obNkwzs=l-v_gQz!BQ!$|53YA zSFkE|MH=}z*!AbU``}xW^7t^s%=U$zSHW=CB2Sk*x(kt&%73A6<;q;CwZ4NYdG+F$ zjrR7UbsxP$8%Zfs>f!W51tlvMv?Zkgv5#%)-BSCgpK-)Jv0eX?t@->Y7xCv3j2u5s ztAEfNJ!HZ^bwI@Q3u*NTG$&yBDb4JtH^K%+tt@(F>Yq*zHKRM}B^0`zUXL(Wch<Km zlq!>6S5{SemI->vXp4<F!RX9-m~4nh&0?!e@mT<W^_5QaO;(?0CP}#R@?F~!m0jn6 z?iqXN4e77!0RG$qN?{O`MK4C%3+Z9vHCT>v<F&fe$%82J8+|=($_4x7?y28b&c4T? zz*!RmDqPT3&Ky!uk5}ls;y9R%{%T3Mj^kz4;fiOy^~NIdn0%1-81?F-mlfrX$^NtS zF+cYz^s0}3TqGQ`8hh#*fvWXyU;VUbBGKLev_SCBWI;1&brC2~?MhHy>hUQYUz(PE zs`IS{s#_GKUY`!mK=X^Db_NJYPUCv(9~{b6NV$oK-g3(oV~93lr&LF5J4P)A>Gkm| zRp0Edda(I=klt1iml=Him^pfg9xNzF38=K0nv{S_vE!2=sBlT!T-2kq{IskzKJ}lH zJQd~tL2pEL%i#MjKj=`o3{(!t#^tDTFsm$2JV532RPj4Kh^7wHt79OiR6#3I;W)X6 z>x~f)DzOTxYT4s{cGu12!*#^}Z^__h$4&1D9bwCxNwhZrZKxDEKG_sy0Hgch=FVO< zH=V422D&V16+!3S)g_$Aw(_SIk?>{e>{<p~ig3~()R7n3h@`GaPdmowHL;2)DQ!P) z`6CB49g9Kwb}1ES2x6j8>GSjrO>GU`%vWReI0fT6D}j0uq~&mR^aLFnfuq0ET_*k) z7bGt-&#nGe@k*Xk=}~PM@bz)-I$pE-0nijwtFqpkl2?Q8tgyBs{qM4n1i)}m-J!sF zm?duhe1mzB%q{YF3Y((W6_G5a{O^A5`q*4NMW3J`{+0z+6Yy2?nmJw1qnHz?>qQlj zAXB2T$rNjsJj{`#?0&!Vu(Y3}>@<=I=7$nH{dd{ni|LNov{ZGrzJ^Z5gLS?+`T?=g z5th!8^~bcMyiu6mq(M~t#dGxrm>bC~FaJ*Ye$rzFe&?zo#VBii=zsVpeXkHF<aqhb z@3du}eof$40`fJm35u)?$cW*qb@T+k79h;uc$p?CMs_N(08LW)6MWI(1Z`fR=MbeG z@tGa9&p?eA>h%#-dG$iQwyVPl_$Oogb|<J=iQsTgYwOSVy9U|Vzqn6`r&1Q_bwq#G zv-b&lu}Ci@dY`b$inphKs!vqvIv_X;$qQYrm*`P+b}<$)W^mdmC#cR6eZ83Cm^KHu zjA9dm*Pr0!i}ezWYqj1l^h}e&j8t-ySDazgNn8n>hf@<LCCU?^PA)b>05t>|v?{3F zTLLv~?5@xa-VJ?wLJk>2z{)C|w0eb}jt?EJS)peTuQ-<%{-pCz%9Z*Bbc=&JTSLf` zlzx@|H-2Sh3c%*2N00PL3J%Cw*b*nH)<1e?{5oOt!RdXKMhvZYk`Kq%lTh*E1QqIp zMq|oav@Jau()}cbt<$rM?vBz5INBl)+XBJoJ#=oJUK^uxsoAuX)ZiDrfS4v_DMS~) zLV-Q~i#{K{u0(7&Nk6aG=ZFmw;iZ#)#iuYk6J4(a|8bI?`3I{O01lU>TkhSzVEogQ z?AE6eFX$wNegn4sH@f3R>Qk~tr8q^8eiC^^ic`{d0V0byvMt1HW&b|<upUB3w&Oo@ z*9FCha;M~;gzJ<&tV=-=oAs3R`({0xC?&J-7RR?FHKeFY_se2L{AP!qhPrOi2Z$!D zS%XuQZmYgnG;mB-Or?YkL32efWN2M3K1D0m1eFv$Bp5dZ@Ai?!yt5#dHsKUIeu4ye z0+hf;men{1l<=a=Q?8Etcw#%21#UWp5H@->v55tm{;W#T#U1)lab9AzGd^>)q-<N! zMUUK}tCM%>E5#X^*c*_zw92<+Uvf^*Px0lC=MpT;Q*?ijo?%j`(FJ!X=Z-=JNc9IV zwx*)vKcI&X5LecbTq!0ub1zo15Gm3UQ|1pUv=8HwGAyR#AAXK1PfPacr!X#%*hYWQ z;{Ey!)GI4XZveIeGr+J|f_whKH;j5puu_s{4QKCQL?8i^Yyx=I$RZFREz*%dc_tul zz`;9BF%Ga~>06+-)#{8)ReHj4cS;IBf(hdm7QE4)QYCZR5xt_o7{E%YowZXoJVE!5 z>*LK?$MjsuQ1>LmfTWe}fzWFv@Zt|1BD`?SCrWm#BK>Ju<x-#Kjy3gZ+4ctruA)xp znxVHSd7AGdpQihN=*>k@iS-0vt2!D6!#=BFhG$dKKc_L0NZ@>%oTi><^x~ok%W8Pq z&%M#+lQZbmM8DHCccq%!g|E_ztH}GOzKZgn)3>MW^)AW#^M7y7>EF60SRXRBA7^D` zA0f2<DarZ2UZ-ipc|Bb8l9?+FY1$ODL}f1MBv!I|OHb453z!}(WwQjRS3{MjJ&rK; zz-eA;I^dI5XqKL7z*GMR>0;|us?#Vop-x;({ixarH6r8dB-D<Ity?=T-g<S;dO*=1 z5mP6wawI;<=PUg`RjMCXISQYOe3&Y>Ud_*<YUA6d13vut|9z&`%XA^lCgy4Td0x6d z7A@c%X`ul(Z2vXXl#f2*xAgoe1*+zI`O+Wt&L+;E-`OSb^8hybd*cKGoSou~`hTFr zfFz#xQzGf3fVZtj0sZ*~TIEBRzEkGIPw%XeyTE|J!u4K>57Yg>m1&YZ)5tQPBvbj? z=M7(VDLEU%kXfsg8rbqxenQh9bcUDTgJ|x2OywF<zPVV=2<Q)^xnYs9u)=TZ$?3vn zy@`T=B9NdKIKvGFjYvcfH#kwxg*TC;u)MVLCuH|JQNM#hv&^pg8Pj`JFQnit5*u=Q zJ|JZ;=#vq%RzljIk<9@jOj`(VUWiXJYN#!n1H`M9*zaxazn9nn0oXb!8nSoq1~eRr z3gOsLM8`(gO^E!gUTo!rn$ZmtBCD1x70^%wAZkR`j;s+`r$~6X^;qt^W@7*vod9G^ zT;<A9wJoIeK5o)hBmfv$Cq4!W0BAjp`Dv1}5&*0kS-VnnBwC)@aR3%g3LN0iqiXG_ z`cZZ2L?y(=Ma9&yUfr~GD3&yZe}eZqSp19sH?T(BXOWE}>r{)zyT1_$?~)Y?x6+mP z?{x315fKg`bvu9n_lu+_2h6uiQNsm+%~k+^pLYUUi~v-ChyG_U)Ebb~OaC+a9bNX+ z{|pZB)_;Nr$ddOT9{bN!TwLFk9O<?H8T=of3m+go_dlog_g+bWleDP~2eaRN&1!%@ zd|vynvN50``f0~X_5V+u8t|W$%D;;Ihll=)78(<O@B9}q4*Z=f)&H(emE;F&=R3BY zbyXU-N@<AgYuR}2v>VTz66^_RJnK0QG2^YCU<l&9NeQ>k(2AS7^{SH9RC})bH`NU& z$1VK?B62@kiH;@&p%iZGSMh5Nez7atY%v=Cw~zE6a0y8wa{kG)`J6sP#ijOSp(+C^ z{mE0gN<KjUWe_pq9(E4CWJJq9DcOCj>a_GBMlb)cH*3JXnG8^X-b|x&_px9&k|hlL zlj=UuON(Jrf_Lbje!WjKtk3Ml0V2#<T{P>tu2YjodMwp{2o(_S)8e_{PwMhFM&b7! z>f7*#Bs-L<t;WnBXDuwmZky+B-^UJX^bs(K{CLIYc*Xaz&sv-fNq&|$qR;XQ#Ybmt zv2EAsMMdiqG;5u`!Y}y@c!s64{AcByBllVQ`<Y%+<mMzfXwxsSS--uwG3_I<P((8} z>a3;u1rg=L_BCx6i8hS*99sd_g3ISV#HJ0{CLhWl2c2d24Dx+ExDm;*!eY>+mwKd_ z$FSLFsroA{v&{Cvwr^q*&o}AiND|2U8plHpGJNk@n)VvAgS`yjMftWsYQBH<>Eb3M zuAQY8$&AtBnh){MRv_dHsln%@5rh>L0%u4BjXQuL#jdk{PVJytv4Q%E91PBSj*pXM zm0%oEuCtx>8@?TT8}iJ!Zw%z3!HN+tYMkTv)92{5Vtj^E6;>{|r~KOvpQi0t^q1$P zrYNmakILu#^yp$Q;QhehA-2*(eB$!$fjAkL>1RgFwKbjVLzLdjns(g_P37vv^<blg zILz?<=csFlQ4PgV>bHlc?}I=?HHL}XjJSS|wy8#2ltmk{?|{#e>Un9&<mY)ID*1U? z0{4)9$fr~;Mr1$Fr=qg^5E%}$Qne04smp(0Ybdi}v=lWN9(|q`8%A{z&G0HT;s~aP zRouoV(SZ?d&Qrcn<Dh8cL%cenFA~G~<529NTg$#feIN6k(yg<19mGNg%sbB$#(5Ip zsdC=W<b7l#XVsvMr=gu((u8&%8j!*Wny|A+v^Xlos0Wcwu4s-*VWgw)QW!bK!Skf7 zM9_YJiT&t73S*DB%emh?PZv`fdj)<itj8bQpO+GZc0t-U_yTjmuLY(o7nlnDe!<#d z$et{X$ibfi@*L>cRQKa%P8I`jQYmj*BaD}6<79?vjSDuZ$h1ZV8u?ptH$|m2(u*1w zEa!Tw;d7Fa_h6N>7}z0P86sSCG_7$+bYd~>d}5lUH-=OBRE9=P(;Fj1J4Z1?Y|<lS zVrr3ymekti6hBBfE)!o$l)U-)q*%<ju&cmr7%I|;pC!%{pxsbM8w|!tK7+(DDMLGK zD>^bO9nEB9qY;^n!s0NCJK#_DhxJ(up@{pi_hv+RxL_8@YE)FjZKf0e9;WgUX5*st zqk2&uc@pYH%Z#1?@NjEYn!dXUmrf~RWD>a~s!0IqN584d$nyU4mdMzuQ897#@ML}6 zYSHy-CRC296xk@DO1;=hb)(~A6QUZ%$Hij7BRVn$!|d=0JKk0j)ue8e<+kn`P?DDg z{&!ORhkGN7T2tu%odh15RK7^TchD&Z5FX*^zaOmqq6(CCun|OEa~QFr3v6q>uzQjE zRWQ=O`w&D%P9vY_AZ>}6W9NHlm8|%+lRw3F)1jQk2{G!Td}-Hpk<0wZbu_n{5n+A% zjw-~V%#O)zY!t(#1aDiQk`(>Xc9~tu4qkYXE9ydaZ~%CW<zR7up?fZJpSZ^nI@Xc& zD6Y7&sXS)AbN?#8;iBsKjcVc{OTBxM;){U(ANh@NahFxT<*)L1RR(1P|KilOkkOvv za~ZJ;c3huey;Hkn8)1%RgpwAZ9UGxUA>(JEU6S=bK;i^@;S(DnkRkG1Vk6{{U{3&e zqTG9_&d@5C*a%e|p_3eqFh0--V~W5C7bDPrbz`ZWE?GvXF7P||B-&wcO5!pyFBdU9 z3gTZ&ZAV-((-$?GDq;kqJ^tt^Hn-)BUTky2uY>5RlG`DM?z6e!*Mic#S04^I={=Xp zlZ}-0RY|zwF{i&TS)`{fCDB3~rHnk{zO<6KbBRL#MOQeil<^jQX1CX{xpCQCUE07} zt#Mg;=#D>&nKp|;jLvtNvK2<ydx^E=J$Z{$xOm>o5>@Ro`=pxu>IslETl&Q67fUJz zdhPN?cUSkzR-tJ*NtxtU@`x^%ts005$>}@dV-oAnHN6#$R0^W&%FISxHsd0VFBCC~ z^$tM)Wb2KC<d$knFLTLSD#2J5`aH-OfyfN<;{jXm1HO;lgAF+ZUL4GdW~EDCqqXQ# z#R#TvOQN_u<%AEV!s*|A4WgP=&}2MhjqdsDzd)rHr;}%+t~HIK^k9L}nyU|j?1mb- zMQEb=sH%a$a-oTq8^pcK)ZArclt(?RRWS=wAdyKFcn6uG89!RfVAj{_iERDq@4hb6 zjZZCmC+eWl^<!)&ZtrcRriw8rDhQlwCF+()8)7ir>?RW-#A`mck;!aY(@+%!fpaa$ zm_&1QECz7+A4@Y}@`o9Vtf0Bp*X6cO%Y7dkdtg{Z$+bQnvQ;|d``F&ghMnVuM!(fI zdRc*Rfz%!++O0=6dYHpVL)+>YI?bqqrs%OuD;^|LVhY$p1`z+Vvk^`W>!X#mS|E|? zitHmjSIp-1jDd>qT#+V3lJlvIg`x<5E`+0k*08S7yRUj`<3|xMzoG~$nJ@s0dG|3x z8a7^h8mKDI@W^&^W@964ave0AJy~k^D|EL7noazBC=G0E6cXK~2v655ex>&p^J!xk zRZNn}v~l<<cSNR9#kNKfvqe(_H?+pdq<Cc{a|UCPSj#!AwDn%;`&ct0213VK?IW!A z5#P6FnT!usT7TiD;ys5BEsO@@1xtS_^{+3UN(tUa{#tL6Wi|`J;CbmmE8{B)A7{jg z)K{g!Q(QH-w6e-<imS5e2uQq{tDq=)m19O<W&4Lquy}NZ{>%>h*S2I?&lJkgwz2O% z-ui^?pE-wZf7#3(ZDSbJy9Mmu>niWnUS<2wX=9WXJ!EP`U+t9Bz*_}hCjXeucQ$g- z+onbcjcRAKW%Ws_uT8jW`(Uc&gK6AZy=`aA5)*uK2IPSseu3gvv}jxZ)xM7_^1=@% z*c89n`v2zpxGf)-^r!i_q-UiToeeLm{*u!?ze?#k8;!+tnMORhiU?pvA<NeHu^0R3 zQ&gZ-*UU#<3`9Fkbxjs&U{Vz}7Gg_UelBv2O<F{L^*jNgBn{?X*{9T%P=tCOTLR@f z-VwR)UDG@)!ly1;JP-A1VMJr!)yhokdF@>lji`budhKhYjOZ!lDPPm^BCt53h^OGP zA}!vfr>~L2*(XcHB%g@MveXj*U$WWD_B5u8Nj_oAi=lxrnd4fU<67Ux^TpA?;Gh8n zD#w}Cao@MQB|a?v2SCo4s=Q_uUiehVPTOOQwDff!l$#gVXl|Ae>oLBLrO?LQFM?=< zvdCBHYwW`vxg90pi`0La;r*=cKJ{NdbcM3;MM?f#6bFQ@<^{jDtj^`oIM<h7mD-f8 zJj`GF-N*jrjZXu&M2-elRE$wWsmU1lpdV+_>n|?t_)u2#`b*ZjZ~pT0`U#a<o<}Uu zu}d)sYf%ve|6N0=OlK+dm-+7yV-}V!qy*&~y8RgpzLCHFViWnr_c2{%82mKzIKezl z_`c<h;$of<g>r-I&{?VAaMaK_!=UpUmiO{68Z#L!BtDcB_#<KkEd3X)tO84K+bmL8 znpQ|Mo<vaD>M(cO>*n1bjrIzvLbvKhG4c0b)GHe1Mi5!+b8%e3fVoi<d|ww;hq)0o z*7{l(s||>htsth0opwVFZcgsi@F^NM#;Av*hZ5iCI_rpkGw9V4jNE^<237dejb}Cc zNGaZLulpJLf=bQv<6M<gzj0BcgKS)^xUrT7Q?Hwg#~Ga!97?cMKn#?E@vt$%#9CiX zTYJ;@v1u*X7^|7q$5XcQr+gnf*8Z?mV-jiY%fsY7#78$|bNpJ8sEv|t<>>v#U)?Jz zg%wU_t9z`JVT#N$nVS9v*K5i))mUoPMmOc0YAg}yZ^$O+pX-#m0eaE0oJq+WT+B<p z`x?~{t$1VpTK@(&<MrQtt=EX{{$nGf=Hv<(L>-x7)E0woP+~#Ew!a~Zv+v(sZ2H*w zMoQm5X?WAEpA_cl4Ly^zZa3&*H9hOQV!lVrW)-I2Fbm8!zEQ+<nGBaC7B@p9zV!x2 zT)sg&BCL!pZuoYlIoj}Z2&**{$9`<(Py0UJOyI(uxrI@a$9Qw*L3wdgn)}TS$~fPs zFWyMFcy)t%w?vViRu#*jvP`@i<B6;?g_iNA-Gcs1tH&9U)*#Ss{+2I*!86{J28W=^ zU%=qyZ}Oo+9R0W2mD2L7=as(|?#qc`Q`V^AO}2hRN9cohjr@kzr~~0kjBmvdR&0Pz zv8>!EW?qVU5voC9F+hs)_5~n`?H{Qo-kioeU~@U+nK#Xi%Z%QNm?`177ICsYZ2l{M z-E1@1?E9FkBaD85KmKX!{HO0@%1&(b=uS{lKExu&T@P2IDJ;Dj9e?s$yl#DqmaR7G zijQtl%cE#fZqm}uFn`@O#$A#97T=q?Wwu{yV2L*KJItVNux!O!mIHCbxYk#wZe`zn zT=f-7a&!LJm>%^)gWdSu$L-y@AV2F4y;k)`O9z#b6PYLiLuDFm&@J1)*=dkzd_tdX zFe1dDTe6kzk8epV_)4Yotx+4B97W9A+?$NGG-V?OR`aAFG5eP3-DFHr@ISJg_NUNq zVb2|`8iJ=;dT;f8E7uF=yacP@J``(x&iAQiZ=<L;VB;NGf3eM|C$g#ZW>{!uI<^qo z6<4<zd0obB=$Ns+cAHP1hFE{TKYgmu@kt0`F2njR+KUlnmfIX(;5OymXB0=!qt$)T z?4<QimCVIYt?k)o^b_T7bC7}C)N#M@Ey5mIDLerwaF{-wdzNT&Th_7$w|SYpfur;w zTr#(o*?U2-b#U)CFSGY>6dX+6K}Jqb04+p7v}nn52<HzO31ZG|8DhYK$<^7>htYWr zJ#6Gc)FY|yRDXu5`RK5LXy@Bl;Z3*AJV!B~#tji^j{r2{s&}idOcUoBede}Y*Hg|& zu$X$AW)3$p%EjiFjCg*V4^upM%v^Wmq%tS@py3z48?8jPJJOh$?$E>EjTkH3)mRul z{T)9CyJ_$V<A|uh*fMvh*Gc0KoZoZ8V$sKPQZvRjy2DOtB(WGUH5iN0pxjpI!-$@D z*fV&E(;;V%BMUdPkh>$*<_bPb_QJ9Xfsndm^)>EbnxG7Aa69;_$X#uRo1ZV*4GA zCvb<t&l;0)a8KqQkOGJ4EiM;X`dORHS&0?X?@&5IyCTWFzQX|oY%(t##UUu0LorLi zWaOdVH#e~^bKrte9e0~|Oh;ADa+k_oGz#F?s_veQcm4d5hE`t005(!$)pGbK%jL>T zm@F)~WRw==9FwJ$v~b5+X3^v>Z?ZIzSZ_cU>9`(Q!%Rz`UUzxFrI(}N^o|76FhRN9 z0fJ#P>#7klVONi8xc6)cRp<B=A8{4i9fPl;b)CcVXZrKaNcXN9f8heO)MeXU^Yt|& z1og`ioQYXpX7G8N<#~w}Gw;%p`L^?{;i$#!rOoZ7qqr=N+%hsZc{&u_nu?tFWPQqZ zkG{KQR22A?xApJ&`7Ik|>EX^wzg>j4FJDCv_Ru><CF*+{?R+IpU*R4-yKQU}_?58( z{L^Q5@u}pN_c(UIJwBD(jKS1$De73*K%=u5Af;iR)@?D2+Q(5DM3r|amD!k>Y$!m? zMceNijl=>ePyGq%$dcCO0di{nz{o3px+goc+5U>=LhP}6sB&P6Cug2x%He*9MrSvZ z+<uRyJ~X<D?J}(=AZ>20d{-EI@gA4bixMkl-=mUieE$20BG<xyukUf$eC;SMuOrP| zOjCAU$)6ex5Mn^e`s6+heTuFNw-45!J<NLF&wu$zd1g$)O&W=fyiePo8Ld$bov>KI zMjL{QG!mO|pWDL(iN&4ZB^&Ja5O-%JqThXP53!-<kaHnN7WpL$`A|&ef3PU9h(*o6 zPjmh;N}`%cQFHxCgj431#`id$A+z0i9}i$*{c@)xHiAi9W9(&{#AS)~2FNX9w-|zU z?1op~*nHkN3P#vThr$=mUXk$<KuDtuZ;To^xFH4Rd_ZI07)3<R2XX|Ioknek2~)o{ z9%C=uLTHs9*rToS6ra+a{g<Y0te{nra8Gu8OEPpRPKiU&f_}-OTRz|sbxWV<lDn~K zW4)oG3}M6oyfkiwBp=`?t)yflLT*!sy#`-`ly#>?a(5g~Y)JJNJfJ_5yGx1%Qi6A$ zzdog1v~4S{DRfDJ_F+_rdm`lzcE@59T@u^vBeqTwGmiwju{^(<bqSDEhM8UGT(8*7 zt}wHCl;Hr3ChyQ~ak(3a<PUl1{E%Z@fAmmxHvuBcIXbH}J4+6eB-^ELF;&j2yQ_=* z53R;f&;8K$N1D<!_bt|$SL^QFA~)xe10Rz(qyqNq-A_fdOevxsnq}Q?yk8XM2(BnO ziZ%@X{2_bqbBXl^2#$2o>Ydsr9MXFzrx;|@9poq-PiQ!l%?eCcMoD;i6I0?iue-Kb zhPPj>x6>ceA+Ni<ScJDNYpKP;{JB-8xD@W+#6iw{??bAV(tTFo*8v;Ft=~<FwJxq5 zz>MJ<Lp}attJoDTm};Fyg%fzM*$Pl1Xzpn=T|fJSt2&aZ%%tS*eWo<-7D_=WOU?Vp zZs?Dvac7`A8QmKFp2nRCRnd~|&4tfNd>8GaOSjy)saaZgTcrkTQ}q!&Nb7Ejs%fRb zz3}RPqTtO==N_xHW5kz_xJmrdhxqrbuSxuY5kqW7Lzq!Ot}%{`qM4B#B38-hZiXj1 zrFE7(q9YmIpP@EN>n!wV5KHwkxkoAp&0tw_|0B{fyX&I%N!=IHoQpo)amU<3T(@<< z?n9)xZ0j!6$8sQ$952qo8zT8*S)&5-tL3PBEbA^WJ~htfZY&D3to)DZVm5bKk)LJd zdF*HXI(QP?{Y=zkZ1iJuz$b2$f@ld=^3cVrQ0>7`%m_O$q|IZlFKv8?($@`+B(->% z+CU6v)X>M2Z@HRT40X)3z9WG;Hi3)Dz1Zk>Hx#Q_*0RUs&EqaDma(kG{sbD*xIFIX z;wWPeJ~mh9b>~sUK~`@uy}IQiaF-!BZ2~uah}(C7K=6!Iv~q&dP-su23xc0e#6%^l z2!0}65RhvVM+Oa(FxXWP3?f)o!6y_|2n-5JS>Ak4{9Mosm&sFv*w1<0E9AZ*;y782 zC+3^NZbYT4!8!z_YtHRhCkD5B!hUHdu?Ub~@e$Mdc)~bO12ICPa{Pd-<vvmJ(pd`@ znK*Rfpo#r(KO<-)|Bc!D4~}`^sUL?{tyz*H7g-cVZp{;Z#rz5FDT*Suf@LlB=iADx zTFf1+h+|SE^{}lHWh>#HPH9WH7mCA<={{$^_n+{27n|>G=DU=dJqKUeH=PbaK{TF9 zH>yvmp{iyV>Qm{)09C$pq}3`3twp6l>(i$b=624FUD^U=z^X8dD)7|Li*3vmW!z~M zQH%4f`P6(^*4<GNH6<F?4Z>df3SyV1d_d$Wd#r;GQS+5uljQqrqn^scAjnmY9fmvR z+TM{s8zvy<PAg*EI>kr2>xgx%*{Y{>B+^}3tdat~%l&C|#F^2*-C3w$HFs(n^_hEu z_??p-eM;3UxsQsYtnG68=Z%lgLq^=S`P^kq0|a*_WgyO+gg%pQ(Vp?rqV~*kOO^m^ z7gvu~U$)IMDcXMchQ^h2WeHqp>BuDIBubJrs=8~5V$WztZmirqqaUieD~bpy-&5$B zpRc-+yPA8isKdI%J)?iCx%Z1WiN&)M)q>o1o7asIou09$I{6TdRUqVCX$&Jq*nCDf z=J&Oum%1?l+1Y?VGqGOEQrAFPIZtX@)18*;)N~_YJd0iFPvaZfTGKs8oP0))w%|Qf zP>yx?6~|b~l@w<9Xgq#KwesPVg-zqW4?&?e4IJL6<-zF6c+UGA2DJ=z7xM(<*UOQ{ zH~uud^lvS945F_}fuBC7?zPcze#!#FpZoctk3}FGRTz^zgihCS=cUkC40-Eu(pt}H zPaSt(ym4;nf-?&hQ`mg)va%H3<+*eV-Zi%ojZ*pejAO(oo6ji6?C~a<L!;J*`N*T! z`5L$zDH~YUy63dKfx9%GO_a7-?N4Q(S+JpdsDhaMQnlZoo97$3s|e+HNAw^bW<O={ zLz~A#N9<r(aj*%{GAle3`Zs$hlvZbjhXS-1;>c)V5=MFg7?omK#r~$z31C!=Wfl3` z&pAWQ&=&523WDg!jO+YuZfJ?tPpRXG{+=22U~sp;*)!c7u|F`Q35*?MGaBQF9p=br zC^M38Id{ny986bRW4^PA1+M>_nzV6;E9+U{T7OzU((yL#V^|=StWN$-huXT&D<>ru z@1xerjv^!nn$H>W_-`I)KK3Eb=Kw-3-=%sX+cFPc!nOu$`1QsmD@J-Q06Hfk%5f0} z6na6wc66r~_?3VRx!pwrTQjJIWn&r1c1S08ebMLzM<#wj$vV4>ih3`scG6q>#sAgT zb;n0lZ2#QZwB0b1T~Y+41q=`&fgt*LfKMq>Gz3t5pn@0$5<>3?@(hR&dZ-5x=^z9l zGzrZ}1St{}73`usREl68`cuIW_<g5r%)Q<}vh&&O_ni5jb7tmFyEC>B<zb@aC2aLS z`zfzNrNekSO_<Bm**Kl;sOvOr7(c~EDOoHT`x}ASut|J2TdWYC`PW0}+s{#|<|~Nb zp?(1sj^NYSPOYxsI%ST;5VXLR%0e$?oCEKVH2CCo`tAiD>wQ=fu91DxRsSLtTRHH3 zC7CCaie{tHya)S3EBW<0Z5qv+vR|(+yf*YcnwJXt$z%9V+*7grpI{xhLB6rP2&wwL zs2P4&p}SZA-b7xWi0cHJsNel|-z_!cpY9sl<%SMo7dPyy+Bh^cD&IjjY{m^zBGGpB z%UsLt5?yZ9tnK;<{4rc!tu)TRK?xIiV>bVW3iI3>wlFXE>Qe}IPUK5aM5TnU01(xY z>x6lH-kA=+i1B!V68AgAU#E;od>QsONI}oZ8z$x_UBN48=2Sk;!i0tN@K1J2e^MgW zTw2-66mgu9lF$yo$Uki^iTqRbwj4xOx%y<e_6bIj0s1<J_qCcSm60ibn#bV0$rwf6 zITWMFyve*KOVPR;;pa-D$TjrqWWEsFQY0Nu+Mgk`eG1QDX|CY4+9N|XI2&M93$hg$ zm(+A>3-gvv<pc4?jWRFSZeFee1{@UDn^Lk#%dEG{taoLy!PO;e>@JC<ucq;y*aW9+ zI{~_Vrt^;Mgl2Kf?ud<Ex*dT9DAgv^p29hu%;kb&$AospD^W_rC1}{3%QM*}ZSXO= z)e#1(mLaN4wrQS-GUJnoG8st>W^Z;jK4D1;!V=4DAx{hf8$D{u2J4`KZSBCeL13%2 zzc+&$wdHDG@yD|fz`>eN7Wh0f2Tf{L83k(c`)F$y<We?=pJX%3)HO}sGE*T&(79pg zO01fPUhJF0cyk&%kB?;2j9kmEK}$Dk&Fg}et}}>%-GYW5(fr@F^T$`oz>oYYmA~yc z01NM}vGZEy+cN!12T}=+wu5(6G<*f!(eS;#kY`#xN_YY#H~eM@HCcrI4sJ1ig5SqH zH|d2Qyaw%A#E)V)t}u54lfRh%fU8}Dn2k>WquRa>3d7po)Q_#U3gY+Nw6Wc-pTPYz z_Su`dPw}iPw$QbR;tpxK%&B_c(_h6@%`DArI=G2t{6TBFQii(=pX?2P4*3ihZWO%h z74+?Ed<dny#)ny`C$QMJ9@JDzhC?Hl@kx}noS($)uF^6{=k|fLI;{1mCVS|nUg12X z5P_+7!}fdC@!U6-T0OBRNa|<jZqkHTty;L|MXK~W1P;(^EBQX=DObh*HrVH^;^%S8 ziyQcDS6A%Su27>bzJ@=;?orAj>zA7b?CmwYI_+A+6IuOoS({kBa(cQyuThx1mSfXH zC!Kfu@{q!@>(GX=_6ilK2l+}R?4Vic9Z*i^enNM@T={`L=L#;Cei+ZDmQ$PMkrI2Z zuBR5uQCPo2@w={8y`!yCyF5!bqOsVlX}(d8E2B5@C)gWG8I}oZ3_^%d6{`}Cgo>bc z`Fs~UuE3G+1zoUeGapX08N-wJG>3I|<8W@jTr<6(#MpVzmJjapu2{SpnuC+F)LBAd zbZ!h{jKw&0M3i+)J$D?+kGdLoSR1IG#Zd)#7B^P9JPmJ!P;LQl#2PAPfy7(3FdX;N zJEMd-{>rzV-%TC1q3`*K7VZGycee2ntb-E9O_Uo)z&omDW@)bdZfWECxvD>5x+UmO zOT(tz(%q6NL3MjZ{k_q|q0O=`s)1yqU6{4pqRDImnVq|M8@5SHZy^5|F0aLmp<!Jx z2mRn~UW*RyMq^p<7ECyyrH(?X;ckA29Sus|9t#uX93WnzRjhuvrN_fR1Q8F62SSa9 zBW|lcvFElP-+OMW$HxZh_5u*<Y^OwxNVu)fc1lnP{|394KUN`=UBj#iXd%_}0H(#z zH~Y}RO;ai&JKZ)FEN4GjzZ&=BMCHl*c`epSsSG@fpDWd$)95VUD>pKZWTE6ez?ZV@ z+cf$6Fx(g$LL~?ITWo-);*dL|r=4;&?WvHF+oz_wVn0>wD%+s3Ym5`txbpc7^?5Hw z{f9O9pz+5+1;#32Ru208aKMTjIG|fGo`pXtq~`+oeqGFy*afZkd%K-qVlikq7K2_Y z7LoMYA^tG!c^A?3(&StesIU-fdWi3k>HH<UIo1d|zl_M7eLHMARxu^SQ!m8A(YsMK zS-lF(#Hl8};HA{G388E6VPXQQQ8Vck6JRV_Dm8tfCL^CUV0|kveWz)Y7EgmoSf>ln z?xUC~$Gt6*+O!aAevCJhsnYo}eKj3AyR^mFH)u?NmLBK0nd}(m2{tM*-#SbZspkil z8xNtU2tZG^u0luW8A0=oXkPCI&3m^3GjV3nJZuh@RK7FjAvIJc%?g^wC}%OebSr2c zs*Az&oo&pU&6Cwg?%86j(jPwwu1QLWC0f+>19&}=@|NK7R+rAsfm$3sQrW^+Pw|nI z`5|J~QA@S63cvl3<3N&jN-R*<vMLws3tsx@?XX2yj#R`lZ~(6i9}dklnRK5YH1B1t z@Fhz{54%+*!m00)E||1`0Z*mOe3n3-h5UYyZMl#)4>-0v{ph6~r|~pE`BJ;T8l2&& z-VY?f8rdZ%0B3kp|8YCttLAxmhChdgvgFLZu_*0R-WX>-D?(q|1xnH6e#+<Jp{&4V z7LET5J&rO3_B+6sM8Rl>)nqtZQ#8PO*4fW_LslKHRin5&!PnGihqYofc`>ig{sEx{ ze~nu4RSK~$aia0-XkpZtzL&xFuw(JnEd$Jl%PA&@2THXE)N0_0uXtbfAFb3kftj)# zL#w{xvDEHsUYAYKssrQjW2N@&H!r>UHNVJ~8$wH2VbM2SSZt}G;=p4nOg>`w8Tf8S z30p9@MyiVMIP$MWF;Np6pKFZgG_xphe|RE0T>*M%13=0VzZ*rr*d2kd$`Ov-Z@4<* zH&YbGV*>Kj86HNP|I43bH9R^T)jX7P9y8TQrOH5@$L4@CFAbZA4b#C5F_TzJEf{$} zfNBQy)c3q49sM2?arbK-m^$G3us}YLSuYL8uI@Tpcq;2r0eR$2U17{Qlw&o{Gtz^4 zQxaZ}jjTZCZV9?$ks+Puv6UfwRql<WrCU+{90j3F+po4PDEqHm#Oa6ojH=xp8gK~> zB2uMeCtWT;c2_R(DeQBDIqjjPm(k}$YA~7G`4;xO{uyuZDbs$@zxsFDJ&6DQ$aPPO z#fB=Ud;Fo=NJJ!cJNnBGkx*KF0qtuujb<sK%GyXX&y(UR6Gq*S@<b18r_!CgF*XJ9 z;jEX@&?A(dD&?IJ1esl+d#EkOxJ>@RQ0!}s{2wo4V~xnj(8A<ve58dJbEFJrh`aCM zH5V6%JhsR{@<LVVw(^3AjJ-1IKcY^_ek0qVah|O~Yqx6Vj_iHf+EYeriQU=~SD7ef ztuxZNFr*j*QuWrHiu8YeN4@{uDE=jsBL3jr5H4vDD-ET+Z==E4{0HA}#ZpEQnn-^b z<z43=AS~O9G~{9tuOW@bgo#3=glU^oDiGJ-ff8AxF)tz^p0qGsq49c})Z#C-d)u$f z#T$7_Uv`)+w%M*C0at6ewpN|{3~M9k!E!YAi?rUnFgj6=Wz9UL(3(Tl4<j}&+~V(B zJ2YZz7!A42f5z&&WC=v;_jG)%QyNfWOf3ll(vCodvh-(#@LUdBiru%;(m7$aauu%w zi}x>8!yk!*sw*}8_$n)tQwT>8qZ~UU8>4Mi>jf&Z?LtKl*34*538&&v(UKumDjS8{ zcvPo0Vd5(5X3%Njg}uTBRuR)Q9CJ~fPr$O$T4D|xszILYaEppxw~|<P1?b5V^y}q` z60;2^H{4p7+OH<db<ehjHb38FyTNWgzPfS6neZ;=S6Ak%?vAp)LzL*wP8r1|us%vO zXGoRC<96$77q+S*@V?*A27Wob@GUOB#u*02vg4HbanO8h1C+7yL`G=yEgVJiF-pgA z8utk>IH)|18aH6Q*gXbVAHaeJECJg`B+&23ysq{^Cyi$9BW$I;y{k+;R~O*2E?KwL z1c35EW{h}}4K<3hBj|FBXm4dJje*PvTLDP)(VSM;>v(EEi=^eT;wv`W$mK>9u8tFJ zEh|@3aR}C@bG5{4EZ-QrA?TG23T<Ul!Kd(wZ1JpAN|=FbZI5YagTr8;I?UlM>!dbq z+O*OxfZ%`7dBe?!(z}@y^*QtuT)^Dhk4ixUjPYe<3AXwFb)}c&>ZwGhr}o|{p2QsT z_HWU`MMhHVyF`1L%EA%|i?n&Fk&kKzyv9>M-zCbi$3e<P)(1{K?a$T}`{+zfafH>^ zD*O%=7~#WbIKD&5dD=&sdemN{tuR{tHEgZe3StdVz`LI_8OTi%sg>QOzr$J2x#yRn z+taDqzMM!~BZIH1PB=I=adliH?Ku7ZitH%eS5H)@nRP`c>`7AI!|UKT>!RU7s=T+> z?!8n~&UV)m=P{eB9CtYAxa>r+l)h;yd^9LgEMtcaGlz<1+Iv4LVb6bq-ouMvGDB-E zZ91>LH<*QDv?=Rqh}WXj!I8CD2&PA6i|SC>yfCk!_=m-?HF^G0yb|jzyp|;57^~$D zzfV`$hqQLQaFcM6#|77zTD!~K@9NJ~?a$FUp{C<W$zl*2pcS*{ywo^FWXV+dvai=x z5?lBPuPfE2KU2hQHr2@Fcnj+_6?kVUM+;%2{D+s|57l(9G5%Nqf2gK=MFlANr=Zgg z8qk5D(+*UC23_Gb3s*E0xJ~q|$?wacuQ1+M{_jf@ukr!xrv4pwsaAH*^$Jj*pa0$s zZQ-nzP5y~$S(j2vQ7vovXvaTMEs?5x?xHVBLHR@%O!x)6-VroBOhnLtRst8Bv=r&M z7DvkZTH}CM)zmbnRhRjl)UcK4&01F|`t%pR1=r)KY@WgdxEzllRX)E9qLoHFZE#x_ z-ps+PU=r;akDIsE$Ygwlvb%rd1FU6Q*%DkDSm}9=uZDW~?-<V=x2W~+!C58MU|)Yw z#1QTFb;dc(ip>EZU3ySF!jLM-y)^d^7~LlcSBQR)8yZPZw-Ht8kB+eS!-wz)JFCUM z^ik(FVkSc>#r%8iMs%RmLM~q&RyJJsSqoR!No3bGIN$(xR2C;tuWI2>vpb`7g^I`h z5NE4lL>3<vBzC?GQE#DtXU%alMJ2=W)zE+MrZ&9nrp@pc9gN}Z8KdE;C`#%8%aJP4 zp49smET3^RtSaTy<&pG5N0A!3_{Q9j#qWgnU@sc6@liCZqnOK(D$9FD*}|8mEN9D% z8B3zH=}RgyIc15;JB#-i;4awvFCR}}yWI7r>lWct!{TGR`S@yVIN=e^1CGJhqdqFQ zKRljF9u*I;t7iTpDNQ7MSrw44ksX3<FmnE)+-}Qby0#Rhp)AK$(H+P@6>8r_)Ug6I zB0}89L>0Q~McHW8T})*68cdTa^j&w<jV21?7c!H-UWa>vuBD4-Sa&=OcM0so(UWIZ z7gzAVb))7Wh9Q*fhqUSjJ>yNLqpQ%NZsKmdQ7?(%T$*FiaJ1sJ#6T7pUJHVdaz7xq z(?vJ7OG7-{f^@cNIwS1dpK_(s%lPSW(Vu-~^7^a_b?G6R;q`AxCve)Xr?-!~l*|1L zqeM9U)I*GAH;mkGRcO`|Vl;LzNjbkmu8;Dabq5v4hz6b*ZhRL*lkfUF_!(ESy(=|= zD|?D(a6ySw7TJ=U&PCT=c;I&EB@*$*xKxWBPJOGxPw(^+E3MuN%zAOkeNrsJTjMI@ ze?YcUgfleD37X~DAj`3?;OAUfK1-|5@FrCBw0I0xtx1CHbxtjNi^h0QT;;jUo@YOL zv$t4`Th<hIKc_)`!~l6qp|oHbMbt5o#>|`Y-4{VtU%09p;L56BMY+QnKz&6z3l+Ln zgb2FS7lki`KB|pCl-s#w(c{mGbF41j{gcmrLC<7}TUITFW#w>XJ=7po3?I_^JgtR^ zY-?AA*{<xeG&^-c?ak*=s51?_=LL=JCmLeDTC&5HfRh`FnhOt%txBQ&#box1flU@v z&|gf!n>GgaK;vNbSZjE#4DwnT#MDj}&7JMWU`<3_xAIY@c$~d&ayTL=JxiqEr5c$7 zJ0z$iMb!9<$wh<v-Z1%I;rxe$t$2;l4M=#jep0Y#<10+lwSe;-=#k1-tUQXYwh+m* za**i5lC>yHil+L5MO`aNOV*FJ<ujV*4i@v-qXyhDnmP|bed*{59-~POG^F|mN%eO{ zk97^;Xyvzsx2O84<1o>M<(ZskM^n)-(44JwSu<#VD+ES0ZCec_KUz1r`9a8y*1_17 z7)r;2l#XdiGwjw*aHTX}hqCB#5l<&aimvQelVNEzbr^;AtyC+!VpsMe6^+7}E#Oxn z@^QcE9VOG(qeKdwdJ;YGL!(7A#{KHS#jZrtpofCBpotdqH1g}nvPK%^cjWRPSIX!( z$%g}~L4cNw1?7Khb?h-eMUN8=WvU*QU8!?>IBC{6F^!EjnBjhEHD2^%NY&H5E0|Ym z*(U2KFE9k>1_{n}hvRxZIg#LadgYLR0(w%9QN{%El=mH(LyhdW{rVBS&z|8c6~_4K z-ifHw9~+_{;BLx^Fb1h2dcrO@z3{FV1<rE#pMhWT7w(@VQW(49j?dMDY!T3P$`>%* zcV9rM4>;7%@cnf;cw-~eP|9?{dPGAl<9Eo+)Xs1iI9-?dRm=SJ;S|w}J+8H}u9$Co zS+tO;3RW7u)&;@(=4J6Y8xf$@|A&S&Q26asfuo^@m<-bbwqVWCHq8rA8w<~mph>fg zNe=W}Y0`MM#aOc`py!n~x$B<iYRqg}k&71M6&cyuRAYu{;{8%`s*(M9K!^8?o#KLu z>J^|<Q!ubNF$4Afs`0_40JWWoN`h4R;77{nDPjtXW{O4@!%CVQdHN!%nz~g?2j`1e z`fi2TLl<UaZU8-aRWyFI=ebzBB}vPB604d}Cu(@W0bip1($T=%0p5M6w-%Nv-ISB^ z3r-mV(-gf>kFW|_orj7zRO^V$Hk7H&d{K>B%olgFY?FB=eyUX8UiH!3iI@ucawY~L zwHAsrs<Qx(-Pu|Z%dJXF7l_j`Rb(8}%e1BWhWdt}r5oHcdrez<%)k#<)g|DtyYl6_ z1ULfvsxzQZEkQs_4d0*eGW!w)6shDJxM;U_1vdWuh6U|`BnmA~f!-*!-WYmhskkgt zWuil5r7{t-rxNUG5MyH5K%<=*tWp+Qoi+O57;WIg?y6V28n{9mh_1Jv?p%&e{&3B6 za11S2jzA(+rVWg-1#&G0y~Uw*3v0hF+F96Fscf4WQ#gBt2xn}jVc-y2r;U44)7=;} zZlgxCfiX020J;yD4z}Lcm?OrdBY#2qW{P|Ljwr3wjn2Udej2}4{M)*w`CN^m>uWKI zi&WWg*>1x|A2nTuWw-_F#4HvatE*pBtf_tvP~JN6FPgJnq_L=29V~}}O^a8H6)agx zvZPo&4}erf)&b6!OI9zkM-93oP+s)O-NBoK)o#QfR6Di5_@j-OBO7U?hsILZO`<77 zD)X`i(b*wrO+VQra#)_h%#Ni=`DlTWDn5f?S*5Cobt4Sv*;bAA<j3lPZN5ea9OwdF zmr4x!7|?Q-{+PS&ZLURai!N%)nzy#VnqLjm(pb88E384P;&jE%bcc^NAB{?&6I;bj z7Kl@EisW%-c$2VAWK*?mcsO$GpTyA2A-&V5HW{!cTF}!d&eFRK8Ywut5=+}gp{Ifg z=b@~N2C>d@dY?h(3QY1CF_;Z9Ix?X{?hwHwv&_=($a1%<`8z7rw2WP7^%j`S=El(% zyD-?8t23JwhvVQt=&$V~gWeM3*fxWHGmfh4789*E6*@2rey9}Hy~f%P4Ab|6*1oTq zI^g?sp}b;rUo>W4bOrC%oh4s9B@97J7H>Lpn21p2%b^<g-^#v{qo(eWPG~|;?ZaA2 zYP<?1OOB^A`@}smoxBO&jJH`-<fCp$5p^g>?g|>ZUrb_MjohR06n8+(U`VAL&7XoP zq1rDBFMacNSS}la7q5qFo@!IjKm)6jgPNkEJ<BMX9<TQVA(e`v?F5Ro*_$-jvp#6| zdZVxR6pWZ0W)|t;?udipF?P!2QW8&B4~oVNsq_~+9#6$DBhEvL#S83b1G*ef{&z8n zg)|7NJq;ka&57ZxLA{W4hc3b_@(%6#<95bJbX4!ra8~~gZ5~n;C<pqewy%>>-X6-; z?x*(d@MErV#iEPsq}Mzmo@c{MzJu<d{3Gb2B9-|DvhJ`2_I)gi92I-n91V}0fuGfC z$g{^pSL%68Jk4gfOP(-=e6ykaM$jK`XuOq0n`Z`teB7{k&v*f;@`8iSN$rITM&<dS z7tXuGKTuu>m0_pXOT?YjuSB$`fsYGOxVr=`1#4NY@a_*qq35O8YF0>gKz<Yt3kk_C zk{{21f{$nAM<|X^%C_Xk5o{gGJ|sW>#H?NRAM&FRgMjQ^^5bJ<l>MRns3KK)@iAt$ zcWB0t{-a+Q-hY&Q7dBhwl&*3~S2?6h?Jwb9Qgymgo32!*D|P8gRr;8$1Su>TW>r!2 zvi4|hhb2|TO&*-3xyembnwy-H)ZFB7NOO~80mUs_Iwm{mP)G=U@d=vdDReDQ)JslA z&-o=u{ke>++Vb_?gg%QDDkG~NuF^`xpFGDr3IDBkh*q5zO=5E*<aKwGlo0-j+^Zid SJbzl?{P>ru(S<Xj!T$pd0CEBV delta 99434 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 diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle index b46719bfba137cdb135ed044e8db5d072a3714c5..84b48c5bbf88398ce341385758e1780c16fbbebe 100644 GIT binary patch delta 78032 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 delta 70851 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 OZj9*E-S<K!^8Wxc!AfNS diff --git a/docs/build/doctrees/example_notebooks.doctree b/docs/build/doctrees/example_notebooks.doctree index 41e524f9df6e1f158a99b4b3e3d272aca59b3996..0ab96e4a2d0c0f64d340eab011927aef5793ad2d 100644 GIT binary patch delta 251 zcmbQO(yq$Vz%sRFBa1Nymr80yVs1fBYO(%g3l0S?1q3&eLq<mi&dtj&NlnVn&yFw1 zFDT7PEXmBzo6<JLuLns(KZgvLGF-#tH5~F>ItcC=4h=3nWUj1HQf6LaQD$l}*dS53 v9Na38AQ!NdHe7155vRJE7@P}N>Ez+$0amI6mz$i+DaR!T=Wg!d?B@UgQmk8- delta 134 zcmZoyovp&sz%o@}Ba1Nyqx57)4h2T>$=Mt-jKY&Aa!AOD=jE5ACgta6$EQ}56eY%| zr6!h?7Nr(XX`ABLBQ^OZhdiV5WF}4xM%BqCoLa&>aOECBE?_lElbbo!MR?)jP99Dk TU<t{|7dYh@MK}N8?B@Ug%-<__ diff --git a/docs/build/doctrees/notebook_BHBH.doctree b/docs/build/doctrees/examples/notebook_BHBH.doctree similarity index 99% rename from docs/build/doctrees/notebook_BHBH.doctree rename to docs/build/doctrees/examples/notebook_BHBH.doctree index 67c8287436c098ba08edbed0ea4e79dc7944a224..87d1089f58c156d520f02167f2953443b0c2a5a2 100644 GIT binary patch delta 5019 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 YT|7WnLUzK(W*ZcbmW1}ycHbiOe~gG$V*mgE delta 7884 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 diff --git a/docs/build/doctrees/notebook_HRD.doctree b/docs/build/doctrees/examples/notebook_HRD.doctree similarity index 98% rename from docs/build/doctrees/notebook_HRD.doctree rename to docs/build/doctrees/examples/notebook_HRD.doctree index 44cf3533b9faba6da1aa9bab66fda41791f7b055..926ff29530b8a05ae9ffea69e1eb488ceaa229e3 100644 GIT binary patch delta 287 zcmbQ<%<-j}gQbCG>Y0r!JdBJvlLZ+AIZ`VUa|?1(i#I1SPJhAguBWGvnVXoNYGtLM zr>8$%@j0V3CrnBFWcgQCjFy;!Vw<~P=}R(+{M){VnK3YgfGN{WA{a4^+1?ewD49n{ itHN<cvFQ(vF{)rVV>?i4zC0oQ&z@nk+U7Z9v=jh==wVy{ delta 174 zcmey;%rU*0gQbCG>bi|AJdBLVlLZ+AH)k_Wd%<I^r>Bsao0y(zWu-7#;Fa`blUG)Z z1|Zhv$*)``nXdlbev6qgFa$&4^tcE{s7er1Z2RR1M&>+BWt_)h%C=`5XPhsOslw_x LT*b`ijL}j6ScW@5 diff --git a/docs/build/doctrees/notebook_api_functionality.doctree b/docs/build/doctrees/examples/notebook_api_functionality.doctree similarity index 99% rename from docs/build/doctrees/notebook_api_functionality.doctree rename to docs/build/doctrees/examples/notebook_api_functionality.doctree index 1d5c5431d62f64ad9b0e06568d1499fc4f4bcb18..684826e9184082c3149350b122c147becd697e78 100644 GIT binary patch delta 60 zcmeyrUb16@Bx?i9RHg?TS-BY*t0oIF26CiUB<2?6q!u?PGPWl&f-n;hGXpUT5VLMi JWMrEc1^`|A5=Q_4 delta 51 zcmeC!Ao+j2Bx?i9)Sve^vT`#r7ETsq3~bJ3Y|mx{VJ0AE24WT<X5F66$Tl|&0Mnun A5&!@I diff --git a/docs/build/doctrees/notebook_common_envelope_evolution.doctree b/docs/build/doctrees/examples/notebook_common_envelope_evolution.doctree similarity index 97% rename from docs/build/doctrees/notebook_common_envelope_evolution.doctree rename to docs/build/doctrees/examples/notebook_common_envelope_evolution.doctree index a11982b0d714f6db6a9bd3b039fd9256007366d6..121be9394e2c56c2cc45a18c6d7bd0d2acfac518 100644 GIT binary patch delta 177 zcmZqK&9-Pa8%qPrRK|@gJdBJ@lLZ+AIZ`VUa|?1(i#I1SF8U`pwRbK982HvQXUJ!X za!xnQU=*1gP{%U)?;g3WUW^X)#<6;O3Yocy>8Vy$3VM3_K$KLPnUkWQlAl~sl$u(s ipO;izkdc{Jp${`Ve)`6G#sF1+VwLJ__iSLamIVM9m^^j> delta 149 zcmZ3qo2_Lx8%qPrRMw3wJdBK$lLZ+AH)k_0{3qsH%bX#fCCbUbP@0rFHG3`t7)-yI z&L}+nf*zyX)?h}5di6j(J%!BN#Pn1vD+N70{iM>&oD}_({N$3N)YM}AyrklSjLf_W Z{pr>Xj5^al)ibKdxZzQ@9jGi_765_^FiQXc diff --git a/docs/build/doctrees/notebook_custom_logging.doctree b/docs/build/doctrees/examples/notebook_custom_logging.doctree similarity index 97% rename from docs/build/doctrees/notebook_custom_logging.doctree rename to docs/build/doctrees/examples/notebook_custom_logging.doctree index e2c5a2b5155c4112e06d5397ba8e09e9aa885976..0d236a9a0535b84d3df64035f963aa4f737f8fa3 100644 GIT binary patch delta 35 rcmaFzjOpz&CYA=4sYx4Ico-SWCkrwLa->!y<`(3n7H>{uWZnb-@W>2; delta 26 icmaF+jOocUCYA=4sgWC5co-S;CJQnKZq8<8+5`ZN;|US~ diff --git a/docs/build/doctrees/notebook_extra_features.doctree b/docs/build/doctrees/examples/notebook_extra_features.doctree similarity index 91% rename from docs/build/doctrees/notebook_extra_features.doctree rename to docs/build/doctrees/examples/notebook_extra_features.doctree index eea55596bb9e63d80f43f23ea77e29c387880065..041d02c1db47702ad5b160fb445ebf0b09f26071 100644 GIT binary patch delta 35 rcmeBL$~bu`BTECz)Q*iTJdBLxlLZ+AIZ`VUa|?1(i#I1SY6b!T%o__e delta 26 icmbQdl(B0mBTECz)cTDqJdBKalLZ+AH)k_y1OfnZ*ayV` diff --git a/docs/build/doctrees/notebook_individual_systems.doctree b/docs/build/doctrees/examples/notebook_individual_systems.doctree similarity index 93% rename from docs/build/doctrees/notebook_individual_systems.doctree rename to docs/build/doctrees/examples/notebook_individual_systems.doctree index 1811211808106269bbcbbaefd8974800ee08740d..ac33957942e2819223ea6914e4817dfa4bba42e2 100644 GIT binary patch delta 35 rcmZ3vlX=rlW|jt)smnLA@Gvq~PZneh<VdYZ%q_@CE#92S=y4kW-Q^5x delta 30 mcmdnAlX>M%W|jt)sq;3n@GvqKO%`MfoLtx}y}6B1=QaSRwF;d8 diff --git a/docs/build/doctrees/notebook_luminosity_function_binaries.doctree b/docs/build/doctrees/examples/notebook_luminosity_function_binaries.doctree similarity index 95% rename from docs/build/doctrees/notebook_luminosity_function_binaries.doctree rename to docs/build/doctrees/examples/notebook_luminosity_function_binaries.doctree index 64f576adb1f90ce608fd53dfe50677b4e31abcd0..06f94e5114e10e202019f672a54dfc105f6d98dd 100644 GIT binary patch delta 1234 zcmb7^O-vI(6vvrqmzIKbD=kWZ?iL~`#TF}EENZ|IjcM8-Y78R5RyS-XEs)Y0KNA~+ z9^6EdS)F(^-iU@&KK7!C@nATrXHAGPUQ9f2F~Jy}*`@8qa$yfUJMZiF-<|jN^LP9D zSG)DD_3`hbwE=*6>;h-(()C1UHZ9HFOMnLn0JH>vgN^WsPkZi!w>jtKP)JN=5>rwn zB8Eb}q{jnW>q<G3<fI3l1*1Dyd$n&K_>dbu-Ca=csD7DK8qdk8>8Uv}HzVe<HzKNR zn^5IrRpxnhI|2Q5*3`%X`s2hyVqY{?<mjf2qc$L0@=3W<sZZw9X(>0EPR-?1td>Y} zEi3J(0d>qXnaW8SlUo@h#0$sT3;|_*$j#Hzh9)DztyZ+?P60LZxX|5!7pyjWY?<lV z%M3n0;#snQ_OOM@lSSDlcf|8a<f4|6FlB(eZG!_<<em!Ih%l3Nr+|Vc@(Lq&?}}U? zVF4DZ$R{dfBf?D9odOy*kyjaca989gSruTkiab^!8xdx*?iA3tiM+<h7j{KnA|Kk} zVzYx?{~fln$b3tjpEh7Wd+cwh9QL*)u2N!_%A}|0u$WHK5x6O3XM%Jl0;MLlmn^0# z6&tN{OIMDMAGJG-k`$aKLn6EejWxsGFU#X+kDBnt#eFu7?WgrD_fFk~L-&PtrPi1L zRRKXYFMClv`>J~H#g<9&7Z?R^$dDTzAPcR~(P<qQC(3hYY|0%@heklJc>M8F1TOJ- zq^lE;?C0SN9v2rpEWHjt<=xoZbqKCA_d&QqgO9jr1aZ9tP1qZ6A+tVs9=u-*z^DcK zTv{v$H4E4xTo}Fvo8(;>`cG|9g>m!+u=@}CRpY3Ij&vMtGJ9U;>AwOcT=XsaP?9a5 Y&=tC%4Vr+ivZtRk2}xS`Fzf;U0E2^g9RL6T delta 1940 zcmX@{h~v&P4weR%sh>8o@GvsgOcrDeocw`BX8L<kCeG#wjO`N`8MjYhWRl`z+N`{N z4L?&2D^G}?o<e4BVtT5TmBRG(qD;~-4Z_pAM440=J>i1efu_u3oh)Lit-=~@XcTKT zC4)V7N``F@l-D|?aZ2qJjSSWdwhZ|!=IM#DOd^xxZPl3=1g01MWK^Eqpen%hmw)m@ z9XYWGpeRE~MrK}mu|i3{LP=4j6_=L6bblG9NM;aYwJei0m~mQ;sS(V$r@-V5W@sxj znM_};#8fSjVM_&L%BT0LFmbYh-7Euk^K|>4j0Q}SU`OjPu?kE#6krkoIXqrmV|qa| zBlq+L>P+5DyI7|$oW&T+=mydxKly;EAfxm2gKA7-(*+tBW$Pn~85tOC3W`$gxNM3G z67v+2a}tY-ZIu%9iZgYSD--i{)6$jf6cpStb5a#-^g&AOFcqd3rKUnuswo?rSnHSM z7U*XdRA#3Z<)!Atn;KeJ8k*@FS(=y_ni(6JnCcZ&g4NmR*W)k{ZnKU;PG%laHXA}+ zhs7U7sVPuzC@7%DW<5-k0s_S0F(J4zuOzX;wWuh+2xnlxY_o!@P{_<HOU%hkQ78s$ z=Hjx^2Zc8{S=Iv+$3Vsa%>S5CN}m|0uY`pX7a{@_=oJI4Q>M@EV&q|r2jvan$p#;6 zqz|wH3xyZ~28Pn4tm(k4p$RQ4BElG_7cw#F*O#PLlqBcp<QG-Lvq)_<G=J2_pvi*s zMQybbYKDlxnj@4jbc3Rxwi=oPptAJ{tD%M))^ed+3rv9^H=!r?TI4W}iL1t;5h;yh zIH^bsWVBT+dYYchxK5U7G>AZjCe9#AT(81d04{~62h=gDu%Ch?wdosYGU_u%f+eQS zVw7ca7MT9<Gh;L3we4?!1voR)MS<;>+DzM-8COmJsK>O2anba3`b-+`tAL5rFY7Ka zjrwK1W(JXxtRQj`NW3&d09eOm2?{bWWEf`&fv8Ja!ayqP0Z>Dh2#EC#s3}WyyQ~3| GHX{Jq5p>=F diff --git a/docs/build/doctrees/notebook_luminosity_function_single.doctree b/docs/build/doctrees/examples/notebook_luminosity_function_single.doctree similarity index 97% rename from docs/build/doctrees/notebook_luminosity_function_single.doctree rename to docs/build/doctrees/examples/notebook_luminosity_function_single.doctree index 497a2dd5896d6b534dc0a90bc90f227c111eab3b..af53f854061f5f6a3caa4840c5a1cb5f475437b1 100644 GIT binary patch delta 35 rcmezNfcgIeW|jt)sU;g(co-R*CkrwLa->!y<`(3n7H>{u6nzf>_dX2? delta 30 mcmezWfce`4W|jt)so5J@co-S0CJQnKPX6#fc5?^g_jdrr?+q9L diff --git a/docs/build/doctrees/notebook_massive_remnants.doctree b/docs/build/doctrees/examples/notebook_massive_remnants.doctree similarity index 94% rename from docs/build/doctrees/notebook_massive_remnants.doctree rename to docs/build/doctrees/examples/notebook_massive_remnants.doctree index caa84194c7d146df0c38c016edb0c8695eb7f7bb..77aa0edf5b581b142f3c93e077e53377c5eb5ac6 100644 GIT binary patch delta 706 zcmZ2-ie<(*7M2E<sVo~=co-QgCkrwLa->!y<`(3n7EexOypXEt3gIb~7N;sCCl;q# zDflK97iX5GDioI_7AfSE=4R&Q7iX4KPRU@8osyy4!xEBOQ8H!nlpf->Zr;E&YdL?2 zo}NNxZen_>m6d{?p8n(ySEM;%Zi$~<xXPW;4MR+M^Y>L<ngq2<Pd<D_2a9&;&1zRK zXt7UaP-g&w$rHLHnR>V<2cERv8qD~Ylc2Fu(<gE<>S8fhYWo*1#$ti#LClOgN-WU| zu~v}KvF(9yTBkHlshy&c!J5IAA)obndLsv;$fOtQOfPsQGgcTgJ>{9aVXoZdn|&ga z=RY!FV&t8C@sSSGTb{`m#Y8}ou`xQ6<vxZo_DoNaW-N+_1+*?Oj	sqzjEBT~Hk9 zBE?Z+h7d54L}G!l0}WcFh|R?wvD^J+7z3CXqqZ-QW8A^4XUxmM(4zs>4YyJksu|tJ z>64WhFEMHJPES{6)Mhf~ojygGQOQ{wXog>Dh5#@OvStC<8OB+&LDZ3~IY27w5+jh9 e3t~NB1`_i?EIw8sF(1TI;s6p0w*Leg$Or)Narz_x delta 500 zcmbPnj%CRy7M2E<sf-(0co-QACJQnKPR>~+Ik|;#o0OSrMPhD2PO3s_ajHUcVsWaK zLR4x|zHVarWZAW{+EX&vW2a;&_ppSdR+LPcJf#P}`pxs1W-aIO(9=`M%uP&BwX#x} zbX6K?mph{^grU6o_o^;UEGncY+h66FeEW(DOr`W@`>PkUCe0D!oXW4t00vw27_GU` z^-iC|#RxGT#8Td_&CQr4Fuh5ZF<%enR$ZXqbisbph59X3x40xVCnvE;H>Wf=GcUh5 zv!rtJggYWqW~ms#QH2PO?E!L(0ZfdN+ZQS@?qIh5#KXYQV+z#)w?r4J0h=AVX{C9| zC7Jno)7w=TFEPF1nI5gmsLk|=XL^S!qmuJ0pn-m+83MIaG_oRj85lB*v!X!Mk*sJS jm34^`NW_3x514^OEQrO&3MAq{EF}&g5x@N{&_G52Fbk)0 diff --git a/docs/build/doctrees/notebook_population.doctree b/docs/build/doctrees/examples/notebook_population.doctree similarity index 98% rename from docs/build/doctrees/notebook_population.doctree rename to docs/build/doctrees/examples/notebook_population.doctree index f6c5be644e20fd173f10972eb2641c383e6ba233..10bd1d6bac71e1944b1e7151d47705f9970f005c 100644 GIT binary patch delta 47 zcmaEGmE+}A4weR%sSX=ico-RrCkrwLvZq!g<`(3nPH#+S6m2eLY%gVG++NDal&uK> DkmwIj delta 39 vcmaEPmE*xx4weR%spcD5co-S8CJQnKPM?&|DBN7f*j~rTxV?^%DO(c&7%vQb diff --git a/docs/build/doctrees/notebook_solar_system.doctree b/docs/build/doctrees/examples/notebook_solar_system.doctree similarity index 87% rename from docs/build/doctrees/notebook_solar_system.doctree rename to docs/build/doctrees/examples/notebook_solar_system.doctree index e066008cca3648d83089bb497b403d5a68018d99..e0a17390170a1f4ccad459d0c1248b9f484b2d0d 100644 GIT binary patch delta 384 zcmX@~j`7@kMwSMasfRbR@Gvr#P8MVg<VdYZ%q_@CEuNgnct*s^6~a>}ElyQPPApEf zQV5>BAYW{9J(JMna3%qq3O3g>oe44a*V9wT%uP&BwX#ys)6)l{q|(fs6#bO^<dUM) z)MEX-q~d~%%)APHn62@X9r;8jw}<PhIufgT^V9InLdF4PT6HB$Pt}QNtBkYFS%hJM pq6-WZU2vf2PR`CZ7Pf+V0x7UI&(Aky6S9O#z%}S@zFL~g2mp=0hy(xt delta 134 zcmX^2p7GE-MwSMaspcD5co-RTCJQnKPR?dL&8RWilgScHYHr@gv@3+iSx-+PGdD3k z)yhg?a$vUf<kjI$j22Lq+-8G_RYE*2=xTVgof$2`YIw8dH&4mdWdRy_CEu7)W3yC& MDI1VVEX!pC09`05Q~&?~ diff --git a/docs/build/doctrees/examples/old/basic_example.doctree b/docs/build/doctrees/examples/old/basic_example.doctree new file mode 100644 index 0000000000000000000000000000000000000000..63c9b29f85a533e1fb840314daa3a24e8039fd88 GIT binary patch literal 9813 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 Ye5emjg-}PSJID%{$+~(=6`Rff0-amdrvLx| literal 0 HcmV?d00001 diff --git a/docs/build/doctrees/examples/old/workshop_example_notebook.doctree b/docs/build/doctrees/examples/old/workshop_example_notebook.doctree new file mode 100644 index 0000000000000000000000000000000000000000..a3b9462409aeda6860fb26ddfeec3446f72723e4 GIT binary patch literal 65313 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 T$!vjS>a-iUgp-(;ZdLsM%5Qq= literal 0 HcmV?d00001 diff --git a/docs/build/doctrees/nbsphinx/notebook_BHBH.ipynb b/docs/build/doctrees/nbsphinx/examples/notebook_BHBH.ipynb similarity index 98% rename from docs/build/doctrees/nbsphinx/notebook_BHBH.ipynb rename to docs/build/doctrees/nbsphinx/examples/notebook_BHBH.ipynb index 80b707d95..4afd498b9 100644 --- a/docs/build/doctrees/nbsphinx/notebook_BHBH.ipynb +++ b/docs/build/doctrees/nbsphinx/examples/notebook_BHBH.ipynb @@ -5,27 +5,8 @@ "id": "a544d28c-c2e1-4c6a-b55b-8caec440743f", "metadata": {}, "source": [ - "# Tutorial: Running individual systems with binary_c-python\n", - "This notebook will show you how to run single systems and analyze their results.\n", - "\n", - "It can be useful to have some functions to quickly run a single system to, for example, inspect what evolutionary steps a specific system goes through, to plot the mass loss evolution of a single system, etc. " - ] - }, - { - "cell_type": "markdown", - "id": "dd5d9ec7-5791-45f1-afbd-225947e2a583", - "metadata": { - "tags": [] - }, - "source": [ - "## Single system with run_system_wrapper\n", - "\n", - "The simplest method to run a single system is to use the run_system wrapper. This function deals with setting up the argument string, makes sure all the required parameters are included and handles setting and cleaning up the custom logging functionality (see notebook_custom_logging).\n", - "\n", - "As arguments to this function we can add any of the parameters that binary_c itself actually knows, as well as:\n", - "- custom_logging_code: string containing a Printf statement that binary_c can use to print information\n", - "- log_filename: path of the logfile that binary_c generates\n", - "- parse_function: function that handles parsing the output of binary-c" + "# Example use case: Binary black hole systems\n", + "TODO: introduce the notebook\n" ] }, { @@ -91,7 +72,13 @@ "cell_type": "code", "execution_count": 3, "id": "029fc3f2-f09a-49af-a32b-248505738f2e", - "metadata": {}, + "metadata": { + "collapsed": true, + "jupyter": { + "outputs_hidden": true + }, + "tags": [] + }, "outputs": [ { "name": "stdout", @@ -288,13 +275,7 @@ " 7.4046 9.501 9.586 14 14 -102.91 -1 -1.00 0.000 0.000 SN kick Ib/c (SN type 11 11, pre-explosion M=10.0399 Mc\"CO\"=7.43173 type=8) -> kick 1(190) vk=384.535 vr=0 omega=3.4205 phi=-0.103702 -> vn=384.535 ; final sep -102.908 ecc -1 (random count 5) - Runaway v=(-379.582,-106.329,10.8544) |v|=384.535 : companion v=(-5.13796e-51,-1.27569e-103,2.85406e-105), |v|=5.13796e-51 ; - , dm(exploder) = 0.454268, dm(companion) = 0\n", " 7.4046 9.501 9.586 14 14 -102.91 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 7.4046 9.501 9.586 14 14 -102.91 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 9.501 9.586 14 14 -102.91 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 9.501 9.586 14 14 -102.91 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n" ] } @@ -376,7 +357,13 @@ "cell_type": "code", "execution_count": 5, "id": "8018ef52-093d-45ac-a00b-5fb721db3adb", - "metadata": {}, + "metadata": { + "collapsed": true, + "jupyter": { + "outputs_hidden": true + }, + "tags": [] + }, "outputs": [ { "name": "stdout", @@ -558,13 +545,7 @@ "System 58 has separation -140.9\n", "system 59 / 100\n", "{'time': 7.4046, 'M1': 5.851, 'M2': 5.873, 'K1': 14.0, 'K2': 14.0, 'separation': -2439.0}\n", - "System 59 has separation -2439.0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "System 59 has separation -2439.0\n", "system 60 / 100\n", "{'time': 7.4046, 'M1': 5.851, 'M2': 5.873, 'K1': 14.0, 'K2': 14.0, 'separation': -235.82}\n", "System 60 has separation -235.82\n", @@ -742,7 +723,13 @@ "cell_type": "code", "execution_count": 6, "id": "3085ba82-430e-48f0-bca3-b19231e6109d", - "metadata": {}, + "metadata": { + "collapsed": true, + "jupyter": { + "outputs_hidden": true + }, + "tags": [] + }, "outputs": [ { "name": "stdout", @@ -944,13 +931,7 @@ " 7.4046 9.501 9.586 14 14 9548.9 67.7 y 0.05 0.000 0.000 \"TYPE_CHNGE\"\n", " 7.4046 9.501 9.586 14 14 9548.9 67.7 y 0.05 0.000 0.000 \"SN\"\n", " 7.4146 9.501 9.586 14 14 9548.9 67.7 y 0.05 0.000 0.000 \"END_SYMB\"\n", - " 15000.0000 9.501 9.586 14 14 9548.9 67.7 y 0.05 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 9.501 9.586 14 14 9548.9 67.7 y 0.05 0.000 0.000 \"MAX_TIME\"\n", "\n" ] } @@ -1238,13 +1219,7 @@ " 265.4710 45.203 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 265.4710 45.203 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 265.4710 45.203 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.203 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.203 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -1369,13 +1344,7 @@ " 6.1830 26.222 18.898 14 14 94.707 15.9 d 0.58 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1830 26.222 18.898 14 14 94.707 15.9 d 0.58 0.000 0.000 \"SN\"\n", " 6.1830 26.222 18.898 14 14 94.707 15.9 d 0.58 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.222 18.898 14 14 89.066 14.5 d 0.56 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.222 18.898 14 14 89.066 14.5 d 0.56 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -1505,13 +1474,7 @@ " 83.5556 45.159 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 83.5556 45.159 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 83.5556 45.159 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.159 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.159 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -1594,13 +1557,7 @@ " 1473.7324 45.249 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 1473.7324 45.249 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 1473.7324 45.249 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.249 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.249 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -1739,13 +1696,7 @@ " 112.8805 45.090 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 112.8805 45.090 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 112.8805 45.090 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.090 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.090 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -1813,13 +1764,7 @@ " 12.7426 44.651 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 12.7426 44.651 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 12.7426 44.651 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 44.651 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 44.651 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -1931,13 +1876,7 @@ " 6.1823 26.223 18.942 14 14 174.23 39.6 d 0.87 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1823 26.223 18.942 14 14 174.23 39.6 d 0.87 0.000 0.000 \"SN\"\n", " 6.1823 26.223 18.942 14 14 174.23 39.6 d 0.87 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.223 18.942 14 14 122 23.2 d 0.82 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.223 18.942 14 14 122 23.2 d 0.82 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -2016,13 +1955,7 @@ "{'time': 6.1816, 'M1': 26.224, 'M2': 18.995, 'K1': 14.0, 'K2': 14.0, 'separation': -24.872}\n", "System 7 has separation -24.872\n", "system 8 / 100\n", - "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -33.648}\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -33.648}\n", "System 8 has separation -33.648\n", "system 9 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -1713.8}\n", @@ -2137,13 +2070,7 @@ " 6.1810 26.225 19.039 14 14 144 29.7 d 0.62 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1810 26.225 19.039 14 14 144 29.7 d 0.62 0.000 0.000 \"SN\"\n", " 6.1810 26.225 19.039 14 14 144 29.7 d 0.62 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.225 19.039 14 14 141.62 29 d 0.62 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.225 19.039 14 14 141.62 29 d 0.62 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -2230,13 +2157,7 @@ "system 6 / 100\n", "None\n", "system 7 / 100\n", - "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -62.267}\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -62.267}\n", "System 7 has separation -62.267\n", "system 8 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -42.878}\n", @@ -2345,13 +2266,7 @@ " 6.1825 26.223 18.926 14 14 161.5 35.4 d 0.88 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1825 26.223 18.926 14 14 161.5 35.4 d 0.88 0.000 0.000 \"SN\"\n", " 6.1825 26.223 18.926 14 14 161.5 35.4 d 0.88 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.223 18.926 14 14 75.019 11.2 d 0.76 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.223 18.926 14 14 75.019 11.2 d 0.76 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -2431,13 +2346,7 @@ "system 6 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -106.87}\n", "System 6 has separation -106.87\n", - "system 7 / 100\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "system 7 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -89.768}\n", "System 7 has separation -89.768\n", "system 8 / 100\n", @@ -2514,13 +2423,7 @@ "{'time': 6.1819, 'M1': 26.224, 'M2': 18.975, 'K1': 14.0, 'K2': 14.0, 'separation': -23.855}\n", "System 1 has separation -23.855\n", "system 2 / 100\n", - "{'time': 6.1811, 'M1': 26.225, 'M2': 19.036, 'K1': 14.0, 'K2': 14.0, 'separation': -168.1}\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "{'time': 6.1811, 'M1': 26.225, 'M2': 19.036, 'K1': 14.0, 'K2': 14.0, 'separation': -168.1}\n", "System 2 has separation -168.1\n", "system 3 / 100\n", "None\n", @@ -2603,13 +2506,7 @@ "System 6 has separation -98.879\n", "system 7 / 100\n", "{'time': 6.1834, 'M1': 26.221, 'M2': 18.866, 'K1': 14.0, 'K2': 14.0, 'separation': 71.42}\n", - "System 7 has separation 71.42\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "System 7 has separation 71.42\n", "Found bound BHBH system\n", " TIME M1 M2 K1 K2 SEP PER ECC R1/ROL1 R2/ROL2 TYPE RANDOM_SEED=26051 RANDOM_COUNT=0\n", " 0.0000 60.000 40.000 1 1 3101.2 5.48 y 0.00 0.006 0.006 \"INITIAL \"\n", @@ -2673,13 +2570,7 @@ "System 1 has separation -490.65\n", "system 2 / 100\n", "None\n", - "system 3 / 100\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "system 3 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -844.54}\n", "System 3 has separation -844.54\n", "system 4 / 100\n", @@ -2803,13 +2694,7 @@ " 6.1812 26.225 19.021 14 14 157.31 34 d 0.29 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1812 26.225 19.021 14 14 157.31 34 d 0.29 0.000 0.000 \"SN\"\n", " 6.1812 26.225 19.021 14 14 157.31 34 d 0.29 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.225 19.021 14 14 157.05 33.9 d 0.29 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.225 19.021 14 14 157.05 33.9 d 0.29 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -2932,13 +2817,7 @@ " 812.5051 43.110 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 812.5051 43.110 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 812.5051 43.110 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 43.110 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 43.110 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -3051,13 +2930,7 @@ " 6.1844 26.229 18.804 14 14 164.59 36.4 d 0.46 0.000 0.000 SN kick Ib/c (SN type 11 11, pre-explosion M=18.8039 Mc\"CO\"=14.1854 type=8) -> kick 1(190) vk=161.317 vr=310.99 omega=3.87813 phi=-1.31958 -> vn=375.785 ; final sep 164.585 ecc 0.464494 (random count 5) - Runaway v=(-42.7184,-100.373,-23.0784) |v|=111.499 : companion v=(225.604,-99.3719,-86.2291), |v|=261.166 ; - , dm(exploder) = 0, dm(companion) = 0\n", " 6.1844 26.229 18.804 14 14 164.59 36.4 d 0.46 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1844 26.229 18.804 14 14 164.59 36.4 d 0.46 0.000 0.000 \"SN\"\n", - " 15000.0000 26.229 18.804 14 14 164.1 36.3 d 0.46 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.229 18.804 14 14 164.1 36.3 d 0.46 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -3176,13 +3049,7 @@ " 6.1830 26.222 18.894 14 14 305.95 92.3 d 0.61 0.000 0.000 SN kick Ib/c (SN type 11 11, pre-explosion M=18.8941 Mc\"CO\"=14.2552 type=8) -> kick 1(190) vk=151.131 vr=262.883 omega=2.0613 phi=-1.06527 -> vn=331.775 ; final sep 305.952 ecc 0.613167 (random count 5) - Runaway v=(0,0,0) |v|=0 : companion v=(0,0,0), |v|=0 ; - , dm(exploder) = 0, dm(companion) = 0\n", " 6.1830 26.222 18.894 14 14 305.95 92.3 d 0.61 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1830 26.222 18.894 14 14 305.95 92.3 d 0.61 0.000 0.000 \"SN\"\n", - " 15000.0000 26.222 18.894 14 14 305.73 92.2 d 0.61 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.222 18.894 14 14 305.73 92.2 d 0.61 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -3267,13 +3134,7 @@ " 457.8881 45.125 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 457.8881 45.125 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 457.8881 45.125 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.125 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.125 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -3351,13 +3212,7 @@ "System 1 has separation -168.81\n", "system 2 / 100\n", "None\n", - "system 3 / 100\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "system 3 / 100\n", "{'time': 6.1808, 'M1': 26.225, 'M2': 19.057, 'K1': 14.0, 'K2': 14.0, 'separation': -26.38}\n", "System 3 has separation -26.38\n", "system 4 / 100\n", @@ -3449,13 +3304,7 @@ "system 13 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -374.05}\n", "System 13 has separation -374.05\n", - "system 14 / 100\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "system 14 / 100\n", "{'time': 6.181, 'M1': 26.225, 'M2': 19.041, 'K1': 14.0, 'K2': 14.0, 'separation': 236.64}\n", "System 14 has separation 236.64\n", "Found bound BHBH system\n", @@ -3586,13 +3435,7 @@ " 6.1827 26.222 18.914 14 14 99.202 17 d 0.44 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1827 26.222 18.914 14 14 99.202 17 d 0.44 0.000 0.000 \"SN\"\n", " 6.1827 26.222 18.914 14 14 99.202 17 d 0.44 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.222 18.914 14 14 97.228 16.5 d 0.43 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.222 18.914 14 14 97.228 16.5 d 0.43 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -3704,13 +3547,7 @@ " 6.1858 26.249 18.711 14 14 98.616 16.9 d 0.47 0.000 0.000 SN kick Ib/c (SN type 11 11, pre-explosion M=18.7108 Mc\"CO\"=14.1135 type=8) -> kick 1(190) vk=199.576 vr=332.361 omega=1.41485 phi=-0.652755 -> vn=365.958 ; final sep 98.6161 ecc 0.469056 (random count 5) - Runaway v=(-0.807331,-67.6832,0.168972) |v|=67.6883 : companion v=(254.424,134.518,0.477089), |v|=287.796 ; - , dm(exploder) = 0, dm(companion) = 0\n", " 6.1858 26.249 18.711 14 14 98.616 16.9 d 0.47 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1858 26.249 18.711 14 14 98.616 16.9 d 0.47 0.000 0.000 \"SN\"\n", - " 15000.0000 26.249 18.711 14 14 96.287 16.3 d 0.46 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.249 18.711 14 14 96.287 16.3 d 0.46 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -3838,13 +3675,7 @@ " 10.8252 45.201 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 10.8252 45.201 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 10.8252 45.201 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.201 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.201 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -3953,13 +3784,7 @@ " 8031.6562 45.165 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 8031.6562 45.165 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 8031.6562 45.165 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.165 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.165 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -4046,13 +3871,7 @@ " 6.1847 26.236 18.783 14 14 113.51 20.9 d 0.29 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1847 26.236 18.783 14 14 113.51 20.9 d 0.29 0.000 0.000 \"SN\"\n", " 15000.0000 26.236 18.783 14 14 112.85 20.7 d 0.29 0.000 0.000 \"MAX_TIME\"\n", - "\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -48.404}\n", @@ -4115,13 +3934,7 @@ " 6.2075 45.233 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.2075 45.233 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 6.2075 45.233 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.233 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.233 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -4206,13 +4019,7 @@ " 6.1817 26.224 18.984 14 14 763.92 364 d 0.79 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1817 26.224 18.984 14 14 763.92 364 d 0.79 0.000 0.000 \"SN\"\n", " 6.1817 26.224 18.984 14 14 763.92 364 d 0.79 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.224 18.984 14 14 763.81 364 d 0.79 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.224 18.984 14 14 763.81 364 d 0.79 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -4291,13 +4098,7 @@ "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -1722.6}\n", "System 5 has separation -1722.6\n", "system 6 / 100\n", - "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -1571.7}\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -1571.7}\n", "System 6 has separation -1571.7\n", "system 7 / 100\n", "None\n", @@ -4424,13 +4225,7 @@ " 6.1826 26.223 18.922 14 14 1691.7 3.28 y 0.98 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1826 26.223 18.922 14 14 1691.7 3.28 y 0.98 0.000 0.000 \"SN\"\n", " 6.1826 26.223 18.922 14 14 1691.7 3.28 y 0.98 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.223 18.922 14 14 1663.3 3.2 y 0.98 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.223 18.922 14 14 1663.3 3.2 y 0.98 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -4508,13 +4303,7 @@ "system 4 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -121.45}\n", "System 4 has separation -121.45\n", - "system 5 / 100\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "system 5 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -209.29}\n", "System 5 has separation -209.29\n", "system 6 / 100\n", @@ -4611,13 +4400,7 @@ "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -42.805}\n", "System 6 has separation -42.805\n", "system 7 / 100\n", - "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -86.593}\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -86.593}\n", "System 7 has separation -86.593\n", "system 8 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -33.049}\n", @@ -4693,13 +4476,7 @@ "system 5 / 100\n", "{'time': 6.1817, 'M1': 26.224, 'M2': 18.986, 'K1': 14.0, 'K2': 14.0, 'separation': -78.905}\n", "System 5 has separation -78.905\n", - "system 6 / 100\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "system 6 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -58.583}\n", "System 6 has separation -58.583\n", "system 7 / 100\n", @@ -4826,13 +4603,7 @@ " 6.1822 26.223 18.952 14 14 133.24 26.5 d 0.42 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1822 26.223 18.952 14 14 133.24 26.5 d 0.42 0.000 0.000 \"SN\"\n", " 6.1822 26.223 18.952 14 14 133.24 26.5 d 0.42 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.223 18.952 14 14 132.51 26.3 d 0.42 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.223 18.952 14 14 132.51 26.3 d 0.42 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -4959,13 +4730,7 @@ " 6.1814 26.225 19.013 14 14 195.2 47 d 0.11 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1814 26.225 19.013 14 14 195.2 47 d 0.11 0.000 0.000 \"SN\"\n", " 6.1814 26.225 19.013 14 14 195.2 47 d 0.11 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.225 19.013 14 14 195.12 46.9 d 0.11 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.225 19.013 14 14 195.12 46.9 d 0.11 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -5071,13 +4836,7 @@ " 202.9610 45.199 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 202.9610 45.199 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 202.9610 45.199 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.199 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.199 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -5205,13 +4964,7 @@ " 6.1817 26.224 18.984 14 14 239.33 63.8 d 0.62 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1817 26.224 18.984 14 14 239.33 63.8 d 0.62 0.000 0.000 \"SN\"\n", " 6.1817 26.224 18.984 14 14 239.33 63.8 d 0.62 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.224 18.984 14 14 238.83 63.6 d 0.62 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.224 18.984 14 14 238.83 63.6 d 0.62 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -5331,13 +5084,7 @@ " 6.1821 26.223 18.957 14 14 144.61 30 d 0.23 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1821 26.223 18.957 14 14 144.61 30 d 0.23 0.000 0.000 \"SN\"\n", " 6.1821 26.223 18.957 14 14 144.61 30 d 0.23 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.223 18.957 14 14 144.35 29.9 d 0.23 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.223 18.957 14 14 144.35 29.9 d 0.23 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -5420,13 +5167,7 @@ " 6.1816 26.224 18.998 14 14 246.46 66.6 d 0.33 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1816 26.224 18.998 14 14 246.46 66.6 d 0.33 0.000 0.000 \"SN\"\n", " 6.1816 26.224 18.998 14 14 246.46 66.6 d 0.33 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.224 18.998 14 14 246.39 66.6 d 0.33 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.224 18.998 14 14 246.39 66.6 d 0.33 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -5528,7 +5269,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -5542,7 +5283,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.5" + "version": "3.6.4" } }, "nbformat": 4, diff --git a/docs/build/doctrees/nbsphinx/notebook_HRD.ipynb b/docs/build/doctrees/nbsphinx/examples/notebook_HRD.ipynb similarity index 100% rename from docs/build/doctrees/nbsphinx/notebook_HRD.ipynb rename to docs/build/doctrees/nbsphinx/examples/notebook_HRD.ipynb diff --git a/docs/build/doctrees/nbsphinx/notebook_api_functionality.ipynb b/docs/build/doctrees/nbsphinx/examples/notebook_api_functionality.ipynb similarity index 100% rename from docs/build/doctrees/nbsphinx/notebook_api_functionality.ipynb rename to docs/build/doctrees/nbsphinx/examples/notebook_api_functionality.ipynb diff --git a/docs/build/doctrees/nbsphinx/notebook_common_envelope_evolution.ipynb b/docs/build/doctrees/nbsphinx/examples/notebook_common_envelope_evolution.ipynb similarity index 100% rename from docs/build/doctrees/nbsphinx/notebook_common_envelope_evolution.ipynb rename to docs/build/doctrees/nbsphinx/examples/notebook_common_envelope_evolution.ipynb diff --git a/docs/build/doctrees/nbsphinx/notebook_custom_logging.ipynb b/docs/build/doctrees/nbsphinx/examples/notebook_custom_logging.ipynb similarity index 100% rename from docs/build/doctrees/nbsphinx/notebook_custom_logging.ipynb rename to docs/build/doctrees/nbsphinx/examples/notebook_custom_logging.ipynb diff --git a/docs/build/doctrees/nbsphinx/notebook_extra_features.ipynb b/docs/build/doctrees/nbsphinx/examples/notebook_extra_features.ipynb similarity index 100% rename from docs/build/doctrees/nbsphinx/notebook_extra_features.ipynb rename to docs/build/doctrees/nbsphinx/examples/notebook_extra_features.ipynb diff --git a/docs/build/doctrees/nbsphinx/notebook_individual_systems.ipynb b/docs/build/doctrees/nbsphinx/examples/notebook_individual_systems.ipynb similarity index 100% rename from docs/build/doctrees/nbsphinx/notebook_individual_systems.ipynb rename to docs/build/doctrees/nbsphinx/examples/notebook_individual_systems.ipynb diff --git a/docs/source/notebook_luminosity_function_binaries.ipynb b/docs/build/doctrees/nbsphinx/examples/notebook_luminosity_function_binaries.ipynb similarity index 99% rename from docs/source/notebook_luminosity_function_binaries.ipynb rename to docs/build/doctrees/nbsphinx/examples/notebook_luminosity_function_binaries.ipynb index 8eabffc08..d096455b0 100644 --- a/docs/source/notebook_luminosity_function_binaries.ipynb +++ b/docs/build/doctrees/nbsphinx/examples/notebook_luminosity_function_binaries.ipynb @@ -869,33 +869,31 @@ ] }, { - "cell_type": "code", - "execution_count": 12, - "id": "99e25a72-54e6-4826-b0e5-4a02460b857d", + "cell_type": "markdown", + "id": "e0601000-a4c9-4073-a695-10a664e532f0", "metadata": {}, - "outputs": [ - { - "ename": "SyntaxError", - "evalue": "invalid syntax (2944163245.py, line 1)", - "output_type": "error", - "traceback": [ - "\u001b[0;36m File \u001b[0;32m\"/tmp/ipykernel_518916/2944163245.py\"\u001b[0;36m, line \u001b[0;32m1\u001b[0m\n\u001b[0;31m Things to try:\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n" - ] - } - ], "source": [ "Things to try:\n", - "* Massive stars: can you see the effects of wind mass loss and rejuvenation in these stars?\n", - "* Alter the metallicity, does this make much of a difference?\n", - "* Change the binary fraction. Here we assume a 100% binary fraction, but a real population is a mixture of single and binary stars.\n", - "* How might you go about comparing these computed observations to real stars?\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", + " * Massive stars: can you see the effects of wind mass loss and rejuvenation in these stars?\n", + " * Alter the metallicity, does this make much of a difference?\n", + " * Change the binary fraction. Here we assume a 100% binary fraction, but a real population is a mixture of single and binary stars.\n", + " * How might you go about comparing these computed observations to real stars?\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?" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "abb096b0-7c57-43d6-a9f7-56bdd21dc542", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -909,7 +907,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.5" + "version": "3.6.4" } }, "nbformat": 4, diff --git a/docs/build/html/notebook_luminosity_function_single.ipynb b/docs/build/doctrees/nbsphinx/examples/notebook_luminosity_function_single.ipynb similarity index 99% rename from docs/build/html/notebook_luminosity_function_single.ipynb rename to docs/build/doctrees/nbsphinx/examples/notebook_luminosity_function_single.ipynb index 2fc879dc4..4422377c9 100644 --- a/docs/build/html/notebook_luminosity_function_single.ipynb +++ b/docs/build/doctrees/nbsphinx/examples/notebook_luminosity_function_single.ipynb @@ -605,7 +605,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -619,7 +619,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.5" + "version": "3.6.4" } }, "nbformat": 4, diff --git a/docs/build/html/notebook_massive_remnants.ipynb b/docs/build/doctrees/nbsphinx/examples/notebook_massive_remnants.ipynb similarity index 99% rename from docs/build/html/notebook_massive_remnants.ipynb rename to docs/build/doctrees/nbsphinx/examples/notebook_massive_remnants.ipynb index f7586281e..6943c9d53 100644 --- a/docs/build/html/notebook_massive_remnants.ipynb +++ b/docs/build/doctrees/nbsphinx/examples/notebook_massive_remnants.ipynb @@ -7,7 +7,7 @@ "tags": [] }, "source": [ - "# Example use case: Zero-age stellar luminosity function\n", + "# 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", @@ -718,18 +718,26 @@ "metadata": {}, "source": [ "Things to try:\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)" + " * 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 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -743,7 +751,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.5" + "version": "3.6.4" } }, "nbformat": 4, diff --git a/docs/build/doctrees/nbsphinx/notebook_population.ipynb b/docs/build/doctrees/nbsphinx/examples/notebook_population.ipynb similarity index 100% rename from docs/build/doctrees/nbsphinx/notebook_population.ipynb rename to docs/build/doctrees/nbsphinx/examples/notebook_population.ipynb diff --git a/docs/build/doctrees/nbsphinx/notebook_solar_system.ipynb b/docs/build/doctrees/nbsphinx/examples/notebook_solar_system.ipynb similarity index 99% rename from docs/build/doctrees/nbsphinx/notebook_solar_system.ipynb rename to docs/build/doctrees/nbsphinx/examples/notebook_solar_system.ipynb index 67556a655..2b343a8f4 100644 --- a/docs/build/doctrees/nbsphinx/notebook_solar_system.ipynb +++ b/docs/build/doctrees/nbsphinx/examples/notebook_solar_system.ipynb @@ -3,9 +3,11 @@ { "cell_type": "markdown", "id": "ddc06da3-fc68-4c6f-8067-14ea862b964d", - "metadata": {}, + "metadata": { + "tags": [] + }, "source": [ - "## Solar system using the API functionality\n", + "## Example use case: Solar system using the API functionality\n", "We use the API interface to construct a model of the Solar system." ] }, @@ -304,7 +306,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -318,7 +320,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.5" + "version": "3.6.4" } }, "nbformat": 4, diff --git a/docs/build/doctrees/nbsphinx/examples/old/basic_example.ipynb b/docs/build/doctrees/nbsphinx/examples/old/basic_example.ipynb new file mode 100644 index 000000000..9078cfcb5 --- /dev/null +++ b/docs/build/doctrees/nbsphinx/examples/old/basic_example.ipynb @@ -0,0 +1,128 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "66ca8e31-7cbf-4484-bb6c-c9235e14bda2", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "import binarycpython\n", + "from binarycpython.utils.custom_logging_functions import binary_c_log_code\n", + "from binarycpython.utils.run_system_wrapper import run_system\n", + "from binarycpython.utils.functions import example_parse_output" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "31851c7f-4ccf-4b5a-9f74-8a3e06c6b2d8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "<AxesSubplot:xlabel='time'>" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 432x288 with 1 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# You can decide to `write` your own logging_line, which allows you to write a more complex logging statement with conditionals.\n", + "logging_line = 'Printf(\"MY_STELLAR_DATA time=%g radius=%g\\\\n\",stardata->model.time,stardata->star[0].radius)'\n", + "\n", + "# Generate entire shared lib code around logging lines\n", + "custom_logging_code = binary_c_log_code(logging_line, verbose=-1)\n", + "\n", + "# Run system. all arguments can be given as optional arguments. the custom_logging_code is \n", + "# one of them and will be processed automatically.\n", + "output = run_system(\n", + " M_1=1, metallicity=0.002, M_2=0.1, separation=0, orbital_period=100000000000, \\\n", + " custom_logging_code=custom_logging_code,\n", + ")\n", + "\n", + "df = pd.DataFrame.from_dict(example_parse_output(output, 'MY_STELLAR_DATA'), dtype=np.float64)\n", + "\n", + "df.plot('time', 'radius', logy=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "db0f3990-8680-4ea7-80d3-cdb430950c7f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "<AxesSubplot:xlabel='time'>" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 432x288 with 1 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "39509b1c-f5fb-4edd-847a-97757c2197df", + "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/old/workshop_example_notebook.ipynb b/docs/build/doctrees/nbsphinx/examples/old/workshop_example_notebook.ipynb new file mode 100644 index 000000000..4eca58797 --- /dev/null +++ b/docs/build/doctrees/nbsphinx/examples/old/workshop_example_notebook.ipynb @@ -0,0 +1,641 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "tags": [] + }, + "source": [ + "# Binary_c and python example notebook\n", + "The following notebook servers as an example of how the binary_c python wrapper works and how it could be used.\n", + "\n", + "By: David Hendriks 30 nov 2019" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [], + "source": [ + "import binarycpython\n", + "import binary_c_python_api" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": "false" + }, + "source": [ + "## Core api wrapper functions:" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": "false" + }, + "source": [ + "### run_binary()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n", + "Binary_c output:\n", + "\n", + "\n", + "example_header_1 time=0 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 0 15 14 1 1 3540.3 0\n", + "INITIAL_GRID 15 14 4530 0.02 1 0\n", + "example_header_1 time=0 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 0 15 14 1 1 3540.3 0\n", + "INITIAL_GRID 15 14 4530 0.02 1 0\n", + "example_header_1 time=1e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 1e-07 15 14 1 1 3540.3 0\n", + "example_header_1 time=2e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 2e-07 15 14 1 1 3540.3 0\n" + ] + } + ], + "source": [ + "m1 = 15.0 # Msun\n", + "m2 = 14.0 # Msun\n", + "separation = 0 # 0 = ignored, use period\n", + "orbital_period = 4530.0 # days\n", + "eccentricity = 0.0\n", + "metallicity = 0.02\n", + "max_evolution_time = 15000 # You need to set this!\n", + "\n", + "argstring = \"binary_c M_1 {0:g} M_2 {1:g} separation {2:g} orbital_period {3:g} eccentricity {4:g} metallicity {5:g} max_evolution_time {6:g} \".format(\n", + " m1,\n", + " m2,\n", + " separation,\n", + " orbital_period,\n", + " eccentricity,\n", + " metallicity,\n", + " max_evolution_time,\n", + ")\n", + "\n", + "output = binary_c_python_api.run_binary(argstring)\n", + "\n", + "print(\"\\n\\nBinary_c output:\\n\\n\")\n", + "print('\\n'.join(output.split('\\n')[:10]))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": "false" + }, + "source": [ + "### run_binary_with_log" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "True\n", + " TIME M1 M2 K1 K2 SEP ECC R1/ROL1 R2/ROL2 TYPE RANDOM_SEED=7106 RANDOM_COUNT=0\n", + " 0.0000 15.000 14.000 1 1 2.786e+08 0.00 0.000 0.000 INITIAL \n", + " 12.7509 14.645 13.776 2 1 2.8427e+08 0.00 0.000 0.000 TYPE_CHNGE\n", + " 12.7773 14.639 13.775 4 1 2.8435e+08 0.00 0.000 0.000 TYPE_CHNGE\n", + " 13.1380 13.748 13.758 4 1 2.9373e+08 0.00 0.000 0.000 q-inv\n", + " 14.0900 10.830 13.705 4 2 3.2934e+08 0.00 0.000 0.000 OFF_MS\n", + " 14.0900 10.830 13.705 4 2 3.2934e+08 0.00 0.000 0.000 TYPE_CHNGE\n", + " 14.1204 10.726 13.700 4 4 3.3081e+08 0.00 0.000 0.000 TYPE_CHNGE\n", + " 14.2118 10.410 13.566 5 4 3.3702e+08 0.00 0.000 0.000 TYPE_CHNGE\n", + " 14.2646 1.472 13.462 13 4 -31.236 -1.00 0.000 0.000 Randbuf=34421 - d48r(0)=0.0570946 - d48r(1)=0.458272 - d48r(2)=0.13108 - d48r(3)=0.562029 - d48r(4)=0.924056 \n", + " 14.2646 1.472 13.462 13 4 -31.236 -1.00 0.000 0.000 SN kick II (SN type 12 12, pre-explosion M=9.89211 Mc=4.78817 type=5) -> kick 1(190) vk=302.148 vr=0.113492 omega=5.80602 phi=0.124379 -> vn=302.048 ; final sep -31.2365 ecc -1 (random count 0) - Runaway v=(0,0,0) |v|=0 : companion v=(0,0,0), |v|=0 ; \n", + " 14.2646 1.472 13.462 13 4 -31.236 -1.00 0.000 0.000 TYPE_CHNGE\n", + " 14.2646 1.472 13.462 13 4 -31.236 -1.00 0.000 0.000 DISRUPT \n", + " 14.2646 1.472 13.462 13 4 -31.236 -1.00 0.000 0.000 SN\n", + " 15.7087 1.472 10.210 13 5 -31.236 -1.00 0.000 0.000 TYPE_CHNGE\n", + " 15.7695 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 d48r(5)=0.608402 - d48r(6)=0.696003 - d48r(7)=0.796455 - d48r(8)=0.0834973 \n", + " 15.7695 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 SN kick II (SN type 12 12, pre-explosion M=9.85661 Mc=4.3914 type=5) -> kick 1(190) vk=392.156 vr=0 omega=0.524629 phi=0.634667 -> vn=392.156 ; final sep -31.2365 ecc -1 (random count 5) - Runaway v=(0,0,0) |v|=0 : companion v=(0,0,0), |v|=0 ; \n", + " 15.7695 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 TYPE_CHNGE\n", + " 15.7695 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 q-inv\n", + " 15.7695 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 SN\n", + " 15000.0000 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 MAX_TIME\n", + "Probability : 1\n", + "\n" + ] + } + ], + "source": [ + "import tempfile\n", + "import os\n", + "\n", + "m1 = 15.0 # Msun\n", + "m2 = 14.0 # Msun\n", + "separation = 0 # 0 = ignored, use period\n", + "orbital_period = 4530.0 # days\n", + "eccentricity = 0.0\n", + "metallicity = 0.02\n", + "max_evolution_time = 15000 # You need to set this!\n", + "log_filename=tempfile.gettempdir() + \"/test_log.txt\"\n", + "\n", + "argstring = \"binary_c M_1 {0:g} M_2 {1:g} separation {2:g} orbital_period {3:g} eccentricity {4:g} metallicity {5:g} max_evolution_time {6:g} log_filename {7} \".format(\n", + " m1,\n", + " m2,\n", + " separation,\n", + " orbital_period,\n", + " eccentricity,\n", + " metallicity,\n", + " max_evolution_time,\n", + " log_filename,\n", + ")\n", + "\n", + "output = binary_c_python_api.run_binary(argstring)\n", + "\n", + "print(os.path.exists(log_filename))\n", + "\n", + "with open(log_filename, 'r') as f:\n", + " print(f.read())\n", + "\n", + "\n", + "# print(\"\\n\\nBinary_c output:\\n\\n\")\n", + "# print(output)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": "false" + }, + "source": [ + "### run binary with custom logging line" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "example_header_1 time=0 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 0 15 14 1 1 3540.3 0\n", + "INITIAL_GRID 15 14 4530 0.02 1 0\n", + "MY_STELLAR_DATA time=0 mass=15\n", + "example_header_1 time=0 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 0 15 14 1 1 3540.3 0\n", + "INITIAL_GRID 15 14 4530 0.02 1 0\n", + "MY_STELLAR_DATA time=0 mass=15\n", + "example_header_1 time=1e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 1e-07 15 14 1 1 3540.3 0\n", + "MY_STELLAR_DATA time=1e-07 mass=15\n", + "example_header_1 time=2e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 2e-07 15 14 1 1 3540.3 0\n", + "MY_STELLAR_DATA time=2e-07 mass=15\n", + "example_header_1 time=3e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 3e-07 15 14 1 1 3540.3 0\n", + "MY_STELLAR_DATA time=3e-07 mass=15\n", + "example_header_1 time=4e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 4e-07 15 14 1 1 3540.3 0\n", + "MY_STELLAR_DATA time=4e-07 mass=15\n" + ] + } + ], + "source": [ + "from binarycpython.utils import custom_logging_functions\n", + "# generate logging lines. Here you can choose whatever you want to have logged, and with what header\n", + "# this generates working print statements\n", + "logging_line = custom_logging_functions.autogen_C_logging_code(\n", + " {\"MY_STELLAR_DATA\": [\"model.time\", \"star[0].mass\"],}\n", + ")\n", + "# OR\n", + "# You can also decide to `write` your own logging_line, which allows you to write a more complex logging statement with conditionals.\n", + "logging_line = 'Printf(\"MY_STELLAR_DATA time=%g mass=%g\\\\n\", stardata->model.time, stardata->star[0].mass)'\n", + "\n", + "# Generate entire shared lib code around logging lines\n", + "custom_logging_code = custom_logging_functions.binary_c_log_code(logging_line)\n", + "# print(custom_logging_code)\n", + "\n", + "# Make this code into a shared library and the function into memory\n", + "func_memaddr = custom_logging_functions.create_and_load_logging_function(custom_logging_code)\n", + "\n", + "# Run system with custom logging code\n", + "m1 = 15.0 # Msun\n", + "m2 = 14.0 # Msun\n", + "separation = 0 # 0 = ignored, use period\n", + "orbital_period = 4530.0 # days\n", + "eccentricity = 0.0\n", + "metallicity = 0.02\n", + "max_evolution_time = 15000 # You need to set this!\n", + "\n", + "argstring = \"binary_c M_1 {0:g} M_2 {1:g} separation {2:g} orbital_period {3:g} eccentricity {4:g} metallicity {5:g} max_evolution_time {6:g} \".format(\n", + " m1,\n", + " m2,\n", + " separation,\n", + " orbital_period,\n", + " eccentricity,\n", + " metallicity,\n", + " max_evolution_time,\n", + ")\n", + "\n", + "output = binary_c_python_api.run_binary_custom_logging(argstring, func_memaddr)\n", + "print('\\n'.join(output.split('\\n')[:20]))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": "false" + }, + "source": [ + "## Using utils functions\n", + "In the utils.functions there are some functions that make it easier to interact with the core api functions. " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": "false" + }, + "source": [ + "### run_system()\n", + "This function serves as an example on the function run_system and parse_output. \n", + "There is more functionality with this method and several tasks are done behind the scene.\n", + "\n", + "Requires pandas, numpy to run.\n", + "\n", + "run_system: mostly just makes passing arguments to the function easier. It also loads all the necessary defaults in the background\n", + "parse_output: Takes the raw output of binary_c and selects those lines that start with the given header. \n", + "Note, if you dont use the custom_logging functionality binary_c should be configured to have output that starts with that given header\n", + "\n", + "The parsing of the output only works correctly if either all of the values are described inline like `mass=<number>' or none of them are. " + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "example_header_1 time=0 mass_1=10 mass_2=20 st1=1 st2=1 sep=2.81762e+08 ecc=0\n", + "example_header_2 0 10 20 1 1 2.81762e+08 0\n", + "INITIAL_GRID 10 20 1e+11 0.02 1 0\n", + "example_header_1 time=0 mass_1=10 mass_2=20 st1=1 st2=1 sep=2.81762e+08 ecc=0\n", + "example_header_2 0 10 20 1 1 2.81762e+08 0\n", + "INITIAL_GRID 10 20 1e+11 0.02 1 0\n", + "example_header_1 time=1e-07 mass_1=10 mass_2=20 st1=1 st2=1 sep=2.81762e+08 ecc=0\n", + "example_header_2 1e-07 10 20 1 1 2.81762e+08 0\n", + "example_header_1 time=2e-07 mass_1=10 mass_2=20 st1=1 st2=1 sep=2.81762e+08 ecc=0\n", + "example_header_2 2e-07 10 20 1 1 2.81762e+08 0\n", + "\n", + "\n", + "\n", + " time mass_1 mass_2 st1 st2 sep ecc\n", + "0 0.000000e+00 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "1 0.000000e+00 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "2 1.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "3 2.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "4 3.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "... ... ... ... ... ... ... ...\n", + "3927 1.102750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "3928 1.202750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "3929 1.302750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "3930 1.402750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "3931 1.500000e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "\n", + "[3932 rows x 7 columns]\n", + " time mass_1 mass_2 st1 st2 sep ecc\n", + "0 0.000000e+00 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "1 0.000000e+00 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "2 1.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "3 2.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "4 3.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "... ... ... ... ... ... ... ...\n", + "3927 1.102750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "3928 1.202750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "3929 1.302750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "3930 1.402750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "3931 1.500000e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "\n", + "[3932 rows x 7 columns]\n" + ] + } + ], + "source": [ + "from binarycpython.utils.functions import run_system, parse_output\n", + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "# Run system. all arguments can be given as optional arguments.\n", + "output = run_system(M_1=10, M_2=20, separation=0, orbital_period=100000000000)\n", + "\n", + "print('\\n'.join(output.split('\\n')[:10]))\n", + "\n", + "# Catch results that start with a given header. (Mind that binary_c has to be configured to print them if your not using a custom logging function)\n", + "result_example_header_1 = parse_output(output, selected_header=\"example_header_1\")\n", + "result_example_header_2 = parse_output(output, selected_header=\"example_header_2\")\n", + "\n", + "# print(result_example_header_1)\n", + "\n", + "#### Now do whatever you want with it:\n", + "# Or put them into a pandas array\n", + "\n", + "# Cast the data into a dataframe.\n", + "# This example automatically catches the column names because the binary_c output line is constructed as 'example_header_1 time=<number>..'\n", + "print('\\n\\n')\n", + "\n", + "df = pd.DataFrame.from_dict(result_example_header_1, dtype=np.float64)\n", + "print(df)\n", + "\n", + "# This example has column headers which are numbered, but we can override that with custom headers.\n", + "df2 = pd.DataFrame.from_dict(result_example_header_2, dtype=np.float64)\n", + "df2.columns=['time', 'mass_1', 'mass_2', 'st1', 'st2', 'sep', 'ecc']\n", + "print(df2)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": "false" + }, + "source": [ + "### run_system() and custom logging\n", + "Function that will use a automatically generated piece of logging code. Compile it, load it \n", + "into memory and run a binary system. See run_system on how several things are done in the background here.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " time mass\n", + "0 0.000000e+00 1.000000\n", + "1 0.000000e+00 1.000000\n", + "2 1.000000e-07 1.000000\n", + "3 2.000000e-07 1.000000\n", + "4 3.000000e-07 1.000000\n", + "... ... ...\n", + "3630 1.131680e+04 0.627748\n", + "3631 1.231680e+04 0.627748\n", + "3632 1.331680e+04 0.627748\n", + "3633 1.431680e+04 0.627748\n", + "3634 1.500000e+04 0.627748\n", + "\n", + "[3635 rows x 2 columns]\n" + ] + } + ], + "source": [ + "from binarycpython.utils.custom_logging_functions import (\n", + " autogen_C_logging_code,\n", + " binary_c_log_code,\n", + ")\n", + "\n", + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "# generate logging lines. Here you can choose whatever you want to have logged, and with what header\n", + "# this generates working print statements\n", + "logging_line = autogen_C_logging_code(\n", + " {\"MY_STELLAR_DATA\": [\"model.time\", \"star[0].mass\"],}\n", + ")\n", + "# OR\n", + "# You can also decide to `write` your own logging_line, which allows you to write a more complex logging statement with conditionals.\n", + "logging_line = 'Printf(\"MY_STELLAR_DATA time=%g mass=%g\\\\n\", stardata->model.time, stardata->star[0].mass)'\n", + "\n", + "# Generate entire shared lib code around logging lines\n", + "custom_logging_code = binary_c_log_code(logging_line)\n", + "\n", + "# Run system. all arguments can be given as optional arguments. the custom_logging_code is one of them and will be processed automatically.\n", + "output = run_system(\n", + " M_1=1,\n", + " metallicity=0.002,\n", + " M_2=0.1,\n", + " separation=0,\n", + " orbital_period=100000000000,\n", + " custom_logging_code=custom_logging_code,\n", + ")\n", + "\n", + "# Catch results that start with a given header. (Mind that binary_c has to be configured to print them if your not using a custom logging function)\n", + "# DOESNT WORK YET if you have the line autogenerated.\n", + "result_example_header = parse_output(output, \"MY_STELLAR_DATA\")\n", + "\n", + "# Cast the data into a dataframe.\n", + "df = pd.DataFrame.from_dict(result_example_header, dtype=np.float64)\n", + "\n", + "# Do whatever you like with the dataframe.\n", + "print(df)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": "false" + }, + "source": [ + "## Other example\n", + "Checking how much mass stars lose on the main sequence." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [], + "source": [ + "def run_and_calc_mass(**kwargs):\n", + " \"\"\"\n", + " Function to run a given system and look at the mass lost in the main sequence of the star\n", + " \"\"\"\n", + " # start = time.time()\n", + " output = run_system(**kwargs)\n", + " result = parse_output(output, 'example_header_1')\n", + " # stop = time.time()\n", + " # print(\"Took {:.2f}s to run single system\".format(stop-start))\n", + " # print(\"The following keys are present in the results:\\n{}\".format(result.keys()))\n", + " # print(len(result))\n", + "\n", + " #### Now do whatever you want with it: \n", + "\n", + " # Cast the data into a dataframe. \n", + " df = pd.DataFrame.from_dict(result, dtype=np.float64)\n", + "\n", + " # Get last change moment\n", + " last_st = df['st1'].unique()[-1]\n", + " last_stellar_type_change_time_1 = df[df.st1==last_st]['time'].iloc[0]\n", + "\n", + " # slice to get that last time\n", + " sliced_df = df[df.time < last_stellar_type_change_time_1] # Cut off late parts of evolution\n", + "\n", + " main_sequence = sliced_df[sliced_df.st1==1]\n", + " \n", + " initial_mass = main_sequence.iloc[0].mass_1\n", + " final_mass = main_sequence.iloc[-1].mass_1\n", + " \n", + " initial_time = main_sequence.iloc[0].time\n", + " final_time = main_sequence.iloc[-1].time\n", + " \n", + " mass_lost = initial_mass - final_mass\n", + " fraction = mass_lost/initial_mass\n", + "\n", + " # Return the mass fraction (wrt initial mass)\n", + " return fraction\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Took 14.214274644851685s\n" + ] + } + ], + "source": [ + "import time\n", + "\n", + "metallicity_002 = 0.02\n", + "metallicity_001 = 0.01\n", + "metallicity_0002 = 0.002\n", + "\n", + "mass_range = np.arange(1, 25, .5)\n", + "\n", + "start = time.time()\n", + "fractions_z002 = [run_and_calc_mass(M_1=mass, \n", + " M_2=10, \n", + " separation=0, \n", + " orbital_period=100000000000, \n", + " metallicity=metallicity_002, \n", + " effective_metallicity=metallicity_002) \n", + " for mass in mass_range]\n", + "\n", + "fractions_z001 = [run_and_calc_mass(M_1=mass, \n", + " M_2=10, \n", + " separation=0, \n", + " orbital_period=100000000000, \n", + " metallicity=metallicity_001, \n", + " effective_metallicity=metallicity_001) \n", + " for mass in mass_range]\n", + "\n", + "fractions_z0002 = [run_and_calc_mass(M_1=mass, \n", + " M_2=10, \n", + " separation=0, \n", + " orbital_period=100000000000, \n", + " metallicity=metallicity_0002, \n", + " effective_metallicity=metallicity_0002) \n", + " for mass in mass_range]\n", + "stop = time.time()\n", + "print(\"Took {}s\".format(stop-start))" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 864x576 with 1 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "fig, ax = plt.subplots(nrows=1, ncols=1, figsize=(12,8))\n", + "\n", + "ax.plot(mass_range, fractions_z002, '--', label='Z=0.02')\n", + "ax.plot(mass_range, fractions_z001, '-.', label='Z=0.01')\n", + "ax.plot(mass_range, fractions_z0002, '-', label='Z=0.002')\n", + "\n", + "ax.set_xlabel(r'Initial Mass ($M_{\\odot}$)', fontsize=18)\n", + "ax.set_ylabel(r'Fraction of total initial mass lost on main sequence', fontsize=18)\n", + "ax.set_title('Fraction of total initial mass lost during main sequence for different metallicities', fontsize=18)\n", + "ax.legend()\n", + "ax.set_yscale('log')\n", + "#save_loop(name='plots/mass_loss_MS.{format}', formats=['pdf', 'png', 'eps'], bbox_inches='tight')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "heading_collapsed": "false" + }, + "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": 4 +} diff --git a/docs/build/doctrees/nbsphinx/notebook_HRD_14_2.png b/docs/build/doctrees/nbsphinx/examples_notebook_HRD_14_2.png similarity index 100% rename from docs/build/doctrees/nbsphinx/notebook_HRD_14_2.png rename to docs/build/doctrees/nbsphinx/examples_notebook_HRD_14_2.png diff --git a/docs/build/doctrees/nbsphinx/notebook_HRD_19_2.png b/docs/build/doctrees/nbsphinx/examples_notebook_HRD_19_2.png similarity index 100% rename from docs/build/doctrees/nbsphinx/notebook_HRD_19_2.png rename to docs/build/doctrees/nbsphinx/examples_notebook_HRD_19_2.png diff --git a/docs/build/doctrees/nbsphinx/notebook_HRD_23_2.png b/docs/build/doctrees/nbsphinx/examples_notebook_HRD_23_2.png similarity index 100% rename from docs/build/doctrees/nbsphinx/notebook_HRD_23_2.png rename to docs/build/doctrees/nbsphinx/examples_notebook_HRD_23_2.png diff --git a/docs/build/doctrees/nbsphinx/notebook_HRD_26_2.png b/docs/build/doctrees/nbsphinx/examples_notebook_HRD_26_2.png similarity index 100% rename from docs/build/doctrees/nbsphinx/notebook_HRD_26_2.png rename to docs/build/doctrees/nbsphinx/examples_notebook_HRD_26_2.png diff --git a/docs/build/doctrees/nbsphinx/notebook_common_envelope_evolution_14_2.png b/docs/build/doctrees/nbsphinx/examples_notebook_common_envelope_evolution_14_2.png similarity index 100% rename from docs/build/doctrees/nbsphinx/notebook_common_envelope_evolution_14_2.png rename to docs/build/doctrees/nbsphinx/examples_notebook_common_envelope_evolution_14_2.png diff --git a/docs/build/doctrees/nbsphinx/notebook_luminosity_function_binaries_20_1.png b/docs/build/doctrees/nbsphinx/examples_notebook_luminosity_function_binaries_20_1.png similarity index 100% rename from docs/build/doctrees/nbsphinx/notebook_luminosity_function_binaries_20_1.png rename to docs/build/doctrees/nbsphinx/examples_notebook_luminosity_function_binaries_20_1.png diff --git a/docs/build/doctrees/nbsphinx/notebook_massive_remnants_20_1.png b/docs/build/doctrees/nbsphinx/examples_notebook_massive_remnants_20_1.png similarity index 100% rename from docs/build/doctrees/nbsphinx/notebook_massive_remnants_20_1.png rename to docs/build/doctrees/nbsphinx/examples_notebook_massive_remnants_20_1.png diff --git a/docs/build/doctrees/nbsphinx/notebook_massive_remnants_25_1.png b/docs/build/doctrees/nbsphinx/examples_notebook_massive_remnants_25_1.png similarity index 100% rename from docs/build/doctrees/nbsphinx/notebook_massive_remnants_25_1.png rename to docs/build/doctrees/nbsphinx/examples_notebook_massive_remnants_25_1.png diff --git a/docs/build/doctrees/nbsphinx/notebook_massive_remnants_33_0.png b/docs/build/doctrees/nbsphinx/examples_notebook_massive_remnants_33_0.png similarity index 100% rename from docs/build/doctrees/nbsphinx/notebook_massive_remnants_33_0.png rename to docs/build/doctrees/nbsphinx/examples_notebook_massive_remnants_33_0.png diff --git a/docs/build/doctrees/nbsphinx/notebook_solar_system_10_1.png b/docs/build/doctrees/nbsphinx/examples_notebook_solar_system_10_1.png similarity index 100% rename from docs/build/doctrees/nbsphinx/notebook_solar_system_10_1.png rename to docs/build/doctrees/nbsphinx/examples_notebook_solar_system_10_1.png diff --git a/docs/build/doctrees/nbsphinx/notebook_solar_system_8_1.png b/docs/build/doctrees/nbsphinx/examples_notebook_solar_system_8_1.png similarity index 100% rename from docs/build/doctrees/nbsphinx/notebook_solar_system_8_1.png rename to docs/build/doctrees/nbsphinx/examples_notebook_solar_system_8_1.png diff --git a/docs/build/doctrees/nbsphinx/examples_old_basic_example_1_1.png b/docs/build/doctrees/nbsphinx/examples_old_basic_example_1_1.png new file mode 100644 index 0000000000000000000000000000000000000000..d9259056e863de8ff7a6eaa0265455d798bee2fa GIT binary patch literal 7243 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 C;ShHK literal 0 HcmV?d00001 diff --git a/docs/build/doctrees/nbsphinx/examples_old_basic_example_2_1.png b/docs/build/doctrees/nbsphinx/examples_old_basic_example_2_1.png new file mode 100644 index 0000000000000000000000000000000000000000..d9259056e863de8ff7a6eaa0265455d798bee2fa GIT binary patch literal 7243 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 C;ShHK literal 0 HcmV?d00001 diff --git a/docs/build/doctrees/nbsphinx/examples_old_workshop_example_notebook_17_0.png b/docs/build/doctrees/nbsphinx/examples_old_workshop_example_notebook_17_0.png new file mode 100644 index 0000000000000000000000000000000000000000..1703e2f705aa3df1b418e1775a60777bf49f6315 GIT binary patch literal 39816 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 literal 0 HcmV?d00001 diff --git a/docs/build/html/_images/notebook_HRD_14_2.png b/docs/build/html/_images/examples_notebook_HRD_14_2.png similarity index 100% rename from docs/build/html/_images/notebook_HRD_14_2.png rename to docs/build/html/_images/examples_notebook_HRD_14_2.png diff --git a/docs/build/html/_images/notebook_HRD_19_2.png b/docs/build/html/_images/examples_notebook_HRD_19_2.png similarity index 100% rename from docs/build/html/_images/notebook_HRD_19_2.png rename to docs/build/html/_images/examples_notebook_HRD_19_2.png diff --git a/docs/build/html/_images/notebook_HRD_23_2.png b/docs/build/html/_images/examples_notebook_HRD_23_2.png similarity index 100% rename from docs/build/html/_images/notebook_HRD_23_2.png rename to docs/build/html/_images/examples_notebook_HRD_23_2.png diff --git a/docs/build/html/_images/notebook_HRD_26_2.png b/docs/build/html/_images/examples_notebook_HRD_26_2.png similarity index 100% rename from docs/build/html/_images/notebook_HRD_26_2.png rename to docs/build/html/_images/examples_notebook_HRD_26_2.png diff --git a/docs/build/html/_images/notebook_common_envelope_evolution_14_2.png b/docs/build/html/_images/examples_notebook_common_envelope_evolution_14_2.png similarity index 100% rename from docs/build/html/_images/notebook_common_envelope_evolution_14_2.png rename to docs/build/html/_images/examples_notebook_common_envelope_evolution_14_2.png diff --git a/docs/build/html/_images/notebook_luminosity_function_binaries_20_1.png b/docs/build/html/_images/examples_notebook_luminosity_function_binaries_20_1.png similarity index 100% rename from docs/build/html/_images/notebook_luminosity_function_binaries_20_1.png rename to docs/build/html/_images/examples_notebook_luminosity_function_binaries_20_1.png diff --git a/docs/build/html/_images/notebook_massive_remnants_20_1.png b/docs/build/html/_images/examples_notebook_massive_remnants_20_1.png similarity index 100% rename from docs/build/html/_images/notebook_massive_remnants_20_1.png rename to docs/build/html/_images/examples_notebook_massive_remnants_20_1.png diff --git a/docs/build/html/_images/notebook_massive_remnants_25_1.png b/docs/build/html/_images/examples_notebook_massive_remnants_25_1.png similarity index 100% rename from docs/build/html/_images/notebook_massive_remnants_25_1.png rename to docs/build/html/_images/examples_notebook_massive_remnants_25_1.png diff --git a/docs/build/html/_images/notebook_massive_remnants_33_0.png b/docs/build/html/_images/examples_notebook_massive_remnants_33_0.png similarity index 100% rename from docs/build/html/_images/notebook_massive_remnants_33_0.png rename to docs/build/html/_images/examples_notebook_massive_remnants_33_0.png diff --git a/docs/build/html/_images/notebook_solar_system_10_1.png b/docs/build/html/_images/examples_notebook_solar_system_10_1.png similarity index 100% rename from docs/build/html/_images/notebook_solar_system_10_1.png rename to docs/build/html/_images/examples_notebook_solar_system_10_1.png diff --git a/docs/build/html/_images/notebook_solar_system_8_1.png b/docs/build/html/_images/examples_notebook_solar_system_8_1.png similarity index 100% rename from docs/build/html/_images/notebook_solar_system_8_1.png rename to docs/build/html/_images/examples_notebook_solar_system_8_1.png diff --git a/docs/build/html/_images/examples_old_basic_example_1_1.png b/docs/build/html/_images/examples_old_basic_example_1_1.png new file mode 100644 index 0000000000000000000000000000000000000000..d9259056e863de8ff7a6eaa0265455d798bee2fa GIT binary patch literal 7243 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 C;ShHK literal 0 HcmV?d00001 diff --git a/docs/build/html/_images/examples_old_basic_example_2_1.png b/docs/build/html/_images/examples_old_basic_example_2_1.png new file mode 100644 index 0000000000000000000000000000000000000000..d9259056e863de8ff7a6eaa0265455d798bee2fa GIT binary patch literal 7243 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 C;ShHK literal 0 HcmV?d00001 diff --git a/docs/build/html/_images/examples_old_workshop_example_notebook_17_0.png b/docs/build/html/_images/examples_old_workshop_example_notebook_17_0.png new file mode 100644 index 0000000000000000000000000000000000000000..1703e2f705aa3df1b418e1775a60777bf49f6315 GIT binary patch literal 39816 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 literal 0 HcmV?d00001 diff --git a/docs/build/html/_images/test_coverage.svg b/docs/build/html/_images/test_coverage.svg index dfb99a19b..91a5e773d 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">67%</text> - <text x="80" y="14">67%</text> + <text x="80" y="15" fill="#010101" fill-opacity=".3">68%</text> + <text x="80" y="14">68%</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 dfaddbe93..e0dd382de 100644 --- a/docs/build/html/_modules/binarycpython/utils/custom_logging_functions.html +++ b/docs/build/html/_modules/binarycpython/utils/custom_logging_functions.html @@ -634,9 +634,9 @@ </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/_modules/binarycpython/utils/distribution_functions.html b/docs/build/html/_modules/binarycpython/utils/distribution_functions.html index 5aa84c3c3..aef4cc350 100644 --- a/docs/build/html/_modules/binarycpython/utils/distribution_functions.html +++ b/docs/build/html/_modules/binarycpython/utils/distribution_functions.html @@ -2596,9 +2596,9 @@ </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/_modules/binarycpython/utils/functions.html b/docs/build/html/_modules/binarycpython/utils/functions.html index 89efb0dbb..73fe01389 100644 --- a/docs/build/html/_modules/binarycpython/utils/functions.html +++ b/docs/build/html/_modules/binarycpython/utils/functions.html @@ -164,7 +164,6 @@ <span class="sd">"""</span> - <span class="kn">import</span> <span class="nn">bz2</span> <span class="kn">import</span> <span class="nn">collections</span> <span class="kn">from</span> <span class="nn">colorama</span> <span class="k">import</span> <span class="n">Fore</span><span class="p">,</span> <span class="n">Back</span><span class="p">,</span> <span class="n">Style</span> @@ -200,11 +199,7 @@ <span class="kn">import</span> <span class="nn">binarycpython.utils.moe_di_stefano_2017_data</span> <span class="k">as</span> <span class="nn">moe_di_stefano_2017_data</span> <span class="kn">from</span> <span class="nn">binarycpython</span> <span class="k">import</span> <span class="n">_binary_c_bindings</span> -<span class="kn">from</span> <span class="nn">binarycpython.utils.dicts</span> <span class="k">import</span> <span class="p">(</span> - <span class="n">filter_dict</span><span class="p">,</span> - <span class="n">filter_dict_through_values</span> -<span class="p">)</span> - +<span class="kn">from</span> <span class="nn">binarycpython.utils.dicts</span> <span class="k">import</span> <span class="n">filter_dict</span><span class="p">,</span> <span class="n">filter_dict_through_values</span> <span class="c1">########################################################</span> @@ -1680,9 +1675,9 @@ </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/_modules/binarycpython/utils/grid.html b/docs/build/html/_modules/binarycpython/utils/grid.html index a12aa22a5..7d3663c1b 100644 --- a/docs/build/html/_modules/binarycpython/utils/grid.html +++ b/docs/build/html/_modules/binarycpython/utils/grid.html @@ -201,7 +201,7 @@ <span class="kn">from</span> <span class="nn">collections</span> <span class="k">import</span> <span class="p">(</span> <span class="n">OrderedDict</span><span class="p">,</span> <span class="p">)</span> -<span class="kn">from</span> <span class="nn">collections.abc</span> <span class="k">import</span> <span class="n">Iterable</span> <span class="c1"># drop `.abc` with Python 2.7 or lower</span> +<span class="kn">from</span> <span class="nn">collections.abc</span> <span class="k">import</span> <span class="n">Iterable</span> <span class="c1"># drop `.abc` with Python 2.7 or lower</span> <span class="kn">import</span> <span class="nn">setproctitle</span> <span class="kn">import</span> <span class="nn">py_rinterpolate</span> @@ -1358,13 +1358,15 @@ <span class="c1"># Setup of the generator</span> <span class="c1"># Check again if we use custom generator or not:</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">"evolution_type"</span><span class="p">]</span> <span class="o">==</span> <span class="s2">"custom_generator"</span><span class="p">:</span> - <span class="n">generator</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s1">'custom_generator'</span><span class="p">]</span> + <span class="n">generator</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">"custom_generator"</span><span class="p">]</span> <span class="k">else</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">_generate_grid_code</span><span class="p">(</span><span class="n">dry_run</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span> <span class="bp">self</span><span class="o">.</span><span class="n">_load_grid_function</span><span class="p">()</span> - <span class="n">generator</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">"_system_generator"</span><span class="p">](</span><span class="bp">self</span><span class="p">,</span> <span class="n">print_results</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span> + <span class="n">generator</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">"_system_generator"</span><span class="p">](</span> + <span class="bp">self</span><span class="p">,</span> <span class="n">print_results</span><span class="o">=</span><span class="kc">False</span> + <span class="p">)</span> <span class="c1"># TODO: build in method to handle with the HPC.</span> <span class="c1"># Continuously fill the queue</span> @@ -1812,7 +1814,7 @@ <span class="c1"># Check option to ignore 0 probability systems</span> <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">"run_zero_probability_system"</span><span class="p">]:</span> - <span class="k">if</span> <span class="n">full_system_dict</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'probability'</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> + <span class="k">if</span> <span class="n">full_system_dict</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"probability"</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> <span class="n">run_system</span> <span class="o">=</span> <span class="kc">False</span> <span class="n">zero_prob_stars_skipped</span> <span class="o">+=</span> <span class="mi">1</span> @@ -1930,7 +1932,7 @@ <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">"verbosity"</span><span class="p">],</span> <span class="mi">1</span><span class="p">,</span> <span class="p">)</span> - + <span class="n">ensemble_output</span> <span class="o">=</span> <span class="n">extract_ensemble_json_from_string</span><span class="p">(</span><span class="n">ensemble_raw_output</span><span class="p">)</span> <span class="n">ensemble_output</span> <span class="o">=</span> <span class="n">extract_ensemble_json_from_string</span><span class="p">(</span><span class="n">ensemble_raw_output</span><span class="p">)</span> @@ -2265,8 +2267,12 @@ <span class="c1"># user-provided custom generator</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">"evolution_type"</span><span class="p">]</span> <span class="o">==</span> <span class="s2">"custom_generator"</span><span class="p">:</span> - <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s1">'custom_generator'</span><span class="p">],</span> <span class="n">Iterable</span><span class="p">):</span> - <span class="nb">print</span><span class="p">(</span><span class="s2">"Error. provided no or wrong custom value for the system generator (custom_generator: </span><span class="si">{}</span><span class="s2">)"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s1">'custom_generator'</span><span class="p">]))</span> + <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">"custom_generator"</span><span class="p">],</span> <span class="n">Iterable</span><span class="p">):</span> + <span class="nb">print</span><span class="p">(</span> + <span class="s2">"Error. provided no or wrong custom value for the system generator (custom_generator: </span><span class="si">{}</span><span class="s2">)"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span> + <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">"custom_generator"</span><span class="p">]</span> + <span class="p">)</span> + <span class="p">)</span> <span class="k">raise</span> <span class="ne">ValueError</span> <span class="c1"># NOTE: In the part above i apparently have moved the load grid function call to another part. Now i wonder if that was useful, because it would be best if that is handled in this function</span> @@ -4878,7 +4884,7 @@ <span class="sd"> Makes use of the self.bse_options['multiplicity'] value. If its not set, it will raise an error</span> <span class="sd"> grid_options['multiplicity_fraction_function'] will be checked for the choice</span> -<span class="sd"> </span> + <span class="sd"> TODO: add option to put a manual binary fraction in here (solve via negative numbers being the functions)</span> <span class="sd"> """</span> @@ -4977,7 +4983,9 @@ <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span> <span class="c1"># To make sure we normalize the dictionary</span> - <span class="n">multiplicity_fraction_dict</span> <span class="o">=</span> <span class="n">normalize_dict</span><span class="p">(</span><span class="n">multiplicity_fraction_dict</span><span class="p">,</span> <span class="n">verbosity</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">"verbosity"</span><span class="p">])</span> + <span class="n">multiplicity_fraction_dict</span> <span class="o">=</span> <span class="n">normalize_dict</span><span class="p">(</span> + <span class="n">multiplicity_fraction_dict</span><span class="p">,</span> <span class="n">verbosity</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">"verbosity"</span><span class="p">]</span> + <span class="p">)</span> <span class="n">verbose_print</span><span class="p">(</span> <span class="s2">"Multiplicity: </span><span class="si">{}</span><span class="s2"> multiplicity_fraction: </span><span class="si">{}</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span> @@ -5136,9 +5144,9 @@ </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/_modules/binarycpython/utils/grid_options_defaults.html b/docs/build/html/_modules/binarycpython/utils/grid_options_defaults.html index d88456733..2ac73ab6a 100644 --- a/docs/build/html/_modules/binarycpython/utils/grid_options_defaults.html +++ b/docs/build/html/_modules/binarycpython/utils/grid_options_defaults.html @@ -197,9 +197,9 @@ <span class="s2">"max_queue_size"</span><span class="p">:</span> <span class="mi">1000</span><span class="p">,</span> <span class="c1"># Maximum size of the system call queue.</span> <span class="s2">"run_zero_probability_system"</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="c1"># Whether to run the zero probability systems</span> <span class="s2">"_zero_prob_stars_skipped"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> - <span class="s2">"ensemble_factor_in_probability_weighted_mass"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="c1"># Whether to multiply the ensemble results by 1/probability_weighted_mass</span> - <span class="s2">"do_dry_run"</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="c1"># Whether to do a dry run to calculate the total probability for this run</span> - <span class="s2">"custom_generator"</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span> <span class="c1"># Place for the custom system generator</span> + <span class="s2">"ensemble_factor_in_probability_weighted_mass"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="c1"># Whether to multiply the ensemble results by 1/probability_weighted_mass</span> + <span class="s2">"do_dry_run"</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="c1"># Whether to do a dry run to calculate the total probability for this run</span> + <span class="s2">"custom_generator"</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span> <span class="c1"># Place for the custom system generator</span> <span class="s2">"exit_after_dry_run"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="c1"># Exit after dry run?</span> <span class="c1">##########################</span> <span class="c1"># Execution log:</span> @@ -229,7 +229,7 @@ <span class="s2">"_loaded_Moe2017_data"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="c1"># Holds flag whether the Moe and di Stefano (2017) data is loaded into memory</span> <span class="s2">"_set_Moe2017_grid"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="c1"># Whether the Moe and di Stefano (2017) grid has been loaded</span> <span class="s2">"Moe2017_options"</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span> <span class="c1"># Holds the Moe and di Stefano (2017) options.</span> - <span class="s2">"_Moe2017_JSON_data"</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span> <span class="c1"># Stores the data</span> + <span class="s2">"_Moe2017_JSON_data"</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span> <span class="c1"># Stores the data</span> <span class="c1">##########################</span> <span class="c1"># Custom logging</span> <span class="c1">##########################</span> @@ -255,7 +255,7 @@ <span class="c1">## General</span> <span class="s2">"evolution_type"</span><span class="p">:</span> <span class="s2">"grid"</span><span class="p">,</span> <span class="c1"># Flag for type of population evolution</span> <span class="s2">"_evolution_type_options"</span><span class="p">:</span> <span class="p">[</span> - <span class="s2">"grid"</span><span class="p">,</span> + <span class="s2">"grid"</span><span class="p">,</span> <span class="s2">"custom_generator"</span><span class="p">,</span> <span class="p">],</span> <span class="c1"># available choices for type of population evolution. # TODO: fill later with Monte Carlo, source file</span> <span class="s2">"_system_generator"</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span> <span class="c1"># value that holds the function that generates the system</span> @@ -659,7 +659,7 @@ <span class="s2">"m&s_options"</span><span class="p">:</span> <span class="s2">"Internal variable that holds the Moe and di Stefano (2017) options. Don't write to this your self"</span><span class="p">,</span> <span class="s2">"_loaded_Moe2017_data"</span><span class="p">:</span> <span class="s2">"Internal variable storing whether the Moe and di Stefano (2017) data has been loaded into memory"</span><span class="p">,</span> <span class="s2">"do_dry_run"</span><span class="p">:</span> <span class="s2">"Whether to do a dry run to calculate the total probability for this run"</span><span class="p">,</span> - <span class="s2">"_Moe2017_JSON_data"</span><span class="p">:</span> <span class="s2">"Location to store the loaded Moe&diStefano2017 dataset"</span><span class="p">,</span> <span class="c1"># Stores the data</span> + <span class="s2">"_Moe2017_JSON_data"</span><span class="p">:</span> <span class="s2">"Location to store the loaded Moe&diStefano2017 dataset"</span><span class="p">,</span> <span class="c1"># Stores the data</span> <span class="p">}</span> <span class="c1">###</span> @@ -1021,9 +1021,9 @@ </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">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 8ecb06459..9a5841884 100644 --- a/docs/build/html/_modules/binarycpython/utils/plot_functions.html +++ b/docs/build/html/_modules/binarycpython/utils/plot_functions.html @@ -820,9 +820,9 @@ </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">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 9075c7b57..db1c5aa30 100644 --- a/docs/build/html/_modules/binarycpython/utils/run_system_wrapper.html +++ b/docs/build/html/_modules/binarycpython/utils/run_system_wrapper.html @@ -289,9 +289,9 @@ </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/_modules/binarycpython/utils/spacing_functions.html b/docs/build/html/_modules/binarycpython/utils/spacing_functions.html index d33ccf7ee..27e39b437 100644 --- a/docs/build/html/_modules/binarycpython/utils/spacing_functions.html +++ b/docs/build/html/_modules/binarycpython/utils/spacing_functions.html @@ -570,9 +570,9 @@ </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">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 4116eec32..dfb4d2bcd 100644 --- a/docs/build/html/_modules/binarycpython/utils/useful_funcs.html +++ b/docs/build/html/_modules/binarycpython/utils/useful_funcs.html @@ -555,9 +555,9 @@ </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/_modules/index.html b/docs/build/html/_modules/index.html index 1123fe576..6ca1833da 100644 --- a/docs/build/html/_modules/index.html +++ b/docs/build/html/_modules/index.html @@ -178,9 +178,9 @@ </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/_sources/binary_c_parameters.rst.txt b/docs/build/html/_sources/binary_c_parameters.rst.txt index 970cbf83f..500c35865 100644 --- a/docs/build/html/_sources/binary_c_parameters.rst.txt +++ b/docs/build/html/_sources/binary_c_parameters.rst.txt @@ -4,7 +4,7 @@ The following chapter contains all the parameters that the current version of bi This information was obtained by the following binary_c build: - **binary_c git branch**: branch_david **binary_c git revision**: 5702:20211101:3715a4ab9 **Built on**: Nov 1 2021 13:50:56 + **binary_c git branch**: HEAD **binary_c git revision**: 5747:20211102:404ce27a0 **Built on**: Nov 2 2021 22:56:15 Section: stars @@ -473,25 +473,6 @@ Section: stars | **Default value**: 0 | **Macros**: ['BH_HURLEY2002 = 0', 'BH_BELCZYNSKI = 1', 'BH_SPERA2015 = 2', 'BH_FRYER12_DELAYED = 3', 'BH_FRYER12_RAPID = 4', 'BH_FRYER12_STARTRACK = 5'] -| **Parameter**: PPISN_prescription -| **Description**: (Pulsational) Pair-Instability Supernova prescription: Relates initial helium core mass of star to whether the star undergoes PPISN or PISN. Requires PPISN flag to be True (see binary_c_parameters.h). 0=no ppisn, 1=Farmer et al 2019. 2=Hendriks et al 21 (in prep), which is different fit based on the same data as Farmer et al 2019 -| **Parameter input type**: Integer -| **Default value**: 1 -| **Macros**: ['PPISN_NONE = 0', 'PPISN_FARMER19 = 1', 'PPISN_NEW_FIT_21 = 2'] -| **Extra**: Ignore - -| **Parameter**: PPISN_additional_massloss -| **Description**: (Pulsational) Pair-Instability Supernova additional massloss (on top of the result of the prescription). Value currently is not required to be positive -| **Parameter input type**: Float -| **Default value**: 0 -| **Extra**: Ignore - -| **Parameter**: use_LWN_fallback -| **Description**: Flag whether to use the Nazehdin-Lovegrove-Woosley hydrogen envelope ejection at failed supernova. -| **Parameter input type**: Integer -| **Default value**: 1 -| **Extra**: Ignore - | **Parameter**: sn_kick_distribution_II | **Description**: Set the distribution of speeds applied to kick type II core collapse supernova systems. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). | **Parameter input type**: Integer @@ -519,7 +500,7 @@ Section: stars | **Parameter**: sn_kick_distribution_GRB_COLLAPSAR | **Description**: Set the distribution of speeds applied to kick newly-born neutron stars and black holes after a type Ib/c core-collapse supernova which is also a collapsar. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). | **Parameter input type**: Integer -| **Default value**: 0 +| **Default value**: 1 | **Macros**: ['KICK_VELOCITY_FIXED = 0', 'KICK_VELOCITY_MAXWELLIAN = 1', 'KICK_VELOCITY_CUSTOM = 2'] | **Parameter**: sn_kick_distribution_TZ @@ -558,24 +539,6 @@ Section: stars | **Default value**: 0 | **Macros**: ['KICK_VELOCITY_FIXED = 0', 'KICK_VELOCITY_MAXWELLIAN = 1', 'KICK_VELOCITY_CUSTOM = 2'] -| **Parameter**: sn_kick_distribution_PPISN -| **Description**: Set the distribution of speeds applied to PPISN supernovae. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). -| **Parameter input type**: Integer -| **Default value**: 1 -| **Macros**: ['KICK_VELOCITY_FIXED = 0', 'KICK_VELOCITY_MAXWELLIAN = 1', 'KICK_VELOCITY_CUSTOM = 2'] - -| **Parameter**: sn_kick_distribution_PISN -| **Description**: Set the distribution of speeds applied to PISN supernovae. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). -| **Parameter input type**: Integer -| **Default value**: 0 -| **Macros**: ['KICK_VELOCITY_FIXED = 0', 'KICK_VELOCITY_MAXWELLIAN = 1', 'KICK_VELOCITY_CUSTOM = 2'] - -| **Parameter**: sn_kick_distribution_PHDIS -| **Description**: Set the distribution of speeds applied to PHDIS supernovae. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). -| **Parameter input type**: Integer -| **Default value**: 0 -| **Macros**: ['KICK_VELOCITY_FIXED = 0', 'KICK_VELOCITY_MAXWELLIAN = 1', 'KICK_VELOCITY_CUSTOM = 2'] - | **Parameter**: sn_kick_dispersion_II | **Description**: Set the dispersion of speeds applied to kick type II core collapse supernova systems. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). | **Parameter input type**: Float @@ -599,7 +562,7 @@ Section: stars | **Parameter**: sn_kick_dispersion_GRB_COLLAPSAR | **Description**: Set the dispersion of speeds applied to kick newly-born neutron stars and black holes after a type Ib/c core-collapse supernova which is also a collapsar. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). | **Parameter input type**: Float -| **Default value**: 0 +| **Default value**: 190 | **Parameter**: sn_kick_dispersion_TZ | **Description**: Set the dispersion of speeds applied to kick newly-born neutron stars and black holes at the death of a Thorne-Zytkow object. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). @@ -631,21 +594,6 @@ Section: stars | **Parameter input type**: Float | **Default value**: 0 -| **Parameter**: sn_kick_dispersion_PPISN -| **Description**: Set the dispersion of speeds applied to the survivor of a PPISN supernova. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). -| **Parameter input type**: Float -| **Default value**: 190 - -| **Parameter**: sn_kick_dispersion_PISN -| **Description**: Set the dispersion of speeds applied to the survivor of a PISN supernova. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). -| **Parameter input type**: Float -| **Default value**: 0 - -| **Parameter**: sn_kick_dispersion_PHDIS -| **Description**: Set the dispersion of speeds applied to the survivor of a PHDIS supernova. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). -| **Parameter input type**: Float -| **Default value**: 0 - | **Parameter**: sn_kick_companion_IA_He | **Description**: Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a Ia He supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. | **Parameter input type**: Float @@ -766,24 +714,6 @@ Section: stars | **Default value**: 0 | **Macros**: ['SN_IMPULSE_NONE = 0', 'SN_IMPULSE_LIU2015 = 1', 'SN_IMPULSE_WHEELER1975 = 2'] -| **Parameter**: sn_kick_companion_PPISN -| **Description**: Set the speed (if >=0) of, or the algothim (if <0) used to calculate the kick on the companion, if it survives, in a PPISN supernova. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. -| **Parameter input type**: Float -| **Default value**: 0 -| **Macros**: ['SN_IMPULSE_NONE = 0', 'SN_IMPULSE_LIU2015 = 1', 'SN_IMPULSE_WHEELER1975 = 2'] - -| **Parameter**: sn_kick_companion_PISN -| **Description**: Set the speed (if >=0) of, or the algothim (if <0) used to calculate the kick on the companion, if it survives, in a PISN supernova. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. -| **Parameter input type**: Float -| **Default value**: 0 -| **Macros**: ['SN_IMPULSE_NONE = 0', 'SN_IMPULSE_LIU2015 = 1', 'SN_IMPULSE_WHEELER1975 = 2'] - -| **Parameter**: sn_kick_companion_PHDIS -| **Description**: Set the speed (if >=0) of, or the algothim (if <0) used to calculate the kick on the companion, if it survives, in a PHDIS supernova. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. -| **Parameter input type**: Float -| **Default value**: 0 -| **Macros**: ['SN_IMPULSE_NONE = 0', 'SN_IMPULSE_LIU2015 = 1', 'SN_IMPULSE_WHEELER1975 = 2'] - | **Parameter**: wd_sigma | **Description**: Set the speed at which white dwarfs are kicked when they form, in km/s. Default is zero (i.e. no kick). Requires WD_KICKS. | **Parameter input type**: Float @@ -844,22 +774,22 @@ Section: stars | **Parameter**: delta_mcmin | **Description**: A parameter to reduce the minimum core mass for third dredge up to occur on the TPAGB. As used by Izzard and Tout (2004) to increase the amount of dredge up, hence carbon, in Magellanic cloud stars. | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: 0 | **Parameter**: lambda_min | **Description**: A parameter to increase the efficiency of third dredge up on the TPAGB. The efficiency is lambda * lambda_mult, and setting lambda_min>0 implies that, once Mc>Mcmin (see delta_mcmin) lambda=Max(lambda(fit to Karakas), lambda_min). As used by Izzard and Tout (2004) to increase the amount of dredge up, hence carbon, in Magellanic cloud stars. See also lambda_multiplier. | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: 0 | **Parameter**: lambda_multiplier | **Description**: A parameter to increase the efficiency of third dredge up on the TPAGB. The efficiency is lambda * lambda_mult, and setting lambda_min>0 implies that, once Mc>Mcmin (see delta_mcmin) lambda=Max(lambda(fit to Karakas), lambda_min). As used by Izzard and Tout (2004) to increase the amount of dredge up, hence carbon, in Magellanic cloud stars. | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: 1 | **Parameter**: minimum_envelope_mass_for_third_dredgeup | **Description**: The minimum envelope mass for third dredge up on the TPAGB. Early, solar metallicity models by Straniero et al suggested 0.5Msun is typical. However, circumstantial evidence (Izzard et al 2009) as well as newer models by Stancliffe and Karakas suggest that at low metallicity a value nearer zero is more appropriate. | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: 0.5 | **Parameter**: mass_of_pmz | **Description**: The mass in the partial mixing zone of a TPAGB star, using the Karakas 2012 tables. Ask Carlo Abate for more details, or see the series of papers Abate et al 2012, 2013, 2014. Requires NUCSYN and USE_TABULAR_INTERSHELL_ABUNDANCES_KARAKAS_2012. @@ -869,12 +799,12 @@ Section: stars | **Parameter**: c13_eff | **Description**: The "efficiency" of partial mixing in a TPAGB star intershell region, when using the s-process tables of Gallino, Busso, Lugaro et al. as provided by Maria Lugaro for the Izzard et al. 2009 paper. Requires NUCSYN and NUCSYN_S_PROCESS. | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: 1 | **Parameter**: mc13_pocket_multiplier | **Description**: Multiplies the mass in the partial mixing zone of a TPAGB star, when using the s-process tables of Gallino, Busso, Lugaro et al. as provided by Maria Lugaro for the Izzard et al. 2009 paper. Requires NUCSYN and NUCSYN_S_PROCESS. | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: 1 | **Parameter**: tides_convective_damping | **Description**: Tidal convective damping algorithm. 0=TIDES_HURLEY2002 Zahn 197x timescales + Hut, as in Hurley et al (2002), 1 = TIDES_ZAHN1989: Zahn 1989 lambdas + Hut. @@ -896,7 +826,7 @@ Section: stars | **Parameter**: hbbtfac | **Description**: A parameter to modulate the temperature at the base of the hot-bottom burning zone in TPAGB stars. (Works only if NUCSYN is defined) | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: 1 | **Parameter**: wind_multiplier_%d | **Description**: Wind multiplier for the stellar type specified by the intger %d. By default these are all 1.0. @@ -968,7 +898,7 @@ Section: stars | **Parameter**: MINT_metallicity | **Description**: This sets the metallicity for MINT. It is ignored if set to -1.0, the default, in which case the normal metallicity parameter is used. | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: -1 | **Parameter**: gaia_Teff_binwidth | **Description**: log10(Effective temperature) bin width used to make Gaia-like HRDs @@ -995,25 +925,25 @@ Section: stars | **Parameter**: AGB_core_algorithm | **Description**: Algorithm to use for calculating AGB core masses. 0=Hurley et al. 2002 if no NUCSYN, Karakas 2002 if NUCSYN is defined; 1=Hurley et al. 2002 (overshooting models); 1=Karakas 2002 (non-overshooting models). | **Parameter input type**: Integer -| **Default value**: 1 +| **Default value**: 2 | **Macros**: ['AGB_CORE_ALGORITHM_DEFAULT = 0', 'AGB_CORE_ALGORITHM_HURLEY = 1', 'AGB_CORE_ALGORITHM_KARAKAS = 2'] | **Parameter**: AGB_radius_algorithm | **Description**: Algorithm to use for calculating radii on the TPAGB. | **Parameter input type**: Integer -| **Default value**: 1 +| **Default value**: 2 | **Macros**: ['AGB_RADIUS_ALGORITHM_DEFAULT = 0', 'AGB_RADIUS_ALGORITHM_HURLEY = 1', 'AGB_RADIUS_ALGORITHM_KARAKAS = 2'] | **Parameter**: AGB_luminosity_algorithm | **Description**: Algorithm to use for calculating luminosities on the TPAGB. | **Parameter input type**: Integer -| **Default value**: 1 +| **Default value**: 2 | **Macros**: ['AGB_LUMINOSITY_ALGORITHM_DEFAULT = 0', 'AGB_LUMINOSITY_ALGORITHM_HURLEY = 1', 'AGB_LUMINOSITY_ALGORITHM_KARAKAS = 2'] | **Parameter**: AGB_3dup_algorithm | **Description**: Algorithm to use for calculating third dredge up efficiency on the TPAGB. | **Parameter input type**: Integer -| **Default value**: 1 +| **Default value**: 2 | **Macros**: ['AGB_THIRD_DREDGE_UP_ALGORITHM_DEFAULT = 0', 'AGB_THIRD_DREDGE_UP_ALGORITHM_HURLEY = 1', 'AGB_THIRD_DREDGE_UP_ALGORITHM_KARAKAS = 2', 'AGB_THIRD_DREDGE_UP_ALGORITHM_STANCLIFFE = 3'] | **Parameter**: overspin_algorithm @@ -1153,6 +1083,21 @@ Section: stars | **Parameter input type**: True|False | **Default value**: False +| **Parameter**: degenerate_core_merger_nucsyn +| **Description**: If TRUE, assume that in a degnerate core merger, energy is generated from nucleosynthesis of the whole core, and that this can disrupt the core. The BSE algorithm (Hurley et al. 2002) assumes this to be TRUE, but binary_c assumes FALSE by default. (FALSE) +| **Parameter input type**: True|False +| **Default value**: False + +| **Parameter**: degenerate_core_helium_merger_ignition +| **Description**: If TRUE, assume that when there is a degenerate helium core merger, the star reignites helium. This is required to make R-type carbon stars. (TRUE) +| **Parameter input type**: True|False +| **Default value**: True + +| **Parameter**: degenerate_core_merger_dredgeup_fraction +| **Description**: If non-zero, mix this fraction of the degenerate core during a merger.(0.0). +| **Parameter input type**: Float +| **Default value**: 0 + Section: binary --------------- @@ -1325,7 +1270,7 @@ Section: binary | **Parameter**: post_ce_objects_have_envelopes | **Description**: If TRUE then post-common-envelope objects have thin envelopes. You need this if you are to have post-CE post-AGB stars. Note that this *may* be unstable, i.e. you may end up having many CEEs. The mass in the envelope is controlled by post_ce_adaptive_menv. TRUE by default. | **Parameter input type**: True|False -| **Default value**: True +| **Default value**: False | **Parameter**: PN_comenv_transition_time | **Description**: post-common envelope transition time in years (1e2). This is the time taken to move from CEE ejection to Teff > 30e4 K. Hall et al. (2013) suggest ~100 years. @@ -1495,18 +1440,20 @@ Section: binary | **Parameter**: type_Ia_MCh_supernova_algorithm | **Description**: Algorithm to be used when calculating type Ia yields from Chandrasekhar-mass exploders. 0 = DD7 (Iwamoto 1999), 1 = Seitenzahl 2013 3D hydro yields (you must also set Seitenzahl2013_model) | **Parameter input type**: Integer -| **Default value**: NULL +| **Default value**: 0 +| **Macros**: ['TYPE_IA_MCH_SUPERNOVA_ALGORITHM_DD2 = 0', 'TYPE_IA_MCH_SUPERNOVA_ALGORITHM_SEITENZAHL2013 = 1', 'TYPE_IA_MCH_SUPERNOVA_ALGORITHM_SEITENZAHL2013_AUTOMATIC = 2'] | **Parameter**: Seitenzahl2013_model | **Description**: Which of Seitenzahl et al. 2013's models to use? One of N1,N3,N5,N10,N20,N40,N100L,N100,N100H,N150,N200,N300C,N1600,N1600C,N100_Z0.5,N100_Z0.1,N100_Z0.01 (defaults to N100). | **Parameter input type**: String -| **Default value**: NULL +| **Default value**: N100 | **Extra**: N1 | **Parameter**: type_Ia_sub_MCh_supernova_algorithm | **Description**: Algorithm to be used when calculating type Ia yields from sub-Chandrasekhar-mass exploders. (Currently unused.) | **Parameter input type**: Integer -| **Default value**: NULL +| **Default value**: 0 +| **Macros**: ['TYPE_IA_SUB_MCH_SUPERNOVA_ALGORITHM_LIVNE_ARNETT_1995 = 0'] | **Parameter**: max_HeWD_mass | **Description**: The maximum mass a HeWD can have before it ignites helium (0.7). @@ -2147,7 +2094,7 @@ Section: nucsyn | **Parameter**: NeNaMgAl | **Description**: Enables NeNaMgAl reaction network. Requires NUCSYN and NUCSYN_HBB. | **Parameter input type**: True|False -| **Default value**: NULL +| **Default value**: True | **Extra**: Ignore | **Parameter**: nucsyn_network%d @@ -2168,19 +2115,21 @@ Section: nucsyn | **Parameter**: nucsyn_metallicity | **Description**: This sets the metallicity of the nucleosynthesis algorithms, i.e. the amount (by mass) of matter which is not hydrogen or helium. Usually you'd just set this with the metallicity parameter, but if you want the nucleosynthesis to be outside the range of the stellar evolution algorithm (e.g. Z=0 or Z=0.04) then you need to use nucsyn_metallicity. That said, it's also outside the range of some of the nucleosynthesis algorithms as well, so you have been warned! | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: -1 | **Macros**: ['DEFAULT_TO_METALLICITY = -1'] | **Parameter**: nucsyn_solver | **Description**: Choose the solver used in nuclear burning. 0 = KAPS_RENTROP is a Kaps-Rentrop scheme (fast, not great for stiff problems), 1 = LSODA (Adams/BSF switcher), 2 = CVODE library (https://computing.llnl.gov/projects/sundials. Default 0. | **Parameter input type**: Unsigned integer -| **Default value**: NULL +| **Default value**: 0 +| **Macros**: ['NUCSYN_SOLVER_KAPS_RENTROP = 0', 'NUCSYN_SOLVER_LSODA = 1', 'NUCSYN_SOLVER_CVODE = 2', 'NUCSYN_SOLVER_NUMBER = 3', 'NUCSYN_SOLVER_KAPS_RENTROP = 0', 'NUCSYN_SOLVER_LSODA = 1', 'NUCSYN_SOLVER_CVODE = 2', 'NUCSYN_SOLVER_NUMBER = 3'] | **Extra**: 0 | **Parameter**: initial_abundance_mix | **Description**: initial abundance mixture: 0=AG89, 1=Karakas 2002, 2=Lodders 2003, 3=Asplund 2005 (not available?), 4=Garcia Berro, 5=Grevesse Noels 1993 | **Parameter input type**: Unsigned integer -| **Default value**: NULL +| **Default value**: 0 +| **Macros**: ['NUCSYN_INIT_ABUND_MIX_AG89 = 0', 'NUCSYN_INIT_ABUND_MIX_KARAKAS2002 = 1', 'NUCSYN_INIT_ABUND_MIX_LODDERS2003 = 2', 'NUCSYN_INIT_ABUND_MIX_ASPLUND2005 = 3', 'NUCSYN_INIT_ABUND_MIX_GARCIABERRO = 4', 'NUCSYN_INIT_ABUND_MIX_GREVESSE_NOELS_1993 = 5', 'NUCSYN_INIT_ABUND_MIX_ASPLUND2009 = 6', 'NUCSYN_INIT_ABUND_MIX_KOBAYASHI2011_ASPLUND2009 = 7', 'NUCSYN_INIT_ABUND_MIX_LODDERS2010 = 8'] | **Extra**: 0 | **Parameter**: init_abund @@ -2204,37 +2153,38 @@ Section: nucsyn | **Parameter**: init_abunds_only | **Description**: If True, outputs only the initial abundances, then exits. | **Parameter input type**: True|False -| **Default value**: NULL +| **Default value**: False | **Parameter**: initial_abunds_only | **Description**: If True, outputs only the initial abundances, then exits. | **Parameter input type**: True|False -| **Default value**: NULL +| **Default value**: False | **Parameter**: no_thermohaline_mixing | **Description**: If True, disables thermohaline mixing. | **Parameter input type**: True|False -| **Default value**: NULL +| **Default value**: False | **Parameter**: lithium_GB_post_Heflash | **Description**: Sets the lithium abundances after the helium flash. Requires NUCSYN and LITHIUM_TABLES. | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: 0 | **Parameter**: lithium_GB_post_1DUP | **Description**: Sets the lithium abundance after first dredge up. Requires NUCSYN and LITHIUM_TABLES. | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: 0 | **Parameter**: lithium_hbb_multiplier | **Description**: Multiplies the lithium abundances on the AGB during HBB (based on Karakas/Fishlock et al models).Requires NUCSYN and LITHIUM_TABLES. | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: 1 | **Parameter**: angelou_lithium_decay_function | **Description**: Functional form which describes Li7 decay. Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Choices are: 0 expoential (see angelou_lithium_decay_time). | **Parameter input type**: Integer | **Default value**: NULL +| **Macros**: ['ANGELOU_LITHIUM_DECAY_FUNCTION_EXPONENTIAL = 0'] | **Parameter**: angelou_lithium_LMMS_time | **Description**: Time at which lithium manufacture is triggered in a low-mass (convective) main sequence (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6). @@ -2354,16 +2304,10 @@ Section: nucsyn Section: output --------------- -| **Parameter**: david_logging_function -| **Description**: Function to choose which kind of information gets logged Requires DAVID. Choices are: 0= None, >0 for custom logging functions -| **Parameter input type**: Integer -| **Default value**: 0 -| **Extra**: Ignore - | **Parameter**: cf_amanda_log | **Description**: Enable logging to compare to Amanda's models. | **Parameter input type**: True|False -| **Default value**: NULL +| **Default value**: False | **Parameter**: float_overflow_checks | **Description**: Turn on to enable floating-point overflow checks at the end of each timestep, if they are available. 0=off, 1=warn (stderr) on failure, 2=exit on failure (0) @@ -2403,7 +2347,7 @@ Section: output | **Parameter**: legacy_yields | **Description**: Turn on ensemble legacy yield output. | **Parameter input type**: True|False -| **Default value**: NULL +| **Default value**: False | **Parameter**: ensemble_defer | **Description**: Defer ensemble output. @@ -2443,27 +2387,27 @@ Section: output | **Parameter**: EMP_logg_maximum | **Description**: Maximum logg that EMP stars are allowed to have. See Izzard et al 2009. See also CEMP_cfe_minimum, NEMP_nfe_minimum, EMP_minimum_age. | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: 4 | **Parameter**: EMP_minimum_age | **Description**: Minimum age that EMP stars are required to have. See Izzard et al 2009. See also CEMP_cfe_minimum, NEMP_nfe_minimum, EMP_logg_maximum. | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: 10 | **Parameter**: EMP_feh_maximum | **Description**: Maximum [Fe/H] that an EMP stars may have. See Izzard et al 2009. See also CEMP_cfe_minimum, NEMP_nfe_minimum, EMP_logg_maximum, EMP_minimum_age. Default -2.0. | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: -2 | **Parameter**: CEMP_cfe_minimum | **Description**: Minimum [C/Fe] that CEMP stars are required to have. See Izzard et al 2009. See also NEMP_cfe_minimum, EMP_logg_maximum, EMP_minimum_age. Default 0.7. | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: 0.7 | **Parameter**: NEMP_cfe_minimum | **Description**: Minimum [N/Fe] that NEMP stars are required to have. See Izzard et al 2009, Pols et al. 2012. See also CEMP_cfe_minimum, EMP_logg_maximum, EMP_minimum_age. Default 1.0. | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: 1 | **Parameter**: thick_disc_start_age | **Description**: Lookback time for the start of the thick disc star formation, e.g. 13e3 Myr. Units = Myr. @@ -2599,99 +2543,99 @@ Section: input | **Parameter**: MINT_dir | **Description**: Location of MINT algorithm data. | **Parameter input type**: String -| **Default value**: NULL +| **Default value**: | **Extra**: | **Parameter**: MINT_data_cleanup | **Description**: Activate checks on incoming data to try to account for problems. Will make data-loading slower, but may fix a few things. | **Parameter input type**: True|False -| **Default value**: NULL +| **Default value**: False | **Extra**: | **Parameter**: MINT_MS_rejuvenation | **Description**: Turn on or off (hydrogen) main-sequence rejuvenation. | **Parameter input type**: True|False -| **Default value**: NULL +| **Default value**: True | **Extra**: | **Parameter**: MINT_remesh | **Description**: Turn on or off MINT's remeshing. | **Parameter input type**: True|False -| **Default value**: NULL +| **Default value**: True | **Extra**: | **Parameter**: MINT_use_ZAMS_profiles | **Description**: Use chemical profiles at the ZAMS if MINT_use_ZAMS_profiles is TRUE, otherwise set homogeneous abundances. (Default is TRUE, so we use the profiles if they are available.) | **Parameter input type**: True|False -| **Default value**: NULL +| **Default value**: True | **Extra**: | **Parameter**: MINT_fallback_to_test_data | **Description**: If TRUE, use the MINT test_data directory as a fallback when data is unavailable. (FALSE) | **Parameter input type**: True|False -| **Default value**: NULL +| **Default value**: False | **Extra**: | **Parameter**: MINT_disable_grid_load_warnings | **Description**: Use this to explicitly disable MINT's warnings when loading a grid with, e.g., missing or too much data. | **Parameter input type**: True|False -| **Default value**: NULL +| **Default value**: False | **Extra**: | **Parameter**: MINT_Kippenhahn | **Description**: Turn on or off MINT's Kippenhahn diagrams. If 0, off, if 1, output star 1 (index 0), if 2 output star 2 (index 1). Default 0. | **Parameter input type**: Integer -| **Default value**: NULL +| **Default value**: 0 | **Extra**: | **Parameter**: MINT_nshells | **Description**: Set the initial number of shells MINT uses in each star when doing nuclear burning. Note: remeshing can change this. If MINT_nshells is 0, shellular burning and other routines that require shells will not be available. (200) | **Parameter input type**: Integer -| **Default value**: NULL +| **Default value**: 200 | **Extra**: | **Parameter**: MINT_maximum_nshells | **Description**: Set the maximum number of shells MINT uses in each star when doing nuclear burning. Note that this will be limited to MINT_HARD_MAX_NSHELLS. (1000) | **Parameter input type**: Integer -| **Default value**: NULL +| **Default value**: 1000 | **Extra**: | **Parameter**: MINT_minimum_nshells | **Description**: Set the minimum number of shells MINT uses in each star when doing nuclear burning. Note that this will be greater than or equal to MINT_HARD_MIN_NSHELLS, which is 0 by default. (0) | **Parameter input type**: Integer -| **Default value**: NULL +| **Default value**: 10 | **Extra**: | **Parameter**: MINT_Kippenhahn_stellar_type | **Description**: Stellar type selector for Kippenhahn plots. Set to -1 to ignore, otherwise the stellar type number for which Kippenhahn plot data should be output. | **Parameter input type**: Integer -| **Default value**: NULL +| **Default value**: -1 | **Macros**: ['LOW_MASS_MS = 0', 'MS = 1', 'HG = 2', 'GIANT_BRANCH = 3', 'CHeB = 4', 'EAGB = 5', 'TPAGB = 6', 'HeMS = 7', 'HeHG = 8', 'HeGB = 9', 'HeWD = 10', 'COWD = 11', 'ONeWD = 12', 'NS = 13', 'BH = 14', 'MASSLESS_REMNANT = 15'] | **Extra**: | **Parameter**: MINT_Kippenhahn_companion_stellar_type | **Description**: Companion stellar type selector for Kippenhahn plots. Set to -1 to ignore, otherwise the stellar type number for the companion for which Kippenhahn plot data should be output. | **Parameter input type**: Integer -| **Default value**: NULL +| **Default value**: -1 | **Macros**: ['LOW_MASS_MS = 0', 'MS = 1', 'HG = 2', 'GIANT_BRANCH = 3', 'CHeB = 4', 'EAGB = 5', 'TPAGB = 6', 'HeMS = 7', 'HeHG = 8', 'HeGB = 9', 'HeWD = 10', 'COWD = 11', 'ONeWD = 12', 'NS = 13', 'BH = 14', 'MASSLESS_REMNANT = 15'] | **Extra**: | **Parameter**: MINT_nuclear_burning | **Description**: Turn on or off MINT's nuclear burning algorithm. | **Parameter input type**: True|False -| **Default value**: NULL +| **Default value**: False | **Extra**: | **Parameter**: MINT_minimum_shell_mass | **Description**: Minimum shell mass in MINT's nuclear burning routines. | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: 1e-06 | **Extra**: | **Parameter**: MINT_maximum_shell_mass | **Description**: Maximum shell mass in MINT's nuclear burning routines. : | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: 0.1 | **Extra**: Section: i/o diff --git a/docs/build/html/_sources/example_notebooks.rst.txt b/docs/build/html/_sources/example_notebooks.rst.txt index 7a7ee6b22..c4e9e34c4 100644 --- a/docs/build/html/_sources/example_notebooks.rst.txt +++ b/docs/build/html/_sources/example_notebooks.rst.txt @@ -8,16 +8,16 @@ The order of the notebooks below is more or less the recommended order to read. :maxdepth: 2 :caption: Contents: - notebook_individual_systems.ipynb - notebook_custom_logging.ipynb - notebook_population.ipynb - notebook_extra_features.ipynb - notebook_api_functionality.ipynb + examples/notebook_individual_systems.ipynb + examples/notebook_custom_logging.ipynb + examples/notebook_population.ipynb + examples/notebook_extra_features.ipynb + examples/notebook_api_functionality.ipynb - notebook_luminosity_function_single.ipynb - notebook_luminosity_function_binaries.ipynb - notebook_HRD.ipynb - notebook_common_envelope_evolution.ipynb - notebook_BHBH.ipynb - notebook_massive_remnants.ipynb - notebook_solar_system.ipynb \ No newline at end of file + examples/notebook_luminosity_function_single.ipynb + examples/notebook_luminosity_function_binaries.ipynb + examples/notebook_HRD.ipynb + examples/notebook_common_envelope_evolution.ipynb + examples/notebook_BHBH.ipynb + examples/notebook_massive_remnants.ipynb + examples/notebook_solar_system.ipynb diff --git a/docs/build/html/_sources/notebook_BHBH.ipynb.txt b/docs/build/html/_sources/examples/notebook_BHBH.ipynb.txt similarity index 98% rename from docs/build/html/_sources/notebook_BHBH.ipynb.txt rename to docs/build/html/_sources/examples/notebook_BHBH.ipynb.txt index 80b707d95..4afd498b9 100644 --- a/docs/build/html/_sources/notebook_BHBH.ipynb.txt +++ b/docs/build/html/_sources/examples/notebook_BHBH.ipynb.txt @@ -5,27 +5,8 @@ "id": "a544d28c-c2e1-4c6a-b55b-8caec440743f", "metadata": {}, "source": [ - "# Tutorial: Running individual systems with binary_c-python\n", - "This notebook will show you how to run single systems and analyze their results.\n", - "\n", - "It can be useful to have some functions to quickly run a single system to, for example, inspect what evolutionary steps a specific system goes through, to plot the mass loss evolution of a single system, etc. " - ] - }, - { - "cell_type": "markdown", - "id": "dd5d9ec7-5791-45f1-afbd-225947e2a583", - "metadata": { - "tags": [] - }, - "source": [ - "## Single system with run_system_wrapper\n", - "\n", - "The simplest method to run a single system is to use the run_system wrapper. This function deals with setting up the argument string, makes sure all the required parameters are included and handles setting and cleaning up the custom logging functionality (see notebook_custom_logging).\n", - "\n", - "As arguments to this function we can add any of the parameters that binary_c itself actually knows, as well as:\n", - "- custom_logging_code: string containing a Printf statement that binary_c can use to print information\n", - "- log_filename: path of the logfile that binary_c generates\n", - "- parse_function: function that handles parsing the output of binary-c" + "# Example use case: Binary black hole systems\n", + "TODO: introduce the notebook\n" ] }, { @@ -91,7 +72,13 @@ "cell_type": "code", "execution_count": 3, "id": "029fc3f2-f09a-49af-a32b-248505738f2e", - "metadata": {}, + "metadata": { + "collapsed": true, + "jupyter": { + "outputs_hidden": true + }, + "tags": [] + }, "outputs": [ { "name": "stdout", @@ -288,13 +275,7 @@ " 7.4046 9.501 9.586 14 14 -102.91 -1 -1.00 0.000 0.000 SN kick Ib/c (SN type 11 11, pre-explosion M=10.0399 Mc\"CO\"=7.43173 type=8) -> kick 1(190) vk=384.535 vr=0 omega=3.4205 phi=-0.103702 -> vn=384.535 ; final sep -102.908 ecc -1 (random count 5) - Runaway v=(-379.582,-106.329,10.8544) |v|=384.535 : companion v=(-5.13796e-51,-1.27569e-103,2.85406e-105), |v|=5.13796e-51 ; - , dm(exploder) = 0.454268, dm(companion) = 0\n", " 7.4046 9.501 9.586 14 14 -102.91 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 7.4046 9.501 9.586 14 14 -102.91 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 9.501 9.586 14 14 -102.91 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 9.501 9.586 14 14 -102.91 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n" ] } @@ -376,7 +357,13 @@ "cell_type": "code", "execution_count": 5, "id": "8018ef52-093d-45ac-a00b-5fb721db3adb", - "metadata": {}, + "metadata": { + "collapsed": true, + "jupyter": { + "outputs_hidden": true + }, + "tags": [] + }, "outputs": [ { "name": "stdout", @@ -558,13 +545,7 @@ "System 58 has separation -140.9\n", "system 59 / 100\n", "{'time': 7.4046, 'M1': 5.851, 'M2': 5.873, 'K1': 14.0, 'K2': 14.0, 'separation': -2439.0}\n", - "System 59 has separation -2439.0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "System 59 has separation -2439.0\n", "system 60 / 100\n", "{'time': 7.4046, 'M1': 5.851, 'M2': 5.873, 'K1': 14.0, 'K2': 14.0, 'separation': -235.82}\n", "System 60 has separation -235.82\n", @@ -742,7 +723,13 @@ "cell_type": "code", "execution_count": 6, "id": "3085ba82-430e-48f0-bca3-b19231e6109d", - "metadata": {}, + "metadata": { + "collapsed": true, + "jupyter": { + "outputs_hidden": true + }, + "tags": [] + }, "outputs": [ { "name": "stdout", @@ -944,13 +931,7 @@ " 7.4046 9.501 9.586 14 14 9548.9 67.7 y 0.05 0.000 0.000 \"TYPE_CHNGE\"\n", " 7.4046 9.501 9.586 14 14 9548.9 67.7 y 0.05 0.000 0.000 \"SN\"\n", " 7.4146 9.501 9.586 14 14 9548.9 67.7 y 0.05 0.000 0.000 \"END_SYMB\"\n", - " 15000.0000 9.501 9.586 14 14 9548.9 67.7 y 0.05 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 9.501 9.586 14 14 9548.9 67.7 y 0.05 0.000 0.000 \"MAX_TIME\"\n", "\n" ] } @@ -1238,13 +1219,7 @@ " 265.4710 45.203 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 265.4710 45.203 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 265.4710 45.203 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.203 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.203 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -1369,13 +1344,7 @@ " 6.1830 26.222 18.898 14 14 94.707 15.9 d 0.58 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1830 26.222 18.898 14 14 94.707 15.9 d 0.58 0.000 0.000 \"SN\"\n", " 6.1830 26.222 18.898 14 14 94.707 15.9 d 0.58 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.222 18.898 14 14 89.066 14.5 d 0.56 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.222 18.898 14 14 89.066 14.5 d 0.56 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -1505,13 +1474,7 @@ " 83.5556 45.159 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 83.5556 45.159 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 83.5556 45.159 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.159 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.159 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -1594,13 +1557,7 @@ " 1473.7324 45.249 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 1473.7324 45.249 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 1473.7324 45.249 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.249 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.249 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -1739,13 +1696,7 @@ " 112.8805 45.090 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 112.8805 45.090 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 112.8805 45.090 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.090 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.090 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -1813,13 +1764,7 @@ " 12.7426 44.651 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 12.7426 44.651 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 12.7426 44.651 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 44.651 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 44.651 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -1931,13 +1876,7 @@ " 6.1823 26.223 18.942 14 14 174.23 39.6 d 0.87 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1823 26.223 18.942 14 14 174.23 39.6 d 0.87 0.000 0.000 \"SN\"\n", " 6.1823 26.223 18.942 14 14 174.23 39.6 d 0.87 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.223 18.942 14 14 122 23.2 d 0.82 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.223 18.942 14 14 122 23.2 d 0.82 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -2016,13 +1955,7 @@ "{'time': 6.1816, 'M1': 26.224, 'M2': 18.995, 'K1': 14.0, 'K2': 14.0, 'separation': -24.872}\n", "System 7 has separation -24.872\n", "system 8 / 100\n", - "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -33.648}\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -33.648}\n", "System 8 has separation -33.648\n", "system 9 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -1713.8}\n", @@ -2137,13 +2070,7 @@ " 6.1810 26.225 19.039 14 14 144 29.7 d 0.62 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1810 26.225 19.039 14 14 144 29.7 d 0.62 0.000 0.000 \"SN\"\n", " 6.1810 26.225 19.039 14 14 144 29.7 d 0.62 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.225 19.039 14 14 141.62 29 d 0.62 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.225 19.039 14 14 141.62 29 d 0.62 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -2230,13 +2157,7 @@ "system 6 / 100\n", "None\n", "system 7 / 100\n", - "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -62.267}\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -62.267}\n", "System 7 has separation -62.267\n", "system 8 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -42.878}\n", @@ -2345,13 +2266,7 @@ " 6.1825 26.223 18.926 14 14 161.5 35.4 d 0.88 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1825 26.223 18.926 14 14 161.5 35.4 d 0.88 0.000 0.000 \"SN\"\n", " 6.1825 26.223 18.926 14 14 161.5 35.4 d 0.88 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.223 18.926 14 14 75.019 11.2 d 0.76 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.223 18.926 14 14 75.019 11.2 d 0.76 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -2431,13 +2346,7 @@ "system 6 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -106.87}\n", "System 6 has separation -106.87\n", - "system 7 / 100\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "system 7 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -89.768}\n", "System 7 has separation -89.768\n", "system 8 / 100\n", @@ -2514,13 +2423,7 @@ "{'time': 6.1819, 'M1': 26.224, 'M2': 18.975, 'K1': 14.0, 'K2': 14.0, 'separation': -23.855}\n", "System 1 has separation -23.855\n", "system 2 / 100\n", - "{'time': 6.1811, 'M1': 26.225, 'M2': 19.036, 'K1': 14.0, 'K2': 14.0, 'separation': -168.1}\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "{'time': 6.1811, 'M1': 26.225, 'M2': 19.036, 'K1': 14.0, 'K2': 14.0, 'separation': -168.1}\n", "System 2 has separation -168.1\n", "system 3 / 100\n", "None\n", @@ -2603,13 +2506,7 @@ "System 6 has separation -98.879\n", "system 7 / 100\n", "{'time': 6.1834, 'M1': 26.221, 'M2': 18.866, 'K1': 14.0, 'K2': 14.0, 'separation': 71.42}\n", - "System 7 has separation 71.42\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "System 7 has separation 71.42\n", "Found bound BHBH system\n", " TIME M1 M2 K1 K2 SEP PER ECC R1/ROL1 R2/ROL2 TYPE RANDOM_SEED=26051 RANDOM_COUNT=0\n", " 0.0000 60.000 40.000 1 1 3101.2 5.48 y 0.00 0.006 0.006 \"INITIAL \"\n", @@ -2673,13 +2570,7 @@ "System 1 has separation -490.65\n", "system 2 / 100\n", "None\n", - "system 3 / 100\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "system 3 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -844.54}\n", "System 3 has separation -844.54\n", "system 4 / 100\n", @@ -2803,13 +2694,7 @@ " 6.1812 26.225 19.021 14 14 157.31 34 d 0.29 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1812 26.225 19.021 14 14 157.31 34 d 0.29 0.000 0.000 \"SN\"\n", " 6.1812 26.225 19.021 14 14 157.31 34 d 0.29 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.225 19.021 14 14 157.05 33.9 d 0.29 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.225 19.021 14 14 157.05 33.9 d 0.29 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -2932,13 +2817,7 @@ " 812.5051 43.110 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 812.5051 43.110 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 812.5051 43.110 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 43.110 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 43.110 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -3051,13 +2930,7 @@ " 6.1844 26.229 18.804 14 14 164.59 36.4 d 0.46 0.000 0.000 SN kick Ib/c (SN type 11 11, pre-explosion M=18.8039 Mc\"CO\"=14.1854 type=8) -> kick 1(190) vk=161.317 vr=310.99 omega=3.87813 phi=-1.31958 -> vn=375.785 ; final sep 164.585 ecc 0.464494 (random count 5) - Runaway v=(-42.7184,-100.373,-23.0784) |v|=111.499 : companion v=(225.604,-99.3719,-86.2291), |v|=261.166 ; - , dm(exploder) = 0, dm(companion) = 0\n", " 6.1844 26.229 18.804 14 14 164.59 36.4 d 0.46 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1844 26.229 18.804 14 14 164.59 36.4 d 0.46 0.000 0.000 \"SN\"\n", - " 15000.0000 26.229 18.804 14 14 164.1 36.3 d 0.46 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.229 18.804 14 14 164.1 36.3 d 0.46 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -3176,13 +3049,7 @@ " 6.1830 26.222 18.894 14 14 305.95 92.3 d 0.61 0.000 0.000 SN kick Ib/c (SN type 11 11, pre-explosion M=18.8941 Mc\"CO\"=14.2552 type=8) -> kick 1(190) vk=151.131 vr=262.883 omega=2.0613 phi=-1.06527 -> vn=331.775 ; final sep 305.952 ecc 0.613167 (random count 5) - Runaway v=(0,0,0) |v|=0 : companion v=(0,0,0), |v|=0 ; - , dm(exploder) = 0, dm(companion) = 0\n", " 6.1830 26.222 18.894 14 14 305.95 92.3 d 0.61 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1830 26.222 18.894 14 14 305.95 92.3 d 0.61 0.000 0.000 \"SN\"\n", - " 15000.0000 26.222 18.894 14 14 305.73 92.2 d 0.61 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.222 18.894 14 14 305.73 92.2 d 0.61 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -3267,13 +3134,7 @@ " 457.8881 45.125 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 457.8881 45.125 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 457.8881 45.125 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.125 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.125 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -3351,13 +3212,7 @@ "System 1 has separation -168.81\n", "system 2 / 100\n", "None\n", - "system 3 / 100\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "system 3 / 100\n", "{'time': 6.1808, 'M1': 26.225, 'M2': 19.057, 'K1': 14.0, 'K2': 14.0, 'separation': -26.38}\n", "System 3 has separation -26.38\n", "system 4 / 100\n", @@ -3449,13 +3304,7 @@ "system 13 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -374.05}\n", "System 13 has separation -374.05\n", - "system 14 / 100\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "system 14 / 100\n", "{'time': 6.181, 'M1': 26.225, 'M2': 19.041, 'K1': 14.0, 'K2': 14.0, 'separation': 236.64}\n", "System 14 has separation 236.64\n", "Found bound BHBH system\n", @@ -3586,13 +3435,7 @@ " 6.1827 26.222 18.914 14 14 99.202 17 d 0.44 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1827 26.222 18.914 14 14 99.202 17 d 0.44 0.000 0.000 \"SN\"\n", " 6.1827 26.222 18.914 14 14 99.202 17 d 0.44 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.222 18.914 14 14 97.228 16.5 d 0.43 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.222 18.914 14 14 97.228 16.5 d 0.43 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -3704,13 +3547,7 @@ " 6.1858 26.249 18.711 14 14 98.616 16.9 d 0.47 0.000 0.000 SN kick Ib/c (SN type 11 11, pre-explosion M=18.7108 Mc\"CO\"=14.1135 type=8) -> kick 1(190) vk=199.576 vr=332.361 omega=1.41485 phi=-0.652755 -> vn=365.958 ; final sep 98.6161 ecc 0.469056 (random count 5) - Runaway v=(-0.807331,-67.6832,0.168972) |v|=67.6883 : companion v=(254.424,134.518,0.477089), |v|=287.796 ; - , dm(exploder) = 0, dm(companion) = 0\n", " 6.1858 26.249 18.711 14 14 98.616 16.9 d 0.47 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1858 26.249 18.711 14 14 98.616 16.9 d 0.47 0.000 0.000 \"SN\"\n", - " 15000.0000 26.249 18.711 14 14 96.287 16.3 d 0.46 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.249 18.711 14 14 96.287 16.3 d 0.46 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -3838,13 +3675,7 @@ " 10.8252 45.201 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 10.8252 45.201 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 10.8252 45.201 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.201 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.201 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -3953,13 +3784,7 @@ " 8031.6562 45.165 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 8031.6562 45.165 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 8031.6562 45.165 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.165 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.165 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -4046,13 +3871,7 @@ " 6.1847 26.236 18.783 14 14 113.51 20.9 d 0.29 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1847 26.236 18.783 14 14 113.51 20.9 d 0.29 0.000 0.000 \"SN\"\n", " 15000.0000 26.236 18.783 14 14 112.85 20.7 d 0.29 0.000 0.000 \"MAX_TIME\"\n", - "\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -48.404}\n", @@ -4115,13 +3934,7 @@ " 6.2075 45.233 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.2075 45.233 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 6.2075 45.233 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.233 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.233 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -4206,13 +4019,7 @@ " 6.1817 26.224 18.984 14 14 763.92 364 d 0.79 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1817 26.224 18.984 14 14 763.92 364 d 0.79 0.000 0.000 \"SN\"\n", " 6.1817 26.224 18.984 14 14 763.92 364 d 0.79 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.224 18.984 14 14 763.81 364 d 0.79 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.224 18.984 14 14 763.81 364 d 0.79 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -4291,13 +4098,7 @@ "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -1722.6}\n", "System 5 has separation -1722.6\n", "system 6 / 100\n", - "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -1571.7}\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -1571.7}\n", "System 6 has separation -1571.7\n", "system 7 / 100\n", "None\n", @@ -4424,13 +4225,7 @@ " 6.1826 26.223 18.922 14 14 1691.7 3.28 y 0.98 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1826 26.223 18.922 14 14 1691.7 3.28 y 0.98 0.000 0.000 \"SN\"\n", " 6.1826 26.223 18.922 14 14 1691.7 3.28 y 0.98 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.223 18.922 14 14 1663.3 3.2 y 0.98 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.223 18.922 14 14 1663.3 3.2 y 0.98 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -4508,13 +4303,7 @@ "system 4 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -121.45}\n", "System 4 has separation -121.45\n", - "system 5 / 100\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "system 5 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -209.29}\n", "System 5 has separation -209.29\n", "system 6 / 100\n", @@ -4611,13 +4400,7 @@ "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -42.805}\n", "System 6 has separation -42.805\n", "system 7 / 100\n", - "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -86.593}\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -86.593}\n", "System 7 has separation -86.593\n", "system 8 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -33.049}\n", @@ -4693,13 +4476,7 @@ "system 5 / 100\n", "{'time': 6.1817, 'M1': 26.224, 'M2': 18.986, 'K1': 14.0, 'K2': 14.0, 'separation': -78.905}\n", "System 5 has separation -78.905\n", - "system 6 / 100\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "system 6 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -58.583}\n", "System 6 has separation -58.583\n", "system 7 / 100\n", @@ -4826,13 +4603,7 @@ " 6.1822 26.223 18.952 14 14 133.24 26.5 d 0.42 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1822 26.223 18.952 14 14 133.24 26.5 d 0.42 0.000 0.000 \"SN\"\n", " 6.1822 26.223 18.952 14 14 133.24 26.5 d 0.42 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.223 18.952 14 14 132.51 26.3 d 0.42 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.223 18.952 14 14 132.51 26.3 d 0.42 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -4959,13 +4730,7 @@ " 6.1814 26.225 19.013 14 14 195.2 47 d 0.11 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1814 26.225 19.013 14 14 195.2 47 d 0.11 0.000 0.000 \"SN\"\n", " 6.1814 26.225 19.013 14 14 195.2 47 d 0.11 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.225 19.013 14 14 195.12 46.9 d 0.11 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.225 19.013 14 14 195.12 46.9 d 0.11 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -5071,13 +4836,7 @@ " 202.9610 45.199 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 202.9610 45.199 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 202.9610 45.199 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.199 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.199 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -5205,13 +4964,7 @@ " 6.1817 26.224 18.984 14 14 239.33 63.8 d 0.62 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1817 26.224 18.984 14 14 239.33 63.8 d 0.62 0.000 0.000 \"SN\"\n", " 6.1817 26.224 18.984 14 14 239.33 63.8 d 0.62 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.224 18.984 14 14 238.83 63.6 d 0.62 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.224 18.984 14 14 238.83 63.6 d 0.62 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -5331,13 +5084,7 @@ " 6.1821 26.223 18.957 14 14 144.61 30 d 0.23 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1821 26.223 18.957 14 14 144.61 30 d 0.23 0.000 0.000 \"SN\"\n", " 6.1821 26.223 18.957 14 14 144.61 30 d 0.23 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.223 18.957 14 14 144.35 29.9 d 0.23 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.223 18.957 14 14 144.35 29.9 d 0.23 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -5420,13 +5167,7 @@ " 6.1816 26.224 18.998 14 14 246.46 66.6 d 0.33 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1816 26.224 18.998 14 14 246.46 66.6 d 0.33 0.000 0.000 \"SN\"\n", " 6.1816 26.224 18.998 14 14 246.46 66.6 d 0.33 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.224 18.998 14 14 246.39 66.6 d 0.33 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.224 18.998 14 14 246.39 66.6 d 0.33 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -5528,7 +5269,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -5542,7 +5283,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.5" + "version": "3.6.4" } }, "nbformat": 4, diff --git a/docs/build/html/_sources/notebook_HRD.ipynb.txt b/docs/build/html/_sources/examples/notebook_HRD.ipynb.txt similarity index 100% rename from docs/build/html/_sources/notebook_HRD.ipynb.txt rename to docs/build/html/_sources/examples/notebook_HRD.ipynb.txt diff --git a/docs/build/html/_sources/notebook_api_functionality.ipynb.txt b/docs/build/html/_sources/examples/notebook_api_functionality.ipynb.txt similarity index 100% rename from docs/build/html/_sources/notebook_api_functionality.ipynb.txt rename to docs/build/html/_sources/examples/notebook_api_functionality.ipynb.txt diff --git a/docs/build/html/_sources/notebook_common_envelope_evolution.ipynb.txt b/docs/build/html/_sources/examples/notebook_common_envelope_evolution.ipynb.txt similarity index 100% rename from docs/build/html/_sources/notebook_common_envelope_evolution.ipynb.txt rename to docs/build/html/_sources/examples/notebook_common_envelope_evolution.ipynb.txt diff --git a/docs/build/html/_sources/notebook_custom_logging.ipynb.txt b/docs/build/html/_sources/examples/notebook_custom_logging.ipynb.txt similarity index 100% rename from docs/build/html/_sources/notebook_custom_logging.ipynb.txt rename to docs/build/html/_sources/examples/notebook_custom_logging.ipynb.txt diff --git a/docs/build/html/_sources/notebook_extra_features.ipynb.txt b/docs/build/html/_sources/examples/notebook_extra_features.ipynb.txt similarity index 100% rename from docs/build/html/_sources/notebook_extra_features.ipynb.txt rename to docs/build/html/_sources/examples/notebook_extra_features.ipynb.txt diff --git a/docs/build/html/_sources/notebook_individual_systems.ipynb.txt b/docs/build/html/_sources/examples/notebook_individual_systems.ipynb.txt similarity index 100% rename from docs/build/html/_sources/notebook_individual_systems.ipynb.txt rename to docs/build/html/_sources/examples/notebook_individual_systems.ipynb.txt diff --git a/docs/build/html/_sources/notebook_luminosity_function_binaries.ipynb.txt b/docs/build/html/_sources/examples/notebook_luminosity_function_binaries.ipynb.txt similarity index 99% rename from docs/build/html/_sources/notebook_luminosity_function_binaries.ipynb.txt rename to docs/build/html/_sources/examples/notebook_luminosity_function_binaries.ipynb.txt index 8eabffc08..d096455b0 100644 --- a/docs/build/html/_sources/notebook_luminosity_function_binaries.ipynb.txt +++ b/docs/build/html/_sources/examples/notebook_luminosity_function_binaries.ipynb.txt @@ -869,33 +869,31 @@ ] }, { - "cell_type": "code", - "execution_count": 12, - "id": "99e25a72-54e6-4826-b0e5-4a02460b857d", + "cell_type": "markdown", + "id": "e0601000-a4c9-4073-a695-10a664e532f0", "metadata": {}, - "outputs": [ - { - "ename": "SyntaxError", - "evalue": "invalid syntax (2944163245.py, line 1)", - "output_type": "error", - "traceback": [ - "\u001b[0;36m File \u001b[0;32m\"/tmp/ipykernel_518916/2944163245.py\"\u001b[0;36m, line \u001b[0;32m1\u001b[0m\n\u001b[0;31m Things to try:\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n" - ] - } - ], "source": [ "Things to try:\n", - "* Massive stars: can you see the effects of wind mass loss and rejuvenation in these stars?\n", - "* Alter the metallicity, does this make much of a difference?\n", - "* Change the binary fraction. Here we assume a 100% binary fraction, but a real population is a mixture of single and binary stars.\n", - "* How might you go about comparing these computed observations to real stars?\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", + " * Massive stars: can you see the effects of wind mass loss and rejuvenation in these stars?\n", + " * Alter the metallicity, does this make much of a difference?\n", + " * Change the binary fraction. Here we assume a 100% binary fraction, but a real population is a mixture of single and binary stars.\n", + " * How might you go about comparing these computed observations to real stars?\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?" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "abb096b0-7c57-43d6-a9f7-56bdd21dc542", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -909,7 +907,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.5" + "version": "3.6.4" } }, "nbformat": 4, diff --git a/docs/build/html/_sources/notebook_luminosity_function_single.ipynb.txt b/docs/build/html/_sources/examples/notebook_luminosity_function_single.ipynb.txt similarity index 99% rename from docs/build/html/_sources/notebook_luminosity_function_single.ipynb.txt rename to docs/build/html/_sources/examples/notebook_luminosity_function_single.ipynb.txt index 2fc879dc4..4422377c9 100644 --- a/docs/build/html/_sources/notebook_luminosity_function_single.ipynb.txt +++ b/docs/build/html/_sources/examples/notebook_luminosity_function_single.ipynb.txt @@ -605,7 +605,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -619,7 +619,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.5" + "version": "3.6.4" } }, "nbformat": 4, diff --git a/docs/build/html/_sources/notebook_massive_remnants.ipynb.txt b/docs/build/html/_sources/examples/notebook_massive_remnants.ipynb.txt similarity index 99% rename from docs/build/html/_sources/notebook_massive_remnants.ipynb.txt rename to docs/build/html/_sources/examples/notebook_massive_remnants.ipynb.txt index f7586281e..6943c9d53 100644 --- a/docs/build/html/_sources/notebook_massive_remnants.ipynb.txt +++ b/docs/build/html/_sources/examples/notebook_massive_remnants.ipynb.txt @@ -7,7 +7,7 @@ "tags": [] }, "source": [ - "# Example use case: Zero-age stellar luminosity function\n", + "# 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", @@ -718,18 +718,26 @@ "metadata": {}, "source": [ "Things to try:\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)" + " * 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 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -743,7 +751,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.5" + "version": "3.6.4" } }, "nbformat": 4, diff --git a/docs/build/html/_sources/notebook_population.ipynb.txt b/docs/build/html/_sources/examples/notebook_population.ipynb.txt similarity index 100% rename from docs/build/html/_sources/notebook_population.ipynb.txt rename to docs/build/html/_sources/examples/notebook_population.ipynb.txt diff --git a/docs/build/html/_sources/notebook_solar_system.ipynb.txt b/docs/build/html/_sources/examples/notebook_solar_system.ipynb.txt similarity index 99% rename from docs/build/html/_sources/notebook_solar_system.ipynb.txt rename to docs/build/html/_sources/examples/notebook_solar_system.ipynb.txt index 67556a655..2b343a8f4 100644 --- a/docs/build/html/_sources/notebook_solar_system.ipynb.txt +++ b/docs/build/html/_sources/examples/notebook_solar_system.ipynb.txt @@ -3,9 +3,11 @@ { "cell_type": "markdown", "id": "ddc06da3-fc68-4c6f-8067-14ea862b964d", - "metadata": {}, + "metadata": { + "tags": [] + }, "source": [ - "## Solar system using the API functionality\n", + "## Example use case: Solar system using the API functionality\n", "We use the API interface to construct a model of the Solar system." ] }, @@ -304,7 +306,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -318,7 +320,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.5" + "version": "3.6.4" } }, "nbformat": 4, diff --git a/docs/build/html/_sources/examples/old/basic_example.ipynb.txt b/docs/build/html/_sources/examples/old/basic_example.ipynb.txt new file mode 100644 index 000000000..9078cfcb5 --- /dev/null +++ b/docs/build/html/_sources/examples/old/basic_example.ipynb.txt @@ -0,0 +1,128 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "66ca8e31-7cbf-4484-bb6c-c9235e14bda2", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "import binarycpython\n", + "from binarycpython.utils.custom_logging_functions import binary_c_log_code\n", + "from binarycpython.utils.run_system_wrapper import run_system\n", + "from binarycpython.utils.functions import example_parse_output" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "31851c7f-4ccf-4b5a-9f74-8a3e06c6b2d8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "<AxesSubplot:xlabel='time'>" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 432x288 with 1 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# You can decide to `write` your own logging_line, which allows you to write a more complex logging statement with conditionals.\n", + "logging_line = 'Printf(\"MY_STELLAR_DATA time=%g radius=%g\\\\n\",stardata->model.time,stardata->star[0].radius)'\n", + "\n", + "# Generate entire shared lib code around logging lines\n", + "custom_logging_code = binary_c_log_code(logging_line, verbose=-1)\n", + "\n", + "# Run system. all arguments can be given as optional arguments. the custom_logging_code is \n", + "# one of them and will be processed automatically.\n", + "output = run_system(\n", + " M_1=1, metallicity=0.002, M_2=0.1, separation=0, orbital_period=100000000000, \\\n", + " custom_logging_code=custom_logging_code,\n", + ")\n", + "\n", + "df = pd.DataFrame.from_dict(example_parse_output(output, 'MY_STELLAR_DATA'), dtype=np.float64)\n", + "\n", + "df.plot('time', 'radius', logy=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "db0f3990-8680-4ea7-80d3-cdb430950c7f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "<AxesSubplot:xlabel='time'>" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 432x288 with 1 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "39509b1c-f5fb-4edd-847a-97757c2197df", + "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/_sources/examples/old/workshop_example_notebook.ipynb.txt b/docs/build/html/_sources/examples/old/workshop_example_notebook.ipynb.txt new file mode 100644 index 000000000..4eca58797 --- /dev/null +++ b/docs/build/html/_sources/examples/old/workshop_example_notebook.ipynb.txt @@ -0,0 +1,641 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "tags": [] + }, + "source": [ + "# Binary_c and python example notebook\n", + "The following notebook servers as an example of how the binary_c python wrapper works and how it could be used.\n", + "\n", + "By: David Hendriks 30 nov 2019" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [], + "source": [ + "import binarycpython\n", + "import binary_c_python_api" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": "false" + }, + "source": [ + "## Core api wrapper functions:" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": "false" + }, + "source": [ + "### run_binary()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n", + "Binary_c output:\n", + "\n", + "\n", + "example_header_1 time=0 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 0 15 14 1 1 3540.3 0\n", + "INITIAL_GRID 15 14 4530 0.02 1 0\n", + "example_header_1 time=0 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 0 15 14 1 1 3540.3 0\n", + "INITIAL_GRID 15 14 4530 0.02 1 0\n", + "example_header_1 time=1e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 1e-07 15 14 1 1 3540.3 0\n", + "example_header_1 time=2e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 2e-07 15 14 1 1 3540.3 0\n" + ] + } + ], + "source": [ + "m1 = 15.0 # Msun\n", + "m2 = 14.0 # Msun\n", + "separation = 0 # 0 = ignored, use period\n", + "orbital_period = 4530.0 # days\n", + "eccentricity = 0.0\n", + "metallicity = 0.02\n", + "max_evolution_time = 15000 # You need to set this!\n", + "\n", + "argstring = \"binary_c M_1 {0:g} M_2 {1:g} separation {2:g} orbital_period {3:g} eccentricity {4:g} metallicity {5:g} max_evolution_time {6:g} \".format(\n", + " m1,\n", + " m2,\n", + " separation,\n", + " orbital_period,\n", + " eccentricity,\n", + " metallicity,\n", + " max_evolution_time,\n", + ")\n", + "\n", + "output = binary_c_python_api.run_binary(argstring)\n", + "\n", + "print(\"\\n\\nBinary_c output:\\n\\n\")\n", + "print('\\n'.join(output.split('\\n')[:10]))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": "false" + }, + "source": [ + "### run_binary_with_log" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "True\n", + " TIME M1 M2 K1 K2 SEP ECC R1/ROL1 R2/ROL2 TYPE RANDOM_SEED=7106 RANDOM_COUNT=0\n", + " 0.0000 15.000 14.000 1 1 2.786e+08 0.00 0.000 0.000 INITIAL \n", + " 12.7509 14.645 13.776 2 1 2.8427e+08 0.00 0.000 0.000 TYPE_CHNGE\n", + " 12.7773 14.639 13.775 4 1 2.8435e+08 0.00 0.000 0.000 TYPE_CHNGE\n", + " 13.1380 13.748 13.758 4 1 2.9373e+08 0.00 0.000 0.000 q-inv\n", + " 14.0900 10.830 13.705 4 2 3.2934e+08 0.00 0.000 0.000 OFF_MS\n", + " 14.0900 10.830 13.705 4 2 3.2934e+08 0.00 0.000 0.000 TYPE_CHNGE\n", + " 14.1204 10.726 13.700 4 4 3.3081e+08 0.00 0.000 0.000 TYPE_CHNGE\n", + " 14.2118 10.410 13.566 5 4 3.3702e+08 0.00 0.000 0.000 TYPE_CHNGE\n", + " 14.2646 1.472 13.462 13 4 -31.236 -1.00 0.000 0.000 Randbuf=34421 - d48r(0)=0.0570946 - d48r(1)=0.458272 - d48r(2)=0.13108 - d48r(3)=0.562029 - d48r(4)=0.924056 \n", + " 14.2646 1.472 13.462 13 4 -31.236 -1.00 0.000 0.000 SN kick II (SN type 12 12, pre-explosion M=9.89211 Mc=4.78817 type=5) -> kick 1(190) vk=302.148 vr=0.113492 omega=5.80602 phi=0.124379 -> vn=302.048 ; final sep -31.2365 ecc -1 (random count 0) - Runaway v=(0,0,0) |v|=0 : companion v=(0,0,0), |v|=0 ; \n", + " 14.2646 1.472 13.462 13 4 -31.236 -1.00 0.000 0.000 TYPE_CHNGE\n", + " 14.2646 1.472 13.462 13 4 -31.236 -1.00 0.000 0.000 DISRUPT \n", + " 14.2646 1.472 13.462 13 4 -31.236 -1.00 0.000 0.000 SN\n", + " 15.7087 1.472 10.210 13 5 -31.236 -1.00 0.000 0.000 TYPE_CHNGE\n", + " 15.7695 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 d48r(5)=0.608402 - d48r(6)=0.696003 - d48r(7)=0.796455 - d48r(8)=0.0834973 \n", + " 15.7695 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 SN kick II (SN type 12 12, pre-explosion M=9.85661 Mc=4.3914 type=5) -> kick 1(190) vk=392.156 vr=0 omega=0.524629 phi=0.634667 -> vn=392.156 ; final sep -31.2365 ecc -1 (random count 5) - Runaway v=(0,0,0) |v|=0 : companion v=(0,0,0), |v|=0 ; \n", + " 15.7695 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 TYPE_CHNGE\n", + " 15.7695 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 q-inv\n", + " 15.7695 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 SN\n", + " 15000.0000 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 MAX_TIME\n", + "Probability : 1\n", + "\n" + ] + } + ], + "source": [ + "import tempfile\n", + "import os\n", + "\n", + "m1 = 15.0 # Msun\n", + "m2 = 14.0 # Msun\n", + "separation = 0 # 0 = ignored, use period\n", + "orbital_period = 4530.0 # days\n", + "eccentricity = 0.0\n", + "metallicity = 0.02\n", + "max_evolution_time = 15000 # You need to set this!\n", + "log_filename=tempfile.gettempdir() + \"/test_log.txt\"\n", + "\n", + "argstring = \"binary_c M_1 {0:g} M_2 {1:g} separation {2:g} orbital_period {3:g} eccentricity {4:g} metallicity {5:g} max_evolution_time {6:g} log_filename {7} \".format(\n", + " m1,\n", + " m2,\n", + " separation,\n", + " orbital_period,\n", + " eccentricity,\n", + " metallicity,\n", + " max_evolution_time,\n", + " log_filename,\n", + ")\n", + "\n", + "output = binary_c_python_api.run_binary(argstring)\n", + "\n", + "print(os.path.exists(log_filename))\n", + "\n", + "with open(log_filename, 'r') as f:\n", + " print(f.read())\n", + "\n", + "\n", + "# print(\"\\n\\nBinary_c output:\\n\\n\")\n", + "# print(output)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": "false" + }, + "source": [ + "### run binary with custom logging line" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "example_header_1 time=0 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 0 15 14 1 1 3540.3 0\n", + "INITIAL_GRID 15 14 4530 0.02 1 0\n", + "MY_STELLAR_DATA time=0 mass=15\n", + "example_header_1 time=0 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 0 15 14 1 1 3540.3 0\n", + "INITIAL_GRID 15 14 4530 0.02 1 0\n", + "MY_STELLAR_DATA time=0 mass=15\n", + "example_header_1 time=1e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 1e-07 15 14 1 1 3540.3 0\n", + "MY_STELLAR_DATA time=1e-07 mass=15\n", + "example_header_1 time=2e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 2e-07 15 14 1 1 3540.3 0\n", + "MY_STELLAR_DATA time=2e-07 mass=15\n", + "example_header_1 time=3e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 3e-07 15 14 1 1 3540.3 0\n", + "MY_STELLAR_DATA time=3e-07 mass=15\n", + "example_header_1 time=4e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 4e-07 15 14 1 1 3540.3 0\n", + "MY_STELLAR_DATA time=4e-07 mass=15\n" + ] + } + ], + "source": [ + "from binarycpython.utils import custom_logging_functions\n", + "# generate logging lines. Here you can choose whatever you want to have logged, and with what header\n", + "# this generates working print statements\n", + "logging_line = custom_logging_functions.autogen_C_logging_code(\n", + " {\"MY_STELLAR_DATA\": [\"model.time\", \"star[0].mass\"],}\n", + ")\n", + "# OR\n", + "# You can also decide to `write` your own logging_line, which allows you to write a more complex logging statement with conditionals.\n", + "logging_line = 'Printf(\"MY_STELLAR_DATA time=%g mass=%g\\\\n\", stardata->model.time, stardata->star[0].mass)'\n", + "\n", + "# Generate entire shared lib code around logging lines\n", + "custom_logging_code = custom_logging_functions.binary_c_log_code(logging_line)\n", + "# print(custom_logging_code)\n", + "\n", + "# Make this code into a shared library and the function into memory\n", + "func_memaddr = custom_logging_functions.create_and_load_logging_function(custom_logging_code)\n", + "\n", + "# Run system with custom logging code\n", + "m1 = 15.0 # Msun\n", + "m2 = 14.0 # Msun\n", + "separation = 0 # 0 = ignored, use period\n", + "orbital_period = 4530.0 # days\n", + "eccentricity = 0.0\n", + "metallicity = 0.02\n", + "max_evolution_time = 15000 # You need to set this!\n", + "\n", + "argstring = \"binary_c M_1 {0:g} M_2 {1:g} separation {2:g} orbital_period {3:g} eccentricity {4:g} metallicity {5:g} max_evolution_time {6:g} \".format(\n", + " m1,\n", + " m2,\n", + " separation,\n", + " orbital_period,\n", + " eccentricity,\n", + " metallicity,\n", + " max_evolution_time,\n", + ")\n", + "\n", + "output = binary_c_python_api.run_binary_custom_logging(argstring, func_memaddr)\n", + "print('\\n'.join(output.split('\\n')[:20]))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": "false" + }, + "source": [ + "## Using utils functions\n", + "In the utils.functions there are some functions that make it easier to interact with the core api functions. " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": "false" + }, + "source": [ + "### run_system()\n", + "This function serves as an example on the function run_system and parse_output. \n", + "There is more functionality with this method and several tasks are done behind the scene.\n", + "\n", + "Requires pandas, numpy to run.\n", + "\n", + "run_system: mostly just makes passing arguments to the function easier. It also loads all the necessary defaults in the background\n", + "parse_output: Takes the raw output of binary_c and selects those lines that start with the given header. \n", + "Note, if you dont use the custom_logging functionality binary_c should be configured to have output that starts with that given header\n", + "\n", + "The parsing of the output only works correctly if either all of the values are described inline like `mass=<number>' or none of them are. " + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "example_header_1 time=0 mass_1=10 mass_2=20 st1=1 st2=1 sep=2.81762e+08 ecc=0\n", + "example_header_2 0 10 20 1 1 2.81762e+08 0\n", + "INITIAL_GRID 10 20 1e+11 0.02 1 0\n", + "example_header_1 time=0 mass_1=10 mass_2=20 st1=1 st2=1 sep=2.81762e+08 ecc=0\n", + "example_header_2 0 10 20 1 1 2.81762e+08 0\n", + "INITIAL_GRID 10 20 1e+11 0.02 1 0\n", + "example_header_1 time=1e-07 mass_1=10 mass_2=20 st1=1 st2=1 sep=2.81762e+08 ecc=0\n", + "example_header_2 1e-07 10 20 1 1 2.81762e+08 0\n", + "example_header_1 time=2e-07 mass_1=10 mass_2=20 st1=1 st2=1 sep=2.81762e+08 ecc=0\n", + "example_header_2 2e-07 10 20 1 1 2.81762e+08 0\n", + "\n", + "\n", + "\n", + " time mass_1 mass_2 st1 st2 sep ecc\n", + "0 0.000000e+00 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "1 0.000000e+00 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "2 1.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "3 2.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "4 3.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "... ... ... ... ... ... ... ...\n", + "3927 1.102750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "3928 1.202750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "3929 1.302750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "3930 1.402750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "3931 1.500000e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "\n", + "[3932 rows x 7 columns]\n", + " time mass_1 mass_2 st1 st2 sep ecc\n", + "0 0.000000e+00 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "1 0.000000e+00 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "2 1.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "3 2.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "4 3.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "... ... ... ... ... ... ... ...\n", + "3927 1.102750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "3928 1.202750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "3929 1.302750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "3930 1.402750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "3931 1.500000e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "\n", + "[3932 rows x 7 columns]\n" + ] + } + ], + "source": [ + "from binarycpython.utils.functions import run_system, parse_output\n", + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "# Run system. all arguments can be given as optional arguments.\n", + "output = run_system(M_1=10, M_2=20, separation=0, orbital_period=100000000000)\n", + "\n", + "print('\\n'.join(output.split('\\n')[:10]))\n", + "\n", + "# Catch results that start with a given header. (Mind that binary_c has to be configured to print them if your not using a custom logging function)\n", + "result_example_header_1 = parse_output(output, selected_header=\"example_header_1\")\n", + "result_example_header_2 = parse_output(output, selected_header=\"example_header_2\")\n", + "\n", + "# print(result_example_header_1)\n", + "\n", + "#### Now do whatever you want with it:\n", + "# Or put them into a pandas array\n", + "\n", + "# Cast the data into a dataframe.\n", + "# This example automatically catches the column names because the binary_c output line is constructed as 'example_header_1 time=<number>..'\n", + "print('\\n\\n')\n", + "\n", + "df = pd.DataFrame.from_dict(result_example_header_1, dtype=np.float64)\n", + "print(df)\n", + "\n", + "# This example has column headers which are numbered, but we can override that with custom headers.\n", + "df2 = pd.DataFrame.from_dict(result_example_header_2, dtype=np.float64)\n", + "df2.columns=['time', 'mass_1', 'mass_2', 'st1', 'st2', 'sep', 'ecc']\n", + "print(df2)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": "false" + }, + "source": [ + "### run_system() and custom logging\n", + "Function that will use a automatically generated piece of logging code. Compile it, load it \n", + "into memory and run a binary system. See run_system on how several things are done in the background here.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " time mass\n", + "0 0.000000e+00 1.000000\n", + "1 0.000000e+00 1.000000\n", + "2 1.000000e-07 1.000000\n", + "3 2.000000e-07 1.000000\n", + "4 3.000000e-07 1.000000\n", + "... ... ...\n", + "3630 1.131680e+04 0.627748\n", + "3631 1.231680e+04 0.627748\n", + "3632 1.331680e+04 0.627748\n", + "3633 1.431680e+04 0.627748\n", + "3634 1.500000e+04 0.627748\n", + "\n", + "[3635 rows x 2 columns]\n" + ] + } + ], + "source": [ + "from binarycpython.utils.custom_logging_functions import (\n", + " autogen_C_logging_code,\n", + " binary_c_log_code,\n", + ")\n", + "\n", + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "# generate logging lines. Here you can choose whatever you want to have logged, and with what header\n", + "# this generates working print statements\n", + "logging_line = autogen_C_logging_code(\n", + " {\"MY_STELLAR_DATA\": [\"model.time\", \"star[0].mass\"],}\n", + ")\n", + "# OR\n", + "# You can also decide to `write` your own logging_line, which allows you to write a more complex logging statement with conditionals.\n", + "logging_line = 'Printf(\"MY_STELLAR_DATA time=%g mass=%g\\\\n\", stardata->model.time, stardata->star[0].mass)'\n", + "\n", + "# Generate entire shared lib code around logging lines\n", + "custom_logging_code = binary_c_log_code(logging_line)\n", + "\n", + "# Run system. all arguments can be given as optional arguments. the custom_logging_code is one of them and will be processed automatically.\n", + "output = run_system(\n", + " M_1=1,\n", + " metallicity=0.002,\n", + " M_2=0.1,\n", + " separation=0,\n", + " orbital_period=100000000000,\n", + " custom_logging_code=custom_logging_code,\n", + ")\n", + "\n", + "# Catch results that start with a given header. (Mind that binary_c has to be configured to print them if your not using a custom logging function)\n", + "# DOESNT WORK YET if you have the line autogenerated.\n", + "result_example_header = parse_output(output, \"MY_STELLAR_DATA\")\n", + "\n", + "# Cast the data into a dataframe.\n", + "df = pd.DataFrame.from_dict(result_example_header, dtype=np.float64)\n", + "\n", + "# Do whatever you like with the dataframe.\n", + "print(df)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": "false" + }, + "source": [ + "## Other example\n", + "Checking how much mass stars lose on the main sequence." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [], + "source": [ + "def run_and_calc_mass(**kwargs):\n", + " \"\"\"\n", + " Function to run a given system and look at the mass lost in the main sequence of the star\n", + " \"\"\"\n", + " # start = time.time()\n", + " output = run_system(**kwargs)\n", + " result = parse_output(output, 'example_header_1')\n", + " # stop = time.time()\n", + " # print(\"Took {:.2f}s to run single system\".format(stop-start))\n", + " # print(\"The following keys are present in the results:\\n{}\".format(result.keys()))\n", + " # print(len(result))\n", + "\n", + " #### Now do whatever you want with it: \n", + "\n", + " # Cast the data into a dataframe. \n", + " df = pd.DataFrame.from_dict(result, dtype=np.float64)\n", + "\n", + " # Get last change moment\n", + " last_st = df['st1'].unique()[-1]\n", + " last_stellar_type_change_time_1 = df[df.st1==last_st]['time'].iloc[0]\n", + "\n", + " # slice to get that last time\n", + " sliced_df = df[df.time < last_stellar_type_change_time_1] # Cut off late parts of evolution\n", + "\n", + " main_sequence = sliced_df[sliced_df.st1==1]\n", + " \n", + " initial_mass = main_sequence.iloc[0].mass_1\n", + " final_mass = main_sequence.iloc[-1].mass_1\n", + " \n", + " initial_time = main_sequence.iloc[0].time\n", + " final_time = main_sequence.iloc[-1].time\n", + " \n", + " mass_lost = initial_mass - final_mass\n", + " fraction = mass_lost/initial_mass\n", + "\n", + " # Return the mass fraction (wrt initial mass)\n", + " return fraction\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Took 14.214274644851685s\n" + ] + } + ], + "source": [ + "import time\n", + "\n", + "metallicity_002 = 0.02\n", + "metallicity_001 = 0.01\n", + "metallicity_0002 = 0.002\n", + "\n", + "mass_range = np.arange(1, 25, .5)\n", + "\n", + "start = time.time()\n", + "fractions_z002 = [run_and_calc_mass(M_1=mass, \n", + " M_2=10, \n", + " separation=0, \n", + " orbital_period=100000000000, \n", + " metallicity=metallicity_002, \n", + " effective_metallicity=metallicity_002) \n", + " for mass in mass_range]\n", + "\n", + "fractions_z001 = [run_and_calc_mass(M_1=mass, \n", + " M_2=10, \n", + " separation=0, \n", + " orbital_period=100000000000, \n", + " metallicity=metallicity_001, \n", + " effective_metallicity=metallicity_001) \n", + " for mass in mass_range]\n", + "\n", + "fractions_z0002 = [run_and_calc_mass(M_1=mass, \n", + " M_2=10, \n", + " separation=0, \n", + " orbital_period=100000000000, \n", + " metallicity=metallicity_0002, \n", + " effective_metallicity=metallicity_0002) \n", + " for mass in mass_range]\n", + "stop = time.time()\n", + "print(\"Took {}s\".format(stop-start))" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 864x576 with 1 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "fig, ax = plt.subplots(nrows=1, ncols=1, figsize=(12,8))\n", + "\n", + "ax.plot(mass_range, fractions_z002, '--', label='Z=0.02')\n", + "ax.plot(mass_range, fractions_z001, '-.', label='Z=0.01')\n", + "ax.plot(mass_range, fractions_z0002, '-', label='Z=0.002')\n", + "\n", + "ax.set_xlabel(r'Initial Mass ($M_{\\odot}$)', fontsize=18)\n", + "ax.set_ylabel(r'Fraction of total initial mass lost on main sequence', fontsize=18)\n", + "ax.set_title('Fraction of total initial mass lost during main sequence for different metallicities', fontsize=18)\n", + "ax.legend()\n", + "ax.set_yscale('log')\n", + "#save_loop(name='plots/mass_loss_MS.{format}', formats=['pdf', 'png', 'eps'], bbox_inches='tight')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "heading_collapsed": "false" + }, + "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": 4 +} diff --git a/docs/build/html/binary_c_parameters.html b/docs/build/html/binary_c_parameters.html index 0188233a2..09ecc84d5 100644 --- a/docs/build/html/binary_c_parameters.html +++ b/docs/build/html/binary_c_parameters.html @@ -39,7 +39,7 @@ <link rel="index" title="Index" href="genindex.html" /> <link rel="search" title="Search" href="search.html" /> <link rel="next" title="Population grid code options" href="grid_options_descriptions.html" /> - <link rel="prev" title="Solar system using the API functionality" href="notebook_solar_system.html" /> + <link rel="prev" title="Example use case: Solar system using the API functionality" href="examples/notebook_solar_system.html" /> </head> <body class="wy-body-for-nav"> @@ -194,7 +194,7 @@ <h1>Binary_c parameters<a class="headerlink" href="#binary-c-parameters" title="Permalink to this headline">¶</a></h1> <p>The following chapter contains all the parameters that the current version of binary_c can handle, along with their descriptions and other properties.</p> <dl class="simple"> -<dt>This information was obtained by the following binary_c build:</dt><dd><p><strong>binary_c git branch</strong>: branch_david <strong>binary_c git revision</strong>: 5702:20211101:3715a4ab9 <strong>Built on</strong>: Nov 1 2021 13:50:56</p> +<dt>This information was obtained by the following binary_c build:</dt><dd><p><strong>binary_c git branch</strong>: HEAD <strong>binary_c git revision</strong>: 5747:20211102:404ce27a0 <strong>Built on</strong>: Nov 2 2021 22:56:15</p> </dd> </dl> <div class="section" id="section-stars"> @@ -750,28 +750,6 @@ <div class="line"><strong>Macros</strong>: [‘BH_HURLEY2002 = 0’, ‘BH_BELCZYNSKI = 1’, ‘BH_SPERA2015 = 2’, ‘BH_FRYER12_DELAYED = 3’, ‘BH_FRYER12_RAPID = 4’, ‘BH_FRYER12_STARTRACK = 5’]</div> </div> <div class="line-block"> -<div class="line"><strong>Parameter</strong>: PPISN_prescription</div> -<div class="line"><strong>Description</strong>: (Pulsational) Pair-Instability Supernova prescription: Relates initial helium core mass of star to whether the star undergoes PPISN or PISN. Requires PPISN flag to be True (see binary_c_parameters.h). 0=no ppisn, 1=Farmer et al 2019. 2=Hendriks et al 21 (in prep), which is different fit based on the same data as Farmer et al 2019</div> -<div class="line"><strong>Parameter input type</strong>: Integer</div> -<div class="line"><strong>Default value</strong>: 1</div> -<div class="line"><strong>Macros</strong>: [‘PPISN_NONE = 0’, ‘PPISN_FARMER19 = 1’, ‘PPISN_NEW_FIT_21 = 2’]</div> -<div class="line"><strong>Extra</strong>: Ignore</div> -</div> -<div class="line-block"> -<div class="line"><strong>Parameter</strong>: PPISN_additional_massloss</div> -<div class="line"><strong>Description</strong>: (Pulsational) Pair-Instability Supernova additional massloss (on top of the result of the prescription). Value currently is not required to be positive</div> -<div class="line"><strong>Parameter input type</strong>: Float</div> -<div class="line"><strong>Default value</strong>: 0</div> -<div class="line"><strong>Extra</strong>: Ignore</div> -</div> -<div class="line-block"> -<div class="line"><strong>Parameter</strong>: use_LWN_fallback</div> -<div class="line"><strong>Description</strong>: Flag whether to use the Nazehdin-Lovegrove-Woosley hydrogen envelope ejection at failed supernova.</div> -<div class="line"><strong>Parameter input type</strong>: Integer</div> -<div class="line"><strong>Default value</strong>: 1</div> -<div class="line"><strong>Extra</strong>: Ignore</div> -</div> -<div class="line-block"> <div class="line"><strong>Parameter</strong>: sn_kick_distribution_II</div> <div class="line"><strong>Description</strong>: Set the distribution of speeds applied to kick type II core collapse supernova systems. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c).</div> <div class="line"><strong>Parameter input type</strong>: Integer</div> @@ -803,7 +781,7 @@ <div class="line"><strong>Parameter</strong>: sn_kick_distribution_GRB_COLLAPSAR</div> <div class="line"><strong>Description</strong>: Set the distribution of speeds applied to kick newly-born neutron stars and black holes after a type Ib/c core-collapse supernova which is also a collapsar. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c).</div> <div class="line"><strong>Parameter input type</strong>: Integer</div> -<div class="line"><strong>Default value</strong>: 0</div> +<div class="line"><strong>Default value</strong>: 1</div> <div class="line"><strong>Macros</strong>: [‘KICK_VELOCITY_FIXED = 0’, ‘KICK_VELOCITY_MAXWELLIAN = 1’, ‘KICK_VELOCITY_CUSTOM = 2’]</div> </div> <div class="line-block"> @@ -849,27 +827,6 @@ <div class="line"><strong>Macros</strong>: [‘KICK_VELOCITY_FIXED = 0’, ‘KICK_VELOCITY_MAXWELLIAN = 1’, ‘KICK_VELOCITY_CUSTOM = 2’]</div> </div> <div class="line-block"> -<div class="line"><strong>Parameter</strong>: sn_kick_distribution_PPISN</div> -<div class="line"><strong>Description</strong>: Set the distribution of speeds applied to PPISN supernovae. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c).</div> -<div class="line"><strong>Parameter input type</strong>: Integer</div> -<div class="line"><strong>Default value</strong>: 1</div> -<div class="line"><strong>Macros</strong>: [‘KICK_VELOCITY_FIXED = 0’, ‘KICK_VELOCITY_MAXWELLIAN = 1’, ‘KICK_VELOCITY_CUSTOM = 2’]</div> -</div> -<div class="line-block"> -<div class="line"><strong>Parameter</strong>: sn_kick_distribution_PISN</div> -<div class="line"><strong>Description</strong>: Set the distribution of speeds applied to PISN supernovae. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c).</div> -<div class="line"><strong>Parameter input type</strong>: Integer</div> -<div class="line"><strong>Default value</strong>: 0</div> -<div class="line"><strong>Macros</strong>: [‘KICK_VELOCITY_FIXED = 0’, ‘KICK_VELOCITY_MAXWELLIAN = 1’, ‘KICK_VELOCITY_CUSTOM = 2’]</div> -</div> -<div class="line-block"> -<div class="line"><strong>Parameter</strong>: sn_kick_distribution_PHDIS</div> -<div class="line"><strong>Description</strong>: Set the distribution of speeds applied to PHDIS supernovae. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c).</div> -<div class="line"><strong>Parameter input type</strong>: Integer</div> -<div class="line"><strong>Default value</strong>: 0</div> -<div class="line"><strong>Macros</strong>: [‘KICK_VELOCITY_FIXED = 0’, ‘KICK_VELOCITY_MAXWELLIAN = 1’, ‘KICK_VELOCITY_CUSTOM = 2’]</div> -</div> -<div class="line-block"> <div class="line"><strong>Parameter</strong>: sn_kick_dispersion_II</div> <div class="line"><strong>Description</strong>: Set the dispersion of speeds applied to kick type II core collapse supernova systems. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c).</div> <div class="line"><strong>Parameter input type</strong>: Float</div> @@ -897,7 +854,7 @@ <div class="line"><strong>Parameter</strong>: sn_kick_dispersion_GRB_COLLAPSAR</div> <div class="line"><strong>Description</strong>: Set the dispersion of speeds applied to kick newly-born neutron stars and black holes after a type Ib/c core-collapse supernova which is also a collapsar. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c).</div> <div class="line"><strong>Parameter input type</strong>: Float</div> -<div class="line"><strong>Default value</strong>: 0</div> +<div class="line"><strong>Default value</strong>: 190</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: sn_kick_dispersion_TZ</div> @@ -936,24 +893,6 @@ <div class="line"><strong>Default value</strong>: 0</div> </div> <div class="line-block"> -<div class="line"><strong>Parameter</strong>: sn_kick_dispersion_PPISN</div> -<div class="line"><strong>Description</strong>: Set the dispersion of speeds applied to the survivor of a PPISN supernova. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c).</div> -<div class="line"><strong>Parameter input type</strong>: Float</div> -<div class="line"><strong>Default value</strong>: 190</div> -</div> -<div class="line-block"> -<div class="line"><strong>Parameter</strong>: sn_kick_dispersion_PISN</div> -<div class="line"><strong>Description</strong>: Set the dispersion of speeds applied to the survivor of a PISN supernova. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c).</div> -<div class="line"><strong>Parameter input type</strong>: Float</div> -<div class="line"><strong>Default value</strong>: 0</div> -</div> -<div class="line-block"> -<div class="line"><strong>Parameter</strong>: sn_kick_dispersion_PHDIS</div> -<div class="line"><strong>Description</strong>: Set the dispersion of speeds applied to the survivor of a PHDIS supernova. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c).</div> -<div class="line"><strong>Parameter input type</strong>: Float</div> -<div class="line"><strong>Default value</strong>: 0</div> -</div> -<div class="line-block"> <div class="line"><strong>Parameter</strong>: sn_kick_companion_IA_He</div> <div class="line"><strong>Description</strong>: Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a Ia He supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> @@ -1094,27 +1033,6 @@ <div class="line"><strong>Macros</strong>: [‘SN_IMPULSE_NONE = 0’, ‘SN_IMPULSE_LIU2015 = 1’, ‘SN_IMPULSE_WHEELER1975 = 2’]</div> </div> <div class="line-block"> -<div class="line"><strong>Parameter</strong>: sn_kick_companion_PPISN</div> -<div class="line"><strong>Description</strong>: Set the speed (if >=0) of, or the algothim (if <0) used to calculate the kick on the companion, if it survives, in a PPISN supernova. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975.</div> -<div class="line"><strong>Parameter input type</strong>: Float</div> -<div class="line"><strong>Default value</strong>: 0</div> -<div class="line"><strong>Macros</strong>: [‘SN_IMPULSE_NONE = 0’, ‘SN_IMPULSE_LIU2015 = 1’, ‘SN_IMPULSE_WHEELER1975 = 2’]</div> -</div> -<div class="line-block"> -<div class="line"><strong>Parameter</strong>: sn_kick_companion_PISN</div> -<div class="line"><strong>Description</strong>: Set the speed (if >=0) of, or the algothim (if <0) used to calculate the kick on the companion, if it survives, in a PISN supernova. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975.</div> -<div class="line"><strong>Parameter input type</strong>: Float</div> -<div class="line"><strong>Default value</strong>: 0</div> -<div class="line"><strong>Macros</strong>: [‘SN_IMPULSE_NONE = 0’, ‘SN_IMPULSE_LIU2015 = 1’, ‘SN_IMPULSE_WHEELER1975 = 2’]</div> -</div> -<div class="line-block"> -<div class="line"><strong>Parameter</strong>: sn_kick_companion_PHDIS</div> -<div class="line"><strong>Description</strong>: Set the speed (if >=0) of, or the algothim (if <0) used to calculate the kick on the companion, if it survives, in a PHDIS supernova. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975.</div> -<div class="line"><strong>Parameter input type</strong>: Float</div> -<div class="line"><strong>Default value</strong>: 0</div> -<div class="line"><strong>Macros</strong>: [‘SN_IMPULSE_NONE = 0’, ‘SN_IMPULSE_LIU2015 = 1’, ‘SN_IMPULSE_WHEELER1975 = 2’]</div> -</div> -<div class="line-block"> <div class="line"><strong>Parameter</strong>: wd_sigma</div> <div class="line"><strong>Description</strong>: Set the speed at which white dwarfs are kicked when they form, in km/s. Default is zero (i.e. no kick). Requires WD_KICKS.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> @@ -1186,25 +1104,25 @@ <div class="line"><strong>Parameter</strong>: delta_mcmin</div> <div class="line"><strong>Description</strong>: A parameter to reduce the minimum core mass for third dredge up to occur on the TPAGB. As used by Izzard and Tout (2004) to increase the amount of dredge up, hence carbon, in Magellanic cloud stars.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: 0</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: lambda_min</div> <div class="line"><strong>Description</strong>: A parameter to increase the efficiency of third dredge up on the TPAGB. The efficiency is lambda * lambda_mult, and setting lambda_min>0 implies that, once Mc>Mcmin (see delta_mcmin) lambda=Max(lambda(fit to Karakas), lambda_min). As used by Izzard and Tout (2004) to increase the amount of dredge up, hence carbon, in Magellanic cloud stars. See also lambda_multiplier.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: 0</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: lambda_multiplier</div> <div class="line"><strong>Description</strong>: A parameter to increase the efficiency of third dredge up on the TPAGB. The efficiency is lambda * lambda_mult, and setting lambda_min>0 implies that, once Mc>Mcmin (see delta_mcmin) lambda=Max(lambda(fit to Karakas), lambda_min). As used by Izzard and Tout (2004) to increase the amount of dredge up, hence carbon, in Magellanic cloud stars.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: 1</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: minimum_envelope_mass_for_third_dredgeup</div> <div class="line"><strong>Description</strong>: The minimum envelope mass for third dredge up on the TPAGB. Early, solar metallicity models by Straniero et al suggested 0.5Msun is typical. However, circumstantial evidence (Izzard et al 2009) as well as newer models by Stancliffe and Karakas suggest that at low metallicity a value nearer zero is more appropriate.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: 0.5</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: mass_of_pmz</div> @@ -1216,13 +1134,13 @@ <div class="line"><strong>Parameter</strong>: c13_eff</div> <div class="line"><strong>Description</strong>: The “efficiency†of partial mixing in a TPAGB star intershell region, when using the s-process tables of Gallino, Busso, Lugaro et al. as provided by Maria Lugaro for the Izzard et al. 2009 paper. Requires NUCSYN and NUCSYN_S_PROCESS.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: 1</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: mc13_pocket_multiplier</div> <div class="line"><strong>Description</strong>: Multiplies the mass in the partial mixing zone of a TPAGB star, when using the s-process tables of Gallino, Busso, Lugaro et al. as provided by Maria Lugaro for the Izzard et al. 2009 paper. Requires NUCSYN and NUCSYN_S_PROCESS.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: 1</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: tides_convective_damping</div> @@ -1248,7 +1166,7 @@ <div class="line"><strong>Parameter</strong>: hbbtfac</div> <div class="line"><strong>Description</strong>: A parameter to modulate the temperature at the base of the hot-bottom burning zone in TPAGB stars. (Works only if NUCSYN is defined)</div> <div class="line"><strong>Parameter input type</strong>: Float</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: 1</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: wind_multiplier_%d</div> @@ -1334,7 +1252,7 @@ <div class="line"><strong>Parameter</strong>: MINT_metallicity</div> <div class="line"><strong>Description</strong>: This sets the metallicity for MINT. It is ignored if set to -1.0, the default, in which case the normal metallicity parameter is used.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: -1</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: gaia_Teff_binwidth</div> @@ -1366,28 +1284,28 @@ <div class="line"><strong>Parameter</strong>: AGB_core_algorithm</div> <div class="line"><strong>Description</strong>: Algorithm to use for calculating AGB core masses. 0=Hurley et al. 2002 if no NUCSYN, Karakas 2002 if NUCSYN is defined; 1=Hurley et al. 2002 (overshooting models); 1=Karakas 2002 (non-overshooting models).</div> <div class="line"><strong>Parameter input type</strong>: Integer</div> -<div class="line"><strong>Default value</strong>: 1</div> +<div class="line"><strong>Default value</strong>: 2</div> <div class="line"><strong>Macros</strong>: [‘AGB_CORE_ALGORITHM_DEFAULT = 0’, ‘AGB_CORE_ALGORITHM_HURLEY = 1’, ‘AGB_CORE_ALGORITHM_KARAKAS = 2’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: AGB_radius_algorithm</div> <div class="line"><strong>Description</strong>: Algorithm to use for calculating radii on the TPAGB.</div> <div class="line"><strong>Parameter input type</strong>: Integer</div> -<div class="line"><strong>Default value</strong>: 1</div> +<div class="line"><strong>Default value</strong>: 2</div> <div class="line"><strong>Macros</strong>: [‘AGB_RADIUS_ALGORITHM_DEFAULT = 0’, ‘AGB_RADIUS_ALGORITHM_HURLEY = 1’, ‘AGB_RADIUS_ALGORITHM_KARAKAS = 2’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: AGB_luminosity_algorithm</div> <div class="line"><strong>Description</strong>: Algorithm to use for calculating luminosities on the TPAGB.</div> <div class="line"><strong>Parameter input type</strong>: Integer</div> -<div class="line"><strong>Default value</strong>: 1</div> +<div class="line"><strong>Default value</strong>: 2</div> <div class="line"><strong>Macros</strong>: [‘AGB_LUMINOSITY_ALGORITHM_DEFAULT = 0’, ‘AGB_LUMINOSITY_ALGORITHM_HURLEY = 1’, ‘AGB_LUMINOSITY_ALGORITHM_KARAKAS = 2’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: AGB_3dup_algorithm</div> <div class="line"><strong>Description</strong>: Algorithm to use for calculating third dredge up efficiency on the TPAGB.</div> <div class="line"><strong>Parameter input type</strong>: Integer</div> -<div class="line"><strong>Default value</strong>: 1</div> +<div class="line"><strong>Default value</strong>: 2</div> <div class="line"><strong>Macros</strong>: [‘AGB_THIRD_DREDGE_UP_ALGORITHM_DEFAULT = 0’, ‘AGB_THIRD_DREDGE_UP_ALGORITHM_HURLEY = 1’, ‘AGB_THIRD_DREDGE_UP_ALGORITHM_KARAKAS = 2’, ‘AGB_THIRD_DREDGE_UP_ALGORITHM_STANCLIFFE = 3’]</div> </div> <div class="line-block"> @@ -1554,6 +1472,24 @@ <div class="line"><strong>Parameter input type</strong>: True|False</div> <div class="line"><strong>Default value</strong>: False</div> </div> +<div class="line-block"> +<div class="line"><strong>Parameter</strong>: degenerate_core_merger_nucsyn</div> +<div class="line"><strong>Description</strong>: If TRUE, assume that in a degnerate core merger, energy is generated from nucleosynthesis of the whole core, and that this can disrupt the core. The BSE algorithm (Hurley et al. 2002) assumes this to be TRUE, but binary_c assumes FALSE by default. (FALSE)</div> +<div class="line"><strong>Parameter input type</strong>: True|False</div> +<div class="line"><strong>Default value</strong>: False</div> +</div> +<div class="line-block"> +<div class="line"><strong>Parameter</strong>: degenerate_core_helium_merger_ignition</div> +<div class="line"><strong>Description</strong>: If TRUE, assume that when there is a degenerate helium core merger, the star reignites helium. This is required to make R-type carbon stars. (TRUE)</div> +<div class="line"><strong>Parameter input type</strong>: True|False</div> +<div class="line"><strong>Default value</strong>: True</div> +</div> +<div class="line-block"> +<div class="line"><strong>Parameter</strong>: degenerate_core_merger_dredgeup_fraction</div> +<div class="line"><strong>Description</strong>: If non-zero, mix this fraction of the degenerate core during a merger.(0.0).</div> +<div class="line"><strong>Parameter input type</strong>: Float</div> +<div class="line"><strong>Default value</strong>: 0</div> +</div> </div> <div class="section" id="section-binary"> <h2>Section: binary<a class="headerlink" href="#section-binary" title="Permalink to this headline">¶</a></h2> @@ -1759,7 +1695,7 @@ <div class="line"><strong>Parameter</strong>: post_ce_objects_have_envelopes</div> <div class="line"><strong>Description</strong>: If TRUE then post-common-envelope objects have thin envelopes. You need this if you are to have post-CE post-AGB stars. Note that this <em>may</em> be unstable, i.e. you may end up having many CEEs. The mass in the envelope is controlled by post_ce_adaptive_menv. TRUE by default.</div> <div class="line"><strong>Parameter input type</strong>: True|False</div> -<div class="line"><strong>Default value</strong>: True</div> +<div class="line"><strong>Default value</strong>: False</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: PN_comenv_transition_time</div> @@ -1961,20 +1897,22 @@ <div class="line"><strong>Parameter</strong>: type_Ia_MCh_supernova_algorithm</div> <div class="line"><strong>Description</strong>: Algorithm to be used when calculating type Ia yields from Chandrasekhar-mass exploders. 0 = DD7 (Iwamoto 1999), 1 = Seitenzahl 2013 3D hydro yields (you must also set Seitenzahl2013_model)</div> <div class="line"><strong>Parameter input type</strong>: Integer</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: 0</div> +<div class="line"><strong>Macros</strong>: [‘TYPE_IA_MCH_SUPERNOVA_ALGORITHM_DD2 = 0’, ‘TYPE_IA_MCH_SUPERNOVA_ALGORITHM_SEITENZAHL2013 = 1’, ‘TYPE_IA_MCH_SUPERNOVA_ALGORITHM_SEITENZAHL2013_AUTOMATIC = 2’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: Seitenzahl2013_model</div> <div class="line"><strong>Description</strong>: Which of Seitenzahl et al. 2013’s models to use? One of N1,N3,N5,N10,N20,N40,N100L,N100,N100H,N150,N200,N300C,N1600,N1600C,N100_Z0.5,N100_Z0.1,N100_Z0.01 (defaults to N100).</div> <div class="line"><strong>Parameter input type</strong>: String</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: N100</div> <div class="line"><strong>Extra</strong>: N1</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: type_Ia_sub_MCh_supernova_algorithm</div> <div class="line"><strong>Description</strong>: Algorithm to be used when calculating type Ia yields from sub-Chandrasekhar-mass exploders. (Currently unused.)</div> <div class="line"><strong>Parameter input type</strong>: Integer</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: 0</div> +<div class="line"><strong>Macros</strong>: [‘TYPE_IA_SUB_MCH_SUPERNOVA_ALGORITHM_LIVNE_ARNETT_1995 = 0’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: max_HeWD_mass</div> @@ -2736,7 +2674,7 @@ <div class="line"><strong>Parameter</strong>: NeNaMgAl</div> <div class="line"><strong>Description</strong>: Enables NeNaMgAl reaction network. Requires NUCSYN and NUCSYN_HBB.</div> <div class="line"><strong>Parameter input type</strong>: True|False</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: True</div> <div class="line"><strong>Extra</strong>: Ignore</div> </div> <div class="line-block"> @@ -2761,21 +2699,23 @@ <div class="line"><strong>Parameter</strong>: nucsyn_metallicity</div> <div class="line"><strong>Description</strong>: This sets the metallicity of the nucleosynthesis algorithms, i.e. the amount (by mass) of matter which is not hydrogen or helium. Usually you’d just set this with the metallicity parameter, but if you want the nucleosynthesis to be outside the range of the stellar evolution algorithm (e.g. Z=0 or Z=0.04) then you need to use nucsyn_metallicity. That said, it’s also outside the range of some of the nucleosynthesis algorithms as well, so you have been warned!</div> <div class="line"><strong>Parameter input type</strong>: Float</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: -1</div> <div class="line"><strong>Macros</strong>: [‘DEFAULT_TO_METALLICITY = -1’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: nucsyn_solver</div> <div class="line"><strong>Description</strong>: Choose the solver used in nuclear burning. 0 = KAPS_RENTROP is a Kaps-Rentrop scheme (fast, not great for stiff problems), 1 = LSODA (Adams/BSF switcher), 2 = CVODE library (<a class="reference external" href="https://computing.llnl.gov/projects/sundials">https://computing.llnl.gov/projects/sundials</a>. Default 0.</div> <div class="line"><strong>Parameter input type</strong>: Unsigned integer</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: 0</div> +<div class="line"><strong>Macros</strong>: [‘NUCSYN_SOLVER_KAPS_RENTROP = 0’, ‘NUCSYN_SOLVER_LSODA = 1’, ‘NUCSYN_SOLVER_CVODE = 2’, ‘NUCSYN_SOLVER_NUMBER = 3’, ‘NUCSYN_SOLVER_KAPS_RENTROP = 0’, ‘NUCSYN_SOLVER_LSODA = 1’, ‘NUCSYN_SOLVER_CVODE = 2’, ‘NUCSYN_SOLVER_NUMBER = 3’]</div> <div class="line"><strong>Extra</strong>: 0</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: initial_abundance_mix</div> <div class="line"><strong>Description</strong>: initial abundance mixture: 0=AG89, 1=Karakas 2002, 2=Lodders 2003, 3=Asplund 2005 (not available?), 4=Garcia Berro, 5=Grevesse Noels 1993</div> <div class="line"><strong>Parameter input type</strong>: Unsigned integer</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: 0</div> +<div class="line"><strong>Macros</strong>: [‘NUCSYN_INIT_ABUND_MIX_AG89 = 0’, ‘NUCSYN_INIT_ABUND_MIX_KARAKAS2002 = 1’, ‘NUCSYN_INIT_ABUND_MIX_LODDERS2003 = 2’, ‘NUCSYN_INIT_ABUND_MIX_ASPLUND2005 = 3’, ‘NUCSYN_INIT_ABUND_MIX_GARCIABERRO = 4’, ‘NUCSYN_INIT_ABUND_MIX_GREVESSE_NOELS_1993 = 5’, ‘NUCSYN_INIT_ABUND_MIX_ASPLUND2009 = 6’, ‘NUCSYN_INIT_ABUND_MIX_KOBAYASHI2011_ASPLUND2009 = 7’, ‘NUCSYN_INIT_ABUND_MIX_LODDERS2010 = 8’]</div> <div class="line"><strong>Extra</strong>: 0</div> </div> <div class="line-block"> @@ -2803,43 +2743,44 @@ <div class="line"><strong>Parameter</strong>: init_abunds_only</div> <div class="line"><strong>Description</strong>: If True, outputs only the initial abundances, then exits.</div> <div class="line"><strong>Parameter input type</strong>: True|False</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: False</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: initial_abunds_only</div> <div class="line"><strong>Description</strong>: If True, outputs only the initial abundances, then exits.</div> <div class="line"><strong>Parameter input type</strong>: True|False</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: False</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: no_thermohaline_mixing</div> <div class="line"><strong>Description</strong>: If True, disables thermohaline mixing.</div> <div class="line"><strong>Parameter input type</strong>: True|False</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: False</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: lithium_GB_post_Heflash</div> <div class="line"><strong>Description</strong>: Sets the lithium abundances after the helium flash. Requires NUCSYN and LITHIUM_TABLES.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: 0</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: lithium_GB_post_1DUP</div> <div class="line"><strong>Description</strong>: Sets the lithium abundance after first dredge up. Requires NUCSYN and LITHIUM_TABLES.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: 0</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: lithium_hbb_multiplier</div> <div class="line"><strong>Description</strong>: Multiplies the lithium abundances on the AGB during HBB (based on Karakas/Fishlock et al models).Requires NUCSYN and LITHIUM_TABLES.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: 1</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: angelou_lithium_decay_function</div> <div class="line"><strong>Description</strong>: Functional form which describes Li7 decay. Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Choices are: 0 expoential (see angelou_lithium_decay_time).</div> <div class="line"><strong>Parameter input type</strong>: Integer</div> <div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Macros</strong>: [‘ANGELOU_LITHIUM_DECAY_FUNCTION_EXPONENTIAL = 0’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: angelou_lithium_LMMS_time</div> @@ -2983,17 +2924,10 @@ <div class="section" id="section-output"> <h2>Section: output<a class="headerlink" href="#section-output" title="Permalink to this headline">¶</a></h2> <div class="line-block"> -<div class="line"><strong>Parameter</strong>: david_logging_function</div> -<div class="line"><strong>Description</strong>: Function to choose which kind of information gets logged Requires DAVID. Choices are: 0= None, >0 for custom logging functions</div> -<div class="line"><strong>Parameter input type</strong>: Integer</div> -<div class="line"><strong>Default value</strong>: 0</div> -<div class="line"><strong>Extra</strong>: Ignore</div> -</div> -<div class="line-block"> <div class="line"><strong>Parameter</strong>: cf_amanda_log</div> <div class="line"><strong>Description</strong>: Enable logging to compare to Amanda’s models.</div> <div class="line"><strong>Parameter input type</strong>: True|False</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: False</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: float_overflow_checks</div> @@ -3041,7 +2975,7 @@ <div class="line"><strong>Parameter</strong>: legacy_yields</div> <div class="line"><strong>Description</strong>: Turn on ensemble legacy yield output.</div> <div class="line"><strong>Parameter input type</strong>: True|False</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: False</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: ensemble_defer</div> @@ -3089,31 +3023,31 @@ <div class="line"><strong>Parameter</strong>: EMP_logg_maximum</div> <div class="line"><strong>Description</strong>: Maximum logg that EMP stars are allowed to have. See Izzard et al 2009. See also CEMP_cfe_minimum, NEMP_nfe_minimum, EMP_minimum_age.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: 4</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: EMP_minimum_age</div> <div class="line"><strong>Description</strong>: Minimum age that EMP stars are required to have. See Izzard et al 2009. See also CEMP_cfe_minimum, NEMP_nfe_minimum, EMP_logg_maximum.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: 10</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: EMP_feh_maximum</div> <div class="line"><strong>Description</strong>: Maximum [Fe/H] that an EMP stars may have. See Izzard et al 2009. See also CEMP_cfe_minimum, NEMP_nfe_minimum, EMP_logg_maximum, EMP_minimum_age. Default -2.0.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: -2</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: CEMP_cfe_minimum</div> <div class="line"><strong>Description</strong>: Minimum [C/Fe] that CEMP stars are required to have. See Izzard et al 2009. See also NEMP_cfe_minimum, EMP_logg_maximum, EMP_minimum_age. Default 0.7.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: 0.7</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: NEMP_cfe_minimum</div> <div class="line"><strong>Description</strong>: Minimum [N/Fe] that NEMP stars are required to have. See Izzard et al 2009, Pols et al. 2012. See also CEMP_cfe_minimum, EMP_logg_maximum, EMP_minimum_age. Default 1.0.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: 1</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: thick_disc_start_age</div> @@ -3273,84 +3207,84 @@ <div class="line"><strong>Parameter</strong>: MINT_dir</div> <div class="line"><strong>Description</strong>: Location of MINT algorithm data.</div> <div class="line"><strong>Parameter input type</strong>: String</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>:</div> <div class="line"><strong>Extra</strong>:</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: MINT_data_cleanup</div> <div class="line"><strong>Description</strong>: Activate checks on incoming data to try to account for problems. Will make data-loading slower, but may fix a few things.</div> <div class="line"><strong>Parameter input type</strong>: True|False</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: False</div> <div class="line"><strong>Extra</strong>:</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: MINT_MS_rejuvenation</div> <div class="line"><strong>Description</strong>: Turn on or off (hydrogen) main-sequence rejuvenation.</div> <div class="line"><strong>Parameter input type</strong>: True|False</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: True</div> <div class="line"><strong>Extra</strong>:</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: MINT_remesh</div> <div class="line"><strong>Description</strong>: Turn on or off MINT’s remeshing.</div> <div class="line"><strong>Parameter input type</strong>: True|False</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: True</div> <div class="line"><strong>Extra</strong>:</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: MINT_use_ZAMS_profiles</div> <div class="line"><strong>Description</strong>: Use chemical profiles at the ZAMS if MINT_use_ZAMS_profiles is TRUE, otherwise set homogeneous abundances. (Default is TRUE, so we use the profiles if they are available.)</div> <div class="line"><strong>Parameter input type</strong>: True|False</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: True</div> <div class="line"><strong>Extra</strong>:</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: MINT_fallback_to_test_data</div> <div class="line"><strong>Description</strong>: If TRUE, use the MINT test_data directory as a fallback when data is unavailable. (FALSE)</div> <div class="line"><strong>Parameter input type</strong>: True|False</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: False</div> <div class="line"><strong>Extra</strong>:</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: MINT_disable_grid_load_warnings</div> <div class="line"><strong>Description</strong>: Use this to explicitly disable MINT’s warnings when loading a grid with, e.g., missing or too much data.</div> <div class="line"><strong>Parameter input type</strong>: True|False</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: False</div> <div class="line"><strong>Extra</strong>:</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: MINT_Kippenhahn</div> <div class="line"><strong>Description</strong>: Turn on or off MINT’s Kippenhahn diagrams. If 0, off, if 1, output star 1 (index 0), if 2 output star 2 (index 1). Default 0.</div> <div class="line"><strong>Parameter input type</strong>: Integer</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: 0</div> <div class="line"><strong>Extra</strong>:</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: MINT_nshells</div> <div class="line"><strong>Description</strong>: Set the initial number of shells MINT uses in each star when doing nuclear burning. Note: remeshing can change this. If MINT_nshells is 0, shellular burning and other routines that require shells will not be available. (200)</div> <div class="line"><strong>Parameter input type</strong>: Integer</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: 200</div> <div class="line"><strong>Extra</strong>:</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: MINT_maximum_nshells</div> <div class="line"><strong>Description</strong>: Set the maximum number of shells MINT uses in each star when doing nuclear burning. Note that this will be limited to MINT_HARD_MAX_NSHELLS. (1000)</div> <div class="line"><strong>Parameter input type</strong>: Integer</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: 1000</div> <div class="line"><strong>Extra</strong>:</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: MINT_minimum_nshells</div> <div class="line"><strong>Description</strong>: Set the minimum number of shells MINT uses in each star when doing nuclear burning. Note that this will be greater than or equal to MINT_HARD_MIN_NSHELLS, which is 0 by default. (0)</div> <div class="line"><strong>Parameter input type</strong>: Integer</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: 10</div> <div class="line"><strong>Extra</strong>:</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: MINT_Kippenhahn_stellar_type</div> <div class="line"><strong>Description</strong>: Stellar type selector for Kippenhahn plots. Set to -1 to ignore, otherwise the stellar type number for which Kippenhahn plot data should be output.</div> <div class="line"><strong>Parameter input type</strong>: Integer</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: -1</div> <div class="line"><strong>Macros</strong>: [‘LOW_MASS_MS = 0’, ‘MS = 1’, ‘HG = 2’, ‘GIANT_BRANCH = 3’, ‘CHeB = 4’, ‘EAGB = 5’, ‘TPAGB = 6’, ‘HeMS = 7’, ‘HeHG = 8’, ‘HeGB = 9’, ‘HeWD = 10’, ‘COWD = 11’, ‘ONeWD = 12’, ‘NS = 13’, ‘BH = 14’, ‘MASSLESS_REMNANT = 15’]</div> <div class="line"><strong>Extra</strong>:</div> </div> @@ -3358,7 +3292,7 @@ <div class="line"><strong>Parameter</strong>: MINT_Kippenhahn_companion_stellar_type</div> <div class="line"><strong>Description</strong>: Companion stellar type selector for Kippenhahn plots. Set to -1 to ignore, otherwise the stellar type number for the companion for which Kippenhahn plot data should be output.</div> <div class="line"><strong>Parameter input type</strong>: Integer</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: -1</div> <div class="line"><strong>Macros</strong>: [‘LOW_MASS_MS = 0’, ‘MS = 1’, ‘HG = 2’, ‘GIANT_BRANCH = 3’, ‘CHeB = 4’, ‘EAGB = 5’, ‘TPAGB = 6’, ‘HeMS = 7’, ‘HeHG = 8’, ‘HeGB = 9’, ‘HeWD = 10’, ‘COWD = 11’, ‘ONeWD = 12’, ‘NS = 13’, ‘BH = 14’, ‘MASSLESS_REMNANT = 15’]</div> <div class="line"><strong>Extra</strong>:</div> </div> @@ -3366,21 +3300,21 @@ <div class="line"><strong>Parameter</strong>: MINT_nuclear_burning</div> <div class="line"><strong>Description</strong>: Turn on or off MINT’s nuclear burning algorithm.</div> <div class="line"><strong>Parameter input type</strong>: True|False</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: False</div> <div class="line"><strong>Extra</strong>:</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: MINT_minimum_shell_mass</div> <div class="line"><strong>Description</strong>: Minimum shell mass in MINT’s nuclear burning routines.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: 1e-06</div> <div class="line"><strong>Extra</strong>:</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: MINT_maximum_shell_mass</div> <div class="line"><strong>Description</strong>: Maximum shell mass in MINT’s nuclear burning routines. :</div> <div class="line"><strong>Parameter input type</strong>: Float</div> -<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Default value</strong>: 0.1</div> <div class="line"><strong>Extra</strong>:</div> </div> </div> @@ -3549,7 +3483,7 @@ <a href="grid_options_descriptions.html" class="btn btn-neutral float-right" title="Population grid code options" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a> - <a href="notebook_solar_system.html" class="btn btn-neutral float-left" title="Solar system using the API functionality" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a> + <a href="examples/notebook_solar_system.html" class="btn btn-neutral float-left" title="Example use case: Solar system using the API functionality" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a> </div> @@ -3564,9 +3498,9 @@ </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/custom_logging_functions.html b/docs/build/html/custom_logging_functions.html index 2b93675bf..afe2cfd49 100644 --- a/docs/build/html/custom_logging_functions.html +++ b/docs/build/html/custom_logging_functions.html @@ -409,9 +409,9 @@ I recommend using this in function in combination with a function that generates </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/distribution_functions.html b/docs/build/html/distribution_functions.html index a4139bcbb..d0f39b5eb 100644 --- a/docs/build/html/distribution_functions.html +++ b/docs/build/html/distribution_functions.html @@ -900,9 +900,9 @@ and is be given by dp/dlogP ~ (logP)^p for all other binary configurations (defa </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/example_notebooks.html b/docs/build/html/example_notebooks.html index 4813151e8..8951cee7c 100644 --- a/docs/build/html/example_notebooks.html +++ b/docs/build/html/example_notebooks.html @@ -38,7 +38,7 @@ <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="index" title="Index" href="genindex.html" /> <link rel="search" title="Search" href="search.html" /> - <link rel="next" title="Tutorial: Running individual systems with binary_c-python" href="notebook_individual_systems.html" /> + <link rel="next" title="Tutorial: Running individual systems with binary_c-python" href="examples/notebook_individual_systems.html" /> <link rel="prev" title="useful_funcs module" href="useful_funcs.html" /> </head> @@ -88,18 +88,18 @@ <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 current"><a class="current reference internal" href="#">Example notebooks</a><ul> -<li class="toctree-l2"><a class="reference internal" href="notebook_individual_systems.html">Tutorial: Running individual systems with binary_c-python</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_custom_logging.html">Tutorial: Using custom logging routines with binary_c-python</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_population.html">Tutorial: Running populations with binary_c-python</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_extra_features.html">Tutorial: Extra features and functionality of binary_c-python</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_api_functionality.html">Tutorial: Using the API functionality of binary_c-python</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_luminosity_function_single.html">Example use case: Zero-age stellar luminosity function</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_luminosity_function_binaries.html">Example use case: Zero-age stellar luminosity function in binaries</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_HRD.html">Example use case: Hertzsprung-Russell diagrams</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_common_envelope_evolution.html">Example use case: Common-envelope evolution</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_BHBH.html">Tutorial: Running individual systems with binary_c-python</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_massive_remnants.html">Example use case: Zero-age stellar luminosity function</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_solar_system.html">Solar system using the API functionality</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_individual_systems.html">Tutorial: Running individual systems with binary_c-python</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_custom_logging.html">Tutorial: Using custom logging routines with binary_c-python</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_population.html">Tutorial: Running populations with binary_c-python</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_extra_features.html">Tutorial: Extra features and functionality of binary_c-python</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_api_functionality.html">Tutorial: Using the API functionality of binary_c-python</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_luminosity_function_single.html">Example use case: Zero-age stellar luminosity function</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_luminosity_function_binaries.html">Example use case: Zero-age stellar luminosity function in binaries</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_HRD.html">Example use case: Hertzsprung-Russell diagrams</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_common_envelope_evolution.html">Example use case: Common-envelope evolution</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_BHBH.html">Example use case: Binary black hole systems</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_massive_remnants.html">Example use case: Massive star luminosity</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_solar_system.html">Example use case: Solar system using the API functionality</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="binary_c_parameters.html">Binary_c parameters</a></li> @@ -201,83 +201,80 @@ <div class="toctree-wrapper compound"> <p class="caption" role="heading"><span class="caption-text">Contents:</span></p> <ul> -<li class="toctree-l1"><a class="reference internal" href="notebook_individual_systems.html">Tutorial: Running individual systems with binary_c-python</a><ul> -<li class="toctree-l2"><a class="reference internal" href="notebook_individual_systems.html#Single-system-with-run_system_wrapper">Single system with run_system_wrapper</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_individual_systems.html#Single-system-via-population-object">Single system via population object</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_individual_systems.html#Single-system-via-API-functionality">Single system via API functionality</a></li> +<li class="toctree-l1"><a class="reference internal" href="examples/notebook_individual_systems.html">Tutorial: Running individual systems with binary_c-python</a><ul> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_individual_systems.html#Single-system-with-run_system_wrapper">Single system with run_system_wrapper</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_individual_systems.html#Single-system-via-population-object">Single system via population object</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_individual_systems.html#Single-system-via-API-functionality">Single system via API functionality</a></li> </ul> </li> -<li class="toctree-l1"><a class="reference internal" href="notebook_custom_logging.html">Tutorial: Using custom logging routines with binary_c-python</a><ul> -<li class="toctree-l2"><a class="reference internal" href="notebook_custom_logging.html#Usage">Usage</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_custom_logging.html#Examples-of-logging-strings">Examples of logging strings</a></li> +<li class="toctree-l1"><a class="reference internal" href="examples/notebook_custom_logging.html">Tutorial: Using custom logging routines with binary_c-python</a><ul> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_custom_logging.html#Usage">Usage</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_custom_logging.html#Examples-of-logging-strings">Examples of logging strings</a></li> </ul> </li> -<li class="toctree-l1"><a class="reference internal" href="notebook_population.html">Tutorial: Running populations with binary_c-python</a><ul> -<li class="toctree-l2"><a class="reference internal" href="notebook_population.html#Setting-up-the-Population-object">Setting up the Population object</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_population.html#Adding-grid-variables">Adding grid variables</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_population.html#Setting-logging-and-handling-the-output">Setting logging and handling the output</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_population.html#Evolving-the-grid">Evolving the grid</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_population.html#Noteworthy-functionality">Noteworthy functionality</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_population.html#Full-examples-of-population-scripts">Full examples of population scripts</a></li> +<li class="toctree-l1"><a class="reference internal" href="examples/notebook_population.html">Tutorial: Running populations with binary_c-python</a><ul> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_population.html#Setting-up-the-Population-object">Setting up the Population object</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_population.html#Adding-grid-variables">Adding grid variables</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_population.html#Setting-logging-and-handling-the-output">Setting logging and handling the output</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_population.html#Evolving-the-grid">Evolving the grid</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_population.html#Noteworthy-functionality">Noteworthy functionality</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_population.html#Full-examples-of-population-scripts">Full examples of population scripts</a></li> </ul> </li> -<li class="toctree-l1"><a class="reference internal" href="notebook_extra_features.html">Tutorial: Extra features and functionality of binary_c-python</a><ul> -<li class="toctree-l2"><a class="reference internal" href="notebook_extra_features.html#getting-extra-information-about-binary_c-parameters">getting extra information about binary_c parameters</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_extra_features.html#Build-information-of-binary_c">Build information of binary_c</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_extra_features.html#Example-parse-function">Example parse function</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_extra_features.html#Dictionary-modification">Dictionary modification</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_extra_features.html#Getting-help">Getting help</a></li> +<li class="toctree-l1"><a class="reference internal" href="examples/notebook_extra_features.html">Tutorial: Extra features and functionality of binary_c-python</a><ul> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_extra_features.html#getting-extra-information-about-binary_c-parameters">getting extra information about binary_c parameters</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_extra_features.html#Build-information-of-binary_c">Build information of binary_c</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_extra_features.html#Example-parse-function">Example parse function</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_extra_features.html#Dictionary-modification">Dictionary modification</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_extra_features.html#Getting-help">Getting help</a></li> </ul> </li> -<li class="toctree-l1"><a class="reference internal" href="notebook_api_functionality.html">Tutorial: Using the API functionality of binary_c-python</a><ul> -<li class="toctree-l2"><a class="reference internal" href="notebook_api_functionality.html#Example-usage:">Example usage:</a></li> +<li class="toctree-l1"><a class="reference internal" href="examples/notebook_api_functionality.html">Tutorial: Using the API functionality of binary_c-python</a><ul> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_api_functionality.html#Example-usage:">Example usage:</a></li> </ul> </li> -<li class="toctree-l1"><a class="reference internal" href="notebook_luminosity_function_single.html">Example use case: Zero-age stellar luminosity function</a><ul> -<li class="toctree-l2"><a class="reference internal" href="notebook_luminosity_function_single.html#Setting-up-the-Population-object">Setting up the Population object</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_luminosity_function_single.html#Adding-grid-variables">Adding grid variables</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_luminosity_function_single.html#Setting-logging-and-handling-the-output">Setting logging and handling the output</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_luminosity_function_single.html#Evolving-the-grid">Evolving the grid</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_luminosity_function_single.html#ZAMS-Luminosity-distribution-with-the-initial-mass-function">ZAMS Luminosity distribution with the initial mass function</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_luminosity_function_single.html#A-better-sampled-grid">A better-sampled grid</a></li> +<li class="toctree-l1"><a class="reference internal" href="examples/notebook_luminosity_function_single.html">Example use case: Zero-age stellar luminosity function</a><ul> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_luminosity_function_single.html#Setting-up-the-Population-object">Setting up the Population object</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_luminosity_function_single.html#Adding-grid-variables">Adding grid variables</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_luminosity_function_single.html#Setting-logging-and-handling-the-output">Setting logging and handling the output</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_luminosity_function_single.html#Evolving-the-grid">Evolving the grid</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_luminosity_function_single.html#ZAMS-Luminosity-distribution-with-the-initial-mass-function">ZAMS Luminosity distribution with the initial mass function</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_luminosity_function_single.html#A-better-sampled-grid">A better-sampled grid</a></li> </ul> </li> -<li class="toctree-l1"><a class="reference internal" href="notebook_luminosity_function_binaries.html">Example use case: Zero-age stellar luminosity function in binaries</a><ul> -<li class="toctree-l2"><a class="reference internal" href="notebook_luminosity_function_binaries.html#Setting-up-the-Population-object">Setting up the Population object</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_luminosity_function_binaries.html#Adding-grid-variables">Adding grid variables</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_luminosity_function_binaries.html#Setting-logging-and-handling-the-output">Setting logging and handling the output</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_luminosity_function_binaries.html#Evolving-the-grid">Evolving the grid</a></li> +<li class="toctree-l1"><a class="reference internal" href="examples/notebook_luminosity_function_binaries.html">Example use case: Zero-age stellar luminosity function in binaries</a><ul> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_luminosity_function_binaries.html#Setting-up-the-Population-object">Setting up the Population object</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_luminosity_function_binaries.html#Adding-grid-variables">Adding grid variables</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_luminosity_function_binaries.html#Setting-logging-and-handling-the-output">Setting logging and handling the output</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_luminosity_function_binaries.html#Evolving-the-grid">Evolving the grid</a></li> </ul> </li> -<li class="toctree-l1"><a class="reference internal" href="notebook_HRD.html">Example use case: Hertzsprung-Russell diagrams</a><ul> -<li class="toctree-l2"><a class="reference internal" href="notebook_HRD.html#Setting-up-the-Population-object">Setting up the Population object</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_HRD.html#Stellar-Grid">Stellar Grid</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_HRD.html#Setting-logging-and-handling-the-output">Setting logging and handling the output</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_HRD.html#Evolving-the-grid">Evolving the grid</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_HRD.html#Binary-stars">Binary stars</a></li> +<li class="toctree-l1"><a class="reference internal" href="examples/notebook_HRD.html">Example use case: Hertzsprung-Russell diagrams</a><ul> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_HRD.html#Setting-up-the-Population-object">Setting up the Population object</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_HRD.html#Stellar-Grid">Stellar Grid</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_HRD.html#Setting-logging-and-handling-the-output">Setting logging and handling the output</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_HRD.html#Evolving-the-grid">Evolving the grid</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_HRD.html#Binary-stars">Binary stars</a></li> </ul> </li> -<li class="toctree-l1"><a class="reference internal" href="notebook_common_envelope_evolution.html">Example use case: Common-envelope evolution</a><ul> -<li class="toctree-l2"><a class="reference internal" href="notebook_common_envelope_evolution.html#Setting-up-the-Population-object">Setting up the Population object</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_common_envelope_evolution.html#Stellar-Grid">Stellar Grid</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_common_envelope_evolution.html#Logging-and-handling-the-output">Logging and handling the output</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_common_envelope_evolution.html#Evolving-the-grid">Evolving the grid</a></li> +<li class="toctree-l1"><a class="reference internal" href="examples/notebook_common_envelope_evolution.html">Example use case: Common-envelope evolution</a><ul> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_common_envelope_evolution.html#Setting-up-the-Population-object">Setting up the Population object</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_common_envelope_evolution.html#Stellar-Grid">Stellar Grid</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_common_envelope_evolution.html#Logging-and-handling-the-output">Logging and handling the output</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_common_envelope_evolution.html#Evolving-the-grid">Evolving the grid</a></li> </ul> </li> -<li class="toctree-l1"><a class="reference internal" href="notebook_BHBH.html">Tutorial: Running individual systems with binary_c-python</a><ul> -<li class="toctree-l2"><a class="reference internal" href="notebook_BHBH.html#Single-system-with-run_system_wrapper">Single system with run_system_wrapper</a></li> +<li class="toctree-l1"><a class="reference internal" href="examples/notebook_BHBH.html">Example use case: Binary black hole systems</a></li> +<li class="toctree-l1"><a class="reference internal" href="examples/notebook_massive_remnants.html">Example use case: Massive star luminosity</a><ul> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_massive_remnants.html#Setting-up-the-Population-object">Setting up the Population object</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_massive_remnants.html#Adding-grid-variables">Adding grid variables</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_massive_remnants.html#Setting-logging-and-handling-the-output">Setting logging and handling the output</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_massive_remnants.html#Evolving-the-grid">Evolving the grid</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_massive_remnants.html#ZAMS-Luminosity-distribution-with-the-initial-mass-function">ZAMS Luminosity distribution with the initial mass function</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_massive_remnants.html#A-better-sampled-grid">A better-sampled grid</a></li> </ul> </li> -<li class="toctree-l1"><a class="reference internal" href="notebook_massive_remnants.html">Example use case: Zero-age stellar luminosity function</a><ul> -<li class="toctree-l2"><a class="reference internal" href="notebook_massive_remnants.html#Setting-up-the-Population-object">Setting up the Population object</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_massive_remnants.html#Adding-grid-variables">Adding grid variables</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_massive_remnants.html#Setting-logging-and-handling-the-output">Setting logging and handling the output</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_massive_remnants.html#Evolving-the-grid">Evolving the grid</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_massive_remnants.html#ZAMS-Luminosity-distribution-with-the-initial-mass-function">ZAMS Luminosity distribution with the initial mass function</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_massive_remnants.html#A-better-sampled-grid">A better-sampled grid</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="notebook_solar_system.html">Solar system using the API functionality</a></li> +<li class="toctree-l1"><a class="reference internal" href="examples/notebook_solar_system.html">Example use case: Solar system using the API functionality</a></li> </ul> </div> </div> @@ -290,7 +287,7 @@ <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> - <a href="notebook_individual_systems.html" class="btn btn-neutral float-right" title="Tutorial: Running individual systems with binary_c-python" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a> + <a href="examples/notebook_individual_systems.html" class="btn btn-neutral float-right" title="Tutorial: Running individual systems with binary_c-python" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a> <a href="useful_funcs.html" class="btn btn-neutral float-left" title="useful_funcs module" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a> @@ -308,9 +305,9 @@ </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/notebook_BHBH.html b/docs/build/html/examples/notebook_BHBH.html similarity index 99% rename from docs/build/html/notebook_BHBH.html rename to docs/build/html/examples/notebook_BHBH.html index 2b42e06d3..f124e2833 100644 --- a/docs/build/html/notebook_BHBH.html +++ b/docs/build/html/examples/notebook_BHBH.html @@ -8,7 +8,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <title>Tutorial: Running individual systems with binary_c-python — binary_c-python documentation</title> + <title>Example use case: Binary black hole systems — binary_c-python documentation</title> @@ -17,30 +17,30 @@ - <script type="text/javascript" src="_static/js/modernizr.min.js"></script> + <script type="text/javascript" src="../_static/js/modernizr.min.js"></script> - <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script> - <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/doctools.js"></script> + <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script> + <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/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 async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.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 type="text/javascript" src="_static/js/theme.js"></script> + <script type="text/javascript" src="../_static/js/theme.js"></script> - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> - <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> - <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> - <link rel="index" title="Index" href="genindex.html" /> - <link rel="search" title="Search" href="search.html" /> - <link rel="next" title="Example use case: Zero-age stellar luminosity function" href="notebook_massive_remnants.html" /> + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + <link rel="index" title="Index" href="../genindex.html" /> + <link rel="search" title="Search" href="../search.html" /> + <link rel="next" title="Example use case: Massive star luminosity" href="notebook_massive_remnants.html" /> <link rel="prev" title="Example use case: Common-envelope evolution" href="notebook_common_envelope_evolution.html" /> </head> @@ -55,7 +55,7 @@ - <a href="index.html" class="icon icon-home"> binary_c-python + <a href="../index.html" class="icon icon-home"> binary_c-python @@ -68,7 +68,7 @@ <div role="search"> - <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> + <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" /> @@ -87,9 +87,9 @@ <p class="caption" role="heading"><span class="caption-text">Contents:</span></p> <ul class="current"> -<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 current"><a class="reference internal" href="example_notebooks.html">Example notebooks</a><ul class="current"> +<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 current"><a class="reference internal" href="../example_notebooks.html">Example notebooks</a><ul class="current"> <li class="toctree-l2"><a class="reference internal" href="notebook_individual_systems.html">Tutorial: Running individual systems with binary_c-python</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_custom_logging.html">Tutorial: Using custom logging routines with binary_c-python</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_population.html">Tutorial: Running populations with binary_c-python</a></li> @@ -99,16 +99,13 @@ <li class="toctree-l2"><a class="reference internal" href="notebook_luminosity_function_binaries.html">Example use case: Zero-age stellar luminosity function in binaries</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_HRD.html">Example use case: Hertzsprung-Russell diagrams</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_common_envelope_evolution.html">Example use case: Common-envelope evolution</a></li> -<li class="toctree-l2 current"><a class="current reference internal" href="#">Tutorial: Running individual systems with binary_c-python</a><ul> -<li class="toctree-l3"><a class="reference internal" href="#Single-system-with-run_system_wrapper">Single system with run_system_wrapper</a></li> +<li class="toctree-l2 current"><a class="current reference internal" href="#">Example use case: Binary black hole systems</a></li> +<li class="toctree-l2"><a class="reference internal" href="notebook_massive_remnants.html">Example use case: Massive star luminosity</a></li> +<li class="toctree-l2"><a class="reference internal" href="notebook_solar_system.html">Example use case: Solar system using the API functionality</a></li> </ul> </li> -<li class="toctree-l2"><a class="reference internal" href="notebook_massive_remnants.html">Example use case: Zero-age stellar luminosity function</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_solar_system.html">Solar system using the API functionality</a></li> -</ul> -</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 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> @@ -125,7 +122,7 @@ <nav class="wy-nav-top" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> - <a href="index.html">binary_c-python</a> + <a href="../index.html">binary_c-python</a> </nav> @@ -154,17 +151,17 @@ <ul class="wy-breadcrumbs"> - <li><a href="index.html">Docs</a> »</li> + <li><a href="../index.html">Docs</a> »</li> - <li><a href="example_notebooks.html">Example notebooks</a> »</li> + <li><a href="../example_notebooks.html">Example notebooks</a> »</li> - <li>Tutorial: Running individual systems with binary_c-python</li> + <li>Example use case: Binary black hole systems</li> <li class="wy-breadcrumbs-aside"> - <a href="_sources/notebook_BHBH.ipynb.txt" rel="nofollow"> View page source</a> + <a href="../_sources/examples/notebook_BHBH.ipynb.txt" rel="nofollow"> View page source</a> </li> @@ -447,14 +444,9 @@ div.rendered_html tbody tr:hover { text-align: unset; } </style> -<div class="section" id="Tutorial:-Running-individual-systems-with-binary_c-python"> -<h1>Tutorial: Running individual systems with binary_c-python<a class="headerlink" href="#Tutorial:-Running-individual-systems-with-binary_c-python" title="Permalink to this headline">¶</a></h1> -<p>This notebook will show you how to run single systems and analyze their results.</p> -<p>It can be useful to have some functions to quickly run a single system to, for example, inspect what evolutionary steps a specific system goes through, to plot the mass loss evolution of a single system, etc.</p> -<div class="section" id="Single-system-with-run_system_wrapper"> -<h2>Single system with run_system_wrapper<a class="headerlink" href="#Single-system-with-run_system_wrapper" title="Permalink to this headline">¶</a></h2> -<p>The simplest method to run a single system is to use the run_system wrapper. This function deals with setting up the argument string, makes sure all the required parameters are included and handles setting and cleaning up the custom logging functionality (see notebook_custom_logging).</p> -<p>As arguments to this function we can add any of the parameters that binary_c itself actually knows, as well as: - custom_logging_code: string containing a Printf statement that binary_c can use to print information - log_filename: path of the logfile that binary_c generates - parse_function: function that handles parsing the output of binary-c</p> +<div class="section" id="Example-use-case:-Binary-black-hole-systems"> +<h1>Example use case: Binary black hole systems<a class="headerlink" href="#Example-use-case:-Binary-black-hole-systems" title="Permalink to this headline">¶</a></h1> +<p>TODO: introduce the notebook</p> <div class="nbinput nblast docutils container"> <div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[1]: </pre></div> @@ -5645,7 +5637,6 @@ system 2 / 100 </pre></div> </div> </div> -</div> </div> @@ -5656,7 +5647,7 @@ system 2 / 100 <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> - <a href="notebook_massive_remnants.html" class="btn btn-neutral float-right" title="Example use case: Zero-age stellar luminosity function" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a> + <a href="notebook_massive_remnants.html" class="btn btn-neutral float-right" title="Example use case: Massive star luminosity" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a> <a href="notebook_common_envelope_evolution.html" class="btn btn-neutral float-left" title="Example use case: Common-envelope evolution" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a> @@ -5674,9 +5665,9 @@ system 2 / 100 </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/notebook_BHBH.ipynb b/docs/build/html/examples/notebook_BHBH.ipynb similarity index 98% rename from docs/build/html/notebook_BHBH.ipynb rename to docs/build/html/examples/notebook_BHBH.ipynb index 80b707d95..4afd498b9 100644 --- a/docs/build/html/notebook_BHBH.ipynb +++ b/docs/build/html/examples/notebook_BHBH.ipynb @@ -5,27 +5,8 @@ "id": "a544d28c-c2e1-4c6a-b55b-8caec440743f", "metadata": {}, "source": [ - "# Tutorial: Running individual systems with binary_c-python\n", - "This notebook will show you how to run single systems and analyze their results.\n", - "\n", - "It can be useful to have some functions to quickly run a single system to, for example, inspect what evolutionary steps a specific system goes through, to plot the mass loss evolution of a single system, etc. " - ] - }, - { - "cell_type": "markdown", - "id": "dd5d9ec7-5791-45f1-afbd-225947e2a583", - "metadata": { - "tags": [] - }, - "source": [ - "## Single system with run_system_wrapper\n", - "\n", - "The simplest method to run a single system is to use the run_system wrapper. This function deals with setting up the argument string, makes sure all the required parameters are included and handles setting and cleaning up the custom logging functionality (see notebook_custom_logging).\n", - "\n", - "As arguments to this function we can add any of the parameters that binary_c itself actually knows, as well as:\n", - "- custom_logging_code: string containing a Printf statement that binary_c can use to print information\n", - "- log_filename: path of the logfile that binary_c generates\n", - "- parse_function: function that handles parsing the output of binary-c" + "# Example use case: Binary black hole systems\n", + "TODO: introduce the notebook\n" ] }, { @@ -91,7 +72,13 @@ "cell_type": "code", "execution_count": 3, "id": "029fc3f2-f09a-49af-a32b-248505738f2e", - "metadata": {}, + "metadata": { + "collapsed": true, + "jupyter": { + "outputs_hidden": true + }, + "tags": [] + }, "outputs": [ { "name": "stdout", @@ -288,13 +275,7 @@ " 7.4046 9.501 9.586 14 14 -102.91 -1 -1.00 0.000 0.000 SN kick Ib/c (SN type 11 11, pre-explosion M=10.0399 Mc\"CO\"=7.43173 type=8) -> kick 1(190) vk=384.535 vr=0 omega=3.4205 phi=-0.103702 -> vn=384.535 ; final sep -102.908 ecc -1 (random count 5) - Runaway v=(-379.582,-106.329,10.8544) |v|=384.535 : companion v=(-5.13796e-51,-1.27569e-103,2.85406e-105), |v|=5.13796e-51 ; - , dm(exploder) = 0.454268, dm(companion) = 0\n", " 7.4046 9.501 9.586 14 14 -102.91 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 7.4046 9.501 9.586 14 14 -102.91 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 9.501 9.586 14 14 -102.91 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 9.501 9.586 14 14 -102.91 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n" ] } @@ -376,7 +357,13 @@ "cell_type": "code", "execution_count": 5, "id": "8018ef52-093d-45ac-a00b-5fb721db3adb", - "metadata": {}, + "metadata": { + "collapsed": true, + "jupyter": { + "outputs_hidden": true + }, + "tags": [] + }, "outputs": [ { "name": "stdout", @@ -558,13 +545,7 @@ "System 58 has separation -140.9\n", "system 59 / 100\n", "{'time': 7.4046, 'M1': 5.851, 'M2': 5.873, 'K1': 14.0, 'K2': 14.0, 'separation': -2439.0}\n", - "System 59 has separation -2439.0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "System 59 has separation -2439.0\n", "system 60 / 100\n", "{'time': 7.4046, 'M1': 5.851, 'M2': 5.873, 'K1': 14.0, 'K2': 14.0, 'separation': -235.82}\n", "System 60 has separation -235.82\n", @@ -742,7 +723,13 @@ "cell_type": "code", "execution_count": 6, "id": "3085ba82-430e-48f0-bca3-b19231e6109d", - "metadata": {}, + "metadata": { + "collapsed": true, + "jupyter": { + "outputs_hidden": true + }, + "tags": [] + }, "outputs": [ { "name": "stdout", @@ -944,13 +931,7 @@ " 7.4046 9.501 9.586 14 14 9548.9 67.7 y 0.05 0.000 0.000 \"TYPE_CHNGE\"\n", " 7.4046 9.501 9.586 14 14 9548.9 67.7 y 0.05 0.000 0.000 \"SN\"\n", " 7.4146 9.501 9.586 14 14 9548.9 67.7 y 0.05 0.000 0.000 \"END_SYMB\"\n", - " 15000.0000 9.501 9.586 14 14 9548.9 67.7 y 0.05 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 9.501 9.586 14 14 9548.9 67.7 y 0.05 0.000 0.000 \"MAX_TIME\"\n", "\n" ] } @@ -1238,13 +1219,7 @@ " 265.4710 45.203 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 265.4710 45.203 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 265.4710 45.203 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.203 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.203 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -1369,13 +1344,7 @@ " 6.1830 26.222 18.898 14 14 94.707 15.9 d 0.58 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1830 26.222 18.898 14 14 94.707 15.9 d 0.58 0.000 0.000 \"SN\"\n", " 6.1830 26.222 18.898 14 14 94.707 15.9 d 0.58 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.222 18.898 14 14 89.066 14.5 d 0.56 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.222 18.898 14 14 89.066 14.5 d 0.56 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -1505,13 +1474,7 @@ " 83.5556 45.159 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 83.5556 45.159 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 83.5556 45.159 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.159 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.159 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -1594,13 +1557,7 @@ " 1473.7324 45.249 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 1473.7324 45.249 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 1473.7324 45.249 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.249 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.249 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -1739,13 +1696,7 @@ " 112.8805 45.090 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 112.8805 45.090 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 112.8805 45.090 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.090 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.090 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -1813,13 +1764,7 @@ " 12.7426 44.651 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 12.7426 44.651 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 12.7426 44.651 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 44.651 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 44.651 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -1931,13 +1876,7 @@ " 6.1823 26.223 18.942 14 14 174.23 39.6 d 0.87 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1823 26.223 18.942 14 14 174.23 39.6 d 0.87 0.000 0.000 \"SN\"\n", " 6.1823 26.223 18.942 14 14 174.23 39.6 d 0.87 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.223 18.942 14 14 122 23.2 d 0.82 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.223 18.942 14 14 122 23.2 d 0.82 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -2016,13 +1955,7 @@ "{'time': 6.1816, 'M1': 26.224, 'M2': 18.995, 'K1': 14.0, 'K2': 14.0, 'separation': -24.872}\n", "System 7 has separation -24.872\n", "system 8 / 100\n", - "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -33.648}\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -33.648}\n", "System 8 has separation -33.648\n", "system 9 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -1713.8}\n", @@ -2137,13 +2070,7 @@ " 6.1810 26.225 19.039 14 14 144 29.7 d 0.62 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1810 26.225 19.039 14 14 144 29.7 d 0.62 0.000 0.000 \"SN\"\n", " 6.1810 26.225 19.039 14 14 144 29.7 d 0.62 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.225 19.039 14 14 141.62 29 d 0.62 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.225 19.039 14 14 141.62 29 d 0.62 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -2230,13 +2157,7 @@ "system 6 / 100\n", "None\n", "system 7 / 100\n", - "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -62.267}\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -62.267}\n", "System 7 has separation -62.267\n", "system 8 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -42.878}\n", @@ -2345,13 +2266,7 @@ " 6.1825 26.223 18.926 14 14 161.5 35.4 d 0.88 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1825 26.223 18.926 14 14 161.5 35.4 d 0.88 0.000 0.000 \"SN\"\n", " 6.1825 26.223 18.926 14 14 161.5 35.4 d 0.88 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.223 18.926 14 14 75.019 11.2 d 0.76 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.223 18.926 14 14 75.019 11.2 d 0.76 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -2431,13 +2346,7 @@ "system 6 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -106.87}\n", "System 6 has separation -106.87\n", - "system 7 / 100\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "system 7 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -89.768}\n", "System 7 has separation -89.768\n", "system 8 / 100\n", @@ -2514,13 +2423,7 @@ "{'time': 6.1819, 'M1': 26.224, 'M2': 18.975, 'K1': 14.0, 'K2': 14.0, 'separation': -23.855}\n", "System 1 has separation -23.855\n", "system 2 / 100\n", - "{'time': 6.1811, 'M1': 26.225, 'M2': 19.036, 'K1': 14.0, 'K2': 14.0, 'separation': -168.1}\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "{'time': 6.1811, 'M1': 26.225, 'M2': 19.036, 'K1': 14.0, 'K2': 14.0, 'separation': -168.1}\n", "System 2 has separation -168.1\n", "system 3 / 100\n", "None\n", @@ -2603,13 +2506,7 @@ "System 6 has separation -98.879\n", "system 7 / 100\n", "{'time': 6.1834, 'M1': 26.221, 'M2': 18.866, 'K1': 14.0, 'K2': 14.0, 'separation': 71.42}\n", - "System 7 has separation 71.42\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "System 7 has separation 71.42\n", "Found bound BHBH system\n", " TIME M1 M2 K1 K2 SEP PER ECC R1/ROL1 R2/ROL2 TYPE RANDOM_SEED=26051 RANDOM_COUNT=0\n", " 0.0000 60.000 40.000 1 1 3101.2 5.48 y 0.00 0.006 0.006 \"INITIAL \"\n", @@ -2673,13 +2570,7 @@ "System 1 has separation -490.65\n", "system 2 / 100\n", "None\n", - "system 3 / 100\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "system 3 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -844.54}\n", "System 3 has separation -844.54\n", "system 4 / 100\n", @@ -2803,13 +2694,7 @@ " 6.1812 26.225 19.021 14 14 157.31 34 d 0.29 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1812 26.225 19.021 14 14 157.31 34 d 0.29 0.000 0.000 \"SN\"\n", " 6.1812 26.225 19.021 14 14 157.31 34 d 0.29 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.225 19.021 14 14 157.05 33.9 d 0.29 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.225 19.021 14 14 157.05 33.9 d 0.29 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -2932,13 +2817,7 @@ " 812.5051 43.110 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 812.5051 43.110 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 812.5051 43.110 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 43.110 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 43.110 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -3051,13 +2930,7 @@ " 6.1844 26.229 18.804 14 14 164.59 36.4 d 0.46 0.000 0.000 SN kick Ib/c (SN type 11 11, pre-explosion M=18.8039 Mc\"CO\"=14.1854 type=8) -> kick 1(190) vk=161.317 vr=310.99 omega=3.87813 phi=-1.31958 -> vn=375.785 ; final sep 164.585 ecc 0.464494 (random count 5) - Runaway v=(-42.7184,-100.373,-23.0784) |v|=111.499 : companion v=(225.604,-99.3719,-86.2291), |v|=261.166 ; - , dm(exploder) = 0, dm(companion) = 0\n", " 6.1844 26.229 18.804 14 14 164.59 36.4 d 0.46 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1844 26.229 18.804 14 14 164.59 36.4 d 0.46 0.000 0.000 \"SN\"\n", - " 15000.0000 26.229 18.804 14 14 164.1 36.3 d 0.46 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.229 18.804 14 14 164.1 36.3 d 0.46 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -3176,13 +3049,7 @@ " 6.1830 26.222 18.894 14 14 305.95 92.3 d 0.61 0.000 0.000 SN kick Ib/c (SN type 11 11, pre-explosion M=18.8941 Mc\"CO\"=14.2552 type=8) -> kick 1(190) vk=151.131 vr=262.883 omega=2.0613 phi=-1.06527 -> vn=331.775 ; final sep 305.952 ecc 0.613167 (random count 5) - Runaway v=(0,0,0) |v|=0 : companion v=(0,0,0), |v|=0 ; - , dm(exploder) = 0, dm(companion) = 0\n", " 6.1830 26.222 18.894 14 14 305.95 92.3 d 0.61 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1830 26.222 18.894 14 14 305.95 92.3 d 0.61 0.000 0.000 \"SN\"\n", - " 15000.0000 26.222 18.894 14 14 305.73 92.2 d 0.61 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.222 18.894 14 14 305.73 92.2 d 0.61 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -3267,13 +3134,7 @@ " 457.8881 45.125 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 457.8881 45.125 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 457.8881 45.125 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.125 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.125 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -3351,13 +3212,7 @@ "System 1 has separation -168.81\n", "system 2 / 100\n", "None\n", - "system 3 / 100\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "system 3 / 100\n", "{'time': 6.1808, 'M1': 26.225, 'M2': 19.057, 'K1': 14.0, 'K2': 14.0, 'separation': -26.38}\n", "System 3 has separation -26.38\n", "system 4 / 100\n", @@ -3449,13 +3304,7 @@ "system 13 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -374.05}\n", "System 13 has separation -374.05\n", - "system 14 / 100\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "system 14 / 100\n", "{'time': 6.181, 'M1': 26.225, 'M2': 19.041, 'K1': 14.0, 'K2': 14.0, 'separation': 236.64}\n", "System 14 has separation 236.64\n", "Found bound BHBH system\n", @@ -3586,13 +3435,7 @@ " 6.1827 26.222 18.914 14 14 99.202 17 d 0.44 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1827 26.222 18.914 14 14 99.202 17 d 0.44 0.000 0.000 \"SN\"\n", " 6.1827 26.222 18.914 14 14 99.202 17 d 0.44 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.222 18.914 14 14 97.228 16.5 d 0.43 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.222 18.914 14 14 97.228 16.5 d 0.43 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -3704,13 +3547,7 @@ " 6.1858 26.249 18.711 14 14 98.616 16.9 d 0.47 0.000 0.000 SN kick Ib/c (SN type 11 11, pre-explosion M=18.7108 Mc\"CO\"=14.1135 type=8) -> kick 1(190) vk=199.576 vr=332.361 omega=1.41485 phi=-0.652755 -> vn=365.958 ; final sep 98.6161 ecc 0.469056 (random count 5) - Runaway v=(-0.807331,-67.6832,0.168972) |v|=67.6883 : companion v=(254.424,134.518,0.477089), |v|=287.796 ; - , dm(exploder) = 0, dm(companion) = 0\n", " 6.1858 26.249 18.711 14 14 98.616 16.9 d 0.47 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1858 26.249 18.711 14 14 98.616 16.9 d 0.47 0.000 0.000 \"SN\"\n", - " 15000.0000 26.249 18.711 14 14 96.287 16.3 d 0.46 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.249 18.711 14 14 96.287 16.3 d 0.46 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -3838,13 +3675,7 @@ " 10.8252 45.201 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 10.8252 45.201 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 10.8252 45.201 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.201 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.201 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -3953,13 +3784,7 @@ " 8031.6562 45.165 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 8031.6562 45.165 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 8031.6562 45.165 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.165 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.165 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -4046,13 +3871,7 @@ " 6.1847 26.236 18.783 14 14 113.51 20.9 d 0.29 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1847 26.236 18.783 14 14 113.51 20.9 d 0.29 0.000 0.000 \"SN\"\n", " 15000.0000 26.236 18.783 14 14 112.85 20.7 d 0.29 0.000 0.000 \"MAX_TIME\"\n", - "\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -48.404}\n", @@ -4115,13 +3934,7 @@ " 6.2075 45.233 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.2075 45.233 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 6.2075 45.233 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.233 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.233 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -4206,13 +4019,7 @@ " 6.1817 26.224 18.984 14 14 763.92 364 d 0.79 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1817 26.224 18.984 14 14 763.92 364 d 0.79 0.000 0.000 \"SN\"\n", " 6.1817 26.224 18.984 14 14 763.92 364 d 0.79 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.224 18.984 14 14 763.81 364 d 0.79 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.224 18.984 14 14 763.81 364 d 0.79 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -4291,13 +4098,7 @@ "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -1722.6}\n", "System 5 has separation -1722.6\n", "system 6 / 100\n", - "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -1571.7}\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -1571.7}\n", "System 6 has separation -1571.7\n", "system 7 / 100\n", "None\n", @@ -4424,13 +4225,7 @@ " 6.1826 26.223 18.922 14 14 1691.7 3.28 y 0.98 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1826 26.223 18.922 14 14 1691.7 3.28 y 0.98 0.000 0.000 \"SN\"\n", " 6.1826 26.223 18.922 14 14 1691.7 3.28 y 0.98 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.223 18.922 14 14 1663.3 3.2 y 0.98 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.223 18.922 14 14 1663.3 3.2 y 0.98 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -4508,13 +4303,7 @@ "system 4 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -121.45}\n", "System 4 has separation -121.45\n", - "system 5 / 100\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "system 5 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -209.29}\n", "System 5 has separation -209.29\n", "system 6 / 100\n", @@ -4611,13 +4400,7 @@ "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -42.805}\n", "System 6 has separation -42.805\n", "system 7 / 100\n", - "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -86.593}\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -86.593}\n", "System 7 has separation -86.593\n", "system 8 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -33.049}\n", @@ -4693,13 +4476,7 @@ "system 5 / 100\n", "{'time': 6.1817, 'M1': 26.224, 'M2': 18.986, 'K1': 14.0, 'K2': 14.0, 'separation': -78.905}\n", "System 5 has separation -78.905\n", - "system 6 / 100\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "system 6 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -58.583}\n", "System 6 has separation -58.583\n", "system 7 / 100\n", @@ -4826,13 +4603,7 @@ " 6.1822 26.223 18.952 14 14 133.24 26.5 d 0.42 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1822 26.223 18.952 14 14 133.24 26.5 d 0.42 0.000 0.000 \"SN\"\n", " 6.1822 26.223 18.952 14 14 133.24 26.5 d 0.42 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.223 18.952 14 14 132.51 26.3 d 0.42 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.223 18.952 14 14 132.51 26.3 d 0.42 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -4959,13 +4730,7 @@ " 6.1814 26.225 19.013 14 14 195.2 47 d 0.11 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1814 26.225 19.013 14 14 195.2 47 d 0.11 0.000 0.000 \"SN\"\n", " 6.1814 26.225 19.013 14 14 195.2 47 d 0.11 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.225 19.013 14 14 195.12 46.9 d 0.11 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.225 19.013 14 14 195.12 46.9 d 0.11 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -5071,13 +4836,7 @@ " 202.9610 45.199 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 202.9610 45.199 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 202.9610 45.199 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.199 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.199 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -5205,13 +4964,7 @@ " 6.1817 26.224 18.984 14 14 239.33 63.8 d 0.62 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1817 26.224 18.984 14 14 239.33 63.8 d 0.62 0.000 0.000 \"SN\"\n", " 6.1817 26.224 18.984 14 14 239.33 63.8 d 0.62 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.224 18.984 14 14 238.83 63.6 d 0.62 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.224 18.984 14 14 238.83 63.6 d 0.62 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -5331,13 +5084,7 @@ " 6.1821 26.223 18.957 14 14 144.61 30 d 0.23 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1821 26.223 18.957 14 14 144.61 30 d 0.23 0.000 0.000 \"SN\"\n", " 6.1821 26.223 18.957 14 14 144.61 30 d 0.23 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.223 18.957 14 14 144.35 29.9 d 0.23 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.223 18.957 14 14 144.35 29.9 d 0.23 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -5420,13 +5167,7 @@ " 6.1816 26.224 18.998 14 14 246.46 66.6 d 0.33 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1816 26.224 18.998 14 14 246.46 66.6 d 0.33 0.000 0.000 \"SN\"\n", " 6.1816 26.224 18.998 14 14 246.46 66.6 d 0.33 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.224 18.998 14 14 246.39 66.6 d 0.33 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.224 18.998 14 14 246.39 66.6 d 0.33 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -5528,7 +5269,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -5542,7 +5283,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.5" + "version": "3.6.4" } }, "nbformat": 4, diff --git a/docs/build/html/notebook_HRD.html b/docs/build/html/examples/notebook_HRD.html similarity index 96% rename from docs/build/html/notebook_HRD.html rename to docs/build/html/examples/notebook_HRD.html index efad2691c..64891c3e7 100644 --- a/docs/build/html/notebook_HRD.html +++ b/docs/build/html/examples/notebook_HRD.html @@ -17,29 +17,29 @@ - <script type="text/javascript" src="_static/js/modernizr.min.js"></script> + <script type="text/javascript" src="../_static/js/modernizr.min.js"></script> - <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script> - <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/doctools.js"></script> + <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script> + <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/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 async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.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 type="text/javascript" src="_static/js/theme.js"></script> + <script type="text/javascript" src="../_static/js/theme.js"></script> - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> - <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> - <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> - <link rel="index" title="Index" href="genindex.html" /> - <link rel="search" title="Search" href="search.html" /> + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + <link rel="index" title="Index" href="../genindex.html" /> + <link rel="search" title="Search" href="../search.html" /> <link rel="next" title="Example use case: Common-envelope evolution" href="notebook_common_envelope_evolution.html" /> <link rel="prev" title="Example use case: Zero-age stellar luminosity function in binaries" href="notebook_luminosity_function_binaries.html" /> </head> @@ -55,7 +55,7 @@ - <a href="index.html" class="icon icon-home"> binary_c-python + <a href="../index.html" class="icon icon-home"> binary_c-python @@ -68,7 +68,7 @@ <div role="search"> - <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> + <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" /> @@ -87,9 +87,9 @@ <p class="caption" role="heading"><span class="caption-text">Contents:</span></p> <ul class="current"> -<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 current"><a class="reference internal" href="example_notebooks.html">Example notebooks</a><ul class="current"> +<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 current"><a class="reference internal" href="../example_notebooks.html">Example notebooks</a><ul class="current"> <li class="toctree-l2"><a class="reference internal" href="notebook_individual_systems.html">Tutorial: Running individual systems with binary_c-python</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_custom_logging.html">Tutorial: Using custom logging routines with binary_c-python</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_population.html">Tutorial: Running populations with binary_c-python</a></li> @@ -106,13 +106,13 @@ </ul> </li> <li class="toctree-l2"><a class="reference internal" href="notebook_common_envelope_evolution.html">Example use case: Common-envelope evolution</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_BHBH.html">Tutorial: Running individual systems with binary_c-python</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_massive_remnants.html">Example use case: Zero-age stellar luminosity function</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_solar_system.html">Solar system using the API functionality</a></li> +<li class="toctree-l2"><a class="reference internal" href="notebook_BHBH.html">Example use case: Binary black hole systems</a></li> +<li class="toctree-l2"><a class="reference internal" href="notebook_massive_remnants.html">Example use case: Massive star luminosity</a></li> +<li class="toctree-l2"><a class="reference internal" href="notebook_solar_system.html">Example use case: Solar system using the API functionality</a></li> </ul> </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 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> @@ -129,7 +129,7 @@ <nav class="wy-nav-top" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> - <a href="index.html">binary_c-python</a> + <a href="../index.html">binary_c-python</a> </nav> @@ -158,9 +158,9 @@ <ul class="wy-breadcrumbs"> - <li><a href="index.html">Docs</a> »</li> + <li><a href="../index.html">Docs</a> »</li> - <li><a href="example_notebooks.html">Example notebooks</a> »</li> + <li><a href="../example_notebooks.html">Example notebooks</a> »</li> <li>Example use case: Hertzsprung-Russell diagrams</li> @@ -168,7 +168,7 @@ <li class="wy-breadcrumbs-aside"> - <a href="_sources/notebook_HRD.ipynb.txt" rel="nofollow"> View page source</a> + <a href="../_sources/examples/notebook_HRD.ipynb.txt" rel="nofollow"> View page source</a> </li> @@ -917,7 +917,7 @@ Text(0, 0.5, '$\\log_{10} (L/$L$_{☉})$') <div class="prompt empty docutils container"> </div> <div class="output_area docutils container"> -<img alt="_images/notebook_HRD_14_2.png" src="_images/notebook_HRD_14_2.png" /> +<img alt="../_images/examples_notebook_HRD_14_2.png" src="../_images/examples_notebook_HRD_14_2.png" /> </div> </div> <p>We now have an HRD. It took longer to make the plot than to run the stars with <em>binary_c</em>!</p> @@ -1130,7 +1130,7 @@ Text(0, 0.5, '$\\log_{10} (L/$L$_{☉})$') <div class="prompt empty docutils container"> </div> <div class="output_area docutils container"> -<img alt="_images/notebook_HRD_19_2.png" src="_images/notebook_HRD_19_2.png" /> +<img alt="../_images/examples_notebook_HRD_19_2.png" src="../_images/examples_notebook_HRD_19_2.png" /> </div> </div> <p>We plot here the track for the primary star only. You can see immediately where stars merge on the main sequence: the tracks move very suddenly where usually evolution on the main sequence is smooth.</p> @@ -1341,7 +1341,7 @@ Text(0, 0.5, '$\\log_{10} (L/$L$_{☉})$') <div class="prompt empty docutils container"> </div> <div class="output_area docutils container"> -<img alt="_images/notebook_HRD_23_2.png" src="_images/notebook_HRD_23_2.png" /> +<img alt="../_images/examples_notebook_HRD_23_2.png" src="../_images/examples_notebook_HRD_23_2.png" /> </div> </div> <p>You now see the interaction in the jerky red-giant tracks where the stars interact. These probably, depending on the mass ratio at the moment of interaction, go through a common-envelope phase. The system can merge (most of the above do) but not all. The interaction is so strong on the RGB of the <span class="math notranslate nohighlight">\(1\mathrm{M}_\odot\)</span> star that the stellar evolution is terminated before it reaches the RGB tip, so it never ignites helium. This is how helium white dwarfs are probably made.</p> @@ -1413,7 +1413,7 @@ Text(0, 0.5, '$\\log_{10} (L/$L$_{☉})$') <div class="prompt empty docutils container"> </div> <div class="output_area docutils container"> -<img alt="_images/notebook_HRD_26_2.png" src="_images/notebook_HRD_26_2.png" /> +<img alt="../_images/examples_notebook_HRD_26_2.png" src="../_images/examples_notebook_HRD_26_2.png" /> </div> </div> <p>Remember, all these stars start with a <span class="math notranslate nohighlight">\(1\mathrm{M}_\odot\)</span> binary, which begins at <span class="math notranslate nohighlight">\(\log_{10}(T_\mathrm{eff}/\mathrm{K})\sim 3.750\)</span>, <span class="math notranslate nohighlight">\(\log_{10}L/\mathrm{L}_\odot \sim 0\)</span>. The <span class="math notranslate nohighlight">\(1\mathrm{M}_\odot\)</span>-<span class="math notranslate nohighlight">\(1\mathrm{M}_\odot\)</span> binary evolves like two single stars until they interact up the giant branch at about <span class="math notranslate nohighlight">\(\log_{10} (L/\mathrm{L}_\odot) \sim 2.5\)</span>, the others interact long before they evolve very far on the main sequence: you can just about see their tracks at the @@ -1457,9 +1457,9 @@ very start.</p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/notebook_HRD.ipynb b/docs/build/html/examples/notebook_HRD.ipynb similarity index 100% rename from docs/build/html/notebook_HRD.ipynb rename to docs/build/html/examples/notebook_HRD.ipynb diff --git a/docs/build/html/notebook_api_functionality.html b/docs/build/html/examples/notebook_api_functionality.html similarity index 98% rename from docs/build/html/notebook_api_functionality.html rename to docs/build/html/examples/notebook_api_functionality.html index 6c075cfe7..4eeb107c6 100644 --- a/docs/build/html/notebook_api_functionality.html +++ b/docs/build/html/examples/notebook_api_functionality.html @@ -17,29 +17,29 @@ - <script type="text/javascript" src="_static/js/modernizr.min.js"></script> + <script type="text/javascript" src="../_static/js/modernizr.min.js"></script> - <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script> - <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/doctools.js"></script> + <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script> + <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/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 async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.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 type="text/javascript" src="_static/js/theme.js"></script> + <script type="text/javascript" src="../_static/js/theme.js"></script> - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> - <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> - <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> - <link rel="index" title="Index" href="genindex.html" /> - <link rel="search" title="Search" href="search.html" /> + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + <link rel="index" title="Index" href="../genindex.html" /> + <link rel="search" title="Search" href="../search.html" /> <link rel="next" title="Example use case: Zero-age stellar luminosity function" href="notebook_luminosity_function_single.html" /> <link rel="prev" title="Tutorial: Extra features and functionality of binary_c-python" href="notebook_extra_features.html" /> </head> @@ -55,7 +55,7 @@ - <a href="index.html" class="icon icon-home"> binary_c-python + <a href="../index.html" class="icon icon-home"> binary_c-python @@ -68,7 +68,7 @@ <div role="search"> - <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> + <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" /> @@ -87,9 +87,9 @@ <p class="caption" role="heading"><span class="caption-text">Contents:</span></p> <ul class="current"> -<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 current"><a class="reference internal" href="example_notebooks.html">Example notebooks</a><ul class="current"> +<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 current"><a class="reference internal" href="../example_notebooks.html">Example notebooks</a><ul class="current"> <li class="toctree-l2"><a class="reference internal" href="notebook_individual_systems.html">Tutorial: Running individual systems with binary_c-python</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_custom_logging.html">Tutorial: Using custom logging routines with binary_c-python</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_population.html">Tutorial: Running populations with binary_c-python</a></li> @@ -106,13 +106,13 @@ <li class="toctree-l2"><a class="reference internal" href="notebook_luminosity_function_binaries.html">Example use case: Zero-age stellar luminosity function in binaries</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_HRD.html">Example use case: Hertzsprung-Russell diagrams</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_common_envelope_evolution.html">Example use case: Common-envelope evolution</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_BHBH.html">Tutorial: Running individual systems with binary_c-python</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_massive_remnants.html">Example use case: Zero-age stellar luminosity function</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_solar_system.html">Solar system using the API functionality</a></li> +<li class="toctree-l2"><a class="reference internal" href="notebook_BHBH.html">Example use case: Binary black hole systems</a></li> +<li class="toctree-l2"><a class="reference internal" href="notebook_massive_remnants.html">Example use case: Massive star luminosity</a></li> +<li class="toctree-l2"><a class="reference internal" href="notebook_solar_system.html">Example use case: Solar system using the API functionality</a></li> </ul> </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 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> @@ -129,7 +129,7 @@ <nav class="wy-nav-top" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> - <a href="index.html">binary_c-python</a> + <a href="../index.html">binary_c-python</a> </nav> @@ -158,9 +158,9 @@ <ul class="wy-breadcrumbs"> - <li><a href="index.html">Docs</a> »</li> + <li><a href="../index.html">Docs</a> »</li> - <li><a href="example_notebooks.html">Example notebooks</a> »</li> + <li><a href="../example_notebooks.html">Example notebooks</a> »</li> <li>Tutorial: Using the API functionality of binary_c-python</li> @@ -168,7 +168,7 @@ <li class="wy-breadcrumbs-aside"> - <a href="_sources/notebook_api_functionality.ipynb.txt" rel="nofollow"> View page source</a> + <a href="../_sources/examples/notebook_api_functionality.ipynb.txt" rel="nofollow"> View page source</a> </li> @@ -1382,9 +1382,9 @@ MAXIMUM MASS RATIO 0.0141 </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/notebook_api_functionality.ipynb b/docs/build/html/examples/notebook_api_functionality.ipynb similarity index 100% rename from docs/build/html/notebook_api_functionality.ipynb rename to docs/build/html/examples/notebook_api_functionality.ipynb diff --git a/docs/build/html/notebook_common_envelope_evolution.html b/docs/build/html/examples/notebook_common_envelope_evolution.html similarity index 95% rename from docs/build/html/notebook_common_envelope_evolution.html rename to docs/build/html/examples/notebook_common_envelope_evolution.html index c613f2281..2a1a30432 100644 --- a/docs/build/html/notebook_common_envelope_evolution.html +++ b/docs/build/html/examples/notebook_common_envelope_evolution.html @@ -17,30 +17,30 @@ - <script type="text/javascript" src="_static/js/modernizr.min.js"></script> + <script type="text/javascript" src="../_static/js/modernizr.min.js"></script> - <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script> - <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/doctools.js"></script> + <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script> + <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/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 async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.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 type="text/javascript" src="_static/js/theme.js"></script> + <script type="text/javascript" src="../_static/js/theme.js"></script> - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> - <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> - <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> - <link rel="index" title="Index" href="genindex.html" /> - <link rel="search" title="Search" href="search.html" /> - <link rel="next" title="Tutorial: Running individual systems with binary_c-python" href="notebook_BHBH.html" /> + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + <link rel="index" title="Index" href="../genindex.html" /> + <link rel="search" title="Search" href="../search.html" /> + <link rel="next" title="Example use case: Binary black hole systems" href="notebook_BHBH.html" /> <link rel="prev" title="Example use case: Hertzsprung-Russell diagrams" href="notebook_HRD.html" /> </head> @@ -55,7 +55,7 @@ - <a href="index.html" class="icon icon-home"> binary_c-python + <a href="../index.html" class="icon icon-home"> binary_c-python @@ -68,7 +68,7 @@ <div role="search"> - <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> + <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" /> @@ -87,9 +87,9 @@ <p class="caption" role="heading"><span class="caption-text">Contents:</span></p> <ul class="current"> -<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 current"><a class="reference internal" href="example_notebooks.html">Example notebooks</a><ul class="current"> +<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 current"><a class="reference internal" href="../example_notebooks.html">Example notebooks</a><ul class="current"> <li class="toctree-l2"><a class="reference internal" href="notebook_individual_systems.html">Tutorial: Running individual systems with binary_c-python</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_custom_logging.html">Tutorial: Using custom logging routines with binary_c-python</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_population.html">Tutorial: Running populations with binary_c-python</a></li> @@ -105,13 +105,13 @@ <li class="toctree-l3"><a class="reference internal" href="#Evolving-the-grid">Evolving the grid</a></li> </ul> </li> -<li class="toctree-l2"><a class="reference internal" href="notebook_BHBH.html">Tutorial: Running individual systems with binary_c-python</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_massive_remnants.html">Example use case: Zero-age stellar luminosity function</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_solar_system.html">Solar system using the API functionality</a></li> +<li class="toctree-l2"><a class="reference internal" href="notebook_BHBH.html">Example use case: Binary black hole systems</a></li> +<li class="toctree-l2"><a class="reference internal" href="notebook_massive_remnants.html">Example use case: Massive star luminosity</a></li> +<li class="toctree-l2"><a class="reference internal" href="notebook_solar_system.html">Example use case: Solar system using the API functionality</a></li> </ul> </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 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> @@ -128,7 +128,7 @@ <nav class="wy-nav-top" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> - <a href="index.html">binary_c-python</a> + <a href="../index.html">binary_c-python</a> </nav> @@ -157,9 +157,9 @@ <ul class="wy-breadcrumbs"> - <li><a href="index.html">Docs</a> »</li> + <li><a href="../index.html">Docs</a> »</li> - <li><a href="example_notebooks.html">Example notebooks</a> »</li> + <li><a href="../example_notebooks.html">Example notebooks</a> »</li> <li>Example use case: Common-envelope evolution</li> @@ -167,7 +167,7 @@ <li class="wy-breadcrumbs-aside"> - <a href="_sources/notebook_common_envelope_evolution.ipynb.txt" rel="nofollow"> View page source</a> + <a href="../_sources/examples/notebook_common_envelope_evolution.ipynb.txt" rel="nofollow"> View page source</a> </li> @@ -1178,7 +1178,7 @@ Text(0, 0.5, 'Number of stars') <div class="prompt empty docutils container"> </div> <div class="output_area docutils container"> -<img alt="_images/notebook_common_envelope_evolution_14_2.png" src="_images/notebook_common_envelope_evolution_14_2.png" /> +<img alt="../_images/examples_notebook_common_envelope_evolution_14_2.png" src="../_images/examples_notebook_common_envelope_evolution_14_2.png" /> </div> </div> <p>You can see that common-envelope evolution shrinks stellar orbits, just as we expect. Pre-CEE, most orbits are in the range <span class="math notranslate nohighlight">\(10\)</span> to <span class="math notranslate nohighlight">\(1000\text{ }\mathrm{d}\)</span>, while after CEE the distribution peaks at about <span class="math notranslate nohighlight">\(1\text{ }\mathrm{d}\)</span>. Some of these orbits are very short: <span class="math notranslate nohighlight">\(\log_{10}(-2) = 0.01\text{ }\mathrm{d}\sim10\text{ }\mathrm{minutes}\)</span>. Such systems are prime candidates for exciting astrophysics: novae, type Ia supernovae and gravitational wave sources.</p> @@ -1195,7 +1195,7 @@ Try different <span class="math notranslate nohighlight">\(\alpha_\mathrm{CE}\)< <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> - <a href="notebook_BHBH.html" class="btn btn-neutral float-right" title="Tutorial: Running individual systems with binary_c-python" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a> + <a href="notebook_BHBH.html" class="btn btn-neutral float-right" title="Example use case: Binary black hole systems" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a> <a href="notebook_HRD.html" class="btn btn-neutral float-left" title="Example use case: Hertzsprung-Russell diagrams" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a> @@ -1213,9 +1213,9 @@ Try different <span class="math notranslate nohighlight">\(\alpha_\mathrm{CE}\)< </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/notebook_common_envelope_evolution.ipynb b/docs/build/html/examples/notebook_common_envelope_evolution.ipynb similarity index 100% rename from docs/build/html/notebook_common_envelope_evolution.ipynb rename to docs/build/html/examples/notebook_common_envelope_evolution.ipynb diff --git a/docs/build/html/notebook_custom_logging.html b/docs/build/html/examples/notebook_custom_logging.html similarity index 94% rename from docs/build/html/notebook_custom_logging.html rename to docs/build/html/examples/notebook_custom_logging.html index a35d32be6..c31f73029 100644 --- a/docs/build/html/notebook_custom_logging.html +++ b/docs/build/html/examples/notebook_custom_logging.html @@ -17,29 +17,29 @@ - <script type="text/javascript" src="_static/js/modernizr.min.js"></script> + <script type="text/javascript" src="../_static/js/modernizr.min.js"></script> - <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script> - <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/doctools.js"></script> + <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script> + <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/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 async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.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 type="text/javascript" src="_static/js/theme.js"></script> + <script type="text/javascript" src="../_static/js/theme.js"></script> - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> - <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> - <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> - <link rel="index" title="Index" href="genindex.html" /> - <link rel="search" title="Search" href="search.html" /> + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + <link rel="index" title="Index" href="../genindex.html" /> + <link rel="search" title="Search" href="../search.html" /> <link rel="next" title="Tutorial: Running populations with binary_c-python" href="notebook_population.html" /> <link rel="prev" title="Tutorial: Running individual systems with binary_c-python" href="notebook_individual_systems.html" /> </head> @@ -55,7 +55,7 @@ - <a href="index.html" class="icon icon-home"> binary_c-python + <a href="../index.html" class="icon icon-home"> binary_c-python @@ -68,7 +68,7 @@ <div role="search"> - <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> + <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" /> @@ -87,9 +87,9 @@ <p class="caption" role="heading"><span class="caption-text">Contents:</span></p> <ul class="current"> -<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 current"><a class="reference internal" href="example_notebooks.html">Example notebooks</a><ul class="current"> +<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 current"><a class="reference internal" href="../example_notebooks.html">Example notebooks</a><ul class="current"> <li class="toctree-l2"><a class="reference internal" href="notebook_individual_systems.html">Tutorial: Running individual systems with binary_c-python</a></li> <li class="toctree-l2 current"><a class="current reference internal" href="#">Tutorial: Using custom logging routines with binary_c-python</a><ul> <li class="toctree-l3"><a class="reference internal" href="#Usage">Usage</a><ul> @@ -111,13 +111,13 @@ <li class="toctree-l2"><a class="reference internal" href="notebook_luminosity_function_binaries.html">Example use case: Zero-age stellar luminosity function in binaries</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_HRD.html">Example use case: Hertzsprung-Russell diagrams</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_common_envelope_evolution.html">Example use case: Common-envelope evolution</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_BHBH.html">Tutorial: Running individual systems with binary_c-python</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_massive_remnants.html">Example use case: Zero-age stellar luminosity function</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_solar_system.html">Solar system using the API functionality</a></li> +<li class="toctree-l2"><a class="reference internal" href="notebook_BHBH.html">Example use case: Binary black hole systems</a></li> +<li class="toctree-l2"><a class="reference internal" href="notebook_massive_remnants.html">Example use case: Massive star luminosity</a></li> +<li class="toctree-l2"><a class="reference internal" href="notebook_solar_system.html">Example use case: Solar system using the API functionality</a></li> </ul> </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 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> @@ -134,7 +134,7 @@ <nav class="wy-nav-top" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> - <a href="index.html">binary_c-python</a> + <a href="../index.html">binary_c-python</a> </nav> @@ -163,9 +163,9 @@ <ul class="wy-breadcrumbs"> - <li><a href="index.html">Docs</a> »</li> + <li><a href="../index.html">Docs</a> »</li> - <li><a href="example_notebooks.html">Example notebooks</a> »</li> + <li><a href="../example_notebooks.html">Example notebooks</a> »</li> <li>Tutorial: Using custom logging routines with binary_c-python</li> @@ -173,7 +173,7 @@ <li class="wy-breadcrumbs-aside"> - <a href="_sources/notebook_custom_logging.ipynb.txt" rel="nofollow"> View page source</a> + <a href="../_sources/examples/notebook_custom_logging.ipynb.txt" rel="nofollow"> View page source</a> </li> @@ -878,9 +878,9 @@ EXAMPLE_SN 1.050651207308e+01 1.59452 9.34213 20 12 13 5 1 6.55458 4 </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/notebook_custom_logging.ipynb b/docs/build/html/examples/notebook_custom_logging.ipynb similarity index 100% rename from docs/build/html/notebook_custom_logging.ipynb rename to docs/build/html/examples/notebook_custom_logging.ipynb diff --git a/docs/build/html/notebook_extra_features.html b/docs/build/html/examples/notebook_extra_features.html similarity index 89% rename from docs/build/html/notebook_extra_features.html rename to docs/build/html/examples/notebook_extra_features.html index 16df0e384..343230b08 100644 --- a/docs/build/html/notebook_extra_features.html +++ b/docs/build/html/examples/notebook_extra_features.html @@ -17,29 +17,29 @@ - <script type="text/javascript" src="_static/js/modernizr.min.js"></script> + <script type="text/javascript" src="../_static/js/modernizr.min.js"></script> - <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script> - <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/doctools.js"></script> + <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script> + <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/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 async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.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 type="text/javascript" src="_static/js/theme.js"></script> + <script type="text/javascript" src="../_static/js/theme.js"></script> - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> - <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> - <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> - <link rel="index" title="Index" href="genindex.html" /> - <link rel="search" title="Search" href="search.html" /> + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + <link rel="index" title="Index" href="../genindex.html" /> + <link rel="search" title="Search" href="../search.html" /> <link rel="next" title="Tutorial: Using the API functionality of binary_c-python" href="notebook_api_functionality.html" /> <link rel="prev" title="Tutorial: Running populations with binary_c-python" href="notebook_population.html" /> </head> @@ -55,7 +55,7 @@ - <a href="index.html" class="icon icon-home"> binary_c-python + <a href="../index.html" class="icon icon-home"> binary_c-python @@ -68,7 +68,7 @@ <div role="search"> - <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> + <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" /> @@ -87,9 +87,9 @@ <p class="caption" role="heading"><span class="caption-text">Contents:</span></p> <ul class="current"> -<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 current"><a class="reference internal" href="example_notebooks.html">Example notebooks</a><ul class="current"> +<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 current"><a class="reference internal" href="../example_notebooks.html">Example notebooks</a><ul class="current"> <li class="toctree-l2"><a class="reference internal" href="notebook_individual_systems.html">Tutorial: Running individual systems with binary_c-python</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_custom_logging.html">Tutorial: Using custom logging routines with binary_c-python</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_population.html">Tutorial: Running populations with binary_c-python</a></li> @@ -106,13 +106,13 @@ <li class="toctree-l2"><a class="reference internal" href="notebook_luminosity_function_binaries.html">Example use case: Zero-age stellar luminosity function in binaries</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_HRD.html">Example use case: Hertzsprung-Russell diagrams</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_common_envelope_evolution.html">Example use case: Common-envelope evolution</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_BHBH.html">Tutorial: Running individual systems with binary_c-python</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_massive_remnants.html">Example use case: Zero-age stellar luminosity function</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_solar_system.html">Solar system using the API functionality</a></li> +<li class="toctree-l2"><a class="reference internal" href="notebook_BHBH.html">Example use case: Binary black hole systems</a></li> +<li class="toctree-l2"><a class="reference internal" href="notebook_massive_remnants.html">Example use case: Massive star luminosity</a></li> +<li class="toctree-l2"><a class="reference internal" href="notebook_solar_system.html">Example use case: Solar system using the API functionality</a></li> </ul> </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 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> @@ -129,7 +129,7 @@ <nav class="wy-nav-top" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> - <a href="index.html">binary_c-python</a> + <a href="../index.html">binary_c-python</a> </nav> @@ -158,9 +158,9 @@ <ul class="wy-breadcrumbs"> - <li><a href="index.html">Docs</a> »</li> + <li><a href="../index.html">Docs</a> »</li> - <li><a href="example_notebooks.html">Example notebooks</a> »</li> + <li><a href="../example_notebooks.html">Example notebooks</a> »</li> <li>Tutorial: Extra features and functionality of binary_c-python</li> @@ -168,7 +168,7 @@ <li class="wy-breadcrumbs-aside"> - <a href="_sources/notebook_extra_features.ipynb.txt" rel="nofollow"> View page source</a> + <a href="../_sources/examples/notebook_extra_features.ipynb.txt" rel="nofollow"> View page source</a> </li> @@ -624,9 +624,9 @@ dict_keys(['networks', 'isotopes', 'argpairs', 'ense </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/notebook_extra_features.ipynb b/docs/build/html/examples/notebook_extra_features.ipynb similarity index 100% rename from docs/build/html/notebook_extra_features.ipynb rename to docs/build/html/examples/notebook_extra_features.ipynb diff --git a/docs/build/html/notebook_individual_systems.html b/docs/build/html/examples/notebook_individual_systems.html similarity index 94% rename from docs/build/html/notebook_individual_systems.html rename to docs/build/html/examples/notebook_individual_systems.html index d3c0fb964..760e129dc 100644 --- a/docs/build/html/notebook_individual_systems.html +++ b/docs/build/html/examples/notebook_individual_systems.html @@ -17,31 +17,31 @@ - <script type="text/javascript" src="_static/js/modernizr.min.js"></script> + <script type="text/javascript" src="../_static/js/modernizr.min.js"></script> - <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script> - <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/doctools.js"></script> + <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script> + <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/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 async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.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 type="text/javascript" src="_static/js/theme.js"></script> + <script type="text/javascript" src="../_static/js/theme.js"></script> - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> - <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> - <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> - <link rel="index" title="Index" href="genindex.html" /> - <link rel="search" title="Search" href="search.html" /> + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + <link rel="index" title="Index" href="../genindex.html" /> + <link rel="search" title="Search" href="../search.html" /> <link rel="next" title="Tutorial: Using custom logging routines with binary_c-python" href="notebook_custom_logging.html" /> - <link rel="prev" title="Example notebooks" href="example_notebooks.html" /> + <link rel="prev" title="Example notebooks" href="../example_notebooks.html" /> </head> <body class="wy-body-for-nav"> @@ -55,7 +55,7 @@ - <a href="index.html" class="icon icon-home"> binary_c-python + <a href="../index.html" class="icon icon-home"> binary_c-python @@ -68,7 +68,7 @@ <div role="search"> - <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> + <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" /> @@ -87,9 +87,9 @@ <p class="caption" role="heading"><span class="caption-text">Contents:</span></p> <ul class="current"> -<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 current"><a class="reference internal" href="example_notebooks.html">Example notebooks</a><ul class="current"> +<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 current"><a class="reference internal" href="../example_notebooks.html">Example notebooks</a><ul class="current"> <li class="toctree-l2 current"><a class="current reference internal" href="#">Tutorial: Running individual systems with binary_c-python</a><ul> <li class="toctree-l3"><a class="reference internal" href="#Single-system-with-run_system_wrapper">Single system with run_system_wrapper</a></li> <li class="toctree-l3"><a class="reference internal" href="#Single-system-via-population-object">Single system via population object</a></li> @@ -104,13 +104,13 @@ <li class="toctree-l2"><a class="reference internal" href="notebook_luminosity_function_binaries.html">Example use case: Zero-age stellar luminosity function in binaries</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_HRD.html">Example use case: Hertzsprung-Russell diagrams</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_common_envelope_evolution.html">Example use case: Common-envelope evolution</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_BHBH.html">Tutorial: Running individual systems with binary_c-python</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_massive_remnants.html">Example use case: Zero-age stellar luminosity function</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_solar_system.html">Solar system using the API functionality</a></li> +<li class="toctree-l2"><a class="reference internal" href="notebook_BHBH.html">Example use case: Binary black hole systems</a></li> +<li class="toctree-l2"><a class="reference internal" href="notebook_massive_remnants.html">Example use case: Massive star luminosity</a></li> +<li class="toctree-l2"><a class="reference internal" href="notebook_solar_system.html">Example use case: Solar system using the API functionality</a></li> </ul> </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 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> @@ -127,7 +127,7 @@ <nav class="wy-nav-top" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> - <a href="index.html">binary_c-python</a> + <a href="../index.html">binary_c-python</a> </nav> @@ -156,9 +156,9 @@ <ul class="wy-breadcrumbs"> - <li><a href="index.html">Docs</a> »</li> + <li><a href="../index.html">Docs</a> »</li> - <li><a href="example_notebooks.html">Example notebooks</a> »</li> + <li><a href="../example_notebooks.html">Example notebooks</a> »</li> <li>Tutorial: Running individual systems with binary_c-python</li> @@ -166,7 +166,7 @@ <li class="wy-breadcrumbs-aside"> - <a href="_sources/notebook_individual_systems.ipynb.txt" rel="nofollow"> View page source</a> + <a href="../_sources/examples/notebook_individual_systems.ipynb.txt" rel="nofollow"> View page source</a> </li> @@ -910,7 +910,7 @@ SINGLE_STAR_LIFETIME 15 14.9927 <a href="notebook_custom_logging.html" class="btn btn-neutral float-right" title="Tutorial: Using custom logging routines with binary_c-python" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a> - <a href="example_notebooks.html" class="btn btn-neutral float-left" title="Example notebooks" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a> + <a href="../example_notebooks.html" class="btn btn-neutral float-left" title="Example notebooks" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a> </div> @@ -925,9 +925,9 @@ SINGLE_STAR_LIFETIME 15 14.9927 </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/notebook_individual_systems.ipynb b/docs/build/html/examples/notebook_individual_systems.ipynb similarity index 100% rename from docs/build/html/notebook_individual_systems.ipynb rename to docs/build/html/examples/notebook_individual_systems.ipynb diff --git a/docs/build/html/notebook_luminosity_function_binaries.html b/docs/build/html/examples/notebook_luminosity_function_binaries.html similarity index 95% rename from docs/build/html/notebook_luminosity_function_binaries.html rename to docs/build/html/examples/notebook_luminosity_function_binaries.html index 7f411102e..6b4f3ee59 100644 --- a/docs/build/html/notebook_luminosity_function_binaries.html +++ b/docs/build/html/examples/notebook_luminosity_function_binaries.html @@ -17,29 +17,29 @@ - <script type="text/javascript" src="_static/js/modernizr.min.js"></script> + <script type="text/javascript" src="../_static/js/modernizr.min.js"></script> - <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script> - <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/doctools.js"></script> + <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script> + <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/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 async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.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 type="text/javascript" src="_static/js/theme.js"></script> + <script type="text/javascript" src="../_static/js/theme.js"></script> - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> - <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> - <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> - <link rel="index" title="Index" href="genindex.html" /> - <link rel="search" title="Search" href="search.html" /> + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + <link rel="index" title="Index" href="../genindex.html" /> + <link rel="search" title="Search" href="../search.html" /> <link rel="next" title="Example use case: Hertzsprung-Russell diagrams" href="notebook_HRD.html" /> <link rel="prev" title="Example use case: Zero-age stellar luminosity function" href="notebook_luminosity_function_single.html" /> </head> @@ -55,7 +55,7 @@ - <a href="index.html" class="icon icon-home"> binary_c-python + <a href="../index.html" class="icon icon-home"> binary_c-python @@ -68,7 +68,7 @@ <div role="search"> - <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> + <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" /> @@ -87,9 +87,9 @@ <p class="caption" role="heading"><span class="caption-text">Contents:</span></p> <ul class="current"> -<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 current"><a class="reference internal" href="example_notebooks.html">Example notebooks</a><ul class="current"> +<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 current"><a class="reference internal" href="../example_notebooks.html">Example notebooks</a><ul class="current"> <li class="toctree-l2"><a class="reference internal" href="notebook_individual_systems.html">Tutorial: Running individual systems with binary_c-python</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_custom_logging.html">Tutorial: Using custom logging routines with binary_c-python</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_population.html">Tutorial: Running populations with binary_c-python</a></li> @@ -105,13 +105,13 @@ </li> <li class="toctree-l2"><a class="reference internal" href="notebook_HRD.html">Example use case: Hertzsprung-Russell diagrams</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_common_envelope_evolution.html">Example use case: Common-envelope evolution</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_BHBH.html">Tutorial: Running individual systems with binary_c-python</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_massive_remnants.html">Example use case: Zero-age stellar luminosity function</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_solar_system.html">Solar system using the API functionality</a></li> +<li class="toctree-l2"><a class="reference internal" href="notebook_BHBH.html">Example use case: Binary black hole systems</a></li> +<li class="toctree-l2"><a class="reference internal" href="notebook_massive_remnants.html">Example use case: Massive star luminosity</a></li> +<li class="toctree-l2"><a class="reference internal" href="notebook_solar_system.html">Example use case: Solar system using the API functionality</a></li> </ul> </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 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> @@ -128,7 +128,7 @@ <nav class="wy-nav-top" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> - <a href="index.html">binary_c-python</a> + <a href="../index.html">binary_c-python</a> </nav> @@ -157,9 +157,9 @@ <ul class="wy-breadcrumbs"> - <li><a href="index.html">Docs</a> »</li> + <li><a href="../index.html">Docs</a> »</li> - <li><a href="example_notebooks.html">Example notebooks</a> »</li> + <li><a href="../example_notebooks.html">Example notebooks</a> »</li> <li>Example use case: Zero-age stellar luminosity function in binaries</li> @@ -167,7 +167,7 @@ <li class="wy-breadcrumbs-aside"> - <a href="_sources/notebook_luminosity_function_binaries.ipynb.txt" rel="nofollow"> View page source</a> + <a href="../_sources/examples/notebook_luminosity_function_binaries.ipynb.txt" rel="nofollow"> View page source</a> </li> @@ -1232,37 +1232,28 @@ Done population run! <div class="prompt empty docutils container"> </div> <div class="output_area docutils container"> -<img alt="_images/notebook_luminosity_function_binaries_20_1.png" src="_images/notebook_luminosity_function_binaries_20_1.png" /> +<img alt="../_images/examples_notebook_luminosity_function_binaries_20_1.png" src="../_images/examples_notebook_luminosity_function_binaries_20_1.png" /> </div> </div> <p>You can see that the secondary stars are dimmer than the primaries - which you expect given they are lower in mass (by definition q=M2/M1<1).</p> <p>Weirdly, in some places the primary distribution may exceed the unresolved distribution. This is a bit unphysical, but in this case is usually caused by limited resolution. If you increase the number of stars in the grid, this problem should go away (at a cost of more CPU time).</p> -<div class="nbinput docutils container"> -<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[12]: +<p>Things to try:</p> +<ul class="simple"> +<li><p>Massive stars: can you see the effects of wind mass loss and rejuvenation in these stars?</p></li> +<li><p>Alter the metallicity, does this make much of a difference?</p></li> +<li><p>Change the binary fraction. Here we assume a 100% binary fraction, but a real population is a mixture of single and binary stars.</p></li> +<li><p>How might you go about comparing these computed observations to real stars?</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> +</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>Things to try: -* Massive stars: can you see the effects of wind mass loss and rejuvenation in these stars? -* Alter the metallicity, does this make much of a difference? -* Change the binary fraction. Here we assume a 100% binary fraction, but a real population is a mixture of single and binary stars. -* How might you go about comparing these computed observations to real stars? -* 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? +<span></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> -<span class="ansi-cyan-fg"> File </span><span class="ansi-green-fg">"/tmp/ipykernel_518916/2944163245.py"</span><span class="ansi-cyan-fg">, line </span><span class="ansi-green-fg">1</span> -<span class="ansi-red-fg"> Things to try:</span> - ^ -<span class="ansi-red-fg">SyntaxError</span><span class="ansi-red-fg">:</span> invalid syntax - -</pre></div></div> -</div> </div> </div> @@ -1292,9 +1283,9 @@ Done population run! </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/doctrees/nbsphinx/notebook_luminosity_function_binaries.ipynb b/docs/build/html/examples/notebook_luminosity_function_binaries.ipynb similarity index 99% rename from docs/build/doctrees/nbsphinx/notebook_luminosity_function_binaries.ipynb rename to docs/build/html/examples/notebook_luminosity_function_binaries.ipynb index 8eabffc08..d096455b0 100644 --- a/docs/build/doctrees/nbsphinx/notebook_luminosity_function_binaries.ipynb +++ b/docs/build/html/examples/notebook_luminosity_function_binaries.ipynb @@ -869,33 +869,31 @@ ] }, { - "cell_type": "code", - "execution_count": 12, - "id": "99e25a72-54e6-4826-b0e5-4a02460b857d", + "cell_type": "markdown", + "id": "e0601000-a4c9-4073-a695-10a664e532f0", "metadata": {}, - "outputs": [ - { - "ename": "SyntaxError", - "evalue": "invalid syntax (2944163245.py, line 1)", - "output_type": "error", - "traceback": [ - "\u001b[0;36m File \u001b[0;32m\"/tmp/ipykernel_518916/2944163245.py\"\u001b[0;36m, line \u001b[0;32m1\u001b[0m\n\u001b[0;31m Things to try:\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n" - ] - } - ], "source": [ "Things to try:\n", - "* Massive stars: can you see the effects of wind mass loss and rejuvenation in these stars?\n", - "* Alter the metallicity, does this make much of a difference?\n", - "* Change the binary fraction. Here we assume a 100% binary fraction, but a real population is a mixture of single and binary stars.\n", - "* How might you go about comparing these computed observations to real stars?\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", + " * Massive stars: can you see the effects of wind mass loss and rejuvenation in these stars?\n", + " * Alter the metallicity, does this make much of a difference?\n", + " * Change the binary fraction. Here we assume a 100% binary fraction, but a real population is a mixture of single and binary stars.\n", + " * How might you go about comparing these computed observations to real stars?\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?" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "abb096b0-7c57-43d6-a9f7-56bdd21dc542", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -909,7 +907,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.5" + "version": "3.6.4" } }, "nbformat": 4, diff --git a/docs/build/html/notebook_luminosity_function_single.html b/docs/build/html/examples/notebook_luminosity_function_single.html similarity index 95% rename from docs/build/html/notebook_luminosity_function_single.html rename to docs/build/html/examples/notebook_luminosity_function_single.html index b46badd18..5f6f3dcd7 100644 --- a/docs/build/html/notebook_luminosity_function_single.html +++ b/docs/build/html/examples/notebook_luminosity_function_single.html @@ -17,29 +17,29 @@ - <script type="text/javascript" src="_static/js/modernizr.min.js"></script> + <script type="text/javascript" src="../_static/js/modernizr.min.js"></script> - <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script> - <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/doctools.js"></script> + <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script> + <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/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 async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.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 type="text/javascript" src="_static/js/theme.js"></script> + <script type="text/javascript" src="../_static/js/theme.js"></script> - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> - <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> - <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> - <link rel="index" title="Index" href="genindex.html" /> - <link rel="search" title="Search" href="search.html" /> + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + <link rel="index" title="Index" href="../genindex.html" /> + <link rel="search" title="Search" href="../search.html" /> <link rel="next" title="Example use case: Zero-age stellar luminosity function in binaries" href="notebook_luminosity_function_binaries.html" /> <link rel="prev" title="Tutorial: Using the API functionality of binary_c-python" href="notebook_api_functionality.html" /> </head> @@ -55,7 +55,7 @@ - <a href="index.html" class="icon icon-home"> binary_c-python + <a href="../index.html" class="icon icon-home"> binary_c-python @@ -68,7 +68,7 @@ <div role="search"> - <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> + <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" /> @@ -87,9 +87,9 @@ <p class="caption" role="heading"><span class="caption-text">Contents:</span></p> <ul class="current"> -<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 current"><a class="reference internal" href="example_notebooks.html">Example notebooks</a><ul class="current"> +<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 current"><a class="reference internal" href="../example_notebooks.html">Example notebooks</a><ul class="current"> <li class="toctree-l2"><a class="reference internal" href="notebook_individual_systems.html">Tutorial: Running individual systems with binary_c-python</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_custom_logging.html">Tutorial: Using custom logging routines with binary_c-python</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_population.html">Tutorial: Running populations with binary_c-python</a></li> @@ -107,13 +107,13 @@ <li class="toctree-l2"><a class="reference internal" href="notebook_luminosity_function_binaries.html">Example use case: Zero-age stellar luminosity function in binaries</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_HRD.html">Example use case: Hertzsprung-Russell diagrams</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_common_envelope_evolution.html">Example use case: Common-envelope evolution</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_BHBH.html">Tutorial: Running individual systems with binary_c-python</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_massive_remnants.html">Example use case: Zero-age stellar luminosity function</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_solar_system.html">Solar system using the API functionality</a></li> +<li class="toctree-l2"><a class="reference internal" href="notebook_BHBH.html">Example use case: Binary black hole systems</a></li> +<li class="toctree-l2"><a class="reference internal" href="notebook_massive_remnants.html">Example use case: Massive star luminosity</a></li> +<li class="toctree-l2"><a class="reference internal" href="notebook_solar_system.html">Example use case: Solar system using the API functionality</a></li> </ul> </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 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> @@ -130,7 +130,7 @@ <nav class="wy-nav-top" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> - <a href="index.html">binary_c-python</a> + <a href="../index.html">binary_c-python</a> </nav> @@ -159,9 +159,9 @@ <ul class="wy-breadcrumbs"> - <li><a href="index.html">Docs</a> »</li> + <li><a href="../index.html">Docs</a> »</li> - <li><a href="example_notebooks.html">Example notebooks</a> »</li> + <li><a href="../example_notebooks.html">Example notebooks</a> »</li> <li>Example use case: Zero-age stellar luminosity function</li> @@ -169,7 +169,7 @@ <li class="wy-breadcrumbs-aside"> - <a href="_sources/notebook_luminosity_function_single.ipynb.txt" rel="nofollow"> View page source</a> + <a href="../_sources/examples/notebook_luminosity_function_single.ipynb.txt" rel="nofollow"> View page source</a> </li> @@ -924,9 +924,9 @@ evolution? * Binary stars! (see notebook_luminosity_function_binaries.ipynb)</p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/source/notebook_luminosity_function_single.ipynb b/docs/build/html/examples/notebook_luminosity_function_single.ipynb similarity index 99% rename from docs/source/notebook_luminosity_function_single.ipynb rename to docs/build/html/examples/notebook_luminosity_function_single.ipynb index 2fc879dc4..4422377c9 100644 --- a/docs/source/notebook_luminosity_function_single.ipynb +++ b/docs/build/html/examples/notebook_luminosity_function_single.ipynb @@ -605,7 +605,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -619,7 +619,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.5" + "version": "3.6.4" } }, "nbformat": 4, diff --git a/docs/build/html/notebook_massive_remnants.html b/docs/build/html/examples/notebook_massive_remnants.html similarity index 93% rename from docs/build/html/notebook_massive_remnants.html rename to docs/build/html/examples/notebook_massive_remnants.html index 467c9149d..94e976e3f 100644 --- a/docs/build/html/notebook_massive_remnants.html +++ b/docs/build/html/examples/notebook_massive_remnants.html @@ -8,7 +8,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <title>Example use case: Zero-age stellar luminosity function — binary_c-python documentation</title> + <title>Example use case: Massive star luminosity — binary_c-python documentation</title> @@ -17,31 +17,31 @@ - <script type="text/javascript" src="_static/js/modernizr.min.js"></script> + <script type="text/javascript" src="../_static/js/modernizr.min.js"></script> - <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script> - <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/doctools.js"></script> + <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script> + <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/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 async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.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 type="text/javascript" src="_static/js/theme.js"></script> + <script type="text/javascript" src="../_static/js/theme.js"></script> - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> - <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> - <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> - <link rel="index" title="Index" href="genindex.html" /> - <link rel="search" title="Search" href="search.html" /> - <link rel="next" title="Solar system using the API functionality" href="notebook_solar_system.html" /> - <link rel="prev" title="Tutorial: Running individual systems with binary_c-python" href="notebook_BHBH.html" /> + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + <link rel="index" title="Index" href="../genindex.html" /> + <link rel="search" title="Search" href="../search.html" /> + <link rel="next" title="Example use case: Solar system using the API functionality" href="notebook_solar_system.html" /> + <link rel="prev" title="Example use case: Binary black hole systems" href="notebook_BHBH.html" /> </head> <body class="wy-body-for-nav"> @@ -55,7 +55,7 @@ - <a href="index.html" class="icon icon-home"> binary_c-python + <a href="../index.html" class="icon icon-home"> binary_c-python @@ -68,7 +68,7 @@ <div role="search"> - <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> + <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" /> @@ -87,9 +87,9 @@ <p class="caption" role="heading"><span class="caption-text">Contents:</span></p> <ul class="current"> -<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 current"><a class="reference internal" href="example_notebooks.html">Example notebooks</a><ul class="current"> +<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 current"><a class="reference internal" href="../example_notebooks.html">Example notebooks</a><ul class="current"> <li class="toctree-l2"><a class="reference internal" href="notebook_individual_systems.html">Tutorial: Running individual systems with binary_c-python</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_custom_logging.html">Tutorial: Using custom logging routines with binary_c-python</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_population.html">Tutorial: Running populations with binary_c-python</a></li> @@ -99,8 +99,8 @@ <li class="toctree-l2"><a class="reference internal" href="notebook_luminosity_function_binaries.html">Example use case: Zero-age stellar luminosity function in binaries</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_HRD.html">Example use case: Hertzsprung-Russell diagrams</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_common_envelope_evolution.html">Example use case: Common-envelope evolution</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_BHBH.html">Tutorial: Running individual systems with binary_c-python</a></li> -<li class="toctree-l2 current"><a class="current reference internal" href="#">Example use case: Zero-age stellar luminosity function</a><ul> +<li class="toctree-l2"><a class="reference internal" href="notebook_BHBH.html">Example use case: Binary black hole systems</a></li> +<li class="toctree-l2 current"><a class="current reference internal" href="#">Example use case: Massive star luminosity</a><ul> <li class="toctree-l3"><a class="reference internal" href="#Setting-up-the-Population-object">Setting up the Population object</a></li> <li class="toctree-l3"><a class="reference internal" href="#Adding-grid-variables">Adding grid variables</a></li> <li class="toctree-l3"><a class="reference internal" href="#Setting-logging-and-handling-the-output">Setting logging and handling the output</a></li> @@ -109,11 +109,11 @@ <li class="toctree-l3"><a class="reference internal" href="#A-better-sampled-grid">A better-sampled grid</a></li> </ul> </li> -<li class="toctree-l2"><a class="reference internal" href="notebook_solar_system.html">Solar system using the API functionality</a></li> +<li class="toctree-l2"><a class="reference internal" href="notebook_solar_system.html">Example use case: Solar system using the API functionality</a></li> </ul> </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 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> @@ -130,7 +130,7 @@ <nav class="wy-nav-top" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> - <a href="index.html">binary_c-python</a> + <a href="../index.html">binary_c-python</a> </nav> @@ -159,17 +159,17 @@ <ul class="wy-breadcrumbs"> - <li><a href="index.html">Docs</a> »</li> + <li><a href="../index.html">Docs</a> »</li> - <li><a href="example_notebooks.html">Example notebooks</a> »</li> + <li><a href="../example_notebooks.html">Example notebooks</a> »</li> - <li>Example use case: Zero-age stellar luminosity function</li> + <li>Example use case: Massive star luminosity</li> <li class="wy-breadcrumbs-aside"> - <a href="_sources/notebook_massive_remnants.ipynb.txt" rel="nofollow"> View page source</a> + <a href="../_sources/examples/notebook_massive_remnants.ipynb.txt" rel="nofollow"> View page source</a> </li> @@ -452,8 +452,8 @@ div.rendered_html tbody tr:hover { text-align: unset; } </style> -<div class="section" id="Example-use-case:-Zero-age-stellar-luminosity-function"> -<h1>Example use case: Zero-age stellar luminosity function<a class="headerlink" href="#Example-use-case:-Zero-age-stellar-luminosity-function" title="Permalink to this headline">¶</a></h1> +<div class="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 headline">¶</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"> @@ -786,7 +786,7 @@ There were no errors found in this run. <div class="prompt empty docutils container"> </div> <div class="output_area docutils container"> -<img alt="_images/notebook_massive_remnants_20_1.png" src="_images/notebook_massive_remnants_20_1.png" /> +<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> @@ -882,7 +882,7 @@ There were no errors found in this run. <div class="prompt empty docutils container"> </div> <div class="output_area docutils container"> -<img alt="_images/notebook_massive_remnants_25_1.png" src="_images/notebook_massive_remnants_25_1.png" /> +<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> @@ -992,7 +992,7 @@ There were no errors found in this run. <div class="prompt empty docutils container"> </div> <div class="output_area docutils container"> -<img alt="_images/notebook_massive_remnants_33_0.png" src="_images/notebook_massive_remnants_33_0.png" /> +<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> @@ -1000,6 +1000,15 @@ There were no errors found in this run. <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: * Change the resolution to make the distributions smoother: what about error bars, how would you do that? * Different initial distributions: the Kroupa distribution isn’t the only one out there * Change the metallicity and mass ranges * What about a non-constant star formation rate? This is more of a challenge! * 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? * Binary stars! (see notebook_luminosity_function_binaries.ipynb)</p> +<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> </div> </div> @@ -1011,10 +1020,10 @@ evolution? * Binary stars! (see notebook_luminosity_function_binaries.ipynb)</p> <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> - <a href="notebook_solar_system.html" class="btn btn-neutral float-right" title="Solar system using the API functionality" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a> + <a href="notebook_solar_system.html" class="btn btn-neutral float-right" title="Example use case: Solar system using the API functionality" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a> - <a href="notebook_BHBH.html" class="btn btn-neutral float-left" title="Tutorial: Running individual systems with binary_c-python" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a> + <a href="notebook_BHBH.html" class="btn btn-neutral float-left" title="Example use case: Binary black hole systems" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a> </div> @@ -1029,9 +1038,9 @@ evolution? * Binary stars! (see notebook_luminosity_function_binaries.ipynb)</p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/source/notebook_massive_remnants.ipynb b/docs/build/html/examples/notebook_massive_remnants.ipynb similarity index 99% rename from docs/source/notebook_massive_remnants.ipynb rename to docs/build/html/examples/notebook_massive_remnants.ipynb index f7586281e..6943c9d53 100644 --- a/docs/source/notebook_massive_remnants.ipynb +++ b/docs/build/html/examples/notebook_massive_remnants.ipynb @@ -7,7 +7,7 @@ "tags": [] }, "source": [ - "# Example use case: Zero-age stellar luminosity function\n", + "# 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", @@ -718,18 +718,26 @@ "metadata": {}, "source": [ "Things to try:\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)" + " * 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 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -743,7 +751,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.5" + "version": "3.6.4" } }, "nbformat": 4, diff --git a/docs/build/html/notebook_population.html b/docs/build/html/examples/notebook_population.html similarity index 97% rename from docs/build/html/notebook_population.html rename to docs/build/html/examples/notebook_population.html index 833803bf5..65f57286f 100644 --- a/docs/build/html/notebook_population.html +++ b/docs/build/html/examples/notebook_population.html @@ -17,29 +17,29 @@ - <script type="text/javascript" src="_static/js/modernizr.min.js"></script> + <script type="text/javascript" src="../_static/js/modernizr.min.js"></script> - <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script> - <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/doctools.js"></script> + <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script> + <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/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 async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.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 type="text/javascript" src="_static/js/theme.js"></script> + <script type="text/javascript" src="../_static/js/theme.js"></script> - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> - <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> - <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> - <link rel="index" title="Index" href="genindex.html" /> - <link rel="search" title="Search" href="search.html" /> + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + <link rel="index" title="Index" href="../genindex.html" /> + <link rel="search" title="Search" href="../search.html" /> <link rel="next" title="Tutorial: Extra features and functionality of binary_c-python" href="notebook_extra_features.html" /> <link rel="prev" title="Tutorial: Using custom logging routines with binary_c-python" href="notebook_custom_logging.html" /> </head> @@ -55,7 +55,7 @@ - <a href="index.html" class="icon icon-home"> binary_c-python + <a href="../index.html" class="icon icon-home"> binary_c-python @@ -68,7 +68,7 @@ <div role="search"> - <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> + <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" /> @@ -87,9 +87,9 @@ <p class="caption" role="heading"><span class="caption-text">Contents:</span></p> <ul class="current"> -<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 current"><a class="reference internal" href="example_notebooks.html">Example notebooks</a><ul class="current"> +<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 current"><a class="reference internal" href="../example_notebooks.html">Example notebooks</a><ul class="current"> <li class="toctree-l2"><a class="reference internal" href="notebook_individual_systems.html">Tutorial: Running individual systems with binary_c-python</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_custom_logging.html">Tutorial: Using custom logging routines with binary_c-python</a></li> <li class="toctree-l2 current"><a class="current reference internal" href="#">Tutorial: Running populations with binary_c-python</a><ul> @@ -107,13 +107,13 @@ <li class="toctree-l2"><a class="reference internal" href="notebook_luminosity_function_binaries.html">Example use case: Zero-age stellar luminosity function in binaries</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_HRD.html">Example use case: Hertzsprung-Russell diagrams</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_common_envelope_evolution.html">Example use case: Common-envelope evolution</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_BHBH.html">Tutorial: Running individual systems with binary_c-python</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_massive_remnants.html">Example use case: Zero-age stellar luminosity function</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_solar_system.html">Solar system using the API functionality</a></li> +<li class="toctree-l2"><a class="reference internal" href="notebook_BHBH.html">Example use case: Binary black hole systems</a></li> +<li class="toctree-l2"><a class="reference internal" href="notebook_massive_remnants.html">Example use case: Massive star luminosity</a></li> +<li class="toctree-l2"><a class="reference internal" href="notebook_solar_system.html">Example use case: Solar system using the API functionality</a></li> </ul> </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 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> @@ -130,7 +130,7 @@ <nav class="wy-nav-top" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> - <a href="index.html">binary_c-python</a> + <a href="../index.html">binary_c-python</a> </nav> @@ -159,9 +159,9 @@ <ul class="wy-breadcrumbs"> - <li><a href="index.html">Docs</a> »</li> + <li><a href="../index.html">Docs</a> »</li> - <li><a href="example_notebooks.html">Example notebooks</a> »</li> + <li><a href="../example_notebooks.html">Example notebooks</a> »</li> <li>Tutorial: Running populations with binary_c-python</li> @@ -169,7 +169,7 @@ <li class="wy-breadcrumbs-aside"> - <a href="_sources/notebook_population.ipynb.txt" rel="nofollow"> View page source</a> + <a href="../_sources/examples/notebook_population.ipynb.txt" rel="nofollow"> View page source</a> </li> @@ -1500,9 +1500,9 @@ time mass_1 zams_mass_1 mass_2 zams_mass_2 stellar_type_1 prev_stellar_type_1 st </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/notebook_population.ipynb b/docs/build/html/examples/notebook_population.ipynb similarity index 100% rename from docs/build/html/notebook_population.ipynb rename to docs/build/html/examples/notebook_population.ipynb diff --git a/docs/build/html/notebook_solar_system.html b/docs/build/html/examples/notebook_solar_system.html similarity index 90% rename from docs/build/html/notebook_solar_system.html rename to docs/build/html/examples/notebook_solar_system.html index 5e1b53716..10148d94f 100644 --- a/docs/build/html/notebook_solar_system.html +++ b/docs/build/html/examples/notebook_solar_system.html @@ -8,7 +8,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <title>Solar system using the API functionality — binary_c-python documentation</title> + <title>Example use case: Solar system using the API functionality — binary_c-python documentation</title> @@ -17,31 +17,31 @@ - <script type="text/javascript" src="_static/js/modernizr.min.js"></script> + <script type="text/javascript" src="../_static/js/modernizr.min.js"></script> - <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script> - <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/doctools.js"></script> + <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script> + <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/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 async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.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 type="text/javascript" src="_static/js/theme.js"></script> + <script type="text/javascript" src="../_static/js/theme.js"></script> - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> - <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> - <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> - <link rel="index" title="Index" href="genindex.html" /> - <link rel="search" title="Search" href="search.html" /> - <link rel="next" title="Binary_c parameters" href="binary_c_parameters.html" /> - <link rel="prev" title="Example use case: Zero-age stellar luminosity function" href="notebook_massive_remnants.html" /> + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + <link rel="index" title="Index" href="../genindex.html" /> + <link rel="search" title="Search" href="../search.html" /> + <link rel="next" title="Binary_c parameters" href="../binary_c_parameters.html" /> + <link rel="prev" title="Example use case: Massive star luminosity" href="notebook_massive_remnants.html" /> </head> <body class="wy-body-for-nav"> @@ -55,7 +55,7 @@ - <a href="index.html" class="icon icon-home"> binary_c-python + <a href="../index.html" class="icon icon-home"> binary_c-python @@ -68,7 +68,7 @@ <div role="search"> - <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> + <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" /> @@ -87,9 +87,9 @@ <p class="caption" role="heading"><span class="caption-text">Contents:</span></p> <ul class="current"> -<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 current"><a class="reference internal" href="example_notebooks.html">Example notebooks</a><ul class="current"> +<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 current"><a class="reference internal" href="../example_notebooks.html">Example notebooks</a><ul class="current"> <li class="toctree-l2"><a class="reference internal" href="notebook_individual_systems.html">Tutorial: Running individual systems with binary_c-python</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_custom_logging.html">Tutorial: Using custom logging routines with binary_c-python</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_population.html">Tutorial: Running populations with binary_c-python</a></li> @@ -99,13 +99,13 @@ <li class="toctree-l2"><a class="reference internal" href="notebook_luminosity_function_binaries.html">Example use case: Zero-age stellar luminosity function in binaries</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_HRD.html">Example use case: Hertzsprung-Russell diagrams</a></li> <li class="toctree-l2"><a class="reference internal" href="notebook_common_envelope_evolution.html">Example use case: Common-envelope evolution</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_BHBH.html">Tutorial: Running individual systems with binary_c-python</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_massive_remnants.html">Example use case: Zero-age stellar luminosity function</a></li> -<li class="toctree-l2 current"><a class="current reference internal" href="#">Solar system using the API functionality</a></li> +<li class="toctree-l2"><a class="reference internal" href="notebook_BHBH.html">Example use case: Binary black hole systems</a></li> +<li class="toctree-l2"><a class="reference internal" href="notebook_massive_remnants.html">Example use case: Massive star luminosity</a></li> +<li class="toctree-l2 current"><a class="current reference internal" href="#">Example use case: Solar system using the API functionality</a></li> </ul> </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 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> @@ -122,7 +122,7 @@ <nav class="wy-nav-top" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> - <a href="index.html">binary_c-python</a> + <a href="../index.html">binary_c-python</a> </nav> @@ -151,17 +151,17 @@ <ul class="wy-breadcrumbs"> - <li><a href="index.html">Docs</a> »</li> + <li><a href="../index.html">Docs</a> »</li> - <li><a href="example_notebooks.html">Example notebooks</a> »</li> + <li><a href="../example_notebooks.html">Example notebooks</a> »</li> - <li>Solar system using the API functionality</li> + <li>Example use case: Solar system using the API functionality</li> <li class="wy-breadcrumbs-aside"> - <a href="_sources/notebook_solar_system.ipynb.txt" rel="nofollow"> View page source</a> + <a href="../_sources/examples/notebook_solar_system.ipynb.txt" rel="nofollow"> View page source</a> </li> @@ -444,8 +444,8 @@ div.rendered_html tbody tr:hover { text-align: unset; } </style> -<div class="section" id="Solar-system-using-the-API-functionality"> -<h1>Solar system using the API functionality<a class="headerlink" href="#Solar-system-using-the-API-functionality" title="Permalink to this headline">¶</a></h1> +<div class="section" id="Example-use-case:-Solar-system-using-the-API-functionality"> +<h1>Example use case: Solar system using the API functionality<a class="headerlink" href="#Example-use-case:-Solar-system-using-the-API-functionality" title="Permalink to this headline">¶</a></h1> <p>We use the API interface to construct a model of the Solar system.</p> <p>First we must construct the argument string that we pass to binary_c</p> <div class="nbinput nblast docutils container"> @@ -617,7 +617,7 @@ div.rendered_html tbody tr:hover { <div class="prompt empty docutils container"> </div> <div class="output_area docutils container"> -<img alt="_images/notebook_solar_system_8_1.png" src="_images/notebook_solar_system_8_1.png" /> +<img alt="../_images/examples_notebook_solar_system_8_1.png" src="../_images/examples_notebook_solar_system_8_1.png" /> </div> </div> <p>The inner objects are swallowed by the Sun when it becomes a red giant. Earth survives, although mass loss from the red-giant Sun and tides mess with its orbit somewhat. Jupiter is pushed out beyond the orbits of Saturn and Uranus, and this simple model assumes they are ejected in the interaction because Jupiter is (far) more massive. There are options to detect when its orbit is too close to Neptune, and hence possibly eject Neptune, but I’ll let you explore these.</p> @@ -673,7 +673,7 @@ div.rendered_html tbody tr:hover { <div class="prompt empty docutils container"> </div> <div class="output_area docutils container"> -<img alt="_images/notebook_solar_system_10_1.png" src="_images/notebook_solar_system_10_1.png" /> +<img alt="../_images/examples_notebook_solar_system_10_1.png" src="../_images/examples_notebook_solar_system_10_1.png" /> </div> </div> <p>It gets a little toasty on Earth in the not too distant future!</p> @@ -696,10 +696,10 @@ div.rendered_html tbody tr:hover { <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> - <a href="binary_c_parameters.html" class="btn btn-neutral float-right" title="Binary_c parameters" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a> + <a href="../binary_c_parameters.html" class="btn btn-neutral float-right" title="Binary_c parameters" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a> - <a href="notebook_massive_remnants.html" class="btn btn-neutral float-left" title="Example use case: Zero-age stellar luminosity function" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a> + <a href="notebook_massive_remnants.html" class="btn btn-neutral float-left" title="Example use case: Massive star luminosity" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a> </div> @@ -714,9 +714,9 @@ div.rendered_html tbody tr:hover { </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/source/notebook_solar_system.ipynb b/docs/build/html/examples/notebook_solar_system.ipynb similarity index 99% rename from docs/source/notebook_solar_system.ipynb rename to docs/build/html/examples/notebook_solar_system.ipynb index 67556a655..2b343a8f4 100644 --- a/docs/source/notebook_solar_system.ipynb +++ b/docs/build/html/examples/notebook_solar_system.ipynb @@ -3,9 +3,11 @@ { "cell_type": "markdown", "id": "ddc06da3-fc68-4c6f-8067-14ea862b964d", - "metadata": {}, + "metadata": { + "tags": [] + }, "source": [ - "## Solar system using the API functionality\n", + "## Example use case: Solar system using the API functionality\n", "We use the API interface to construct a model of the Solar system." ] }, @@ -304,7 +306,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -318,7 +320,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.5" + "version": "3.6.4" } }, "nbformat": 4, diff --git a/docs/build/html/examples/old/basic_example.html b/docs/build/html/examples/old/basic_example.html new file mode 100644 index 000000000..994577ce0 --- /dev/null +++ b/docs/build/html/examples/old/basic_example.html @@ -0,0 +1,565 @@ + + +<!DOCTYPE html> +<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> +<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> +<head> + <meta charset="utf-8"> + + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + + <title><no title> — binary_c-python documentation</title> + + + + + + + + + <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script> + + + <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script> + <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/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 async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.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 type="text/javascript" src="../../_static/js/theme.js"></script> + + + + + <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" /> + <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" /> + <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="main navigation"> + + + + + + + <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="top navigation"> + + <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="breadcrumbs navigation"> + + <ul class="wy-breadcrumbs"> + + <li><a href="../../index.html">Docs</a> »</li> + + <li><no title></li> + + + <li class="wy-breadcrumbs-aside"> + + + <a href="../../_sources/examples/old/basic_example.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 a.copybtn { + display: none; +} + +/* Some additional styling taken form the Jupyter notebook CSS */ +div.rendered_html table { + border: none; + border-collapse: collapse; + border-spacing: 0; + color: black; + font-size: 12px; + table-layout: fixed; +} +div.rendered_html thead { + border-bottom: 1px solid black; + vertical-align: bottom; +} +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; +} +div.rendered_html th { + font-weight: bold; +} +div.rendered_html tbody tr:nth-child(odd) { + background: #f5f5f5; +} +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> +<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">pandas</span> <span class="k">as</span> <span class="nn">pd</span> +<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span> + +<span class="kn">import</span> <span class="nn">binarycpython</span> +<span class="kn">from</span> <span class="nn">binarycpython.utils.custom_logging_functions</span> <span class="k">import</span> <span class="n">binary_c_log_code</span> +<span class="kn">from</span> <span class="nn">binarycpython.utils.run_system_wrapper</span> <span class="k">import</span> <span class="n">run_system</span> +<span class="kn">from</span> <span class="nn">binarycpython.utils.functions</span> <span class="k">import</span> <span class="n">example_parse_output</span> +</pre></div> +</div> +</div> +<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="c1"># You can decide to `write` your own logging_line, which allows you to write a more complex logging statement with conditionals.</span> +<span class="n">logging_line</span> <span class="o">=</span> <span class="s1">'Printf("MY_STELLAR_DATA time=</span><span class="si">%g</span><span class="s1"> radius=</span><span class="si">%g</span><span class="se">\\</span><span class="s1">n",stardata->model.time,stardata->star[0].radius)'</span> + +<span class="c1"># Generate entire shared lib code around logging lines</span> +<span class="n">custom_logging_code</span> <span class="o">=</span> <span class="n">binary_c_log_code</span><span class="p">(</span><span class="n">logging_line</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=-</span><span class="mi">1</span><span class="p">)</span> + +<span class="c1"># Run system. all arguments can be given as optional arguments. the custom_logging_code is</span> +<span class="c1"># one of them and will be processed automatically.</span> +<span class="n">output</span> <span class="o">=</span> <span class="n">run_system</span><span class="p">(</span> + <span class="n">M_1</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">metallicity</span><span class="o">=</span><span class="mf">0.002</span><span class="p">,</span> <span class="n">M_2</span><span class="o">=</span><span class="mf">0.1</span><span class="p">,</span> <span class="n">separation</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">orbital_period</span><span class="o">=</span><span class="mi">100000000000</span><span class="p">,</span> \ + <span class="n">custom_logging_code</span><span class="o">=</span><span class="n">custom_logging_code</span><span class="p">,</span> +<span class="p">)</span> + +<span class="n">df</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="n">example_parse_output</span><span class="p">(</span><span class="n">output</span><span class="p">,</span> <span class="s1">'MY_STELLAR_DATA'</span><span class="p">),</span> <span class="n">dtype</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">float64</span><span class="p">)</span> + +<span class="n">df</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="s1">'time'</span><span class="p">,</span> <span class="s1">'radius'</span><span class="p">,</span> <span class="n">logy</span><span class="o">=</span><span class="kc">True</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>[10]: +</pre></div> +</div> +<div class="output_area docutils container"> +<div class="highlight"><pre> +<AxesSubplot:xlabel='time'> +</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_old_basic_example_1_1.png" src="../../_images/examples_old_basic_example_1_1.png" /> +</div> +</div> +<div class="nbinput 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> +</pre></div> +</div> +</div> +<div class="nboutput docutils container"> +<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[7]: +</pre></div> +</div> +<div class="output_area docutils container"> +<div class="highlight"><pre> +<AxesSubplot:xlabel='time'> +</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_old_basic_example_2_1.png" src="../../_images/examples_old_basic_example_2_1.png" /> +</div> +</div> +<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> + + + </div> + + </div> + <footer> + + + <hr/> + + <div role="contentinfo"> + <p> + © Copyright 2021, David Hendriks, Robert Izzard + + </p> + </div> + Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. +<br><br> +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. + + + +</footer> + + </div> + </div> + + </section> + + </div> + + + + <script type="text/javascript"> + jQuery(function () { + SphinxRtdTheme.Navigation.enable(true); + }); + </script> + + + + + + +</body> +</html> \ No newline at end of file diff --git a/docs/build/html/examples/old/basic_example.ipynb b/docs/build/html/examples/old/basic_example.ipynb new file mode 100644 index 000000000..9078cfcb5 --- /dev/null +++ b/docs/build/html/examples/old/basic_example.ipynb @@ -0,0 +1,128 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "66ca8e31-7cbf-4484-bb6c-c9235e14bda2", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "import binarycpython\n", + "from binarycpython.utils.custom_logging_functions import binary_c_log_code\n", + "from binarycpython.utils.run_system_wrapper import run_system\n", + "from binarycpython.utils.functions import example_parse_output" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "31851c7f-4ccf-4b5a-9f74-8a3e06c6b2d8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "<AxesSubplot:xlabel='time'>" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 432x288 with 1 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# You can decide to `write` your own logging_line, which allows you to write a more complex logging statement with conditionals.\n", + "logging_line = 'Printf(\"MY_STELLAR_DATA time=%g radius=%g\\\\n\",stardata->model.time,stardata->star[0].radius)'\n", + "\n", + "# Generate entire shared lib code around logging lines\n", + "custom_logging_code = binary_c_log_code(logging_line, verbose=-1)\n", + "\n", + "# Run system. all arguments can be given as optional arguments. the custom_logging_code is \n", + "# one of them and will be processed automatically.\n", + "output = run_system(\n", + " M_1=1, metallicity=0.002, M_2=0.1, separation=0, orbital_period=100000000000, \\\n", + " custom_logging_code=custom_logging_code,\n", + ")\n", + "\n", + "df = pd.DataFrame.from_dict(example_parse_output(output, 'MY_STELLAR_DATA'), dtype=np.float64)\n", + "\n", + "df.plot('time', 'radius', logy=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "db0f3990-8680-4ea7-80d3-cdb430950c7f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "<AxesSubplot:xlabel='time'>" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 432x288 with 1 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "39509b1c-f5fb-4edd-847a-97757c2197df", + "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/old/workshop_example_notebook.html b/docs/build/html/examples/old/workshop_example_notebook.html new file mode 100644 index 000000000..d00f94e45 --- /dev/null +++ b/docs/build/html/examples/old/workshop_example_notebook.html @@ -0,0 +1,1008 @@ + + +<!DOCTYPE html> +<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> +<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> +<head> + <meta charset="utf-8"> + + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + + <title>Binary_c and python example notebook — binary_c-python documentation</title> + + + + + + + + + <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script> + + + <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script> + <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/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 async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.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 type="text/javascript" src="../../_static/js/theme.js"></script> + + + + + <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" /> + <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" /> + <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="main navigation"> + + + + + + + <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="top navigation"> + + <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="breadcrumbs navigation"> + + <ul class="wy-breadcrumbs"> + + <li><a href="../../index.html">Docs</a> »</li> + + <li>Binary_c and python example notebook</li> + + + <li class="wy-breadcrumbs-aside"> + + + <a href="../../_sources/examples/old/workshop_example_notebook.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 a.copybtn { + display: none; +} + +/* Some additional styling taken form the Jupyter notebook CSS */ +div.rendered_html table { + border: none; + border-collapse: collapse; + border-spacing: 0; + color: black; + font-size: 12px; + table-layout: fixed; +} +div.rendered_html thead { + border-bottom: 1px solid black; + vertical-align: bottom; +} +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; +} +div.rendered_html th { + font-weight: bold; +} +div.rendered_html tbody tr:nth-child(odd) { + background: #f5f5f5; +} +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> +<div class="section" id="Binary_c-and-python-example-notebook"> +<h1>Binary_c and python example notebook<a class="headerlink" href="#Binary_c-and-python-example-notebook" title="Permalink to this headline">¶</a></h1> +<p>The following notebook servers as an example of how the binary_c python wrapper works and how it could be used.</p> +<p>By: David Hendriks 30 nov 2019</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="kn">import</span> <span class="nn">binarycpython</span> +<span class="kn">import</span> <span class="nn">binary_c_python_api</span> +</pre></div> +</div> +</div> +<div class="section" id="Core-api-wrapper-functions:"> +<h2>Core api wrapper functions:<a class="headerlink" href="#Core-api-wrapper-functions:" title="Permalink to this headline">¶</a></h2> +<div class="section" id="run_binary()"> +<h3>run_binary()<a class="headerlink" href="#run_binary()" title="Permalink to this headline">¶</a></h3> +<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="n">m1</span> <span class="o">=</span> <span class="mf">15.0</span> <span class="c1"># Msun</span> +<span class="n">m2</span> <span class="o">=</span> <span class="mf">14.0</span> <span class="c1"># Msun</span> +<span class="n">separation</span> <span class="o">=</span> <span class="mi">0</span> <span class="c1"># 0 = ignored, use period</span> +<span class="n">orbital_period</span> <span class="o">=</span> <span class="mf">4530.0</span> <span class="c1"># days</span> +<span class="n">eccentricity</span> <span class="o">=</span> <span class="mf">0.0</span> +<span class="n">metallicity</span> <span class="o">=</span> <span class="mf">0.02</span> +<span class="n">max_evolution_time</span> <span class="o">=</span> <span class="mi">15000</span> <span class="c1"># You need to set this!</span> + +<span class="n">argstring</span> <span class="o">=</span> <span class="s2">"binary_c M_1 </span><span class="si">{0:g}</span><span class="s2"> M_2 </span><span class="si">{1:g}</span><span class="s2"> separation </span><span class="si">{2:g}</span><span class="s2"> orbital_period </span><span class="si">{3:g}</span><span class="s2"> eccentricity </span><span class="si">{4:g}</span><span class="s2"> metallicity </span><span class="si">{5:g}</span><span class="s2"> max_evolution_time </span><span class="si">{6:g}</span><span class="s2"> "</span><span class="o">.</span><span class="n">format</span><span class="p">(</span> + <span class="n">m1</span><span class="p">,</span> + <span class="n">m2</span><span class="p">,</span> + <span class="n">separation</span><span class="p">,</span> + <span class="n">orbital_period</span><span class="p">,</span> + <span class="n">eccentricity</span><span class="p">,</span> + <span class="n">metallicity</span><span class="p">,</span> + <span class="n">max_evolution_time</span><span class="p">,</span> +<span class="p">)</span> + +<span class="n">output</span> <span class="o">=</span> <span class="n">binary_c_python_api</span><span class="o">.</span><span class="n">run_binary</span><span class="p">(</span><span class="n">argstring</span><span class="p">)</span> + +<span class="nb">print</span><span class="p">(</span><span class="s2">"</span><span class="se">\n\n</span><span class="s2">Binary_c output:</span><span class="se">\n\n</span><span class="s2">"</span><span class="p">)</span> +<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">output</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="p">)[:</span><span class="mi">10</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> + + +Binary_c output: + + +example_header_1 time=0 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0 +example_header_2 0 15 14 1 1 3540.3 0 +INITIAL_GRID 15 14 4530 0.02 1 0 +example_header_1 time=0 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0 +example_header_2 0 15 14 1 1 3540.3 0 +INITIAL_GRID 15 14 4530 0.02 1 0 +example_header_1 time=1e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0 +example_header_2 1e-07 15 14 1 1 3540.3 0 +example_header_1 time=2e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0 +example_header_2 2e-07 15 14 1 1 3540.3 0 +</pre></div></div> +</div> +</div> +<div class="section" id="run_binary_with_log"> +<h3>run_binary_with_log<a class="headerlink" href="#run_binary_with_log" title="Permalink to this headline">¶</a></h3> +<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="kn">import</span> <span class="nn">tempfile</span> +<span class="kn">import</span> <span class="nn">os</span> + +<span class="n">m1</span> <span class="o">=</span> <span class="mf">15.0</span> <span class="c1"># Msun</span> +<span class="n">m2</span> <span class="o">=</span> <span class="mf">14.0</span> <span class="c1"># Msun</span> +<span class="n">separation</span> <span class="o">=</span> <span class="mi">0</span> <span class="c1"># 0 = ignored, use period</span> +<span class="n">orbital_period</span> <span class="o">=</span> <span class="mf">4530.0</span> <span class="c1"># days</span> +<span class="n">eccentricity</span> <span class="o">=</span> <span class="mf">0.0</span> +<span class="n">metallicity</span> <span class="o">=</span> <span class="mf">0.02</span> +<span class="n">max_evolution_time</span> <span class="o">=</span> <span class="mi">15000</span> <span class="c1"># You need to set this!</span> +<span class="n">log_filename</span><span class="o">=</span><span class="n">tempfile</span><span class="o">.</span><span class="n">gettempdir</span><span class="p">()</span> <span class="o">+</span> <span class="s2">"/test_log.txt"</span> + +<span class="n">argstring</span> <span class="o">=</span> <span class="s2">"binary_c M_1 </span><span class="si">{0:g}</span><span class="s2"> M_2 </span><span class="si">{1:g}</span><span class="s2"> separation </span><span class="si">{2:g}</span><span class="s2"> orbital_period </span><span class="si">{3:g}</span><span class="s2"> eccentricity </span><span class="si">{4:g}</span><span class="s2"> metallicity </span><span class="si">{5:g}</span><span class="s2"> max_evolution_time </span><span class="si">{6:g}</span><span class="s2"> log_filename </span><span class="si">{7}</span><span class="s2"> "</span><span class="o">.</span><span class="n">format</span><span class="p">(</span> + <span class="n">m1</span><span class="p">,</span> + <span class="n">m2</span><span class="p">,</span> + <span class="n">separation</span><span class="p">,</span> + <span class="n">orbital_period</span><span class="p">,</span> + <span class="n">eccentricity</span><span class="p">,</span> + <span class="n">metallicity</span><span class="p">,</span> + <span class="n">max_evolution_time</span><span class="p">,</span> + <span class="n">log_filename</span><span class="p">,</span> +<span class="p">)</span> + +<span class="n">output</span> <span class="o">=</span> <span class="n">binary_c_python_api</span><span class="o">.</span><span class="n">run_binary</span><span class="p">(</span><span class="n">argstring</span><span class="p">)</span> + +<span class="nb">print</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">log_filename</span><span class="p">))</span> + +<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">log_filename</span><span class="p">,</span> <span class="s1">'r'</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span> + <span class="nb">print</span><span class="p">(</span><span class="n">f</span><span class="o">.</span><span class="n">read</span><span class="p">())</span> + + +<span class="c1"># print("\n\nBinary_c output:\n\n")</span> +<span class="c1"># print(output)</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> +True + TIME M1 M2 K1 K2 SEP ECC R1/ROL1 R2/ROL2 TYPE RANDOM_SEED=7106 RANDOM_COUNT=0 + 0.0000 15.000 14.000 1 1 2.786e+08 0.00 0.000 0.000 INITIAL + 12.7509 14.645 13.776 2 1 2.8427e+08 0.00 0.000 0.000 TYPE_CHNGE + 12.7773 14.639 13.775 4 1 2.8435e+08 0.00 0.000 0.000 TYPE_CHNGE + 13.1380 13.748 13.758 4 1 2.9373e+08 0.00 0.000 0.000 q-inv + 14.0900 10.830 13.705 4 2 3.2934e+08 0.00 0.000 0.000 OFF_MS + 14.0900 10.830 13.705 4 2 3.2934e+08 0.00 0.000 0.000 TYPE_CHNGE + 14.1204 10.726 13.700 4 4 3.3081e+08 0.00 0.000 0.000 TYPE_CHNGE + 14.2118 10.410 13.566 5 4 3.3702e+08 0.00 0.000 0.000 TYPE_CHNGE + 14.2646 1.472 13.462 13 4 -31.236 -1.00 0.000 0.000 Randbuf=34421 - d48r(0)=0.0570946 - d48r(1)=0.458272 - d48r(2)=0.13108 - d48r(3)=0.562029 - d48r(4)=0.924056 + 14.2646 1.472 13.462 13 4 -31.236 -1.00 0.000 0.000 SN kick II (SN type 12 12, pre-explosion M=9.89211 Mc=4.78817 type=5) -> kick 1(190) vk=302.148 vr=0.113492 omega=5.80602 phi=0.124379 -> vn=302.048 ; final sep -31.2365 ecc -1 (random count 0) - Runaway v=(0,0,0) |v|=0 : companion v=(0,0,0), |v|=0 ; + 14.2646 1.472 13.462 13 4 -31.236 -1.00 0.000 0.000 TYPE_CHNGE + 14.2646 1.472 13.462 13 4 -31.236 -1.00 0.000 0.000 DISRUPT + 14.2646 1.472 13.462 13 4 -31.236 -1.00 0.000 0.000 SN + 15.7087 1.472 10.210 13 5 -31.236 -1.00 0.000 0.000 TYPE_CHNGE + 15.7695 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 d48r(5)=0.608402 - d48r(6)=0.696003 - d48r(7)=0.796455 - d48r(8)=0.0834973 + 15.7695 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 SN kick II (SN type 12 12, pre-explosion M=9.85661 Mc=4.3914 type=5) -> kick 1(190) vk=392.156 vr=0 omega=0.524629 phi=0.634667 -> vn=392.156 ; final sep -31.2365 ecc -1 (random count 5) - Runaway v=(0,0,0) |v|=0 : companion v=(0,0,0), |v|=0 ; + 15.7695 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 TYPE_CHNGE + 15.7695 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 q-inv + 15.7695 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 SN + 15000.0000 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 MAX_TIME +Probability : 1 + +</pre></div></div> +</div> +</div> +<div class="section" id="run-binary-with-custom-logging-line"> +<h3>run binary with custom logging line<a class="headerlink" href="#run-binary-with-custom-logging-line" title="Permalink to this headline">¶</a></h3> +<div class="nbinput docutils container"> +<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[19]: +</pre></div> +</div> +<div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre> +<span></span><span class="kn">from</span> <span class="nn">binarycpython.utils</span> <span class="k">import</span> <span class="n">custom_logging_functions</span> +<span class="c1"># generate logging lines. Here you can choose whatever you want to have logged, and with what header</span> +<span class="c1"># this generates working print statements</span> +<span class="n">logging_line</span> <span class="o">=</span> <span class="n">custom_logging_functions</span><span class="o">.</span><span class="n">autogen_C_logging_code</span><span class="p">(</span> + <span class="p">{</span><span class="s2">"MY_STELLAR_DATA"</span><span class="p">:</span> <span class="p">[</span><span class="s2">"model.time"</span><span class="p">,</span> <span class="s2">"star[0].mass"</span><span class="p">],}</span> +<span class="p">)</span> +<span class="c1"># OR</span> +<span class="c1"># You can also decide to `write` your own logging_line, which allows you to write a more complex logging statement with conditionals.</span> +<span class="n">logging_line</span> <span class="o">=</span> <span class="s1">'Printf("MY_STELLAR_DATA time=</span><span class="si">%g</span><span class="s1"> mass=</span><span class="si">%g</span><span class="se">\\</span><span class="s1">n", stardata->model.time, stardata->star[0].mass)'</span> + +<span class="c1"># Generate entire shared lib code around logging lines</span> +<span class="n">custom_logging_code</span> <span class="o">=</span> <span class="n">custom_logging_functions</span><span class="o">.</span><span class="n">binary_c_log_code</span><span class="p">(</span><span class="n">logging_line</span><span class="p">)</span> +<span class="c1"># print(custom_logging_code)</span> + +<span class="c1"># Make this code into a shared library and the function into memory</span> +<span class="n">func_memaddr</span> <span class="o">=</span> <span class="n">custom_logging_functions</span><span class="o">.</span><span class="n">create_and_load_logging_function</span><span class="p">(</span><span class="n">custom_logging_code</span><span class="p">)</span> + +<span class="c1"># Run system with custom logging code</span> +<span class="n">m1</span> <span class="o">=</span> <span class="mf">15.0</span> <span class="c1"># Msun</span> +<span class="n">m2</span> <span class="o">=</span> <span class="mf">14.0</span> <span class="c1"># Msun</span> +<span class="n">separation</span> <span class="o">=</span> <span class="mi">0</span> <span class="c1"># 0 = ignored, use period</span> +<span class="n">orbital_period</span> <span class="o">=</span> <span class="mf">4530.0</span> <span class="c1"># days</span> +<span class="n">eccentricity</span> <span class="o">=</span> <span class="mf">0.0</span> +<span class="n">metallicity</span> <span class="o">=</span> <span class="mf">0.02</span> +<span class="n">max_evolution_time</span> <span class="o">=</span> <span class="mi">15000</span> <span class="c1"># You need to set this!</span> + +<span class="n">argstring</span> <span class="o">=</span> <span class="s2">"binary_c M_1 </span><span class="si">{0:g}</span><span class="s2"> M_2 </span><span class="si">{1:g}</span><span class="s2"> separation </span><span class="si">{2:g}</span><span class="s2"> orbital_period </span><span class="si">{3:g}</span><span class="s2"> eccentricity </span><span class="si">{4:g}</span><span class="s2"> metallicity </span><span class="si">{5:g}</span><span class="s2"> max_evolution_time </span><span class="si">{6:g}</span><span class="s2"> "</span><span class="o">.</span><span class="n">format</span><span class="p">(</span> + <span class="n">m1</span><span class="p">,</span> + <span class="n">m2</span><span class="p">,</span> + <span class="n">separation</span><span class="p">,</span> + <span class="n">orbital_period</span><span class="p">,</span> + <span class="n">eccentricity</span><span class="p">,</span> + <span class="n">metallicity</span><span class="p">,</span> + <span class="n">max_evolution_time</span><span class="p">,</span> +<span class="p">)</span> + +<span class="n">output</span> <span class="o">=</span> <span class="n">binary_c_python_api</span><span class="o">.</span><span class="n">run_binary_custom_logging</span><span class="p">(</span><span class="n">argstring</span><span class="p">,</span> <span class="n">func_memaddr</span><span class="p">)</span> +<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">output</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="p">)[:</span><span class="mi">20</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> +example_header_1 time=0 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0 +example_header_2 0 15 14 1 1 3540.3 0 +INITIAL_GRID 15 14 4530 0.02 1 0 +MY_STELLAR_DATA time=0 mass=15 +example_header_1 time=0 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0 +example_header_2 0 15 14 1 1 3540.3 0 +INITIAL_GRID 15 14 4530 0.02 1 0 +MY_STELLAR_DATA time=0 mass=15 +example_header_1 time=1e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0 +example_header_2 1e-07 15 14 1 1 3540.3 0 +MY_STELLAR_DATA time=1e-07 mass=15 +example_header_1 time=2e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0 +example_header_2 2e-07 15 14 1 1 3540.3 0 +MY_STELLAR_DATA time=2e-07 mass=15 +example_header_1 time=3e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0 +example_header_2 3e-07 15 14 1 1 3540.3 0 +MY_STELLAR_DATA time=3e-07 mass=15 +example_header_1 time=4e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0 +example_header_2 4e-07 15 14 1 1 3540.3 0 +MY_STELLAR_DATA time=4e-07 mass=15 +</pre></div></div> +</div> +</div> +</div> +<div class="section" id="Using-utils-functions"> +<h2>Using utils functions<a class="headerlink" href="#Using-utils-functions" title="Permalink to this headline">¶</a></h2> +<p>In the utils.functions there are some functions that make it easier to interact with the core api functions.</p> +<div class="section" id="run_system()"> +<h3>run_system()<a class="headerlink" href="#run_system()" title="Permalink to this headline">¶</a></h3> +<p>This function serves as an example on the function run_system and parse_output. There is more functionality with this method and several tasks are done behind the scene.</p> +<p>Requires pandas, numpy to run.</p> +<p>run_system: mostly just makes passing arguments to the function easier. It also loads all the necessary defaults in the background parse_output: Takes the raw output of binary_c and selects those lines that start with the given header. Note, if you dont use the custom_logging functionality binary_c should be configured to have output that starts with that given header</p> +<p>The parsing of the output only works correctly if either all of the values are described inline like `mass=’ or none of them are.</p> +<div class="nbinput docutils container"> +<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[20]: +</pre></div> +</div> +<div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre> +<span></span><span class="kn">from</span> <span class="nn">binarycpython.utils.functions</span> <span class="k">import</span> <span class="n">run_system</span><span class="p">,</span> <span class="n">parse_output</span> +<span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span> +<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span> + +<span class="c1"># Run system. all arguments can be given as optional arguments.</span> +<span class="n">output</span> <span class="o">=</span> <span class="n">run_system</span><span class="p">(</span><span class="n">M_1</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">M_2</span><span class="o">=</span><span class="mi">20</span><span class="p">,</span> <span class="n">separation</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">orbital_period</span><span class="o">=</span><span class="mi">100000000000</span><span class="p">)</span> + +<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">output</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="p">)[:</span><span class="mi">10</span><span class="p">]))</span> + +<span class="c1"># Catch results that start with a given header. (Mind that binary_c has to be configured to print them if your not using a custom logging function)</span> +<span class="n">result_example_header_1</span> <span class="o">=</span> <span class="n">parse_output</span><span class="p">(</span><span class="n">output</span><span class="p">,</span> <span class="n">selected_header</span><span class="o">=</span><span class="s2">"example_header_1"</span><span class="p">)</span> +<span class="n">result_example_header_2</span> <span class="o">=</span> <span class="n">parse_output</span><span class="p">(</span><span class="n">output</span><span class="p">,</span> <span class="n">selected_header</span><span class="o">=</span><span class="s2">"example_header_2"</span><span class="p">)</span> + +<span class="c1"># print(result_example_header_1)</span> + +<span class="c1">#### Now do whatever you want with it:</span> +<span class="c1"># Or put them into a pandas array</span> + +<span class="c1"># Cast the data into a dataframe.</span> +<span class="c1"># This example automatically catches the column names because the binary_c output line is constructed as 'example_header_1 time=<number>..'</span> +<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n\n</span><span class="s1">'</span><span class="p">)</span> + +<span class="n">df</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="n">result_example_header_1</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">float64</span><span class="p">)</span> +<span class="nb">print</span><span class="p">(</span><span class="n">df</span><span class="p">)</span> + +<span class="c1"># This example has column headers which are numbered, but we can override that with custom headers.</span> +<span class="n">df2</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="n">result_example_header_2</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">float64</span><span class="p">)</span> +<span class="n">df2</span><span class="o">.</span><span class="n">columns</span><span class="o">=</span><span class="p">[</span><span class="s1">'time'</span><span class="p">,</span> <span class="s1">'mass_1'</span><span class="p">,</span> <span class="s1">'mass_2'</span><span class="p">,</span> <span class="s1">'st1'</span><span class="p">,</span> <span class="s1">'st2'</span><span class="p">,</span> <span class="s1">'sep'</span><span class="p">,</span> <span class="s1">'ecc'</span><span class="p">]</span> +<span class="nb">print</span><span class="p">(</span><span class="n">df2</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> +example_header_1 time=0 mass_1=10 mass_2=20 st1=1 st2=1 sep=2.81762e+08 ecc=0 +example_header_2 0 10 20 1 1 2.81762e+08 0 +INITIAL_GRID 10 20 1e+11 0.02 1 0 +example_header_1 time=0 mass_1=10 mass_2=20 st1=1 st2=1 sep=2.81762e+08 ecc=0 +example_header_2 0 10 20 1 1 2.81762e+08 0 +INITIAL_GRID 10 20 1e+11 0.02 1 0 +example_header_1 time=1e-07 mass_1=10 mass_2=20 st1=1 st2=1 sep=2.81762e+08 ecc=0 +example_header_2 1e-07 10 20 1 1 2.81762e+08 0 +example_header_1 time=2e-07 mass_1=10 mass_2=20 st1=1 st2=1 sep=2.81762e+08 ecc=0 +example_header_2 2e-07 10 20 1 1 2.81762e+08 0 + + + + time mass_1 mass_2 st1 st2 sep ecc +0 0.000000e+00 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0 +1 0.000000e+00 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0 +2 1.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0 +3 2.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0 +4 3.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0 +... ... ... ... ... ... ... ... +3927 1.102750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0 +3928 1.202750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0 +3929 1.302750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0 +3930 1.402750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0 +3931 1.500000e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0 + +[3932 rows x 7 columns] + time mass_1 mass_2 st1 st2 sep ecc +0 0.000000e+00 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0 +1 0.000000e+00 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0 +2 1.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0 +3 2.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0 +4 3.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0 +... ... ... ... ... ... ... ... +3927 1.102750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0 +3928 1.202750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0 +3929 1.302750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0 +3930 1.402750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0 +3931 1.500000e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0 + +[3932 rows x 7 columns] +</pre></div></div> +</div> +</div> +<div class="section" id="run_system()-and-custom-logging"> +<h3>run_system() and custom logging<a class="headerlink" href="#run_system()-and-custom-logging" title="Permalink to this headline">¶</a></h3> +<p>Function that will use a automatically generated piece of logging code. Compile it, load it into memory and run a binary system. See run_system on how several things are done in the background here.</p> +<div class="nbinput docutils container"> +<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[21]: +</pre></div> +</div> +<div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre> +<span></span><span class="kn">from</span> <span class="nn">binarycpython.utils.custom_logging_functions</span> <span class="k">import</span> <span class="p">(</span> + <span class="n">autogen_C_logging_code</span><span class="p">,</span> + <span class="n">binary_c_log_code</span><span class="p">,</span> +<span class="p">)</span> + +<span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span> +<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span> + +<span class="c1"># generate logging lines. Here you can choose whatever you want to have logged, and with what header</span> +<span class="c1"># this generates working print statements</span> +<span class="n">logging_line</span> <span class="o">=</span> <span class="n">autogen_C_logging_code</span><span class="p">(</span> + <span class="p">{</span><span class="s2">"MY_STELLAR_DATA"</span><span class="p">:</span> <span class="p">[</span><span class="s2">"model.time"</span><span class="p">,</span> <span class="s2">"star[0].mass"</span><span class="p">],}</span> +<span class="p">)</span> +<span class="c1"># OR</span> +<span class="c1"># You can also decide to `write` your own logging_line, which allows you to write a more complex logging statement with conditionals.</span> +<span class="n">logging_line</span> <span class="o">=</span> <span class="s1">'Printf("MY_STELLAR_DATA time=</span><span class="si">%g</span><span class="s1"> mass=</span><span class="si">%g</span><span class="se">\\</span><span class="s1">n", stardata->model.time, stardata->star[0].mass)'</span> + +<span class="c1"># Generate entire shared lib code around logging lines</span> +<span class="n">custom_logging_code</span> <span class="o">=</span> <span class="n">binary_c_log_code</span><span class="p">(</span><span class="n">logging_line</span><span class="p">)</span> + +<span class="c1"># Run system. all arguments can be given as optional arguments. the custom_logging_code is one of them and will be processed automatically.</span> +<span class="n">output</span> <span class="o">=</span> <span class="n">run_system</span><span class="p">(</span> + <span class="n">M_1</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> + <span class="n">metallicity</span><span class="o">=</span><span class="mf">0.002</span><span class="p">,</span> + <span class="n">M_2</span><span class="o">=</span><span class="mf">0.1</span><span class="p">,</span> + <span class="n">separation</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> + <span class="n">orbital_period</span><span class="o">=</span><span class="mi">100000000000</span><span class="p">,</span> + <span class="n">custom_logging_code</span><span class="o">=</span><span class="n">custom_logging_code</span><span class="p">,</span> +<span class="p">)</span> + +<span class="c1"># Catch results that start with a given header. (Mind that binary_c has to be configured to print them if your not using a custom logging function)</span> +<span class="c1"># DOESNT WORK YET if you have the line autogenerated.</span> +<span class="n">result_example_header</span> <span class="o">=</span> <span class="n">parse_output</span><span class="p">(</span><span class="n">output</span><span class="p">,</span> <span class="s2">"MY_STELLAR_DATA"</span><span class="p">)</span> + +<span class="c1"># Cast the data into a dataframe.</span> +<span class="n">df</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="n">result_example_header</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">float64</span><span class="p">)</span> + +<span class="c1"># Do whatever you like with the dataframe.</span> +<span class="nb">print</span><span class="p">(</span><span class="n">df</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> + time mass +0 0.000000e+00 1.000000 +1 0.000000e+00 1.000000 +2 1.000000e-07 1.000000 +3 2.000000e-07 1.000000 +4 3.000000e-07 1.000000 +... ... ... +3630 1.131680e+04 0.627748 +3631 1.231680e+04 0.627748 +3632 1.331680e+04 0.627748 +3633 1.431680e+04 0.627748 +3634 1.500000e+04 0.627748 + +[3635 rows x 2 columns] +</pre></div></div> +</div> +</div> +</div> +<div class="section" id="Other-example"> +<h2>Other example<a class="headerlink" href="#Other-example" title="Permalink to this headline">¶</a></h2> +<p>Checking how much mass stars lose on the main sequence.</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="k">def</span> <span class="nf">run_and_calc_mass</span><span class="p">(</span><span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> + <span class="sd">"""</span> +<span class="sd"> Function to run a given system and look at the mass lost in the main sequence of the star</span> +<span class="sd"> """</span> + <span class="c1"># start = time.time()</span> + <span class="n">output</span> <span class="o">=</span> <span class="n">run_system</span><span class="p">(</span><span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> + <span class="n">result</span> <span class="o">=</span> <span class="n">parse_output</span><span class="p">(</span><span class="n">output</span><span class="p">,</span> <span class="s1">'example_header_1'</span><span class="p">)</span> + <span class="c1"># stop = time.time()</span> + <span class="c1"># print("Took {:.2f}s to run single system".format(stop-start))</span> + <span class="c1"># print("The following keys are present in the results:\n{}".format(result.keys()))</span> + <span class="c1"># print(len(result))</span> + + <span class="c1">#### Now do whatever you want with it:</span> + + <span class="c1"># Cast the data into a dataframe.</span> + <span class="n">df</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="n">result</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">float64</span><span class="p">)</span> + + <span class="c1"># Get last change moment</span> + <span class="n">last_st</span> <span class="o">=</span> <span class="n">df</span><span class="p">[</span><span class="s1">'st1'</span><span class="p">]</span><span class="o">.</span><span class="n">unique</span><span class="p">()[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> + <span class="n">last_stellar_type_change_time_1</span> <span class="o">=</span> <span class="n">df</span><span class="p">[</span><span class="n">df</span><span class="o">.</span><span class="n">st1</span><span class="o">==</span><span class="n">last_st</span><span class="p">][</span><span class="s1">'time'</span><span class="p">]</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> + + <span class="c1"># slice to get that last time</span> + <span class="n">sliced_df</span> <span class="o">=</span> <span class="n">df</span><span class="p">[</span><span class="n">df</span><span class="o">.</span><span class="n">time</span> <span class="o"><</span> <span class="n">last_stellar_type_change_time_1</span><span class="p">]</span> <span class="c1"># Cut off late parts of evolution</span> + + <span class="n">main_sequence</span> <span class="o">=</span> <span class="n">sliced_df</span><span class="p">[</span><span class="n">sliced_df</span><span class="o">.</span><span class="n">st1</span><span class="o">==</span><span class="mi">1</span><span class="p">]</span> + + <span class="n">initial_mass</span> <span class="o">=</span> <span class="n">main_sequence</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">mass_1</span> + <span class="n">final_mass</span> <span class="o">=</span> <span class="n">main_sequence</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">mass_1</span> + + <span class="n">initial_time</span> <span class="o">=</span> <span class="n">main_sequence</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">time</span> + <span class="n">final_time</span> <span class="o">=</span> <span class="n">main_sequence</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">time</span> + + <span class="n">mass_lost</span> <span class="o">=</span> <span class="n">initial_mass</span> <span class="o">-</span> <span class="n">final_mass</span> + <span class="n">fraction</span> <span class="o">=</span> <span class="n">mass_lost</span><span class="o">/</span><span class="n">initial_mass</span> + + <span class="c1"># Return the mass fraction (wrt initial mass)</span> + <span class="k">return</span> <span class="n">fraction</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="kn">import</span> <span class="nn">time</span> + +<span class="n">metallicity_002</span> <span class="o">=</span> <span class="mf">0.02</span> +<span class="n">metallicity_001</span> <span class="o">=</span> <span class="mf">0.01</span> +<span class="n">metallicity_0002</span> <span class="o">=</span> <span class="mf">0.002</span> + +<span class="n">mass_range</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">25</span><span class="p">,</span> <span class="o">.</span><span class="mi">5</span><span class="p">)</span> + +<span class="n">start</span> <span class="o">=</span> <span class="n">time</span><span class="o">.</span><span class="n">time</span><span class="p">()</span> +<span class="n">fractions_z002</span> <span class="o">=</span> <span class="p">[</span><span class="n">run_and_calc_mass</span><span class="p">(</span><span class="n">M_1</span><span class="o">=</span><span class="n">mass</span><span class="p">,</span> + <span class="n">M_2</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> + <span class="n">separation</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> + <span class="n">orbital_period</span><span class="o">=</span><span class="mi">100000000000</span><span class="p">,</span> + <span class="n">metallicity</span><span class="o">=</span><span class="n">metallicity_002</span><span class="p">,</span> + <span class="n">effective_metallicity</span><span class="o">=</span><span class="n">metallicity_002</span><span class="p">)</span> + <span class="k">for</span> <span class="n">mass</span> <span class="ow">in</span> <span class="n">mass_range</span><span class="p">]</span> + +<span class="n">fractions_z001</span> <span class="o">=</span> <span class="p">[</span><span class="n">run_and_calc_mass</span><span class="p">(</span><span class="n">M_1</span><span class="o">=</span><span class="n">mass</span><span class="p">,</span> + <span class="n">M_2</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> + <span class="n">separation</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> + <span class="n">orbital_period</span><span class="o">=</span><span class="mi">100000000000</span><span class="p">,</span> + <span class="n">metallicity</span><span class="o">=</span><span class="n">metallicity_001</span><span class="p">,</span> + <span class="n">effective_metallicity</span><span class="o">=</span><span class="n">metallicity_001</span><span class="p">)</span> + <span class="k">for</span> <span class="n">mass</span> <span class="ow">in</span> <span class="n">mass_range</span><span class="p">]</span> + +<span class="n">fractions_z0002</span> <span class="o">=</span> <span class="p">[</span><span class="n">run_and_calc_mass</span><span class="p">(</span><span class="n">M_1</span><span class="o">=</span><span class="n">mass</span><span class="p">,</span> + <span class="n">M_2</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> + <span class="n">separation</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> + <span class="n">orbital_period</span><span class="o">=</span><span class="mi">100000000000</span><span class="p">,</span> + <span class="n">metallicity</span><span class="o">=</span><span class="n">metallicity_0002</span><span class="p">,</span> + <span class="n">effective_metallicity</span><span class="o">=</span><span class="n">metallicity_0002</span><span class="p">)</span> + <span class="k">for</span> <span class="n">mass</span> <span class="ow">in</span> <span class="n">mass_range</span><span class="p">]</span> +<span class="n">stop</span> <span class="o">=</span> <span class="n">time</span><span class="o">.</span><span class="n">time</span><span class="p">()</span> +<span class="nb">print</span><span class="p">(</span><span class="s2">"Took </span><span class="si">{}</span><span class="s2">s"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">stop</span><span class="o">-</span><span class="n">start</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> +Took 14.214274644851685s +</pre></div></div> +</div> +<div class="nbinput docutils container"> +<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[22]: +</pre></div> +</div> +<div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre> +<span></span><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span> + +<span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">(</span><span class="n">nrows</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">ncols</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">12</span><span class="p">,</span><span class="mi">8</span><span class="p">))</span> + +<span class="n">ax</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">mass_range</span><span class="p">,</span> <span class="n">fractions_z002</span><span class="p">,</span> <span class="s1">'--'</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="s1">'Z=0.02'</span><span class="p">)</span> +<span class="n">ax</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">mass_range</span><span class="p">,</span> <span class="n">fractions_z001</span><span class="p">,</span> <span class="s1">'-.'</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="s1">'Z=0.01'</span><span class="p">)</span> +<span class="n">ax</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">mass_range</span><span class="p">,</span> <span class="n">fractions_z0002</span><span class="p">,</span> <span class="s1">'-'</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="s1">'Z=0.002'</span><span class="p">)</span> + +<span class="n">ax</span><span class="o">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="sa">r</span><span class="s1">'Initial Mass ($M_{\odot}$)'</span><span class="p">,</span> <span class="n">fontsize</span><span class="o">=</span><span class="mi">18</span><span class="p">)</span> +<span class="n">ax</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="sa">r</span><span class="s1">'Fraction of total initial mass lost on main sequence'</span><span class="p">,</span> <span class="n">fontsize</span><span class="o">=</span><span class="mi">18</span><span class="p">)</span> +<span class="n">ax</span><span class="o">.</span><span class="n">set_title</span><span class="p">(</span><span class="s1">'Fraction of total initial mass lost during main sequence for different metallicities'</span><span class="p">,</span> <span class="n">fontsize</span><span class="o">=</span><span class="mi">18</span><span class="p">)</span> +<span class="n">ax</span><span class="o">.</span><span class="n">legend</span><span class="p">()</span> +<span class="n">ax</span><span class="o">.</span><span class="n">set_yscale</span><span class="p">(</span><span class="s1">'log'</span><span class="p">)</span> +<span class="c1">#save_loop(name='plots/mass_loss_MS.{format}', formats=['pdf', 'png', 'eps'], bbox_inches='tight')</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_old_workshop_example_notebook_17_0.png" src="../../_images/examples_old_workshop_example_notebook_17_0.png" /> +</div> +</div> +<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> +</div> +</div> + + + </div> + + </div> + <footer> + + + <hr/> + + <div role="contentinfo"> + <p> + © Copyright 2021, David Hendriks, Robert Izzard + + </p> + </div> + Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. +<br><br> +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. + + + +</footer> + + </div> + </div> + + </section> + + </div> + + + + <script type="text/javascript"> + jQuery(function () { + SphinxRtdTheme.Navigation.enable(true); + }); + </script> + + + + + + +</body> +</html> \ No newline at end of file diff --git a/docs/build/html/examples/old/workshop_example_notebook.ipynb b/docs/build/html/examples/old/workshop_example_notebook.ipynb new file mode 100644 index 000000000..4eca58797 --- /dev/null +++ b/docs/build/html/examples/old/workshop_example_notebook.ipynb @@ -0,0 +1,641 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "tags": [] + }, + "source": [ + "# Binary_c and python example notebook\n", + "The following notebook servers as an example of how the binary_c python wrapper works and how it could be used.\n", + "\n", + "By: David Hendriks 30 nov 2019" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [], + "source": [ + "import binarycpython\n", + "import binary_c_python_api" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": "false" + }, + "source": [ + "## Core api wrapper functions:" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": "false" + }, + "source": [ + "### run_binary()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n", + "Binary_c output:\n", + "\n", + "\n", + "example_header_1 time=0 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 0 15 14 1 1 3540.3 0\n", + "INITIAL_GRID 15 14 4530 0.02 1 0\n", + "example_header_1 time=0 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 0 15 14 1 1 3540.3 0\n", + "INITIAL_GRID 15 14 4530 0.02 1 0\n", + "example_header_1 time=1e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 1e-07 15 14 1 1 3540.3 0\n", + "example_header_1 time=2e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 2e-07 15 14 1 1 3540.3 0\n" + ] + } + ], + "source": [ + "m1 = 15.0 # Msun\n", + "m2 = 14.0 # Msun\n", + "separation = 0 # 0 = ignored, use period\n", + "orbital_period = 4530.0 # days\n", + "eccentricity = 0.0\n", + "metallicity = 0.02\n", + "max_evolution_time = 15000 # You need to set this!\n", + "\n", + "argstring = \"binary_c M_1 {0:g} M_2 {1:g} separation {2:g} orbital_period {3:g} eccentricity {4:g} metallicity {5:g} max_evolution_time {6:g} \".format(\n", + " m1,\n", + " m2,\n", + " separation,\n", + " orbital_period,\n", + " eccentricity,\n", + " metallicity,\n", + " max_evolution_time,\n", + ")\n", + "\n", + "output = binary_c_python_api.run_binary(argstring)\n", + "\n", + "print(\"\\n\\nBinary_c output:\\n\\n\")\n", + "print('\\n'.join(output.split('\\n')[:10]))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": "false" + }, + "source": [ + "### run_binary_with_log" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "True\n", + " TIME M1 M2 K1 K2 SEP ECC R1/ROL1 R2/ROL2 TYPE RANDOM_SEED=7106 RANDOM_COUNT=0\n", + " 0.0000 15.000 14.000 1 1 2.786e+08 0.00 0.000 0.000 INITIAL \n", + " 12.7509 14.645 13.776 2 1 2.8427e+08 0.00 0.000 0.000 TYPE_CHNGE\n", + " 12.7773 14.639 13.775 4 1 2.8435e+08 0.00 0.000 0.000 TYPE_CHNGE\n", + " 13.1380 13.748 13.758 4 1 2.9373e+08 0.00 0.000 0.000 q-inv\n", + " 14.0900 10.830 13.705 4 2 3.2934e+08 0.00 0.000 0.000 OFF_MS\n", + " 14.0900 10.830 13.705 4 2 3.2934e+08 0.00 0.000 0.000 TYPE_CHNGE\n", + " 14.1204 10.726 13.700 4 4 3.3081e+08 0.00 0.000 0.000 TYPE_CHNGE\n", + " 14.2118 10.410 13.566 5 4 3.3702e+08 0.00 0.000 0.000 TYPE_CHNGE\n", + " 14.2646 1.472 13.462 13 4 -31.236 -1.00 0.000 0.000 Randbuf=34421 - d48r(0)=0.0570946 - d48r(1)=0.458272 - d48r(2)=0.13108 - d48r(3)=0.562029 - d48r(4)=0.924056 \n", + " 14.2646 1.472 13.462 13 4 -31.236 -1.00 0.000 0.000 SN kick II (SN type 12 12, pre-explosion M=9.89211 Mc=4.78817 type=5) -> kick 1(190) vk=302.148 vr=0.113492 omega=5.80602 phi=0.124379 -> vn=302.048 ; final sep -31.2365 ecc -1 (random count 0) - Runaway v=(0,0,0) |v|=0 : companion v=(0,0,0), |v|=0 ; \n", + " 14.2646 1.472 13.462 13 4 -31.236 -1.00 0.000 0.000 TYPE_CHNGE\n", + " 14.2646 1.472 13.462 13 4 -31.236 -1.00 0.000 0.000 DISRUPT \n", + " 14.2646 1.472 13.462 13 4 -31.236 -1.00 0.000 0.000 SN\n", + " 15.7087 1.472 10.210 13 5 -31.236 -1.00 0.000 0.000 TYPE_CHNGE\n", + " 15.7695 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 d48r(5)=0.608402 - d48r(6)=0.696003 - d48r(7)=0.796455 - d48r(8)=0.0834973 \n", + " 15.7695 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 SN kick II (SN type 12 12, pre-explosion M=9.85661 Mc=4.3914 type=5) -> kick 1(190) vk=392.156 vr=0 omega=0.524629 phi=0.634667 -> vn=392.156 ; final sep -31.2365 ecc -1 (random count 5) - Runaway v=(0,0,0) |v|=0 : companion v=(0,0,0), |v|=0 ; \n", + " 15.7695 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 TYPE_CHNGE\n", + " 15.7695 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 q-inv\n", + " 15.7695 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 SN\n", + " 15000.0000 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 MAX_TIME\n", + "Probability : 1\n", + "\n" + ] + } + ], + "source": [ + "import tempfile\n", + "import os\n", + "\n", + "m1 = 15.0 # Msun\n", + "m2 = 14.0 # Msun\n", + "separation = 0 # 0 = ignored, use period\n", + "orbital_period = 4530.0 # days\n", + "eccentricity = 0.0\n", + "metallicity = 0.02\n", + "max_evolution_time = 15000 # You need to set this!\n", + "log_filename=tempfile.gettempdir() + \"/test_log.txt\"\n", + "\n", + "argstring = \"binary_c M_1 {0:g} M_2 {1:g} separation {2:g} orbital_period {3:g} eccentricity {4:g} metallicity {5:g} max_evolution_time {6:g} log_filename {7} \".format(\n", + " m1,\n", + " m2,\n", + " separation,\n", + " orbital_period,\n", + " eccentricity,\n", + " metallicity,\n", + " max_evolution_time,\n", + " log_filename,\n", + ")\n", + "\n", + "output = binary_c_python_api.run_binary(argstring)\n", + "\n", + "print(os.path.exists(log_filename))\n", + "\n", + "with open(log_filename, 'r') as f:\n", + " print(f.read())\n", + "\n", + "\n", + "# print(\"\\n\\nBinary_c output:\\n\\n\")\n", + "# print(output)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": "false" + }, + "source": [ + "### run binary with custom logging line" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "example_header_1 time=0 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 0 15 14 1 1 3540.3 0\n", + "INITIAL_GRID 15 14 4530 0.02 1 0\n", + "MY_STELLAR_DATA time=0 mass=15\n", + "example_header_1 time=0 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 0 15 14 1 1 3540.3 0\n", + "INITIAL_GRID 15 14 4530 0.02 1 0\n", + "MY_STELLAR_DATA time=0 mass=15\n", + "example_header_1 time=1e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 1e-07 15 14 1 1 3540.3 0\n", + "MY_STELLAR_DATA time=1e-07 mass=15\n", + "example_header_1 time=2e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 2e-07 15 14 1 1 3540.3 0\n", + "MY_STELLAR_DATA time=2e-07 mass=15\n", + "example_header_1 time=3e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 3e-07 15 14 1 1 3540.3 0\n", + "MY_STELLAR_DATA time=3e-07 mass=15\n", + "example_header_1 time=4e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 4e-07 15 14 1 1 3540.3 0\n", + "MY_STELLAR_DATA time=4e-07 mass=15\n" + ] + } + ], + "source": [ + "from binarycpython.utils import custom_logging_functions\n", + "# generate logging lines. Here you can choose whatever you want to have logged, and with what header\n", + "# this generates working print statements\n", + "logging_line = custom_logging_functions.autogen_C_logging_code(\n", + " {\"MY_STELLAR_DATA\": [\"model.time\", \"star[0].mass\"],}\n", + ")\n", + "# OR\n", + "# You can also decide to `write` your own logging_line, which allows you to write a more complex logging statement with conditionals.\n", + "logging_line = 'Printf(\"MY_STELLAR_DATA time=%g mass=%g\\\\n\", stardata->model.time, stardata->star[0].mass)'\n", + "\n", + "# Generate entire shared lib code around logging lines\n", + "custom_logging_code = custom_logging_functions.binary_c_log_code(logging_line)\n", + "# print(custom_logging_code)\n", + "\n", + "# Make this code into a shared library and the function into memory\n", + "func_memaddr = custom_logging_functions.create_and_load_logging_function(custom_logging_code)\n", + "\n", + "# Run system with custom logging code\n", + "m1 = 15.0 # Msun\n", + "m2 = 14.0 # Msun\n", + "separation = 0 # 0 = ignored, use period\n", + "orbital_period = 4530.0 # days\n", + "eccentricity = 0.0\n", + "metallicity = 0.02\n", + "max_evolution_time = 15000 # You need to set this!\n", + "\n", + "argstring = \"binary_c M_1 {0:g} M_2 {1:g} separation {2:g} orbital_period {3:g} eccentricity {4:g} metallicity {5:g} max_evolution_time {6:g} \".format(\n", + " m1,\n", + " m2,\n", + " separation,\n", + " orbital_period,\n", + " eccentricity,\n", + " metallicity,\n", + " max_evolution_time,\n", + ")\n", + "\n", + "output = binary_c_python_api.run_binary_custom_logging(argstring, func_memaddr)\n", + "print('\\n'.join(output.split('\\n')[:20]))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": "false" + }, + "source": [ + "## Using utils functions\n", + "In the utils.functions there are some functions that make it easier to interact with the core api functions. " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": "false" + }, + "source": [ + "### run_system()\n", + "This function serves as an example on the function run_system and parse_output. \n", + "There is more functionality with this method and several tasks are done behind the scene.\n", + "\n", + "Requires pandas, numpy to run.\n", + "\n", + "run_system: mostly just makes passing arguments to the function easier. It also loads all the necessary defaults in the background\n", + "parse_output: Takes the raw output of binary_c and selects those lines that start with the given header. \n", + "Note, if you dont use the custom_logging functionality binary_c should be configured to have output that starts with that given header\n", + "\n", + "The parsing of the output only works correctly if either all of the values are described inline like `mass=<number>' or none of them are. " + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "example_header_1 time=0 mass_1=10 mass_2=20 st1=1 st2=1 sep=2.81762e+08 ecc=0\n", + "example_header_2 0 10 20 1 1 2.81762e+08 0\n", + "INITIAL_GRID 10 20 1e+11 0.02 1 0\n", + "example_header_1 time=0 mass_1=10 mass_2=20 st1=1 st2=1 sep=2.81762e+08 ecc=0\n", + "example_header_2 0 10 20 1 1 2.81762e+08 0\n", + "INITIAL_GRID 10 20 1e+11 0.02 1 0\n", + "example_header_1 time=1e-07 mass_1=10 mass_2=20 st1=1 st2=1 sep=2.81762e+08 ecc=0\n", + "example_header_2 1e-07 10 20 1 1 2.81762e+08 0\n", + "example_header_1 time=2e-07 mass_1=10 mass_2=20 st1=1 st2=1 sep=2.81762e+08 ecc=0\n", + "example_header_2 2e-07 10 20 1 1 2.81762e+08 0\n", + "\n", + "\n", + "\n", + " time mass_1 mass_2 st1 st2 sep ecc\n", + "0 0.000000e+00 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "1 0.000000e+00 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "2 1.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "3 2.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "4 3.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "... ... ... ... ... ... ... ...\n", + "3927 1.102750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "3928 1.202750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "3929 1.302750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "3930 1.402750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "3931 1.500000e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "\n", + "[3932 rows x 7 columns]\n", + " time mass_1 mass_2 st1 st2 sep ecc\n", + "0 0.000000e+00 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "1 0.000000e+00 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "2 1.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "3 2.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "4 3.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "... ... ... ... ... ... ... ...\n", + "3927 1.102750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "3928 1.202750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "3929 1.302750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "3930 1.402750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "3931 1.500000e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "\n", + "[3932 rows x 7 columns]\n" + ] + } + ], + "source": [ + "from binarycpython.utils.functions import run_system, parse_output\n", + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "# Run system. all arguments can be given as optional arguments.\n", + "output = run_system(M_1=10, M_2=20, separation=0, orbital_period=100000000000)\n", + "\n", + "print('\\n'.join(output.split('\\n')[:10]))\n", + "\n", + "# Catch results that start with a given header. (Mind that binary_c has to be configured to print them if your not using a custom logging function)\n", + "result_example_header_1 = parse_output(output, selected_header=\"example_header_1\")\n", + "result_example_header_2 = parse_output(output, selected_header=\"example_header_2\")\n", + "\n", + "# print(result_example_header_1)\n", + "\n", + "#### Now do whatever you want with it:\n", + "# Or put them into a pandas array\n", + "\n", + "# Cast the data into a dataframe.\n", + "# This example automatically catches the column names because the binary_c output line is constructed as 'example_header_1 time=<number>..'\n", + "print('\\n\\n')\n", + "\n", + "df = pd.DataFrame.from_dict(result_example_header_1, dtype=np.float64)\n", + "print(df)\n", + "\n", + "# This example has column headers which are numbered, but we can override that with custom headers.\n", + "df2 = pd.DataFrame.from_dict(result_example_header_2, dtype=np.float64)\n", + "df2.columns=['time', 'mass_1', 'mass_2', 'st1', 'st2', 'sep', 'ecc']\n", + "print(df2)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": "false" + }, + "source": [ + "### run_system() and custom logging\n", + "Function that will use a automatically generated piece of logging code. Compile it, load it \n", + "into memory and run a binary system. See run_system on how several things are done in the background here.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " time mass\n", + "0 0.000000e+00 1.000000\n", + "1 0.000000e+00 1.000000\n", + "2 1.000000e-07 1.000000\n", + "3 2.000000e-07 1.000000\n", + "4 3.000000e-07 1.000000\n", + "... ... ...\n", + "3630 1.131680e+04 0.627748\n", + "3631 1.231680e+04 0.627748\n", + "3632 1.331680e+04 0.627748\n", + "3633 1.431680e+04 0.627748\n", + "3634 1.500000e+04 0.627748\n", + "\n", + "[3635 rows x 2 columns]\n" + ] + } + ], + "source": [ + "from binarycpython.utils.custom_logging_functions import (\n", + " autogen_C_logging_code,\n", + " binary_c_log_code,\n", + ")\n", + "\n", + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "# generate logging lines. Here you can choose whatever you want to have logged, and with what header\n", + "# this generates working print statements\n", + "logging_line = autogen_C_logging_code(\n", + " {\"MY_STELLAR_DATA\": [\"model.time\", \"star[0].mass\"],}\n", + ")\n", + "# OR\n", + "# You can also decide to `write` your own logging_line, which allows you to write a more complex logging statement with conditionals.\n", + "logging_line = 'Printf(\"MY_STELLAR_DATA time=%g mass=%g\\\\n\", stardata->model.time, stardata->star[0].mass)'\n", + "\n", + "# Generate entire shared lib code around logging lines\n", + "custom_logging_code = binary_c_log_code(logging_line)\n", + "\n", + "# Run system. all arguments can be given as optional arguments. the custom_logging_code is one of them and will be processed automatically.\n", + "output = run_system(\n", + " M_1=1,\n", + " metallicity=0.002,\n", + " M_2=0.1,\n", + " separation=0,\n", + " orbital_period=100000000000,\n", + " custom_logging_code=custom_logging_code,\n", + ")\n", + "\n", + "# Catch results that start with a given header. (Mind that binary_c has to be configured to print them if your not using a custom logging function)\n", + "# DOESNT WORK YET if you have the line autogenerated.\n", + "result_example_header = parse_output(output, \"MY_STELLAR_DATA\")\n", + "\n", + "# Cast the data into a dataframe.\n", + "df = pd.DataFrame.from_dict(result_example_header, dtype=np.float64)\n", + "\n", + "# Do whatever you like with the dataframe.\n", + "print(df)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": "false" + }, + "source": [ + "## Other example\n", + "Checking how much mass stars lose on the main sequence." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [], + "source": [ + "def run_and_calc_mass(**kwargs):\n", + " \"\"\"\n", + " Function to run a given system and look at the mass lost in the main sequence of the star\n", + " \"\"\"\n", + " # start = time.time()\n", + " output = run_system(**kwargs)\n", + " result = parse_output(output, 'example_header_1')\n", + " # stop = time.time()\n", + " # print(\"Took {:.2f}s to run single system\".format(stop-start))\n", + " # print(\"The following keys are present in the results:\\n{}\".format(result.keys()))\n", + " # print(len(result))\n", + "\n", + " #### Now do whatever you want with it: \n", + "\n", + " # Cast the data into a dataframe. \n", + " df = pd.DataFrame.from_dict(result, dtype=np.float64)\n", + "\n", + " # Get last change moment\n", + " last_st = df['st1'].unique()[-1]\n", + " last_stellar_type_change_time_1 = df[df.st1==last_st]['time'].iloc[0]\n", + "\n", + " # slice to get that last time\n", + " sliced_df = df[df.time < last_stellar_type_change_time_1] # Cut off late parts of evolution\n", + "\n", + " main_sequence = sliced_df[sliced_df.st1==1]\n", + " \n", + " initial_mass = main_sequence.iloc[0].mass_1\n", + " final_mass = main_sequence.iloc[-1].mass_1\n", + " \n", + " initial_time = main_sequence.iloc[0].time\n", + " final_time = main_sequence.iloc[-1].time\n", + " \n", + " mass_lost = initial_mass - final_mass\n", + " fraction = mass_lost/initial_mass\n", + "\n", + " # Return the mass fraction (wrt initial mass)\n", + " return fraction\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Took 14.214274644851685s\n" + ] + } + ], + "source": [ + "import time\n", + "\n", + "metallicity_002 = 0.02\n", + "metallicity_001 = 0.01\n", + "metallicity_0002 = 0.002\n", + "\n", + "mass_range = np.arange(1, 25, .5)\n", + "\n", + "start = time.time()\n", + "fractions_z002 = [run_and_calc_mass(M_1=mass, \n", + " M_2=10, \n", + " separation=0, \n", + " orbital_period=100000000000, \n", + " metallicity=metallicity_002, \n", + " effective_metallicity=metallicity_002) \n", + " for mass in mass_range]\n", + "\n", + "fractions_z001 = [run_and_calc_mass(M_1=mass, \n", + " M_2=10, \n", + " separation=0, \n", + " orbital_period=100000000000, \n", + " metallicity=metallicity_001, \n", + " effective_metallicity=metallicity_001) \n", + " for mass in mass_range]\n", + "\n", + "fractions_z0002 = [run_and_calc_mass(M_1=mass, \n", + " M_2=10, \n", + " separation=0, \n", + " orbital_period=100000000000, \n", + " metallicity=metallicity_0002, \n", + " effective_metallicity=metallicity_0002) \n", + " for mass in mass_range]\n", + "stop = time.time()\n", + "print(\"Took {}s\".format(stop-start))" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 864x576 with 1 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "fig, ax = plt.subplots(nrows=1, ncols=1, figsize=(12,8))\n", + "\n", + "ax.plot(mass_range, fractions_z002, '--', label='Z=0.02')\n", + "ax.plot(mass_range, fractions_z001, '-.', label='Z=0.01')\n", + "ax.plot(mass_range, fractions_z0002, '-', label='Z=0.002')\n", + "\n", + "ax.set_xlabel(r'Initial Mass ($M_{\\odot}$)', fontsize=18)\n", + "ax.set_ylabel(r'Fraction of total initial mass lost on main sequence', fontsize=18)\n", + "ax.set_title('Fraction of total initial mass lost during main sequence for different metallicities', fontsize=18)\n", + "ax.legend()\n", + "ax.set_yscale('log')\n", + "#save_loop(name='plots/mass_loss_MS.{format}', formats=['pdf', 'png', 'eps'], bbox_inches='tight')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "heading_collapsed": "false" + }, + "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": 4 +} diff --git a/docs/build/html/functions.html b/docs/build/html/functions.html index 07b0bb37b..3465d88ef 100644 --- a/docs/build/html/functions.html +++ b/docs/build/html/functions.html @@ -784,9 +784,9 @@ of all the binary_c parameters.</p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/genindex.html b/docs/build/html/genindex.html index 3a9999ba9..c8561f809 100644 --- a/docs/build/html/genindex.html +++ b/docs/build/html/genindex.html @@ -756,9 +756,9 @@ </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/grid.html b/docs/build/html/grid.html index 87610dc30..767edc670 100644 --- a/docs/build/html/grid.html +++ b/docs/build/html/grid.html @@ -667,9 +667,9 @@ passed to json.dumps)</p></li> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/grid_options_defaults.html b/docs/build/html/grid_options_defaults.html index d93c11f8f..7d2b632df 100644 --- a/docs/build/html/grid_options_defaults.html +++ b/docs/build/html/grid_options_defaults.html @@ -297,9 +297,9 @@ </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/grid_options_descriptions.html b/docs/build/html/grid_options_descriptions.html index cc4a808ad..45f46c130 100644 --- a/docs/build/html/grid_options_descriptions.html +++ b/docs/build/html/grid_options_descriptions.html @@ -498,9 +498,9 @@ q extrapolation (below 0.15) method </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/hpc_functions.html b/docs/build/html/hpc_functions.html index 66f518eb7..a48576f62 100644 --- a/docs/build/html/hpc_functions.html +++ b/docs/build/html/hpc_functions.html @@ -228,9 +228,9 @@ </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/index.html b/docs/build/html/index.html index ae924d58a..d68cecad7 100644 --- a/docs/build/html/index.html +++ b/docs/build/html/index.html @@ -316,18 +316,18 @@ </ul> </li> <li class="toctree-l1"><a class="reference internal" href="example_notebooks.html">Example notebooks</a><ul> -<li class="toctree-l2"><a class="reference internal" href="notebook_individual_systems.html">Tutorial: Running individual systems with binary_c-python</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_custom_logging.html">Tutorial: Using custom logging routines with binary_c-python</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_population.html">Tutorial: Running populations with binary_c-python</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_extra_features.html">Tutorial: Extra features and functionality of binary_c-python</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_api_functionality.html">Tutorial: Using the API functionality of binary_c-python</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_luminosity_function_single.html">Example use case: Zero-age stellar luminosity function</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_luminosity_function_binaries.html">Example use case: Zero-age stellar luminosity function in binaries</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_HRD.html">Example use case: Hertzsprung-Russell diagrams</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_common_envelope_evolution.html">Example use case: Common-envelope evolution</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_BHBH.html">Tutorial: Running individual systems with binary_c-python</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_massive_remnants.html">Example use case: Zero-age stellar luminosity function</a></li> -<li class="toctree-l2"><a class="reference internal" href="notebook_solar_system.html">Solar system using the API functionality</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_individual_systems.html">Tutorial: Running individual systems with binary_c-python</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_custom_logging.html">Tutorial: Using custom logging routines with binary_c-python</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_population.html">Tutorial: Running populations with binary_c-python</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_extra_features.html">Tutorial: Extra features and functionality of binary_c-python</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_api_functionality.html">Tutorial: Using the API functionality of binary_c-python</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_luminosity_function_single.html">Example use case: Zero-age stellar luminosity function</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_luminosity_function_binaries.html">Example use case: Zero-age stellar luminosity function in binaries</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_HRD.html">Example use case: Hertzsprung-Russell diagrams</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_common_envelope_evolution.html">Example use case: Common-envelope evolution</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_BHBH.html">Example use case: Binary black hole systems</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_massive_remnants.html">Example use case: Massive star luminosity</a></li> +<li class="toctree-l2"><a class="reference internal" href="examples/notebook_solar_system.html">Example use case: Solar system using the API functionality</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="binary_c_parameters.html">Binary_c parameters</a><ul> @@ -386,9 +386,9 @@ </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/modules.html b/docs/build/html/modules.html index 18874354e..8bac09315 100644 --- a/docs/build/html/modules.html +++ b/docs/build/html/modules.html @@ -239,9 +239,9 @@ </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/objects.inv b/docs/build/html/objects.inv index 559d5c18fde13dd7d00e286b1ebb48a464433a3a..d4677ce1197f13c1393a5b5853226a47f326189f 100644 GIT binary patch delta 6882 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%0D5q|3Fr<nZsKZWq*kI&E-^3C9Ga` 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 delta 6269 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 diff --git a/docs/build/html/plot_functions.html b/docs/build/html/plot_functions.html index 9c736a245..d776f8cba 100644 --- a/docs/build/html/plot_functions.html +++ b/docs/build/html/plot_functions.html @@ -462,9 +462,9 @@ This is not included in all the plotting routines.</p></li> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/py-modindex.html b/docs/build/html/py-modindex.html index a5a98800a..fec2defaa 100644 --- a/docs/build/html/py-modindex.html +++ b/docs/build/html/py-modindex.html @@ -244,9 +244,9 @@ </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/readme_link.html b/docs/build/html/readme_link.html index a99d6d051..3d0a9646c 100644 --- a/docs/build/html/readme_link.html +++ b/docs/build/html/readme_link.html @@ -331,9 +331,9 @@ </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/run_system_wrapper.html b/docs/build/html/run_system_wrapper.html index cd4354dec..3935f7532 100644 --- a/docs/build/html/run_system_wrapper.html +++ b/docs/build/html/run_system_wrapper.html @@ -272,9 +272,9 @@ and returns what the parse_function returns</p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/search.html b/docs/build/html/search.html index 97554ba42..c4106ffef 100644 --- a/docs/build/html/search.html +++ b/docs/build/html/search.html @@ -183,9 +183,9 @@ </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index 4b9251313..729cf3a67 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["binary_c_parameters","custom_logging_functions","distribution_functions","example_notebooks","functions","grid","grid_options_defaults","grid_options_descriptions","hpc_functions","index","modules","notebook_BHBH","notebook_HRD","notebook_api_functionality","notebook_common_envelope_evolution","notebook_custom_logging","notebook_extra_features","notebook_individual_systems","notebook_luminosity_function_binaries","notebook_luminosity_function_single","notebook_massive_remnants","notebook_population","notebook_solar_system","plot_functions","readme_link","run_system_wrapper","spacing_functions","stellar_types","useful_funcs"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"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:3,sphinx:56},filenames:["binary_c_parameters.rst","custom_logging_functions.rst","distribution_functions.rst","example_notebooks.rst","functions.rst","grid.rst","grid_options_defaults.rst","grid_options_descriptions.rst","hpc_functions.rst","index.rst","modules.rst","notebook_BHBH.ipynb","notebook_HRD.ipynb","notebook_api_functionality.ipynb","notebook_common_envelope_evolution.ipynb","notebook_custom_logging.ipynb","notebook_extra_features.ipynb","notebook_individual_systems.ipynb","notebook_luminosity_function_binaries.ipynb","notebook_luminosity_function_single.ipynb","notebook_massive_remnants.ipynb","notebook_population.ipynb","notebook_solar_system.ipynb","plot_functions.rst","readme_link.rst","run_system_wrapper.rst","spacing_functions.rst","stellar_types.rst","useful_funcs.rst"],objects:{"binarycpython.utils":{custom_logging_functions:[1,0,0,"-"],distribution_functions:[2,0,0,"-"],functions:[4,0,0,"-"],grid:[5,0,0,"-"],grid_options_defaults:[6,0,0,"-"],hpc_functions:[8,0,0,"-"],plot_functions:[23,0,0,"-"],run_system_wrapper:[25,0,0,"-"],spacing_functions:[26,0,0,"-"],stellar_types:[27,0,0,"-"],useful_funcs:[28,0,0,"-"]},"binarycpython.utils.custom_logging_functions":{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:[1,1,1,""]},"binarycpython.utils.distribution_functions":{"const":[2,1,1,""],Arenou2010_binary_fraction:[2,1,1,""],Izzard2012_period_distribution:[2,1,1,""],Kroupa2001:[2,1,1,""],Moe_di_Stefano_2017_multiplicity_fractions:[2,1,1,""],Moe_di_Stefano_2017_pdf:[2,1,1,""],build_q_table:[2,1,1,""],calc_P_integral:[2,1,1,""],calc_e_integral:[2,1,1,""],calc_total_probdens:[2,1,1,""],calculate_constants_three_part_powerlaw:[2,1,1,""],cosmic_SFH_madau_dickinson2014:[2,1,1,""],duquennoy1991:[2,1,1,""],fill_data:[2,1,1,""],flat:[2,1,1,""],flatsections:[2,1,1,""],gaussian:[2,1,1,""],gaussian_func:[2,1,1,""],gaussian_normalizing_const:[2,1,1,""],get_integration_constant_q:[2,1,1,""],get_max_multiplicity:[2,1,1,""],imf_chabrier2003:[2,1,1,""],imf_scalo1986:[2,1,1,""],imf_scalo1998:[2,1,1,""],imf_tinsley1980:[2,1,1,""],interpolate_in_mass_izzard2012:[2,1,1,""],ktg93:[2,1,1,""],linear_extrapolation_q:[2,1,1,""],merge_multiplicities:[2,1,1,""],normalize_dict:[2,1,1,""],number:[2,1,1,""],poisson:[2,1,1,""],powerlaw:[2,1,1,""],powerlaw_constant:[2,1,1,""],powerlaw_extrapolation_q:[2,1,1,""],prepare_dict:[2,1,1,""],raghavan2010_binary_fraction:[2,1,1,""],sana12:[2,1,1,""],set_opts:[2,1,1,""],three_part_powerlaw:[2,1,1,""]},"binarycpython.utils.functions":{Capturing:[4,2,1,""],bin_data:[4,1,1,""],call_binary_c_config:[4,1,1,""],catchtime:[4,2,1,""],check_if_in_shell:[4,1,1,""],conv_time_units:[4,1,1,""],convert_bytes:[4,1,1,""],convfloat:[4,1,1,""],create_arg_string:[4,1,1,""],create_hdf5:[4,1,1,""],datalinedict:[4,1,1,""],example_parse_output:[4,1,1,""],filter_arg_dict:[4,1,1,""],format_number:[4,1,1,""],get_ANSI_colours:[4,1,1,""],get_arg_keys:[4,1,1,""],get_defaults:[4,1,1,""],get_help:[4,1,1,""],get_help_all:[4,1,1,""],get_help_super:[4,1,1,""],get_moe_di_stefano_dataset:[4,1,1,""],get_size:[4,1,1,""],get_username:[4,1,1,""],imports:[4,1,1,""],is_capsule:[4,1,1,""],load_logfile:[4,1,1,""],make_build_text:[4,1,1,""],mem_use:[4,1,1,""],output_lines:[4,1,1,""],pad_output_distribution:[4,1,1,""],parse_binary_c_version_info:[4,1,1,""],remove_file:[4,1,1,""],return_binary_c_version_info:[4,1,1,""],temp_dir:[4,1,1,""],timedelta:[4,1,1,""],trem:[4,1,1,""],verbose_print:[4,1,1,""],write_binary_c_parameter_descriptions_to_rst_file:[4,1,1,""]},"binarycpython.utils.functions.Capturing":{__enter__:[4,3,1,""],__exit__:[4,3,1,""]},"binarycpython.utils.functions.catchtime":{__enter__:[4,3,1,""],__exit__:[4,3,1,""]},"binarycpython.utils.grid":{Population:[5,2,1,""]},"binarycpython.utils.grid.Population":{Moe_di_Stefano_2017:[5,3,1,""],add_grid_variable:[5,3,1,""],clean:[5,3,1,""],delete_grid_variable:[5,3,1,""],evolve:[5,3,1,""],evolve_single:[5,3,1,""],export_all_info:[5,3,1,""],parse_cmdline:[5,3,1,""],rename_grid_variable:[5,3,1,""],return_all_info:[5,3,1,""],return_binary_c_defaults:[5,3,1,""],return_binary_c_version_info:[5,3,1,""],return_population_settings:[5,3,1,""],set:[5,3,1,""],set_moe_di_stefano_settings:[5,3,1,""],update_grid_variable:[5,3,1,""],vb1print:[5,3,1,""],vb2print:[5,3,1,""],write_binary_c_calls_to_file:[5,3,1,""],write_ensemble:[5,3,1,""]},"binarycpython.utils.grid_options_defaults":{grid_options_description_checker:[6,1,1,""],grid_options_help:[6,1,1,""],print_option_descriptions:[6,1,1,""],write_grid_options_to_rst_file:[6,1,1,""]},"binarycpython.utils.plot_functions":{color_by_index:[23,1,1,""],dummy:[23,1,1,""],parse_function_hr_diagram:[23,1,1,""],parse_function_masses:[23,1,1,""],parse_function_orbit:[23,1,1,""],plot_HR_diagram:[23,1,1,""],plot_masses:[23,1,1,""],plot_orbit:[23,1,1,""],plot_system:[23,1,1,""]},"binarycpython.utils.run_system_wrapper":{run_system:[25,1,1,""]},"binarycpython.utils.spacing_functions":{"const":[26,1,1,""],const_dt:[26,1,1,""],const_ranges:[26,1,1,""],gaussian_zoom:[26,1,1,""],peak_normalized_gaussian_func:[26,1,1,""]},"binarycpython.utils.useful_funcs":{calc_period_from_sep:[28,1,1,""],calc_sep_from_period:[28,1,1,""],maximum_mass_ratio_for_RLOF:[28,1,1,""],minimum_period_for_RLOF:[28,1,1,""],minimum_separation_for_RLOF:[28,1,1,""],ragb:[28,1,1,""],roche_lobe:[28,1,1,""],rzams:[28,1,1,""],zams_collision:[28,1,1,""]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","method","Python method"]},objtypes:{"0":"py:module","1":"py:function","2":"py:class","3":"py:method"},terms:{"0":[0,1,2,4,5,7,11,12,13,14,15,16,17,18,19,20,21,22,26,28],"00":[11,17,18,21],"000":[11,17],"0000":[11,17],"000000000000e":17,"000001":17,"000002":17,"000003":17,"0001":[11,13,28],"000122339":21,"000161974":21,"000214449":21,"000220016":21,"000283924":21,"000287968":21,"000375908":21,"000497691":21,"000498487":21,"00065893":21,"0007":2,"000872405":21,"001":[0,11,13],"00115504":21,"0013":11,"00152924":21,"00182":11,"002":11,"00202467":21,"0021272":11,"00215604":11,"00235329":11,"00237669":11,"00239838":11,"00242158":11,"00247821":11,"00247864":11,"00248439":11,"00254115":11,"00254512":11,"00256681":11,"00261516":11,"00268237":11,"00280816":11,"00283345":11,"00286793":11,"00288661":11,"00294":11,"00296406":11,"003":11,"00300971":11,"00303761":11,"00311757":11,"00317508":11,"00319483":11,"0034":11,"004":11,"004698855121516281":21,"005":11,"00518983":11,"0055":11,"00585495":11,"006":11,"0062211552141636295":21,"00632092":13,"00666382":11,"007":[11,22],"00707417":11,"00712":11,"00730797":11,"0074":11,"008":11,"0081514":11,"00823663875514986":21,"00832":11,"0087":11,"009":[11,22],"00984861":11,"00e":18,"01":[0,11,12,13,14,15,18,21],"010":11,"0102":11,"010905083645619543":21,"011":11,"0118":11,"012":11,"0122109":11,"012246630357e":21,"0128":11,"013":11,"0131145":11,"014":11,"0141":13,"0143651":11,"0143896":14,"014832":11,"015":11,"0152545":11,"0153961":11,"0155":11,"0156":11,"01561":11,"0156945":11,"0159":11,"016":11,"0162":11,"016309":14,"0163656":14,"0164":11,"0165":11,"0166":11,"0168":11,"0169":11,"017":[11,22],"0171":11,"0175264":14,"0176575":12,"01791":11,"018":11,"0182":11,"0184":11,"0187":11,"019":11,"0192009":11,"019715467199999996":14,"01e":18,"01t09":[12,14,18],"01t10":18,"02":[0,2,11,12,13,14,15,17,18,21,22,28],"020":11,"0208":11,"021":11,"0214":11,"0214824":11,"021960493499e":21,"022":11,"023":11,"0232618":11,"02379":11,"024":11,"0241634":11,"0245":11,"024684":11,"02473":11,"0248684":21,"025":11,"0250231":11,"0251003":11,"0259932":11,"026":11,"0261496":11,"027":11,"0276":11,"02786":11,"0278672":11,"028":11,"02823":11,"0283541":11,"029":11,"0290733":11,"0295":11,"0298011":11,"0298364":11,"02e":[14,18],"03":[0,1,11,13,14,18],"030":11,"0303129":11,"030499912298e":21,"031":11,"0316266":11,"0319":11,"032":11,"03221":11,"033":11,"0335":11,"0335017":11,"034":11,"03493":11,"03499999999999":20,"035":11,"03502960360000004":14,"03507":11,"036":11,"0367878":11,"037":11,"0385396":11,"039":11,"0393944":11,"0394":11,"0399":11,"03996e":11,"03e":18,"04":[0,11,13,18],"040":11,"041":11,"0411":11,"0414":11,"04198":11,"042":11,"0425":11,"043":11,"0434":21,"044":11,"0440989":11,"044142002936e":15,"04440288843805411":21,"0444029":21,"044572277695e":15,"044654032097e":15,"0448877":11,"0449442":11,"045":11,"045084306856e":15,"0459174":11,"046":11,"0461":11,"0469097":11,"047":[11,21,22],"0474164":11,"0474572":11,"048":[11,22],"049":11,"04924":11,"04e":18,"05":[0,11,13,14,15,18,21],"0501":11,"050651207308e":15,"051":[11,12],"0511173":11,"0512":11,"052":11,"0523":11,"0528412":11,"053":11,"0531294":11,"0533803":11,"0535":11,"0536749":11,"054":[2,11],"0547419":11,"055":11,"055188":11,"056":[11,22],"0563088":11,"057":11,"0572914":11,"057949":11,"058":11,"0583837":11,"0585":11,"059":11,"05e":18,"05e51ba114934b37bab48f1db40b7333":21,"06":[0,11,14,15,17,18],"0608":11,"061":11,"061141":11,"0613":11,"062":11,"0621119":11,"0625403":11,"06257":11,"0626266":11,"063":11,"064":11,"0641":11,"06459059967730083":14,"0645906":14,"0649":11,"065":11,"06527":11,"066":11,"06696":11,"067":11,"0670735":11,"068":11,"0683196":11,"069":11,"06987":11,"06e":18,"07":[2,11,18,19,20,26],"070":[11,21],"0701913":11,"071":11,"07108":11,"0714679":11,"0717":11,"0719":11,"072":11,"0722":11,"0727126":11,"0727584":11,"074":11,"0744186":11,"0745":11,"07484":11,"075":11,"075416":11,"0755737":11,"076":11,"077":11,"0770302":11,"0772021":11,"0772781":11,"078":11,"0784":11,"0784722":11,"0787729":11,"0789786":11,"079":[11,12],"0791":11,"07e":18,"08":[0,11,14,18],"080763":17,"0808":11,"081":[11,12],"081024":12,"082":11,"0820":[0,13],"0823499":11,"0831":11,"0837":11,"084":11,"0849409":11,"085":11,"086":11,"086004":11,"0868":11,"087":11,"0877":11,"0877243":11,"0878":11,"088":11,"089":11,"0890815":11,"0896":11,"08e":18,"08msun":[0,13],"09":[11,12,14,18],"090":11,"0902":[0,13],"0907":11,"0907537":11,"091":11,"0910814":11,"0913095":11,"09164":11,"092":11,"09295167374":18,"093":[12,22],"0931922":11,"094":[11,14],"094409257247e":21,"095":11,"0958704":11,"096":11,"09665":11,"0967":21,"097":11,"09706e":11,"09786":11,"098":[11,12],"0987206":11,"099":11,"0991059":11,"0993":11,"099417":14,"0995":11,"0m":18,"0mb":[14,18],"0msun":26,"0x146f912dbc60":13,"0x149c2e81ec10":17,"0x149c95c56c10":14,"0x14bf2250fdc0":12,"0x1528ac7290d0":21,"1":[0,1,2,5,7,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28],"10":[0,2,11,12,13,14,15,17,18,19,20,21,22,25,26],"100":[0,2,11,12,13,14,18,19,20,26],"1000":[0,7,13,14,26],"1001":18,"1005":11,"101":11,"101038":11,"1012":11,"101323":11,"101955":11,"102":11,"1021":11,"1025":18,"103":11,"1035":11,"103702":11,"103789":11,"104":[11,14],"1043":11,"104427":11,"104997":11,"105":[11,19,20],"105082":11,"10522":11,"105704":11,"106":11,"1062":11,"106368":11,"106545":11,"10689":11,"107":11,"107187":11,"1075":11,"10782":11,"108":[11,21],"1082":11,"1085":17,"108571":11,"10877":11,"1088":11,"109":[11,14],"10941":11,"109679":11,"1098":11,"1099":11,"10e":18,"11":[0,11,12,14,15,17,18,20,21,22],"110":11,"11003":17,"1104":11,"1108":11,"111":11,"111023":11,"111583":11,"11182":11,"112":11,"11239":11,"1124":11,"113":11,"1130":11,"11346":11,"1135":11,"11376":11,"114":11,"114678":11,"11491":11,"115":[2,11],"11506":11,"115297":11,"11558":11,"115722":11,"11582":17,"116":11,"11686":11,"11695":11,"117":11,"11707":11,"1173":11,"1178":11,"118":11,"11802":11,"118229":11,"11854":11,"119":11,"1193":11,"1199":11,"11e":18,"12":[0,2,4,11,12,15,17,18,20,21,22],"120":11,"120000":[0,13],"120066":11,"1204":11,"121":11,"121263":11,"12136":11,"1219":11,"122":11,"1222":11,"123":11,"123048":11,"12325":17,"123635":11,"1237":11,"123794969278e":21,"1239555":14,"124":11,"1241251901":22,"124496":11,"12457":17,"12460":17,"12461":17,"124931":11,"12495":11,"125":[0,11,13],"12500":0,"12522":11,"1254":11,"12548":11,"125553":11,"125886":11,"125968":11,"126":11,"126532":11,"127":11,"12741":11,"127442":11,"127957":11,"128":11,"12806":11,"129":11,"12974":11,"129879":11,"12e":[1,12,15,17,18,19,20,21],"13":[0,11,12,13,14,15,17,18,20,21,22],"130":11,"1301":17,"1302":17,"1306":11,"130725":11,"131":11,"1314":11,"132":11,"132057":11,"1326":11,"13267":11,"1327":11,"13298":11,"133":11,"1334":11,"134":[11,21],"13416":11,"1345":17,"1346":17,"13461":17,"1347":17,"1348":17,"1349":17,"135":11,"135101":11,"135164":11,"1354":18,"1355":18,"13567":15,"136":11,"1360":11,"13607":11,"13626":21,"137":11,"13700":[12,14],"137502":11,"1379":11,"13796e":11,"138":11,"139":11,"139044":11,"1392":11,"139293101586e":21,"139732":11,"1398":11,"13e3":[0,13],"14":[0,11,12,13,15,17,18,20,21,22],"140":11,"1403":2,"141":11,"14112":11,"141361":11,"1415":11,"142":11,"14212":11,"143":11,"144":11,"144141":11,"14439":11,"14461":17,"1449":[11,18],"145":11,"145296":11,"145632":11,"146":11,"1468":11,"146844":11,"147":11,"1471":11,"1473":11,"14764":11,"1478":11,"148":11,"1485":11,"148721":11,"149":11,"1492":11,"1494":18,"1498":11,"14e":18,"15":[0,2,7,11,13,14,15,17,18,20,21,22],"150":[11,14,18,19,20,21],"15000":[0,11,13,15,17,21,22],"1502":11,"150217":11,"15042":11,"150681":11,"151":11,"1514":11,"151616":11,"1517":11,"15186":11,"152":11,"1521":11,"1527":11,"153":11,"153329":11,"153852":11,"1539":18,"154":11,"155":11,"1551":11,"1553":11,"155342":11,"155662":18,"155678":14,"15594":11,"156":[11,14],"1560":11,"1567":11,"1569":11,"157":11,"1571":11,"1575":11,"158":11,"1585":18,"1586":11,"158640":14,"15884":11,"159":[11,14],"15907":11,"1599":11,"15e":18,"15msun":2,"16":[0,2,11,14,18,20,21,22],"160":11,"1606":11,"160675":18,"161":11,"1610":11,"1612":11,"1618":11,"162":11,"162006":11,"162038":11,"1622":11,"1624":[11,18],"162454":18,"16265":11,"1627":17,"162734":17,"162941":11,"163":[11,14],"1631":11,"1633":11,"163481":14,"1635760192":12,"1635760194":12,"1635760256":14,"1635760377":14,"1635760613":18,"1635760806":20,"1635760813":20,"1635760967":21,"1635760970":21,"1635761189":18,"1637":11,"164":11,"164714":11,"165":11,"16539":11,"16564":11,"166":[11,14],"1663":11,"166559":11,"167":[11,18],"1670":11,"16729":11,"16733":11,"1674":[11,18],"1678":11,"168":[11,14],"16833":11,"16837":11,"168379":14,"168558":11,"168972":11,"169":11,"1691":11,"1695":11,"169775":18,"17":[11,12,14,18,20,21,22],"170":11,"1703":18,"1708":11,"171":11,"171096":11,"1713":11,"1715":11,"172":11,"172014":11,"1722":11,"1729":11,"173":11,"1736":11,"174":11,"174169":11,"1747":11,"1749":18,"175":11,"175004":11,"1753":11,"17588":11,"176":11,"176751":18,"177":[11,14],"177444":11,"1775":11,"177551":11,"177727":11,"178":11,"1780":18,"1781":11,"1783":11,"1784":11,"1786":11,"179":11,"179142":11,"1792":11,"17932":11,"1796":11,"18":[11,18,20,22],"180":11,"1804":11,"180453":11,"1806":11,"1807":11,"1808":11,"1809":11,"181":11,"1810":11,"18108":11,"1811":11,"1812":11,"181244":11,"1813":11,"18139":11,"1814":[11,18],"18148":11,"1815":11,"1816":11,"1817":11,"181795":11,"1818":11,"1819":11,"181971798545e":21,"182":11,"1821":11,"1822":11,"1823":11,"1824":11,"1825":11,"1826":11,"1827":11,"1828":11,"1829":11,"183":11,"1830":11,"183048":11,"1831":11,"1833":11,"1834":11,"1835":11,"1838":11,"1839":11,"183974":11,"184":11,"1841":11,"1843":11,"1844":11,"184464":11,"1845":11,"1846":11,"1847":11,"184829":11,"185":11,"1851":[11,18],"1854":11,"1858":11,"186":[11,18],"1865":15,"187":11,"1876":11,"187694":11,"1877":11,"1879":18,"187993":11,"188":11,"1882":11,"189":11,"189239":11,"19":[11,14,18,21],"190":[0,11],"19097":11,"191":11,"1910":18,"1915":11,"191543":11,"192":11,"1920":11,"1923":11,"193":11,"193528":11,"19366":11,"19393":11,"194":11,"1947":18,"195":11,"1951":[0,13],"19521":11,"196":11,"196046":11,"196177":11,"19622":11,"196311":11,"1967":11,"1968":18,"197":11,"1972":[0,13],"1973":11,"1975":[0,13],"1977":11,"197729":11,"197x":[0,13],"198":11,"1980":2,"1983":28,"1986":[0,2,13],"1987":11,"1989":[0,13,18],"199":11,"19907":11,"1991":2,"1992":[0,13],"1993":[0,13],"1996":28,"1998":[0,2,11,13],"1999":[0,13],"19e":18,"1aearth":22,"1ajupit":22,"1amar":22,"1amercuri":22,"1aneptun":22,"1apluto":22,"1asaturn":22,"1auranu":22,"1avenu":22,"1ckzg0p9":[9,24],"1dex":[18,19,20],"1e":[0,13,14,15,17,18],"1e2":[0,13],"1e9":[0,13],"1gyr":26,"1m":18,"1mb":[14,18],"1mearth":22,"1mjupit":22,"1mmar":22,"1mmercuri":22,"1mneptun":22,"1mpluto":22,"1msaturn":22,"1msun":26,"1muranu":22,"1mvenu":22,"1s":[14,18],"1y":[0,13],"2":[0,1,2,4,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,26],"20":[0,11,12,14,15,18,19,20,21,22,26],"200":[0,11,13],"2000":[0,11,13],"2001":[2,19,20],"2002":[0,13],"2003":[0,2,13],"2004":[0,11,13],"2005":[0,11,13],"2008":11,"2009":[0,13],"201":11,"2010":[0,2,7,13],"2012":[0,2,13],"2013":[0,13],"2014":[0,2,11,13],"2015":[0,11,13],"2016":[0,13],"2017":[0,7,13,18,21],"2018":[0,1,11,13],"2019":[0,11,13],"202":11,"2020":[0,13],"2021":[0,11,12,14,18],"20211101":0,"202196":11,"202339":11,"202569":11,"20265":11,"2029":11,"203":11,"2033":11,"204":11,"2044":11,"20447":11,"204663":11,"2048":18,"205":11,"2053":11,"205353":11,"205527":11,"205537":11,"2057":11,"206":[11,22],"2063":11,"20677":11,"207":11,"2071":18,"2075":11,"208":11,"2081":11,"208169":11,"208453":11,"20887":11,"208923":11,"209":11,"2091":18,"209274":11,"20938":11,"20980":11,"20e":[14,18],"21":[0,1,11,12,18],"210":11,"21043":11,"211":[11,20],"2112":11,"212":11,"212034":11,"2122":18,"2127":11,"213":11,"2132":11,"21333":11,"213396":11,"2135":11,"213854":11,"214":11,"2143":18,"2147":11,"215":11,"215504":11,"2156":11,"215638":11,"2157":11,"21587440567681537":21,"21587440567681548":21,"2158744056768156":21,"216":11,"21603":11,"216067":11,"2164":18,"216496":11,"216951":11,"217":11,"21764":11,"218":11,"2182":11,"218222":20,"21824":11,"2183":18,"21844":11,"219":11,"219029061236e":21,"219058":11,"2191":11,"21927":11,"21948":11,"21e":18,"22":[11,18],"220":11,"22036":11,"2206":18,"22098":11,"221":11,"2210":11,"2214":11,"2216":11,"221832":11,"222":11,"2221":11,"2224":11,"22281":11,"223":11,"2232":18,"2234":11,"224":11,"2245":18,"224923":11,"225":11,"225135":11,"22518":11,"22543":11,"2258":18,"226":11,"2261":11,"22611318083528548":14,"226424":11,"2266":11,"2268":11,"2269":18,"227":11,"227249":11,"2275":11,"22787":11,"227955577093495":21,"228":11,"2282":18,"228555":11,"229":11,"2291":11,"22936":11,"2295":11,"229591":11,"22e":14,"23":[11,18,21],"230":11,"2300":18,"230102":11,"2305":11,"230955":11,"231":11,"231704":11,"232":11,"2329":18,"233":11,"2332":11,"2333":11,"2338":11,"234":[11,14],"2348":18,"235":[11,12],"23513":11,"2352":11,"235464":11,"235689312423":14,"236":11,"2365":18,"237":11,"2371":11,"237203":11,"237951":11,"238":11,"2383":18,"238584":11,"23894":11,"239":11,"239197":11,"239704":11,"24":[11,14,18],"240":11,"2400":18,"2403e":21,"2406":11,"24098":11,"241":11,"2413":11,"24165":11,"242":11,"2421":11,"242151":11,"2423":18,"242309":11,"2424":17,"243":[11,12],"243214":11,"243583":11,"2437":11,"2438":18,"2439":11,"244":[11,22],"2444":22,"244645":11,"245":11,"245209":11,"245223":11,"2454":18,"246":11,"2466":18,"246604":11,"246625":11,"246671":12,"247":11,"2472":11,"2477":[11,18],"248":[11,14],"248871":11,"249":11,"249106":11,"2492":18,"2493":11,"249848":11,"24e":18,"25":[0,11,14,18],"250":11,"25014bc73b334765a1c09a4e4a97ed66":18,"251":[11,14],"2514":11,"2516":18,"25164":11,"252":11,"2528":11,"252877":11,"2529":11,"253":11,"2537":18,"253705":11,"254":11,"2544031669784":21,"255":[0,11,13],"2551":11,"2552":11,"2554":18,"2556":11,"256":[11,12],"256488":11,"256783":11,"25694":11,"257":[11,28],"2570":18,"2572":21,"257278":11,"257437":11,"2576084265970895":21,"258":[11,14],"2583":11,"259":11,"2590":18,"25msun":[0,13],"26":[11,18],"260":11,"26051":11,"260676":11,"261":11,"2613":11,"261343":11,"26171201413c43f5b91552a374879940":12,"2618":11,"262":11,"2622":[11,18],"2626":11,"2629":11,"263":11,"263079":11,"2632":11,"263235":11,"2636":18,"264":11,"26416":11,"26441":11,"26456":11,"265":11,"2652":18,"266":11,"2663":11,"26637":11,"2664":11,"266485":11,"2666":18,"267":[11,14],"2670":11,"2671":11,"2672":11,"2673":11,"2674":11,"2676":11,"2677":11,"2678":11,"2679":11,"268":11,"2680":11,"2681":11,"2682":11,"2683":11,"2684":11,"2685":11,"2686":11,"2687":11,"2688":11,"2689":11,"269":11,"2690":11,"2691":[11,18],"2692":11,"2693":11,"2694":11,"2695":11,"2696":11,"2697":11,"2698":11,"2699":11,"27":[11,14,18,21],"270":11,"2700":11,"2701":11,"2702":11,"27025":11,"2703":11,"2704":11,"2705":11,"2706":11,"2707":11,"2708":11,"2709":11,"271":11,"2710":11,"2711":11,"2712":11,"2713":11,"2714":11,"27143e":21,"2715":11,"2716":11,"2717":11,"2718":11,"2719":11,"272":11,"2720":11,"2721":11,"2722":11,"2723":11,"2724":11,"2725":11,"2726":11,"2727":11,"2728":11,"2729":11,"272943":11,"273":11,"2730":11,"2731":11,"2732":11,"2733":[11,18],"2734":11,"274":11,"274206":11,"274445":11,"2746":18,"274854":11,"275":11,"2754":11,"27569e":11,"2757":18,"276":11,"2767":11,"277":11,"2773":11,"27734":11,"2775":18,"27767":11,"278":11,"27829":11,"279":11,"2791":11,"2795":18,"28":[11,13,14,15,17,18],"280":11,"2800":11,"2801":11,"2802":11,"280723":11,"280749":11,"281":[11,28],"281309":11,"28134439269236855":21,"2816":11,"2819":11,"282":11,"282234":11,"2823":11,"282623":11,"283":11,"2831":18,"2834":11,"2835":11,"2836":11,"28369":11,"283972":11,"284":11,"2845":18,"2846":11,"285":11,"286":11,"2861":18,"287":11,"2871":11,"2873":11,"2875":18,"2878":11,"288":11,"2881":11,"288353":11,"28867":11,"289":11,"2891":18,"2898":11,"28984":11,"28e":14,"29":[11,14,18,21],"290":11,"290684":11,"291":11,"29136":11,"2914":11,"292":11,"2921":11,"2924":11,"292641":11,"2927":11,"293":11,"2930":18,"293512":11,"294":[11,12],"29427":21,"2944163245":18,"29448":21,"29457":21,"2947":[18,21],"295":11,"295543":11,"296":11,"2961":11,"2965":18,"296544":11,"2967":11,"2969346":2,"297":11,"297187":11,"297506":11,"298":11,"29816":11,"298194":11,"2982":18,"299":11,"2991":11,"2996":11,"29e":18,"2b66f805db424c48a1d29c45092b6e3c":14,"2d":[0,13],"2e":[15,18],"2m":[14,18],"2mb":[14,18],"2msun":[0,13],"2s":18,"3":[0,1,2,4,7,9,11,12,13,14,15,16,17,18,19,20,21,24,26],"30":[1,11,12,14,15,17,18,19,20,21,22],"300":[11,26],"3000":[0,13,22],"3002":11,"3008":11,"301":11,"3010":18,"301129":11,"301483":11,"3017":11,"302":11,"3025":11,"303":11,"3034":11,"3035":18,"303533":11,"3038":11,"30388e":11,"304":11,"3042":11,"30441":11,"3046":11,"3048":11,"305":11,"305334":11,"3059":18,"306":11,"30642":21,"3065":11,"306619":11,"3069":11,"307199":11,"3078":18,"308":11,"3082":11,"308203":11,"3084":11,"309":11,"30902":21,"309361":11,"309461":11,"3096":11,"30975":11,"30e4":[0,13],"31":[0,11,13,14,18],"310":11,"3100":[11,18],"310029":11,"3101":11,"311":11,"312":[11,12],"3124":18,"312637":11,"3127":11,"313":11,"313623":18,"314":11,"31408":11,"314533":11,"3148":18,"315":11,"315124":11,"315223":11,"3154":11,"315404":11,"315903":11,"315973":11,"316":[11,14],"316118":11,"317":11,"3171":11,"3172":11,"3174":18,"3176":11,"317663":11,"317921":11,"318":11,"3185":11,"318753":11,"319":11,"3192":11,"3193":11,"31958":11,"3197":18,"31e":18,"32":[4,7,11,14,18,21],"320":11,"3205":21,"32076":11,"321":11,"321082":11,"3211":11,"32118":11,"3216":11,"321643":11,"322":11,"3223":11,"3228":[11,21],"32282":11,"323":11,"3231":[11,18],"323359":14,"3235":11,"324":11,"3243":11,"3244":11,"3245144":21,"3246":11,"3247":11,"3248":11,"325":11,"325197":11,"3256":18,"325743":11,"325965":11,"326":11,"326147":11,"32620":11,"32631":11,"3264":11,"326601":11,"32684":11,"327":11,"3273":[11,18],"328":11,"328066":11,"3282":11,"328512":11,"329":[11,14],"3294":18,"32e":18,"33":[11,18],"330":11,"331":11,"332":11,"332091":11,"3321":18,"332251":11,"332777":11,"33295":11,"333":11,"333032":11,"3331":11,"334":11,"33451":11,"33469":15,"3348":18,"335":11,"335153":11,"3352":11,"335342":11,"335428":11,"33552":11,"335642":11,"335847":11,"336":11,"336295":11,"3368":11,"33699":21,"337":11,"33719":11,"337249":11,"3373":18,"338":[11,15],"33879":11,"339":11,"3394":18,"339587":11,"3396":11,"34":[11,12,13,14,15,17,18,19,21,22],"340":11,"34018":11,"340477":11,"34081":11,"341":11,"3412":11,"34126":11,"34175":11,"3419":11,"342":[11,18],"34213":15,"342134":11,"3422":18,"342474":11,"3429":11,"343":11,"3438":11,"344":11,"3445":18,"344772":11,"3448":11,"345":11,"34537":11,"345842":18,"346":11,"3461":11,"3462":11,"3464":18,"3469":11,"347":11,"3471":11,"347169":11,"347405":11,"347623":11,"348":[11,14],"3483":18,"34870":11,"349":11,"3495":11,"3497":11,"34e":14,"35":[2,11,14,18],"350":[11,18],"3502":11,"35051":11,"3507":11,"3509":18,"351":11,"351532":11,"3518":11,"352":11,"3529":11,"353":11,"3533":18,"353432":11,"3536":11,"354":11,"354576":11,"35487":11,"354981":11,"355":11,"3550":18,"35505":11,"355513":11,"3559":11,"356":11,"3563":11,"3568":18,"356812":11,"357":11,"358":11,"3583":11,"3588":18,"3589":11,"35895":11,"359":11,"3591":11,"359784":11,"359881":11,"3599":11,"36":[11,14,18,21],"360":11,"360093":11,"36016":11,"361":11,"3616":11,"362":11,"3622":18,"362601":11,"36298":11,"363":11,"36314":11,"36323":11,"364":11,"3640":18,"364017":11,"36403":11,"364747":11,"3649":11,"365":11,"3657":18,"365763":11,"365949":11,"366":11,"366259":11,"366392":11,"367":11,"367065497322e":21,"367268":11,"3674":11,"36747":11,"3676":18,"367793":11,"368":11,"368345":11,"3688":11,"369":11,"3695":11,"36957":11,"3698":11,"36e":18,"37":[11,14,18],"370":11,"3706":18,"371":11,"371427":11,"371458":11,"3715a4ab9":0,"371625":11,"3719":11,"372":11,"3726":[11,18],"3729":11,"373":11,"373282":11,"374":11,"37409":11,"3746":18,"374905":11,"375":11,"3752":11,"375537":11,"3757":11,"375712":11,"3758":11,"376":11,"376059":11,"3763":18,"376604":11,"3767":11,"377":11,"3771":11,"378":11,"3781":11,"3786":18,"37874":11,"379":11,"379292":11,"37e":18,"38":[0,11,14,18],"380":11,"38009":11,"380393":11,"380887":11,"381":11,"3811":18,"382":11,"382144":11,"382472":11,"383":11,"38316":11,"3832":18,"384":11,"3849":18,"385":11,"386":11,"387":11,"3875":18,"38788e":21,"388":11,"388321":11,"389":11,"38908":11,"389208":11,"38921":11,"389749":11,"38m":18,"39":[11,12,13,14,16,17,18,19,20,21,22],"390":11,"3905":18,"391":11,"39152e":11,"391798":11,"392":11,"39205":21,"392194":11,"392487":11,"3928":11,"393":11,"3930":18,"3931":18,"393886":11,"394":11,"394722435913e":21,"395":11,"39521":11,"3954":18,"3957":11,"3959":11,"396":11,"396133472739e":21,"396288708628e":21,"3963":11,"396675941641e":21,"3967":11,"397":11,"3971":11,"39754":21,"3977":18,"397754":11,"3978":11,"398":11,"39831":11,"39834":11,"398381":11,"398419":11,"398927":11,"399":11,"3995":11,"3999999999996":20,"3d":[0,13],"3m":18,"3mb":[14,18],"3msun":2,"3s":[14,18],"4":[0,1,2,5,11,12,13,14,15,16,17,18,19,20,21,22,26],"40":[11,14,18,19,20],"400":11,"4000":[0,18],"40049":11,"401":11,"4011":11,"401263":11,"4013":11,"401728":11,"4018":11,"402":11,"40238":11,"402961":11,"403":11,"40339":11,"404":11,"4046":11,"404641347602e":21,"4048":11,"404962":11,"405":11,"405068":11,"405577":11,"406":[11,18],"407":11,"40735":11,"4076":11,"408":11,"409":11,"4098":11,"40e":18,"41":[11,18],"410":11,"4101":11,"4102":11,"4108":11,"410828":11,"411":11,"411151":11,"412":11,"41238":11,"413":[11,12],"413467":11,"414":11,"41457":11,"4146":11,"41485":11,"414875":11,"415":11,"416":11,"416141":12,"4162":11,"417":11,"41726":11,"4176":11,"418":11,"418029":11,"4182":11,"4183":11,"4184":11,"4186":11,"41862":11,"418757":11,"4188":11,"419":11,"4192":11,"4197":11,"41996":11,"41e":18,"42":[0,11,14,18],"420":11,"420182":11,"4202":11,"420316":11,"4205":11,"42052":11,"42097":11,"421":11,"421365":11,"421436":11,"421475":11,"4218":11,"4219":11,"422":11,"422436":11,"42266":11,"4229":11,"423":11,"42362":11,"424":[11,12],"4243":11,"424712":11,"424924":11,"425":11,"4251":11,"4256":11,"425788":11,"426":11,"427":11,"427601421985e":21,"42785":11,"428":11,"428699":11,"429":[11,18],"429122":11,"429398":11,"42e":18,"42msun":[0,13],"43":[11,18],"430":11,"4304":11,"430936289925951":21,"431":11,"4311":11,"431313":11,"43173":11,"432":11,"4321":11,"432729":11,"433":[11,21],"4330":11,"433207":18,"4333":11,"433477":11,"434":11,"43422e":21,"435":11,"4357":11,"435809":11,"436":11,"43618":11,"4365":11,"4369":11,"437":[11,18,21],"43711":21,"4379":11,"438":11,"4380":11,"4385":11,"438686":11,"4387":11,"438861":11,"439":11,"4397":21,"44":[11,18],"440":11,"441":11,"441158":11,"44170":11,"442":11,"44211":11,"4422":11,"44223e":11,"443":11,"4433":11,"4438":11,"444":11,"444217227690e":21,"445":11,"4454":11,"4455":11,"44558":11,"445821":11,"446":11,"447":11,"447918":11,"448":11,"448242":11,"448401":11,"44852":11,"449":[11,18],"4493":11,"44e":18,"44msun":[0,13],"45":[11,12,14,18,21],"450":11,"4500":13,"45000000080":21,"4501":11,"4504":21,"450629":11,"4507":11,"450818":11,"450828476487e":21,"4509":11,"451":[11,14],"45114":11,"451192744924e":21,"451732":11,"452":11,"453":11,"4530":[15,17],"453059":18,"453317880232e":21,"453348":11,"453412":11,"453932":11,"454":11,"4540":11,"454013":11,"45407":21,"454268":11,"454409":11,"455":11,"45534":11,"455552":11,"456":18,"456313":11,"456519":11,"457":11,"45757":11,"457987":11,"458":11,"458064":11,"4588":11,"45889":11,"459":11,"459382":11,"45msun":[0,13],"46":[11,14,18,21],"460":11,"460081":11,"46057":11,"46089":11,"462":11,"4621":21,"4622":11,"46220":11,"4623":11,"462779538274e":21,"463":11,"463455":11,"464":11,"464494":11,"465":11,"465133":11,"46573":21,"465867":11,"46607":11,"4666":11,"4670":11,"4673":11,"467851":11,"468":11,"4680":14,"46822":11,"4683":11,"469":11,"46901":11,"469056":11,"469524":11,"47":[11,14,18],"470":11,"471":11,"4710":11,"471379":11,"4714":11,"472":20,"472105":11,"472318":11,"4734":11,"473762":11,"474":11,"47419":11,"475":11,"4752":11,"475287":11,"47534":11,"4755":11,"4759":11,"476":11,"4764":11,"476589":11,"477":11,"477089":11,"4773":11,"47745":21,"477535":11,"477791":11,"478":11,"478253":11,"478315":11,"4788":11,"478807":11,"479":11,"47946":11,"4797":11,"479973":11,"48":[11,18],"480":11,"480045":11,"48046":11,"4807":11,"4809":11,"481":11,"482":11,"4822":11,"4825":11,"482668":11,"483":11,"48336":11,"4838":[13,15,17],"484":11,"4845":11,"485":11,"48586":11,"486":11,"4862":11,"4865":11,"4867":11,"4872":11,"48749":11,"4877":11,"488":11,"48809":11,"489":11,"489077":11,"48926":11,"48e":[14,18],"49":[11,12,18],"490":11,"491":11,"491811":11,"492":11,"492242":11,"492302":11,"492484":11,"492707":11,"492818":11,"493":11,"493648":11,"493975":11,"494":11,"4945":11,"4949":11,"495":11,"4957":11,"4959":11,"495924":11,"496":11,"4961":11,"496312":11,"4966016":20,"497":11,"497008":11,"497294":11,"498":11,"4981":11,"498232":11,"499":11,"49e":18,"4b8c7f4a86e445099d73f27dffaad94b":20,"4e":[0,13],"4e3":[0,13],"4m":18,"4mb":[14,18],"4s":[14,18],"5":[0,1,2,5,11,12,13,14,15,16,17,18,19,20,21,22],"50":[0,11,13,14,18,20],"500":[0,11,13],"501":11,"5017":11,"502":11,"502451":11,"502775":11,"502841":11,"503":11,"503726":11,"504":11,"5043":11,"5046":11,"505":11,"5051":11,"50537":11,"506":11,"5064":11,"50652":11,"5066257":20,"50682":11,"50687":11,"507":11,"507104":11,"507443":11,"508":[11,21],"5089":11,"509":11,"5094":11,"50973":11,"50e":18,"50fb66cc659c46c8bbc29fe0c8651c2f":21,"51":[11,14,18],"510":11,"511":11,"511114":11,"5112":11,"5114":11,"5117":11,"512":11,"512561":11,"512617":11,"513":11,"514":11,"514087":11,"51478":11,"514898":11,"514916":11,"515":18,"515062":11,"5164":11,"517":11,"51742":11,"517454":11,"5175":11,"518":11,"51803":15,"51809":11,"51819":11,"518397":11,"518757914":19,"518851":11,"519":11,"51e":18,"52":[11,12,14,18],"52058":11,"5208":11,"520903":11,"5217":11,"522":11,"5221":11,"523":11,"523485":11,"523561":11,"524":11,"52414":21,"52415":21,"5244":11,"524755":11,"525":11,"526":11,"527":11,"528":11,"528102":11,"5286":11,"529":11,"5294":21,"52e":18,"53":[11,12,14,18],"530":11,"5301":11,"5309":11,"531":11,"531293":11,"531411":11,"5317":11,"532":11,"5324":11,"533":11,"5333":11,"534":11,"534699":11,"535":11,"5358":11,"536":11,"5366":11,"53715":11,"5374":11,"537743":11,"538":11,"53854":11,"539":11,"539343":11,"539941":11,"53e":18,"54":[11,18],"54027":11,"5403":11,"541":11,"541792":11,"542":11,"5423":11,"542419":11,"543":11,"54307":11,"54371":11,"544":11,"54439":11,"544482":11,"545":11,"5456":11,"545743":11,"546":11,"5462":11,"547002":11,"547729":11,"548":11,"5483":21,"548589":11,"548740826516e":21,"548864":11,"549":11,"5493":11,"54949":11,"55":[2,11,12,14,18,20,21],"550575":11,"551":[11,12],"551072":11,"552":11,"552711":11,"5528":11,"553":11,"5532":11,"554":11,"55458":15,"55473":11,"555":[11,14],"5556":11,"5557":11,"557":11,"558":11,"559":11,"5593":11,"55982":11,"559889":11,"55e":18,"56":[0,11,14,18,21],"560118":11,"5603":11,"561":11,"5612":11,"5619":11,"562":11,"56228":11,"564":11,"565":11,"56518":11,"5652":11,"566":11,"566263":11,"56631":11,"566495":11,"567":11,"567303":11,"567898":11,"568":11,"5681":11,"56865":11,"569":11,"569581":11,"5696":11,"56e":18,"57":[11,12,14,18],"570":11,"5702":0,"570222":11,"5703":11,"57062":11,"57093":11,"571":11,"5712":11,"57141":11,"5717":21,"572":11,"573":11,"5734":11,"5735":11,"573703":11,"5738":11,"573874":11,"574":11,"57443":15,"574826":11,"575":11,"57538":11,"57571":21,"576":11,"577":11,"57739":11,"5775":11,"577826":11,"578":11,"57878":11,"579":11,"579099761269e":21,"5791":11,"5794":11,"5795":11,"5796":11,"5798":11,"58":[11,18],"581":11,"5812":11,"581558":11,"58166":11,"582":11,"582318":11,"583":11,"58332":11,"583346":11,"583436":11,"584622":11,"585":11,"58504":11,"58518":21,"585985":11,"586":11,"587":[11,20],"588":11,"588396":11,"5885":11,"589":11,"58e":14,"59":[11,12,18],"590":11,"5904":11,"590877":11,"591":11,"5919":11,"592":11,"592309":11,"592733":11,"593":11,"594":11,"59429":11,"59452":15,"595":11,"596":[11,18],"59616":11,"596161":11,"597":11,"5977":11,"598":11,"5982":11,"59867":11,"59e":18,"5dex":[14,18,19,20],"5e":18,"5m":18,"5mb":[14,18],"5msun":[0,13],"5s":18,"6":[0,1,9,11,12,13,14,15,16,17,18,19,20,21,24],"60":[11,18,21],"600":11,"6000":[0,13],"600000":0,"60007":21,"600258":11,"600593":11,"6008":11,"601":11,"60101":11,"602":11,"603":[11,18],"6032":11,"604":11,"60468":11,"605":11,"60547":11,"6058":11,"606":[11,18],"606169":11,"60636":11,"607":18,"608":[11,18],"608269":11,"608485":11,"608655":11,"60876":11,"609":11,"6094":11,"61":[11,18],"610184":11,"610285":11,"611":[11,18],"61117":11,"611632":11,"611763":11,"611785":11,"612":[11,18],"612281":11,"613":[11,18],"613167":11,"614":[11,18],"6145":11,"615":11,"615165":11,"61521":11,"616":[11,18],"6161":11,"616737":11,"61679":11,"617":[11,18],"617224":11,"6179":11,"618":11,"6181":11,"6182":11,"618382":11,"618445":11,"6185":11,"618705":11,"619":[11,18],"619099":11,"61e":18,"62":[0,11,18],"620":18,"621":20,"6212":11,"621375":11,"6215":11,"62172":17,"622":11,"62200":11,"622081":11,"622494":11,"6225":11,"623":18,"623052":11,"623232":11,"623354":11,"62366":11,"624":[11,18],"624125":11,"6249793":21,"625":[0,11],"62549":11,"626":[11,18],"628":[11,18],"628169":11,"629":[11,18],"63":[11,14,18],"630":18,"631":[11,14],"63153":11,"632":[11,18],"6328":11,"633":11,"633148":11,"633684":11,"634":[11,18],"634261":11,"6344":11,"635":[0,13,18],"63566e":11,"635703":11,"636":18,"636985":11,"637":[11,18],"637666":11,"637754":11,"6379":11,"638":[11,18],"63818":11,"6384":11,"6388":11,"639":[11,18],"63923":11,"639951":11,"63e":18,"64":[11,18],"640":[11,18],"6409":11,"641":18,"6413":11,"64137":11,"642":18,"64207":11,"64265":11,"6429":11,"643":18,"64359":11,"6438124832773024":18,"644":[11,18],"644553":17,"64463":11,"645":[11,17,18],"645286":11,"645339":11,"645763":11,"646":11,"64611":11,"646273":11,"647":11,"647161":11,"64724":11,"6474":11,"6475":11,"648":11,"648549":11,"6485656144116352":18,"648566":18,"6489":11,"6492":11,"6493":11,"64932":11,"649327":11,"64e":18,"65":[11,18,26],"651":11,"6514":11,"6515":11,"65262":11,"652638":18,"652755":11,"653":[11,21],"6548":11,"6550":11,"6552":11,"655371":11,"6556":11,"6559":11,"656":11,"6562":11,"657":11,"6571":11,"6579":11,"658":11,"6588":11,"659":11,"659393":11,"659448":11,"659469":11,"659526":11,"659581":11,"659743":11,"65976":11,"65e":18,"66":[11,18],"66003":21,"66016":11,"66025":11,"6602514":18,"6604":11,"660415":11,"661":11,"661725":11,"662":11,"6626":11,"663":11,"663251":11,"663976":11,"664":11,"664546":11,"6649":11,"665406":11,"66554":11,"665969":11,"666661":11,"667":11,"6674":11,"668":11,"668328":11,"669":11,"66915":11,"669442":11,"66e":18,"67":[11,18],"670":11,"67023":11,"670337":11,"670413":11,"670422":11,"67059":11,"671":11,"671001":11,"671551":11,"67179":11,"672":11,"67245":11,"673":11,"674":11,"674063083432e":21,"6745":11,"674645":11,"6747":11,"6749":11,"675":11,"675689":11,"6758":11,"67586e":21,"676":11,"676181":11,"676215":11,"6764":11,"6765":11,"677":11,"6771":11,"677623":11,"678":11,"679":[11,14],"679223":11,"6797":11,"67e":18,"68":[11,14,18],"681":11,"681473":11,"681487":11,"6816":11,"682":[11,14],"6822":11,"683":11,"6831":11,"6832":11,"6834":11,"683467":11,"68376":11,"684":[11,14,21],"684890":18,"685":[14,18],"685255":11,"685872":11,"686":11,"686591":11,"687":[11,14],"68746":11,"68748":21,"688":[11,14],"6883":11,"6885":11,"689":11,"689781":11,"689835":11,"68e":18,"69":[11,18],"690":18,"690194":18,"690203":11,"6905":11,"690746":11,"6908":11,"6909":11,"691":[11,14],"691586":11,"692":11,"693":[11,14],"693128":11,"693321":11,"6934":11,"693944":11,"694":[11,14,18],"6944":0,"694517":18,"695":[11,21],"6952":11,"695505":11,"69569":11,"696":11,"696284":11,"697":11,"6975":11,"697827":11,"698":[11,18],"69808":11,"698517":11,"6989":11,"699":11,"6e":[14,18],"6e1":2,"6e5":[0,13],"6m":18,"6mb":[14,18],"6msun":[0,13],"6s":[14,18],"7":[0,1,2,9,11,12,13,14,15,17,18,19,20,21,24],"70":[2,11,14,18,21],"700":11,"70005":11,"700359":11,"70043":11,"70052":11,"70054":11,"701":11,"702":11,"70235":11,"7028":11,"703":11,"703545":11,"70365":11,"704":11,"70429":11,"7046":11,"705":11,"7052":11,"705715":11,"706":11,"7060":11,"706029":11,"706126":11,"706483":11,"706780":18,"7069":11,"706984":11,"707":[11,18],"708":11,"7085":11,"709":11,"7093":11,"709965":11,"70e":18,"71":[11,18],"710":11,"71025":21,"7107":11,"7108":11,"711":11,"7114":11,"71196":21,"712":11,"712414":11,"7128":21,"713946":11,"714712":11,"716":[11,17],"71617":17,"71662":15,"71746":11,"71818":11,"7184":11,"718549":11,"7188":11,"719058":11,"71e":18,"72":[11,18],"720749":11,"721":11,"7210":11,"7214":11,"7219":11,"722":11,"72386":11,"724":[11,15],"72498e":[15,21],"725":11,"725718":11,"726002":11,"72611":11,"72617":11,"7267":11,"7269":11,"727":11,"727196":11,"72764":11,"728":[11,14],"7282":11,"728237":11,"72832e":11,"728797":11,"729":11,"729193":11,"7292":11,"7296":11,"72983":11,"72e":18,"73":[11,18,21],"730":11,"731":11,"7315":11,"7319":11,"732":11,"7322":11,"732244":14,"7324":11,"7326":11,"732818":11,"732953":11,"732983":11,"7335":11,"734":11,"7342":11,"734534":11,"735":11,"7354":11,"7359":11,"736":[11,14],"736112":11,"7365":11,"737":11,"7370":11,"737411":11,"738":11,"7380":11,"7381":11,"738399":11,"7384":11,"7385":11,"738524":11,"7386":11,"739":11,"7390":11,"739962":11,"73e":18,"74":[11,18],"740":11,"740494":11,"740929":11,"7413":11,"741346":11,"741448":11,"7418":11,"7419":11,"742":11,"7420":11,"7421":11,"7422":11,"7423":11,"7424":11,"7425":11,"7426":11,"7427":11,"7428":11,"7429":11,"743":11,"7430":11,"7431":11,"743118":11,"7432":11,"7433":11,"7434":11,"7435":11,"7436":11,"7437":11,"7438":11,"743837":11,"7439":11,"744":11,"7440":11,"7446":11,"7447":11,"7448":11,"7449":11,"745":11,"7450":11,"7451":11,"7452":11,"7453":11,"7454":11,"7455":11,"7456":11,"7457":11,"7458":11,"74583":11,"7459":11,"746":11,"7460":11,"7461":11,"7462":11,"747":11,"7472":11,"748":11,"748832":11,"749":11,"75":[0,11,14,18],"750":[11,12],"7500":11,"75005":11,"750149":11,"750806":11,"751305":11,"752":11,"752134":11,"752438":11,"7527":11,"753":11,"7530":11,"7536":11,"7537":11,"754":11,"754141":11,"7544":11,"755":11,"75508":11,"755323":11,"7554":11,"7557":11,"756":11,"7561":21,"7564":11,"7566":11,"756795":11,"757":[11,14],"757025":11,"7572":11,"758":11,"7582":11,"7589":11,"759":11,"75921":11,"75931":11,"7595":11,"7598":11,"75e":18,"76":[11,18],"760064":11,"760389":11,"7605":11,"7607":11,"761":11,"7612":11,"7613":11,"76134":11,"761478":11,"7617":11,"7619":0,"7620":11,"7622":11,"7626":11,"7629":11,"763":[2,11],"7631":11,"7633":11,"7635":11,"764":11,"76416e":11,"7644":11,"7645":11,"764629":11,"7647":11,"7647737053496777":21,"764989":11,"765":11,"7650":11,"7657":11,"7659":11,"766":11,"766094":11,"7666":11,"7669":11,"767":11,"7671":11,"7675":11,"7677":11,"7678":11,"7679":11,"768":11,"7683":11,"768339":11,"7684":11,"768655":11,"7689":11,"769":11,"7690":11,"7691":11,"769195":11,"76e":14,"77":[11,18,20],"7705":11,"770532":11,"7706":11,"7709":11,"7714":11,"7717":11,"7718":11,"772":11,"7720":11,"7721":11,"772169325355e":21,"7722":11,"7727":11,"7728":11,"77287":21,"773":11,"7730":11,"7731":11,"773166":11,"7734":11,"7735":11,"7736":11,"7737":11,"774":11,"7741":11,"77416":11,"7742":11,"7743":11,"7745":11,"77455":11,"7748":11,"774954":11,"774969":11,"775":11,"7750":11,"77505":11,"7751":11,"7752":11,"77541":11,"7757":11,"7759":11,"776":11,"7761":11,"77624":11,"776263":11,"77631":11,"7764":11,"7765":11,"776523":11,"7766":11,"7767":11,"776818":11,"7769":11,"777":11,"7772":11,"7773":11,"7774":11,"77766":11,"7779":11,"778":11,"7781":11,"7782":11,"7785":11,"7789":11,"779":11,"7790":11,"779197348711e":21,"7792":11,"7795":11,"7797":11,"78":[11,18],"78012":11,"7803":11,"7806":11,"7809":21,"781":11,"781046":11,"78125":0,"7813":11,"7817":11,"7819":11,"782":11,"7823":11,"7825":11,"7826":11,"7827":11,"7828":11,"783":[11,17],"7831":11,"7836":11,"783746":11,"783792":11,"784":11,"7840":11,"7842":11,"7843":11,"7844":11,"7845":11,"7848":11,"78488":11,"784972":11,"785":11,"7852":11,"785539":11,"7856":11,"7858":11,"786":11,"786062":11,"7861":11,"7863":11,"7864":11,"7868":11,"787":11,"7871":11,"787102":11,"787368":11,"7874":11,"7875":11,"7877":11,"787705":11,"7879":11,"788":11,"7882":11,"7883":11,"7886":11,"7887":11,"789":11,"789064":11,"7891":11,"789188":11,"7893":11,"7898":11,"789859":11,"7899":11,"78e":18,"79":[11,18],"7901":11,"7902":11,"7903":11,"7905":11,"7907":11,"7909":11,"79092":21,"790941":11,"791":11,"7911":11,"7912":11,"791274":11,"7913":11,"791478":11,"7916":11,"7918":11,"7919":11,"791991":11,"792":11,"7920":11,"7925":11,"7926":11,"79264":11,"7927":11,"792721":11,"792744":11,"7928":11,"7933":11,"7934":11,"7936":11,"793832":11,"7941":11,"79412":11,"7942":11,"7943":11,"7944":11,"79487":21,"795":[2,11],"795024":11,"7958":11,"796":11,"7960":11,"7962":11,"7964":11,"7965":11,"7967":11,"7968":11,"7969":11,"797":11,"7973":11,"7974":11,"7975":11,"7979":11,"798":11,"7980":11,"7982":11,"7988":11,"799":11,"7990":11,"79911":11,"7996":11,"7997":11,"799889":11,"79e":18,"7a2e4301f5224b2cb8939d2297df0aad":20,"7e":18,"7m":18,"7mb":18,"7s":14,"8":[0,2,11,12,13,14,15,17,18,19,20,21],"80":[2,11,18,26],"800":12,"8000":11,"8001":11,"8003":11,"8004":11,"8008":11,"8009":11,"801":11,"8010":11,"8012":11,"8013":11,"802":11,"802706":12,"802986496151e":21,"803":11,"8031":11,"8034":11,"8039":11,"804":11,"80402":11,"8043":11,"8044":11,"8047":11,"8048":11,"804961":11,"805":11,"8050":11,"8053":11,"8055":11,"805733":11,"8058":11,"8059":11,"80592":21,"806":11,"8060":11,"8062":11,"806431":11,"8065":11,"8066":11,"8067":11,"806722":11,"807":11,"8071":11,"8073":11,"807331":11,"807361":11,"8074":11,"807403":11,"8076":11,"8079":11,"808":11,"808134":11,"809":[11,12],"8091":11,"8095":11,"80954":11,"809662":11,"80e":18,"80msol":2,"81":[11,14,18],"810":14,"8101":11,"8104":11,"8105":11,"81066":21,"8107":11,"8108":11,"8109":11,"811":11,"8111":11,"8115":11,"812":11,"8121":11,"8123":11,"8124797":12,"813":11,"81352":11,"8138":11,"81395":15,"814":11,"8140":11,"8141":11,"814387":11,"81495":21,"81499":21,"815":11,"8151":11,"81529":21,"81536":21,"8155":11,"81562":11,"81563":21,"8158":11,"816":11,"8163":11,"81636":21,"81689":21,"816958":11,"817":[11,17],"81705":11,"817432":11,"817843":11,"817888":11,"818":11,"8182":11,"818294":11,"819":11,"8194":11,"8195":11,"81957":21,"8196":11,"819715":11,"8199":11,"81e":18,"82":[11,18],"8200":11,"8202":11,"8205":11,"82061":21,"82064":11,"82074":21,"82088":21,"821":11,"82123":21,"821301":11,"821367":11,"8216":21,"822":11,"82224":11,"8224":11,"82245":11,"82255":21,"823":11,"823059079115e":21,"82325":11,"8234":11,"823767":11,"824494":11,"8245":11,"8247":11,"824848":11,"82486":11,"8249":11,"825":11,"8250":11,"825086":11,"8251":11,"8252":11,"8254":11,"82563":18,"825648":11,"826":11,"8261":11,"8263":11,"82642":11,"826771":11,"8268":11,"826831":11,"827":11,"8271":11,"8276":11,"82797":11,"828":11,"8280":11,"828241":11,"828858":11,"829":11,"829017":11,"8292":11,"8293":11,"8295":11,"829668":11,"829726":11,"829757":11,"8299":11,"82e":18,"83":[11,14,18],"830":11,"8300":11,"8303":11,"830541":11,"831236":11,"832":11,"832981":11,"833":11,"8339":11,"834303":11,"834483":11,"835":11,"8354":11,"836":[11,12],"836621":11,"83672":11,"836783":11,"837":11,"8372":11,"83762":11,"8377":11,"837816":11,"8379":11,"838":[11,12],"838411":12,"838423":11,"83843":11,"839":11,"8399":11,"83e":18,"84":[11,14,18],"840":11,"84029":11,"84071":11,"840796":11,"840994":11,"841":11,"841284":11,"841718":11,"8429":11,"843":11,"8435":11,"844":[11,12],"8441":11,"84428":11,"8443":11,"845":11,"84502":11,"8452":11,"845387":11,"845641":11,"846":[11,12],"846045":12,"847":11,"847153":11,"84827":11,"848380621869e":15,"848866":11,"8493":11,"85":[11,14,18,26],"850":11,"850309":11,"851":11,"851646":11,"852":11,"852252":11,"8523":11,"852712":11,"853":11,"8533":11,"854":11,"85406e":11,"8544":11,"8545":11,"854649":11,"855":11,"856":[11,18],"8569":11,"857":11,"8573":11,"857699":11,"8577":11,"858":[11,12],"8585":11,"859":11,"8596":11,"859753":11,"8598":11,"859977":11,"86":[11,14,18],"860402":11,"8605":11,"861":11,"861368":11,"863":[11,14],"86323":11,"86334":11,"8635":11,"8638":11,"865":11,"8653":11,"8654":11,"865806":11,"866":11,"8664":11,"867":11,"86728":11,"8674":11,"8678":11,"86794":11,"868":11,"8683":11,"86878":11,"869":11,"86918":11,"8694":11,"869544":11,"87":[11,18,21],"870":11,"8704":11,"8706":11,"8708":11,"871":11,"872":[11,21],"872312":11,"872316":11,"873":11,"8731":11,"873639":11,"874":11,"874638":11,"875":11,"876":11,"876084":11,"876382":11,"877":11,"877963":11,"878":11,"87813":11,"878253":11,"879":11,"8791":11,"87e":18,"88":[11,18],"880":11,"8805":11,"880528":11,"881":11,"8813":11,"882017":11,"8828":11,"883":11,"883252":11,"88343":11,"8837":11,"884":11,"8840":11,"8843":11,"88441":11,"884461":11,"8846":11,"8848":11,"885":11,"8851":11,"8853":11,"8855":11,"885537":11,"8856":11,"8858":11,"88581":11,"886":11,"8860":11,"8862":[11,21],"8864":11,"8866":11,"8867":11,"8868":11,"8869":11,"887":11,"8870":11,"8871":11,"8872":11,"8873":11,"8874":11,"8875":11,"8876":11,"8877":11,"8878":11,"888":11,"8880":11,"8881":11,"888123":11,"8882":11,"8884":11,"8886":11,"888613":11,"8887":11,"8889":11,"889":11,"8891":11,"8892":11,"8893":11,"8894":11,"8896":11,"8897":11,"8898":11,"8899":11,"89":[11,12,18,20],"890":11,"8901":11,"8902":11,"8903":11,"8904":11,"8906":11,"8907":11,"8908":11,"8909":11,"891":11,"8910":11,"891056":11,"8911":11,"8912":11,"8917":11,"892":11,"8924":11,"8926":11,"893":11,"8934":11,"8935":11,"8939":11,"893941":11,"894":11,"894041":11,"8941":11,"8949":11,"895":11,"895821":11,"896":11,"8961":11,"896196":11,"896286":11,"8972":11,"8975":11,"897612":11,"898":11,"8982":11,"898786":11,"899":11,"8992":11,"899464":11,"8a7d52edc59346ce991063d9e05e9ba7":12,"8bc1eafea1c34b05894c1618639d8c37":21,"8e":[0,13],"8m":[14,18],"8mb":18,"8s":[14,18],"9":[0,7,11,12,13,14,15,17,18,20,21],"90":[11,14,18],"900":11,"901":11,"901988":11,"902":11,"903":11,"9032":11,"9036":11,"9038":11,"904":11,"9043":11,"9046":11,"9047":11,"905":11,"905335716621e":21,"9057":11,"906":11,"906059":11,"906299":11,"90695":11,"907":11,"9071":11,"90716":11,"9073":11,"9074":11,"908":11,"9087":11,"909":11,"9093":11,"9098":11,"90e":18,"91":[11,14,18],"910419":11,"9105":11,"910817":11,"910981":11,"911":11,"9110":11,"911093":11,"9113":11,"912":11,"912238":11,"912283":11,"912289":11,"912327":11,"9127":11,"912919":11,"913":11,"9139":11,"914":11,"9147":11,"9148":11,"915":[11,14],"915148":11,"915221":11,"9153":11,"91548":11,"916":11,"916093":11,"916207":11,"917":11,"917439":11,"9179":11,"918":11,"918543":11,"9189":11,"919":11,"9196":11,"91e":18,"92":[11,18],"920":11,"9203":11,"9206":11,"920832":11,"921":11,"9214":11,"922":11,"922199":11,"923":11,"92382":11,"924":11,"925":11,"9253":11,"9255":11,"9256":11,"925761":11,"926":11,"9263":11,"9264":11,"927":11,"929":11,"929511":11,"92995":11,"92e":18,"93":[11,18,21],"930":[11,20],"930282":11,"9304":11,"93044":11,"9308":11,"9309":11,"930943":11,"931":11,"9310":11,"932":11,"9323":11,"932839":11,"933":11,"9339":11,"934":11,"9342":11,"935":11,"935069":11,"9351":11,"9357":11,"935816":11,"935920339886e":21,"936":11,"936532":11,"936762":11,"937":11,"938":11,"938568":11,"938576":11,"93898":11,"939":11,"939376":11,"939378":11,"939757":11,"93e":18,"94":[4,11,12,14,18],"941":[11,14],"9411":11,"941478":11,"942":11,"942154":11,"9423":11,"9427":11,"942854":11,"943":11,"9436":21,"944":11,"9445":11,"94464":11,"945":11,"9452":11,"946":11,"946468":11,"946757":11,"947":11,"9471":11,"947719":11,"947774":11,"94797":11,"948":11,"949":11,"95":[11,18,20],"950":11,"9505":11,"950733":11,"951":11,"951344":11,"951597":11,"952":11,"9524":11,"952496":11,"953":11,"953182":11,"9537":11,"953738":11,"953798":11,"954":11,"954624":11,"9548":11,"954848":11,"955":11,"9557":11,"956":11,"9561":11,"956619":11,"957":11,"9573":11,"95783":11,"957894":11,"958":11,"959":11,"959422":11,"959492":11,"9595":11,"9598":11,"95e":14,"96":[11,12,14,18],"960":11,"9603":11,"9606":11,"960734":11,"961":11,"9610":11,"96112":11,"96161":11,"962":11,"962482":11,"962876":11,"963":[11,14],"963621764679e":21,"964":11,"9648":11,"965":11,"9650":11,"965167":11,"96557e":11,"966":11,"966681":11,"967":11,"968":11,"969":11,"96963":11,"96e":18,"97":[11,18],"970":11,"97008":21,"970206":11,"970505":11,"970783":11,"971":11,"971686":11,"971941":11,"972":11,"9725":11,"973":[11,18],"973135":11,"97316":11,"9739":11,"9739752":14,"974":11,"9743":11,"9749":11,"975":11,"9757":11,"9758":11,"975864":11,"976":11,"976041":11,"977":11,"9779":11,"97797":11,"978":11,"979":11,"97923e":21,"9794":11,"9797":11,"97e":[14,18],"98":[11,18,20],"98061":11,"98081":11,"98096":11,"981":11,"981292":11,"9814":11,"981555":11,"9816":11,"982":11,"9825":11,"983":11,"983229":11,"984":[11,20],"9841":11,"9842":11,"985":11,"9851":11,"985359":11,"9859":11,"986":[11,14],"9869":11,"987":11,"988":11,"988755":11,"989":11,"98e":18,"99":[11,18,20],"990":11,"9900":11,"9902":11,"991":11,"9912":11,"991224":11,"991657":14,"99191":15,"99192":15,"99194":15,"992":11,"99203":11,"9927":[11,17],"993":11,"994":11,"994118":11,"995":11,"995631":20,"995687":11,"995824":11,"996":[11,14],"996798":11,"997":11,"9977":11,"997751":11,"998":11,"998023":11,"99808":11,"9983":17,"998563":11,"999":11,"999122":11,"9999999999999998":20,"99e":18,"9e":14,"9m":18,"9mb":[14,18],"9s":[14,18],"boolean":[0,4,5,7,13,23,28],"break":[0,13],"case":[0,3,4,7,9,13,21,26],"catch":[4,7,12,14,17,18,19,20,21],"char":7,"class":[4,5],"const":[2,5,12,14,18,19,20,21,26],"default":[0,1,2,4,5,6,7,12,13,15,16,18,19,20,21,25,26],"do":[0,1,2,5,6,7,9,11,12,13,14,15,18,19,20,21,23,24],"export":[4,5,21],"final":[11,14,18,19,20],"float":[0,2,4,5,11,13,16,17,22,26,28],"function":[0,1,2,3,5,6,7,8,9,10,11,12,14,15,23,24,25,26,28],"import":[4,5,11,12,13,14,15,16,17,18,19,20,21,22],"int":[0,1,2,4,5,6,7,11,13,18,21,26,28],"krtickov\u00e1":[0,13],"kub\u00e1t":[0,13],"long":[0,4,5,7,12,13,14,21,27],"new":[0,2,5,12,13,14,17,18,19,20,21],"null":[0,4,12,13,14,21],"paczy\u0144ski":[0,13],"public":[6,9,18,19,20,21],"return":[1,2,4,5,6,7,11,12,13,14,16,17,18,19,20,21,23,25,26,28],"short":[0,12,13,14,18,19,20,27],"super":[0,13],"switch":[0,13],"throw":[9,24],"true":[0,4,5,6,7,11,12,13,14,16,18,19,20,21,23,26],"try":[0,9,11,13,14,17,18,19,20,21,24],"void":15,"while":[0,11,12,13,14,18],A:[0,3,13,21,28],And:[6,9,24,28],As:[0,11,12,13,14,17,18,19,20,21],At:[12,21],But:17,By:[0,12,13,18,19,20,21],For:[0,13,15,17,18,19,20,23],If:[0,2,5,7,9,12,13,14,18,19,20,21,23,24,25,28],In:[0,5,7,12,13,14,15,16,17,18,19,20,21,26],It:[0,7,9,11,12,13,14,17,18,19,20,21,22,24],Its:7,NO:7,NOT:[0,5,13,25],No:[7,9,11,13,24],Not:[7,12,14],On:[0,4,5,13,21],One:[0,13],Or:21,Such:14,That:[0,12,13],The:[0,1,2,3,4,5,7,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26],Then:[4,9,12,24],There:[2,5,6,7,12,13,14,15,16,17,18,19,20,21,22,23],These:[4,7,12,13,18,19,20,21,23],To:[0,7,9,13,17,18,19,20,21,24],Will:[0,4,13,25],With:6,_1:[18,19,20],_:[6,7,12,14,18,19,20],__:21,__arg_begin:13,__attribute__:15,__enter__:4,__exit__:4,_actually_evolve_system:7,_binary_c_bind:[4,13,15,17,22,28],_binary_c_config_execut:7,_binary_c_dir:7,_binary_c_execut:7,_binary_c_shared_librari:7,_commandline_input:7,_count:7,_custom_logging_shared_library_fil:7,_end_time_evolut:7,_errors_exceed:7,_errors_found:7,_evolution_type_opt:7,_failed_count:7,_failed_prob:7,_failed_systems_error_cod:7,_generate_grid_cod:7,_grid_vari:[5,7,19,20],_loaded_moe2017_data:7,_main_pid:7,_moe2017_json_data:7,_population_id:7,_pre_run_cleanup:5,_probtot:7,_process_run_population_grid:7,_repeat:7,_set:5,_set_moe2017_grid:7,_start_time_evolut:7,_store_memaddr:7,_system_gener:7,_total_mass_run:7,_total_probability_weighted_mass_run:7,_total_starcount:7,_zero_prob_stars_skip:7,a173:[0,13],a_in:11,a_out:11,abat:[0,13],abbrevi:27,abl:13,about:[3,4,5,6,12,14,18,19,20,21,28],abov:[0,2,4,5,12,13,15,17,19,20,21],abridg:[13,15],absolut:[0,4,13,26],abund:[0,13],ac:[12,21],acceler:[0,13],accept:[4,21],access:[2,7,15,17,18,19,20,21],accord:[0,2,12,13,26],accordingli:[17,19,20,21],account:[0,7,13],accret:[0,11,13],accretion_limit_dynamical_multipli:[0,13],accretion_limit_eddington_lmms_multipli:[0,13],accretion_limit_eddington_steady_multipli:[0,13],accretion_limit_eddington_wd_to_remnant_multipli:[0,13],accretion_limit_thermal_multipli:[0,13],accretor:[0,11,13,28],accur:[18,19,20],acquir:11,act:[0,7,13,19,20,21],activ:[0,13],actual:[0,5,7,9,11,12,13,14,15,17,18,19,20,21,23,24,26],ad:[3,5,12,14,17],adam:[0,13],adapt:[0,13,19,20],add:[0,2,4,5,7,11,12,13,14,15,17,18,19,20,21,23,26,28],add_grid_valu:26,add_grid_vari:[5,12,14,18,19,20,21],addit:0,address:[1,7,13,15,28],admittedli:23,adress:[13,15,28],advis:15,af:11,affect:[0,12,13],after:[0,5,7,12,13,14,15,18,19,20,21,26],ag89:[0,13],ag:[0,3,9,11,12,13,14,26],again:[4,7,12,16,17],against:23,agb:[0,12,13],agb_3dup_algorithm:[0,13],agb_core_algorithm:[0,13],agb_core_algorithm_default:0,agb_core_algorithm_hurlei:0,agb_core_algorithm_karaka:0,agb_luminosity_algorithm:[0,13],agb_luminosity_algorithm_default:0,agb_luminosity_algorithm_hurlei:0,agb_luminosity_algorithm_karaka:0,agb_radius_algorithm:[0,13],agb_radius_algorithm_default:0,agb_radius_algorithm_hurlei:0,agb_radius_algorithm_karaka: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,ago:12,al:[0,2,13,28],albedo:[0,13],algorithm:[9,13],algothim:[0,13],all:[0,1,2,4,5,6,7,9,10,11,12,13,14,16,17,18,19,20,21,23,24,25,26],all_info:5,alloc:[13,26],allow:[0,2,7,13,15],along:[0,6,7,9,24],alpha:[0,11,13],alpha_:14,alpha_c:[0,11,12,13,14],alpha_ej:11,alphacb:[0,13],alreadi:[5,12,21,22],also:[0,3,4,5,6,9,11,12,13,14,15,18,19,20,21,24,28],alter:[5,14,18],altern:[0,7,13],although:22,alwai:[0,2,7,13,26],amanda:[0,13],amax:2,amin:2,amount:[0,13],amp:[12,13,14],an:[0,2,4,5,9,12,13,14,16,17,18,19,20,21,25],analys:25,analyt:[5,12,14,18,19,20,21],analyz:[11,17],andrew:[9,24],andronov:[0,13],angelou_lithium_cheb_decay_tim:[0,13],angelou_lithium_cheb_massfrac:[0,13],angelou_lithium_cheb_tim:[0,13],angelou_lithium_decay_funct:[0,13],angelou_lithium_decay_tim:[0,13],angelou_lithium_eagb_decay_tim:[0,13],angelou_lithium_eagb_massfrac:[0,13],angelou_lithium_eagb_tim:[0,13],angelou_lithium_gb_decay_tim:[0,13],angelou_lithium_gb_massfrac:[0,13],angelou_lithium_gb_tim:[0,13],angelou_lithium_hg_decay_tim:[0,13],angelou_lithium_hg_massfrac:[0,13],angelou_lithium_hg_tim:[0,13],angelou_lithium_lmms_decay_tim:[0,13],angelou_lithium_lmms_massfrac:[0,13],angelou_lithium_lmms_tim:[0,13],angelou_lithium_ms_decay_tim:[0,13],angelou_lithium_ms_massfrac:[0,13],angelou_lithium_ms_tim:[0,13],angelou_lithium_tpagb_decay_tim:[0,13],angelou_lithium_tpagb_massfrac:[0,13],angelou_lithium_tpagb_tim:[0,13],angelou_lithium_vrot_trigg:[0,13],angelou_lithium_vrotfrac_trigg:[0,13],angular:[0,13,22,23],ani:[0,2,4,5,9,11,13,17,21,24],anoth:[0,13],ansi:[0,13],ansi_colour:[0,13],anyth:[0,4,7,13,18,19,20,21,26],anywai:[5,17,21],api:[0,3,4,9],api_log_filename_prefix:[0,11,13,17,22],append:[1,12,17,18,19,20,22],appli:[0,13],apply_darwin_radau_correct:[0,13],appropri:[0,5,7,13,21],approxim:[0,12,13,14],ar:[0,1,2,3,4,5,6,7,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,26,28],aren:[2,7],arenou2010_binary_fract:2,arg:[2,4,11,13,21,23],arg_dict:4,argh:22,argopt:[0,13],argpair:[4,16],argstr:[13,15,17,22],argument:[0,2,4,5,7,11,13,17,19,21,22,25],argument_of_periastron:[0,13],argument_of_periastron_quadrupl:[0,13],argument_of_periastron_tripl:[0,13],aritif:14,around:[0,13,15,17],arrai:[2,4,5,7,17,21,26],arrow:[0,13],artefact:[19,20],artifici:[0,13],artificial_accretion_end_tim:[0,13],artificial_accretion_ignor:0,artificial_accretion_start_tim:[0,13],artificial_angular_momentum_accretion_r:[0,13],artificial_mass_accretion_r:[0,13],artificial_mass_accretion_rate_by_stellar_typ:[0,13],artificial_orbital_angular_momentum_accretion_r:[0,13],arxiv:[0,2,13],ask:[0,13,28],asplund:[0,13],assign:[5,18,19,20,21],associ:[12,14,18,19,20],assum:[0,12,13,14,18,22,23,26],ast871:[0,13],astronomi:[0,13],astrophys:[14,19,20],astropi:[9,23,24],asymptot:12,atom:4,attempt:5,au:22,auto:[1,10],autogen_c_logging_cod:[1,15],automat:[0,1,5,6,9,13,15,21,24],avaibl:[9,24],avail:[0,4,7,9,13,14,15,18,19,20,21,23,24],avoid:[12,13,14],awai:[0,13,18],axi:[0,13,23],b6213f2eb7f94d3196cf966b7b76b9f9:20,b:7,b_1:[0,13],b_2:[0,13],b_3:[0,13],b_4:[0,13],b_inclination1:[0,13],b_inclination2:[0,13],b_inclination3:[0,13],b_inclination4:[0,13],back:[0,11,13],backward:[0,13],bagb:[0,13],bar:[19,20],barn:[0,13],base:[0,2,4,5,9,13,14,18,19,20,21,23,24,28],base_filenam:[5,21],basic:[5,21],batchmod:[0,13],bb:[0,13],beasor:[0,13],becaus:[0,2,5,7,9,12,13,14,17,18,19,20,22,24],becom:[0,1,2,4,11,13,15,19,20,22],been:[0,5,7,13,16],befor:[0,5,7,9,11,12,13,14,18,19,20,21,24],beg_bss:11,beg_rch:11,beg_symb:11,begin:12,behaviour:[12,18,19,20,21,25],belczynski:[0,13],below:[0,3,7,12,13,14,15,18,19,20,21],berro:[0,13],bertolami:[0,13],best:[5,7,11],beta:[0,13],beta_reverse_nova:[0,13],beta_reverse_novae_geometri:0,better:[0,3,5,13,21],between:[0,2,13,26],bewar:[5,21],beyond:22,bh:[0,11,14],bh_belczynski:[0,11,13],bh_bh:11,bh_fryer12_delai:[0,13],bh_fryer12_rapid:[0,11,13],bh_fryer12_startrack:[0,13],bh_hurley2002:[0,13],bh_prescript:[0,11,13],bh_spera2015:[0,13],bhbh:11,big:[0,7,13],biinari:21,bin:[0,4,9,13,14,18,19,20,24,26],bin_data:[4,14,18,19,20],binari:[2,3,5,7,9,11,13,14,17,19,20,21,23,24,28],binary_c2:[9,24],binary_c:[1,2,3,4,5,7,12,14,18,19,20,22,23,25],binary_c_api_funct:15,binary_c_cal:[5,21],binary_c_default:21,binary_c_grid:[12,14,18,21],binary_c_grid_25014bc73b334765a1c09a4e4a97ed66:18,binary_c_grid_26171201413c43f5b91552a374879940:12,binary_c_grid_2b66f805db424c48a1d29c45092b6e3c:14,binary_c_grid_50fb66cc659c46c8bbc29fe0c8651c2f:21,binary_c_grid_8a7d52edc59346ce991063d9e05e9ba7:12,binary_c_grid_f4e5925effeb42e69b5be956f400ae41:12,binary_c_inline_config:1,binary_c_log_cod:[1,15,17],binary_c_macro:[0,13],binary_c_paramet:[0,12,18,19,20,21],binary_c_python:[4,5,12,13,14,17,18,19,20,21],binary_c_task_:[0,13],binary_c_write_log_cod:1,binary_grid:[0,13],binary_star:28,binaryc:[1,4,25],binaryc_config:1,binarycpython:[1,2,3,4,5,6,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28],binarygrid:[18,19,20,21],bind:[0,13,15,17,22],binned_log_luminos:[18,19,20],binned_post_period:14,binned_pre_period:14,binwidth:[4,14,18,19,20],birth:[0,13],bit:[2,12,18],bivari:[0,13],black:[0,12,13],black_hol:0,block:[5,21],bloecker:[0,13],blog:1,boltzman:23,boltzmann:[0,13],bondi:[0,13],bondi_hoyle_accretion_factor:[0,13],bool:[4,5,6,21,23],born:[0,12,13,18,19,20],bosswissam:4,both:[0,13,18,19,20,21],bottom:[0,5,13,21],bottomcod:[5,12,14,21],bound:[2,11,26],boundari:2,brake:[0,13],branch:[0,4,12,13],branch_david:0,branchcod:[5,12,14,21],branchpoint:[5,12,14,21],breakup:[0,13],brighten:[19,20],broken:[0,13],bse:[0,2,13,15,21],bse_opt:[5,12,14,17,18,19,20,21],bsf:[0,13],buffer:[0,13],build:[0,1,3,4,13],build_q_tabl:2,built:[0,1,4,9,16,24],burn:[0,13],busso:[0,13],bye:[0,13],bz2:5,c13_eff:[0,13],c2:2,c:[0,1,11,13,15,17,21,25],c_auto_log:7,c_log:0,c_logging_cod:[7,12,14,15,17,18,19,20,21],calc_e_integr:2,calc_p_integr:2,calc_period_from_sep:28,calc_sep_from_period:[14,18,21,28],calc_total_probden:2,calcul:[0,2,4,5,7,12,13,14,18,19,20,21,28],calculate_constants_three_part_powerlaw:2,call:[0,1,4,5,7,13,17,19,20,21,22,23,25,26],call_binary_c_config:4,calls_filenam:21,can:[0,1,2,4,5,7,9,11,12,13,14,15,16,17,18,19,20,21,23,24,25],candid:14,cannot:[5,12,15],canon:7,cap:[0,13],capit:[18,19,20],capsul:[1,4,13],captur:[0,4,13],carbon:[0,11,12,13],carbon_oxygen_white_dwarf:0,care:[12,18,19,20],carlo:[0,7,13],carrasco:[0,13],carri:[0,13],cast:4,catchtim:4,categor:13,categori:[13,21],categoris:4,caught:[4,17],caus:[11,18,28],cbdisc:[0,13],cbdisc_albedo:[0,13],cbdisc_alpha:[0,13],cbdisc_eccentricity_pumping_dermin:0,cbdisc_eccentricity_pumping_method:[0,13],cbdisc_eccentricity_pumping_non:0,cbdisc_end_evolution_after_disc:[0,13],cbdisc_fail_ring_inside_separ:[0,13],cbdisc_gamma:[0,13],cbdisc_init_djdm:[0,13],cbdisc_init_dm:[0,13],cbdisc_inner_edge_strip:[0,13],cbdisc_inner_edge_stripping_timescal:[0,13],cbdisc_kappa:[0,13],cbdisc_mass_loss_constant_r:[0,13],cbdisc_mass_loss_fuv_multipli:[0,13],cbdisc_mass_loss_inner_l2_cross_multipli:[0,13],cbdisc_mass_loss_inner_viscous_accretion_method:[0,13],cbdisc_mass_loss_inner_viscous_accretion_method_equ:0,cbdisc_mass_loss_inner_viscous_accretion_method_gerosa_2015:0,cbdisc_mass_loss_inner_viscous_accretion_method_non:0,cbdisc_mass_loss_inner_viscous_accretion_method_young_clarke_2015:0,cbdisc_mass_loss_inner_viscous_angular_momentum_multipli:[0,13],cbdisc_mass_loss_inner_viscous_multipli:[0,13],cbdisc_mass_loss_ism_pressur:[0,13],cbdisc_mass_loss_ism_ram_pressure_multipli:[0,13],cbdisc_mass_loss_xray_multipli:[0,13],cbdisc_max_lifetim:[0,13],cbdisc_minimum_evaporation_timescal:[0,13],cbdisc_minimum_fr:[0,13],cbdisc_minimum_luminos:[0,13],cbdisc_minimum_mass:[0,13],cbdisc_no_wind_if_cbdisc:[0,13],cbdisc_outer_edge_strip:[0,13],cbdisc_outer_edge_stripping_timescal:[0,13],cbdisc_resonance_damp:[0,13],cbdisc_resonance_multipli:[0,13],cbdisc_torquef:[0,13],cbdisc_viscous_l2_coupl:[0,13],cbdisc_viscous_photoevaporative_coupl:[0,13],cbdisc_viscous_photoevaporative_coupling_inst:[0,13],cbdisc_viscous_photoevaporative_coupling_non:[0,13],cbdisc_viscous_photoevaporative_coupling_visc:[0,13],ce:[0,13,14],cee:[0,13,14],cell:[13,18,19,20,21],cemp:[0,13],cemp_cfe_minimum:[0,13],centr:[5,14,21],central:22,central_object:[0,13],certain:[7,9,24],cf:[0,13],cf_amanda_log:[0,13],cflag:[9,24],chabrier:2,challeng:[19,20],chandrasekhar:[0,13],chandrasekhar_mass:[0,13],chang:[0,1,2,4,5,6,7,9,11,12,13,14,15,18,19,20,21,24],chapter:[0,7,10],charact:5,cheb:[0,13],check:[0,2,4,5,6,12,13,14,18,19,20,21,28],check_if_in_shel:4,chemic:[0,13,26],chen:[0,13],child:4,choic:[0,2,13,23],choos:[0,12,13,14,15,18,23],chose:17,chosen:[5,18,19,20,21],ci:22,circular:[0,11,13],circumbinari:[0,13],circumstanti:[0,13],claei:[0,13],clark:[0,13],clean:[1,5,11,12,17,19,20],clean_up_custom_logging_fil:5,clear:[4,19,20],clearli:[19,20],clock:4,close:[0,11,13,14,19,20,22],closer:11,cloud:[0,13],cluster:8,cmdline_str:5,co2:[19,20],co:[0,11,13],coalesc:11,code:[0,1,5,6,9,12,13,14,15,17,18,19,20,21,23,24,25],collaps:[0,13],collapsar:[0,13],collect:28,collid:28,color:23,color_by_index:23,colour:[0,13],colour_log:[0,13],column:[12,14,17,21,22,23],column_nam:17,com:[1,4],combin:[1,4,5,7,15],combine_ensemble_with_thread_join:7,come:[2,9,24,26],comenv:[11,14],comenv_bs:0,comenv_count:14,comenv_disc_angmom_fract:[0,13],comenv_disc_mass_fract:[0,13],comenv_ejection_spin_method:[0,13],comenv_ejection_spin_method_do_noth:[0,13],comenv_ejection_spin_method_sychron:[0,13],comenv_ejection_spin_method_synchron:0,comenv_merger_spin_method:[0,13],comenv_merger_spin_method_breakup:0,comenv_merger_spin_method_conserve_angmom:[0,13],comenv_merger_spin_method_conserve_omega:[0,13],comenv_merger_spin_method_specif:[0,13],comenv_ms_accret:[0,13],comenv_ms_accretion_fract:[0,13],comenv_ms_accretion_mass:[0,13],comenv_nandez2016:0,comenv_nelemans_tout:0,comenv_ns_accret:[0,13],comenv_ns_accretion_fract:[0,13],comenv_ns_accretion_mass:[0,13],comenv_post_eccentr:[0,13],comenv_prescript:[0,13],comenv_splitmass:[0,13],comenv_undef:0,comma:26,command:[0,1,5,7,9,13,21,24],commandlin:21,comment:21,commit:4,common:[0,3,9,11,12,13,15,17,18,19,20,21],compact:[14,21],companion:[0,11,13],compar:[0,7,13,14,18,21],compens:[19,20],compil:[1,9,15,21,24],compile_shared_lib:1,complet:[12,14,18,19,20,21],complex:[5,7,14,15,21,23],compon:[4,23],compress:5,comput:[0,8,12,13,18,19,20],conceptu:18,condit:[5,12,14,15,18,19,20,21],condor:[5,7,8],condor_grid:5,config:[1,4,7,9,24],config_fil:1,configur:[2,5,12,17,18,19,20,21],conjunct:16,conserv:[0,13],consid:[0,1,2,4,5,7,13,18,19,20,23,26],const_dt:26,const_rang:26,constant:[0,2,13,19,20,23,26],construct:[0,1,12,13,14,17,18,19,20,22],contact:11,contain:[0,1,2,4,5,6,7,8,9,10,11,13,16,17,18,19,20,21,23,24,25,26,27],content:[4,5,13],context:4,continu:[5,21],contribut:[9,24],control:[0,12,13,18,19,20,21],conv_time_unit:4,convect:[0,13],conveni:4,converg:[0,13],convert:[2,4,5,12,14,22],convert_byt:4,convfloat:4,convfrac:11,cool:[0,12,13],copi:[0,13,14,19,20,28],core:[0,5,7,12,13,14,18,19,20,21,23],core_co:15,core_h:15,core_helium_burn:0,core_mass:[0,13,15],correct:[0,2,5,13,17,23,28],correctli:[9,17,23,24],correspond:[5,21,23],corretor:[0,13],cosmic:2,cosmic_sfh_madau_dickinson2014:2,cost:[18,19,20],could:[0,4,13,19,20,21],count:[4,7,11,12],counter:7,coupl:[0,3,13],cours:[12,23],cover:[16,18,19,20],coverag:[9,24],cowd:[0,13],cpu:[0,12,13,14,18,19,20,21],cpu_count:7,cpython:13,crap_paramet:[0,13],creat:[2,4,5,12,14,15,17,18,19,20,21],create_and_load_logging_funct:[1,15],create_arg_str:4,create_hdf5:4,creation:13,critic:[0,13],cross:[0,13],crunch:[12,14,18,19,20],cs1:22,ctype:1,cube:18,cubic:18,cuntz:[0,13],current:[0,4,5,9,13,14,15,18,19,20,24],curv:[14,19,20],custom:[0,1,3,4,5,7,9,11,12,13,14,17,18,19,20,21,23,25],custom_gener:7,custom_log:[5,7,17],custom_logging_cod:[1,11,15,17,25],custom_logging_func_memaddr:[7,13,15],custom_logging_funct:[7,9,10,15,17,21],custom_logging_info:5,custom_logging_memaddr:15,custom_logging_print_stat:17,custom_logging_stat:[12,14,18,19,20,21],custom_opt:[5,12,17,18,19,20,21],custom_output_funct:15,custom_tmp_dir:1,customis:23,cvode:[0,13],d:[0,1,11,12,13,14,15,17,18,21,22,26],dai:[0,2,11,13,14,15,17,18,21,28],damp:[0,13],darwin:[0,13],dat:[0,4,21],data:[0,4,5,7,11,12,13,14,17,18,19,20,21,22,25],data_dict:2,data_dir:[4,5,7,21],datadir:[5,21],datafram:[12,14,17,18,19,20,22,23],datalinedict:[4,12,14,18,19,20],dataset:[4,7,21],date:5,david:[0,9,24],david_logging_funct:0,dd7:[0,13],de:[0,11,13],deactiv:[0,13],deal:[11,17],dear:11,death:[0,13],debug:[0,5,7,11,12,13,14,18,19,20,21],decai:[0,13],decid:[0,4,5,13,15],decreas:[0,13],deepcopi:14,deeper:[5,21],def:[11,12,14,17,18,19,20,21],default_to_metal:[0,13],defaultdict:4,defer:[0,13],defin:[0,1,2,5,13,21,22,23],definit:[1,18,19,20,28],degener:[0,13],degenerate_core_helium_merger_ignit:13,degenerate_core_merger_dredgeup_fract:13,degenerate_core_merger_nucsyn:13,degner:13,degre:[0,13],del:14,delai:[0,13],delete_grid_vari:5,delta:[4,26],delta_mcmin:[0,13],demonstr:14,den:[0,13],densiti:[2,18,19,20],depend:[0,2,4,9,12,13,23,24],deprec:[0,5,13],depth:26,dermin:[0,13],describ:[0,2,7,13],descript:[0,2,4,7,9,10,13,16],design:23,desir:[0,13],destruct:[5,21],detail:[0,4,12,13,17],detect:[0,11,13,14,22],detector:11,determin:[0,5,13,15,18,19,20,21,28],deton:[0,13],dev:[0,13],develop:1,development_requir:[9,24],deviat:[2,26],dewi:[0,13],dex:[0,13,14,26],df:[22,23],di:[4,5,9,21],diagnost:7,diagram:[0,3,9,13,23],dickonson:2,dict:[1,2,4,5,6,11,12,17,18,19,20,21,22,27],dict_kei:[12,16,17],dictionari:[1,2,3,4,5,6,7,12,14,18,19,20,21,23,27],did:[4,9,24],differ:[0,4,5,9,12,13,14,18,19,20,21,23,24,26],differenti:4,dimmer:[0,13,18],dir:[9,24],direct:[0,5,13],directli:[7,17],director:7,directori:[0,3,4,5,7,9,13,21,24],disabl:[0,13,21],disable_debug:[0,13],disable_end_log:[0,13],disable_ev:[0,13],disc:[0,13,22],disc_legacy_log:[0,13],disc_log2d:[0,13],disc_log:[0,13],disc_log_directori:[0,13],disc_log_dt:[0,13],disc_log_level_non:0,disc_log_level_norm:0,disc_log_level_normal_first_disc_onli:0,disc_log_level_subtimestep:0,disc_log_level_subtimestep_first_disc_onli:0,disc_n_monte_carlo_guess:[0,13],disc_stripping_timescale_infinit:0,disc_stripping_timescale_inst:0,disc_stripping_timescale_orbit:0,disc_stripping_timescale_visc:0,disc_timestep_factor:[0,13],discret:21,discs_circumbinary_from_comenv:[0,13],discs_circumbinary_from_wind:[0,13],disk:[0,5,13],dispers:[0,13,26],displai:[0,12,13,14,22],disrupt:[11,13],dist:4,distanc:[12,22],distant:22,distefano2017:7,distefano:2,distribut:[0,2,3,4,5,8,13,14,18,21,26],distribution_funct:[9,10,12,14,18,19,20,21],divid:8,dj:[0,13],dlnm1:[5,14,18,21],dlnm:[19,20],dlnm_1:[19,20],dlog10per:[14,18,21],dlogp:2,dlogt:26,dm1:[12,19,20],dm:[0,2,11,13,19,20,26],dm_1:[12,19,20],dn:[2,4,5],do_dry_run:7,doc:[4,6,9,12,18,19,20,21,24],doc_fetch:2,docstr:[9,17,23,24],document:[4,6,7,10,18,19,20,21],doe:[0,2,5,7,12,13,15,16,17,18,19,20,21,28],doesn:[5,7,12],doesnt:6,don:[2,4,7,12],done:[0,5,9,11,12,13,18,19,20,21,24],donor:[0,11,13,28],donor_limit_dynamical_multipli:[0,13],donor_limit_envelope_multipli:[0,13],donor_limit_thermal_multipli:[0,13],donor_rate_algorithm_bs:0,donor_rate_algorithm_claeys2014:0,dont:13,doubl:[12,15,21],down:21,dp:2,dphasevol:[5,12,14,18,19,20,21],dprob:[12,14,19,20],dq:[14,18,21],dr2:[0,13],dr3:[0,13],drai:[0,13],dredg:[0,13],drop:17,dry:[7,12,14,18,20,21],dry_run:[12,14,18,21],dstep:2,dt:[0,1,4,5,13,26],dt_limit:16,dtfac:[0,13],dtlimit:4,dtm:[1,15,21],dtype:22,due:[9,24],dummi:[2,23],dump:[0,5,13,17],dumpvers:[0,13],duquennoi:2,duquennoy1991:2,dure:[0,11,13],dust:[0,13],dwarf:[0,12,13,19,20],dx:[0,13],dynam:[0,13],e2:[0,13],e2_hurley_2002:0,e2_izzard:0,e2_mint:0,e2_prescript:[0,13],e:[0,2,4,5,7,9,11,12,13,14,15,17,18,19,20,21,24,26,28],each:[0,2,4,5,7,13,14,18,19,20,21,22,26],eagb:[0,11,13],eagb_wind_beasor_etal_2020:0,eagb_wind_bs:0,eagb_wind_goldman_etal_2017:0,eagbwind:[0,13],eagbwindfac:[0,13],earli:[0,13],early_asymptotic_giant_branch:0,earth:22,easi:17,easier:[4,21],ebindi:11,ecc2:2,ecc3:2,ecc:[2,5,11,17,21],eccentr:[0,2,13,15,17,18,19,20,21,22,23,28],eccentric_rlof_model:[0,13],eccentricity_quadrupl:[0,13],eccentricity_tripl:[0,13],echo:[0,13],eddington:[0,13],edg:[0,5,12,13,21],edit:15,edu:[0,13],eej:11,eff:12,effect:[0,2,7,11,13,15,18],effective_metal:[0,13],effici:[0,12,13,14],egg:[9,24],eggleton:[0,13,28],either:[0,4,5,7,9,13,18,19,20,21,24,25],eject:[0,13,14,22],el:[17,21],elabor:15,eld:[0,13],eldridg:[0,13],electon:[0,13],electron:[0,13],element:[0,1,4,7,13,16,22,23],els:[11,14],email:4,emp:[0,13],emp_feh_maximum:[0,13],emp_logg_maximum:[0,13],emp_minimum_ag:[0,13],empti:[4,6,17],enabl:[0,13],encount:7,end:[0,2,4,7,11,13],end_bss:11,end_index:2,end_rch:11,end_symb:11,end_timestamp:[12,14,18,20,21],energi:[0,13],enhanc:[0,13],enlarg:[0,13],enough:2,ensembl:[0,4,5,7,13,16],ensemble_def:[0,13],ensemble_dt:[0,13],ensemble_factor_in_probability_weighted_mass:7,ensemble_filt:16,ensemble_filter_:[0,13],ensemble_filters_off:[0,13],ensemble_legacy_ensembl:[0,13],ensemble_list:5,ensemble_logdt:[0,13],ensemble_logtim:[0,13],ensemble_macro:[0,13],ensemble_output_:7,ensemble_startlogtim:[0,13],enter:[0,13],enthalpi:[0,13],entir:[15,17],entri:[4,5],env:23,envelop:[0,3,9,11,12,13],eorbf:11,eorbi:11,epoch:5,equal:[0,4,13,19,20,21],equat:[0,13],equation_of_state_algorithm:[0,13],equation_of_state_paczynski:0,equatori:[0,13],equival:[7,18],errno:[9,24],error:[0,4,7,9,12,13,14,18,19,20,21,24],errors_exceed:[12,14,18,20,21],errors_found:[12,14,18,20,21],esa:2,escap:[0,13],escape_fract:[0,13],escape_veloc:[0,13],estim:[4,12,22],et:[0,2,13,28],eta:[0,13,14,18],etal:[0,13],etc:[0,4,5,8,9,11,13,17,19,20,21,23,24,25],etf:[14,18],euler:[0,13],evalu:[2,5,21,26,28],evan:[0,13],evapor:[0,13],evaporate_escaped_orbiting_object:[0,13],even:[16,19,20],event:[0,11,12,13],everi:[0,4,9,13,14,24],everyth:[5,7,17,21],everytim:[9,24],evid:[0,13],evolut:[0,1,3,5,7,9,11,12,13,17,18,19,20,21,23,26],evolution_split:[0,13],evolution_splitting_maxdepth:[0,13],evolution_splitting_sn_eccentricity_threshold:[0,13],evolution_splitting_sn_n:[0,13],evolution_stop:14,evolution_typ:[7,12,14,18,20,21],evolutionari:[0,11,13,17],evolv:[0,3,5,7,13,15],evolve_popul:21,evolve_singl:[5,15,17],exact:[1,7],exactli:[0,13,19,20],exampl:[1,2,4,5,11,17,25,26],example_compact_object:21,example_dco:21,example_df:17,example_head:4,example_log:25,example_log_co:[1,15],example_logging_string_co:15,example_logging_string_post_m:15,example_massloss:[15,17],example_output:17,example_parse_output:4,example_pop:[17,21],example_pop_set:21,example_post_m:15,example_python_population_result:21,example_sn:15,exce:[0,7,13,18],except:[6,7,11,12,13,18,19,20,21,23],excit:14,execut:[0,5,7,13,21],exist:[0,5,6,12,13,21],exist_ok:[4,21],exit:[0,4,13],exit_after_dry_run:7,exp:[5,14,18,19,20,21],expand:[21,25],expect:[9,12,13,14,18,19,20,24],experiment:[0,4,13],explain:[3,4],explicitli:[0,1,13],explod:[0,11,13],explor:22,explos:[0,11,12,13],expoenti:[0,13],expon:[0,13],export_all_info:[5,21],express:[0,13],extend:[0,9,13,14,24],extens:[5,13],extern:[0,13],extra:[0,3,5,7,9,13,21,25],extra_text:6,extract:21,extrapol:[2,7],ey:5,f4e5925effeb42e69b5be956f400ae41:12,f:[0,2,11,13,17,21],fa:2,fabian:[0,13],fabian_imf_log:[0,13],fabian_imf_log_tim:[0,13],fabian_imf_log_timestep:[0,13],factor:[0,2,7,13,26],fade:[0,13],fail:[0,4,7,9,12,13,14,18,24],fail_sil:4,failed_count:[12,14,18,20,21],failed_prob:[12,14,18,20,21],failed_system:7,failed_system_log:7,failed_systems_error_cod:[12,14,18,20,21],failed_systems_threshold:7,failsaf:17,failur:[0,4,13],fallback:[0,13],fals:[0,4,5,7,11,12,13,14,18,20,21,22,23,26],fancy_parsing_funct:25,far:[0,11,12,13,19,20,22],farmer:0,fase:21,fast:[0,13],faster:[18,19,20,21],favorit:17,fe:[0,13],featur:[3,9,21],feed:7,ferguson:[0,13],fetch:17,few:[0,13,14],fewer:17,field:[0,13],fig:[0,2,13],figsiz:[12,14,18,19,20,22],figur:[7,12,14,18,19,20,22,23],file:[0,1,4,5,6,7,8,9,11,13,17,18,21,23,24,25],file_log:[0,13],filehandl:6,filenam:[0,1,4,5,7,11,13,17,21,25],filenotfounderror:[9,24],filepath:1,fill:[4,17],fill_data:2,filter:[0,4,13],filter_arg_dict:4,filter_valu:4,fin:[0,13],find:[4,5,7,11,14,21],finish:[4,12,14,18,20,21,23],finit:[12,14,18,19,20],first:[0,2,4,5,9,12,13,14,17,18,19,20,21,22,24,28],first_giant_branch:0,fishlock:[0,13],fit:[0,2,5,13,17,28],fix:[0,2,4,5,11,13,17,21,23],flag:[0,1,4,7],flash:[0,13],flat:[2,7],flatsect:[2,14,18,21],flaw:5,float_overflow_check:[0,13],flto:[9,24],focu:14,fold:2,follow:[0,2,4,7,9,13,15,23,24,26],font_scal:[12,14,18,19,20,22],forc:[0,11,13],force_circularization_on_rlof:[0,13],force_corotation_of_primary_and_orbit:[0,13],foreach_star:[12,18],form:[0,4,5,6,12,13,14,18,19,20,21],formal:[0,13],format:[0,2,4,5,11,13,14,15,17,18,19,20,21,22,26],format_numb:4,former:11,formula:[0,13],forward:[0,13],found:[2,9,11,12,14,18,20,21,24],four:[0,13],fourth:22,fpic:1,fraction:[0,2,7,13,18],framework:13,free:[12,14,18],free_persistent_data_memaddr_and_return_json_output:13,free_store_memaddr:13,frequenc:[0,13,22],friction:[0,13],fring:[0,13],from:[0,2,4,5,7,11,12,14,16,17,18,19,20,21,22,23,28],from_binary_c_config:1,from_dict:[14,18,19,20],fryer:[0,13],fsampl:26,ftz:[9,24],full:[3,4,7,15,22],full_path:4,further:[2,21],futur:22,fuv:[0,13],g:[0,1,2,4,5,7,9,11,12,13,14,15,17,18,19,20,21,24,26],ga:[0,13],gaia:[0,2,13],gaia_colour_transform_method:[0,13],gaia_conversion_ubvri_bivariate_jordi2010:[0,13],gaia_conversion_ubvri_riello2020:[0,13],gaia_conversion_ubvri_univariate_evans2018:[0,13],gaia_conversion_ubvri_univariate_jordi2010:[0,13],gaia_conversion_ugriz_bivariate_jordi2010:[0,13],gaia_conversion_ugriz_riello2020:[0,13],gaia_conversion_ugriz_univariate_evans2018:[0,13],gaia_conversion_ugriz_univariate_jordi2010:[0,13],gaia_l_binwidth:[0,13],gaia_teff_binwidth:[0,13],gain:7,galact:[0,13,26],gallino:[0,13],gamma:[0,13],gap:[0,13],garcia:[0,13],gauss:[0,13],gaussian:[2,26],gaussian_func:2,gaussian_normalizing_const:2,gaussian_zoom:26,gb:[0,13],gb_reimers_eta:[0,13],gb_wind_beasor_etal_2020:0,gb_wind_goldman_etal_2017:0,gb_wind_reim:0,gb_wind_schroeder_cuntz_2005:0,gbwind:[0,13],gbwindfac:[0,13],gcc:[1,9,24],gce:[0,13],gener:[0,1,2,4,5,6,7,11,12,13,14,15,17,18,20,21,23,26],generalis:2,geometr:[0,13],geq:12,gerosa:[0,13],get:[0,2,3,4,5,6,9,12,15,17,18,19,20,21,22,24,25,28],get_ansi_colour:4,get_arg_kei:4,get_default:[4,16],get_help:[4,16],get_help_al:[4,5,16],get_help_sup:[4,16],get_integration_constant_q:2,get_max_multipl:2,get_moe_di_stefano_dataset:4,get_siz:4,get_usernam:4,giant:[0,12,13,22],giant_branch:0,git:[0,4,18,19,20,21],git_branch:4,git_build:4,github:4,gitlab:9,give:[0,2,4,11,13,14,28],given:[0,1,2,4,5,7,13,18,19,20,25,26,28],global:[0,2,13,18,19,20,26],global_dict:2,gmax:2,gmin:2,gnu:13,go:[0,2,5,9,12,13,16,18,21,23,24],goe:[0,5,11,13,15,17,23],gogo:[0,13],goldman:[0,13],gonna:2,good:[0,7,13,17,18,19,20,21,28],got:[19,20],gov:[0,13],gravit:[0,12,13,14,21],gravitational_const:12,gravitational_radiation_bs:0,gravitational_radiation_bse_when_no_rlof:0,gravitational_radiation_landau_lifshitz:0,gravitational_radiation_landau_lifshitz_when_no_rlof:0,gravitational_radiation_model:[0,13],gravitational_radiation_modulator_:[0,13],gravitational_radiation_modulator_j:[0,13],gravitational_radiation_non:0,grb:[0,13],great:[0,13,19,20],greater:[0,13],grevess:[0,13],grid:[0,3,4,5,9,10,13,15,17,26],grid_class:[9,10],grid_cod:5,grid_ensemble_result:5,grid_opt:[5,12,14,17,18,19,20,21],grid_options_default:6,grid_options_defaults_dict:6,grid_options_descript:[6,12,21],grid_options_description_check:6,grid_options_help:6,grid_result:[7,12,14,18,19,20],grid_vari:[7,21],grid_variable_numb:[5,12,14,21],gridcod:7,gridcode_filenam:7,gridtyp:[5,12,14,21],group:[4,12,18,22],grvitation:11,gsl:[9,24],gsl_dir:[9,24],gt:[11,12,13,14,15,17,19,21,22],guess:[0,2,13],gyr:[11,12,14],gz:5,h5py:[9,24],h:[0,11,13,15],ha:[0,1,4,5,7,11,12,13,14,15,16,18,19,20,21],hachisu:[0,13],hachisu_disk_wind:[0,13],hachisu_ignore_qcrit:0,hachisu_qcrit:[0,13],hack:6,had:[5,12,14,18,19,20],half:[0,13],hall:[0,13],handi:[0,13],handl:[0,3,4,5,7,11,13,17,25,28],happen:[0,12,13,14],hardcod:[15,18,19,20,21],have:[0,2,3,4,5,6,7,9,11,12,13,14,15,17,18,19,20,21,23,24],haven:12,hbb:[0,13],hbbtfac:[0,13],hd:23,hdf5:4,hdf5file:4,he:[0,11,13],head:22,header:[1,4,12,14,15,17,18,19,20,21],headerlin:21,headlin:7,hegb:[0,11],hehg:0,height:[2,14,18,21],helium:[0,12,13],helium_flash_mass_loss:[0,13],helium_white_dwarf:0,help:[0,3,4,6,11,13,17,18,19,20,21],help_al:[0,13],hem:0,henc:[0,13,14,19,20,22],hendrik:[0,9,24],here:[1,4,5,7,12,13,15,17,18,19,20,22,23],hertzsprung:[0,3,9,13],hertzsprung_gap:0,hertzstrpung:[0,13],heuvel:[0,13],hewd:[0,13],hewd_hewd_ignition_mass:[0,13],hex:7,hg:[0,13],hi:2,high:[0,2,13,19,20],higher:[0,2,4,7,9,12,13,14,18,19,20,21,24],histogram:14,histori:2,hole:[0,12,13],home:13,homogen:[0,13],hood:17,hopefulli:[0,13],hot:[0,13],hour:4,how:[0,5,7,11,12,13,14,15,17,18,19,20,21],howev:[0,13,15,18,19,20,21],hoyl:[0,13],hpc:[5,8],hpc_function:[9,10],hr:23,hr_diagram:23,hrd:[0,12,13,14],hrdiag:[0,13],hrdiag_output:[0,13],html:[9,12,21,24],http:[0,1,2,4,12,13,21],human:4,hurlei:[0,13],hut:[0,13],hybrid:[0,13],hydro:[0,13],hydrogen:[0,12,13],i:[1,2,4,5,7,9,11,12,13,14,15,17,18,19,20,21,22,24],ia:[0,13,14],ib:[0,11,13],ibc:[0,13],id:[2,5,7],id_cor:15,idea:[21,23],idum:[0,13],ignit:[0,12,13],ignor:[0,5,7,13,15,17,21],ii:[0,13],iia:[0,13],iloc:17,imf:[0,2,13,19,20],imf_chabrier2003:2,imf_scalo1986:2,imf_scalo1998:2,imf_tinsley1980:2,immedi:[0,12,13],implement:[0,5,7,13],impli:[0,13],implic:[19,20],impos:[12,14,18,19,20,21],imposs:14,improv:[2,26],inclin:[0,13],inclination1:[0,13],inclination2:[0,13],inclination3:[0,13],inclination4:[0,13],inclini:[0,13],incliniation_quadrupl:[0,13],incliniation_tripl:[0,13],includ:[0,1,2,4,5,9,11,12,13,15,17,19,20,21,22,23,24],include_binary_c_default:[5,21],include_binary_c_help_al:[5,21],include_binary_c_version_info:[5,21],include_default:[5,21],include_popul:21,include_population_set:5,incom:[0,13],increas:[0,11,13,14,18,19,20],inde:[0,13,19,20],indent:[5,17],index:[0,2,9,13,16,17,22],indic:[0,2,13],individu:[3,9,18],individual_nova:[0,13],induc:[0,13],inertia:[0,13],info:[4,5,9,13,16,21,23,24],inform:[0,1,3,4,5,6,11,12,15,17,18,19,20,21,23],init:5,init_abund:[0,13],init_abund_dex:[0,13],init_abund_mult:[0,13],init_abunds_onli:[0,13],initi:[0,2,3,5,11,13,16,17],initial_abundance_hash:5,initial_abundance_mix:[0,13],initial_abunds_onli:[0,13],initial_mass:17,inner:[0,13,22],input:[1,2,4,5,7,9,13,16,17,23,28],insert:[5,21],insid:[0,13],inspect:[11,17,23],inspir:[1,23,28],instabl:[0,13],install_without_depend:[9,24],instanc:[17,18,19,20,21],instant:[0,13],instantli:[0,13],instead:[0,4,7,11,13,19,20],integ:[0,5,7,12,13,28],integr:[2,18,19,20,26],integrals_str:2,intens:[19,20],interact:[0,6,11,12,13,14,22],interfac:[4,9,13,22,24],interfer:[9,24],intermedi:14,intern:[0,7,13,16],internal_buff:[0,13],internal_buffering_off:0,internal_buffering_print:0,internal_buffering_stor:0,interpol:[2,5,26],interpolate_in_mass_izzard2012:2,interpolator_nam:2,intershel:[0,13],interstellar:[0,13],intger:[0,13],intro:[0,13],introduct:12,inv:11,invalid:18,invers:28,invert_xaxi:12,involv:[0,13],inward:[0,13],ipykernel_216542:22,ipykernel_518916:18,ipykernel_519112:19,ipynb:[18,19,20,21],is_capsul:4,isfil:21,isn:[4,19,20],isnt:21,isotop:[0,4,13,16],isotope_hash:5,isotope_list:5,item:[1,12,14,18,19,20],iter:4,its:[0,4,5,6,9,13,18,19,20,21,22,23,24,25,26],itself:[7,9,11,12,15,17,24],iwamoto:[0,13],izzard2012_period_distribut:2,izzard:[0,9,12,13,14,17,18,19,20,21,24],jager:[0,13],jaschek:2,jeff:[9,24],jej:11,jerki:12,jf:11,jia:[0,13],john:[0,13],join:[13,15,17,21],jorb_in:11,jorb_out:11,jordi:[0,13],json:[4,5,7,13,17,21],jtot_in:11,jupit:22,jupyt:[9,24],just:[0,2,4,5,7,9,12,13,14,21,24,28],k1:[11,17],k2:[11,17],k:[0,2,12,13,22],kap:[0,13],kappa:[0,13],kaps_rentrop:[0,13],karaka:[0,13],keep:[5,14,21],kei:[1,2,4,5,6,7,12,16,17,21,22,23],kelvin:[0,13],keplerian:[0,13],keyword:[19,23,25],kick:[0,7,11,13],kick_backward:0,kick_forward:0,kick_inward:0,kick_outward:0,kick_random:0,kick_straight_up:0,kick_velocity_custom:0,kick_velocity_fix:0,kick_velocity_maxwellian:0,kill:[1,15,21],kilonova:12,kim:[0,13],kind:[0,13],kippenhahn:[0,13],klencki:13,km:[0,13],know:[0,1,6,11,13,16,17,19,20],known:[0,2,5,12,13,17,18,19,20,21,25],kroupa2001:[2,5,21],kroupa:[2,19,20],krticka:[0,13],ktg93:2,kwarg:[5,23,25],l1:11,l2:[0,13],l:[0,12,13,18,19,20],l_:[18,19,20],label:12,lambda:[0,11,13,14],lambda_:14,lambda_c:[0,11,13,14],lambda_ce_dewi_tauri:[0,13],lambda_ce_klencki_2020:[0,13],lambda_ce_polytrop:[0,13],lambda_ce_wang_2016:[0,13],lambda_enthalpi:[0,13],lambda_ion:11,lambda_ionis:[0,13],lambda_min:[0,13],lambda_mult:[0,13],lambda_multipli:[0,13],lambda_v:2,lamer:[0,13],landau:[0,13],langer:[0,13],languag:12,larger:[0,12,13],last:[2,3,4,19,22],lastli:[13,17],later:[18,19,20],latest0:[12,14,18],latest1:[12,14,18],latest2:[12,21],latest3:12,latest4:12,latest5:12,latest:[7,9,24],latter:[0,13],law:[2,19,20],law_const:2,lbv:[0,13],ld_library_path:[9,24],ldist:[19,20],lead:[0,12,13,18,19,20,21,28],learn:15,least:[9,24],leav:[0,13],left:[0,13],legaci:[0,13],legacy_yield:[0,13],legend:22,len:[11,12,17,21],length:[4,11],lengthen:[0,13],leq:12,less:[0,1,2,3,11,13],let:[5,11,14,17,18,19,20,21,22],level:[1,4,5,12],li7:[0,13],li:[0,13],lib:[9,13,17,24],libbinary_c:7,libcustom_logging_0639ee205c7d4782b4a27378f5d890bd:17,libcustom_logging_dafa15d2b1e64e19972ac0e9eb5c9a55:17,libgsl:[9,24],libmemo:[9,24],librari:[0,1,5,7,12,13,15,25],library_path:[9,24],librinterpol:[9,24],life:14,lifetim:[0,13,14,18,19,20,21,26],lifshitz:[0,13],like:[0,1,4,5,7,9,12,13,14,18,19,20,21,23,24,26],limit:[0,12,13,14,18,19,20,21,23],line:[1,4,5,7,9,11,12,14,15,17,18,19,20,21,22,23,24,26],linear2:7,linear:[0,2,7,13,18,19,20,26],linear_extrapolation_q:2,linearli:[19,20,26],linedata:[12,14,18,19,20],lineplot:[12,14,18,19,20,22],linewidth:[12,14,18,19,20,22],linker:1,linspac:26,linux:13,list:[0,1,2,4,5,7,12,13,14,17,18,19,20,21,22,25,26],list_arg:[0,13],list_of_sub_kei:2,lit:[0,13],lithium:[0,13],lithium_gb_post_1dup:[0,13],lithium_gb_post_heflash:[0,13],lithium_hbb_multipli:[0,13],lithium_t:[0,13],littl:[11,12,14,18,22],littleton:[0,13],liu:[0,13],ll:[5,15,16,19,20,22],llnl:[0,13],ln:2,lnm1:[5,14,18,19,20,21],lnm_1:[19,20],load:[0,1,5,7,12,13,14,15,17,18,19,20,21,23],load_logfil:4,lobe:[0,11,13,14,28],loc:22,local:[2,13],locat:[0,2,7,9,13,24,26],lock:11,lodder:[0,13],log10:[0,2,12,13,14,18,19,20,21,26],log10m1:7,log10mass:26,log10p:2,log10per:[14,18,21],log10pmin:2,log:[0,1,2,3,4,5,7,9,11,13,17,22,23,24,25,26,28],log_:[12,14,18,19,20],log_arg:7,log_args_dir:7,log_arrow:[0,13],log_dt:[7,14],log_every_timestep:[15,17],log_fil:[7,11],log_filenam:[0,11,13,17,25],log_runtime_system:7,logarithm:[2,19,20,26],logensembletim:[0,13],logfil:[4,9,11,17,24],logg:[0,12,13],logger:21,logging_dict:1,logging_lin:15,loggrav:12,logic:[1,5,7,15],logl:12,logmass:[2,26],logp:2,logper:[2,14],logperiod:2,logperrang:[14,18],logspac:26,logteff:12,long_spectral_typ:2,longer:[0,12,13,14],longnam:[5,12,14,18,19,20,21],look:[1,9,12,14,18,19,20,21,24],lookback:[0,13],loon:[0,13],loop:[5,12,14,17,18,19,20,21],loos:23,lose:[0,13],loss:[0,11,13,17,18,22],lost:[0,13,14],lot:[4,7,12,18,19,20,21,22,25],lovegrov:0,low:[0,2,12,13,14,19,20],low_mass_m:0,low_mass_main_sequ:0,lower:[0,2,5,13,18,21,26],lsoda:[0,13],lsun:[0,13,23],lt:[12,13,14,17,19,21,22],lugaro:[0,13],luminos:[0,3,9,12,13,23],luminosity_1:23,luminosity_2:23,luminosu:12,lw:[0,13],lynnett:[0,13],m01:11,m0:2,m1:[0,2,5,11,13,14,15,17,18,19,20,21,28],m2:[2,5,11,14,15,17,18,21,28],m3:2,m4:2,m:[0,2,11,12,13,14,18,19,20,22,28],m_1:[0,5,11,12,13,14,15,16,17,18,19,20,21,22,25],m_2:[0,11,12,13,14,15,17,18,21],m_3:[0,13],m_4:[0,13],m_max:[2,5,21],m_min:[5,21],m_sun:12,maccretor:[0,11,13],machin:[7,9,14,24],macro:[0,4,13,16],madau:2,made:[9,12,24],maeder:[0,13],magellan:[0,13],magnet:[0,13],magnetic_braking_algorithm:[0,13],magnetic_braking_algorithm_andronov_2003:0,magnetic_braking_algorithm_barnes_2010:0,magnetic_braking_algorithm_hurley_2002:0,magnetic_braking_algorithm_rappaport_1983:0,magnetic_braking_factor:[0,13],magnetic_braking_gamma:[0,13],magnitud:4,mai:[0,13,14,18],main:[0,1,7,9,12,13,15,18,19,20,21,24],main_sequ:[0,13,18,19,20],mainli:8,mainprocess:[12,14,18],major:[0,13],make:[0,1,2,4,5,7,9,11,12,13,14,17,18,19,20,21,22,23,24,25],make_build_text:4,makedir:[4,21],manag:[4,9,24],mani:[0,5,7,12,13,14,16,18,19,20,21],manual:15,manufactur:[0,13],map:7,mar:22,maria:[0,13],mass:[0,1,2,3,4,5,7,11,12,13,14,16,17,18,21,22,23,25,26,28],mass_1:[21,23],mass_2:[21,23],mass_accretion_for_eld:[0,13],mass_accretor:28,mass_donor:28,mass_evolut:23,mass_for_hestar_ia_low:[0,13],mass_for_hestar_ia_upp:[0,13],mass_of_pmz:[0,13],mass_str:2,massiv:[0,2,11,12,13,14,18,22],massless:[0,13],massless_remn:0,massloss:0,massrang:[12,14,18,19,20],master:[7,23],match:[0,12,13,17,18,21,22,23],materi:[0,12,13],math:[5,12,14,18,19,20,21,22,26],mathrm:[12,14,18,19,20],matplotlib:[9,12,14,19,20,22,23,24],matter:[0,13],mattsson:[0,13],mattsson_mass_loss:[0,13],mattsson_orich_tpagbwind:[0,13],max:[0,2,13,14,15,18,19,20,21],max_bound:[2,26],max_column:[12,14,22],max_evolution_tim:[0,1,12,13,14,15,17,18,19,20,21,22,26],max_hewd_mass:[0,13],max_logp:2,max_model_numb:[0,13],max_multipl:2,max_neutron_star_mass:[0,13],max_queue_s:7,max_row:[12,14,22],max_stellar_angmom_chang:[0,13],max_stellar_type_1:[0,13],max_stellar_type_2:[0,13],max_stellar_type_3:[0,13],max_stellar_type_4:[0,13],max_tim:[11,17],max_val:2,maxcount:11,maxdm:26,maximum:[0,2,7,12,13,14,15,18,19,20,21,26,28],maximum_mass_ratio_for_instant_rlof:[0,13],maximum_mass_ratio_for_rlof:28,maximum_mcbagb_for_degenerate_carbon_ignit:[0,13],maximum_nuclear_burning_timestep:[0,13],maximum_timestep:[0,13],maximum_timestep_factor:[0,13],maxmimum:[0,13],maxwellian:[0,13],mayb:23,mayor:2,mb:[4,12,14,18,20,21],mc13_pocket_multipli:[0,13],mc1:11,mc:[0,5,11,13,21],mch:[0,13],mcmin:[0,13],mdonor:[0,11,13],mean:[0,2,4,5,7,9,11,13,24,26],meant:7,measur:4,medium:[0,13],mega:2,mem:[14,18],mem_us:4,memaddr:[13,15],memori:[1,4,5,7,12,13,14,15,18,20,21,28],menv:[0,11,13],mer:11,mercuri:22,merg:[0,2,7,11,12,13,14],merge_dict:16,merge_multipl:2,merger:[0,11,13],merger_angular_momentum_factor:[0,13],merger_mass_loss_fract:[0,13],mesa:[9,24],mesasdk_init:[9,24],mesasdk_root:[9,24],mess:22,messag:4,messi:12,mestel:[0,13],met:[5,21],metal:[0,2,11,12,13,14,15,17,18,19,20,21,22,28],method:[0,5,7,11,13,15,17,18,19,20,21],meynet:[0,13],mf1:11,mf2:11,might:[5,9,14,18,21,22,24],milki:[0,13],miller:[0,13],min:[2,14,15,18,19,20,21],min_bound:[2,26],min_logp:2,min_per:2,min_val:2,mindm:26,minimal_verbos:4,minimum:[0,2,4,7,13,26,28],minimum_co_core_mass_for_carbon_ignit:[0,13],minimum_co_core_mass_for_neon_ignit:[0,13],minimum_donor_menv_for_comenv:[0,13],minimum_envelope_mass_for_third_dredgeup:[0,13],minimum_helium_ignition_core_mass:[0,13],minimum_mcbagb_for_nondegenerate_carbon_ignit:[0,13],minimum_orbital_period_for_instant_rlof:[0,13],minimum_period_for_rlof:28,minimum_separation_for_instant_rlof:[0,13],minimum_separation_for_rlof:28,minimum_time_between_pn:[0,13],minimum_timestep:[0,13],mint:[0,13],mint_data_cleanup:[0,13],mint_dir:[0,13],mint_disable_grid_load_warn:[0,13],mint_fallback_to_test_data:[0,13],mint_hard_max_nshel:[0,13],mint_hard_min_nshel:[0,13],mint_kippenhahn:[0,13],mint_kippenhahn_companion_stellar_typ:[0,13],mint_kippenhahn_stellar_typ:[0,13],mint_maximum_nshel:[0,13],mint_maximum_shell_mass:[0,13],mint_metal:[0,13],mint_minimum_nshel:[0,13],mint_minimum_shell_mass:[0,13],mint_ms_rejuven:[0,13],mint_nshel:[0,13],mint_nuclear_burn:[0,13],mint_remesh:[0,13],mint_use_zams_profil:[0,13],minut:[4,14],mira:[0,13],misc:[9,13],miscellan:[4,16],miss:[0,4,6,13,18,19,20],mix:[0,7,13],mixtur:[0,13,18],mmax:[2,19,20,26],mmin:[2,7,19,20,26],mnra:28,model:[0,1,7,12,13,14,15,17,18,19,20,21,22],model_numb:[18,19,20],modif:3,modifi:[0,9,13,15,24],modul:[0,6,7,10,13,14,16,18,19,20,21,22],modulo:7,moe2017_opt:7,moe:[2,4,5,9,21],moe_di_stefano_2017:5,moe_di_stefano_2017_multiplicity_fract:2,moe_di_stefano_2017_pdf:2,moment:[0,12,13,15,21,26],momenta:[0,13,23],momentum:[0,13,22],monoton:[19,20],mont:[0,7,13],monte_carlo_kick:[0,13],more:[0,1,3,4,5,7,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,26],most:[4,12,13,14,19,20,22],mostli:[4,6,7,12,14,18,19,20,21,23,25],move:[0,12,13],ms:[0,11,13,15,18],msgpack:5,mstart:11,msun:[0,2,12,13,15,17,18,19,20,22,26],mu:[0,13],much:[0,4,12,13,14,18,21],multi:7,multipl:[0,2,7,12,13],multiplc:[0,13],multipli:[0,7,13,19,20,26],multiplicity_arrai:2,multiplicity_fraction_funct:7,multiplicity_model:7,multiplicity_modul:7,multiply_values_dict:16,multiprocess:7,must:[0,2,5,12,13,14,17,18,19,20,21,22,26],mw:[0,13],my:17,my_stellar_data:[1,15,21],myr:[0,12,13,14,17,18,19,20,22,26],n100:[0,13],n100_z0:[0,13],n100h:[0,13],n100l:[0,13],n10:[0,13],n150:[0,13],n1600:[0,13],n1600c:[0,13],n1:[0,13],n200:[0,13],n20:[0,13],n300c:[0,13],n3:[0,13],n40:[0,13],n5:[0,13],n:[0,1,2,4,11,12,13,14,15,17,18,19,20,21],n_logging_stat:7,naked_helium_star_giant_branch:0,naked_helium_star_hertzsprung_gap:0,naked_main_sequence_helium_star:0,name:[1,4,5,6,11,12,13,14,18,19,20,21,22,25,27],nameerror:22,narrow:[19,20],natur:[0,13,19,20],nauenberg:[0,13],nazehdin:0,nb:[0,13],nearer:[0,13],nearest:[14,18,19,20],nebula:[0,13],necessari:[4,5,14,21,22],need:[0,2,5,9,13,15,17,18,19,20,21,22,24],neg:[0,13,26],neither:[0,5,13],neleman:[0,13],nelemans_gamma:[0,13],nelemans_max_frac_j_chang:[0,13],nelemans_minq:[0,13],nelemans_n_comenv:[0,13],nelemans_recalc_eccentr:[0,13],nemp:[0,13],nemp_cfe_minimum:[0,13],nemp_nfe_minimum:[0,13],nenamg:[0,13],neon:[0,12,13],neptun:22,nest:[4,5,21],network:[0,13,16],neutrn:[0,13],neutron:[0,12,13,21],neutron_star:0,never:[0,12,13,19,20],newer:[0,2,13],newli:[0,13],newnam:5,newopt:2,newton:[0,13],next:[4,18,19,20,21],nice:[1,5,23],nieuwenhuijzen:[0,13],nieuwenhuijzen_windfac:[0,13],nine:12,nmax:2,no_thermohaline_mix:[0,13],noecho:[0,13],noechonow:[0,13],noel:[0,13],nolowq:7,nomin:[0,13],non:[0,7,13,19,20],nonconservative_angmom_gamma:[0,13],none:[0,1,2,4,5,6,7,11,12,13,14,18,20,21,22,26,28],nonzero:7,nor:[0,13],norm:7,normal:[0,13,26],normalis:[2,7],normalize_dict:2,normalize_multipl:7,notabl:21,note:[0,4,5,7,11,12,13,18,19,20,21,26],notebook:[9,11,12,13,14,15,16,17,18,19,20,21,22,24],notebook_api_funct:17,notebook_bhbh:11,notebook_comenv:14,notebook_custom_log:[11,17,18,19,20,21],notebook_hrd:12,notebook_individual_system:[15,17,18,19,20,21],notebook_luminos:[19,20],notebook_luminosity_funct:18,notebook_luminosity_function_binari:[19,20],notebook_popul:[17,21],notebook_solar_system:22,noteworthi:3,noth:[5,7],notic:[19,20],notifi:25,nov:0,nova:[0,12,13,14],nova_faml_multipli:[0,13],nova_irradiation_multipli:[0,13],nova_retention_algorithm_claeys2014:0,nova_retention_algorithm_const:0,nova_retention_algorithm_hillman2015:0,nova_retention_fract:[0,13],nova_retention_method:[0,13],nova_timestep_accelerator_index:[0,13],nova_timestep_accelerator_max:[0,13],nova_timestep_accelerator_num:[0,13],now:[0,2,4,5,11,12,13,14,15,17,18,19,20,21,22],np:[17,26],nre:[18,26],ns:[0,1,13,14,15,21],nsep:14,nsep_max:14,nsep_min:14,nstar:[12,18],nuclear:[0,13],nuclear_mass_hash:5,nuclear_mass_list:5,nucleosynthesi:[0,4,13],nucleosynthesis_sourc:[4,16],nucreacmult:[0,13],nucsyn:[9,13],nucsyn_angelou_lithium:[0,13],nucsyn_gce_outflow_check:[0,13],nucsyn_hbb:[0,13],nucsyn_metal:[0,13],nucsyn_network:[0,13],nucsyn_network_error:[0,13],nucsyn_s_process:[0,13],nucsyn_solv:[0,13],nucsyn_third_dredge_up:[0,13],nugi:[0,13],num_ansi_colour:[0,13],num_cor:[7,12,14,18,19,20,21],number:[0,2,4,5,6,7,9,11,12,13,14,18,19,20,21,22,24,26],numpi:[4,5,9,17,21,24,26],o:[2,4,9,13],obj:4,object:[0,3,4,5,7,8,13,22,23],object_parse_funct:17,observ:[18,19,20],obtain:[0,12,14,18,19,20],obvious:15,occur:[0,13,28],odot:[12,14],off:[0,11,13,21],off_m:[11,17],offset:[0,13],oh:11,ohio:[0,13],old:[5,7,19,20],old_solut:[9,24],oldnam:5,omega:[0,11,13],onc:[0,13,26],one:[0,5,7,13,16,19,20,21,22,23,26],onewd:0,onli:[0,4,5,7,12,13,15,18,19,20,21,22,26,28],onset:[0,13],onto:[0,2,13],oop:11,opac:[0,13],opacity_algorithm:[0,13],opacity_algorithm_ferguson_op:0,opacity_algorithm_paczynski:0,opacity_algorithm_star:0,opal:[0,13],open:[11,17,21],opm:2,opt:[2,11,13],option:[0,1,2,4,5,9,10,12,13,14,18,19,20,21,22,24,26,28],orb:[5,14,21],orbit:[0,2,11,13,14,18,22,23,28],orbit_evolut:23,orbital_eccentr:22,orbital_inclin:[0,13],orbital_inclinationi:[0,13],orbital_period:[0,11,13,14,15,17,18,21,28],orbital_period_quadrupl:[0,13],orbital_period_tripl:[0,13],orbital_phas:[0,13],orbital_phase_quadrupl:[0,13],orbital_phase_tripl:[0,13],orbital_separ:22,orbiting_object:[0,13,22],orbiting_objects_close_pc_threshold:[0,13],orbiting_objects_log:[0,13,22],orbiting_objects_tides_multipli:[0,13],orbiting_objects_wind_accretion_multipli:[0,13],order:[3,4,5,21],org:[0,2,13],orient:14,origin:[9,22,24],os:[4,11,12,14,17,18,19,20,21,22],other:[0,1,2,4,6,7,9,12,13,16,17,18,19,20,21,23,24],otherwis:[0,4,5,6,7,13],our:[12,14,18,19,20],out:[4,6,7,12,14,15,18,19,20,22],outcom:[0,13],outer:[0,12,13],outermost_core_mass:12,outfil:[5,21],outfile_nam:1,outfilenam:21,output:[1,3,4,5,7,9,11,13,15,16,17,22,23,24,25,28],output_dict:[12,14,17,18],output_dir:[5,17,21],output_fil:[4,5,6,17],output_filenam:[5,21],output_lin:4,outsid:[0,2,13],outward:[0,13],over:[4,5,12,14,16,17,18,19,20,21],overflow:[0,11,13,14],overrid:[2,5,26],overriden:21,overshoot:[0,13],overspin_algorithm:[0,13],overspin_bs:[0,13],overspin_massloss:[0,13],overview:13,own:[5,7,9,15,17,21,24],oxygen:[0,12,13],oxygen_neon_white_dwarf:0,p0:2,p1:2,p2:2,p3:2,p:[2,6,12,14,18,19,20,22],p_:14,p_in:11,p_out:11,packag:[4,9,13,21,24,26],paczynski:[0,13],pad:[14,18,19,20],pad_output_distribut:[4,12,14,18,19,20],page:[0,9,12,13,21,24],pair:[0,4,5,11],panda:[4,9,12,14,17,18,19,20,22,23,24],pane:23,panel:[0,13],paper:[0,13],param:[4,5],param_nam:4,paramet:[1,2,3,4,5,6,7,9,11,12,13,14,15,17,18,19,20,21,23,25,26,28],parameter_nam:[4,5,12,13,14,16,18,19,20,21],parameter_value_input_typ:[4,16],pars:[3,4,5,11,12,14,17,18,19,20,21,23,25],parse_binary_c_version_info:4,parse_cmdlin:5,parse_data:14,parse_funct:[5,7,11,12,14,17,18,19,20,21,25],parse_function_hr_diagram:23,parse_function_mass:23,parse_function_orbit:23,parsec:2,part:[2,5,12,13,17,18,19,20,21,28],partial:[0,13],particularli:[0,13],pasp:2,pass:[4,5,7,9,13,15,17,21,22,23,24,25,26],path:[4,7,9,11,17,21,24],patho:[9,24],pd:[12,14,17,18,19,20,22],pdf:[0,2,9,13,24],peak:[14,19,20,26],peak_normalized_gaussian_func:26,pend:[0,11,13],per:[0,4,5,7,11,13,14,17,18,21,28],percentag:[0,13],peret:[0,13],perfect:[19,20],perfectli:[18,19,20],perform:[0,13],perhap:[0,12,13,14],periastron:[0,13],pericent:28,period:[0,2,11,13,14,15,17,18,19,20,21,22,23,28],period_str:2,perl:[1,18,19,20,21],persist:13,persistent_data:13,pgo:[0,13],phase:[0,12,13,14,18,19,20],phasevol:[0,13,21],phdi:0,phi:11,photoevapor:[0,13],php:2,physic:[12,18,19,20,21],pick:23,piec:[5,21],pinnsonneault:[0,13],pisn:0,pkg:[9,24],pl:5,place:[0,4,13,18],placehold:23,plai:[0,13,19,20],plan:7,planet:22,planetari:[0,13],plaw2:7,pleas:[0,4,12,13,18,19,20,21],plot:[0,11,12,13,14,17,18,19,20,22,23],plot_data:[14,18,19,20],plot_funct:[9,10],plot_hr_diagram:23,plot_hr_diagram_singl:23,plot_mass:23,plot_orbit:23,plot_system:23,plot_typ:23,plt:[12,14,19,20,22],plu:[0,13],pluto:22,pm:23,pms_mass_1:23,pms_mass_2:23,pn:[0,13],pn_comenv_transition_tim:[0,13],pn_fast_wind:[0,13],pn_fast_wind_dm_agb:[0,13],pn_fast_wind_dm_gb:[0,13],pn_fast_wind_mdot_agb:[0,13],pn_fast_wind_mdot_gb:[0,13],pn_hall_fading_time_algorithm:[0,13],pn_hall_fading_time_algorithm_maximum:[0,13],pn_hall_fading_time_algorithm_minimum:[0,13],pn_resolv:[0,13],pn_resolve_maximum_envelope_mass:[0,13],pn_resolve_minimum_effective_temperatur:[0,13],pn_resolve_minimum_luminos:[0,13],pne:[0,13],pogg:[0,13],point:[0,2,4,5,9,12,13,24,26],poisson:[2,7],pol:[0,13],polytrop:[0,13],poor:[19,20],pop:[11,15,22],pop_macro:15,popul:[0,2,3,5,6,8,9,13,24,26],population_id:7,population_nam:[12,14,18,20,21],population_set:5,posit:[0,2,13,14],possibl:[0,1,2,4,6,9,12,13,17,22,24],post:[0,11,12,13,14,15],post_ce_adaptive_menv:[0,13],post_ce_envelope_dm_eagb:[0,13],post_ce_envelope_dm_gb:[0,13],post_ce_envelope_dm_tpagb:[0,13],post_ce_objects_have_envelop:[0,13],post_comenv_period:14,post_sn_orbit_bs:0,post_sn_orbit_method:[0,13],post_sn_orbit_tt98:0,postagb_legacy_log:[0,13],postagb_wind_gi:0,postagb_wind_krticka2020:[0,13],postagb_wind_non:[0,13],postagb_wind_use_gi:[0,13],postagbwind:[0,13],postcod:[5,12,14,21],potenti:[0,13],pow2:12,power:[0,2,13,14,19,20],powerlaw:2,powerlaw_const:2,powerlaw_extrapolation_q:2,ppisn:0,ppisn_additional_massloss:0,ppisn_farmer19:0,ppisn_new_fit_21:0,ppisn_non:0,ppisn_prescript:0,ppn_envelope_mass:[0,13],pragma:15,pre:[0,11,13,14,23],pre_comenv_period:14,pre_events_stardata:[0,13],pre_main_sequ:[0,13],pre_main_sequence_fit_lob:[0,13],precod:[5,12,14,18,19,20,21],predefin:[2,18,19,20,21],predict:7,predictor:[0,13],prefer:[0,5,13],prefix:[0,13],prep:0,prepar:2,prepare_dict:2,presc:11,prescrib:[0,13],prescript:[0,11,13,21],prescrit:[0,13],present:[2,5,12,18,19,20,21],preserv:[0,13],preset:23,pressur:[0,13],prev_stellar_type_1:21,prev_stellar_type_2:21,prevent:[0,7,11,12,13],previou:[4,14,19,20],previous:[17,21],previous_stardata:[1,14,15,17,21],primari:[1,2,5,12,14,18,19,20,21,28],prime:14,pringl:[0,13],print:[4,5,6,7,11,12,13,14,15,16,17,18,19,20,21,22],print_help:[4,16],print_info:6,print_option_descript:6,printf:[1,11,12,14,15,17,18,19,20,21],prior:[0,12,13],privat:[5,6,9],prob_dict:2,probability_weighted_mass:7,probabl:[0,1,2,5,6,7,12,13,14,15,18,19,20,21,23],probdist:[5,12,14,18,19,20,21],problem:[0,13,18],probtot:[19,20],process:[0,4,5,7,12,13,14,18,19,20,21],processor:[12,14,18],produc:12,profil:[0,13],progenitor:[0,13,21],program:[9,12,24],progress:4,project:[0,13],proper:[6,12,15],properli:[0,5,13],properti:[0,4,5,7,23],proport:14,prot1:[0,13],prot2:[0,13],prot3:[0,13],prot4:[0,13],provid:[0,2,5,7,13,21,25],pseudorandom:[0,13],psutil:7,publicli:15,puls:[0,12,13,28],pulsat:0,pump:[0,13],purpos:[7,18,19,20,21,23],push:22,push_macro:15,put:[1,4,5,7,12,14,18,19,20,21,23],py:[9,12,14,18,19,20,21,22,24],py_rinterpol:[9,24],pyenv:[9,24],pyplot:[12,14,19,20,22],pysiz:4,pytest:[9,24],python3:[9,13,24],python:[3,4,5,12,14,18,19,20],q:[0,2,7,11,13,14,18,21,28],q_high_extrapolation_method:7,q_interpol:2,q_low_extrapolation_method:7,qc:11,qcrit_bh:[0,13],qcrit_bs:0,qcrit_cheb:[0,13],qcrit_chen_han_formula:0,qcrit_chen_han_t:0,qcrit_cowd:[0,13],qcrit_degenerate_bh:[0,13],qcrit_degenerate_cheb:[0,13],qcrit_degenerate_cowd:[0,13],qcrit_degenerate_eagb:[0,13],qcrit_degenerate_gb:[0,13],qcrit_degenerate_hegb:[0,13],qcrit_degenerate_hehg:[0,13],qcrit_degenerate_hem:[0,13],qcrit_degenerate_hewd:[0,13],qcrit_degenerate_hg:[0,13],qcrit_degenerate_lmm:[0,13],qcrit_degenerate_m:[0,13],qcrit_degenerate_n:[0,13],qcrit_degenerate_onewd:[0,13],qcrit_degenerate_tpagb:[0,13],qcrit_eagb:[0,13],qcrit_gb:[0,13],qcrit_gb_bs:0,qcrit_gb_chen_han_formula:0,qcrit_gb_chen_han_t:0,qcrit_gb_ge2015:0,qcrit_gb_hjellming_webbink:0,qcrit_gb_q_no_comenv:0,qcrit_gb_temmink2021:0,qcrit_gb_vos2018:0,qcrit_ge2015:0,qcrit_hegb:[0,13],qcrit_hehg:[0,13],qcrit_hem:[0,13],qcrit_hewd:[0,13],qcrit_hg:[0,13],qcrit_hjellming_webbink:0,qcrit_lmm:[0,13],qcrit_m:[0,13],qcrit_n:[0,13],qcrit_onewd:[0,13],qcrit_q_no_comenv:0,qcrit_temmink2021:0,qcrit_tpagb:[0,13],qcrit_vos2018:0,qcrits_:[0,13],qcrits_degenerate_:[0,13],qdata:2,qlimit:2,qs:2,quad:7,quadrat:[0,13],quadrulpl:[0,13],quadrupl:[0,2,7,13],quantiti:23,queri:17,queue:[7,12,14,18],quickli:[11,17],quit:[0,4,12,13],r1:[11,17],r2:[11,17],r:[0,1,9,11,12,13,17,21,24],r_l:28,r_sun:12,radau:[0,13],radi:[0,13],radiat:[0,13],radii:[0,13,28],radiu:[0,1,12,13,15,21,23,28],radius_1:23,radius_2:23,ragb:28,raghavan2010_binary_fract:2,raghavan:2,rai:[0,13],railton:[0,13],rais:[0,4,7,13,21],ram:[0,13],ran:[7,12,14,18],randbuf:11,random:[0,7,11,13],random_count:[11,17],random_se:[0,11,13,17],random_skip:[0,13],random_system:[0,13],random_systems_se:[0,13],rang:[0,2,5,7,12,13,14,17,18,19,20,21,26],rapid:[0,13],rapidli:[0,13],rappaport:[0,13],rate:[0,2,13,19,20],rather:[0,5,7,9,13,15,17,21,24],ratio:[0,2,12,13,14,18,19,20,21,28],raw:[4,5,7,13,23,25],rc:[11,12,14,18,19,20,22,23],re:[0,1,6,12,13,14,18,19,20,22],reach:[0,11,12,13,14],reaction:[0,13],read:[3,4,11,17,21],readabl:4,readlin:11,real:[5,12,18,21],realist:[19,20],realiti:[19,20],realli:[0,5,6,7,12,13,21],reason:[0,13,19,20],rebuild:[0,9,13,24],rebuilt:[9,24],recalcul:[0,13],receiv:4,recent:[19,22],recogn:21,recognis:5,recombin:[0,13],recommend:[1,3,9,24],recompil:[9,18,19,20,21,24],recurs:[4,5],red:[0,12,13,19,20,22],redhat:1,redshift:2,reduc:[0,11,13],reduct:7,regardless:23,region:[0,13,26],regist:21,reignit:[0,13],reimer:[0,13],reinstal:[9,24],reject:[0,13],rejects_in_log:[0,13],rejuven:[0,13,18],rel:[0,13],relat:[0,13],releas:[4,9,24],reliabl:13,remain:[0,4,13],rememb:[11,12,19,20],remesh:[0,13],remnant:[0,12,13],remov:[0,4,5,13,14,17,21,22],remove_fil:4,renam:[5,19,20],rename_grid_vari:[5,19,20],renormalis:2,rentrop:[0,13],repeat:[0,7,13],repo:9,report:[0,12,13,14,18,19,20,21],repositori:3,repres:7,represent:[5,21],reproduc:[0,13],requir:[0,2,4,11,13,14,17,18,19,20,21,22,23,25],rerun:12,reset:[0,13],reset_pref:[0,13],reset_star:[0,13],reset_stars_default:[0,13],resolut:[0,5,7,12,13,14,18,19,20,21,26],resolv:[0,13,18],reson:[0,13],resourc:[19,20],respect:[0,2,13],rest:[2,5,21],restructuredtext:4,result:[0,1,2,4,5,7,9,11,12,13,14,17,18,19,20,21,24],result_arrai:2,result_dict:2,results_dictionari:[12,14,18,19,20],retain:[0,13],rethink:4,return_all_info:5,return_arglin:13,return_binary_c_default:5,return_binary_c_version_info:[4,5,16],return_compilation_dict:1,return_help:13,return_help_al:[4,13],return_maximum_mass_ratio_for_rlof:[13,28],return_minimum_orbit_for_rlof:[13,28],return_persistent_data_memaddr:13,return_population_set:5,return_store_memaddr:13,return_version_info:[4,13],reus:5,revap_in:[0,13],revap_out:[0,13],revers:[0,13,23],reverse_tim:[0,13],revis:[0,4],rewrit:5,rgb:12,rhagavan:7,ri0005:[12,21],rich:[0,13],riello:[0,13],rin:[0,13],ring:[0,13],risk:[5,21],ritter:[0,13],rk2:[0,13],rk4:[0,13],rl1:11,rl2:11,rl:[0,11,13],rlof:[0,11,13,28],rlof_angular_momentum_transfer_model:[0,13],rlof_angular_momentum_transfer_model_bs:0,rlof_angular_momentum_transfer_model_conserv:0,rlof_eccentric_as_circular:[0,13],rlof_entry_threshold:[0,13],rlof_f:[0,13],rlof_interpolation_binary_c:0,rlof_interpolation_bs:0,rlof_interpolation_method:[0,13],rlof_mdot_factor:[0,13],rlof_mdot_modul:[0,13],rlof_method:[0,13],rlof_method_adapt:0,rlof_method_adaptive2:0,rlof_method_bs:0,rlof_method_claei:0,rlof_method_ritt:0,rlof_nonconservative_gamma_donor:0,rlof_nonconservative_gamma_isotrop:0,rlof_radiation_correct:[0,13],rlof_transition_objects_escap:[0,13],rob:[0,2,13,28],robert:[9,24],roch:[0,11,13,14,28],roche_lob:28,rochelob:28,rol1:[11,17],rol2:[11,17],room:[5,21],root:[9,24],rotat:[0,2,13],rotation:[0,13],rotationally_enhanced_expon:[0,13],rotationally_enhanced_mass_loss:[0,13],rotationally_enhanced_massloss:[0,13],rotationally_enhanced_massloss_angmom:0,rotationally_enhanced_massloss_langer_formula:[0,13],rotationally_enhanced_massloss_langer_formula_and_angmom:0,rotationally_enhanced_massloss_non:0,rough:12,rout:[0,13],routin:[0,3,5,9,13,23],row:[17,23],rring:[0,13],rssd:2,rst:[4,6],rsun:[12,23],rubric:5,run:[0,1,3,4,5,7,9,12,13,14,18,19,20,24,25],run_popul:13,run_system:[11,13,15,16,17,22,23,25],run_system_wrapp:[3,9,10,15],run_zero_probability_system:7,runawai:11,runtim:[1,7],russel:[0,3,9,13],rzam:[11,28],s:[0,2,4,5,7,11,12,13,14,17,19,20,21,22,28],safe:21,sai:[0,12,13],said:[0,13],same:[0,5,7,9,13,17,21,24],sampl:[0,2,3,5,13,18,21,26],sample_valu:2,sampler:9,samplerfunc:[5,7,12,14,18,19,20,21,26],sana12:[2,14,18,21],sana:2,saturn:22,save:[0,1,2,12,13,14,15,18,19,20,21],save_ensemble_chunk:7,save_pre_events_stardata:[0,13],scalar:4,scalo:2,scanf:0,scheme:[0,13],schneider:[0,13],schroeder:[0,13],script:[3,4,9,15,24],sdb:[0,13],sdo:[0,13],seaborn:[12,14,18,19,20,22],search:[9,12,18,22],search_for_bhbh:11,second:[0,2,4,5,13,14,22,23],secondari:[2,11,12,18,28],section:[2,4,8,9,13,21,24],see:[0,5,9,11,12,13,14,15,16,17,18,19,20,21,23,24],seed:[0,13],seem:[9,23,24],seen:4,segment:26,seitenzahl2013_model:[0,13],seitenzahl:[0,13],select:[0,4,13,17,18,22],selected_head:4,selector:[0,13],self:[5,7,12,14,17,18,19,20,21,26],semi:[0,13],sent:[0,13],sentenc:1,sep:[2,5,11,14,17,18,21,28],sep_max:[14,18,21],sep_min:[14,18,21],separ:[0,2,5,6,11,12,13,15,17,21,22,23,28],separation_quadrupl:[0,13],separation_tripl:[0,13],separta:[0,13],seper:21,sepf:11,sequenc:[0,12,13,15,18,19,20],sequnec:[18,19,20],seri:[0,13,26],serialis:5,serv:4,server:5,set:[0,1,2,3,4,5,6,7,9,11,15,16,17,22,23,24,26],set_context:[12,14,18,19,20,22],set_moe_di_stefano_set:5,set_opt:[2,12,14,22],set_xlabel:[12,14,18,19,20,22],set_ylabel:[12,14,18,19,20,22],setup:[12,21,25],sever:[6,7,16,21,23,25],sfh:2,sh:[9,24],shannon:26,shara:[0,13],share:[1,7,17,25],shared_lib_filenam:15,shell:[0,4,13],shellular:[0,13],shorten:[0,11,13],shorter:11,shortli:12,should:[0,1,2,4,5,6,7,9,11,12,13,14,17,18,19,20,21,23,24,25,26],shouldn:[0,4,13],show:[0,3,5,7,11,12,13,14,17,18,19,20,21,23,26],show_plot:23,show_stellar_typ:23,showlist:26,shown:[0,13,23,26],showtabl:26,shrink:[11,14],shrinkagb:17,side:[18,19,20,21],siess:[0,13],sigma:[2,26],signal:[12,14,18],silent:4,sill:[0,13],sim10:14,sim:12,similar:26,simpl:[12,14,18,22],simplest:[11,17],simpli:[0,13,19,20],simul:[0,1,12,13,14,15,18,19,20,21],simulation_:5,sinc:[4,23],singl:[0,2,3,5,7,12,13,18,19,20,21,23],single_star_lifetim:[13,15,17],sit:[0,13],site:13,situat:13,size:[4,7],skip:[0,7,12,13,14,18],slightli:13,slope:2,slow:[0,12,13,14,18,19,20],slower:[0,13],slurm:[5,7,8],slurm_grid:5,small:[0,11,13,19,20],small_envelope_method:[0,13],small_envelope_method_bs:0,small_envelope_method_miller_bertolami:0,smaller:[0,13,26],smarter:[19,20],smooth:[12,19,20],smoother:[14,19,20],sn:[0,11,12,13,14,18,19,20,22],sn_impulse_liu2015:0,sn_impulse_non:0,sn_impulse_wheeler1975:0,sn_kick_companion_a:[0,13],sn_kick_companion_aic_bh:[0,13],sn_kick_companion_bh_bh:[0,13],sn_kick_companion_bh_n:[0,13],sn_kick_companion_ecap:[0,13],sn_kick_companion_grb_collapsar:[0,13],sn_kick_companion_hestaria:[0,13],sn_kick_companion_ia_chand:[0,13],sn_kick_companion_ia_chand_co:[0,13],sn_kick_companion_ia_eld:[0,13],sn_kick_companion_ia_h:[0,13],sn_kick_companion_ia_he_co:[0,13],sn_kick_companion_ia_hybrid_hecowd:[0,13],sn_kick_companion_ia_hybrid_hecowd_sublumin:[0,13],sn_kick_companion_ibc:[0,13],sn_kick_companion_ii:[0,13],sn_kick_companion_iia:[0,13],sn_kick_companion_ns_n:[0,13],sn_kick_companion_phdi:0,sn_kick_companion_pisn:0,sn_kick_companion_ppisn:0,sn_kick_companion_tz:[0,13],sn_kick_companion_wdkick:[0,13],sn_kick_dispersion_aic_bh:[0,13],sn_kick_dispersion_bh_bh:[0,13],sn_kick_dispersion_bh_n:[0,13],sn_kick_dispersion_ecap:[0,13],sn_kick_dispersion_grb_collapsar:[0,11,13],sn_kick_dispersion_ia_hybrid_hecowd:[0,13],sn_kick_dispersion_ia_hybrid_hecowd_sublumin:[0,13],sn_kick_dispersion_ibc:[0,11,13],sn_kick_dispersion_ii:[0,11,13],sn_kick_dispersion_ns_n:[0,13],sn_kick_dispersion_phdi:0,sn_kick_dispersion_pisn:0,sn_kick_dispersion_ppisn:0,sn_kick_dispersion_tz:[0,13],sn_kick_distribution_aic_bh:[0,13],sn_kick_distribution_bh_bh:[0,13],sn_kick_distribution_bh_n:[0,13],sn_kick_distribution_ecap:[0,13],sn_kick_distribution_grb_collapsar:[0,13],sn_kick_distribution_ia_hybrid_hecowd:[0,13],sn_kick_distribution_ia_hybrid_hecowd_sublumin:[0,13],sn_kick_distribution_ibc:[0,13],sn_kick_distribution_ii:[0,13],sn_kick_distribution_ns_n:[0,13],sn_kick_distribution_phdi:0,sn_kick_distribution_pisn:0,sn_kick_distribution_ppisn:0,sn_kick_distribution_tz:[0,13],sn_none:15,sn_type:15,sneia:[0,13],snia:[0,13],snippet:[13,17],so:[0,2,5,7,11,12,13,14,15,17,18,19,20,21,23],solar:[0,2,3,9,12,13,14,16,28],solver:[0,13],solver_forward_eul:0,solver_predictor_corrector:0,solver_rk2:0,solver_rk4:0,some:[0,1,2,5,7,9,11,12,13,14,15,16,17,18,19,20,21,23,24],someth:[0,5,12,13,14,17,18,19,20],sometim:16,somewhat:[18,19,20,21,22],soon:26,sort:[4,5,12,18,19,20,22],sort_kei:5,sourc:[1,2,4,5,6,7,10,14,23,25,26,28],source_file_filenam:7,source_list:5,sourcecod:[9,13,15,24],sourcefile_nam:1,sp:2,space:[0,5,12,13,18,19,20,21,26],spacing_funct:[9,10],special:[0,13,21],specif:[0,4,11,13,16,17,23],specifi:[0,7,13,26],spectral:2,speed:[0,7,13],speedtest:[0,13],spent:4,spera:[0,13],spheric:[0,13],spiki:[19,20],spin:[0,13,22],spinrat:[0,13],split:[0,7,11,13,17,21,22],split_lin:17,splitlin:[12,13,14,15,17,18,19,20,21,22],splitpoint:[0,13],spread:5,sqrt:[0,13],src:[0,9,13,15,24],st:11,stabil:[0,13],stabl:[0,9,13,24],stancliff:[0,13],standard:[0,2,13,18,19,20,26],star1:22,star:[1,2,3,7,9,11,13,14,15,16,17,18,19,20,21,22,23,26,28],star_with_no_mass:0,starcount:[12,14,18,20,21],stardata:[0,1,12,13,14,15,17,18,19,20,21],stardata_dump_filenam:[0,13],stardata_load_filenam:[0,13],stardata_t:15,starnum:[12,18],start:[0,1,4,5,6,7,11,12,13,14,17,18,19,20,21],start_at:7,start_tim:[0,13],start_timestamp:[12,14,18,20,21],startrack:[0,13],startswith:17,state:[0,13],statement:[1,11,15,17,18,19,20,21,22],statist:[0,13],statu:[0,1,12,13,14,18,19,20,21],stderr:[0,13],stdout:[4,26],steadi:[0,13],stefan:23,stefano:[4,5,9,21],stellar:[0,2,3,7,9,11,13,23,26,27],stellar_structure_algorithm:[0,13],stellar_structure_algorithm_external_funct:0,stellar_structure_algorithm_mint:0,stellar_structure_algorithm_modified_bs:0,stellar_structure_algorithm_non:0,stellar_typ:[1,9,10,12,15,17,18,19,20,21,23],stellar_type1:11,stellar_type2:11,stellar_type_1:[0,13,21,23],stellar_type_2:[0,13,21,23],stellar_type_3:[0,13],stellar_type_4:[0,13],stellar_type_dict:27,stellar_type_dict_short:27,step:[5,11,12,14,15,17,18,19,20,21,23,26],stepsiz:[5,21],stick:7,stiff:[0,13],still:[1,7,15,22],stop:[0,4,12,13,14,18],stopfil:[0,13],storag:[0,13],store:[0,2,3,4,5,7,9,12,14,17,18,19,20,21,24,28],store_capsul:13,store_memaddr:[13,28],str:[1,4,5,6,11,12,21,23],straight:5,straightforward:[12,18,19,20,21],straniero:[0,13],strength:[0,13],strictli:[18,19,20],string:[0,1,3,4,5,6,7,11,13,17,18,19,20,21,22,23,25],strip:[0,13,17,22],strong:12,stronger:[0,12,13],struct:[0,13,15],structur:[0,4,7,13,14,23],studi:12,stuff:[4,7,17,21,23],style:[0,5,13],sub:[0,4,13],subject:[0,13],sublumin:[0,13],submit:9,subroutin:8,subsequ:[0,13],succe:[0,13],suddenli:12,suffer:12,suffici:12,suggest:[0,9,13,24],suit:[9,24],suitabl:26,sum:[0,13],sun:22,sundial:[0,13],supercrit:[0,13],superflu:22,supernova:[0,7,11,13,14],superwind:[0,13],superwind_mira_switchon:[0,13],support:5,sure:[2,5,7,9,11,17,18,19,20,21,23,24,25],surfac:[0,13],surrei:[12,21],surviv:[0,13,22],survivor:[0,13],swallow:22,switcher:[0,13],symlink:[7,12,14,18,21],symmetr:[0,13],synchron:[0,13],synonym:[0,13],syntax:18,syntaxerror:18,synthesi:[7,9,18,19,20,21,24],system:[0,3,4,5,7,9,12,13,14,15,18,19,20,21,23,24,25],system_dict:5,system_gener:[5,21],system_numb:5,system_queue_fil:[12,14,18],t:[0,1,2,4,5,7,11,12,13,17,19,20,21,26],t_:12,tabl:[0,2,13,26],take:[0,2,4,5,7,13,14,18,21,25],taken:[0,13,15],talk:12,target:[1,6],task:[0,2,4,5,6,8,13,21,23,25,26,28],tauri:[0,13],tbse:[0,13],technic:[12,14,15,18,19,20,21],teff:[0,2,11,13],teff_1:23,teff_2:23,teff_from_star_struct:12,teff_postagb_max:[0,13],teff_postagb_min:[0,13],tell:4,temp_dir:[4,11,12,14,17,19,20,21,22],temperatur:[0,2,13,22,23],termin:[1,9,12,15,21,24],test:[0,4,5,7,9,13,17,21,24,28],test_data:[0,13],test_func:13,test_logfil:17,test_pop:21,text:[4,6,12,14,22],than:[0,2,4,7,9,12,13,14,18,19,20,21,24],thats:21,thei:[0,2,5,7,11,12,13,14,18,21,22,23],thelog:[0,13],them:[2,4,5,12,13,14,21],themselv:2,theoret:[18,19,20],thermal:[0,2,12,13,28],thermally_pulsing_asymptotic_giant_branch:0,thermohalin:[0,13],thermonuclear:12,thesi:[0,13],thi:[0,1,2,4,5,6,7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28],thick:[0,13],thick_disc_end_ag:[0,13],thick_disc_logg_max:[0,13],thick_disc_logg_min:[0,13],thick_disc_start_ag:[0,13],thin:[0,13],thing:[0,2,4,5,6,12,13,14,18,19,20,21,25],think:[0,4,5,13],third:[0,2,13,22,26],third_dup:[0,13],third_dup_multipli:[0,13],thorn:[0,13],those:[4,5,9,12,14,18,19,20,21,24],thread:[4,5,7,12,14,18,19,20],thread_id:7,three:[0,2,13,19,20,21],three_part_powerlaw:[2,14,18,19,20,21],threshold:[0,4,7,13],through:[5,11,12,13,17,18,19,20,21,23,25],throughout:[5,18,19,20,21],thu:26,tidal:[0,11,13],tidal_strength_factor:[0,13],tide:[0,13,22],tides_convective_damp:[0,13],tides_diagnosis_log:13,tides_hurley2002:[0,13],tides_zahn1989:[0,13],time:[0,1,2,4,5,7,9,11,12,13,14,15,17,18,19,20,21,22,23,24,26],timedelta:4,timescal:[0,13],timestamp:7,timestep:[0,13,14,15,17,18,19,20],timestep_limit:[0,13],timestep_log:[0,13],timestep_modul:[0,13],timestep_multipli:[0,13],timestep_solver_factor:[0,13],tini:12,tinslei:2,tip:12,titl:[6,18],tmax:26,tmin:26,tmp:[0,4,9,12,13,14,17,18,19,20,21,22,24],tmp_dir:[5,7,11,12,14,17,19,20,21,22],tmp_tabl:2,toasti:22,todo:[0,1,2,4,5,6,7,13,16,21,23,25,26,28],toler:[0,13],too:[0,5,7,9,12,13,19,20,22,24,25],took:[12,14,18,20,21],top:[0,5,21],topcod:[5,12,14,21],topic:[0,13],torqu:[0,13],total:[0,2,4,5,7,12,13,14,18,19,20,21,23],total_count:[12,14,18,20,21],total_mass_run:[12,14,18,20,21],total_prob:[12,14,18,19,20,21],total_probability_weighted_mass_run:[12,14,18,20,21],tout:[0,13,28],tout_pringle_1992_multipli:[0,13],tp:[0,13],tpagb:[0,12,13],tpagb_reimers_eta:[0,13],tpagb_wind_beasor_etal_2020:0,tpagb_wind_bloeck:0,tpagb_wind_goldman_etal_2017:0,tpagb_wind_mattsson:0,tpagb_wind_reim:0,tpagb_wind_rob_cwind:0,tpagb_wind_van_loon:0,tpagb_wind_vw93_karaka:0,tpagb_wind_vw93_karakas_carbon_star:0,tpagb_wind_vw93_orig:0,tpagb_wind_vw93_orig_carbon_star:0,tpagbwind:[0,13],tpagbwindfac:[0,13],tpr:[5,14,18],traceback:[4,19,22],track:[7,12,23],trade:[0,13],trail:26,transfer:[0,12,13],transform:[0,13],transit:[0,13],treat:[0,13,26],trem:4,trigger:[0,13],trio:[18,19,20,21],tripl:[0,2,7,13],truli:[0,13],tupl:[1,4,12,26],turn:[0,11,13,17,21],tutori:[3,9],two:[0,4,5,12,13,15,27,28],txt:[5,9,17,21,24,25],type:[0,1,2,4,5,6,7,11,13,14,17,18,19,20,21,23,26,27,28],type_chng:[11,17],type_ia_mch_supernova_algorithm:[0,13],type_ia_sub_mch_supernova_algorithm:[0,13],typeerror:19,typic:[0,13],ubvri:[0,13],ugriv:[0,13],uk:[12,21],unavail:[0,13],unbound:11,uncom:[5,17,18,19,20,21,22],unction:13,undef:15,under:[17,26],undergo:[0,14],undescrib:6,unexpect:19,uniform:2,union:[2,4,5,21,26,28],uniqu:[5,7,21],unit:[0,4,12,13,16,28],univari:[0,13],univers:[12,14],unix:5,unknown:25,unless:[1,5,7],unlik:[19,20],unload:5,unmerg:14,unpars:13,unphys:[11,14,18],unrecogn:[9,24],unresolv:18,unsign:0,unstabl:[0,11,13],until:[0,2,12,13],unus:[0,7,13],unweight:21,up:[0,1,2,3,4,5,11,15,17,22],updat:[2,5,9,19,20,21,24],update_dict:16,update_grid_vari:[5,19,20],upper:[0,2,13,26],uranu:22,us:[0,1,2,3,4,5,6,7,8,9,11,16,17,21,23,24,25,26,28],usag:[0,3],use_astropy_valu:23,use_datadir:[5,21],use_fixed_timestep_:[0,13],use_lwn_fallback:0,use_periastron_roche_radiu:[0,13],use_tabular_intershell_abundances_karakas_2012:[0,13],usecas:3,useful_func:[9,10],user:[1,2,4,5,6,7,15,25],usual:[0,2,4,5,7,11,12,13,18,19,20,21],util:[1,2,4,5,6,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,28],v:[9,11,24],val:2,valid:[0,2,4,13,15],valu:[0,1,2,4,5,6,7,12,13,16,17,18,19,20,21,23,26],value_lin:17,valueerror:21,valuerang:[5,12,14,18,19,20,21],values_arrai:17,van:[0,13],vandenheuvel_log:[0,13],vari:[0,12,13,14,21],variabl:[0,3,4,5,7,12,13,14],variant:[0,13],variou:[0,13],vassiliadi:[0,13],vb1print:5,vb2print:5,vb:11,veloc:[0,2,13],venu:22,verbos:[1,2,4,5,7,9,12,14,17,18,19,20,21,24],verbose_print:4,veri:[0,5,11,12,13,14,15,17,19,20,21,26],versa:28,version:[0,4,5,9,13,16,21,24],version_info:4,version_info_dict:16,version_info_str:4,version_onli:[0,13],via:[3,5,7,12,13,15,18,19,20,21,23],vice:28,vink:[0,13],virtual:[9,24],virtualenviron:[9,24],viscos:[0,13],viscou:[0,13],visibl:15,visit:9,vk:11,vn:11,volum:[0,13],vr:11,vrot1:[0,13],vrot2:[0,13],vrot3:[0,13],vrot4:[0,13],vrot_breakup:0,vrot_bs:0,vrot_non_rot:0,vrot_sync:0,vs:[22,23],vw93:[0,13],vw93_eagb_wind_spe:[0,13],vw93_mira_shift:[0,13],vw93_multipli:[0,13],vw93_tpagb_wind_spe:[0,13],vwind:[0,13],vwind_beta:[0,13],vwind_multipli:[0,13],w:[1,5,17,21],wa:[0,2,5,7,9,12,13,16,17,19,20,21,24],wai:[0,5,7,13,17,19,20,23],wang:[0,13],want:[0,2,4,5,6,7,9,11,13,14,15,16,18,19,20,21,23,24],warmup_cpu:[0,13],warn:[0,13,17,21],wast:[14,19,20],wave:[0,12,13,14,21],wd:[0,13],wd_accretion_rate_new_giant_envelope_lower_limit_helium_donor:[0,13],wd_accretion_rate_new_giant_envelope_lower_limit_hydrogen_donor:[0,13],wd_accretion_rate_new_giant_envelope_lower_limit_other_donor:[0,13],wd_accretion_rate_novae_upper_limit_helium_donor:[0,13],wd_accretion_rate_novae_upper_limit_hydrogen_donor:[0,13],wd_accretion_rate_novae_upper_limit_other_donor:[0,13],wd_kick:[0,13],wd_kick_at_every_puls:0,wd_kick_at_given_puls:0,wd_kick_direct:[0,13],wd_kick_end_agb:0,wd_kick_first_rlof:0,wd_kick_pulse_numb:[0,13],wd_kick_when:[0,13],wd_sigma:[0,13],wdwd_merger_algorithm:[0,13],wdwd_merger_algorithm_bs:0,wdwd_merger_algorithm_chen2016:0,wdwd_merger_algorithm_perets2019:0,we:[0,2,3,4,5,9,11,12,13,14,15,16,17,18,19,20,21,22,24,26],weight:[0,7,13,19,20],weirdli:18,well:[0,7,9,11,13,15,17,18,19,20,24],went:[19,20],were:[4,12,14,18,20,21],what:[0,1,2,4,6,7,9,11,12,13,14,15,17,18,19,20,21,24,25,26],whatev:[0,5,9,13,15,24],wheeler:[0,13],when:[0,1,2,4,5,6,7,9,12,13,14,16,17,21,22,24,25,26],whenev:[9,24],where:[0,1,2,4,5,6,7,9,12,13,18,19,20,21,24],whether:[0,2,4,5,6,7,13,21,23,26,28],which:[0,1,2,4,5,6,7,9,12,13,14,15,16,17,18,19,20,21,24,25,26,28],whichev:7,white:[0,12,13],white_dwarf_cooling_carrasco2014:[0,13],white_dwarf_cooling_mestel:[0,13],white_dwarf_cooling_mestel_modifi:[0,13],white_dwarf_cooling_model:[0,13],white_dwarf_radius_carrasco2014:[0,13],white_dwarf_radius_model:[0,13],white_dwarf_radius_mu:[0,13],white_dwarf_radius_nauenberg1972:[0,13],whole:[5,7,13,14,15],why:14,wide:[11,18,19,20],wider:11,width:[0,13,14],wiggl:[19,20],wind:[0,11,12,13,18],wind_algorithm_binary_c_2020:[0,11],wind_algorithm_hurley2002:0,wind_algorithm_non:[0,11],wind_algorithm_schneider2018:0,wind_angmom_loss_bs:0,wind_angmom_loss_lw:0,wind_angmom_loss_lw_hybrid:0,wind_angmom_loss_spherically_symmetr:0,wind_angular_momentum_loss:[0,13],wind_disc_angmom_fract:[0,13],wind_disc_mass_fract:[0,13],wind_djorb_fac:[0,13],wind_gas_to_dust_ratio:[0,13],wind_lbv_luminosity_lower_limit:[0,13],wind_mass_loss:[0,11,13],wind_multiplier_:[0,13],wind_nieuwenhuijzen_luminosity_lower_limit:[0,13],wind_type_multiplier_:[0,13],within:[0,4,5,9,13,15,16,21,24],without:[2,4,5,7,15,17,19,20],won:[0,13,17],wood:[0,13],wooslei:0,work:[0,4,5,9,13,15,17,18,19,20,23,24],would:[0,13,19,20,21,23],wouldn:[5,21],wr:[0,13],wr_wind:[0,13],wr_wind_bs:0,wr_wind_eldridg:0,wr_wind_fac:[0,13],wr_wind_maeder_meynet:0,wr_wind_nugis_lam:0,wrap:[1,15],wrapper:[11,13,15,17,28],write:[1,4,5,6,7,11,12,13,14,15,17,18,21,25],write_binary_c_calls_to_fil:[5,21],write_binary_c_parameter_descriptions_to_rst_fil:4,write_ensembl:5,write_grid_options_to_rst_fil:6,write_logfil:13,written:[5,6,7,13,17,21,25],written_data:17,wrlof_mass_transf:[0,13],wrlof_method:[0,13],wrlof_non:0,wrlof_q_depend:0,wrlof_quadrat:0,wrong:[9,19,20,24],wrwindfac:[0,13],wtts2:[0,13],wtts_log:[0,13],www:[0,2,13],x0:2,x1:2,x86_64:13,x:[0,2,4,5,12,13,15,17,22,23,26],xlim:[14,22],xx:22,y:[5,11,12,22,23],year:[0,2,13],year_length_in_dai:14,yet:[0,4,5,7,13,23],yield:[0,13,26],ylim:22,you:[0,1,4,5,6,7,9,11,12,13,14,15,17,18,19,20,21,22,23,24,26,28],young:[0,13],your:[9,15,17,24],yourself:[12,14,18,19,20,21,23],yscale:[18,19,20,22],yy:22,z:[0,2,5,12,13,14,28],zahn:[0,13],zam:[0,2,3,12,13,18,25,28],zams_collis:28,zams_mass:[12,18,19,20,21],zams_mass_1:21,zams_mass_2:21,zero:[0,1,3,4,7,9,11,12,13,14],zero_ag:[12,15,17,18,19,20,21],zero_age_main_sequence_star:[18,19,20],zero_age_main_sequence_starn:18,zero_prob_stars_skip:[12,14,18,20,21],zone:[0,13],zoom:[0,13,26],zoom_dispers:26,zoom_magnitud:26,zoom_magntiud:26,zoom_mean:26,zoomfac_multiplier_decreas:[0,13],zoomfac_multiplier_increas:[0,13],zsolar:2,zytkow:[0,13]},titles:["Binary_c parameters","custom_logging_functions module","distribution_functions module","Example notebooks","functions module","grid_class module","Grid options and descriptions","Population grid code options","hpc_functions module","Welcome to binary_c-python\u2019s documentation!","Binarycpython code","Tutorial: Running individual systems with binary_c-python","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: 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: Zero-age stellar luminosity function","Tutorial: Running populations with binary_c-python","Solar system using the API functionality","plot_functions module","Python module for binary_c","run_system_wrapper module","spacing_functions module","stellar_types module","useful_funcs module"],titleterms:{"case":[12,14,18,19,20],"function":[4,13,16,17,18,19,20,21,22],"public":7,A:[19,20],about:16,ad:[18,19,20,21],after:[9,24],ag:[18,19,20],algorithm:0,api:[13,15,17,22],better:[19,20],binari:[0,12,18],binary_c:[0,9,11,13,15,16,17,21,24],binarycpython:10,build:[9,16,24],code:[7,10],common:14,compact:15,content:[3,9],custom:15,custom_logging_funct:1,descript:6,develop:[9,24],di:7,diagram:12,dictionari:16,directli:15,distribut:[19,20],distribution_funct:2,document:[9,24],envelop:14,environ:[9,24],evolut:[14,15],evolv:[12,14,18,19,20,21],exampl:[3,9,12,13,14,15,16,18,19,20,21,24],extra:16,faq:[9,24],featur:16,free:13,from:[9,13,15,24],full:21,get:[13,16],grid:[6,7,12,14,18,19,20,21],grid_class:5,handl:[12,14,18,19,20,21],help:16,hertzsprung:12,hpc_function:8,i:0,indic:9,individu:[11,17],inform:[13,16],initi:[19,20],input:0,instal:[9,24],instruct:[9,24],issu:[9,24],log:[12,14,15,18,19,20,21],luminos:[18,19,20],mass:[15,19,20],misc:0,modif:16,modul:[1,2,4,5,8,9,23,24,25,26,27,28],moe:7,note:[9,24],notebook:3,noteworthi:21,nucsyn:0,o:0,object:[12,14,15,17,18,19,20,21],option:[6,7],output:[0,12,14,18,19,20,21],paramet:[0,16],pars:16,pip:[9,24],plot_funct:23,popul:[7,12,14,15,17,18,19,20,21],privat:7,python:[9,11,13,15,16,17,21,24],requir:[9,24],routin:15,run:[11,15,17,21],run_system_wrapp:[11,17,25],russel:12,s:9,sampl:[19,20],sampler:7,script:21,section:0,set:[12,13,14,18,19,20,21],singl:[11,17],solar:22,sourc:[9,24],spacing_funct:26,star:[0,12],stefano:7,stellar:[12,14,18,19,20],stellar_typ:27,store:13,string:15,supernova:15,system:[11,17,22],tabl:9,tutori:[11,13,15,16,17,21],up:[12,13,14,18,19,20,21],us:[12,13,14,15,18,19,20,22],usag:[9,13,15,24],useful_func:28,variabl:[9,18,19,20,21,24],via:[9,17,24],welcom:9,when:15,zam:[19,20],zero:[18,19,20]}}) \ No newline at end of file +Search.setIndex({docnames:["binary_c_parameters","custom_logging_functions","distribution_functions","example_notebooks","examples/notebook_BHBH","examples/notebook_HRD","examples/notebook_api_functionality","examples/notebook_common_envelope_evolution","examples/notebook_custom_logging","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_defaults","grid_options_descriptions","hpc_functions","index","modules","plot_functions","readme_link","run_system_wrapper","spacing_functions","stellar_types","useful_funcs"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"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:3,sphinx:56},filenames:["binary_c_parameters.rst","custom_logging_functions.rst","distribution_functions.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_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_defaults.rst","grid_options_descriptions.rst","hpc_functions.rst","index.rst","modules.rst","plot_functions.rst","readme_link.rst","run_system_wrapper.rst","spacing_functions.rst","stellar_types.rst","useful_funcs.rst"],objects:{"binarycpython.utils":{custom_logging_functions:[1,0,0,"-"],distribution_functions:[2,0,0,"-"],functions:[18,0,0,"-"],grid:[19,0,0,"-"],grid_options_defaults:[20,0,0,"-"],hpc_functions:[22,0,0,"-"],plot_functions:[25,0,0,"-"],run_system_wrapper:[27,0,0,"-"],spacing_functions:[28,0,0,"-"],stellar_types:[29,0,0,"-"],useful_funcs:[30,0,0,"-"]},"binarycpython.utils.custom_logging_functions":{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:[1,1,1,""]},"binarycpython.utils.distribution_functions":{"const":[2,1,1,""],Arenou2010_binary_fraction:[2,1,1,""],Izzard2012_period_distribution:[2,1,1,""],Kroupa2001:[2,1,1,""],Moe_di_Stefano_2017_multiplicity_fractions:[2,1,1,""],Moe_di_Stefano_2017_pdf:[2,1,1,""],build_q_table:[2,1,1,""],calc_P_integral:[2,1,1,""],calc_e_integral:[2,1,1,""],calc_total_probdens:[2,1,1,""],calculate_constants_three_part_powerlaw:[2,1,1,""],cosmic_SFH_madau_dickinson2014:[2,1,1,""],duquennoy1991:[2,1,1,""],fill_data:[2,1,1,""],flat:[2,1,1,""],flatsections:[2,1,1,""],gaussian:[2,1,1,""],gaussian_func:[2,1,1,""],gaussian_normalizing_const:[2,1,1,""],get_integration_constant_q:[2,1,1,""],get_max_multiplicity:[2,1,1,""],imf_chabrier2003:[2,1,1,""],imf_scalo1986:[2,1,1,""],imf_scalo1998:[2,1,1,""],imf_tinsley1980:[2,1,1,""],interpolate_in_mass_izzard2012:[2,1,1,""],ktg93:[2,1,1,""],linear_extrapolation_q:[2,1,1,""],merge_multiplicities:[2,1,1,""],normalize_dict:[2,1,1,""],number:[2,1,1,""],poisson:[2,1,1,""],powerlaw:[2,1,1,""],powerlaw_constant:[2,1,1,""],powerlaw_extrapolation_q:[2,1,1,""],prepare_dict:[2,1,1,""],raghavan2010_binary_fraction:[2,1,1,""],sana12:[2,1,1,""],set_opts:[2,1,1,""],three_part_powerlaw:[2,1,1,""]},"binarycpython.utils.functions":{Capturing:[18,2,1,""],bin_data:[18,1,1,""],call_binary_c_config:[18,1,1,""],catchtime:[18,2,1,""],check_if_in_shell:[18,1,1,""],conv_time_units:[18,1,1,""],convert_bytes:[18,1,1,""],convfloat:[18,1,1,""],create_arg_string:[18,1,1,""],create_hdf5:[18,1,1,""],datalinedict:[18,1,1,""],example_parse_output:[18,1,1,""],filter_arg_dict:[18,1,1,""],format_number:[18,1,1,""],get_ANSI_colours:[18,1,1,""],get_arg_keys:[18,1,1,""],get_defaults:[18,1,1,""],get_help:[18,1,1,""],get_help_all:[18,1,1,""],get_help_super:[18,1,1,""],get_moe_di_stefano_dataset:[18,1,1,""],get_size:[18,1,1,""],get_username:[18,1,1,""],imports:[18,1,1,""],is_capsule:[18,1,1,""],load_logfile:[18,1,1,""],make_build_text:[18,1,1,""],mem_use:[18,1,1,""],output_lines:[18,1,1,""],pad_output_distribution:[18,1,1,""],parse_binary_c_version_info:[18,1,1,""],remove_file:[18,1,1,""],return_binary_c_version_info:[18,1,1,""],temp_dir:[18,1,1,""],timedelta:[18,1,1,""],trem:[18,1,1,""],verbose_print:[18,1,1,""],write_binary_c_parameter_descriptions_to_rst_file:[18,1,1,""]},"binarycpython.utils.functions.Capturing":{__enter__:[18,3,1,""],__exit__:[18,3,1,""]},"binarycpython.utils.functions.catchtime":{__enter__:[18,3,1,""],__exit__:[18,3,1,""]},"binarycpython.utils.grid":{Population:[19,2,1,""]},"binarycpython.utils.grid.Population":{Moe_di_Stefano_2017:[19,3,1,""],add_grid_variable:[19,3,1,""],clean:[19,3,1,""],delete_grid_variable:[19,3,1,""],evolve:[19,3,1,""],evolve_single:[19,3,1,""],export_all_info:[19,3,1,""],parse_cmdline:[19,3,1,""],rename_grid_variable:[19,3,1,""],return_all_info:[19,3,1,""],return_binary_c_defaults:[19,3,1,""],return_binary_c_version_info:[19,3,1,""],return_population_settings:[19,3,1,""],set:[19,3,1,""],set_moe_di_stefano_settings:[19,3,1,""],update_grid_variable:[19,3,1,""],vb1print:[19,3,1,""],vb2print:[19,3,1,""],write_binary_c_calls_to_file:[19,3,1,""],write_ensemble:[19,3,1,""]},"binarycpython.utils.grid_options_defaults":{grid_options_description_checker:[20,1,1,""],grid_options_help:[20,1,1,""],print_option_descriptions:[20,1,1,""],write_grid_options_to_rst_file:[20,1,1,""]},"binarycpython.utils.plot_functions":{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:[25,1,1,""]},"binarycpython.utils.run_system_wrapper":{run_system:[27,1,1,""]},"binarycpython.utils.spacing_functions":{"const":[28,1,1,""],const_dt:[28,1,1,""],const_ranges:[28,1,1,""],gaussian_zoom:[28,1,1,""],peak_normalized_gaussian_func:[28,1,1,""]},"binarycpython.utils.useful_funcs":{calc_period_from_sep:[30,1,1,""],calc_sep_from_period:[30,1,1,""],maximum_mass_ratio_for_RLOF:[30,1,1,""],minimum_period_for_RLOF:[30,1,1,""],minimum_separation_for_RLOF:[30,1,1,""],ragb:[30,1,1,""],roche_lobe:[30,1,1,""],rzams:[30,1,1,""],zams_collision:[30,1,1,""]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","method","Python method"]},objtypes:{"0":"py:module","1":"py:function","2":"py:class","3":"py:method"},terms:{"0":[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,21,28,30],"00":[4,10,11,14,17],"000":[4,10,17],"0000":[4,10,17],"00000":17,"000000":17,"000000000000e":10,"000000e":17,"000001":10,"000002":10,"000003":10,"0001":[4,6,30],"000122339":14,"000161974":14,"000214449":14,"000220016":14,"000283924":14,"000287968":14,"000375908":14,"000497691":14,"000498487":14,"00065893":14,"0007":2,"000872405":14,"001":[0,4,6],"00115504":14,"0013":4,"00152924":14,"00182":4,"002":[4,16,17],"00202467":14,"0021272":4,"00215604":4,"00235329":4,"00237669":4,"00239838":4,"00242158":4,"00247821":4,"00247864":4,"00248439":4,"00254115":4,"00254512":4,"00256681":4,"00261516":4,"00268237":4,"00280816":4,"00283345":4,"00286793":4,"00288661":4,"00294":4,"00296406":4,"003":4,"00300971":4,"00303761":4,"00311757":4,"00317508":4,"00319483":4,"0034":4,"004":4,"004698855121516281":14,"005":4,"00518983":4,"0055":4,"00585495":4,"006":4,"0062211552141636295":14,"00632092":6,"00666382":4,"007":[4,15],"00707417":4,"00712":4,"00730797":4,"0074":4,"008":4,"0081514":4,"00823663875514986":14,"00832":4,"0087":4,"009":[4,15],"00984861":4,"00e":11,"01":[0,4,5,6,7,8,11,14,17],"010":4,"0102":4,"010905083645619543":14,"011":4,"0118":4,"012":4,"0122109":4,"012246630357e":14,"0128":4,"013":4,"0131145":4,"014":4,"0141":6,"0143651":4,"0143896":7,"014832":4,"015":4,"0152545":4,"0153961":4,"0155":4,"0156":4,"01561":4,"0156945":4,"0159":4,"016":4,"0162":4,"016309":7,"0163656":7,"0164":4,"0165":4,"0166":4,"0168":4,"0169":4,"017":[4,15],"0171":4,"0175264":7,"0176575":5,"01791":4,"018":4,"0182":4,"0184":4,"0187":4,"019":4,"0192009":4,"019715467199999996":7,"01e":11,"01t09":[5,7,11],"01t10":11,"02":[0,2,4,5,6,7,8,10,11,14,15,17,30],"020":4,"0208":4,"021":4,"0214":4,"0214824":4,"021960493499e":14,"022":4,"023":4,"0232618":4,"02379":4,"024":4,"0241634":4,"0245":4,"024684":4,"02473":4,"0248684":14,"025":4,"0250231":4,"0251003":4,"0259932":4,"026":4,"0261496":4,"027":4,"0276":4,"02786":4,"0278672":4,"028":4,"02823":4,"0283541":4,"029":4,"0290733":4,"0295":4,"0298011":4,"0298364":4,"02e":[7,11],"03":[0,1,4,6,7,11],"030":4,"0303129":4,"030499912298e":14,"031":4,"0316266":4,"0319":4,"032":4,"03221":4,"033":4,"0335":4,"0335017":4,"034":4,"03493":4,"03499999999999":13,"035":4,"03502960360000004":7,"03507":4,"036":4,"0367878":4,"037":4,"0385396":4,"039":4,"0393944":4,"0394":4,"0399":4,"03996e":4,"03e":11,"04":[0,4,6,11,17],"040":4,"041":4,"0411":4,"0414":4,"04198":4,"042":4,"0425":4,"043":4,"0434":14,"044":4,"0440989":4,"044142002936e":8,"04440288843805411":14,"0444029":14,"044572277695e":8,"044654032097e":8,"0448877":4,"0449442":4,"045":4,"045084306856e":8,"0459174":4,"046":4,"0461":4,"0469097":4,"047":[4,14,15],"0474164":4,"0474572":4,"048":[4,15,17],"049":4,"04924":4,"04e":11,"05":[0,4,6,7,8,11,14],"0501":4,"050651207308e":8,"051":[4,5],"0511173":4,"0512":4,"052":4,"0523":4,"0528412":4,"053":4,"0531294":4,"0533803":4,"0535":4,"0536749":4,"054":[2,4],"0547419":4,"055":4,"055188":4,"056":[4,15],"0563088":4,"057":4,"0570946":17,"0572914":4,"057949":4,"058":4,"0583837":4,"0585":4,"059":4,"05e":11,"05e51ba114934b37bab48f1db40b7333":14,"06":[0,4,7,8,10,11],"0608":4,"061":4,"061141":4,"0613":4,"062":4,"0621119":4,"0625403":4,"06257":4,"0626266":4,"063":4,"064":4,"0641":4,"06459059967730083":7,"0645906":7,"0649":4,"065":4,"06527":4,"066":4,"06696":4,"067":4,"0670735":4,"068":4,"0683196":4,"069":4,"06987":4,"06e":11,"07":[2,4,11,12,13,17,28],"070":[4,14],"0701913":4,"071":4,"07108":4,"0714679":4,"0717":4,"0719":4,"072":4,"0722":4,"0727126":4,"0727584":4,"074":4,"0744186":4,"0745":4,"07484":4,"075":4,"075416":4,"0755737":4,"076":4,"077":4,"0770302":4,"0772021":4,"0772781":4,"078":4,"0784":4,"0784722":4,"0787729":4,"0789786":4,"079":[4,5],"0791":4,"07e":11,"08":[0,4,7,11,17],"080763":10,"0808":4,"081":[4,5],"081024":5,"082":4,"0820":[0,6],"0823499":4,"0831":4,"0834973":17,"0837":4,"084":4,"0849409":4,"085":4,"086":4,"086004":4,"0868":4,"087":4,"0877":4,"0877243":4,"0878":4,"088":4,"089":4,"0890815":4,"0896":4,"08e":11,"08msun":[0,6],"09":[4,5,7,11],"090":4,"0900":17,"0902":[0,6],"0907":4,"0907537":4,"091":4,"0910814":4,"0913095":4,"09164":4,"092":4,"09295167374":11,"093":[5,15],"0931922":4,"094":[4,7],"094409257247e":14,"095":4,"0958704":4,"096":4,"09665":4,"0967":14,"097":4,"09706e":4,"09786":4,"098":[4,5],"0987206":4,"099":4,"0991059":4,"0993":4,"099417":7,"0995":4,"0m":11,"0mb":[7,11],"0msun":28,"0x146f912dbc60":6,"0x149c2e81ec10":10,"0x149c95c56c10":7,"0x14bf2250fdc0":5,"0x1528ac7290d0":14,"1":[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,21,23,25,26,27,28,30],"10":[0,2,4,5,6,7,8,10,11,12,13,14,15,16,17,27,28],"100":[0,2,4,5,6,7,11,12,13,28],"1000":[0,6,7,21,28],"100000000000":[16,17],"1001":11,"1005":4,"101":4,"101038":4,"1012":4,"101323":4,"101955":4,"102":4,"1021":4,"1025":11,"102750e":17,"103":4,"1035":4,"103702":4,"103789":4,"104":[4,7],"1043":4,"104427":4,"104997":4,"105":[4,12,13],"105082":4,"10522":4,"105704":4,"106":4,"1062":4,"106368":4,"106545":4,"10689":4,"107":4,"107187":4,"1075":4,"10782":4,"108":[4,14],"1082":4,"1085":10,"108571":4,"10877":4,"1088":4,"109":[4,7],"10941":4,"109679":4,"1098":4,"1099":4,"10e":11,"11":[0,4,5,7,8,10,11,13,14,15,17],"110":4,"11003":10,"1104":4,"1108":4,"111":4,"111023":4,"111583":4,"11182":4,"112":4,"11239":4,"1124":4,"113":4,"1130":4,"11346":4,"113492":17,"1135":4,"11376":4,"114":4,"114678":4,"11491":4,"115":[2,4],"11506":4,"115297":4,"11558":4,"115722":4,"11582":10,"116":4,"11686":4,"11695":4,"117":4,"11707":4,"1173":4,"1178":4,"118":4,"11802":4,"118229":4,"11854":4,"119":4,"1193":4,"1199":4,"11e":11,"12":[0,2,4,5,8,10,11,13,14,15,17,18],"120":4,"120000":[0,6],"120066":4,"1204":[4,17],"121":4,"121263":4,"12136":4,"1219":4,"122":4,"1222":4,"123":4,"123048":4,"12325":10,"123635":4,"1237":4,"123794969278e":14,"1239555":7,"124":4,"1241251901":15,"124379":17,"124496":4,"12457":10,"12460":10,"12461":10,"124931":4,"12495":4,"125":[0,4,6],"12500":0,"12522":4,"1254":4,"12548":4,"125553":4,"125886":4,"125968":4,"126":4,"126532":4,"127":4,"12741":4,"127442":4,"127957":4,"128":4,"12806":4,"129":4,"12974":4,"129879":4,"12e":[1,5,8,10,11,12,13,14],"13":[0,4,5,6,7,8,10,11,13,14,15,17],"130":4,"1301":10,"1302":10,"1306":4,"130725":4,"131":4,"13108":17,"1314":4,"131680e":17,"132":4,"132057":4,"1326":4,"13267":4,"1327":4,"13298":4,"133":4,"1334":4,"134":[4,14],"13416":4,"1345":10,"1346":10,"13461":10,"1347":10,"1348":10,"1349":10,"135":4,"135101":4,"135164":4,"1354":11,"1355":11,"13567":8,"136":4,"1360":4,"13607":4,"13626":14,"137":4,"13700":[5,7],"137502":4,"1379":4,"13796e":4,"138":4,"1380":17,"139":4,"139044":4,"1392":4,"139293101586e":14,"139732":4,"1398":4,"13e3":[0,6],"14":[0,4,5,6,8,10,11,13,14,15,17],"140":4,"1403":2,"141":4,"14112":4,"141361":4,"1415":4,"142":4,"14212":4,"143":4,"144":4,"144141":4,"14439":4,"14461":10,"1449":[4,11],"145":4,"145296":4,"145632":4,"146":4,"1468":4,"146844":4,"147":4,"1471":4,"1473":4,"14764":4,"1478":4,"148":[4,17],"1485":4,"148721":4,"149":4,"1492":4,"1494":11,"1498":4,"14e":11,"15":[0,2,4,6,7,8,10,11,13,14,15,17,21],"150":[4,7,11,12,13,14],"15000":[0,4,6,8,10,14,15,17],"1502":4,"150217":4,"15042":4,"150681":4,"151":4,"1514":4,"151616":4,"1517":4,"15186":4,"152":4,"1521":4,"1527":4,"153":4,"153329":4,"153852":4,"1539":11,"154":4,"155":4,"1551":4,"1553":4,"155342":4,"155662":11,"155678":7,"15594":4,"156":[4,7,17],"1560":4,"1567":4,"1569":4,"157":4,"1571":4,"1575":4,"158":4,"1585":11,"1586":4,"158640":7,"15884":4,"159":[4,7],"15907":4,"1599":4,"15e":11,"15msun":2,"16":[0,2,4,7,11,13,14,15,17],"160":4,"1606":4,"160675":11,"161":4,"1610":4,"1612":4,"1618":4,"162":4,"162006":4,"162038":4,"1622":4,"1624":[4,11],"162454":11,"16265":4,"1627":10,"162734":10,"162941":4,"163":[4,7],"1631":4,"1633":4,"163481":7,"1635760192":5,"1635760194":5,"1635760256":7,"1635760377":7,"1635760613":11,"1635760806":13,"1635760813":13,"1635760967":14,"1635760970":14,"1635761189":11,"1637":4,"164":4,"164714":4,"165":4,"16539":4,"16564":4,"166":[4,7],"1663":4,"166559":4,"167":[4,11],"1670":4,"16729":4,"16733":4,"1674":[4,11],"1678":4,"168":[4,7],"16833":4,"16837":4,"168379":7,"168558":4,"168972":4,"169":4,"1691":4,"1695":4,"169775":11,"17":[4,5,7,11,13,14,15,17],"170":4,"1703":11,"1708":4,"171":4,"171096":4,"1713":4,"1715":4,"172":4,"172014":4,"1722":4,"1729":4,"173":4,"1736":4,"174":4,"174169":4,"1747":4,"1749":11,"175":4,"175004":4,"1753":4,"17588":4,"176":4,"176751":11,"177":[4,7],"177444":4,"1775":4,"177551":4,"177727":4,"178":4,"1780":11,"1781":4,"1783":4,"1784":4,"1786":4,"179":4,"179142":4,"1792":4,"17932":4,"1796":4,"18":[4,11,13,15,17],"180":4,"1804":4,"180453":4,"1806":4,"1807":4,"1808":4,"1809":4,"181":4,"1810":4,"18108":4,"1811":4,"1812":4,"181244":4,"1813":4,"18139":4,"1814":[4,11],"18148":4,"1815":4,"1816":4,"1817":4,"181795":4,"1818":4,"1819":4,"181971798545e":14,"182":4,"1821":4,"1822":4,"1823":4,"1824":4,"1825":4,"1826":4,"1827":4,"1828":4,"1829":4,"183":4,"1830":4,"183048":4,"1831":4,"1833":4,"1834":4,"1835":4,"1838":4,"1839":4,"183974":4,"184":4,"1841":4,"1843":4,"1844":4,"184464":4,"1845":4,"1846":4,"1847":4,"184829":4,"185":4,"1851":[4,11],"1854":4,"1858":4,"186":[4,11],"1865":8,"187":4,"1876":4,"187694":4,"1877":4,"1879":11,"187993":4,"188":4,"1882":4,"189":4,"189239":4,"19":[4,7,11,14,17],"190":[0,4,17],"19097":4,"191":4,"1910":11,"1915":4,"191543":4,"192":4,"1920":4,"1923":4,"193":4,"193528":4,"19366":4,"19393":4,"194":4,"1947":11,"195":4,"1951":[0,6],"19521":4,"196":4,"196046":4,"196177":4,"19622":4,"196311":4,"1967":4,"1968":11,"197":4,"1972":[0,6],"1973":4,"1975":[0,6],"1977":4,"197729":4,"197x":[0,6],"198":4,"1980":2,"1983":30,"1986":[0,2,6],"1987":4,"1989":[0,6,11],"199":4,"19907":4,"1991":2,"1992":[0,6],"1993":[0,6],"1996":30,"1998":[0,2,4,6],"1999":[0,6],"19e":11,"1aearth":15,"1ajupit":15,"1amar":15,"1amercuri":15,"1aneptun":15,"1apluto":15,"1asaturn":15,"1auranu":15,"1avenu":15,"1ckzg0p9":[23,26],"1dex":[11,12,13],"1e":[0,6,7,8,10,11,17],"1e2":[0,6],"1e9":[0,6],"1gyr":28,"1m":11,"1mb":[7,11],"1mearth":15,"1mjupit":15,"1mmar":15,"1mmercuri":15,"1mneptun":15,"1mpluto":15,"1msaturn":15,"1msun":28,"1muranu":15,"1mvenu":15,"1s":[7,11],"1y":[0,6],"2":[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,17,18,21,22,23,25,26,28],"20":[0,4,5,7,8,11,12,13,14,15,17,28],"200":[0,4,6],"2000":[0,4,6],"2001":[2,12,13],"2002":[0,6],"2003":[0,2,6],"2004":[0,4,6],"2005":[0,4,6],"2008":4,"2009":[0,6],"201":4,"2010":[0,2,6,21],"2012":[0,2,6],"2013":[0,6],"2014":[0,2,4,6],"2015":[0,4,6],"2016":[0,6],"2017":[0,6,11,14,21],"2018":[0,1,4,6],"2019":[0,4,6,17],"202":4,"2020":[0,6],"2021":[0,4,5,7,11],"20211102":0,"202196":4,"202339":4,"202569":4,"20265":4,"202750e":17,"2029":4,"203":4,"2033":4,"204":4,"2044":4,"20447":4,"204663":4,"2048":11,"205":4,"2053":4,"205353":4,"205527":4,"205537":4,"2057":4,"206":[4,15],"2063":4,"20677":4,"207":4,"2071":11,"2075":4,"208":4,"2081":4,"208169":4,"208453":4,"20887":4,"208923":4,"209":4,"2091":11,"209274":4,"20938":4,"20980":4,"20e":[7,11],"21":[1,4,5,11,17],"210":[4,17],"21043":4,"211":[4,13],"2112":4,"2118":17,"212":4,"212034":4,"2122":11,"2127":4,"213":4,"2132":4,"21333":4,"213396":4,"2135":4,"213854":4,"214":4,"214274644851685":17,"2143":11,"2147":4,"215":4,"215504":4,"2156":4,"215638":4,"2157":4,"21587440567681537":14,"21587440567681548":14,"2158744056768156":14,"216":4,"21603":4,"216067":4,"2164":11,"216496":4,"216951":4,"217":4,"21764":4,"218":4,"2182":4,"218222":13,"21824":4,"2183":11,"21844":4,"219":4,"219029061236e":14,"219058":4,"2191":4,"21927":4,"21948":4,"21e":11,"22":[0,4,11,17],"220":4,"22036":4,"2206":11,"22098":4,"221":4,"2210":4,"2214":4,"2216":4,"221832":4,"222":4,"2221":4,"2224":4,"22281":4,"223":4,"2232":11,"2234":4,"224":4,"2245":11,"224923":4,"225":4,"225135":4,"22518":4,"22543":4,"2258":11,"226":4,"2261":4,"22611318083528548":7,"226424":4,"2266":4,"2268":4,"2269":11,"227":4,"227249":4,"2275":4,"22787":4,"227955577093495":14,"228":4,"2282":11,"228555":4,"229":4,"2291":4,"22936":4,"2295":4,"229591":4,"22e":7,"23":[4,11,14],"230":4,"2300":11,"230102":4,"2305":4,"230955":4,"231":4,"231680e":17,"231704":4,"232":4,"2329":11,"233":4,"2332":4,"2333":4,"2338":4,"234":[4,7],"2348":11,"235":[4,5],"23513":4,"2352":4,"235464":4,"235689312423":7,"236":[4,17],"2365":[11,17],"237":4,"2371":4,"237203":4,"237951":4,"238":4,"2383":11,"238584":4,"23894":4,"239":4,"239197":4,"239704":4,"24":[4,7,11],"240":4,"2400":11,"2403e":14,"2406":4,"24098":4,"241":4,"2413":4,"24165":4,"242":4,"2421":4,"242151":4,"2423":11,"242309":4,"2424":10,"243":[4,5],"243214":4,"243583":4,"2437":4,"2438":11,"2439":4,"244":[4,15],"2444":15,"244645":4,"245":4,"245209":4,"245223":4,"2454":11,"246":4,"2466":11,"246604":4,"246625":4,"246671":5,"247":4,"2472":4,"2477":[4,11],"248":[4,7],"248871":4,"249":4,"249106":4,"2492":11,"2493":4,"249848":4,"24e":11,"25":[0,4,7,11,17],"250":4,"25014bc73b334765a1c09a4e4a97ed66":11,"251":[4,7],"2514":4,"2516":11,"25164":4,"252":4,"2528":4,"252877":4,"2529":4,"253":4,"2537":11,"253705":4,"254":4,"2544031669784":14,"255":[0,4,6],"2551":4,"2552":4,"2554":11,"2556":4,"256":[4,5],"256488":4,"256783":4,"25694":4,"257":[4,30],"2570":11,"2572":14,"257278":4,"257437":4,"2576084265970895":14,"258":[4,7],"2583":4,"259":4,"2590":11,"25msun":[0,6],"26":[4,11],"260":4,"26051":4,"260676":4,"261":4,"2613":4,"261343":4,"26171201413c43f5b91552a374879940":5,"2618":4,"262":4,"2622":[4,11],"2626":4,"2629":4,"263":4,"263079":4,"2632":4,"263235":4,"2636":11,"264":4,"26416":4,"26441":4,"26456":4,"2646":17,"265":4,"2652":11,"266":4,"2663":4,"26637":4,"2664":4,"266485":4,"2666":11,"267":[4,7],"2670":4,"2671":4,"2672":4,"2673":4,"2674":4,"2676":4,"2677":4,"2678":4,"2679":4,"268":4,"2680":4,"2681":4,"2682":4,"2683":4,"2684":4,"2685":4,"2686":4,"2687":4,"2688":4,"2689":4,"269":4,"2690":4,"2691":[4,11],"2692":4,"2693":4,"2694":4,"2695":4,"2696":4,"2697":4,"2698":4,"2699":4,"27":[4,7,11,14],"270":4,"2700":4,"2701":4,"2702":4,"27025":4,"2703":4,"2704":4,"2705":4,"2706":4,"2707":4,"2708":4,"2709":4,"271":4,"2710":4,"2711":4,"2712":4,"2713":4,"2714":4,"27143e":14,"2715":4,"2716":4,"2717":4,"2718":4,"2719":4,"272":4,"2720":4,"2721":4,"2722":4,"2723":4,"2724":4,"2725":4,"2726":4,"2727":4,"2728":4,"2729":4,"272943":4,"273":4,"2730":4,"2731":4,"2732":4,"2733":[4,11],"2734":4,"274":4,"274206":4,"274445":4,"2746":11,"274854":4,"275":4,"2754":4,"27569e":4,"2757":11,"276":4,"2767":4,"277":4,"2773":4,"27734":4,"2775":11,"27767":4,"278":4,"27829":4,"279":4,"2791":4,"2795":11,"28":[4,6,7,8,10,11],"280":4,"2800":4,"2801":4,"2802":4,"280723":4,"280749":4,"281":[4,30],"281309":4,"28134439269236855":14,"2816":4,"2819":4,"282":4,"282234":4,"2823":4,"282623":4,"283":4,"2831":11,"2834":4,"2835":4,"2836":4,"28369":4,"283972":4,"284":4,"2845":11,"2846":4,"285":4,"286":4,"2861":11,"287":4,"2871":4,"2873":4,"2875":11,"2878":4,"288":4,"2881":4,"288353":4,"28867":4,"289":4,"2891":11,"2898":4,"28984":4,"28e":7,"29":[4,7,11,14],"290":4,"290684":4,"291":4,"29136":4,"2914":4,"292":4,"2921":4,"2924":4,"292641":4,"2927":4,"293":4,"2930":11,"2934e":17,"293512":4,"294":[4,5],"29427":14,"29448":14,"29457":14,"2947":[11,14],"295":4,"295543":4,"296":4,"2961":4,"2965":11,"296544":4,"2967":4,"2969346":2,"297":4,"297187":4,"297506":4,"298":4,"29816":4,"298194":4,"2982":11,"299":4,"2991":4,"2996":4,"29e":11,"2b66f805db424c48a1d29c45092b6e3c":7,"2d":[0,6],"2e":[8,11,17],"2f":17,"2m":[7,11],"2mb":[7,11],"2msun":[0,6],"2s":11,"3":[0,1,2,4,5,6,7,8,9,10,11,12,13,14,17,18,21,23,26,28],"30":[1,4,5,7,8,10,11,12,13,14,15,17],"300":[4,28],"3000":[0,6,15],"3002":4,"3008":4,"301":4,"3010":11,"301129":4,"301483":4,"3017":4,"302":[4,17],"3025":4,"302750e":17,"303":4,"3034":4,"3035":11,"303533":4,"3038":4,"30388e":4,"304":4,"3042":4,"30441":4,"3046":4,"3048":4,"305":4,"305334":4,"3059":11,"306":4,"30642":14,"3065":4,"306619":4,"3069":4,"307199":4,"3078":11,"308":4,"3081e":17,"3082":4,"308203":4,"3084":4,"309":4,"30902":14,"309361":4,"309461":4,"3096":4,"30975":4,"30e4":[0,6],"31":[0,4,6,7,11,17],"310":4,"3100":[4,11],"310029":4,"3101":4,"311":4,"312":[4,5],"3124":11,"312637":4,"3127":4,"313":4,"313623":11,"314":4,"31408":4,"314533":4,"3148":11,"315":4,"315124":4,"315223":4,"3154":4,"315404":4,"315903":4,"315973":4,"316":[4,7],"316118":4,"317":4,"3171":4,"3172":4,"3174":11,"3176":4,"317663":4,"317921":4,"318":4,"3185":4,"318753":4,"319":4,"3192":4,"3193":4,"31958":4,"3197":11,"31e":11,"32":[4,7,11,14,18,21],"320":4,"3205":14,"32076":4,"321":4,"321082":4,"3211":4,"32118":4,"3216":4,"321643":4,"322":4,"3223":4,"3228":[4,14],"32282":4,"323":4,"3231":[4,11],"323359":7,"3235":4,"324":4,"3243":4,"3244":4,"3245144":14,"3246":4,"3247":4,"3248":4,"325":4,"325197":4,"3256":11,"325743":4,"325965":4,"326":4,"326147":4,"32620":4,"32631":4,"3264":4,"326601":4,"32684":4,"327":4,"3273":[4,11],"328":4,"328066":4,"3282":4,"328512":4,"329":[4,7],"3294":11,"32e":11,"33":[4,11],"330":4,"331":4,"331680e":17,"332":4,"332091":4,"3321":11,"332251":4,"332777":4,"33295":4,"333":4,"333032":4,"3331":4,"334":4,"33451":4,"33469":8,"3348":11,"335":4,"335153":4,"3352":4,"335342":4,"335428":4,"33552":4,"335642":4,"335847":4,"336":4,"336295":4,"3368":4,"33699":14,"337":4,"33719":4,"337249":4,"3373":11,"338":[4,8],"33817":17,"33879":4,"339":4,"3394":11,"339587":4,"3396":4,"34":[4,5,6,7,8,10,11,12,14,15],"340":4,"34018":4,"340477":4,"34081":4,"341":4,"3412":4,"34126":4,"34175":4,"3419":4,"342":[4,11],"34213":8,"342134":4,"3422":11,"342474":4,"3429":4,"343":4,"3438":4,"344":4,"34421":17,"3445":11,"344772":4,"3448":4,"345":4,"34537":4,"345842":11,"346":4,"3461":4,"3462":4,"3464":11,"3469":4,"347":4,"3471":4,"347169":4,"347405":4,"347623":4,"348":[4,7],"3483":11,"34870":4,"349":4,"3495":4,"3497":4,"34e":7,"35":[2,4,7,11],"350":[4,11],"3502":4,"35051":4,"3507":4,"3509":11,"351":4,"351532":4,"3518":4,"352":4,"3529":4,"353":4,"3533":11,"353432":4,"3536":4,"354":4,"3540":17,"354576":4,"35487":4,"354981":4,"355":4,"3550":11,"35505":4,"355513":4,"3559":4,"356":4,"3563":4,"3568":11,"356812":4,"357":4,"358":4,"3583":4,"3588":11,"3589":4,"35895":4,"359":4,"3591":4,"359784":4,"359881":4,"3599":4,"36":[4,7,11,14],"360":4,"360093":4,"36016":4,"361":4,"3616":4,"362":4,"3622":11,"362601":4,"36298":4,"363":4,"3630":17,"3631":17,"36314":4,"3632":17,"36323":4,"3633":17,"3634":17,"3635":17,"364":4,"3640":11,"364017":4,"36403":4,"364747":4,"3649":4,"365":4,"3657":11,"365763":4,"365949":4,"366":4,"366259":4,"366392":4,"367":4,"367065497322e":14,"367268":4,"3674":4,"36747":4,"3676":11,"367793":4,"368":4,"368345":4,"3688":4,"369":4,"3695":4,"36957":4,"3698":4,"36e":11,"37":[4,7,11],"370":4,"3702e":17,"3706":11,"371":4,"371427":4,"371458":4,"371625":4,"3719":4,"372":4,"3726":[4,11],"3729":4,"373":4,"373282":4,"374":4,"37409":4,"3746":11,"374905":4,"375":4,"3752":4,"375537":4,"3757":4,"375712":4,"3758":4,"376":4,"376059":4,"3763":11,"376604":4,"3767":4,"377":4,"3771":4,"378":4,"3781":4,"3786":11,"37874":4,"379":4,"379292":4,"37e":11,"38":[0,4,7,11],"380":4,"38009":4,"380393":4,"380887":4,"381":4,"3811":11,"382":4,"382144":4,"382472":4,"383":4,"38316":4,"3832":11,"384":4,"3849":11,"385":4,"386":4,"387":4,"3875":11,"38788e":14,"388":4,"388321":4,"389":4,"38908":4,"389208":4,"38921":4,"389749":4,"38m":11,"39":[4,5,6,7,9,10,11,12,13,14,15,16],"390":4,"3905":11,"391":4,"3914":17,"39152e":4,"391798":4,"392":[4,17],"39205":14,"392194":4,"392487":4,"3927":17,"3928":[4,17],"3929":17,"393":4,"3930":[11,17],"3931":[11,17],"3932":17,"393886":4,"394":4,"394722435913e":14,"395":4,"39521":4,"3954":11,"3957":4,"3959":4,"396":4,"396133472739e":14,"396288708628e":14,"3963":4,"396675941641e":14,"3967":4,"397":4,"3971":4,"39754":14,"3977":11,"397754":4,"3978":4,"398":4,"39831":4,"39834":4,"398381":4,"398419":4,"398927":4,"399":4,"3995":4,"3999999999996":13,"3d":[0,6],"3e":17,"3m":11,"3mb":[7,11],"3msun":2,"3s":[7,11],"4":[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,17,19,28],"40":[4,7,11,12,13],"400":4,"4000":[0,11],"40049":4,"401":4,"4011":4,"401263":4,"4013":4,"401728":4,"4018":4,"402":4,"40238":4,"402750e":17,"402961":4,"403":4,"40339":4,"404":4,"4046":4,"404641347602e":14,"4048":4,"404962":4,"404ce27a0":0,"405":4,"405068":4,"405577":4,"406":[4,11],"407":4,"40735":4,"4076":4,"408":4,"409":4,"4098":4,"40e":11,"41":[4,11],"410":[4,17],"4101":4,"4102":4,"4108":4,"410828":4,"411":4,"411151":4,"412":4,"41238":4,"413":[4,5],"413467":4,"414":4,"41457":4,"4146":4,"41485":4,"414875":4,"415":4,"416":4,"416141":5,"4162":4,"417":4,"41726":4,"4176":4,"418":4,"418029":4,"4182":4,"4183":4,"4184":4,"4186":4,"41862":4,"418757":4,"4188":4,"419":4,"4192":4,"4197":4,"41996":4,"41e":11,"42":[0,4,7,11],"420":4,"420182":4,"4202":4,"420316":4,"4205":4,"42052":4,"42097":4,"421":4,"421365":4,"421436":4,"421475":4,"4218":4,"4219":4,"422":4,"422436":4,"42266":4,"4229":4,"423":4,"42362":4,"424":[4,5],"4243":4,"424712":4,"424924":4,"425":4,"4251":4,"4256":4,"425788":4,"426":4,"427":4,"427601421985e":14,"42785":4,"428":4,"428699":4,"429":[4,11],"429122":4,"429398":4,"42e":11,"42msun":[0,6],"43":[4,11],"430":4,"4304":4,"430936289925951":14,"431":4,"4311":4,"431313":4,"431680e":17,"43173":4,"432":4,"4321":4,"432729":4,"433":[4,14],"4330":4,"433207":11,"4333":4,"433477":4,"434":4,"43422e":14,"435":4,"4357":4,"435809":4,"436":4,"43618":4,"4365":4,"4369":4,"437":[4,11,14],"43711":14,"4379":4,"438":4,"4380":4,"4385":4,"438686":4,"4387":4,"438861":4,"439":4,"4397":14,"44":[4,11],"440":4,"441":4,"441158":4,"44170":4,"442":4,"44211":4,"4422":4,"44223e":4,"443":4,"4433":4,"4438":4,"444":[4,17],"444217227690e":14,"445":4,"4454":4,"4455":4,"44558":4,"445821":4,"446":4,"447":4,"447918":4,"448":4,"448242":4,"448401":4,"44852":4,"449":[4,11],"4493":4,"44e":11,"44msun":[0,6],"45":[4,5,7,11,14],"450":4,"4500":6,"45000000080":14,"4501":4,"4504":14,"450629":4,"4507":4,"450818":4,"450828476487e":14,"4509":4,"451":[4,7],"45114":4,"451192744924e":14,"451732":4,"452":4,"453":4,"4530":[8,10,17],"453059":11,"453317880232e":14,"453348":4,"453412":4,"453932":4,"454":4,"4540":4,"454013":4,"45407":14,"454268":4,"454409":4,"455":4,"45534":4,"455552":4,"456":11,"456313":4,"456519":4,"457":4,"45757":4,"457987":4,"458":4,"458064":4,"458272":17,"4588":4,"45889":4,"459":4,"459382":4,"45msun":[0,6],"46":[4,7,11,14],"460":4,"460081":4,"46057":4,"46089":4,"462":[4,17],"4621":14,"4622":4,"46220":4,"4623":4,"462779538274e":14,"463":4,"463455":4,"464":4,"464494":4,"465":4,"465133":4,"46573":14,"465867":4,"46607":4,"4666":4,"4670":4,"4673":4,"467851":4,"468":4,"4680":7,"46822":4,"4683":4,"469":4,"46901":4,"469056":4,"469524":4,"47":[4,7,11],"470":4,"471":4,"4710":4,"471379":4,"4714":4,"472":[13,17],"472105":4,"472318":4,"4734":4,"473762":4,"474":4,"47419":4,"475":4,"4752":4,"475287":4,"47534":4,"4755":4,"4759":4,"476":4,"4764":4,"476589":4,"477":4,"477089":4,"4773":4,"47745":14,"477535":4,"477791":4,"478":4,"478253":4,"478315":4,"4788":4,"478807":4,"479":4,"47946":4,"4797":4,"479973":4,"48":[4,11],"480":4,"480045":4,"48046":4,"4807":4,"4809":4,"481":4,"482":4,"4822":4,"4825":4,"482668":4,"483":4,"48336":4,"4838":[6,8,10],"484":4,"4845":4,"485":4,"48586":4,"486":4,"4862":4,"4865":4,"4867":4,"4872":4,"48749":4,"4877":4,"488":4,"48809":4,"489":4,"489077":4,"48926":4,"48e":[7,11],"49":[4,5,11],"490":4,"491":4,"491811":4,"492":4,"492242":4,"492302":4,"492484":4,"492707":4,"492818":4,"493":4,"493648":4,"493975":4,"494":4,"4945":4,"4949":4,"495":4,"4957":4,"4959":4,"495924":4,"496":4,"4961":4,"496312":4,"4966016":13,"497":4,"497008":4,"497294":4,"498":4,"4981":4,"498232":4,"499":4,"49e":11,"4b8c7f4a86e445099d73f27dffaad94b":13,"4e":[0,6,17],"4e3":[0,6],"4m":11,"4mb":[7,11],"4s":[7,11],"5":[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,17,19],"50":[0,4,6,7,11,13],"500":[0,4,6],"500000e":17,"501":4,"5017":4,"502":4,"502451":4,"502775":4,"502841":4,"503":4,"503726":4,"504":4,"5043":4,"5046":4,"505":4,"5051":4,"50537":4,"506":4,"5064":4,"50652":4,"5066257":13,"50682":4,"50687":4,"507":4,"507104":4,"507443":4,"508":[4,14],"5089":4,"509":4,"5094":4,"50973":4,"50e":11,"50fb66cc659c46c8bbc29fe0c8651c2f":14,"51":[4,7,11],"510":4,"511":4,"511114":4,"5112":4,"5114":4,"5117":4,"512":4,"512561":4,"512617":4,"513":4,"514":4,"514087":4,"51478":4,"514898":4,"514916":4,"515":11,"515062":4,"5164":4,"517":4,"51742":4,"517454":4,"5175":4,"518":4,"51803":8,"51809":4,"51819":4,"518397":4,"518757914":12,"518851":4,"519":4,"51e":11,"52":[4,5,7,11],"52058":4,"5208":4,"520903":4,"5217":4,"522":4,"5221":4,"523":4,"523485":4,"523561":4,"524":4,"52414":14,"52415":14,"5244":4,"524629":17,"524755":4,"525":4,"526":4,"527":4,"528":4,"528102":4,"5286":4,"529":4,"5294":14,"52e":11,"53":[4,5,7,11],"530":4,"5301":4,"5309":4,"531":4,"531293":4,"531411":4,"5317":4,"532":4,"5324":4,"533":4,"5333":4,"534":4,"534699":4,"535":4,"5358":4,"536":4,"5366":4,"53715":4,"5374":4,"537743":4,"538":4,"53854":4,"539":4,"539343":4,"539941":4,"53e":11,"54":[4,11],"54027":4,"5403":4,"541":4,"541792":4,"542":4,"5423":4,"542419":4,"543":4,"54307":4,"54371":4,"544":4,"54439":4,"544482":4,"545":4,"5456":4,"545743":4,"546":4,"5462":4,"547002":4,"547729":4,"548":4,"5483":14,"548589":4,"548740826516e":14,"548864":4,"549":4,"5493":4,"54949":4,"55":[2,4,5,7,11,13,14],"550575":4,"551":[4,5],"551072":4,"552":4,"552711":4,"5528":4,"553":4,"5532":4,"554":4,"55458":8,"55473":4,"555":[4,7],"5556":4,"5557":4,"557":4,"558":4,"559":4,"5593":4,"55982":4,"559889":4,"55e":11,"56":[0,4,7,11,14],"560118":4,"5603":4,"561":4,"5612":4,"5619":4,"562":4,"562029":17,"56228":4,"564":4,"565":4,"56518":4,"5652":4,"566":[4,17],"566263":4,"56631":4,"566495":4,"567":4,"567303":4,"567898":4,"568":4,"5681":4,"56865":4,"569":4,"569581":4,"5696":4,"56e":11,"57":[4,5,7,11],"570":4,"570222":4,"5703":4,"57062":4,"57093":4,"571":4,"5712":4,"57141":4,"5717":14,"572":4,"573":4,"5734":4,"5735":4,"573703":4,"5738":4,"573874":4,"574":4,"57443":8,"5747":0,"574826":4,"575":4,"57538":4,"57571":14,"576":4,"577":4,"57739":4,"5775":4,"577826":4,"578":4,"57878":4,"579":4,"579099761269e":14,"5791":4,"5794":4,"5795":4,"5796":4,"5798":4,"58":[4,11],"581":4,"5812":4,"581558":4,"58166":4,"582":4,"582318":4,"583":4,"58332":4,"583346":4,"583436":4,"584622":4,"585":4,"58504":4,"58518":14,"585985":4,"586":4,"587":[4,13],"588":4,"588396":4,"5885":4,"589":4,"58e":7,"59":[4,5,11],"590":4,"5904":4,"590877":4,"591":4,"5919":4,"592":4,"592309":4,"592733":4,"593":4,"594":4,"59429":4,"59452":8,"595":4,"596":[4,11],"59616":4,"596161":4,"597":4,"5977":4,"598":4,"5982":4,"59867":4,"59e":11,"5dex":[7,11,12,13],"5e":11,"5m":11,"5mb":[7,11],"5msun":[0,6],"5s":11,"6":[0,1,4,5,6,7,8,9,10,11,12,13,14,17,23,26],"60":[4,11,14],"600":4,"6000":[0,6],"600000":0,"60007":14,"600258":4,"600593":4,"6008":4,"601":4,"60101":4,"602":4,"603":[4,11],"6032":4,"604":4,"60468":4,"605":4,"60547":4,"6058":4,"606":[4,11],"606169":4,"60636":4,"607":11,"608":[4,11],"608269":4,"608402":17,"608485":4,"608655":4,"60876":4,"609":4,"6094":4,"61":[4,11],"610184":4,"610285":4,"611":[4,11],"61117":4,"611632":4,"611763":4,"611785":4,"612":[4,11],"612281":4,"613":[4,11],"613167":4,"614":[4,11],"6145":4,"615":4,"615165":4,"61521":4,"616":[4,11],"6161":4,"616737":4,"61679":4,"617":[4,11],"617224":4,"6179":4,"618":4,"6181":4,"6182":4,"618382":4,"618445":4,"6185":4,"618705":4,"619":[4,11],"619099":4,"61e":11,"62":[0,4,11],"620":11,"621":13,"6212":4,"62124":17,"621375":4,"6215":4,"62172":10,"622":4,"62200":4,"622081":4,"622494":4,"6225":4,"623":11,"623052":4,"623232":4,"623354":4,"62366":4,"624":[4,11],"624125":4,"6249793":14,"625":[0,4],"62549":4,"626":[4,11],"627748":17,"628":[4,11],"628169":4,"629":[4,11],"63":[4,7,11],"630":11,"631":[4,7],"63153":4,"632":[4,11],"6328":4,"633":4,"633148":4,"633684":4,"634":[4,11],"634261":4,"6344":4,"634667":17,"635":[0,6,11],"63566e":4,"635703":4,"636":11,"636985":4,"637":[4,11],"637666":4,"637754":4,"6379":4,"638":[4,11],"63818":4,"6384":4,"6388":4,"639":[4,11,17],"63923":4,"639951":4,"63e":11,"64":[4,11],"640":[4,11],"6409":4,"641":11,"6413":4,"64137":4,"642":11,"64207":4,"64265":4,"6429":4,"643":11,"64359":4,"6438124832773024":11,"644":[4,11],"644553":10,"64463":4,"645":[4,10,11,17],"645286":4,"645339":4,"645763":4,"646":4,"64611":4,"646273":4,"647":4,"647161":4,"64724":4,"6474":4,"6475":4,"648":4,"648549":4,"6485656144116352":11,"648566":11,"6489":4,"6492":4,"6493":4,"64932":4,"649327":4,"64e":11,"65":[4,11,28],"651":4,"6514":4,"6515":4,"65262":4,"652638":11,"652755":4,"653":[4,14],"6548":4,"6550":4,"6552":4,"655371":4,"6556":4,"6559":4,"656":4,"6562":4,"657":4,"6571":4,"6579":4,"658":4,"6588":4,"659":4,"659393":4,"659448":4,"659469":4,"659526":4,"659581":4,"659743":4,"65976":4,"65e":11,"66":[4,11],"66003":14,"66016":4,"66025":4,"6602514":11,"6604":4,"660415":4,"661":4,"661725":4,"662":4,"6626":4,"663":4,"663251":4,"663976":4,"664":4,"664546":4,"6649":4,"665406":4,"66554":4,"665969":4,"666661":4,"667":4,"6674":4,"668":4,"668328":4,"669":4,"66915":4,"669442":4,"66e":11,"67":[4,11],"670":4,"67023":4,"670337":4,"670413":4,"670422":4,"67059":4,"671":4,"671001":4,"671551":4,"67179":4,"672":4,"67245":4,"673":4,"674":4,"674063083432e":14,"6745":4,"674645":4,"6747":4,"6749":4,"675":4,"675689":4,"6758":4,"67586e":14,"676":4,"676181":4,"676215":4,"6764":4,"6765":4,"677":4,"6771":4,"677623":4,"678":4,"679":[4,7],"679223":4,"6797":4,"67e":11,"68":[4,7,11],"681":4,"681473":4,"681487":4,"6816":4,"682":[4,7],"6822":4,"683":4,"6831":4,"6832":4,"6834":4,"683467":4,"68376":4,"684":[4,7,14],"684890":11,"685":[7,11],"685255":4,"685872":4,"686":4,"686591":4,"687":[4,7],"68746":4,"68748":14,"688":[4,7],"6883":4,"6885":4,"689":4,"689781":4,"689835":4,"68e":11,"69":[4,11],"690":11,"690194":11,"690203":4,"6905":4,"690746":4,"6908":4,"6909":4,"691":[4,7],"691586":4,"692":4,"693":[4,7],"693128":4,"693321":4,"6934":4,"693944":4,"694":[4,7,11],"6944":0,"694517":11,"695":[4,14],"6952":4,"695505":4,"69569":4,"696":4,"696003":17,"696284":4,"697":4,"6975":4,"697827":4,"698":[4,11],"69808":4,"698517":4,"6989":4,"699":4,"6e":[7,11],"6e1":2,"6e5":[0,6],"6m":11,"6mb":[7,11],"6msun":[0,6],"6s":[7,11],"7":[0,1,2,4,5,6,7,8,10,11,12,13,14,16,17,23,26],"70":[2,4,7,11,14],"700":[4,17],"70005":4,"700359":4,"70043":4,"70052":4,"70054":4,"701":4,"702":4,"70235":4,"7028":4,"703":4,"703545":4,"70365":4,"704":4,"70429":4,"7046":4,"705":[4,17],"7052":4,"705715":4,"706":4,"7060":4,"706029":4,"706126":4,"706483":4,"706780":11,"7069":4,"706984":4,"707":[4,11],"708":4,"7085":4,"7087":17,"709":4,"7093":4,"709965":4,"70e":11,"71":[4,11],"710":4,"71025":14,"7106":17,"7107":4,"7108":4,"711":4,"7114":4,"71196":14,"712":4,"712414":4,"7128":14,"713946":4,"714712":4,"716":[4,10],"71617":10,"71662":8,"71746":4,"71818":4,"7184":4,"718549":4,"7188":4,"719058":4,"71e":11,"72":[4,11],"720749":4,"721":4,"7210":4,"7214":4,"7219":4,"722":4,"72386":4,"724":[4,8],"72498e":[8,14],"725":4,"725718":4,"726":17,"726002":4,"72611":4,"72617":4,"7267":4,"7269":4,"727":4,"727196":4,"72764":4,"728":[4,7],"7282":4,"728237":4,"72832e":4,"728797":4,"729":4,"729193":4,"7292":4,"7296":4,"72983":4,"72e":11,"73":[4,11,14],"730":4,"731":4,"7315":4,"7319":4,"732":4,"7322":4,"732244":7,"7324":4,"7326":4,"732818":4,"732953":4,"732983":4,"7335":4,"734":4,"7342":4,"734534":4,"735":4,"7354":4,"7359":4,"736":[4,7],"736112":4,"7365":4,"737":4,"7370":4,"737411":4,"738":4,"7380":4,"7381":4,"738399":4,"7384":4,"7385":4,"738524":4,"7386":4,"739":4,"7390":4,"739962":4,"73e":11,"74":[4,11],"740":4,"740494":4,"740929":4,"7413":4,"741346":4,"741448":4,"7418":4,"7419":4,"742":4,"7420":4,"7421":4,"7422":4,"7423":4,"7424":4,"7425":4,"7426":4,"7427":4,"7428":4,"7429":4,"743":4,"7430":4,"7431":4,"743118":4,"7432":4,"7433":4,"7434":4,"7435":4,"7436":4,"7437":4,"7438":4,"743837":4,"7439":4,"744":4,"7440":4,"7446":4,"7447":4,"7448":4,"7449":4,"745":4,"7450":4,"7451":4,"7452":4,"7453":4,"7454":4,"7455":4,"7456":4,"7457":4,"7458":4,"74583":4,"7459":4,"746":4,"7460":4,"7461":4,"7462":4,"747":4,"7472":4,"748":[4,17],"748832":4,"749":4,"75":[0,4,7,11],"750":[4,5],"7500":4,"75005":4,"750149":4,"750806":4,"7509":17,"751305":4,"752":4,"752134":4,"752438":4,"7527":4,"753":4,"7530":4,"7536":4,"7537":4,"754":4,"754141":4,"7544":4,"755":4,"75508":4,"755323":4,"7554":4,"7557":4,"756":4,"7561":14,"7564":4,"7566":4,"756795":4,"757":[4,7],"757025":4,"7572":4,"758":[4,17],"7582":4,"7589":4,"759":4,"75921":4,"75931":4,"7595":4,"7598":4,"75e":11,"76":[4,11],"760064":4,"760389":4,"7605":4,"7607":4,"761":4,"7612":4,"7613":4,"76134":4,"761478":4,"7617":4,"7619":0,"7620":4,"7622":4,"7626":4,"7629":4,"763":[2,4],"7631":4,"7633":4,"7635":4,"764":4,"76416e":4,"7644":4,"7645":4,"764629":4,"7647":4,"7647737053496777":14,"764989":4,"765":4,"7650":4,"7657":4,"7659":4,"766":4,"766094":4,"7666":4,"7669":4,"767":4,"7671":4,"7675":4,"7677":4,"7678":4,"7679":4,"768":4,"7683":4,"768339":4,"7684":4,"768655":4,"7689":4,"769":4,"7690":4,"7691":4,"769195":4,"7695":17,"76e":7,"77":[4,11,13],"7705":4,"770532":4,"7706":4,"7709":4,"7714":4,"7717":4,"7718":4,"772":4,"7720":4,"7721":4,"772169325355e":14,"7722":4,"7727":4,"7728":4,"77287":14,"773":4,"7730":4,"7731":4,"773166":4,"7734":4,"7735":4,"7736":4,"7737":4,"774":4,"7741":4,"77416":4,"7742":4,"7743":4,"7745":4,"77455":4,"7748":4,"774954":4,"774969":4,"775":[4,17],"7750":4,"77505":4,"7751":4,"7752":4,"77541":4,"7757":4,"7759":4,"776":[4,17],"7761":4,"77624":4,"776263":4,"77631":4,"7764":4,"7765":4,"776523":4,"7766":4,"7767":4,"776818":4,"7769":4,"777":4,"7772":4,"7773":[4,17],"7774":4,"77766":4,"7779":4,"778":4,"7781":4,"7782":4,"7785":4,"7789":4,"779":4,"7790":4,"779197348711e":14,"7792":4,"7795":4,"7797":4,"78":[4,11],"78012":4,"7803":4,"7806":4,"7809":14,"781":4,"781046":4,"78125":0,"7813":4,"7817":4,"7819":4,"782":4,"7823":4,"7825":4,"7826":4,"7827":4,"7828":4,"783":[4,10],"7831":4,"7836":4,"783746":4,"783792":4,"784":4,"7840":4,"7842":4,"7843":4,"7844":4,"7845":4,"7848":4,"78488":4,"784972":4,"785":4,"7852":4,"785539":4,"7856":4,"7858":4,"786":4,"786062":4,"7861":4,"7863":4,"7864":4,"7868":4,"786e":17,"787":4,"7871":4,"787102":4,"787368":4,"7874":4,"7875":4,"7877":4,"787705":4,"7879":4,"788":4,"78817":17,"7882":4,"7883":4,"7886":4,"7887":4,"789":4,"789064":4,"7891":4,"789188":4,"7893":4,"7898":4,"789859":4,"7899":4,"78e":11,"79":[4,11],"7901":4,"7902":4,"7903":4,"7905":4,"7907":4,"7909":4,"79092":14,"790941":4,"791":4,"7911":4,"7912":4,"791274":4,"7913":4,"791478":4,"7916":4,"7918":4,"7919":4,"791991":4,"792":4,"7920":4,"7925":4,"7926":4,"79264":4,"7927":4,"792721":4,"792744":4,"7928":4,"7933":4,"7934":4,"7936":4,"793832":4,"7941":4,"79412":4,"7942":4,"7943":4,"7944":4,"79487":14,"795":[2,4],"795024":4,"7958":4,"796":4,"7960":4,"7962":4,"7964":4,"796455":17,"7965":4,"7967":4,"7968":4,"7969":4,"797":4,"7973":4,"7974":4,"7975":4,"7979":4,"798":4,"7980":4,"7982":4,"7988":4,"799":4,"7990":4,"79911":4,"7996":4,"7997":4,"799889":4,"79e":11,"7a2e4301f5224b2cb8939d2297df0aad":13,"7e":11,"7m":11,"7mb":11,"7s":7,"8":[0,2,4,5,6,7,8,10,11,12,13,14,17],"80":[2,4,11,28],"800":5,"8000":4,"8001":4,"8003":4,"8004":4,"8008":4,"8009":4,"801":4,"8010":4,"8012":4,"8013":4,"802":4,"802706":5,"802986496151e":14,"803":4,"8031":4,"8034":4,"8039":4,"804":4,"80402":4,"8043":4,"8044":4,"8047":4,"8048":4,"804961":4,"805":4,"8050":4,"8053":4,"8055":4,"805733":4,"8058":4,"8059":4,"80592":14,"806":4,"8060":4,"80602":17,"8062":4,"806431":4,"8065":4,"8066":4,"8067":4,"806722":4,"807":4,"8071":4,"8073":4,"807331":4,"807361":4,"8074":4,"807403":4,"8076":4,"8079":4,"808":4,"808134":4,"809":[4,5],"8091":4,"8095":4,"80954":4,"809662":4,"80e":11,"80msol":2,"81":[4,7,11],"810":7,"8101":4,"8104":4,"8105":4,"81066":14,"8107":4,"8108":4,"8109":4,"811":4,"8111":4,"8115":4,"812":4,"8121":4,"8123":4,"8124797":5,"813":4,"81352":4,"8138":4,"81395":8,"814":4,"8140":4,"8141":4,"814387":4,"81495":14,"81499":14,"815":4,"8151":4,"81529":14,"81536":14,"8155":4,"81562":4,"81563":14,"8158":4,"816":4,"8163":4,"81636":14,"81689":14,"816958":4,"817":[4,10],"81705":4,"817432":4,"817620e":17,"81762e":17,"817843":4,"817888":4,"818":4,"8182":4,"818294":4,"819":4,"8194":4,"8195":4,"81957":14,"8196":4,"819715":4,"8199":4,"81e":11,"82":[4,11],"8200":4,"8202":4,"8205":4,"82061":14,"82064":4,"82074":14,"82088":14,"821":4,"82123":14,"821301":4,"821367":4,"8216":14,"822":4,"82224":4,"8224":4,"82245":4,"82255":14,"823":4,"823059079115e":14,"82325":4,"8234":4,"823767":4,"824494":4,"8245":4,"8247":4,"824848":4,"82486":4,"8249":4,"825":4,"8250":4,"825086":4,"8251":4,"8252":4,"8254":4,"82563":11,"825648":4,"826":4,"8261":4,"8263":4,"82642":4,"826771":4,"8268":4,"826831":4,"827":4,"8271":4,"8276":4,"82797":4,"828":4,"8280":4,"828241":4,"828858":4,"829":4,"829017":4,"8292":4,"8293":4,"8295":4,"829668":4,"829726":4,"829757":4,"8299":4,"82e":11,"83":[4,7,11],"830":[4,17],"8300":4,"8303":4,"830541":4,"831236":4,"832":4,"832981":4,"833":4,"8339":4,"834303":4,"834483":4,"835":4,"8354":4,"836":[4,5],"836621":4,"83672":4,"836783":4,"837":4,"8372":4,"83762":4,"8377":4,"837816":4,"8379":4,"838":[4,5],"838411":5,"838423":4,"83843":4,"839":4,"8399":4,"83e":11,"84":[4,7,11],"840":4,"84029":4,"84071":4,"840796":4,"840994":4,"841":4,"841284":4,"841718":4,"8427e":17,"8429":4,"843":4,"8435":4,"8435e":17,"844":[4,5],"8441":4,"84428":4,"8443":4,"845":4,"84502":4,"8452":4,"845387":4,"845641":4,"846":[4,5],"846045":5,"847":4,"847153":4,"84827":4,"848380621869e":8,"848866":4,"8493":4,"85":[4,7,11,28],"850":4,"850309":4,"851":4,"851646":4,"852":4,"852252":4,"8523":4,"852712":4,"853":4,"8533":4,"854":4,"85406e":4,"8544":4,"8545":4,"854649":4,"855":4,"856":[4,11],"85661":17,"8569":4,"857":4,"8573":4,"857699":4,"8577":4,"858":[4,5],"8585":4,"859":4,"8596":4,"859753":4,"8598":4,"859977":4,"86":[4,7,11],"860402":4,"8605":4,"861":4,"861368":4,"863":[4,7],"86323":4,"86334":4,"8635":4,"8638":4,"865":4,"8653":4,"8654":4,"865806":4,"866":4,"8664":4,"867":4,"86728":4,"8674":4,"8678":4,"86794":4,"868":4,"8683":4,"86878":4,"869":4,"86918":4,"8694":4,"869544":4,"87":[4,11,14],"870":4,"8704":4,"8706":4,"8708":4,"871":4,"872":[4,14],"872312":4,"872316":4,"873":4,"8731":4,"873639":4,"874":4,"874638":4,"875":4,"876":4,"876084":4,"876382":4,"877":4,"877963":4,"878":4,"87813":4,"878253":4,"879":4,"8791":4,"87e":11,"88":[4,11],"880":4,"8805":4,"880528":4,"881":4,"8813":4,"882017":4,"8828":4,"883":4,"883252":4,"88343":4,"8837":4,"884":4,"8840":4,"8843":4,"88441":4,"884461":4,"8846":4,"8848":4,"885":4,"8851":4,"8853":4,"8855":4,"885537":4,"8856":4,"8858":4,"88581":4,"886":4,"8860":4,"8862":[4,14],"8864":4,"8866":4,"8867":4,"8868":4,"8869":4,"887":4,"8870":4,"8871":4,"8872":4,"8873":4,"8874":4,"8875":4,"8876":4,"8877":4,"8878":4,"888":4,"8880":4,"8881":4,"888123":4,"8882":4,"8884":4,"8886":4,"888613":4,"8887":4,"8889":4,"889":4,"8891":4,"8892":4,"8893":4,"8894":4,"8896":4,"8897":4,"8898":4,"8899":4,"89":[4,5,11,13],"890":4,"8901":4,"8902":4,"8903":4,"8904":4,"8906":4,"8907":4,"8908":4,"8909":4,"891":4,"8910":4,"891056":4,"8911":4,"8912":4,"8917":4,"892":4,"89211":17,"8924":4,"8926":4,"893":4,"8934":4,"8935":4,"8939":4,"893941":4,"894":4,"894041":4,"8941":4,"8949":4,"895":4,"895821":4,"896":4,"8961":4,"896110e":17,"896196":4,"896286":4,"8972":4,"8975":4,"897612":4,"898":4,"8982":4,"898786":4,"899":4,"8992":4,"899464":4,"8a7d52edc59346ce991063d9e05e9ba7":5,"8bc1eafea1c34b05894c1618639d8c37":14,"8e":[0,6],"8m":[7,11],"8mb":11,"8s":[7,11],"9":[0,4,5,6,7,8,10,11,13,14,17,21],"90":[4,7,11],"900":4,"901":4,"901988":4,"902":4,"903":4,"9032":4,"9036":4,"9038":4,"904":4,"9043":4,"9046":4,"9047":4,"905":4,"905335716621e":14,"9057":4,"906":4,"906059":4,"906299":4,"90695":4,"907":4,"9071":4,"90716":4,"9073":4,"9074":4,"908":4,"9087":4,"909":4,"9093":4,"9098":4,"90e":11,"91":[4,7,11],"910419":4,"9105":4,"910817":4,"910981":4,"911":4,"9110":4,"911093":4,"9113":4,"912":4,"912238":4,"912283":4,"912289":4,"912327":4,"9127":4,"912919":4,"913":4,"9139":4,"914":4,"9147":4,"9148":4,"915":[4,7],"915148":4,"915221":4,"9153":4,"91548":4,"916":4,"916093":4,"916207":4,"917":4,"917439":4,"9179":4,"918":4,"918543":4,"9189":4,"919":4,"9196":4,"91e":11,"92":[4,11],"920":4,"9203":4,"9206":4,"920832":4,"921":4,"9214":4,"922":4,"922199":4,"923":4,"92382":4,"924":4,"924056":17,"925":4,"9253":4,"9255":4,"9256":4,"925761":4,"926":4,"9263":4,"9264":4,"927":4,"929":4,"929511":4,"92995":4,"92e":11,"93":[4,11,14],"930":[4,13],"930282":4,"9304":4,"93044":4,"9308":4,"9309":4,"930943":4,"931":4,"9310":4,"932":4,"9323":4,"932839":4,"933":4,"9339":4,"934":4,"9342":4,"935":4,"935069":4,"9351":4,"9357":4,"935816":4,"935920339886e":14,"936":4,"936532":4,"936762":4,"937":4,"9373e":17,"938":4,"938568":4,"938576":4,"93898":4,"939":4,"939376":4,"939378":4,"939757":4,"93e":11,"94":[4,5,7,11,18],"941":[4,7],"9411":4,"941478":4,"942":4,"942154":4,"9423":4,"9427":4,"942854":4,"943":4,"9436":14,"944":4,"9445":4,"94464":4,"945":4,"9452":4,"946":4,"946468":4,"946757":4,"947":4,"9471":4,"947719":4,"947774":4,"94797":4,"948":4,"949":4,"95":[4,11,13],"950":4,"9505":4,"950733":4,"951":4,"951344":4,"951597":4,"952":4,"9524":4,"952496":4,"953":4,"953182":4,"9537":4,"953738":4,"953798":4,"954":4,"954624":4,"9548":4,"954848":4,"955":4,"9557":4,"956":4,"9561":4,"956619":4,"957":4,"9573":4,"95783":4,"957894":4,"958":4,"959":4,"959422":4,"959492":4,"9595":4,"9598":4,"95e":7,"96":[4,5,7,11],"960":4,"9603":4,"9606":4,"960734":4,"961":4,"9610":4,"96112":4,"96161":4,"962":4,"962482":4,"962876":4,"963":[4,7],"963621764679e":14,"964":4,"9648":4,"965":4,"9650":4,"965167":4,"96557e":4,"966":4,"966681":4,"967":4,"968":4,"969":4,"96963":4,"96e":11,"97":[4,11],"970":4,"97008":14,"970206":4,"970505":4,"970783":4,"971":4,"971686":4,"971941":4,"972":4,"9725":4,"973":[4,11],"973135":4,"97316":4,"9739":4,"9739752":7,"974":4,"9743":4,"9749":4,"975":4,"9757":4,"9758":4,"975864":4,"976":4,"976041":4,"977":4,"9779":4,"97797":4,"978":4,"979":4,"97923e":14,"9794":4,"9797":4,"97e":[7,11],"98":[4,11,13],"98061":4,"98081":4,"98096":4,"981":4,"981292":4,"9814":4,"981555":4,"9816":4,"982":4,"9825":4,"983":4,"983229":4,"984":[4,13],"9841":4,"9842":4,"985":4,"9851":4,"985359":4,"9859":4,"986":[4,7],"9869":4,"987":4,"988":4,"988755":4,"989":4,"98e":11,"99":[4,11,13],"990":4,"9900":4,"9902":4,"991":4,"9912":4,"991224":4,"991657":7,"99191":8,"99192":8,"99194":8,"992":4,"99203":4,"9927":[4,10],"993":4,"994":4,"994118":4,"995":4,"995631":13,"995687":4,"995824":4,"996":[4,7],"996798":4,"997":4,"9977":4,"997751":4,"998":4,"998023":4,"99808":4,"9983":10,"998563":4,"999":4,"999122":4,"9999999999999998":13,"99e":11,"9e":7,"9m":11,"9mb":[7,11],"9s":[7,11],"boolean":[0,6,18,19,21,25,30],"break":[0,6],"case":[0,3,6,14,18,21,23,28],"catch":[5,7,10,11,12,13,14,17,18,21],"char":21,"class":[18,19],"const":[2,5,7,11,12,13,14,19,28],"default":[0,1,2,5,6,8,9,11,12,13,14,17,18,19,20,21,27,28],"do":[0,1,2,4,5,6,7,8,11,12,13,14,17,19,20,21,23,25,26],"export":[14,18,19],"final":[4,7,11,12,13,17],"float":[0,2,4,6,9,10,15,18,19,28,30],"function":[0,1,2,3,4,5,7,8,16,19,20,21,22,23,24,25,26,27,28,30],"import":[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19],"int":[0,1,2,4,6,11,14,18,19,20,21,28,30],"krtickov\u00e1":[0,6],"kub\u00e1t":[0,6],"long":[0,5,6,7,14,18,19,21,29],"new":[0,2,5,6,7,10,11,12,13,14,19],"null":[0,5,6,7,14,18],"paczy\u0144ski":[0,6],"public":[11,12,13,14,20,23],"return":[1,2,4,5,6,7,9,10,11,12,13,14,17,18,19,20,21,25,27,28,30],"short":[0,5,6,7,11,12,13,29],"super":[0,6],"switch":[0,6],"throw":[23,26],"true":[0,4,5,6,7,9,11,12,13,14,16,17,18,19,20,21,25,28],"try":[0,4,6,7,10,11,12,13,14,23,26],"void":8,"while":[0,4,5,6,7,11],A:[0,3,6,14,30],And:[20,23,26,30],As:[0,5,6,7,10,11,12,13,14],At:[5,14],But:10,By:[0,5,6,11,12,13,14,17],For:[0,6,8,10,11,12,13,25],If:[0,2,5,6,7,11,12,13,14,19,21,23,25,26,27,30],In:[0,5,6,7,8,9,10,11,12,13,14,17,19,21,28],It:[0,5,6,7,10,11,12,13,14,15,17,21,23,26],Its:21,NO:21,NOT:[0,6,19,27],No:[4,6,21,23,26],Not:[5,7,21],OR:17,On:[0,6,14,18,19],One:[0,6],Or:[14,17],Such:7,That:[0,5,6],The:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,17,18,19,21,23,25,26,27,28],Then:[5,18,23,26],There:[2,5,6,7,8,9,10,11,12,13,14,15,17,19,20,21,25],These:[5,6,11,12,13,14,18,21,25],To:[0,6,10,11,12,13,14,21,23,26],Will:[0,6,18,27],With:20,_1:[11,12,13],_:[5,7,11,12,13,20,21],__:14,__arg_begin:6,__attribute__:8,__enter__:18,__exit__:18,_actually_evolve_system:21,_binary_c_bind:[6,8,10,15,18,30],_binary_c_config_execut:21,_binary_c_dir:21,_binary_c_execut:21,_binary_c_shared_librari:21,_commandline_input:21,_count:21,_custom_logging_shared_library_fil:21,_end_time_evolut:21,_errors_exceed:21,_errors_found:21,_evolution_type_opt:21,_failed_count:21,_failed_prob:21,_failed_systems_error_cod:21,_generate_grid_cod:21,_grid_vari:[12,13,19,21],_loaded_moe2017_data:21,_main_pid:21,_moe2017_json_data:21,_population_id:21,_pre_run_cleanup:19,_probtot:21,_process_run_population_grid:21,_repeat:21,_set:19,_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,a173:[0,6],a_in:4,a_out:4,abat:[0,6],abbrevi:29,abl:6,about:[3,5,7,11,12,13,14,18,19,20,30],abov:[0,2,5,6,8,10,12,13,14,18,19],abridg:[6,8],absolut:[0,6,18,28],abund:[0,6],ac:[5,14],acceler:[0,6],accept:[14,18],access:[2,8,10,11,12,13,14,21],accord:[0,2,5,6,28],accordingli:[10,12,13,14],account:[0,6,21],accret:[0,4,6],accretion_limit_dynamical_multipli:[0,6],accretion_limit_eddington_lmms_multipli:[0,6],accretion_limit_eddington_steady_multipli:[0,6],accretion_limit_eddington_wd_to_remnant_multipli:[0,6],accretion_limit_thermal_multipli:[0,6],accretor:[0,4,6,30],accur:[11,12,13],acquir:4,act:[0,6,12,13,14,21],activ:[0,6],actual:[0,5,6,7,8,10,11,12,13,14,19,21,23,25,26,28],ad:[3,5,7,10,19],adam:[0,6],adapt:[0,6,12,13],add:[0,2,5,6,7,8,10,11,12,13,14,18,19,21,25,28,30],add_grid_valu:28,add_grid_vari:[5,7,11,12,13,14,19],address:[1,6,8,21,30],admittedli:25,adress:[6,8,30],advis:8,af:4,affect:[0,5,6],after:[0,5,6,7,8,11,12,13,14,19,21,28],ag89:[0,6],ag:[0,3,4,5,6,7,13,23,28],again:[5,9,10,18,21],against:25,agb:[0,5,6],agb_3dup_algorithm:[0,6],agb_core_algorithm:[0,6],agb_core_algorithm_default:0,agb_core_algorithm_hurlei:0,agb_core_algorithm_karaka:0,agb_luminosity_algorithm:[0,6],agb_luminosity_algorithm_default:0,agb_luminosity_algorithm_hurlei:0,agb_luminosity_algorithm_karaka:0,agb_radius_algorithm:[0,6],agb_radius_algorithm_default:0,agb_radius_algorithm_hurlei:0,agb_radius_algorithm_karaka: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,ago:5,al:[0,2,6,30],albedo:[0,6],algorithm:[6,23],algothim:[0,6],all:[0,1,2,5,6,7,9,10,11,12,13,14,16,17,18,19,20,21,23,24,25,26,27,28],all_info:19,alloc:[6,28],allow:[0,2,6,8,16,17,21],along:[0,20,21,23,26],alpha:[0,4,6],alpha_:7,alpha_c:[0,4,5,6,7],alpha_ej:4,alphacb:[0,6],alreadi:[5,14,15,19],also:[0,3,4,5,6,7,8,11,12,13,14,17,18,19,20,23,26,30],alter:[7,11,19],altern:[0,6,21],although:15,alwai:[0,2,6,21,28],amanda:[0,6],amax:2,amin:2,amount:[0,6],amp:[5,6,7],an:[0,2,5,6,7,9,10,11,12,13,14,17,18,19,23,27],analys:27,analyt:[5,7,11,12,13,14,19],analyz:10,andrew:[23,26],andronov:[0,6],angelou_lithium_cheb_decay_tim:[0,6],angelou_lithium_cheb_massfrac:[0,6],angelou_lithium_cheb_tim:[0,6],angelou_lithium_decay_funct:[0,6],angelou_lithium_decay_function_exponenti:0,angelou_lithium_decay_tim:[0,6],angelou_lithium_eagb_decay_tim:[0,6],angelou_lithium_eagb_massfrac:[0,6],angelou_lithium_eagb_tim:[0,6],angelou_lithium_gb_decay_tim:[0,6],angelou_lithium_gb_massfrac:[0,6],angelou_lithium_gb_tim:[0,6],angelou_lithium_hg_decay_tim:[0,6],angelou_lithium_hg_massfrac:[0,6],angelou_lithium_hg_tim:[0,6],angelou_lithium_lmms_decay_tim:[0,6],angelou_lithium_lmms_massfrac:[0,6],angelou_lithium_lmms_tim:[0,6],angelou_lithium_ms_decay_tim:[0,6],angelou_lithium_ms_massfrac:[0,6],angelou_lithium_ms_tim:[0,6],angelou_lithium_tpagb_decay_tim:[0,6],angelou_lithium_tpagb_massfrac:[0,6],angelou_lithium_tpagb_tim:[0,6],angelou_lithium_vrot_trigg:[0,6],angelou_lithium_vrotfrac_trigg:[0,6],angular:[0,6,15,25],ani:[0,2,6,10,14,18,19,23,26],anoth:[0,6],ansi:[0,6],ansi_colour:[0,6],anyth:[0,6,11,12,13,14,18,21,28],anywai:[10,14,19],api:[0,3,18,23],api_log_filename_prefix:[0,4,6,10,15],append:[1,5,10,11,12,13,15],appli:[0,6],apply_darwin_radau_correct:[0,6],appropri:[0,6,14,19,21],approxim:[0,5,6,7],ar:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,17,18,19,20,21,23,25,26,28,30],arang:17,aren:[2,21],arenou2010_binary_fract:2,arg:[2,4,6,14,18,25],arg_dict:18,argh:15,argopt:[0,6],argpair:[9,18],argstr:[6,8,10,15,17],argument:[0,2,6,10,12,14,15,16,17,18,19,21,27],argument_of_periastron:[0,6],argument_of_periastron_quadrupl:[0,6],argument_of_periastron_tripl:[0,6],aritif:7,around:[0,6,8,10,16,17],arrai:[2,10,14,17,18,19,21,28],arrow:[0,6],artefact:[12,13],artifici:[0,6],artificial_accretion_end_tim:[0,6],artificial_accretion_ignor:0,artificial_accretion_start_tim:[0,6],artificial_angular_momentum_accretion_r:[0,6],artificial_mass_accretion_r:[0,6],artificial_mass_accretion_rate_by_stellar_typ:[0,6],artificial_orbital_angular_momentum_accretion_r:[0,6],arxiv:[0,2,6],ask:[0,6,30],asplund:[0,6],assign:[11,12,13,14,19],associ:[5,7,11,12,13],assum:[0,5,6,7,11,15,25,28],ast871:[0,6],astronomi:[0,6],astrophys:[7,12,13],astropi:[23,25,26],asymptot:5,atom:18,attempt:19,au:15,auto:[1,24],autogen_c_logging_cod:[1,8,17],autogener:17,automat:[0,1,6,8,14,16,17,19,20,23,26],avaibl:[23,26],avail:[0,6,7,8,11,12,13,14,18,21,23,25,26],avoid:[5,6,7],awai:[0,6,11],ax:17,axessubplot:16,axi:[0,6,25],b6213f2eb7f94d3196cf966b7b76b9f9:13,b:21,b_1:[0,6],b_2:[0,6],b_3:[0,6],b_4:[0,6],b_inclination1:[0,6],b_inclination2:[0,6],b_inclination3:[0,6],b_inclination4:[0,6],back:[0,4,6],background:17,backward:[0,6],bagb:[0,6],bar:[12,13],barn:[0,6],base:[0,2,6,7,11,12,13,14,18,19,23,25,26,30],base_filenam:[14,19],basic:[14,19],batchmod:[0,6],bb:[0,6],bbox_inch:17,beasor:[0,6],becaus:[0,2,5,6,7,10,11,12,13,15,17,19,21,23,26],becom:[0,1,2,4,6,8,12,13,15,18],been:[0,6,9,19,21],befor:[0,4,5,6,7,11,12,13,14,19,21,23,26],beg_bss:4,beg_rch:4,beg_symb:4,begin:5,behaviour:[5,11,12,13,14,27],behind:17,belczynski:[0,6],below:[0,3,5,6,7,8,11,12,13,14,21],berro:[0,6],bertolami:[0,6],best:[4,19,21],beta:[0,6],beta_reverse_nova:[0,6],beta_reverse_novae_geometri:0,better:[0,3,6,14,19],between:[0,2,6,28],bewar:[14,19],beyond:15,bh:[0,4,7],bh_belczynski:[0,4,6],bh_bh:4,bh_fryer12_delai:[0,6],bh_fryer12_rapid:[0,4,6],bh_fryer12_startrack:[0,6],bh_hurley2002:[0,6],bh_prescript:[0,4,6],bh_spera2015:[0,6],bhbh:4,big:[0,6,21],biinari:14,bin:[0,6,7,11,12,13,18,23,26,28],bin_data:[7,11,12,13,18],binari:[2,3,6,7,10,12,13,14,19,21,23,25,26,30],binary_c2:[23,26],binary_c:[1,2,3,5,7,11,12,13,15,18,19,21,25,27],binary_c_api_funct:8,binary_c_cal:[14,19],binary_c_default:14,binary_c_grid:[5,7,11,14],binary_c_grid_25014bc73b334765a1c09a4e4a97ed66:11,binary_c_grid_26171201413c43f5b91552a374879940:5,binary_c_grid_2b66f805db424c48a1d29c45092b6e3c:7,binary_c_grid_50fb66cc659c46c8bbc29fe0c8651c2f:14,binary_c_grid_8a7d52edc59346ce991063d9e05e9ba7:5,binary_c_grid_f4e5925effeb42e69b5be956f400ae41:5,binary_c_inline_config:1,binary_c_log_cod:[1,8,10,16,17],binary_c_macro:[0,6],binary_c_paramet:[5,11,12,13,14],binary_c_python:[5,6,7,10,11,12,13,14,18,19],binary_c_python_api:17,binary_c_task_:[0,6],binary_c_write_log_cod:1,binary_grid:[0,6],binary_star:30,binaryc:[1,18,27],binaryc_config:1,binarycpython:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,23,25,26,27,28,30],binarygrid:[11,12,13,14],bind:[0,6,8,10,15],binned_log_luminos:[11,12,13],binned_post_period:7,binned_pre_period:7,binwidth:[7,11,12,13,18],birth:[0,6],bit:[2,5,11],bivari:[0,6],black:[0,3,5,6,23],black_hol:0,block:[14,19],bloecker:[0,6],blog:1,boltzman:25,boltzmann:[0,6],bondi:[0,6],bondi_hoyle_accretion_factor:[0,6],bool:[14,18,19,20,25],born:[0,5,6,11,12,13],bosswissam:18,both:[0,6,11,12,13,14],bottom:[0,6,14,19],bottomcod:[5,7,14,19],bound:[2,4,28],boundari:2,brake:[0,6],branch:[0,5,6,18],branchcod:[5,7,14,19],branchpoint:[5,7,14,19],breakup:[0,6],brighten:[12,13],broken:[0,6],bse:[0,2,6,8,14],bse_opt:[5,7,10,11,12,13,14,19],bsf:[0,6],buffer:[0,6],build:[0,1,3,6,18],build_q_tabl:2,built:[0,1,9,18,23,26],burn:[0,6],busso:[0,6],bye:[0,6],bz2:19,c13_eff:[0,6],c2:2,c:[0,1,4,6,8,10,14,27],c_auto_log:21,c_log:0,c_logging_cod:[5,7,8,10,11,12,13,14,21],calc_e_integr:2,calc_p_integr:2,calc_period_from_sep:30,calc_sep_from_period:[7,11,14,30],calc_total_probden:2,calcul:[0,2,5,6,7,11,12,13,14,18,19,21,30],calculate_constants_three_part_powerlaw:2,call:[0,1,6,10,12,13,14,15,18,19,21,25,27,28],call_binary_c_config:18,calls_filenam:14,can:[0,1,2,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,21,23,25,26,27],candid:7,cannot:[5,8,19],canon:21,cap:[0,6],capit:[11,12,13],capsul:[1,6,18],captur:[0,6,18],carbon:[0,4,5,6],carbon_oxygen_white_dwarf:0,care:[5,11,12,13],carlo:[0,6,21],carrasco:[0,6],carri:[0,6],cast:[17,18],catchtim:18,categor:6,categori:[6,14],categoris:18,caught:[10,18],caus:[4,11,30],cbdisc:[0,6],cbdisc_albedo:[0,6],cbdisc_alpha:[0,6],cbdisc_eccentricity_pumping_dermin:0,cbdisc_eccentricity_pumping_method:[0,6],cbdisc_eccentricity_pumping_non:0,cbdisc_end_evolution_after_disc:[0,6],cbdisc_fail_ring_inside_separ:[0,6],cbdisc_gamma:[0,6],cbdisc_init_djdm:[0,6],cbdisc_init_dm:[0,6],cbdisc_inner_edge_strip:[0,6],cbdisc_inner_edge_stripping_timescal:[0,6],cbdisc_kappa:[0,6],cbdisc_mass_loss_constant_r:[0,6],cbdisc_mass_loss_fuv_multipli:[0,6],cbdisc_mass_loss_inner_l2_cross_multipli:[0,6],cbdisc_mass_loss_inner_viscous_accretion_method:[0,6],cbdisc_mass_loss_inner_viscous_accretion_method_equ:0,cbdisc_mass_loss_inner_viscous_accretion_method_gerosa_2015:0,cbdisc_mass_loss_inner_viscous_accretion_method_non:0,cbdisc_mass_loss_inner_viscous_accretion_method_young_clarke_2015:0,cbdisc_mass_loss_inner_viscous_angular_momentum_multipli:[0,6],cbdisc_mass_loss_inner_viscous_multipli:[0,6],cbdisc_mass_loss_ism_pressur:[0,6],cbdisc_mass_loss_ism_ram_pressure_multipli:[0,6],cbdisc_mass_loss_xray_multipli:[0,6],cbdisc_max_lifetim:[0,6],cbdisc_minimum_evaporation_timescal:[0,6],cbdisc_minimum_fr:[0,6],cbdisc_minimum_luminos:[0,6],cbdisc_minimum_mass:[0,6],cbdisc_no_wind_if_cbdisc:[0,6],cbdisc_outer_edge_strip:[0,6],cbdisc_outer_edge_stripping_timescal:[0,6],cbdisc_resonance_damp:[0,6],cbdisc_resonance_multipli:[0,6],cbdisc_torquef:[0,6],cbdisc_viscous_l2_coupl:[0,6],cbdisc_viscous_photoevaporative_coupl:[0,6],cbdisc_viscous_photoevaporative_coupling_inst:[0,6],cbdisc_viscous_photoevaporative_coupling_non:[0,6],cbdisc_viscous_photoevaporative_coupling_visc:[0,6],ce:[0,6,7],cee:[0,6,7],cell:[6,11,12,13,14],cemp:[0,6],cemp_cfe_minimum:[0,6],centr:[7,14,19],central:15,central_object:[0,6],certain:[21,23,26],cf:[0,6],cf_amanda_log:[0,6],cflag:[23,26],chabrier:2,challeng:[12,13],chandrasekhar:[0,6],chandrasekhar_mass:[0,6],chang:[0,1,2,4,5,6,7,8,11,12,13,14,17,18,19,20,21,23,26],chapter:[0,21,24],charact:19,cheb:[0,6],check:[0,2,5,6,7,11,12,13,14,17,18,19,20,30],check_if_in_shel:18,chemic:[0,6,28],chen:[0,6],child:18,choic:[0,2,6,25],choos:[0,5,6,7,8,11,17,25],chose:10,chosen:[11,12,13,14,19],ci:15,circular:[0,4,6],circumbinari:[0,6],circumstanti:[0,6],claei:[0,6],clark:[0,6],clean:[1,5,10,12,13,19],clean_up_custom_logging_fil:19,clear:[12,13,18],clearli:[12,13],clock:18,close:[0,4,6,7,12,13,15],closer:4,cloud:[0,6],cluster:22,cmdline_str:19,co2:[12,13],co:[0,4,6],coalesc:4,code:[0,1,5,6,7,8,10,11,12,13,14,16,17,19,20,23,25,26,27],collaps:[0,6],collapsar:[0,6],collect:30,collid:30,color:25,color_by_index:25,colour:[0,6],colour_log:[0,6],column:[5,7,10,14,15,17,25],column_nam:10,com:[1,18],combin:[1,8,18,19,21],combine_ensemble_with_thread_join:21,come:[2,23,26,28],comenv:[4,7],comenv_bs:0,comenv_count:7,comenv_disc_angmom_fract:[0,6],comenv_disc_mass_fract:[0,6],comenv_ejection_spin_method:[0,6],comenv_ejection_spin_method_do_noth:[0,6],comenv_ejection_spin_method_sychron:[0,6],comenv_ejection_spin_method_synchron:0,comenv_merger_spin_method:[0,6],comenv_merger_spin_method_breakup:0,comenv_merger_spin_method_conserve_angmom:[0,6],comenv_merger_spin_method_conserve_omega:[0,6],comenv_merger_spin_method_specif:[0,6],comenv_ms_accret:[0,6],comenv_ms_accretion_fract:[0,6],comenv_ms_accretion_mass:[0,6],comenv_nandez2016:0,comenv_nelemans_tout:0,comenv_ns_accret:[0,6],comenv_ns_accretion_fract:[0,6],comenv_ns_accretion_mass:[0,6],comenv_post_eccentr:[0,6],comenv_prescript:[0,6],comenv_splitmass:[0,6],comenv_undef:0,comma:28,command:[0,1,6,14,19,21,23,26],commandlin:14,comment:14,commit:18,common:[0,3,4,5,6,8,10,11,12,13,14,23],compact:[7,14],companion:[0,4,6,17],compar:[0,6,7,11,14,21],compens:[12,13],compil:[1,8,14,17,23,26],compile_shared_lib:1,complet:[5,7,11,12,13,14],complex:[7,8,14,16,17,19,21,25],compon:[18,25],compress:19,comput:[0,5,6,11,12,13,22],conceptu:11,condit:[5,7,8,11,12,13,14,16,17,19],condor:[19,21,22],condor_grid:19,config:[1,18,21,23,26],config_fil:1,configur:[2,5,10,11,12,13,14,17,19],conjunct:9,conserv:[0,6],consid:[0,1,2,6,11,12,13,18,19,21,25,28],const_dt:28,const_rang:28,constant:[0,2,6,12,13,25,28],construct:[0,1,5,6,7,10,11,12,13,15,17],contact:4,contain:[0,1,2,6,9,10,11,12,13,14,18,19,20,21,22,23,24,25,26,27,28,29],content:[6,18,19],context:18,continu:[14,19],contribut:[23,26],control:[0,5,6,11,12,13,14],conv_time_unit:18,convect:[0,6],conveni:18,converg:[0,6],convert:[2,5,7,15,18,19],convert_byt:18,convfloat:18,convfrac:4,cool:[0,5,6],copi:[0,6,7,12,13,30],core:[0,5,6,7,11,12,13,14,19,21,25],core_co:8,core_h:8,core_helium_burn:0,core_mass:[0,6,8],correct:[0,2,6,10,19,25,30],correctli:[10,17,23,25,26],correspond:[14,19,25],corretor:[0,6],cosmic:2,cosmic_sfh_madau_dickinson2014:2,cost:[11,12,13],could:[0,6,12,13,14,17,18],count:[4,5,17,18,21],counter:21,coupl:[0,3,6],cours:[5,25],cover:[9,11,12,13],coverag:[23,26],cowd:[0,6],cpu:[0,5,6,7,11,12,13,14],cpu_count:21,cpython:6,crap_paramet:[0,6],creat:[2,5,7,8,10,11,12,13,14,18,19],create_and_load_logging_funct:[1,8,17],create_arg_str:18,create_hdf5:18,creation:6,critic:[0,6],cross:[0,6],crunch:[5,7,11,12,13],cs1:15,ctype:1,cube:11,cubic:11,cuntz:[0,6],current:[0,6,7,8,11,12,13,18,19,23,26],curv:[7,12,13],custom:[0,1,3,5,6,7,10,11,12,13,14,18,19,21,23,25,27],custom_gener:21,custom_log:[10,17,19,21],custom_logging_cod:[1,8,10,16,17,27],custom_logging_func_memaddr:[6,8,21],custom_logging_funct:[8,10,14,16,17,21,23,24],custom_logging_info:19,custom_logging_memaddr:8,custom_logging_print_stat:10,custom_logging_stat:[5,7,11,12,13,14],custom_opt:[5,10,11,12,13,14,19],custom_output_funct:8,custom_tmp_dir:1,customis:25,cut:17,cvode:[0,6],d48r:17,d:[0,1,4,5,6,7,8,10,11,14,15,28],dai:[0,2,4,6,7,8,10,11,14,17,30],damp:[0,6],darwin:[0,6],dat:[0,14,18],data:[0,4,5,6,7,10,11,12,13,14,15,17,18,19,21,27],data_dict:2,data_dir:[14,18,19,21],datadir:[14,19],datafram:[5,7,10,11,12,13,15,16,17,25],datalinedict:[5,7,11,12,13,18],dataset:[14,18,21],date:19,david:[17,23,26],dd7:[0,6],de:[0,4,6],deactiv:[0,6],deal:10,dear:4,death:[0,6],debug:[0,4,5,6,7,11,12,13,14,19,21],decai:[0,6],decid:[0,6,8,16,17,18,19],decreas:[0,6],deepcopi:7,deeper:[14,19],def:[4,5,7,10,11,12,13,14,17],default_to_metal:[0,6],defaultdict:18,defer:[0,6],defin:[0,1,2,6,14,15,19,25],definit:[1,11,12,13,30],degener:[0,6],degenerate_core_helium_merger_ignit:[0,6],degenerate_core_merger_dredgeup_fract:[0,6],degenerate_core_merger_nucsyn:[0,6],degner:[0,6],degre:[0,6],del:7,delai:[0,6],delete_grid_vari:19,delta:[18,28],delta_mcmin:[0,6],demonstr:7,den:[0,6],densiti:[2,11,12,13],depend:[0,2,5,6,18,23,25,26],deprec:[0,6,19],depth:28,dermin:[0,6],describ:[0,2,6,17,21],descript:[0,2,6,9,18,21,23,24],design:25,desir:[0,6],destruct:[14,19],detail:[0,5,6,10,18],detect:[0,4,6,7,15],detector:4,determin:[0,6,8,11,12,13,14,19,30],deton:[0,6],dev:[0,6],develop:1,development_requir:[23,26],deviat:[2,28],dewi:[0,6],dex:[0,6,7,28],df2:17,df:[15,16,17,25],di:[14,18,19,23],diagnost:21,diagram:[0,3,6,23,25],dickonson:2,dict:[1,2,4,5,10,11,12,13,14,15,18,19,20,29],dict_kei:[5,9,10],dictionari:[1,2,3,5,7,11,12,13,14,18,19,20,21,25,29],did:[18,23,26],differ:[0,5,6,7,11,12,13,14,17,18,19,23,25,26,28],differenti:18,dimmer:[0,6,11],dir:[23,26],direct:[0,6,19],directli:[10,21],director:21,directori:[0,3,6,14,18,19,21,23,26],disabl:[0,6,14],disable_debug:[0,6],disable_end_log:[0,6],disable_ev:[0,6],disc:[0,6,15],disc_legacy_log:[0,6],disc_log2d:[0,6],disc_log:[0,6],disc_log_directori:[0,6],disc_log_dt:[0,6],disc_log_level_non:0,disc_log_level_norm:0,disc_log_level_normal_first_disc_onli:0,disc_log_level_subtimestep:0,disc_log_level_subtimestep_first_disc_onli:0,disc_n_monte_carlo_guess:[0,6],disc_stripping_timescale_infinit:0,disc_stripping_timescale_inst:0,disc_stripping_timescale_orbit:0,disc_stripping_timescale_visc:0,disc_timestep_factor:[0,6],discret:14,discs_circumbinary_from_comenv:[0,6],discs_circumbinary_from_wind:[0,6],disk:[0,6,19],dispers:[0,6,28],displai:[0,5,6,7,15],disrupt:[0,4,6,17],dist:18,distanc:[5,15],distant:15,distefano2017:21,distefano:2,distribut:[0,2,3,6,7,11,14,18,19,22,28],distribution_funct:[5,7,11,12,13,14,23,24],divid:22,dj:[0,6],dlnm1:[7,11,14,19],dlnm:[12,13],dlnm_1:[12,13],dlog10per:[7,11,14],dlogp:2,dlogt:28,dm1:[5,12,13],dm:[0,2,4,6,12,13,28],dm_1:[5,12,13],dn:[2,18,19],do_dry_run:21,doc:[5,11,12,13,14,18,20,23,26],doc_fetch:2,docstr:[10,23,25,26],document:[11,12,13,14,18,20,21,24],doe:[0,2,5,6,8,9,10,11,12,13,14,19,21,30],doesn:[5,19,21],doesnt:[17,20],don:[2,5,18,21],done:[0,4,5,6,11,12,13,14,17,19,23,26],donor:[0,4,6,30],donor_limit_dynamical_multipli:[0,6],donor_limit_envelope_multipli:[0,6],donor_limit_thermal_multipli:[0,6],donor_rate_algorithm_bs:0,donor_rate_algorithm_claeys2014:0,dont:[6,17],doubl:[5,8,14],down:14,dp:2,dphasevol:[5,7,11,12,13,14,19],dprob:[5,7,12,13],dq:[7,11,14],dr2:[0,6],dr3:[0,6],drai:[0,6],dredg:[0,6],drop:10,dry:[5,7,11,13,14,21],dry_run:[5,7,11,14],dstep:2,dt:[0,1,6,18,19,28],dt_limit:9,dtfac:[0,6],dtlimit:18,dtm:[1,8,14],dtype:[15,16,17],due:[23,26],dummi:[2,25],dump:[0,6,10,19],dumpvers:[0,6],duquennoi:2,duquennoy1991:2,dure:[0,4,6,17],dust:[0,6],dwarf:[0,5,6,12,13],dx:[0,6],dynam:[0,6],e2:[0,6],e2_hurley_2002:0,e2_izzard:0,e2_mint:0,e2_prescript:[0,6],e:[0,2,4,5,6,7,8,10,11,12,13,14,18,19,21,23,26,28,30],each:[0,2,6,7,11,12,13,14,15,18,19,21,28],eagb:[0,4,6],eagb_wind_beasor_etal_2020:0,eagb_wind_bs:0,eagb_wind_goldman_etal_2017:0,eagbwind:[0,6],eagbwindfac:[0,6],earli:[0,6],early_asymptotic_giant_branch:0,earth:15,easi:10,easier:[14,17,18],ebindi:4,ecc2:2,ecc3:2,ecc:[2,4,10,14,17,19],eccentr:[0,2,6,8,10,11,12,13,14,15,17,25,30],eccentric_rlof_model:[0,6],eccentricity_quadrupl:[0,6],eccentricity_tripl:[0,6],echo:[0,6],eddington:[0,6],edg:[0,5,6,14,19],edit:8,edu:[0,6],eej:4,eff:5,effect:[0,2,4,6,8,11,21],effective_metal:[0,6,17],effici:[0,5,6,7],egg:[23,26],eggleton:[0,6,30],either:[0,6,11,12,13,14,17,18,19,21,23,26,27],eject:[0,6,7,15],el:[10,14],elabor:8,eld:[0,6],eldridg:[0,6],electon:[0,6],electron:[0,6],element:[0,1,6,9,15,18,21,25],els:[4,7],email:18,emp:[0,6],emp_feh_maximum:[0,6],emp_logg_maximum:[0,6],emp_minimum_ag:[0,6],empti:[10,18,20],enabl:[0,6],encount:21,end:[0,2,4,6,18,21],end_bss:4,end_index:2,end_rch:4,end_symb:4,end_timestamp:[5,7,11,13,14],energi:[0,6],enhanc:[0,6],enlarg:[0,6],enough:2,ensembl:[0,6,9,18,19,21],ensemble_def:[0,6],ensemble_dt:[0,6],ensemble_factor_in_probability_weighted_mass:21,ensemble_filt:9,ensemble_filter_:[0,6],ensemble_filters_off:[0,6],ensemble_legacy_ensembl:[0,6],ensemble_list:19,ensemble_logdt:[0,6],ensemble_logtim:[0,6],ensemble_macro:[0,6],ensemble_output_:21,ensemble_startlogtim:[0,6],enter:[0,6],enthalpi:[0,6],entir:[8,10,16,17],entri:[18,19],env:25,envelop:[0,3,4,5,6,23],eorbf:4,eorbi:4,ep:17,epoch:19,equal:[0,6,12,13,14,18],equat:[0,6],equation_of_state_algorithm:[0,6],equation_of_state_paczynski:0,equatori:[0,6],equival:[11,21],errno:[23,26],error:[0,5,6,7,11,12,13,14,18,21,23,26],errors_exceed:[5,7,11,13,14],errors_found:[5,7,11,13,14],esa:2,escap:[0,6],escape_fract:[0,6],escape_veloc:[0,6],estim:[5,15,18],et:[0,2,6,30],eta:[0,6,7,11],etal:[0,6],etc:[0,6,10,12,13,14,18,19,22,23,25,26,27],etf:[7,11],euler:[0,6],evalu:[2,14,19,28,30],evan:[0,6],evapor:[0,6],evaporate_escaped_orbiting_object:[0,6],even:[9,12,13],event:[0,4,5,6],everi:[0,6,7,18,23,26],everyth:[10,14,19,21],everytim:[23,26],evid:[0,6],evolut:[0,1,3,4,5,6,10,11,12,13,14,17,19,21,23,25,28],evolution_split:[0,6],evolution_splitting_maxdepth:[0,6],evolution_splitting_sn_eccentricity_threshold:[0,6],evolution_splitting_sn_n:[0,6],evolution_stop:7,evolution_typ:[5,7,11,13,14,21],evolutionari:[0,6,10],evolv:[0,3,6,8,19,21],evolve_popul:14,evolve_singl:[8,10,19],exact:[1,21],exactli:[0,6,12,13],exampl:[1,2,10,18,19,27,28],example_compact_object:14,example_dco:14,example_df:10,example_head:18,example_header_1:17,example_header_2:17,example_log:27,example_log_co:[1,8],example_logging_string_co:8,example_logging_string_post_m:8,example_massloss:[8,10],example_output:10,example_parse_output:[16,18],example_pop:[10,14],example_pop_set:14,example_post_m:8,example_python_population_result:14,example_sn:8,exce:[0,6,11,21],except:[4,5,6,11,12,13,14,20,21,25],excit:7,execut:[0,6,14,19,21],exist:[0,5,6,14,17,19,20],exist_ok:[14,18],exit:[0,6,18],exit_after_dry_run:21,exp:[7,11,12,13,14,19],expand:[14,27],expect:[5,6,7,11,12,13,23,26],experiment:[0,6,18],explain:[3,18],explicitli:[0,1,6],explod:[0,4,6],explor:15,explos:[0,4,5,6,17],expoenti:[0,6],expon:[0,6],export_all_info:[14,19],express:[0,6],extend:[0,6,7,23,26],extens:[6,19],extern:[0,6],extra:[0,3,6,14,19,21,23,27],extra_text:20,extract:14,extrapol:[2,21],ey:19,f4e5925effeb42e69b5be956f400ae41:5,f:[0,2,4,6,10,14,17],fa:2,fabian:[0,6],fabian_imf_log:[0,6],fabian_imf_log_tim:[0,6],fabian_imf_log_timestep:[0,6],factor:[0,2,6,21,28],fade:[0,6],fail:[0,5,6,7,11,18,21,23,26],fail_sil:18,failed_count:[5,7,11,13,14],failed_prob:[5,7,11,13,14],failed_system:21,failed_system_log:21,failed_systems_error_cod:[5,7,11,13,14],failed_systems_threshold:21,failsaf:10,failur:[0,6,18],fallback:[0,6],fals:[0,4,5,6,7,11,13,14,15,18,19,21,25,28],fancy_parsing_funct:27,far:[0,4,5,6,12,13,15],fase:14,fast:[0,6],faster:[11,12,13,14],favorit:10,fe:[0,6],featur:[3,14,23],feed:21,ferguson:[0,6],fetch:10,few:[0,6,7],fewer:10,field:[0,6],fig:[0,2,6,17],figsiz:[5,7,11,12,13,15,17],figur:[5,7,11,12,13,15,21,25],file:[0,1,4,6,10,14,18,19,20,21,22,23,25,26,27],file_log:[0,6],filehandl:20,filenam:[0,1,4,6,10,14,18,19,21,27],filenotfounderror:[23,26],filepath:1,fill:[10,18],fill_data:2,filter:[0,6,18],filter_arg_dict:18,filter_valu:18,fin:[0,6],final_mass:17,final_tim:17,find:[4,7,14,18,19,21],finish:[5,7,11,13,14,18,25],finit:[5,7,11,12,13],first:[0,2,5,6,7,10,11,12,13,14,15,18,19,23,26,30],first_giant_branch:0,fishlock:[0,6],fit:[0,2,6,10,19,30],fix:[0,2,4,6,10,14,18,19,25],flag:[1,18,21],flash:[0,6],flat:[2,21],flatsect:[2,7,11,14],flaw:19,float64:[16,17],float_overflow_check:[0,6],flto:[23,26],focu:7,fold:2,follow:[0,2,6,8,17,18,21,23,25,26,28],font_scal:[5,7,11,12,13,15],fontsiz:17,forc:[0,4,6],force_circularization_on_rlof:[0,6],force_corotation_of_primary_and_orbit:[0,6],foreach_star:[5,11],form:[0,5,6,7,11,12,13,14,18,19,20],formal:[0,6],format:[0,2,4,6,7,8,10,11,12,13,14,15,17,18,19,28],format_numb:18,former:4,formula:[0,6],forward:[0,6],found:[2,4,5,7,11,13,14,23,26],four:[0,6],fourth:15,fpic:1,fraction:[0,2,6,11,17,21],fractions_z0002:17,fractions_z001:17,fractions_z002:17,framework:6,free:[5,7,11],free_persistent_data_memaddr_and_return_json_output:6,free_store_memaddr:6,frequenc:[0,6,15],friction:[0,6],fring:[0,6],from:[0,2,4,5,7,9,10,11,12,13,14,15,16,17,18,19,21,25,30],from_binary_c_config:1,from_dict:[7,11,12,13,16,17],fryer:[0,6],fsampl:28,ftz:[23,26],full:[3,8,15,18,21],full_path:18,func_memaddr:17,further:[2,14],futur:15,fuv:[0,6],g:[0,1,2,4,5,6,7,8,10,11,12,13,14,16,17,18,19,21,23,26,28],ga:[0,6],gaia:[0,2,6],gaia_colour_transform_method:[0,6],gaia_conversion_ubvri_bivariate_jordi2010:[0,6],gaia_conversion_ubvri_riello2020:[0,6],gaia_conversion_ubvri_univariate_evans2018:[0,6],gaia_conversion_ubvri_univariate_jordi2010:[0,6],gaia_conversion_ugriz_bivariate_jordi2010:[0,6],gaia_conversion_ugriz_riello2020:[0,6],gaia_conversion_ugriz_univariate_evans2018:[0,6],gaia_conversion_ugriz_univariate_jordi2010:[0,6],gaia_l_binwidth:[0,6],gaia_teff_binwidth:[0,6],gain:21,galact:[0,6,28],gallino:[0,6],gamma:[0,6],gap:[0,6],garcia:[0,6],gauss:[0,6],gaussian:[2,28],gaussian_func:2,gaussian_normalizing_const:2,gaussian_zoom:28,gb:[0,6],gb_reimers_eta:[0,6],gb_wind_beasor_etal_2020:0,gb_wind_goldman_etal_2017:0,gb_wind_reim:0,gb_wind_schroeder_cuntz_2005:0,gbwind:[0,6],gbwindfac:[0,6],gcc:[1,23,26],gce:[0,6],gener:[0,1,2,5,6,7,8,10,11,13,14,16,17,18,19,20,21,25,28],generalis:2,geometr:[0,6],geq:5,gerosa:[0,6],get:[0,2,3,5,8,10,11,12,13,14,15,17,18,19,20,23,26,27,30],get_ansi_colour:18,get_arg_kei:18,get_default:[9,18],get_help:[9,18],get_help_al:[9,18,19],get_help_sup:[9,18],get_integration_constant_q:2,get_max_multipl:2,get_moe_di_stefano_dataset:18,get_siz:18,get_usernam:18,gettempdir:17,giant:[0,5,6,15],giant_branch:0,git:[0,11,12,13,14,18],git_branch:18,git_build:18,github:18,gitlab:23,give:[0,2,4,6,7,18,30],given:[0,1,2,6,11,12,13,16,17,18,19,21,27,28,30],global:[0,2,6,11,12,13,28],global_dict:2,gmax:2,gmin:2,gnu:6,go:[0,2,5,6,9,11,14,19,23,25,26],goe:[0,6,8,10,19,25],gogo:[0,6],goldman:[0,6],gonna:2,good:[0,6,10,11,12,13,14,21,30],got:[12,13],gov:[0,6],gravit:[0,5,6,7,14],gravitational_const:5,gravitational_radiation_bs:0,gravitational_radiation_bse_when_no_rlof:0,gravitational_radiation_landau_lifshitz:0,gravitational_radiation_landau_lifshitz_when_no_rlof:0,gravitational_radiation_model:[0,6],gravitational_radiation_modulator_:[0,6],gravitational_radiation_modulator_j:[0,6],gravitational_radiation_non:0,grb:[0,6],great:[0,6,12,13],greater:[0,6],grevess:[0,6],grid:[0,3,6,8,10,18,19,23,24,28],grid_class:[23,24],grid_cod:19,grid_ensemble_result:19,grid_opt:[5,7,10,11,12,13,14,19],grid_options_default:20,grid_options_defaults_dict:20,grid_options_descript:[5,14,20],grid_options_description_check:20,grid_options_help:20,grid_result:[5,7,11,12,13,21],grid_vari:[14,21],grid_variable_numb:[5,7,14,19],gridcod:21,gridcode_filenam:21,gridtyp:[5,7,14,19],group:[5,11,15,18],grvitation:4,gsl:[23,26],gsl_dir:[23,26],gt:[4,5,6,7,8,10,12,14,15,16,17],guess:[0,2,6],gyr:[4,5,7],gz:19,h5py:[23,26],h:[0,4,6,8],ha:[0,1,4,5,6,7,8,9,11,12,13,14,17,18,19,21],hachisu:[0,6],hachisu_disk_wind:[0,6],hachisu_ignore_qcrit:0,hachisu_qcrit:[0,6],hack:20,had:[5,7,11,12,13,19],half:[0,6],hall:[0,6],handi:[0,6],handl:[0,3,6,10,18,19,21,27,30],happen:[0,5,6,7],hardcod:[8,11,12,13,14],have:[0,2,3,4,5,6,7,8,10,11,12,13,14,17,18,19,20,21,23,25,26],haven:5,hbb:[0,6],hbbtfac:[0,6],hd:25,hdf5:18,hdf5file:18,he:[0,4,6],head:[0,15],header:[1,5,7,8,10,11,12,13,14,17,18],headerlin:14,headlin:21,hegb:[0,4],hehg:0,height:[2,7,11,14],helium:[0,5,6],helium_flash_mass_loss:[0,6],helium_white_dwarf:0,help:[0,3,4,6,10,11,12,13,14,18,20],help_al:[0,6],hem:0,henc:[0,6,7,12,13,15],hendrik:[17,23,26],here:[1,5,6,8,10,11,12,13,15,17,18,19,21,25],hertzsprung:[0,3,6,23],hertzsprung_gap:0,hertzstrpung:[0,6],heuvel:[0,6],hewd:[0,6],hewd_hewd_ignition_mass:[0,6],hex:21,hg:[0,6],hi:2,high:[0,2,6,12,13],higher:[0,2,5,6,7,11,12,13,14,18,21,23,26],histogram:7,histori:2,hole:[0,3,5,6,23],home:6,homogen:[0,6],hood:10,hopefulli:[0,6],hot:[0,6],hour:18,how:[0,4,5,6,7,8,10,11,12,13,14,17,19,21],howev:[0,6,8,11,12,13,14],hoyl:[0,6],hpc:[19,22],hpc_function:[23,24],hr:25,hr_diagram:25,hrd:[0,5,6,7],hrdiag:[0,6],hrdiag_output:[0,6],html:[5,14,23,26],http:[0,1,2,5,6,14,18],human:18,hurlei:[0,6],hut:[0,6],hybrid:[0,6],hydro:[0,6],hydrogen:[0,5,6],i:[1,2,4,5,6,7,8,10,11,12,13,14,15,18,19,21,23,26],ia:[0,6,7],ib:[0,4,6],ibc:[0,6],id:[2,19,21],id_cor:8,idea:[14,25],idum:[0,6],ignit:[0,5,6],ignor:[0,6,8,10,14,17,19,21],ii:[0,6,17],iia:[0,6],iloc:[10,17],imf:[0,2,6,12,13],imf_chabrier2003:2,imf_scalo1986:2,imf_scalo1998:2,imf_tinsley1980:2,immedi:[0,5,6],implement:[0,6,19,21],impli:[0,6],implic:[12,13],impos:[5,7,11,12,13,14],imposs:7,improv:[2,28],inclin:[0,6],inclination1:[0,6],inclination2:[0,6],inclination3:[0,6],inclination4:[0,6],inclini:[0,6],incliniation_quadrupl:[0,6],incliniation_tripl:[0,6],includ:[0,1,2,5,6,8,10,12,13,14,15,18,19,23,25,26],include_binary_c_default:[14,19],include_binary_c_help_al:[14,19],include_binary_c_version_info:[14,19],include_default:[14,19],include_popul:14,include_population_set:19,incom:[0,6],increas:[0,4,6,7,11,12,13],inde:[0,6,12,13],indent:[10,19],index:[0,2,6,9,10,15,23],indic:[0,2,6],individu:[3,11,23],individual_nova:[0,6],induc:[0,6],inertia:[0,6],info:[6,9,14,18,19,23,25,26],inform:[0,1,3,5,8,10,11,12,13,14,18,19,20,25],init:19,init_abund:[0,6],init_abund_dex:[0,6],init_abund_mult:[0,6],init_abunds_onli:[0,6],initi:[0,2,3,4,6,9,10,17,19],initial_abundance_hash:19,initial_abundance_mix:[0,6],initial_abunds_onli:[0,6],initial_grid:17,initial_mass:[10,17],initial_tim:17,inlin:17,inner:[0,6,15],input:[1,2,6,9,10,18,19,21,23,25,30],insert:[14,19],insid:[0,6],inspect:[10,25],inspir:[1,25,30],instabl:[0,6],install_without_depend:[23,26],instanc:[10,11,12,13,14],instant:[0,6],instantli:[0,6],instead:[0,4,6,12,13,18,21],integ:[0,5,6,19,21,30],integr:[2,11,12,13,28],integrals_str:2,intens:[12,13],interact:[0,4,5,6,7,15,17,20],interfac:[6,15,18,23,26],interfer:[23,26],intermedi:7,intern:[0,6,9,21],internal_buff:[0,6],internal_buffering_off:0,internal_buffering_print:0,internal_buffering_stor:0,interpol:[2,19,28],interpolate_in_mass_izzard2012:2,interpolator_nam:2,intershel:[0,6],interstellar:[0,6],intger:[0,6],intro:[0,6],introduc:4,introduct:5,inv:[4,17],invers:30,invert_xaxi:5,involv:[0,6],inward:[0,6],ipykernel_216542:15,ipykernel_519112:12,ipynb:[11,12,13,14],is_capsul:18,isfil:14,isn:[12,13,18],isnt:14,isotop:[0,6,9,18],isotope_hash:19,isotope_list:19,item:[1,5,7,11,12,13],iter:18,its:[0,6,11,12,13,14,15,18,19,20,23,25,26,27,28],itself:[5,8,10,21,23,26],iwamoto:[0,6],izzard2012_period_distribut:2,izzard:[0,5,6,7,10,11,12,13,14,23,26],jager:[0,6],jaschek:2,jeff:[23,26],jej:4,jerki:5,jf:4,jia:[0,6],john:[0,6],join:[6,8,10,14,17],jorb_in:4,jorb_out:4,jordi:[0,6],json:[6,10,14,18,19,21],jtot_in:4,jupit:15,jupyt:[23,26],just:[0,2,5,6,7,14,17,18,19,21,23,26,30],k1:[4,10,17],k2:[4,10,17],k:[0,2,5,6,15],kap:[0,6],kappa:[0,6],kaps_rentrop:[0,6],karaka:[0,6],keep:[7,14,19],kei:[1,2,5,9,10,14,15,17,18,19,20,21,25],kelvin:[0,6],keplerian:[0,6],keyword:[12,25,27],kick:[0,4,6,17,21],kick_backward:0,kick_forward:0,kick_inward:0,kick_outward:0,kick_random:0,kick_straight_up:0,kick_velocity_custom:0,kick_velocity_fix:0,kick_velocity_maxwellian:0,kill:[1,8,14],kilonova:5,kim:[0,6],kind:6,kippenhahn:[0,6],klencki:6,km:[0,6],know:[0,1,6,9,10,12,13,20],known:[0,2,5,6,10,11,12,13,14,19,27],kroupa2001:[2,14,19],kroupa:[2,12,13],krticka:[0,6],ktg93:2,kwarg:[17,19,25,27],l1:4,l2:[0,6],l:[0,5,6,11,12,13],l_:[11,12,13],label:[5,17],lambda:[0,4,6,7],lambda_:7,lambda_c:[0,4,6,7],lambda_ce_dewi_tauri:[0,6],lambda_ce_klencki_2020:[0,6],lambda_ce_polytrop:[0,6],lambda_ce_wang_2016:[0,6],lambda_enthalpi:[0,6],lambda_ion:4,lambda_ionis:[0,6],lambda_min:[0,6],lambda_mult:[0,6],lambda_multipli:[0,6],lambda_v:2,lamer:[0,6],landau:[0,6],langer:[0,6],languag:5,larger:[0,5,6],last:[2,3,12,15,17,18],last_st:17,last_stellar_type_change_time_1:17,lastli:[6,10],late:17,later:[11,12,13],latest0:[5,7,11],latest1:[5,7,11],latest2:[5,14],latest3:5,latest4:5,latest5:5,latest:[21,23,26],latter:[0,6],law:[2,12,13],law_const:2,lbv:[0,6],ld_library_path:[23,26],ldist:[12,13],lead:[0,5,6,11,12,13,14,30],learn:8,least:[23,26],leav:[0,6],left:[0,6],legaci:[0,6],legacy_yield:[0,6],legend:[15,17],len:[4,5,10,14,17],length:[4,18],lengthen:[0,6],leq:5,less:[0,1,2,3,4,6],let:[4,7,10,11,12,13,14,15,19],level:[1,5,18,19],li7:[0,6],li:[0,6],lib:[6,10,16,17,23,26],libbinary_c:21,libcustom_logging_0639ee205c7d4782b4a27378f5d890bd:10,libcustom_logging_dafa15d2b1e64e19972ac0e9eb5c9a55:10,libgsl:[23,26],libmemo:[23,26],librari:[0,1,5,6,8,17,19,21,27],library_path:[23,26],librinterpol:[23,26],life:7,lifetim:[0,6,7,11,12,13,14,28],lifshitz:[0,6],like:[0,1,5,6,7,11,12,13,14,17,18,19,21,23,25,26,28],limit:[0,5,6,7,11,12,13,14,25],line:[1,4,5,7,8,10,11,12,13,14,15,16,18,19,21,23,25,26,28],linear2:21,linear:[0,2,6,11,12,13,21,28],linear_extrapolation_q:2,linearli:[12,13,28],linedata:[5,7,11,12,13],lineplot:[5,7,11,12,13,15],linewidth:[5,7,11,12,13,15],linker:1,linspac:28,linux:6,list:[0,1,2,5,6,7,10,11,12,13,14,15,18,19,21,27,28],list_arg:[0,6],list_of_sub_kei:2,lit:[0,6],lithium:[0,6],lithium_gb_post_1dup:[0,6],lithium_gb_post_heflash:[0,6],lithium_hbb_multipli:[0,6],lithium_t:[0,6],littl:[4,5,7,11,15],littleton:[0,6],liu:[0,6],ll:[8,9,12,13,15,19],llnl:[0,6],ln:2,lnm1:[7,11,12,13,14,19],lnm_1:[12,13],load:[0,1,5,6,7,8,10,11,12,13,14,17,19,21,25],load_logfil:18,lobe:[0,4,6,7,30],loc:15,local:[2,6],locat:[0,2,6,21,23,26,28],lock:4,lodder:[0,6],log10:[0,2,5,6,7,11,12,13,14,28],log10m1:21,log10mass:28,log10p:2,log10per:[7,11,14],log10pmin:2,log:[0,1,2,3,4,6,10,15,16,18,19,21,23,25,26,27,28,30],log_:[5,7,11,12,13],log_arg:21,log_args_dir:21,log_arrow:[0,6],log_dt:[7,21],log_every_timestep:[8,10],log_fil:[4,21],log_filenam:[0,4,6,10,17,27],log_runtime_system:21,logarithm:[2,12,13,28],logensembletim:[0,6],logfil:[10,18,23,26],logg:[0,5,6],logger:14,logging_dict:1,logging_lin:[8,16,17],loggrav:5,logi:16,logic:[1,8,19,21],logl:5,logmass:[2,28],logp:2,logper:[2,7],logperiod:2,logperrang:[7,11],logspac:28,logteff:5,long_spectral_typ:2,longer:[0,5,6,7],longnam:[5,7,11,12,13,14,19],look:[1,5,7,11,12,13,14,17,23,26],lookback:[0,6],loon:[0,6],loop:[5,7,10,11,12,13,14,19],loos:25,lose:[0,6,17],loss:[0,4,6,10,11,15],lost:[0,6,7,17],lot:[5,11,12,13,14,15,18,21,27],low:[0,2,5,6,7,12,13],low_mass_m:0,low_mass_main_sequ:0,lower:[0,2,6,11,14,19,28],lsoda:[0,6],lsun:[0,6,25],lt:[5,6,7,10,12,14,15,16],lugaro:[0,6],luminos:[0,3,5,6,23,25],luminosity_1:25,luminosity_2:25,luminosu:5,lw:[0,6],lynnett:[0,6],m01:4,m0:2,m1:[0,2,4,6,7,8,10,11,12,13,14,17,19,30],m2:[2,4,7,8,10,11,14,17,19,30],m3:2,m4:2,m:[0,2,4,5,6,7,11,12,13,15,17,30],m_1:[0,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,27],m_2:[0,4,5,6,7,8,10,11,14,16,17],m_3:[0,6],m_4:[0,6],m_:17,m_max:[2,14,19],m_min:[14,19],m_sun:5,maccretor:[0,4,6],machin:[7,21,23,26],macro:[0,6,9,18],madau:2,made:[5,23,26],maeder:[0,6],magellan:[0,6],magnet:[0,6],magnetic_braking_algorithm:[0,6],magnetic_braking_algorithm_andronov_2003:0,magnetic_braking_algorithm_barnes_2010:0,magnetic_braking_algorithm_hurley_2002:0,magnetic_braking_algorithm_rappaport_1983:0,magnetic_braking_factor:[0,6],magnetic_braking_gamma:[0,6],magnitud:18,mai:[0,6,7,11],main:[0,1,5,6,8,11,12,13,14,17,21,23,26],main_sequ:[0,6,11,12,13,17],mainli:22,mainprocess:[5,7,11],major:[0,6],make:[0,1,2,4,5,6,7,10,11,12,13,14,15,17,18,19,21,23,25,26,27],make_build_text:18,makedir:[14,18],manag:[18,23,26],mani:[0,5,6,7,9,11,12,13,14,19,21],manual:8,manufactur:[0,6],map:21,mar:15,maria:[0,6],mass:[0,1,2,3,4,5,6,7,9,10,11,14,15,17,18,19,21,25,27,28,30],mass_1:[14,17,25],mass_2:[14,17,25],mass_accretion_for_eld:[0,6],mass_accretor:30,mass_donor:30,mass_evolut:25,mass_for_hestar_ia_low:[0,6],mass_for_hestar_ia_upp:[0,6],mass_loss_m:17,mass_lost:17,mass_of_pmz:[0,6],mass_rang:17,mass_str:2,massiv:[0,2,3,4,5,6,7,11,15,23],massless:[0,6],massless_remn:0,massrang:[5,7,11,12,13],master:[21,25],match:[0,5,6,10,11,14,15,25],materi:[0,5,6],math:[5,7,11,12,13,14,15,19,28],mathrm:[5,7,11,12,13],matplotlib:[5,7,12,13,15,17,23,25,26],matter:[0,6],mattsson:[0,6],mattsson_mass_loss:[0,6],mattsson_orich_tpagbwind:[0,6],max:[0,2,6,7,8,11,12,13,14],max_bound:[2,28],max_column:[5,7,15],max_evolution_tim:[0,1,5,6,7,8,10,11,12,13,14,15,17,28],max_hewd_mass:[0,6],max_logp:2,max_model_numb:[0,6],max_multipl:2,max_neutron_star_mass:[0,6],max_queue_s:21,max_row:[5,7,15],max_stellar_angmom_chang:[0,6],max_stellar_type_1:[0,6],max_stellar_type_2:[0,6],max_stellar_type_3:[0,6],max_stellar_type_4:[0,6],max_tim:[4,10,17],max_val:2,maxcount:4,maxdm:28,maximum:[0,2,5,6,7,8,11,12,13,14,21,28,30],maximum_mass_ratio_for_instant_rlof:[0,6],maximum_mass_ratio_for_rlof:30,maximum_mcbagb_for_degenerate_carbon_ignit:[0,6],maximum_nuclear_burning_timestep:[0,6],maximum_timestep:[0,6],maximum_timestep_factor:[0,6],maxmimum:[0,6],maxwellian:[0,6],mayb:25,mayor:2,mb:[5,7,11,13,14,18],mc13_pocket_multipli:[0,6],mc1:4,mc:[0,4,6,14,17,19],mch:[0,6],mcmin:[0,6],mdonor:[0,4,6],mean:[0,2,4,6,18,19,21,23,26,28],meant:21,measur:18,medium:[0,6],mega:2,mem:[7,11],mem_us:18,memaddr:[6,8],memori:[1,5,6,7,8,11,13,14,17,18,19,21,30],menv:[0,4,6],mer:4,mercuri:15,merg:[0,2,4,5,6,7,21],merge_dict:9,merge_multipl:2,merger:[0,4,6],merger_angular_momentum_factor:[0,6],merger_mass_loss_fract:[0,6],mesa:[23,26],mesasdk_init:[23,26],mesasdk_root:[23,26],mess:15,messag:18,messi:5,mestel:[0,6],met:[14,19],metal:[0,2,4,5,6,7,8,10,11,12,13,14,15,16,17,30],metallicity_0002:17,metallicity_001:17,metallicity_002:17,method:[0,6,8,10,11,12,13,14,17,19,21],meynet:[0,6],mf1:4,mf2:4,might:[7,11,14,15,19,23,26],milki:[0,6],miller:[0,6],min:[2,7,8,11,12,13,14],min_bound:[2,28],min_logp:2,min_per:2,min_val:2,mind:17,mindm:28,minimal_verbos:18,minimum:[0,2,6,18,21,28,30],minimum_co_core_mass_for_carbon_ignit:[0,6],minimum_co_core_mass_for_neon_ignit:[0,6],minimum_donor_menv_for_comenv:[0,6],minimum_envelope_mass_for_third_dredgeup:[0,6],minimum_helium_ignition_core_mass:[0,6],minimum_mcbagb_for_nondegenerate_carbon_ignit:[0,6],minimum_orbital_period_for_instant_rlof:[0,6],minimum_period_for_rlof:30,minimum_separation_for_instant_rlof:[0,6],minimum_separation_for_rlof:30,minimum_time_between_pn:[0,6],minimum_timestep:[0,6],mint:[0,6],mint_data_cleanup:[0,6],mint_dir:[0,6],mint_disable_grid_load_warn:[0,6],mint_fallback_to_test_data:[0,6],mint_hard_max_nshel:[0,6],mint_hard_min_nshel:[0,6],mint_kippenhahn:[0,6],mint_kippenhahn_companion_stellar_typ:[0,6],mint_kippenhahn_stellar_typ:[0,6],mint_maximum_nshel:[0,6],mint_maximum_shell_mass:[0,6],mint_metal:[0,6],mint_minimum_nshel:[0,6],mint_minimum_shell_mass:[0,6],mint_ms_rejuven:[0,6],mint_nshel:[0,6],mint_nuclear_burn:[0,6],mint_remesh:[0,6],mint_use_zams_profil:[0,6],minut:[7,18],mira:[0,6],misc:[6,23],miscellan:[9,18],miss:[0,6,11,12,13,18,20],mix:[0,6,21],mixtur:[0,6,11],mmax:[2,12,13,28],mmin:[2,12,13,21,28],mnra:30,model:[0,1,5,6,7,8,10,11,12,13,14,15,16,17,21],model_numb:[11,12,13],modif:3,modifi:[0,6,8,23,26],modul:[0,6,7,9,11,12,13,14,15,20,21,24],modulo:21,moe2017_opt:21,moe:[2,14,18,19,23],moe_di_stefano_2017:19,moe_di_stefano_2017_multiplicity_fract:2,moe_di_stefano_2017_pdf:2,moment:[0,5,6,8,14,17,28],momenta:[0,6,25],momentum:[0,6,15],monoton:[12,13],mont:[0,6,21],monte_carlo_kick:[0,6],more:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,21,23,25,26,28],most:[5,6,7,12,13,15,18],mostli:[5,7,11,12,13,14,17,18,20,21,25,27],move:[0,5,6],ms:[0,4,6,8,11],msgpack:19,mstart:4,msun:[0,2,5,6,8,10,11,12,13,15,17,28],mu:[0,6],much:[0,5,6,7,11,14,17,18],multi:21,multipl:[0,2,5,6,21],multiplc:[0,6],multipli:[0,6,12,13,21,28],multiplicity_arrai:2,multiplicity_fraction_funct:21,multiplicity_model:21,multiplicity_modul:21,multiply_values_dict:9,multiprocess:21,must:[0,2,5,6,7,10,11,12,13,14,15,19,28],mw:[0,6],my:10,my_stellar_data:[1,8,14,16,17],myr:[0,5,6,7,10,11,12,13,15,28],n100:[0,6],n100_z0:[0,6],n100h:[0,6],n100l:[0,6],n10:[0,6],n150:[0,6],n1600:[0,6],n1600c:[0,6],n1:[0,6],n200:[0,6],n20:[0,6],n300c:[0,6],n3:[0,6],n40:[0,6],n5:[0,6],n:[0,1,2,4,5,6,7,8,10,11,12,13,14,16,17,18],n_logging_stat:21,naked_helium_star_giant_branch:0,naked_helium_star_hertzsprung_gap:0,naked_main_sequence_helium_star:0,name:[1,4,5,6,7,11,12,13,14,15,17,18,19,20,27,29],nameerror:15,narrow:[12,13],natur:[0,6,12,13],nauenberg:[0,6],nb:[0,6],nbinary_c:17,ncol:17,nearer:[0,6],nearest:[7,11,12,13],nebula:[0,6],necessari:[7,14,15,17,18,19],need:[0,2,6,8,10,11,12,13,14,15,17,19,23,26],neg:[0,6,28],neither:[0,6,19],neleman:[0,6],nelemans_gamma:[0,6],nelemans_max_frac_j_chang:[0,6],nelemans_minq:[0,6],nelemans_n_comenv:[0,6],nelemans_recalc_eccentr:[0,6],nemp:[0,6],nemp_cfe_minimum:[0,6],nemp_nfe_minimum:[0,6],nenamg:[0,6],neon:[0,5,6],neptun:15,nest:[14,18,19],network:[0,6,9],neutrn:[0,6],neutron:[0,5,6,14],neutron_star:0,never:[0,5,6,12,13],newer:[0,2,6],newli:[0,6],newnam:19,newopt:2,newton:[0,6],next:[11,12,13,14,18],nice:[1,19,25],nieuwenhuijzen:[0,6],nieuwenhuijzen_windfac:[0,6],nine:5,nmax:2,no_thermohaline_mix:[0,6],noecho:[0,6],noechonow:[0,6],noel:[0,6],nolowq:21,nomin:[0,6],non:[0,6,12,13,21],nonconservative_angmom_gamma:[0,6],none:[0,1,2,4,5,6,7,11,13,14,15,17,18,19,20,21,28,30],nonzero:21,nor:[0,6],norm:21,normal:[0,6,28],normalis:[2,21],normalize_dict:2,normalize_multipl:21,notabl:14,note:[0,4,5,6,11,12,13,14,17,18,19,21,28],notebook:[4,5,6,7,8,9,10,11,12,13,14,15,23,26],notebook_api_funct:10,notebook_bhbh:4,notebook_comenv:7,notebook_custom_log:[10,11,12,13,14],notebook_hrd:5,notebook_individual_system:[8,10,11,12,13,14],notebook_luminos:[12,13],notebook_luminosity_funct:11,notebook_luminosity_function_binari:[12,13],notebook_popul:[10,14],notebook_solar_system:15,noteworthi:3,noth:[19,21],notic:[12,13],notifi:27,nov:[0,17],nova:[0,5,6,7],nova_faml_multipli:[0,6],nova_irradiation_multipli:[0,6],nova_retention_algorithm_claeys2014:0,nova_retention_algorithm_const:0,nova_retention_algorithm_hillman2015:0,nova_retention_fract:[0,6],nova_retention_method:[0,6],nova_timestep_accelerator_index:[0,6],nova_timestep_accelerator_max:[0,6],nova_timestep_accelerator_num:[0,6],now:[0,2,4,5,6,7,8,10,11,12,13,14,15,17,18,19],np:[10,16,17,28],nre:[11,28],nrow:17,ns:[0,1,6,7,8,14],nsep:7,nsep_max:7,nsep_min:7,nstar:[5,11],nuclear:[0,6],nuclear_mass_hash:19,nuclear_mass_list:19,nucleosynthesi:[0,6,18],nucleosynthesis_sourc:[9,18],nucreacmult:[0,6],nucsyn:[6,23],nucsyn_angelou_lithium:[0,6],nucsyn_gce_outflow_check:[0,6],nucsyn_hbb:[0,6],nucsyn_init_abund_mix_ag89:0,nucsyn_init_abund_mix_asplund2005:0,nucsyn_init_abund_mix_asplund2009:0,nucsyn_init_abund_mix_garciaberro:0,nucsyn_init_abund_mix_grevesse_noels_1993:0,nucsyn_init_abund_mix_karakas2002:0,nucsyn_init_abund_mix_kobayashi2011_asplund2009:0,nucsyn_init_abund_mix_lodders2003:0,nucsyn_init_abund_mix_lodders2010:0,nucsyn_metal:[0,6],nucsyn_network:[0,6],nucsyn_network_error:[0,6],nucsyn_s_process:[0,6],nucsyn_solv:[0,6],nucsyn_solver_cvod:0,nucsyn_solver_kaps_rentrop:0,nucsyn_solver_lsoda:0,nucsyn_solver_numb:0,nucsyn_third_dredge_up:[0,6],nugi:[0,6],num_ansi_colour:[0,6],num_cor:[5,7,11,12,13,14,21],number:[0,2,4,5,6,7,11,12,13,14,15,17,18,19,20,21,23,26,28],numpi:[10,14,16,17,18,19,23,26,28],o:[2,6,18,23],obj:18,object:[0,3,6,15,18,19,21,22,25],object_parse_funct:10,observ:[11,12,13],obtain:[0,5,7,11,12,13],obvious:8,occur:[0,6,30],odot:[5,7,17],off:[0,4,6,14,17],off_m:[4,10,17],offset:[0,6],oh:4,ohio:[0,6],old:[12,13,19,21],old_solut:[23,26],oldnam:19,omega:[0,4,6,17],onc:[0,6,28],one:[0,6,9,12,13,14,15,16,17,19,21,25,28],onewd:0,onli:[0,5,6,8,11,12,13,14,15,17,18,19,21,28,30],onset:[0,6],onto:[0,2,6],oop:4,opac:[0,6],opacity_algorithm:[0,6],opacity_algorithm_ferguson_op:0,opacity_algorithm_paczynski:0,opacity_algorithm_star:0,opal:[0,6],open:[4,10,14,17],opm:2,opt:[2,4,6],option:[0,1,2,5,6,7,11,12,13,14,15,16,17,18,19,23,24,26,28,30],orb:[7,14,19],orbit:[0,2,4,6,7,11,15,25,30],orbit_evolut:25,orbital_eccentr:15,orbital_inclin:[0,6],orbital_inclinationi:[0,6],orbital_period:[0,4,6,7,8,10,11,14,16,17,30],orbital_period_quadrupl:[0,6],orbital_period_tripl:[0,6],orbital_phas:[0,6],orbital_phase_quadrupl:[0,6],orbital_phase_tripl:[0,6],orbital_separ:15,orbiting_object:[0,6,15],orbiting_objects_close_pc_threshold:[0,6],orbiting_objects_log:[0,6,15],orbiting_objects_tides_multipli:[0,6],orbiting_objects_wind_accretion_multipli:[0,6],order:[3,14,18,19],org:[0,2,6],orient:7,origin:[15,23,26],os:[4,5,7,10,11,12,13,14,15,17,18],other:[0,1,2,5,6,9,10,11,12,13,14,18,20,21,23,25,26],otherwis:[0,6,18,19,20,21],our:[5,7,11,12,13],out:[5,7,8,11,12,13,15,18,20,21],outcom:[0,6],outer:[0,5,6],outermost_core_mass:5,outfil:[14,19],outfile_nam:1,outfilenam:14,output:[1,3,4,6,8,9,10,15,16,17,18,19,21,23,25,26,27,30],output_dict:[5,7,10,11],output_dir:[10,14,19],output_fil:[10,18,19,20],output_filenam:[14,19],output_lin:18,outsid:[0,2,6],outward:[0,6],over:[5,7,9,10,11,12,13,14,18,19],overflow:[0,4,6,7],overrid:[2,17,19,28],overriden:14,overshoot:[0,6],overspin_algorithm:[0,6],overspin_bs:[0,6],overspin_massloss:[0,6],overview:6,own:[8,10,14,16,17,19,21,23,26],oxygen:[0,5,6],oxygen_neon_white_dwarf:0,p0:2,p1:2,p2:2,p3:2,p:[2,5,7,11,12,13,15,20],p_:7,p_in:4,p_out:4,packag:[6,14,18,23,26,28],paczynski:[0,6],pad:[7,11,12,13],pad_output_distribut:[5,7,11,12,13,18],page:[0,5,6,14,23,26],pair:[4,18,19],panda:[5,7,10,11,12,13,15,16,17,18,23,25,26],pane:25,panel:[0,6],paper:[0,6],param:[18,19],param_nam:18,paramet:[1,2,3,5,6,7,8,10,11,12,13,14,18,19,20,21,23,25,27,28,30],parameter_nam:[5,6,7,9,11,12,13,14,18,19],parameter_value_input_typ:[9,18],pars:[3,5,7,10,11,12,13,14,17,18,19,25,27],parse_binary_c_version_info:18,parse_cmdlin:19,parse_data:7,parse_funct:[5,7,10,11,12,13,14,19,21,27],parse_function_hr_diagram:25,parse_function_mass:25,parse_function_orbit:25,parse_output:17,parsec:2,part:[2,5,6,10,11,12,13,14,17,19,30],partial:[0,6],particularli:[0,6],pasp:2,pass:[6,8,10,14,15,17,18,19,21,23,25,26,27,28],path:[10,14,17,18,21,23,26],patho:[23,26],pd:[5,7,10,11,12,13,15,16,17],pdf:[0,2,6,17,23,26],peak:[7,12,13,28],peak_normalized_gaussian_func:28,pend:[0,4,6],per:[0,4,6,7,10,11,14,18,19,21,30],percentag:[0,6],peret:[0,6],perfect:[12,13],perfectli:[11,12,13],perform:[0,6],perhap:[0,5,6,7],periastron:[0,6],pericent:30,period:[0,2,4,6,7,8,10,11,12,13,14,15,17,25,30],period_str:2,perl:[1,11,12,13,14],persist:6,persistent_data:6,pgo:[0,6],phase:[0,5,6,7,11,12,13],phasevol:[0,6,14],phi:[4,17],photoevapor:[0,6],php:2,physic:[5,11,12,13,14],pick:25,piec:[14,17,19],pinnsonneault:[0,6],pkg:[23,26],pl:19,place:[0,6,11,18],placehold:25,plai:[0,6,12,13],plan:21,planet:15,planetari:[0,6],plaw2:21,pleas:[0,5,6,11,12,13,14,18],plot:[0,5,6,7,10,11,12,13,15,16,17,25],plot_data:[7,11,12,13],plot_funct:[23,24],plot_hr_diagram:25,plot_hr_diagram_singl:25,plot_mass:25,plot_orbit:25,plot_system:25,plot_typ:25,plt:[5,7,12,13,15,17],plu:[0,6],pluto:15,pm:25,pms_mass_1:25,pms_mass_2:25,pn:[0,6],pn_comenv_transition_tim:[0,6],pn_fast_wind:[0,6],pn_fast_wind_dm_agb:[0,6],pn_fast_wind_dm_gb:[0,6],pn_fast_wind_mdot_agb:[0,6],pn_fast_wind_mdot_gb:[0,6],pn_hall_fading_time_algorithm:[0,6],pn_hall_fading_time_algorithm_maximum:[0,6],pn_hall_fading_time_algorithm_minimum:[0,6],pn_resolv:[0,6],pn_resolve_maximum_envelope_mass:[0,6],pn_resolve_minimum_effective_temperatur:[0,6],pn_resolve_minimum_luminos:[0,6],pne:[0,6],png:17,pogg:[0,6],point:[0,2,5,6,18,19,23,26,28],poisson:[2,21],pol:[0,6],polytrop:[0,6],poor:[12,13],pop:[4,8,15],pop_macro:8,popul:[0,2,3,6,19,20,22,23,26,28],population_id:21,population_nam:[5,7,11,13,14],population_set:19,posit:[0,2,6,7],possibl:[0,1,2,5,6,10,15,18,20,23,26],post:[0,4,5,6,7,8],post_ce_adaptive_menv:[0,6],post_ce_envelope_dm_eagb:[0,6],post_ce_envelope_dm_gb:[0,6],post_ce_envelope_dm_tpagb:[0,6],post_ce_objects_have_envelop:[0,6],post_comenv_period:7,post_sn_orbit_bs:0,post_sn_orbit_method:[0,6],post_sn_orbit_tt98:0,postagb_legacy_log:[0,6],postagb_wind_gi:0,postagb_wind_krticka2020:[0,6],postagb_wind_non:[0,6],postagb_wind_use_gi:[0,6],postagbwind:[0,6],postcod:[5,7,14,19],potenti:[0,6],pow2:5,power:[0,2,6,7,12,13],powerlaw:2,powerlaw_const:2,powerlaw_extrapolation_q:2,ppn_envelope_mass:[0,6],pragma:8,pre:[0,4,6,7,17,25],pre_comenv_period:7,pre_events_stardata:[0,6],pre_main_sequ:[0,6],pre_main_sequence_fit_lob:[0,6],precod:[5,7,11,12,13,14,19],predefin:[2,11,12,13,14],predict:21,predictor:[0,6],prefer:[0,6,19],prefix:[0,6],prepar:2,prepare_dict:2,presc:4,prescrib:[0,6],prescript:[0,4,6,14],prescrit:[0,6],present:[2,5,11,12,13,14,17,19],preserv:[0,6],preset:25,pressur:[0,6],prev_stellar_type_1:14,prev_stellar_type_2:14,prevent:[0,4,5,6,21],previou:[7,12,13,18],previous:[10,14],previous_stardata:[1,7,8,10,14],primari:[1,2,5,7,11,12,13,14,19,30],prime:7,pringl:[0,6],print:[4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,20,21],print_help:[9,18],print_info:20,print_option_descript:20,printf:[1,5,7,8,10,11,12,13,14,16,17],prior:[0,5,6],privat:[19,20,23],prob_dict:2,probability_weighted_mass:21,probabl:[0,1,2,5,6,7,8,11,12,13,14,17,19,20,21,25],probdist:[5,7,11,12,13,14,19],problem:[0,6,11],probtot:[12,13],process:[0,5,6,7,11,12,13,14,16,17,18,19,21],processor:[5,7,11],produc:5,profil:[0,6],progenitor:[0,6,14],program:[5,23,26],progress:18,project:[0,6],proper:[5,8,20],properli:[0,6,19],properti:[0,18,19,21,25],proport:7,prot1:[0,6],prot2:[0,6],prot3:[0,6],prot4:[0,6],provid:[0,2,6,14,19,21,27],pseudorandom:[0,6],psutil:21,publicli:8,puls:[0,5,6,30],pump:[0,6],purpos:[11,12,13,14,21,25],push:15,push_macro:8,put:[1,5,7,11,12,13,14,17,18,19,21,25],py:[5,7,11,12,13,14,15,23,26],py_rinterpol:[23,26],pyenv:[23,26],pyplot:[5,7,12,13,15,17],pysiz:18,pytest:[23,26],python3:[6,23,26],python:[3,5,7,11,12,13,18,19],q:[0,2,4,6,7,11,14,17,21,30],q_high_extrapolation_method:21,q_interpol:2,q_low_extrapolation_method:21,qc:4,qcrit_bh:[0,6],qcrit_bs:0,qcrit_cheb:[0,6],qcrit_chen_han_formula:0,qcrit_chen_han_t:0,qcrit_cowd:[0,6],qcrit_degenerate_bh:[0,6],qcrit_degenerate_cheb:[0,6],qcrit_degenerate_cowd:[0,6],qcrit_degenerate_eagb:[0,6],qcrit_degenerate_gb:[0,6],qcrit_degenerate_hegb:[0,6],qcrit_degenerate_hehg:[0,6],qcrit_degenerate_hem:[0,6],qcrit_degenerate_hewd:[0,6],qcrit_degenerate_hg:[0,6],qcrit_degenerate_lmm:[0,6],qcrit_degenerate_m:[0,6],qcrit_degenerate_n:[0,6],qcrit_degenerate_onewd:[0,6],qcrit_degenerate_tpagb:[0,6],qcrit_eagb:[0,6],qcrit_gb:[0,6],qcrit_gb_bs:0,qcrit_gb_chen_han_formula:0,qcrit_gb_chen_han_t:0,qcrit_gb_ge2015:0,qcrit_gb_hjellming_webbink:0,qcrit_gb_q_no_comenv:0,qcrit_gb_temmink2021:0,qcrit_gb_vos2018:0,qcrit_ge2015:0,qcrit_hegb:[0,6],qcrit_hehg:[0,6],qcrit_hem:[0,6],qcrit_hewd:[0,6],qcrit_hg:[0,6],qcrit_hjellming_webbink:0,qcrit_lmm:[0,6],qcrit_m:[0,6],qcrit_n:[0,6],qcrit_onewd:[0,6],qcrit_q_no_comenv:0,qcrit_temmink2021:0,qcrit_tpagb:[0,6],qcrit_vos2018:0,qcrits_:[0,6],qcrits_degenerate_:[0,6],qdata:2,qlimit:2,qs:2,quad:21,quadrat:[0,6],quadrulpl:[0,6],quadrupl:[0,2,6,21],quantiti:25,queri:10,queue:[5,7,11,21],quickli:10,quit:[0,5,6,18],r1:[4,10,17],r2:[4,10,17],r:[0,1,4,5,6,10,14,17,23,26],r_l:30,r_sun:5,radau:[0,6],radi:[0,6],radiat:[0,6],radii:[0,6,30],radiu:[0,1,5,6,8,14,16,25,30],radius_1:25,radius_2:25,ragb:30,raghavan2010_binary_fract:2,raghavan:2,rai:[0,6],railton:[0,6],rais:[0,6,14,18,21],ram:[0,6],ran:[5,7,11,21],randbuf:[4,17],random:[0,4,6,17,21],random_count:[4,10,17],random_se:[0,4,6,10,17],random_skip:[0,6],random_system:[0,6],random_systems_se:[0,6],rang:[0,2,5,6,7,10,11,12,13,14,19,21,28],rapid:[0,6],rapidli:[0,6],rappaport:[0,6],rate:[0,2,6,12,13],rather:[0,6,8,10,14,19,21,23,26],ratio:[0,2,5,6,7,11,12,13,14,30],raw:[6,17,18,19,21,25,27],rc:[4,5,7,11,12,13,15,25],re:[0,1,5,6,7,11,12,13,15,20],reach:[0,4,5,6,7],reaction:[0,6],read:[3,4,10,14,17,18],readabl:18,readlin:4,real:[5,11,14,19],realist:[12,13],realiti:[12,13],realli:[0,5,6,14,19,20,21],reason:[0,6,12,13],rebuild:[0,6,23,26],rebuilt:[23,26],recalcul:[0,6],receiv:18,recent:[12,15],recogn:14,recognis:19,recombin:[0,6],recommend:[1,3,23,26],recompil:[11,12,13,14,23,26],recurs:[18,19],red:[0,5,6,12,13,15],redhat:1,redshift:2,reduc:[0,4,6],reduct:21,regardless:25,region:[0,6,28],regist:14,reignit:[0,6],reimer:[0,6],reinstal:[23,26],reject:[0,6],rejects_in_log:[0,6],rejuven:[0,6,11],rel:[0,6],relat:[0,6],releas:[18,23,26],reliabl:6,remain:[0,6,18],rememb:[4,5,12,13],remesh:[0,6],remnant:[0,5,6],remov:[0,6,7,10,14,15,18,19],remove_fil:18,renam:[12,13,19],rename_grid_vari:[12,13,19],renormalis:2,rentrop:[0,6],repeat:[0,6,21],repo:23,report:[0,5,6,7,11,12,13,14],repositori:3,repres:21,represent:[14,19],reproduc:[0,6],requir:[0,2,6,7,10,11,12,13,14,15,17,18,25,27],rerun:5,reset:[0,6],reset_pref:[0,6],reset_star:[0,6],reset_stars_default:[0,6],resolut:[0,5,6,7,11,12,13,14,19,21,28],resolv:[0,6,11],reson:[0,6],resourc:[12,13],respect:[0,2,6],rest:[2,14,19],restructuredtext:18,result:[0,1,2,5,6,7,10,11,12,13,14,17,18,19,21,23,26],result_arrai:2,result_dict:2,result_example_head:17,result_example_header_1:17,result_example_header_2:17,results_dictionari:[5,7,11,12,13],retain:[0,6],rethink:18,return_all_info:19,return_arglin:6,return_binary_c_default:19,return_binary_c_version_info:[9,18,19],return_compilation_dict:1,return_help:6,return_help_al:[6,18],return_maximum_mass_ratio_for_rlof:[6,30],return_minimum_orbit_for_rlof:[6,30],return_persistent_data_memaddr:6,return_population_set:19,return_store_memaddr:6,return_version_info:[6,18],reus:19,revap_in:[0,6],revap_out:[0,6],revers:[0,6,25],reverse_tim:[0,6],revis:[0,18],rewrit:19,rgb:5,rhagavan:21,ri0005:[5,14],rich:[0,6],riello:[0,6],rin:[0,6],ring:[0,6],risk:[14,19],ritter:[0,6],rk2:[0,6],rk4:[0,6],rl1:4,rl2:4,rl:[0,4,6],rlof:[0,4,6,30],rlof_angular_momentum_transfer_model:[0,6],rlof_angular_momentum_transfer_model_bs:0,rlof_angular_momentum_transfer_model_conserv:0,rlof_eccentric_as_circular:[0,6],rlof_entry_threshold:[0,6],rlof_f:[0,6],rlof_interpolation_binary_c:0,rlof_interpolation_bs:0,rlof_interpolation_method:[0,6],rlof_mdot_factor:[0,6],rlof_mdot_modul:[0,6],rlof_method:[0,6],rlof_method_adapt:0,rlof_method_adaptive2:0,rlof_method_bs:0,rlof_method_claei:0,rlof_method_ritt:0,rlof_nonconservative_gamma_donor:0,rlof_nonconservative_gamma_isotrop:0,rlof_radiation_correct:[0,6],rlof_transition_objects_escap:[0,6],rob:[0,2,6,30],robert:[23,26],roch:[0,4,6,7,30],roche_lob:30,rochelob:30,rol1:[4,10,17],rol2:[4,10,17],room:[14,19],root:[23,26],rotat:[0,2,6],rotation:[0,6],rotationally_enhanced_expon:[0,6],rotationally_enhanced_mass_loss:[0,6],rotationally_enhanced_massloss:[0,6],rotationally_enhanced_massloss_angmom:0,rotationally_enhanced_massloss_langer_formula:[0,6],rotationally_enhanced_massloss_langer_formula_and_angmom:0,rotationally_enhanced_massloss_non:0,rough:5,rout:[0,6],routin:[0,3,6,19,23,25],row:[10,17,25],rring:[0,6],rssd:2,rst:[18,20],rsun:[5,25],rubric:19,run:[0,1,3,4,5,6,7,11,12,13,16,18,19,21,23,26,27],run_and_calc_mass:17,run_binary_custom_log:17,run_popul:6,run_system:[4,6,8,9,10,15,16,25,27],run_system_wrapp:[3,4,8,16,23,24],run_zero_probability_system:21,runawai:[4,17],runtim:[1,21],russel:[0,3,6,23],rzam:[4,30],s:[0,2,4,5,6,7,10,12,13,14,15,17,18,19,21,30],safe:14,sai:[0,5,6],said:[0,6],same:[0,6,10,14,19,21,23,26],sampl:[0,2,3,6,11,14,19,28],sample_valu:2,sampler:23,samplerfunc:[5,7,11,12,13,14,19,21,28],sana12:[2,7,11,14],sana:2,saturn:15,save:[0,1,2,5,6,7,8,11,12,13,14],save_ensemble_chunk:21,save_loop:17,save_pre_events_stardata:[0,6],scalar:18,scalo:2,scanf:0,scene:17,scheme:[0,6],schneider:[0,6],schroeder:[0,6],script:[3,8,18,23,26],sdb:[0,6],sdo:[0,6],seaborn:[5,7,11,12,13,15],search:[5,11,15,23],search_for_bhbh:4,second:[0,2,6,7,15,18,19,25],secondari:[2,4,5,11,30],section:[2,6,14,18,22,23,26],see:[0,4,5,6,7,8,9,10,11,12,13,14,17,19,23,25,26],seed:[0,6],seem:[23,25,26],seen:18,segment:28,seitenzahl2013_model:[0,6],seitenzahl:[0,6],select:[0,6,10,11,15,17,18],selected_head:[17,18],selector:[0,6],self:[5,7,10,11,12,13,14,19,21,28],semi:[0,6],sent:[0,6],sentenc:1,sep:[2,4,7,10,11,14,17,19,30],sep_max:[7,11,14],sep_min:[7,11,14],separ:[0,2,4,5,6,8,10,14,15,16,17,19,20,25,30],separation_quadrupl:[0,6],separation_tripl:[0,6],separta:[0,6],seper:14,sepf:4,sequenc:[0,5,6,8,11,12,13,17],sequnec:[11,12,13],seri:[0,6,28],serialis:19,serv:[17,18],server:[17,19],set:[0,1,2,3,4,8,9,10,15,17,18,19,20,21,23,25,26,28],set_context:[5,7,11,12,13,15],set_moe_di_stefano_set:19,set_opt:[2,5,7,15],set_titl:17,set_xlabel:[5,7,11,12,13,15,17],set_ylabel:[5,7,11,12,13,15,17],set_yscal:17,setup:[5,14,27],sever:[9,14,17,20,21,25,27],sfh:2,sh:[23,26],shannon:28,shara:[0,6],share:[1,10,16,17,21,27],shared_lib_filenam:8,shell:[0,6,18],shellular:[0,6],shorten:[0,4,6],shorter:4,shortli:5,should:[0,1,2,4,5,6,7,10,11,12,13,14,17,18,19,20,21,23,25,26,27,28],shouldn:[0,6,18],show:[0,3,4,5,6,7,10,11,12,13,14,17,19,21,25,28],show_plot:25,show_stellar_typ:25,showlist:28,shown:[0,6,25,28],showtabl:28,shrink:[4,7],shrinkagb:10,side:[11,12,13,14],siess:[0,6],sigma:[2,28],signal:[5,7,11],silent:18,sill:[0,6],sim10:7,sim:5,similar:28,simpl:[5,7,11,15],simplest:10,simpli:[0,6,12,13],simul:[0,1,5,6,7,8,11,12,13,14],simulation_:19,sinc:[18,25],singl:[0,2,3,4,5,6,11,12,13,14,17,19,21,25],single_star_lifetim:[6,8,10],sit:[0,6],site:6,situat:6,size:[18,21],skip:[0,5,6,7,11,21],slice:17,sliced_df:17,slightli:6,slope:2,slow:[0,5,6,7,11,12,13],slower:[0,6],slurm:[19,21,22],slurm_grid:19,small:[0,4,6,12,13],small_envelope_method:[0,6],small_envelope_method_bs:0,small_envelope_method_miller_bertolami:0,smaller:[0,6,28],smarter:[12,13],smooth:[5,12,13],smoother:[7,12,13],sn:[0,4,5,6,7,11,12,13,15,17],sn_impulse_liu2015:0,sn_impulse_non:0,sn_impulse_wheeler1975:0,sn_kick_companion_a:[0,6],sn_kick_companion_aic_bh:[0,6],sn_kick_companion_bh_bh:[0,6],sn_kick_companion_bh_n:[0,6],sn_kick_companion_ecap:[0,6],sn_kick_companion_grb_collapsar:[0,6],sn_kick_companion_hestaria:[0,6],sn_kick_companion_ia_chand:[0,6],sn_kick_companion_ia_chand_co:[0,6],sn_kick_companion_ia_eld:[0,6],sn_kick_companion_ia_h:[0,6],sn_kick_companion_ia_he_co:[0,6],sn_kick_companion_ia_hybrid_hecowd:[0,6],sn_kick_companion_ia_hybrid_hecowd_sublumin:[0,6],sn_kick_companion_ibc:[0,6],sn_kick_companion_ii:[0,6],sn_kick_companion_iia:[0,6],sn_kick_companion_ns_n:[0,6],sn_kick_companion_tz:[0,6],sn_kick_companion_wdkick:[0,6],sn_kick_dispersion_aic_bh:[0,6],sn_kick_dispersion_bh_bh:[0,6],sn_kick_dispersion_bh_n:[0,6],sn_kick_dispersion_ecap:[0,6],sn_kick_dispersion_grb_collapsar:[0,4,6],sn_kick_dispersion_ia_hybrid_hecowd:[0,6],sn_kick_dispersion_ia_hybrid_hecowd_sublumin:[0,6],sn_kick_dispersion_ibc:[0,4,6],sn_kick_dispersion_ii:[0,4,6],sn_kick_dispersion_ns_n:[0,6],sn_kick_dispersion_tz:[0,6],sn_kick_distribution_aic_bh:[0,6],sn_kick_distribution_bh_bh:[0,6],sn_kick_distribution_bh_n:[0,6],sn_kick_distribution_ecap:[0,6],sn_kick_distribution_grb_collapsar:[0,6],sn_kick_distribution_ia_hybrid_hecowd:[0,6],sn_kick_distribution_ia_hybrid_hecowd_sublumin:[0,6],sn_kick_distribution_ibc:[0,6],sn_kick_distribution_ii:[0,6],sn_kick_distribution_ns_n:[0,6],sn_kick_distribution_tz:[0,6],sn_none:8,sn_type:8,sneia:[0,6],snia:[0,6],snippet:[6,10],so:[0,2,4,5,6,7,8,10,11,12,13,14,19,21,25],solar:[0,2,3,5,6,7,9,23,30],solver:[0,6],solver_forward_eul:0,solver_predictor_corrector:0,solver_rk2:0,solver_rk4:0,some:[0,1,2,5,6,7,8,9,10,11,12,13,14,17,19,21,23,25,26],someth:[0,5,6,7,10,11,12,13,19],sometim:9,somewhat:[11,12,13,14,15],soon:28,sort:[5,11,12,13,15,18,19],sort_kei:19,sourc:[1,2,7,18,19,20,21,24,25,27,28,30],source_file_filenam:21,source_list:19,sourcecod:[6,8,23,26],sourcefile_nam:1,sp:2,space:[0,5,6,11,12,13,14,19,28],spacing_funct:[23,24],special:[0,6,14],specif:[0,6,9,10,18,25],specifi:[0,6,21,28],spectral:2,speed:[0,6,21],speedtest:[0,6],spent:18,spera:[0,6],spheric:[0,6],spiki:[12,13],spin:[0,6,15],spinrat:[0,6],split:[0,4,6,10,14,15,17,21],split_lin:10,splitlin:[5,6,7,8,10,11,12,13,14,15],splitpoint:[0,6],spread:19,sqrt:[0,6],src:[0,6,8,23,26],st1:17,st2:17,st:4,stabil:[0,6],stabl:[0,6,23,26],stancliff:[0,6],standard:[0,2,6,11,12,13,28],star1:15,star:[1,2,3,4,6,7,8,9,10,11,12,14,15,16,17,21,23,25,28,30],star_with_no_mass:0,starcount:[5,7,11,13,14],stardata:[0,1,5,6,7,8,10,11,12,13,14,16,17],stardata_dump_filenam:[0,6],stardata_load_filenam:[0,6],stardata_t:8,starnum:[5,11],start:[0,1,4,5,6,7,10,11,12,13,14,17,18,19,20,21],start_at:21,start_tim:[0,6],start_timestamp:[5,7,11,13,14],startrack:[0,6],startswith:10,state:[0,6],statement:[1,8,10,11,12,13,14,15,16,17],statist:[0,6],statu:[0,1,5,6,7,11,12,13,14],stderr:[0,6],stdout:[18,28],steadi:[0,6],stefan:25,stefano:[14,18,19,23],stellar:[0,2,3,4,6,13,21,23,25,28,29],stellar_structure_algorithm:[0,6],stellar_structure_algorithm_external_funct:0,stellar_structure_algorithm_mint:0,stellar_structure_algorithm_modified_bs:0,stellar_structure_algorithm_non:0,stellar_typ:[1,5,8,10,11,12,13,14,23,24,25],stellar_type1:4,stellar_type2:4,stellar_type_1:[0,6,14,25],stellar_type_2:[0,6,14,25],stellar_type_3:[0,6],stellar_type_4:[0,6],stellar_type_dict:29,stellar_type_dict_short:29,step:[5,7,8,10,11,12,13,14,19,25,28],stepsiz:[14,19],stick:21,stiff:[0,6],still:[1,8,15,21],stop:[0,5,6,7,11,17,18],stopfil:[0,6],storag:[0,6],store:[0,2,3,5,7,10,11,12,13,14,18,19,21,23,26,30],store_capsul:6,store_memaddr:[6,30],str:[1,4,5,14,18,19,20,25],straight:19,straightforward:[5,11,12,13,14],straniero:[0,6],strength:[0,6],strictli:[11,12,13],string:[0,1,3,6,10,11,12,13,14,15,18,19,20,21,25,27],strip:[0,6,10,15],strong:5,stronger:[0,5,6],struct:[0,6,8],structur:[0,6,7,18,21,25],studi:5,stuff:[10,14,18,21,25],style:[0,6,19],sub:[0,6,18],subject:[0,6],sublumin:[0,6],submit:23,subplot:17,subroutin:22,subsequ:[0,6],succe:[0,6],suddenli:5,suffer:5,suffici:5,suggest:[0,6,23,26],suit:[23,26],suitabl:28,sum:[0,6],sun:15,sundial:[0,6],supercrit:[0,6],superflu:15,supernova:[0,4,6,7,21],superwind:[0,6],superwind_mira_switchon:[0,6],support:19,sure:[2,10,11,12,13,14,19,21,23,25,26,27],surfac:[0,6],surrei:[5,14],surviv:[0,6,15],survivor:[0,6],swallow:15,switcher:[0,6],symlink:[5,7,11,14,21],symmetr:[0,6],synchron:[0,6],synonym:[0,6],synthesi:[11,12,13,14,21,23,26],system:[0,3,5,6,7,8,11,12,13,14,16,17,18,19,21,23,25,26,27],system_dict:19,system_gener:[14,19],system_numb:19,system_queue_fil:[5,7,11],t:[0,1,2,4,5,6,10,12,13,14,18,19,21,28],t_:5,tabl:[0,2,6,28],take:[0,2,6,7,11,14,17,18,19,21,27],taken:[0,6,8],talk:5,target:[1,20],task:[0,2,6,14,17,18,19,20,22,25,27,28,30],tauri:[0,6],tbse:[0,6],technic:[5,7,8,11,12,13,14],teff:[0,2,4,6],teff_1:25,teff_2:25,teff_from_star_struct:5,teff_postagb_max:[0,6],teff_postagb_min:[0,6],tell:18,temp_dir:[4,5,7,10,12,13,14,15,18],temperatur:[0,2,6,15,25],tempfil:17,termin:[1,5,8,14,23,26],test:[0,6,10,14,18,19,21,23,26,30],test_data:[0,6],test_func:6,test_log:17,test_logfil:10,test_pop:14,text:[5,7,15,18,20],than:[0,2,5,6,7,11,12,13,14,18,21,23,26],thats:14,thei:[0,2,4,5,6,7,11,14,15,19,21,25],thelog:[0,6],them:[2,5,6,7,14,16,17,18,19],themselv:2,theoret:[11,12,13],thermal:[0,2,5,6,30],thermally_pulsing_asymptotic_giant_branch:0,thermohalin:[0,6],thermonuclear:5,thesi:[0,6],thi:[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,20,21,23,24,25,26,27,28,30],thick:[0,6],thick_disc_end_ag:[0,6],thick_disc_logg_max:[0,6],thick_disc_logg_min:[0,6],thick_disc_start_ag:[0,6],thin:[0,6],thing:[0,2,5,6,7,11,12,13,14,17,18,19,20,27],think:[0,6,18,19],third:[0,2,6,15,28],third_dup:[0,6],third_dup_multipli:[0,6],thorn:[0,6],those:[5,7,11,12,13,14,17,18,19,23,26],thread:[5,7,11,12,13,18,19,21],thread_id:21,three:[0,2,6,12,13,14],three_part_powerlaw:[2,7,11,12,13,14],threshold:[0,6,18,21],through:[5,6,10,11,12,13,14,19,25,27],throughout:[11,12,13,14,19],thu:28,tidal:[0,4,6],tidal_strength_factor:[0,6],tide:[0,6,15],tides_convective_damp:[0,6],tides_diagnosis_log:6,tides_hurley2002:[0,6],tides_zahn1989:[0,6],tight:17,time:[0,1,2,4,5,6,7,8,10,11,12,13,14,15,16,17,18,19,21,23,25,26,28],timedelta:18,timescal:[0,6],timestamp:21,timestep:[0,6,7,8,10,11,12,13],timestep_limit:[0,6],timestep_log:[0,6],timestep_modul:[0,6],timestep_multipli:[0,6],timestep_solver_factor:[0,6],tini:5,tinslei:2,tip:5,titl:[11,20],tmax:28,tmin:28,tmp:[0,5,6,7,10,11,12,13,14,15,18,23,26],tmp_dir:[4,5,7,10,12,13,14,15,19,21],tmp_tabl:2,toasti:15,todo:[0,1,2,4,6,9,14,18,19,20,21,25,27,28,30],toler:[0,6],too:[0,5,6,12,13,15,19,21,23,26,27],took:[5,7,11,13,14,17],top:[14,19],topcod:[5,7,14,19],topic:[0,6],torqu:[0,6],total:[0,2,5,6,7,11,12,13,14,17,18,19,21,25],total_count:[5,7,11,13,14],total_mass_run:[5,7,11,13,14],total_prob:[5,7,11,12,13,14],total_probability_weighted_mass_run:[5,7,11,13,14],tout:[0,6,30],tout_pringle_1992_multipli:[0,6],tp:[0,6],tpagb:[0,5,6],tpagb_reimers_eta:[0,6],tpagb_wind_beasor_etal_2020:0,tpagb_wind_bloeck:0,tpagb_wind_goldman_etal_2017:0,tpagb_wind_mattsson:0,tpagb_wind_reim:0,tpagb_wind_rob_cwind:0,tpagb_wind_van_loon:0,tpagb_wind_vw93_karaka:0,tpagb_wind_vw93_karakas_carbon_star:0,tpagb_wind_vw93_orig:0,tpagb_wind_vw93_orig_carbon_star:0,tpagbwind:[0,6],tpagbwindfac:[0,6],tpr:[7,11,19],traceback:[12,15,18],track:[5,21,25],trade:[0,6],trail:28,transfer:[0,5,6],transform:[0,6],transit:[0,6],treat:[0,6,28],trem:18,trigger:[0,6],trio:[11,12,13,14],tripl:[0,2,6,21],truli:[0,6],tupl:[1,5,18,28],turn:[0,4,6,10,14],tutori:[3,23],two:[0,5,6,8,18,19,29,30],txt:[10,14,17,19,23,26,27],type:[0,1,2,4,6,7,10,11,12,13,14,17,18,19,20,21,25,28,29,30],type_chng:[4,10,17],type_ia_mch_supernova_algorithm:[0,6],type_ia_mch_supernova_algorithm_dd2:0,type_ia_mch_supernova_algorithm_seitenzahl2013:0,type_ia_mch_supernova_algorithm_seitenzahl2013_automat:0,type_ia_sub_mch_supernova_algorithm:[0,6],type_ia_sub_mch_supernova_algorithm_livne_arnett_1995:0,typeerror:12,typic:[0,6],ubvri:[0,6],ugriv:[0,6],uk:[5,14],unavail:[0,6],unbound:4,uncom:[10,11,12,13,14,15,19],unction:6,undef:8,under:[10,28],undergo:7,undescrib:20,unexpect:12,uniform:2,union:[2,14,18,19,28,30],uniqu:[14,17,19,21],unit:[0,5,6,9,18,30],univari:[0,6],univers:[5,7],unix:19,unknown:27,unless:[1,19,21],unlik:[12,13],unload:19,unmerg:7,unpars:6,unphys:[4,7,11],unrecogn:[23,26],unresolv:11,unsign:0,unstabl:[0,4,6],until:[0,2,5,6],unus:[0,6,21],unweight:14,up:[0,1,2,3,8,10,15,18,19],updat:[2,12,13,14,19,23,26],update_dict:9,update_grid_vari:[12,13,19],upper:[0,2,6,28],uranu:15,us:[0,1,2,3,9,10,14,18,19,20,21,22,23,25,26,27,28,30],usag:[0,3],use_astropy_valu:25,use_datadir:[14,19],use_fixed_timestep_:[0,6],use_periastron_roche_radiu:[0,6],use_tabular_intershell_abundances_karakas_2012:[0,6],usecas:3,useful_func:[23,24],user:[1,2,8,18,19,20,21,27],usual:[0,2,4,5,6,11,12,13,14,18,19,21],util:[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,25,27,28,30],v:[4,17,23,26],val:2,valid:[0,2,6,8,18],valu:[0,1,2,5,6,9,10,11,12,13,14,17,18,19,20,21,25,28],value_lin:10,valueerror:14,valuerang:[5,7,11,12,13,14,19],values_arrai:10,van:[0,6],vandenheuvel_log:[0,6],vari:[0,5,6,7,14],variabl:[0,3,5,6,7,18,19,21],variant:[0,6],variou:[0,6],vassiliadi:[0,6],vb1print:19,vb2print:19,vb:4,veloc:[0,2,6],venu:15,verbos:[1,2,5,7,10,11,12,13,14,16,18,19,21,23,26],verbose_print:18,veri:[0,4,5,6,7,8,10,12,13,14,19,28],versa:30,version:[0,6,9,14,18,19,23,26],version_info:18,version_info_dict:9,version_info_str:18,version_onli:[0,6],via:[3,5,6,8,11,12,13,14,19,21,25],vice:30,vink:[0,6],virtual:[23,26],virtualenviron:[23,26],viscos:[0,6],viscou:[0,6],visibl:8,visit:23,vk:[4,17],vn:[4,17],volum:[0,6],vr:[4,17],vrot1:[0,6],vrot2:[0,6],vrot3:[0,6],vrot4:[0,6],vrot_breakup:0,vrot_bs:0,vrot_non_rot:0,vrot_sync:0,vs:[15,25],vw93:[0,6],vw93_eagb_wind_spe:[0,6],vw93_mira_shift:[0,6],vw93_multipli:[0,6],vw93_tpagb_wind_spe:[0,6],vwind:[0,6],vwind_beta:[0,6],vwind_multipli:[0,6],w:[1,10,14,19],wa:[0,2,5,6,9,10,12,13,14,19,21,23,26],wai:[0,6,10,12,13,19,21,25],wang:[0,6],want:[0,2,4,6,7,8,9,11,12,13,14,17,18,19,20,21,23,25,26],warmup_cpu:[0,6],warn:[0,6,10,14],wast:[7,12,13],wave:[0,5,6,7,14],wd:[0,6],wd_accretion_rate_new_giant_envelope_lower_limit_helium_donor:[0,6],wd_accretion_rate_new_giant_envelope_lower_limit_hydrogen_donor:[0,6],wd_accretion_rate_new_giant_envelope_lower_limit_other_donor:[0,6],wd_accretion_rate_novae_upper_limit_helium_donor:[0,6],wd_accretion_rate_novae_upper_limit_hydrogen_donor:[0,6],wd_accretion_rate_novae_upper_limit_other_donor:[0,6],wd_kick:[0,6],wd_kick_at_every_puls:0,wd_kick_at_given_puls:0,wd_kick_direct:[0,6],wd_kick_end_agb:0,wd_kick_first_rlof:0,wd_kick_pulse_numb:[0,6],wd_kick_when:[0,6],wd_sigma:[0,6],wdwd_merger_algorithm:[0,6],wdwd_merger_algorithm_bs:0,wdwd_merger_algorithm_chen2016:0,wdwd_merger_algorithm_perets2019:0,we:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,23,26,28],weight:[0,6,12,13,21],weirdli:11,well:[0,6,8,10,11,12,13,21,23,26],went:[12,13],were:[5,7,11,13,14,18],what:[0,1,2,4,5,6,7,8,10,11,12,13,14,17,18,20,21,23,26,27,28],whatev:[0,6,8,17,19,23,26],wheeler:[0,6],when:[0,1,2,5,6,7,9,10,14,15,18,19,20,21,23,26,27,28],whenev:[23,26],where:[0,1,2,5,6,11,12,13,14,18,19,20,21,23,26],whether:[0,2,6,14,18,19,20,21,25,28,30],which:[0,1,2,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21,23,26,27,28,30],whichev:21,white:[0,5,6],white_dwarf_cooling_carrasco2014:[0,6],white_dwarf_cooling_mestel:[0,6],white_dwarf_cooling_mestel_modifi:[0,6],white_dwarf_cooling_model:[0,6],white_dwarf_radius_carrasco2014:[0,6],white_dwarf_radius_model:[0,6],white_dwarf_radius_mu:[0,6],white_dwarf_radius_nauenberg1972:[0,6],whole:[0,6,7,8,19,21],why:7,wide:[4,11,12,13],wider:4,width:[0,6,7],wiggl:[12,13],wind:[0,4,5,6,11],wind_algorithm_binary_c_2020:[0,4],wind_algorithm_hurley2002:0,wind_algorithm_non:[0,4],wind_algorithm_schneider2018:0,wind_angmom_loss_bs:0,wind_angmom_loss_lw:0,wind_angmom_loss_lw_hybrid:0,wind_angmom_loss_spherically_symmetr:0,wind_angular_momentum_loss:[0,6],wind_disc_angmom_fract:[0,6],wind_disc_mass_fract:[0,6],wind_djorb_fac:[0,6],wind_gas_to_dust_ratio:[0,6],wind_lbv_luminosity_lower_limit:[0,6],wind_mass_loss:[0,4,6],wind_multiplier_:[0,6],wind_nieuwenhuijzen_luminosity_lower_limit:[0,6],wind_type_multiplier_:[0,6],within:[0,6,8,9,14,18,19,23,26],without:[2,8,10,12,13,18,19,21],won:[0,6,10],wood:[0,6],work:[0,6,8,10,11,12,13,17,18,19,23,25,26],would:[0,6,12,13,14,25],wouldn:[14,19],wr:[0,6],wr_wind:[0,6],wr_wind_bs:0,wr_wind_eldridg:0,wr_wind_fac:[0,6],wr_wind_maeder_meynet:0,wr_wind_nugis_lam:0,wrap:[1,8],wrapper:[6,8,10,30],write:[1,4,5,6,7,8,10,11,14,16,17,18,19,20,21,27],write_binary_c_calls_to_fil:[14,19],write_binary_c_parameter_descriptions_to_rst_fil:18,write_ensembl:19,write_grid_options_to_rst_fil:20,write_logfil:6,written:[6,10,14,19,20,21,27],written_data:10,wrlof_mass_transf:[0,6],wrlof_method:[0,6],wrlof_non:0,wrlof_q_depend:0,wrlof_quadrat:0,wrong:[12,13,23,26],wrt:17,wrwindfac:[0,6],wtts2:[0,6],wtts_log:[0,6],www:[0,2,6],x0:2,x1:2,x86_64:6,x:[0,2,5,6,8,10,15,17,18,19,25,28],xlabel:16,xlim:[7,15],xx:15,y:[4,5,15,19,25],year:[0,2,6],year_length_in_dai:7,yet:[0,6,17,18,19,21,25],yield:[0,6,28],ylim:15,you:[0,1,4,5,6,7,8,10,11,12,13,14,15,16,17,18,19,20,21,23,25,26,28,30],young:[0,6],your:[8,10,16,17,23,26],yourself:[5,7,11,12,13,14,25],yscale:[11,12,13,15],yy:15,z:[0,2,5,6,7,17,19,30],zahn:[0,6],zam:[0,2,3,5,6,11,27,30],zams_collis:30,zams_mass:[5,11,12,13,14],zams_mass_1:14,zams_mass_2:14,zero:[0,1,3,4,5,6,7,13,18,21,23],zero_ag:[5,8,10,11,12,13,14],zero_age_main_sequence_star:[11,12,13],zero_age_main_sequence_starn:11,zero_prob_stars_skip:[5,7,11,13,14],zone:[0,6],zoom:[0,6,28],zoom_dispers:28,zoom_magnitud:28,zoom_magntiud:28,zoom_mean:28,zoomfac_multiplier_decreas:[0,6],zoomfac_multiplier_increas:[0,6],zsolar:2,zytkow:[0,6]},titles:["Binary_c parameters","custom_logging_functions module","distribution_functions 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: 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","<no title>","Binary_c and python example notebook","functions module","grid_class module","Grid options and descriptions","Population grid code options","hpc_functions module","Welcome to binary_c-python\u2019s documentation!","Binarycpython code","plot_functions module","Python module for binary_c","run_system_wrapper module","spacing_functions module","stellar_types module","useful_funcs module"],titleterms:{"case":[4,5,7,11,12,13,15],"function":[6,9,10,11,12,13,14,15,17,18],"public":21,A:[12,13],about:9,ad:[11,12,13,14],after:[23,26],ag:[11,12],algorithm:0,api:[6,8,10,15,17],better:[12,13],binari:[0,4,5,11,17],binary_c:[0,6,8,9,10,14,17,23,26],binarycpython:24,black:4,build:[9,23,26],code:[21,24],common:7,compact:8,content:[3,23],core:17,custom:[8,17],custom_logging_funct:1,descript:20,develop:[23,26],di:21,diagram:5,dictionari:9,directli:8,distribut:[12,13],distribution_funct:2,document:[23,26],envelop:7,environ:[23,26],evolut:[7,8],evolv:[5,7,11,12,13,14],exampl:[3,4,5,6,7,8,9,11,12,13,14,15,17,23,26],extra:9,faq:[23,26],featur:9,free:6,from:[6,8,23,26],full:14,get:[6,9],grid:[5,7,11,12,13,14,20,21],grid_class:19,handl:[5,7,11,12,13,14],help:9,hertzsprung:5,hole:4,hpc_function:22,i:0,indic:23,individu:10,inform:[6,9],initi:[12,13],input:0,instal:[23,26],instruct:[23,26],issu:[23,26],line:17,log:[5,7,8,11,12,13,14,17],luminos:[11,12,13],mass:[8,12,13],massiv:13,misc:0,modif:9,modul:[1,2,18,19,22,23,25,26,27,28,29,30],moe:21,note:[23,26],notebook:[3,17],noteworthi:14,nucsyn:0,o:0,object:[5,7,8,10,11,12,13,14],option:[20,21],other:17,output:[0,5,7,11,12,13,14],paramet:[0,9],pars:9,pip:[23,26],plot_funct:25,popul:[5,7,8,10,11,12,13,14,21],privat:21,python:[6,8,9,10,14,17,23,26],requir:[23,26],routin:8,run:[8,10,14,17],run_binari:17,run_binary_with_log:17,run_system:17,run_system_wrapp:[10,27],russel:5,s:23,sampl:[12,13],sampler:21,script:14,section:0,set:[5,6,7,11,12,13,14],singl:10,solar:15,sourc:[23,26],spacing_funct:28,star:[0,5,13],stefano:21,stellar:[5,7,11,12],stellar_typ:29,store:6,string:8,supernova:8,system:[4,10,15],tabl:23,tutori:[6,8,9,10,14],up:[5,6,7,11,12,13,14],us:[4,5,6,7,8,11,12,13,15,17],usag:[6,8,23,26],useful_func:30,util:17,variabl:[11,12,13,14,23,26],via:[10,23,26],welcom:23,when:8,wrapper:17,zam:[12,13],zero:[11,12]}}) \ No newline at end of file diff --git a/docs/build/html/spacing_functions.html b/docs/build/html/spacing_functions.html index 44d714a77..8477c0f1f 100644 --- a/docs/build/html/spacing_functions.html +++ b/docs/build/html/spacing_functions.html @@ -364,9 +364,9 @@ not that the integral is 1.0</p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/stellar_types.html b/docs/build/html/stellar_types.html index 87a5724e5..ca6cd5f60 100644 --- a/docs/build/html/stellar_types.html +++ b/docs/build/html/stellar_types.html @@ -232,9 +232,9 @@ </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/build/html/useful_funcs.html b/docs/build/html/useful_funcs.html index d7e276427..8df967561 100644 --- a/docs/build/html/useful_funcs.html +++ b/docs/build/html/useful_funcs.html @@ -430,9 +430,9 @@ determine if two stars collide on the ZAMS</p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/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.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. diff --git a/docs/source/_templates/footer.html b/docs/source/_templates/footer.html index 17e00c990..d5f5f4075 100644 --- a/docs/source/_templates/footer.html +++ b/docs/source/_templates/footer.html @@ -2,8 +2,8 @@ {%- block extrafooter %} <br><br> -Generated on binarycpython git branch: development_0.9.2/2.2.0 git revision a4a758a67f72e54d4807a7fe3af1ef0651644823 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.0">git url</a>. +Generated on binarycpython git branch: development_0.9.2/2.2.1 git revision e74e884bfc59fca05c17e0b57df95a9817474209 url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.2/2.2.1">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "5702:20211101:3715a4ab9" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch HEAD: git revision: "5747:20211102:404ce27a0" url: <a href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>. {% endblock %} \ No newline at end of file diff --git a/docs/source/badges/test_coverage.svg b/docs/source/badges/test_coverage.svg index dfb99a19b..91a5e773d 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">67%</text> - <text x="80" y="14">67%</text> + <text x="80" y="15" fill="#010101" fill-opacity=".3">68%</text> + <text x="80" y="14">68%</text> </g> </svg> diff --git a/docs/source/binary_c_parameters.rst b/docs/source/binary_c_parameters.rst index 970cbf83f..500c35865 100644 --- a/docs/source/binary_c_parameters.rst +++ b/docs/source/binary_c_parameters.rst @@ -4,7 +4,7 @@ The following chapter contains all the parameters that the current version of bi This information was obtained by the following binary_c build: - **binary_c git branch**: branch_david **binary_c git revision**: 5702:20211101:3715a4ab9 **Built on**: Nov 1 2021 13:50:56 + **binary_c git branch**: HEAD **binary_c git revision**: 5747:20211102:404ce27a0 **Built on**: Nov 2 2021 22:56:15 Section: stars @@ -473,25 +473,6 @@ Section: stars | **Default value**: 0 | **Macros**: ['BH_HURLEY2002 = 0', 'BH_BELCZYNSKI = 1', 'BH_SPERA2015 = 2', 'BH_FRYER12_DELAYED = 3', 'BH_FRYER12_RAPID = 4', 'BH_FRYER12_STARTRACK = 5'] -| **Parameter**: PPISN_prescription -| **Description**: (Pulsational) Pair-Instability Supernova prescription: Relates initial helium core mass of star to whether the star undergoes PPISN or PISN. Requires PPISN flag to be True (see binary_c_parameters.h). 0=no ppisn, 1=Farmer et al 2019. 2=Hendriks et al 21 (in prep), which is different fit based on the same data as Farmer et al 2019 -| **Parameter input type**: Integer -| **Default value**: 1 -| **Macros**: ['PPISN_NONE = 0', 'PPISN_FARMER19 = 1', 'PPISN_NEW_FIT_21 = 2'] -| **Extra**: Ignore - -| **Parameter**: PPISN_additional_massloss -| **Description**: (Pulsational) Pair-Instability Supernova additional massloss (on top of the result of the prescription). Value currently is not required to be positive -| **Parameter input type**: Float -| **Default value**: 0 -| **Extra**: Ignore - -| **Parameter**: use_LWN_fallback -| **Description**: Flag whether to use the Nazehdin-Lovegrove-Woosley hydrogen envelope ejection at failed supernova. -| **Parameter input type**: Integer -| **Default value**: 1 -| **Extra**: Ignore - | **Parameter**: sn_kick_distribution_II | **Description**: Set the distribution of speeds applied to kick type II core collapse supernova systems. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). | **Parameter input type**: Integer @@ -519,7 +500,7 @@ Section: stars | **Parameter**: sn_kick_distribution_GRB_COLLAPSAR | **Description**: Set the distribution of speeds applied to kick newly-born neutron stars and black holes after a type Ib/c core-collapse supernova which is also a collapsar. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). | **Parameter input type**: Integer -| **Default value**: 0 +| **Default value**: 1 | **Macros**: ['KICK_VELOCITY_FIXED = 0', 'KICK_VELOCITY_MAXWELLIAN = 1', 'KICK_VELOCITY_CUSTOM = 2'] | **Parameter**: sn_kick_distribution_TZ @@ -558,24 +539,6 @@ Section: stars | **Default value**: 0 | **Macros**: ['KICK_VELOCITY_FIXED = 0', 'KICK_VELOCITY_MAXWELLIAN = 1', 'KICK_VELOCITY_CUSTOM = 2'] -| **Parameter**: sn_kick_distribution_PPISN -| **Description**: Set the distribution of speeds applied to PPISN supernovae. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). -| **Parameter input type**: Integer -| **Default value**: 1 -| **Macros**: ['KICK_VELOCITY_FIXED = 0', 'KICK_VELOCITY_MAXWELLIAN = 1', 'KICK_VELOCITY_CUSTOM = 2'] - -| **Parameter**: sn_kick_distribution_PISN -| **Description**: Set the distribution of speeds applied to PISN supernovae. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). -| **Parameter input type**: Integer -| **Default value**: 0 -| **Macros**: ['KICK_VELOCITY_FIXED = 0', 'KICK_VELOCITY_MAXWELLIAN = 1', 'KICK_VELOCITY_CUSTOM = 2'] - -| **Parameter**: sn_kick_distribution_PHDIS -| **Description**: Set the distribution of speeds applied to PHDIS supernovae. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). -| **Parameter input type**: Integer -| **Default value**: 0 -| **Macros**: ['KICK_VELOCITY_FIXED = 0', 'KICK_VELOCITY_MAXWELLIAN = 1', 'KICK_VELOCITY_CUSTOM = 2'] - | **Parameter**: sn_kick_dispersion_II | **Description**: Set the dispersion of speeds applied to kick type II core collapse supernova systems. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). | **Parameter input type**: Float @@ -599,7 +562,7 @@ Section: stars | **Parameter**: sn_kick_dispersion_GRB_COLLAPSAR | **Description**: Set the dispersion of speeds applied to kick newly-born neutron stars and black holes after a type Ib/c core-collapse supernova which is also a collapsar. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). | **Parameter input type**: Float -| **Default value**: 0 +| **Default value**: 190 | **Parameter**: sn_kick_dispersion_TZ | **Description**: Set the dispersion of speeds applied to kick newly-born neutron stars and black holes at the death of a Thorne-Zytkow object. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). @@ -631,21 +594,6 @@ Section: stars | **Parameter input type**: Float | **Default value**: 0 -| **Parameter**: sn_kick_dispersion_PPISN -| **Description**: Set the dispersion of speeds applied to the survivor of a PPISN supernova. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). -| **Parameter input type**: Float -| **Default value**: 190 - -| **Parameter**: sn_kick_dispersion_PISN -| **Description**: Set the dispersion of speeds applied to the survivor of a PISN supernova. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). -| **Parameter input type**: Float -| **Default value**: 0 - -| **Parameter**: sn_kick_dispersion_PHDIS -| **Description**: Set the dispersion of speeds applied to the survivor of a PHDIS supernova. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). -| **Parameter input type**: Float -| **Default value**: 0 - | **Parameter**: sn_kick_companion_IA_He | **Description**: Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a Ia He supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. | **Parameter input type**: Float @@ -766,24 +714,6 @@ Section: stars | **Default value**: 0 | **Macros**: ['SN_IMPULSE_NONE = 0', 'SN_IMPULSE_LIU2015 = 1', 'SN_IMPULSE_WHEELER1975 = 2'] -| **Parameter**: sn_kick_companion_PPISN -| **Description**: Set the speed (if >=0) of, or the algothim (if <0) used to calculate the kick on the companion, if it survives, in a PPISN supernova. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. -| **Parameter input type**: Float -| **Default value**: 0 -| **Macros**: ['SN_IMPULSE_NONE = 0', 'SN_IMPULSE_LIU2015 = 1', 'SN_IMPULSE_WHEELER1975 = 2'] - -| **Parameter**: sn_kick_companion_PISN -| **Description**: Set the speed (if >=0) of, or the algothim (if <0) used to calculate the kick on the companion, if it survives, in a PISN supernova. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. -| **Parameter input type**: Float -| **Default value**: 0 -| **Macros**: ['SN_IMPULSE_NONE = 0', 'SN_IMPULSE_LIU2015 = 1', 'SN_IMPULSE_WHEELER1975 = 2'] - -| **Parameter**: sn_kick_companion_PHDIS -| **Description**: Set the speed (if >=0) of, or the algothim (if <0) used to calculate the kick on the companion, if it survives, in a PHDIS supernova. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. -| **Parameter input type**: Float -| **Default value**: 0 -| **Macros**: ['SN_IMPULSE_NONE = 0', 'SN_IMPULSE_LIU2015 = 1', 'SN_IMPULSE_WHEELER1975 = 2'] - | **Parameter**: wd_sigma | **Description**: Set the speed at which white dwarfs are kicked when they form, in km/s. Default is zero (i.e. no kick). Requires WD_KICKS. | **Parameter input type**: Float @@ -844,22 +774,22 @@ Section: stars | **Parameter**: delta_mcmin | **Description**: A parameter to reduce the minimum core mass for third dredge up to occur on the TPAGB. As used by Izzard and Tout (2004) to increase the amount of dredge up, hence carbon, in Magellanic cloud stars. | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: 0 | **Parameter**: lambda_min | **Description**: A parameter to increase the efficiency of third dredge up on the TPAGB. The efficiency is lambda * lambda_mult, and setting lambda_min>0 implies that, once Mc>Mcmin (see delta_mcmin) lambda=Max(lambda(fit to Karakas), lambda_min). As used by Izzard and Tout (2004) to increase the amount of dredge up, hence carbon, in Magellanic cloud stars. See also lambda_multiplier. | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: 0 | **Parameter**: lambda_multiplier | **Description**: A parameter to increase the efficiency of third dredge up on the TPAGB. The efficiency is lambda * lambda_mult, and setting lambda_min>0 implies that, once Mc>Mcmin (see delta_mcmin) lambda=Max(lambda(fit to Karakas), lambda_min). As used by Izzard and Tout (2004) to increase the amount of dredge up, hence carbon, in Magellanic cloud stars. | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: 1 | **Parameter**: minimum_envelope_mass_for_third_dredgeup | **Description**: The minimum envelope mass for third dredge up on the TPAGB. Early, solar metallicity models by Straniero et al suggested 0.5Msun is typical. However, circumstantial evidence (Izzard et al 2009) as well as newer models by Stancliffe and Karakas suggest that at low metallicity a value nearer zero is more appropriate. | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: 0.5 | **Parameter**: mass_of_pmz | **Description**: The mass in the partial mixing zone of a TPAGB star, using the Karakas 2012 tables. Ask Carlo Abate for more details, or see the series of papers Abate et al 2012, 2013, 2014. Requires NUCSYN and USE_TABULAR_INTERSHELL_ABUNDANCES_KARAKAS_2012. @@ -869,12 +799,12 @@ Section: stars | **Parameter**: c13_eff | **Description**: The "efficiency" of partial mixing in a TPAGB star intershell region, when using the s-process tables of Gallino, Busso, Lugaro et al. as provided by Maria Lugaro for the Izzard et al. 2009 paper. Requires NUCSYN and NUCSYN_S_PROCESS. | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: 1 | **Parameter**: mc13_pocket_multiplier | **Description**: Multiplies the mass in the partial mixing zone of a TPAGB star, when using the s-process tables of Gallino, Busso, Lugaro et al. as provided by Maria Lugaro for the Izzard et al. 2009 paper. Requires NUCSYN and NUCSYN_S_PROCESS. | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: 1 | **Parameter**: tides_convective_damping | **Description**: Tidal convective damping algorithm. 0=TIDES_HURLEY2002 Zahn 197x timescales + Hut, as in Hurley et al (2002), 1 = TIDES_ZAHN1989: Zahn 1989 lambdas + Hut. @@ -896,7 +826,7 @@ Section: stars | **Parameter**: hbbtfac | **Description**: A parameter to modulate the temperature at the base of the hot-bottom burning zone in TPAGB stars. (Works only if NUCSYN is defined) | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: 1 | **Parameter**: wind_multiplier_%d | **Description**: Wind multiplier for the stellar type specified by the intger %d. By default these are all 1.0. @@ -968,7 +898,7 @@ Section: stars | **Parameter**: MINT_metallicity | **Description**: This sets the metallicity for MINT. It is ignored if set to -1.0, the default, in which case the normal metallicity parameter is used. | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: -1 | **Parameter**: gaia_Teff_binwidth | **Description**: log10(Effective temperature) bin width used to make Gaia-like HRDs @@ -995,25 +925,25 @@ Section: stars | **Parameter**: AGB_core_algorithm | **Description**: Algorithm to use for calculating AGB core masses. 0=Hurley et al. 2002 if no NUCSYN, Karakas 2002 if NUCSYN is defined; 1=Hurley et al. 2002 (overshooting models); 1=Karakas 2002 (non-overshooting models). | **Parameter input type**: Integer -| **Default value**: 1 +| **Default value**: 2 | **Macros**: ['AGB_CORE_ALGORITHM_DEFAULT = 0', 'AGB_CORE_ALGORITHM_HURLEY = 1', 'AGB_CORE_ALGORITHM_KARAKAS = 2'] | **Parameter**: AGB_radius_algorithm | **Description**: Algorithm to use for calculating radii on the TPAGB. | **Parameter input type**: Integer -| **Default value**: 1 +| **Default value**: 2 | **Macros**: ['AGB_RADIUS_ALGORITHM_DEFAULT = 0', 'AGB_RADIUS_ALGORITHM_HURLEY = 1', 'AGB_RADIUS_ALGORITHM_KARAKAS = 2'] | **Parameter**: AGB_luminosity_algorithm | **Description**: Algorithm to use for calculating luminosities on the TPAGB. | **Parameter input type**: Integer -| **Default value**: 1 +| **Default value**: 2 | **Macros**: ['AGB_LUMINOSITY_ALGORITHM_DEFAULT = 0', 'AGB_LUMINOSITY_ALGORITHM_HURLEY = 1', 'AGB_LUMINOSITY_ALGORITHM_KARAKAS = 2'] | **Parameter**: AGB_3dup_algorithm | **Description**: Algorithm to use for calculating third dredge up efficiency on the TPAGB. | **Parameter input type**: Integer -| **Default value**: 1 +| **Default value**: 2 | **Macros**: ['AGB_THIRD_DREDGE_UP_ALGORITHM_DEFAULT = 0', 'AGB_THIRD_DREDGE_UP_ALGORITHM_HURLEY = 1', 'AGB_THIRD_DREDGE_UP_ALGORITHM_KARAKAS = 2', 'AGB_THIRD_DREDGE_UP_ALGORITHM_STANCLIFFE = 3'] | **Parameter**: overspin_algorithm @@ -1153,6 +1083,21 @@ Section: stars | **Parameter input type**: True|False | **Default value**: False +| **Parameter**: degenerate_core_merger_nucsyn +| **Description**: If TRUE, assume that in a degnerate core merger, energy is generated from nucleosynthesis of the whole core, and that this can disrupt the core. The BSE algorithm (Hurley et al. 2002) assumes this to be TRUE, but binary_c assumes FALSE by default. (FALSE) +| **Parameter input type**: True|False +| **Default value**: False + +| **Parameter**: degenerate_core_helium_merger_ignition +| **Description**: If TRUE, assume that when there is a degenerate helium core merger, the star reignites helium. This is required to make R-type carbon stars. (TRUE) +| **Parameter input type**: True|False +| **Default value**: True + +| **Parameter**: degenerate_core_merger_dredgeup_fraction +| **Description**: If non-zero, mix this fraction of the degenerate core during a merger.(0.0). +| **Parameter input type**: Float +| **Default value**: 0 + Section: binary --------------- @@ -1325,7 +1270,7 @@ Section: binary | **Parameter**: post_ce_objects_have_envelopes | **Description**: If TRUE then post-common-envelope objects have thin envelopes. You need this if you are to have post-CE post-AGB stars. Note that this *may* be unstable, i.e. you may end up having many CEEs. The mass in the envelope is controlled by post_ce_adaptive_menv. TRUE by default. | **Parameter input type**: True|False -| **Default value**: True +| **Default value**: False | **Parameter**: PN_comenv_transition_time | **Description**: post-common envelope transition time in years (1e2). This is the time taken to move from CEE ejection to Teff > 30e4 K. Hall et al. (2013) suggest ~100 years. @@ -1495,18 +1440,20 @@ Section: binary | **Parameter**: type_Ia_MCh_supernova_algorithm | **Description**: Algorithm to be used when calculating type Ia yields from Chandrasekhar-mass exploders. 0 = DD7 (Iwamoto 1999), 1 = Seitenzahl 2013 3D hydro yields (you must also set Seitenzahl2013_model) | **Parameter input type**: Integer -| **Default value**: NULL +| **Default value**: 0 +| **Macros**: ['TYPE_IA_MCH_SUPERNOVA_ALGORITHM_DD2 = 0', 'TYPE_IA_MCH_SUPERNOVA_ALGORITHM_SEITENZAHL2013 = 1', 'TYPE_IA_MCH_SUPERNOVA_ALGORITHM_SEITENZAHL2013_AUTOMATIC = 2'] | **Parameter**: Seitenzahl2013_model | **Description**: Which of Seitenzahl et al. 2013's models to use? One of N1,N3,N5,N10,N20,N40,N100L,N100,N100H,N150,N200,N300C,N1600,N1600C,N100_Z0.5,N100_Z0.1,N100_Z0.01 (defaults to N100). | **Parameter input type**: String -| **Default value**: NULL +| **Default value**: N100 | **Extra**: N1 | **Parameter**: type_Ia_sub_MCh_supernova_algorithm | **Description**: Algorithm to be used when calculating type Ia yields from sub-Chandrasekhar-mass exploders. (Currently unused.) | **Parameter input type**: Integer -| **Default value**: NULL +| **Default value**: 0 +| **Macros**: ['TYPE_IA_SUB_MCH_SUPERNOVA_ALGORITHM_LIVNE_ARNETT_1995 = 0'] | **Parameter**: max_HeWD_mass | **Description**: The maximum mass a HeWD can have before it ignites helium (0.7). @@ -2147,7 +2094,7 @@ Section: nucsyn | **Parameter**: NeNaMgAl | **Description**: Enables NeNaMgAl reaction network. Requires NUCSYN and NUCSYN_HBB. | **Parameter input type**: True|False -| **Default value**: NULL +| **Default value**: True | **Extra**: Ignore | **Parameter**: nucsyn_network%d @@ -2168,19 +2115,21 @@ Section: nucsyn | **Parameter**: nucsyn_metallicity | **Description**: This sets the metallicity of the nucleosynthesis algorithms, i.e. the amount (by mass) of matter which is not hydrogen or helium. Usually you'd just set this with the metallicity parameter, but if you want the nucleosynthesis to be outside the range of the stellar evolution algorithm (e.g. Z=0 or Z=0.04) then you need to use nucsyn_metallicity. That said, it's also outside the range of some of the nucleosynthesis algorithms as well, so you have been warned! | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: -1 | **Macros**: ['DEFAULT_TO_METALLICITY = -1'] | **Parameter**: nucsyn_solver | **Description**: Choose the solver used in nuclear burning. 0 = KAPS_RENTROP is a Kaps-Rentrop scheme (fast, not great for stiff problems), 1 = LSODA (Adams/BSF switcher), 2 = CVODE library (https://computing.llnl.gov/projects/sundials. Default 0. | **Parameter input type**: Unsigned integer -| **Default value**: NULL +| **Default value**: 0 +| **Macros**: ['NUCSYN_SOLVER_KAPS_RENTROP = 0', 'NUCSYN_SOLVER_LSODA = 1', 'NUCSYN_SOLVER_CVODE = 2', 'NUCSYN_SOLVER_NUMBER = 3', 'NUCSYN_SOLVER_KAPS_RENTROP = 0', 'NUCSYN_SOLVER_LSODA = 1', 'NUCSYN_SOLVER_CVODE = 2', 'NUCSYN_SOLVER_NUMBER = 3'] | **Extra**: 0 | **Parameter**: initial_abundance_mix | **Description**: initial abundance mixture: 0=AG89, 1=Karakas 2002, 2=Lodders 2003, 3=Asplund 2005 (not available?), 4=Garcia Berro, 5=Grevesse Noels 1993 | **Parameter input type**: Unsigned integer -| **Default value**: NULL +| **Default value**: 0 +| **Macros**: ['NUCSYN_INIT_ABUND_MIX_AG89 = 0', 'NUCSYN_INIT_ABUND_MIX_KARAKAS2002 = 1', 'NUCSYN_INIT_ABUND_MIX_LODDERS2003 = 2', 'NUCSYN_INIT_ABUND_MIX_ASPLUND2005 = 3', 'NUCSYN_INIT_ABUND_MIX_GARCIABERRO = 4', 'NUCSYN_INIT_ABUND_MIX_GREVESSE_NOELS_1993 = 5', 'NUCSYN_INIT_ABUND_MIX_ASPLUND2009 = 6', 'NUCSYN_INIT_ABUND_MIX_KOBAYASHI2011_ASPLUND2009 = 7', 'NUCSYN_INIT_ABUND_MIX_LODDERS2010 = 8'] | **Extra**: 0 | **Parameter**: init_abund @@ -2204,37 +2153,38 @@ Section: nucsyn | **Parameter**: init_abunds_only | **Description**: If True, outputs only the initial abundances, then exits. | **Parameter input type**: True|False -| **Default value**: NULL +| **Default value**: False | **Parameter**: initial_abunds_only | **Description**: If True, outputs only the initial abundances, then exits. | **Parameter input type**: True|False -| **Default value**: NULL +| **Default value**: False | **Parameter**: no_thermohaline_mixing | **Description**: If True, disables thermohaline mixing. | **Parameter input type**: True|False -| **Default value**: NULL +| **Default value**: False | **Parameter**: lithium_GB_post_Heflash | **Description**: Sets the lithium abundances after the helium flash. Requires NUCSYN and LITHIUM_TABLES. | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: 0 | **Parameter**: lithium_GB_post_1DUP | **Description**: Sets the lithium abundance after first dredge up. Requires NUCSYN and LITHIUM_TABLES. | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: 0 | **Parameter**: lithium_hbb_multiplier | **Description**: Multiplies the lithium abundances on the AGB during HBB (based on Karakas/Fishlock et al models).Requires NUCSYN and LITHIUM_TABLES. | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: 1 | **Parameter**: angelou_lithium_decay_function | **Description**: Functional form which describes Li7 decay. Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Choices are: 0 expoential (see angelou_lithium_decay_time). | **Parameter input type**: Integer | **Default value**: NULL +| **Macros**: ['ANGELOU_LITHIUM_DECAY_FUNCTION_EXPONENTIAL = 0'] | **Parameter**: angelou_lithium_LMMS_time | **Description**: Time at which lithium manufacture is triggered in a low-mass (convective) main sequence (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6). @@ -2354,16 +2304,10 @@ Section: nucsyn Section: output --------------- -| **Parameter**: david_logging_function -| **Description**: Function to choose which kind of information gets logged Requires DAVID. Choices are: 0= None, >0 for custom logging functions -| **Parameter input type**: Integer -| **Default value**: 0 -| **Extra**: Ignore - | **Parameter**: cf_amanda_log | **Description**: Enable logging to compare to Amanda's models. | **Parameter input type**: True|False -| **Default value**: NULL +| **Default value**: False | **Parameter**: float_overflow_checks | **Description**: Turn on to enable floating-point overflow checks at the end of each timestep, if they are available. 0=off, 1=warn (stderr) on failure, 2=exit on failure (0) @@ -2403,7 +2347,7 @@ Section: output | **Parameter**: legacy_yields | **Description**: Turn on ensemble legacy yield output. | **Parameter input type**: True|False -| **Default value**: NULL +| **Default value**: False | **Parameter**: ensemble_defer | **Description**: Defer ensemble output. @@ -2443,27 +2387,27 @@ Section: output | **Parameter**: EMP_logg_maximum | **Description**: Maximum logg that EMP stars are allowed to have. See Izzard et al 2009. See also CEMP_cfe_minimum, NEMP_nfe_minimum, EMP_minimum_age. | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: 4 | **Parameter**: EMP_minimum_age | **Description**: Minimum age that EMP stars are required to have. See Izzard et al 2009. See also CEMP_cfe_minimum, NEMP_nfe_minimum, EMP_logg_maximum. | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: 10 | **Parameter**: EMP_feh_maximum | **Description**: Maximum [Fe/H] that an EMP stars may have. See Izzard et al 2009. See also CEMP_cfe_minimum, NEMP_nfe_minimum, EMP_logg_maximum, EMP_minimum_age. Default -2.0. | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: -2 | **Parameter**: CEMP_cfe_minimum | **Description**: Minimum [C/Fe] that CEMP stars are required to have. See Izzard et al 2009. See also NEMP_cfe_minimum, EMP_logg_maximum, EMP_minimum_age. Default 0.7. | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: 0.7 | **Parameter**: NEMP_cfe_minimum | **Description**: Minimum [N/Fe] that NEMP stars are required to have. See Izzard et al 2009, Pols et al. 2012. See also CEMP_cfe_minimum, EMP_logg_maximum, EMP_minimum_age. Default 1.0. | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: 1 | **Parameter**: thick_disc_start_age | **Description**: Lookback time for the start of the thick disc star formation, e.g. 13e3 Myr. Units = Myr. @@ -2599,99 +2543,99 @@ Section: input | **Parameter**: MINT_dir | **Description**: Location of MINT algorithm data. | **Parameter input type**: String -| **Default value**: NULL +| **Default value**: | **Extra**: | **Parameter**: MINT_data_cleanup | **Description**: Activate checks on incoming data to try to account for problems. Will make data-loading slower, but may fix a few things. | **Parameter input type**: True|False -| **Default value**: NULL +| **Default value**: False | **Extra**: | **Parameter**: MINT_MS_rejuvenation | **Description**: Turn on or off (hydrogen) main-sequence rejuvenation. | **Parameter input type**: True|False -| **Default value**: NULL +| **Default value**: True | **Extra**: | **Parameter**: MINT_remesh | **Description**: Turn on or off MINT's remeshing. | **Parameter input type**: True|False -| **Default value**: NULL +| **Default value**: True | **Extra**: | **Parameter**: MINT_use_ZAMS_profiles | **Description**: Use chemical profiles at the ZAMS if MINT_use_ZAMS_profiles is TRUE, otherwise set homogeneous abundances. (Default is TRUE, so we use the profiles if they are available.) | **Parameter input type**: True|False -| **Default value**: NULL +| **Default value**: True | **Extra**: | **Parameter**: MINT_fallback_to_test_data | **Description**: If TRUE, use the MINT test_data directory as a fallback when data is unavailable. (FALSE) | **Parameter input type**: True|False -| **Default value**: NULL +| **Default value**: False | **Extra**: | **Parameter**: MINT_disable_grid_load_warnings | **Description**: Use this to explicitly disable MINT's warnings when loading a grid with, e.g., missing or too much data. | **Parameter input type**: True|False -| **Default value**: NULL +| **Default value**: False | **Extra**: | **Parameter**: MINT_Kippenhahn | **Description**: Turn on or off MINT's Kippenhahn diagrams. If 0, off, if 1, output star 1 (index 0), if 2 output star 2 (index 1). Default 0. | **Parameter input type**: Integer -| **Default value**: NULL +| **Default value**: 0 | **Extra**: | **Parameter**: MINT_nshells | **Description**: Set the initial number of shells MINT uses in each star when doing nuclear burning. Note: remeshing can change this. If MINT_nshells is 0, shellular burning and other routines that require shells will not be available. (200) | **Parameter input type**: Integer -| **Default value**: NULL +| **Default value**: 200 | **Extra**: | **Parameter**: MINT_maximum_nshells | **Description**: Set the maximum number of shells MINT uses in each star when doing nuclear burning. Note that this will be limited to MINT_HARD_MAX_NSHELLS. (1000) | **Parameter input type**: Integer -| **Default value**: NULL +| **Default value**: 1000 | **Extra**: | **Parameter**: MINT_minimum_nshells | **Description**: Set the minimum number of shells MINT uses in each star when doing nuclear burning. Note that this will be greater than or equal to MINT_HARD_MIN_NSHELLS, which is 0 by default. (0) | **Parameter input type**: Integer -| **Default value**: NULL +| **Default value**: 10 | **Extra**: | **Parameter**: MINT_Kippenhahn_stellar_type | **Description**: Stellar type selector for Kippenhahn plots. Set to -1 to ignore, otherwise the stellar type number for which Kippenhahn plot data should be output. | **Parameter input type**: Integer -| **Default value**: NULL +| **Default value**: -1 | **Macros**: ['LOW_MASS_MS = 0', 'MS = 1', 'HG = 2', 'GIANT_BRANCH = 3', 'CHeB = 4', 'EAGB = 5', 'TPAGB = 6', 'HeMS = 7', 'HeHG = 8', 'HeGB = 9', 'HeWD = 10', 'COWD = 11', 'ONeWD = 12', 'NS = 13', 'BH = 14', 'MASSLESS_REMNANT = 15'] | **Extra**: | **Parameter**: MINT_Kippenhahn_companion_stellar_type | **Description**: Companion stellar type selector for Kippenhahn plots. Set to -1 to ignore, otherwise the stellar type number for the companion for which Kippenhahn plot data should be output. | **Parameter input type**: Integer -| **Default value**: NULL +| **Default value**: -1 | **Macros**: ['LOW_MASS_MS = 0', 'MS = 1', 'HG = 2', 'GIANT_BRANCH = 3', 'CHeB = 4', 'EAGB = 5', 'TPAGB = 6', 'HeMS = 7', 'HeHG = 8', 'HeGB = 9', 'HeWD = 10', 'COWD = 11', 'ONeWD = 12', 'NS = 13', 'BH = 14', 'MASSLESS_REMNANT = 15'] | **Extra**: | **Parameter**: MINT_nuclear_burning | **Description**: Turn on or off MINT's nuclear burning algorithm. | **Parameter input type**: True|False -| **Default value**: NULL +| **Default value**: False | **Extra**: | **Parameter**: MINT_minimum_shell_mass | **Description**: Minimum shell mass in MINT's nuclear burning routines. | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: 1e-06 | **Extra**: | **Parameter**: MINT_maximum_shell_mass | **Description**: Maximum shell mass in MINT's nuclear burning routines. : | **Parameter input type**: Float -| **Default value**: NULL +| **Default value**: 0.1 | **Extra**: Section: i/o diff --git a/docs/source/example_notebooks.rst b/docs/source/example_notebooks.rst index 7a7ee6b22..c4e9e34c4 100644 --- a/docs/source/example_notebooks.rst +++ b/docs/source/example_notebooks.rst @@ -8,16 +8,16 @@ The order of the notebooks below is more or less the recommended order to read. :maxdepth: 2 :caption: Contents: - notebook_individual_systems.ipynb - notebook_custom_logging.ipynb - notebook_population.ipynb - notebook_extra_features.ipynb - notebook_api_functionality.ipynb + examples/notebook_individual_systems.ipynb + examples/notebook_custom_logging.ipynb + examples/notebook_population.ipynb + examples/notebook_extra_features.ipynb + examples/notebook_api_functionality.ipynb - notebook_luminosity_function_single.ipynb - notebook_luminosity_function_binaries.ipynb - notebook_HRD.ipynb - notebook_common_envelope_evolution.ipynb - notebook_BHBH.ipynb - notebook_massive_remnants.ipynb - notebook_solar_system.ipynb \ No newline at end of file + examples/notebook_luminosity_function_single.ipynb + examples/notebook_luminosity_function_binaries.ipynb + examples/notebook_HRD.ipynb + examples/notebook_common_envelope_evolution.ipynb + examples/notebook_BHBH.ipynb + examples/notebook_massive_remnants.ipynb + examples/notebook_solar_system.ipynb diff --git a/docs/source/examples/example_plotting_distributions.py b/docs/source/examples/example_plotting_distributions.py new file mode 100644 index 000000000..2cc9877c6 --- /dev/null +++ b/docs/source/examples/example_plotting_distributions.py @@ -0,0 +1,238 @@ +import math + +import numpy as np +import matplotlib.pyplot as plt + +from binarycpython.utils.distribution_functions import ( + three_part_powerlaw, + Kroupa2001, + Arenou2010_binary_fraction, + raghavan2010_binary_fraction, + imf_scalo1998, + imf_scalo1986, + imf_tinsley1980, + imf_scalo1998, + imf_chabrier2003, + flatsections, + duquennoy1991, + sana12, + Izzard2012_period_distribution, +) +from binarycpython.utils.useful_funcs import calc_sep_from_period + +################################################ +# Example script to plot the available probability distributions. +# TODO: + +################################################ +# mass distribution plots +################################################ + + +def plot_mass_distributions(): + mass_values = np.arange(0.11, 80, 0.1) + + kroupa_probability = [Kroupa2001(mass) for mass in mass_values] + scalo1986 = [imf_scalo1986(mass) for mass in mass_values] + tinsley1980 = [imf_tinsley1980(mass) for mass in mass_values] + scalo1998 = [imf_scalo1998(mass) for mass in mass_values] + chabrier2003 = [imf_chabrier2003(mass) for mass in mass_values] + + plt.plot(mass_values, kroupa_probability, label="Kroupa") + plt.plot(mass_values, scalo1986, label="scalo1986") + plt.plot(mass_values, tinsley1980, label="tinsley1980") + plt.plot(mass_values, scalo1998, label="scalo1998") + plt.plot(mass_values, chabrier2003, label="chabrier2003") + + plt.title("Probability distribution for mass of primary") + plt.ylabel(r"Probability") + plt.xlabel(r"Mass (M$_{\odot}$)") + plt.yscale("log") + plt.xscale("log") + plt.grid() + plt.legend() + plt.show() + + +################################################ +# Binary fraction distributions +################################################ + + +def plot_binary_fraction_distributions(): + arenou_binary_distibution = [ + Arenou2010_binary_fraction(mass) for mass in mass_values + ] + raghavan2010_binary_distribution = [ + raghavan2010_binary_fraction(mass) for mass in mass_values + ] + + plt.plot(mass_values, arenou_binary_distibution, label="arenou 2010") + plt.plot(mass_values, raghavan2010_binary_distribution, label="Raghavan 2010") + plt.title("Binary fractions distributions") + plt.ylabel(r"Binary fraction") + plt.xlabel(r"Mass (M$_{\odot}$)") + # plt.yscale('log') + plt.xscale("log") + plt.grid() + plt.legend() + plt.show() + + +################################################ +# Mass ratio distributions +################################################ + + +def plot_mass_ratio_distributions(): + mass_ratios = np.arange(0, 1, 0.01) + example_mass = 2 + flat_dist = [ + flatsections( + q, + opts=[ + {"min": 0.1 / example_mass, "max": 0.8, "height": 1}, + {"min": 0.8, "max": 1.0, "height": 1.0}, + ], + ) + for q in mass_ratios + ] + + plt.plot(mass_ratios, flat_dist, label="Flat") + plt.title("Mass ratio distributions") + plt.ylabel(r"Probability") + plt.xlabel(r"Mass ratio (q = $\frac{M1}{M2}$) ") + plt.grid() + plt.legend() + plt.show() + + +################################################ +# Period distributions +################################################ + + +def plot_period_distributions(): + logperiod_values = np.arange(-2, 12, 0.1) + duquennoy1991_distribution = [duquennoy1991(logper) for logper in logperiod_values] + + # Sana12 distributions + period_min = 10 ** 0.15 + period_max = 10 ** 5.5 + + m1 = 20 + m2 = 15 + sana12_distribution_q05 = [ + sana12( + m1, + m2, + calc_sep_from_period(m1, m2, 10 ** logper), + 10 ** logper, + calc_sep_from_period(m1, m2, period_min), + calc_sep_from_period(m1, m2, period_max), + math.log10(period_min), + math.log10(period_max), + -0.55, + ) + for logper in logperiod_values + ] + + m1 = 30 + m2 = 1 + sana12_distribution_q0033 = [ + sana12( + m1, + m2, + calc_sep_from_period(m1, m2, 10 ** logper), + 10 ** logper, + calc_sep_from_period(m1, m2, period_min), + calc_sep_from_period(m1, m2, period_max), + math.log10(period_min), + math.log10(period_max), + -0.55, + ) + for logper in logperiod_values + ] + + m1 = 30 + m2 = 3 + sana12_distribution_q01 = [ + sana12( + m1, + m2, + calc_sep_from_period(m1, m2, 10 ** logper), + 10 ** logper, + calc_sep_from_period(m1, m2, period_min), + calc_sep_from_period(m1, m2, period_max), + math.log10(period_min), + math.log10(period_max), + -0.55, + ) + for logper in logperiod_values + ] + + m1 = 30 + m2 = 30 + sana12_distribution_q1 = [ + sana12( + m1, + m2, + calc_sep_from_period(m1, m2, 10 ** logper), + 10 ** logper, + calc_sep_from_period(m1, m2, period_min), + calc_sep_from_period(m1, m2, period_max), + math.log10(period_min), + math.log10(period_max), + -0.55, + ) + for logper in logperiod_values + ] + + Izzard2012_period_distribution_10 = [ + Izzard2012_period_distribution(10 ** logperiod, 10) + for logperiod in logperiod_values + ] + Izzard2012_period_distribution_20 = [ + Izzard2012_period_distribution(10 ** logperiod, 20) + for logperiod in logperiod_values + ] + + plt.plot( + logperiod_values, duquennoy1991_distribution, label="Duquennoy & Mayor 1991" + ) + plt.plot(logperiod_values, sana12_distribution_q0033, label="Sana 12 (q=0.033)") + plt.plot(logperiod_values, sana12_distribution_q05, label="Sana 12 (q=0.5)") + plt.plot(logperiod_values, sana12_distribution_q01, label="Sana 12 (q=0.1)") + plt.plot(logperiod_values, sana12_distribution_q1, label="Sana 12 (q=1)") + + plt.plot( + logperiod_values, Izzard2012_period_distribution_10, label="Izzard2012 (M=10)" + ) + plt.plot( + logperiod_values, Izzard2012_period_distribution_20, label="Izzard2012 (M=20)" + ) + + plt.title("Period distributions") + plt.ylabel(r"Probability") + plt.xlabel(r"Log10(orbital period)") + plt.grid() + plt.legend() + plt.show() + + +plot_period_distributions() +################################################ +# Sampling part of distribution and calculating probability ratio +################################################ + +# TODO show the difference between sampling over the full range, or taking a smaller range initially and compensating for it. + + +# val = Izzard2012_period_distribution(1000, 10) +# print(val) +# val2 = Izzard2012_period_distribution(100, 10) +# print(val2) + + +# from binarycpython.utils.distribution_functions import (interpolate_in_mass_izzard2012) +# # print(interpolate_in_mass_izzard2012(15, 0.3, -1)) diff --git a/docs/source/notebook_BHBH.ipynb b/docs/source/examples/notebook_BHBH.ipynb similarity index 98% rename from docs/source/notebook_BHBH.ipynb rename to docs/source/examples/notebook_BHBH.ipynb index 80b707d95..4afd498b9 100644 --- a/docs/source/notebook_BHBH.ipynb +++ b/docs/source/examples/notebook_BHBH.ipynb @@ -5,27 +5,8 @@ "id": "a544d28c-c2e1-4c6a-b55b-8caec440743f", "metadata": {}, "source": [ - "# Tutorial: Running individual systems with binary_c-python\n", - "This notebook will show you how to run single systems and analyze their results.\n", - "\n", - "It can be useful to have some functions to quickly run a single system to, for example, inspect what evolutionary steps a specific system goes through, to plot the mass loss evolution of a single system, etc. " - ] - }, - { - "cell_type": "markdown", - "id": "dd5d9ec7-5791-45f1-afbd-225947e2a583", - "metadata": { - "tags": [] - }, - "source": [ - "## Single system with run_system_wrapper\n", - "\n", - "The simplest method to run a single system is to use the run_system wrapper. This function deals with setting up the argument string, makes sure all the required parameters are included and handles setting and cleaning up the custom logging functionality (see notebook_custom_logging).\n", - "\n", - "As arguments to this function we can add any of the parameters that binary_c itself actually knows, as well as:\n", - "- custom_logging_code: string containing a Printf statement that binary_c can use to print information\n", - "- log_filename: path of the logfile that binary_c generates\n", - "- parse_function: function that handles parsing the output of binary-c" + "# Example use case: Binary black hole systems\n", + "TODO: introduce the notebook\n" ] }, { @@ -91,7 +72,13 @@ "cell_type": "code", "execution_count": 3, "id": "029fc3f2-f09a-49af-a32b-248505738f2e", - "metadata": {}, + "metadata": { + "collapsed": true, + "jupyter": { + "outputs_hidden": true + }, + "tags": [] + }, "outputs": [ { "name": "stdout", @@ -288,13 +275,7 @@ " 7.4046 9.501 9.586 14 14 -102.91 -1 -1.00 0.000 0.000 SN kick Ib/c (SN type 11 11, pre-explosion M=10.0399 Mc\"CO\"=7.43173 type=8) -> kick 1(190) vk=384.535 vr=0 omega=3.4205 phi=-0.103702 -> vn=384.535 ; final sep -102.908 ecc -1 (random count 5) - Runaway v=(-379.582,-106.329,10.8544) |v|=384.535 : companion v=(-5.13796e-51,-1.27569e-103,2.85406e-105), |v|=5.13796e-51 ; - , dm(exploder) = 0.454268, dm(companion) = 0\n", " 7.4046 9.501 9.586 14 14 -102.91 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 7.4046 9.501 9.586 14 14 -102.91 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 9.501 9.586 14 14 -102.91 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 9.501 9.586 14 14 -102.91 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n" ] } @@ -376,7 +357,13 @@ "cell_type": "code", "execution_count": 5, "id": "8018ef52-093d-45ac-a00b-5fb721db3adb", - "metadata": {}, + "metadata": { + "collapsed": true, + "jupyter": { + "outputs_hidden": true + }, + "tags": [] + }, "outputs": [ { "name": "stdout", @@ -558,13 +545,7 @@ "System 58 has separation -140.9\n", "system 59 / 100\n", "{'time': 7.4046, 'M1': 5.851, 'M2': 5.873, 'K1': 14.0, 'K2': 14.0, 'separation': -2439.0}\n", - "System 59 has separation -2439.0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "System 59 has separation -2439.0\n", "system 60 / 100\n", "{'time': 7.4046, 'M1': 5.851, 'M2': 5.873, 'K1': 14.0, 'K2': 14.0, 'separation': -235.82}\n", "System 60 has separation -235.82\n", @@ -742,7 +723,13 @@ "cell_type": "code", "execution_count": 6, "id": "3085ba82-430e-48f0-bca3-b19231e6109d", - "metadata": {}, + "metadata": { + "collapsed": true, + "jupyter": { + "outputs_hidden": true + }, + "tags": [] + }, "outputs": [ { "name": "stdout", @@ -944,13 +931,7 @@ " 7.4046 9.501 9.586 14 14 9548.9 67.7 y 0.05 0.000 0.000 \"TYPE_CHNGE\"\n", " 7.4046 9.501 9.586 14 14 9548.9 67.7 y 0.05 0.000 0.000 \"SN\"\n", " 7.4146 9.501 9.586 14 14 9548.9 67.7 y 0.05 0.000 0.000 \"END_SYMB\"\n", - " 15000.0000 9.501 9.586 14 14 9548.9 67.7 y 0.05 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 9.501 9.586 14 14 9548.9 67.7 y 0.05 0.000 0.000 \"MAX_TIME\"\n", "\n" ] } @@ -1238,13 +1219,7 @@ " 265.4710 45.203 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 265.4710 45.203 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 265.4710 45.203 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.203 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.203 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -1369,13 +1344,7 @@ " 6.1830 26.222 18.898 14 14 94.707 15.9 d 0.58 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1830 26.222 18.898 14 14 94.707 15.9 d 0.58 0.000 0.000 \"SN\"\n", " 6.1830 26.222 18.898 14 14 94.707 15.9 d 0.58 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.222 18.898 14 14 89.066 14.5 d 0.56 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.222 18.898 14 14 89.066 14.5 d 0.56 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -1505,13 +1474,7 @@ " 83.5556 45.159 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 83.5556 45.159 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 83.5556 45.159 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.159 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.159 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -1594,13 +1557,7 @@ " 1473.7324 45.249 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 1473.7324 45.249 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 1473.7324 45.249 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.249 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.249 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -1739,13 +1696,7 @@ " 112.8805 45.090 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 112.8805 45.090 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 112.8805 45.090 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.090 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.090 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -1813,13 +1764,7 @@ " 12.7426 44.651 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 12.7426 44.651 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 12.7426 44.651 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 44.651 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 44.651 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -1931,13 +1876,7 @@ " 6.1823 26.223 18.942 14 14 174.23 39.6 d 0.87 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1823 26.223 18.942 14 14 174.23 39.6 d 0.87 0.000 0.000 \"SN\"\n", " 6.1823 26.223 18.942 14 14 174.23 39.6 d 0.87 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.223 18.942 14 14 122 23.2 d 0.82 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.223 18.942 14 14 122 23.2 d 0.82 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -2016,13 +1955,7 @@ "{'time': 6.1816, 'M1': 26.224, 'M2': 18.995, 'K1': 14.0, 'K2': 14.0, 'separation': -24.872}\n", "System 7 has separation -24.872\n", "system 8 / 100\n", - "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -33.648}\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -33.648}\n", "System 8 has separation -33.648\n", "system 9 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -1713.8}\n", @@ -2137,13 +2070,7 @@ " 6.1810 26.225 19.039 14 14 144 29.7 d 0.62 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1810 26.225 19.039 14 14 144 29.7 d 0.62 0.000 0.000 \"SN\"\n", " 6.1810 26.225 19.039 14 14 144 29.7 d 0.62 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.225 19.039 14 14 141.62 29 d 0.62 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.225 19.039 14 14 141.62 29 d 0.62 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -2230,13 +2157,7 @@ "system 6 / 100\n", "None\n", "system 7 / 100\n", - "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -62.267}\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -62.267}\n", "System 7 has separation -62.267\n", "system 8 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -42.878}\n", @@ -2345,13 +2266,7 @@ " 6.1825 26.223 18.926 14 14 161.5 35.4 d 0.88 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1825 26.223 18.926 14 14 161.5 35.4 d 0.88 0.000 0.000 \"SN\"\n", " 6.1825 26.223 18.926 14 14 161.5 35.4 d 0.88 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.223 18.926 14 14 75.019 11.2 d 0.76 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.223 18.926 14 14 75.019 11.2 d 0.76 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -2431,13 +2346,7 @@ "system 6 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -106.87}\n", "System 6 has separation -106.87\n", - "system 7 / 100\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "system 7 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -89.768}\n", "System 7 has separation -89.768\n", "system 8 / 100\n", @@ -2514,13 +2423,7 @@ "{'time': 6.1819, 'M1': 26.224, 'M2': 18.975, 'K1': 14.0, 'K2': 14.0, 'separation': -23.855}\n", "System 1 has separation -23.855\n", "system 2 / 100\n", - "{'time': 6.1811, 'M1': 26.225, 'M2': 19.036, 'K1': 14.0, 'K2': 14.0, 'separation': -168.1}\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "{'time': 6.1811, 'M1': 26.225, 'M2': 19.036, 'K1': 14.0, 'K2': 14.0, 'separation': -168.1}\n", "System 2 has separation -168.1\n", "system 3 / 100\n", "None\n", @@ -2603,13 +2506,7 @@ "System 6 has separation -98.879\n", "system 7 / 100\n", "{'time': 6.1834, 'M1': 26.221, 'M2': 18.866, 'K1': 14.0, 'K2': 14.0, 'separation': 71.42}\n", - "System 7 has separation 71.42\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "System 7 has separation 71.42\n", "Found bound BHBH system\n", " TIME M1 M2 K1 K2 SEP PER ECC R1/ROL1 R2/ROL2 TYPE RANDOM_SEED=26051 RANDOM_COUNT=0\n", " 0.0000 60.000 40.000 1 1 3101.2 5.48 y 0.00 0.006 0.006 \"INITIAL \"\n", @@ -2673,13 +2570,7 @@ "System 1 has separation -490.65\n", "system 2 / 100\n", "None\n", - "system 3 / 100\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "system 3 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -844.54}\n", "System 3 has separation -844.54\n", "system 4 / 100\n", @@ -2803,13 +2694,7 @@ " 6.1812 26.225 19.021 14 14 157.31 34 d 0.29 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1812 26.225 19.021 14 14 157.31 34 d 0.29 0.000 0.000 \"SN\"\n", " 6.1812 26.225 19.021 14 14 157.31 34 d 0.29 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.225 19.021 14 14 157.05 33.9 d 0.29 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.225 19.021 14 14 157.05 33.9 d 0.29 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -2932,13 +2817,7 @@ " 812.5051 43.110 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 812.5051 43.110 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 812.5051 43.110 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 43.110 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 43.110 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -3051,13 +2930,7 @@ " 6.1844 26.229 18.804 14 14 164.59 36.4 d 0.46 0.000 0.000 SN kick Ib/c (SN type 11 11, pre-explosion M=18.8039 Mc\"CO\"=14.1854 type=8) -> kick 1(190) vk=161.317 vr=310.99 omega=3.87813 phi=-1.31958 -> vn=375.785 ; final sep 164.585 ecc 0.464494 (random count 5) - Runaway v=(-42.7184,-100.373,-23.0784) |v|=111.499 : companion v=(225.604,-99.3719,-86.2291), |v|=261.166 ; - , dm(exploder) = 0, dm(companion) = 0\n", " 6.1844 26.229 18.804 14 14 164.59 36.4 d 0.46 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1844 26.229 18.804 14 14 164.59 36.4 d 0.46 0.000 0.000 \"SN\"\n", - " 15000.0000 26.229 18.804 14 14 164.1 36.3 d 0.46 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.229 18.804 14 14 164.1 36.3 d 0.46 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -3176,13 +3049,7 @@ " 6.1830 26.222 18.894 14 14 305.95 92.3 d 0.61 0.000 0.000 SN kick Ib/c (SN type 11 11, pre-explosion M=18.8941 Mc\"CO\"=14.2552 type=8) -> kick 1(190) vk=151.131 vr=262.883 omega=2.0613 phi=-1.06527 -> vn=331.775 ; final sep 305.952 ecc 0.613167 (random count 5) - Runaway v=(0,0,0) |v|=0 : companion v=(0,0,0), |v|=0 ; - , dm(exploder) = 0, dm(companion) = 0\n", " 6.1830 26.222 18.894 14 14 305.95 92.3 d 0.61 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1830 26.222 18.894 14 14 305.95 92.3 d 0.61 0.000 0.000 \"SN\"\n", - " 15000.0000 26.222 18.894 14 14 305.73 92.2 d 0.61 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.222 18.894 14 14 305.73 92.2 d 0.61 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -3267,13 +3134,7 @@ " 457.8881 45.125 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 457.8881 45.125 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 457.8881 45.125 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.125 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.125 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -3351,13 +3212,7 @@ "System 1 has separation -168.81\n", "system 2 / 100\n", "None\n", - "system 3 / 100\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "system 3 / 100\n", "{'time': 6.1808, 'M1': 26.225, 'M2': 19.057, 'K1': 14.0, 'K2': 14.0, 'separation': -26.38}\n", "System 3 has separation -26.38\n", "system 4 / 100\n", @@ -3449,13 +3304,7 @@ "system 13 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -374.05}\n", "System 13 has separation -374.05\n", - "system 14 / 100\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "system 14 / 100\n", "{'time': 6.181, 'M1': 26.225, 'M2': 19.041, 'K1': 14.0, 'K2': 14.0, 'separation': 236.64}\n", "System 14 has separation 236.64\n", "Found bound BHBH system\n", @@ -3586,13 +3435,7 @@ " 6.1827 26.222 18.914 14 14 99.202 17 d 0.44 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1827 26.222 18.914 14 14 99.202 17 d 0.44 0.000 0.000 \"SN\"\n", " 6.1827 26.222 18.914 14 14 99.202 17 d 0.44 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.222 18.914 14 14 97.228 16.5 d 0.43 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.222 18.914 14 14 97.228 16.5 d 0.43 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -3704,13 +3547,7 @@ " 6.1858 26.249 18.711 14 14 98.616 16.9 d 0.47 0.000 0.000 SN kick Ib/c (SN type 11 11, pre-explosion M=18.7108 Mc\"CO\"=14.1135 type=8) -> kick 1(190) vk=199.576 vr=332.361 omega=1.41485 phi=-0.652755 -> vn=365.958 ; final sep 98.6161 ecc 0.469056 (random count 5) - Runaway v=(-0.807331,-67.6832,0.168972) |v|=67.6883 : companion v=(254.424,134.518,0.477089), |v|=287.796 ; - , dm(exploder) = 0, dm(companion) = 0\n", " 6.1858 26.249 18.711 14 14 98.616 16.9 d 0.47 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1858 26.249 18.711 14 14 98.616 16.9 d 0.47 0.000 0.000 \"SN\"\n", - " 15000.0000 26.249 18.711 14 14 96.287 16.3 d 0.46 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.249 18.711 14 14 96.287 16.3 d 0.46 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -3838,13 +3675,7 @@ " 10.8252 45.201 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 10.8252 45.201 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 10.8252 45.201 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.201 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.201 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -3953,13 +3784,7 @@ " 8031.6562 45.165 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 8031.6562 45.165 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 8031.6562 45.165 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.165 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.165 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -4046,13 +3871,7 @@ " 6.1847 26.236 18.783 14 14 113.51 20.9 d 0.29 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1847 26.236 18.783 14 14 113.51 20.9 d 0.29 0.000 0.000 \"SN\"\n", " 15000.0000 26.236 18.783 14 14 112.85 20.7 d 0.29 0.000 0.000 \"MAX_TIME\"\n", - "\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -48.404}\n", @@ -4115,13 +3934,7 @@ " 6.2075 45.233 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.2075 45.233 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 6.2075 45.233 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.233 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.233 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -4206,13 +4019,7 @@ " 6.1817 26.224 18.984 14 14 763.92 364 d 0.79 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1817 26.224 18.984 14 14 763.92 364 d 0.79 0.000 0.000 \"SN\"\n", " 6.1817 26.224 18.984 14 14 763.92 364 d 0.79 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.224 18.984 14 14 763.81 364 d 0.79 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.224 18.984 14 14 763.81 364 d 0.79 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -4291,13 +4098,7 @@ "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -1722.6}\n", "System 5 has separation -1722.6\n", "system 6 / 100\n", - "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -1571.7}\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -1571.7}\n", "System 6 has separation -1571.7\n", "system 7 / 100\n", "None\n", @@ -4424,13 +4225,7 @@ " 6.1826 26.223 18.922 14 14 1691.7 3.28 y 0.98 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1826 26.223 18.922 14 14 1691.7 3.28 y 0.98 0.000 0.000 \"SN\"\n", " 6.1826 26.223 18.922 14 14 1691.7 3.28 y 0.98 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.223 18.922 14 14 1663.3 3.2 y 0.98 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.223 18.922 14 14 1663.3 3.2 y 0.98 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -4508,13 +4303,7 @@ "system 4 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -121.45}\n", "System 4 has separation -121.45\n", - "system 5 / 100\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "system 5 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -209.29}\n", "System 5 has separation -209.29\n", "system 6 / 100\n", @@ -4611,13 +4400,7 @@ "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -42.805}\n", "System 6 has separation -42.805\n", "system 7 / 100\n", - "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -86.593}\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -86.593}\n", "System 7 has separation -86.593\n", "system 8 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -33.049}\n", @@ -4693,13 +4476,7 @@ "system 5 / 100\n", "{'time': 6.1817, 'M1': 26.224, 'M2': 18.986, 'K1': 14.0, 'K2': 14.0, 'separation': -78.905}\n", "System 5 has separation -78.905\n", - "system 6 / 100\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "system 6 / 100\n", "{'time': 6.1851, 'M1': 26.215, 'M2': 48.508, 'K1': 14.0, 'K2': 14.0, 'separation': -58.583}\n", "System 6 has separation -58.583\n", "system 7 / 100\n", @@ -4826,13 +4603,7 @@ " 6.1822 26.223 18.952 14 14 133.24 26.5 d 0.42 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1822 26.223 18.952 14 14 133.24 26.5 d 0.42 0.000 0.000 \"SN\"\n", " 6.1822 26.223 18.952 14 14 133.24 26.5 d 0.42 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.223 18.952 14 14 132.51 26.3 d 0.42 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.223 18.952 14 14 132.51 26.3 d 0.42 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -4959,13 +4730,7 @@ " 6.1814 26.225 19.013 14 14 195.2 47 d 0.11 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1814 26.225 19.013 14 14 195.2 47 d 0.11 0.000 0.000 \"SN\"\n", " 6.1814 26.225 19.013 14 14 195.2 47 d 0.11 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.225 19.013 14 14 195.12 46.9 d 0.11 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.225 19.013 14 14 195.12 46.9 d 0.11 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -5071,13 +4836,7 @@ " 202.9610 45.199 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", " 202.9610 45.199 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"COALESCE\"\n", " 202.9610 45.199 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"SN\"\n", - " 15000.0000 45.199 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 45.199 0.000 14 15 -1 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -5205,13 +4964,7 @@ " 6.1817 26.224 18.984 14 14 239.33 63.8 d 0.62 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1817 26.224 18.984 14 14 239.33 63.8 d 0.62 0.000 0.000 \"SN\"\n", " 6.1817 26.224 18.984 14 14 239.33 63.8 d 0.62 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.224 18.984 14 14 238.83 63.6 d 0.62 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.224 18.984 14 14 238.83 63.6 d 0.62 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -5331,13 +5084,7 @@ " 6.1821 26.223 18.957 14 14 144.61 30 d 0.23 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1821 26.223 18.957 14 14 144.61 30 d 0.23 0.000 0.000 \"SN\"\n", " 6.1821 26.223 18.957 14 14 144.61 30 d 0.23 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.223 18.957 14 14 144.35 29.9 d 0.23 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.223 18.957 14 14 144.35 29.9 d 0.23 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -5420,13 +5167,7 @@ " 6.1816 26.224 18.998 14 14 246.46 66.6 d 0.33 0.000 0.000 \"TYPE_CHNGE\"\n", " 6.1816 26.224 18.998 14 14 246.46 66.6 d 0.33 0.000 0.000 \"SN\"\n", " 6.1816 26.224 18.998 14 14 246.46 66.6 d 0.33 0.000 0.000 \"End tidal lock 2\"\n", - " 15000.0000 26.224 18.998 14 14 246.39 66.6 d 0.33 0.000 0.000 \"MAX_TIME\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " 15000.0000 26.224 18.998 14 14 246.39 66.6 d 0.33 0.000 0.000 \"MAX_TIME\"\n", "\n", "{'M_1': 60, 'M_2': 40, 'metallicity': 0.001, 'orbital_period': 2000, 'BH_prescription': 'BH_BELCZYNSKI', 'wind_mass_loss': 'WIND_ALGORITHM_NONE', 'alpha_ce': 0.1}\n", "system 1 / 100\n", @@ -5528,7 +5269,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -5542,7 +5283,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.5" + "version": "3.6.4" } }, "nbformat": 4, diff --git a/docs/source/notebook_HRD.ipynb b/docs/source/examples/notebook_HRD.ipynb similarity index 100% rename from docs/source/notebook_HRD.ipynb rename to docs/source/examples/notebook_HRD.ipynb diff --git a/docs/source/notebook_api_functionality.ipynb b/docs/source/examples/notebook_api_functionality.ipynb similarity index 100% rename from docs/source/notebook_api_functionality.ipynb rename to docs/source/examples/notebook_api_functionality.ipynb diff --git a/docs/source/notebook_common_envelope_evolution.ipynb b/docs/source/examples/notebook_common_envelope_evolution.ipynb similarity index 100% rename from docs/source/notebook_common_envelope_evolution.ipynb rename to docs/source/examples/notebook_common_envelope_evolution.ipynb diff --git a/docs/source/notebook_custom_logging.ipynb b/docs/source/examples/notebook_custom_logging.ipynb similarity index 100% rename from docs/source/notebook_custom_logging.ipynb rename to docs/source/examples/notebook_custom_logging.ipynb diff --git a/docs/source/notebook_extra_features.ipynb b/docs/source/examples/notebook_extra_features.ipynb similarity index 100% rename from docs/source/notebook_extra_features.ipynb rename to docs/source/examples/notebook_extra_features.ipynb diff --git a/docs/source/notebook_individual_systems.ipynb b/docs/source/examples/notebook_individual_systems.ipynb similarity index 100% rename from docs/source/notebook_individual_systems.ipynb rename to docs/source/examples/notebook_individual_systems.ipynb diff --git a/docs/build/html/notebook_luminosity_function_binaries.ipynb b/docs/source/examples/notebook_luminosity_function_binaries.ipynb similarity index 99% rename from docs/build/html/notebook_luminosity_function_binaries.ipynb rename to docs/source/examples/notebook_luminosity_function_binaries.ipynb index 8eabffc08..d096455b0 100644 --- a/docs/build/html/notebook_luminosity_function_binaries.ipynb +++ b/docs/source/examples/notebook_luminosity_function_binaries.ipynb @@ -869,33 +869,31 @@ ] }, { - "cell_type": "code", - "execution_count": 12, - "id": "99e25a72-54e6-4826-b0e5-4a02460b857d", + "cell_type": "markdown", + "id": "e0601000-a4c9-4073-a695-10a664e532f0", "metadata": {}, - "outputs": [ - { - "ename": "SyntaxError", - "evalue": "invalid syntax (2944163245.py, line 1)", - "output_type": "error", - "traceback": [ - "\u001b[0;36m File \u001b[0;32m\"/tmp/ipykernel_518916/2944163245.py\"\u001b[0;36m, line \u001b[0;32m1\u001b[0m\n\u001b[0;31m Things to try:\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n" - ] - } - ], "source": [ "Things to try:\n", - "* Massive stars: can you see the effects of wind mass loss and rejuvenation in these stars?\n", - "* Alter the metallicity, does this make much of a difference?\n", - "* Change the binary fraction. Here we assume a 100% binary fraction, but a real population is a mixture of single and binary stars.\n", - "* How might you go about comparing these computed observations to real stars?\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", + " * Massive stars: can you see the effects of wind mass loss and rejuvenation in these stars?\n", + " * Alter the metallicity, does this make much of a difference?\n", + " * Change the binary fraction. Here we assume a 100% binary fraction, but a real population is a mixture of single and binary stars.\n", + " * How might you go about comparing these computed observations to real stars?\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?" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "abb096b0-7c57-43d6-a9f7-56bdd21dc542", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -909,7 +907,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.5" + "version": "3.6.4" } }, "nbformat": 4, diff --git a/docs/build/doctrees/nbsphinx/notebook_luminosity_function_single.ipynb b/docs/source/examples/notebook_luminosity_function_single.ipynb similarity index 99% rename from docs/build/doctrees/nbsphinx/notebook_luminosity_function_single.ipynb rename to docs/source/examples/notebook_luminosity_function_single.ipynb index 2fc879dc4..4422377c9 100644 --- a/docs/build/doctrees/nbsphinx/notebook_luminosity_function_single.ipynb +++ b/docs/source/examples/notebook_luminosity_function_single.ipynb @@ -605,7 +605,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -619,7 +619,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.5" + "version": "3.6.4" } }, "nbformat": 4, diff --git a/docs/build/doctrees/nbsphinx/notebook_massive_remnants.ipynb b/docs/source/examples/notebook_massive_remnants.ipynb similarity index 99% rename from docs/build/doctrees/nbsphinx/notebook_massive_remnants.ipynb rename to docs/source/examples/notebook_massive_remnants.ipynb index f7586281e..6943c9d53 100644 --- a/docs/build/doctrees/nbsphinx/notebook_massive_remnants.ipynb +++ b/docs/source/examples/notebook_massive_remnants.ipynb @@ -7,7 +7,7 @@ "tags": [] }, "source": [ - "# Example use case: Zero-age stellar luminosity function\n", + "# 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", @@ -718,18 +718,26 @@ "metadata": {}, "source": [ "Things to try:\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)" + " * 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 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -743,7 +751,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.5" + "version": "3.6.4" } }, "nbformat": 4, diff --git a/docs/source/notebook_population.ipynb b/docs/source/examples/notebook_population.ipynb similarity index 100% rename from docs/source/notebook_population.ipynb rename to docs/source/examples/notebook_population.ipynb diff --git a/docs/build/html/notebook_solar_system.ipynb b/docs/source/examples/notebook_solar_system.ipynb similarity index 99% rename from docs/build/html/notebook_solar_system.ipynb rename to docs/source/examples/notebook_solar_system.ipynb index 67556a655..2b343a8f4 100644 --- a/docs/build/html/notebook_solar_system.ipynb +++ b/docs/source/examples/notebook_solar_system.ipynb @@ -3,9 +3,11 @@ { "cell_type": "markdown", "id": "ddc06da3-fc68-4c6f-8067-14ea862b964d", - "metadata": {}, + "metadata": { + "tags": [] + }, "source": [ - "## Solar system using the API functionality\n", + "## Example use case: Solar system using the API functionality\n", "We use the API interface to construct a model of the Solar system." ] }, @@ -304,7 +306,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -318,7 +320,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.5" + "version": "3.6.4" } }, "nbformat": 4, diff --git a/docs/source/examples/old/basic_example.ipynb b/docs/source/examples/old/basic_example.ipynb new file mode 100644 index 000000000..9078cfcb5 --- /dev/null +++ b/docs/source/examples/old/basic_example.ipynb @@ -0,0 +1,128 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "66ca8e31-7cbf-4484-bb6c-c9235e14bda2", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "import binarycpython\n", + "from binarycpython.utils.custom_logging_functions import binary_c_log_code\n", + "from binarycpython.utils.run_system_wrapper import run_system\n", + "from binarycpython.utils.functions import example_parse_output" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "31851c7f-4ccf-4b5a-9f74-8a3e06c6b2d8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "<AxesSubplot:xlabel='time'>" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 432x288 with 1 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# You can decide to `write` your own logging_line, which allows you to write a more complex logging statement with conditionals.\n", + "logging_line = 'Printf(\"MY_STELLAR_DATA time=%g radius=%g\\\\n\",stardata->model.time,stardata->star[0].radius)'\n", + "\n", + "# Generate entire shared lib code around logging lines\n", + "custom_logging_code = binary_c_log_code(logging_line, verbose=-1)\n", + "\n", + "# Run system. all arguments can be given as optional arguments. the custom_logging_code is \n", + "# one of them and will be processed automatically.\n", + "output = run_system(\n", + " M_1=1, metallicity=0.002, M_2=0.1, separation=0, orbital_period=100000000000, \\\n", + " custom_logging_code=custom_logging_code,\n", + ")\n", + "\n", + "df = pd.DataFrame.from_dict(example_parse_output(output, 'MY_STELLAR_DATA'), dtype=np.float64)\n", + "\n", + "df.plot('time', 'radius', logy=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "db0f3990-8680-4ea7-80d3-cdb430950c7f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "<AxesSubplot:xlabel='time'>" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 432x288 with 1 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "39509b1c-f5fb-4edd-847a-97757c2197df", + "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/source/examples/old/workshop_example_notebook.ipynb b/docs/source/examples/old/workshop_example_notebook.ipynb new file mode 100644 index 000000000..4eca58797 --- /dev/null +++ b/docs/source/examples/old/workshop_example_notebook.ipynb @@ -0,0 +1,641 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "tags": [] + }, + "source": [ + "# Binary_c and python example notebook\n", + "The following notebook servers as an example of how the binary_c python wrapper works and how it could be used.\n", + "\n", + "By: David Hendriks 30 nov 2019" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [], + "source": [ + "import binarycpython\n", + "import binary_c_python_api" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": "false" + }, + "source": [ + "## Core api wrapper functions:" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": "false" + }, + "source": [ + "### run_binary()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n", + "Binary_c output:\n", + "\n", + "\n", + "example_header_1 time=0 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 0 15 14 1 1 3540.3 0\n", + "INITIAL_GRID 15 14 4530 0.02 1 0\n", + "example_header_1 time=0 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 0 15 14 1 1 3540.3 0\n", + "INITIAL_GRID 15 14 4530 0.02 1 0\n", + "example_header_1 time=1e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 1e-07 15 14 1 1 3540.3 0\n", + "example_header_1 time=2e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 2e-07 15 14 1 1 3540.3 0\n" + ] + } + ], + "source": [ + "m1 = 15.0 # Msun\n", + "m2 = 14.0 # Msun\n", + "separation = 0 # 0 = ignored, use period\n", + "orbital_period = 4530.0 # days\n", + "eccentricity = 0.0\n", + "metallicity = 0.02\n", + "max_evolution_time = 15000 # You need to set this!\n", + "\n", + "argstring = \"binary_c M_1 {0:g} M_2 {1:g} separation {2:g} orbital_period {3:g} eccentricity {4:g} metallicity {5:g} max_evolution_time {6:g} \".format(\n", + " m1,\n", + " m2,\n", + " separation,\n", + " orbital_period,\n", + " eccentricity,\n", + " metallicity,\n", + " max_evolution_time,\n", + ")\n", + "\n", + "output = binary_c_python_api.run_binary(argstring)\n", + "\n", + "print(\"\\n\\nBinary_c output:\\n\\n\")\n", + "print('\\n'.join(output.split('\\n')[:10]))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": "false" + }, + "source": [ + "### run_binary_with_log" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "True\n", + " TIME M1 M2 K1 K2 SEP ECC R1/ROL1 R2/ROL2 TYPE RANDOM_SEED=7106 RANDOM_COUNT=0\n", + " 0.0000 15.000 14.000 1 1 2.786e+08 0.00 0.000 0.000 INITIAL \n", + " 12.7509 14.645 13.776 2 1 2.8427e+08 0.00 0.000 0.000 TYPE_CHNGE\n", + " 12.7773 14.639 13.775 4 1 2.8435e+08 0.00 0.000 0.000 TYPE_CHNGE\n", + " 13.1380 13.748 13.758 4 1 2.9373e+08 0.00 0.000 0.000 q-inv\n", + " 14.0900 10.830 13.705 4 2 3.2934e+08 0.00 0.000 0.000 OFF_MS\n", + " 14.0900 10.830 13.705 4 2 3.2934e+08 0.00 0.000 0.000 TYPE_CHNGE\n", + " 14.1204 10.726 13.700 4 4 3.3081e+08 0.00 0.000 0.000 TYPE_CHNGE\n", + " 14.2118 10.410 13.566 5 4 3.3702e+08 0.00 0.000 0.000 TYPE_CHNGE\n", + " 14.2646 1.472 13.462 13 4 -31.236 -1.00 0.000 0.000 Randbuf=34421 - d48r(0)=0.0570946 - d48r(1)=0.458272 - d48r(2)=0.13108 - d48r(3)=0.562029 - d48r(4)=0.924056 \n", + " 14.2646 1.472 13.462 13 4 -31.236 -1.00 0.000 0.000 SN kick II (SN type 12 12, pre-explosion M=9.89211 Mc=4.78817 type=5) -> kick 1(190) vk=302.148 vr=0.113492 omega=5.80602 phi=0.124379 -> vn=302.048 ; final sep -31.2365 ecc -1 (random count 0) - Runaway v=(0,0,0) |v|=0 : companion v=(0,0,0), |v|=0 ; \n", + " 14.2646 1.472 13.462 13 4 -31.236 -1.00 0.000 0.000 TYPE_CHNGE\n", + " 14.2646 1.472 13.462 13 4 -31.236 -1.00 0.000 0.000 DISRUPT \n", + " 14.2646 1.472 13.462 13 4 -31.236 -1.00 0.000 0.000 SN\n", + " 15.7087 1.472 10.210 13 5 -31.236 -1.00 0.000 0.000 TYPE_CHNGE\n", + " 15.7695 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 d48r(5)=0.608402 - d48r(6)=0.696003 - d48r(7)=0.796455 - d48r(8)=0.0834973 \n", + " 15.7695 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 SN kick II (SN type 12 12, pre-explosion M=9.85661 Mc=4.3914 type=5) -> kick 1(190) vk=392.156 vr=0 omega=0.524629 phi=0.634667 -> vn=392.156 ; final sep -31.2365 ecc -1 (random count 5) - Runaway v=(0,0,0) |v|=0 : companion v=(0,0,0), |v|=0 ; \n", + " 15.7695 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 TYPE_CHNGE\n", + " 15.7695 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 q-inv\n", + " 15.7695 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 SN\n", + " 15000.0000 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 MAX_TIME\n", + "Probability : 1\n", + "\n" + ] + } + ], + "source": [ + "import tempfile\n", + "import os\n", + "\n", + "m1 = 15.0 # Msun\n", + "m2 = 14.0 # Msun\n", + "separation = 0 # 0 = ignored, use period\n", + "orbital_period = 4530.0 # days\n", + "eccentricity = 0.0\n", + "metallicity = 0.02\n", + "max_evolution_time = 15000 # You need to set this!\n", + "log_filename=tempfile.gettempdir() + \"/test_log.txt\"\n", + "\n", + "argstring = \"binary_c M_1 {0:g} M_2 {1:g} separation {2:g} orbital_period {3:g} eccentricity {4:g} metallicity {5:g} max_evolution_time {6:g} log_filename {7} \".format(\n", + " m1,\n", + " m2,\n", + " separation,\n", + " orbital_period,\n", + " eccentricity,\n", + " metallicity,\n", + " max_evolution_time,\n", + " log_filename,\n", + ")\n", + "\n", + "output = binary_c_python_api.run_binary(argstring)\n", + "\n", + "print(os.path.exists(log_filename))\n", + "\n", + "with open(log_filename, 'r') as f:\n", + " print(f.read())\n", + "\n", + "\n", + "# print(\"\\n\\nBinary_c output:\\n\\n\")\n", + "# print(output)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": "false" + }, + "source": [ + "### run binary with custom logging line" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "example_header_1 time=0 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 0 15 14 1 1 3540.3 0\n", + "INITIAL_GRID 15 14 4530 0.02 1 0\n", + "MY_STELLAR_DATA time=0 mass=15\n", + "example_header_1 time=0 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 0 15 14 1 1 3540.3 0\n", + "INITIAL_GRID 15 14 4530 0.02 1 0\n", + "MY_STELLAR_DATA time=0 mass=15\n", + "example_header_1 time=1e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 1e-07 15 14 1 1 3540.3 0\n", + "MY_STELLAR_DATA time=1e-07 mass=15\n", + "example_header_1 time=2e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 2e-07 15 14 1 1 3540.3 0\n", + "MY_STELLAR_DATA time=2e-07 mass=15\n", + "example_header_1 time=3e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 3e-07 15 14 1 1 3540.3 0\n", + "MY_STELLAR_DATA time=3e-07 mass=15\n", + "example_header_1 time=4e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", + "example_header_2 4e-07 15 14 1 1 3540.3 0\n", + "MY_STELLAR_DATA time=4e-07 mass=15\n" + ] + } + ], + "source": [ + "from binarycpython.utils import custom_logging_functions\n", + "# generate logging lines. Here you can choose whatever you want to have logged, and with what header\n", + "# this generates working print statements\n", + "logging_line = custom_logging_functions.autogen_C_logging_code(\n", + " {\"MY_STELLAR_DATA\": [\"model.time\", \"star[0].mass\"],}\n", + ")\n", + "# OR\n", + "# You can also decide to `write` your own logging_line, which allows you to write a more complex logging statement with conditionals.\n", + "logging_line = 'Printf(\"MY_STELLAR_DATA time=%g mass=%g\\\\n\", stardata->model.time, stardata->star[0].mass)'\n", + "\n", + "# Generate entire shared lib code around logging lines\n", + "custom_logging_code = custom_logging_functions.binary_c_log_code(logging_line)\n", + "# print(custom_logging_code)\n", + "\n", + "# Make this code into a shared library and the function into memory\n", + "func_memaddr = custom_logging_functions.create_and_load_logging_function(custom_logging_code)\n", + "\n", + "# Run system with custom logging code\n", + "m1 = 15.0 # Msun\n", + "m2 = 14.0 # Msun\n", + "separation = 0 # 0 = ignored, use period\n", + "orbital_period = 4530.0 # days\n", + "eccentricity = 0.0\n", + "metallicity = 0.02\n", + "max_evolution_time = 15000 # You need to set this!\n", + "\n", + "argstring = \"binary_c M_1 {0:g} M_2 {1:g} separation {2:g} orbital_period {3:g} eccentricity {4:g} metallicity {5:g} max_evolution_time {6:g} \".format(\n", + " m1,\n", + " m2,\n", + " separation,\n", + " orbital_period,\n", + " eccentricity,\n", + " metallicity,\n", + " max_evolution_time,\n", + ")\n", + "\n", + "output = binary_c_python_api.run_binary_custom_logging(argstring, func_memaddr)\n", + "print('\\n'.join(output.split('\\n')[:20]))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": "false" + }, + "source": [ + "## Using utils functions\n", + "In the utils.functions there are some functions that make it easier to interact with the core api functions. " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": "false" + }, + "source": [ + "### run_system()\n", + "This function serves as an example on the function run_system and parse_output. \n", + "There is more functionality with this method and several tasks are done behind the scene.\n", + "\n", + "Requires pandas, numpy to run.\n", + "\n", + "run_system: mostly just makes passing arguments to the function easier. It also loads all the necessary defaults in the background\n", + "parse_output: Takes the raw output of binary_c and selects those lines that start with the given header. \n", + "Note, if you dont use the custom_logging functionality binary_c should be configured to have output that starts with that given header\n", + "\n", + "The parsing of the output only works correctly if either all of the values are described inline like `mass=<number>' or none of them are. " + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "example_header_1 time=0 mass_1=10 mass_2=20 st1=1 st2=1 sep=2.81762e+08 ecc=0\n", + "example_header_2 0 10 20 1 1 2.81762e+08 0\n", + "INITIAL_GRID 10 20 1e+11 0.02 1 0\n", + "example_header_1 time=0 mass_1=10 mass_2=20 st1=1 st2=1 sep=2.81762e+08 ecc=0\n", + "example_header_2 0 10 20 1 1 2.81762e+08 0\n", + "INITIAL_GRID 10 20 1e+11 0.02 1 0\n", + "example_header_1 time=1e-07 mass_1=10 mass_2=20 st1=1 st2=1 sep=2.81762e+08 ecc=0\n", + "example_header_2 1e-07 10 20 1 1 2.81762e+08 0\n", + "example_header_1 time=2e-07 mass_1=10 mass_2=20 st1=1 st2=1 sep=2.81762e+08 ecc=0\n", + "example_header_2 2e-07 10 20 1 1 2.81762e+08 0\n", + "\n", + "\n", + "\n", + " time mass_1 mass_2 st1 st2 sep ecc\n", + "0 0.000000e+00 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "1 0.000000e+00 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "2 1.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "3 2.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "4 3.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "... ... ... ... ... ... ... ...\n", + "3927 1.102750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "3928 1.202750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "3929 1.302750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "3930 1.402750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "3931 1.500000e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "\n", + "[3932 rows x 7 columns]\n", + " time mass_1 mass_2 st1 st2 sep ecc\n", + "0 0.000000e+00 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "1 0.000000e+00 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "2 1.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "3 2.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "4 3.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", + "... ... ... ... ... ... ... ...\n", + "3927 1.102750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "3928 1.202750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "3929 1.302750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "3930 1.402750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "3931 1.500000e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", + "\n", + "[3932 rows x 7 columns]\n" + ] + } + ], + "source": [ + "from binarycpython.utils.functions import run_system, parse_output\n", + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "# Run system. all arguments can be given as optional arguments.\n", + "output = run_system(M_1=10, M_2=20, separation=0, orbital_period=100000000000)\n", + "\n", + "print('\\n'.join(output.split('\\n')[:10]))\n", + "\n", + "# Catch results that start with a given header. (Mind that binary_c has to be configured to print them if your not using a custom logging function)\n", + "result_example_header_1 = parse_output(output, selected_header=\"example_header_1\")\n", + "result_example_header_2 = parse_output(output, selected_header=\"example_header_2\")\n", + "\n", + "# print(result_example_header_1)\n", + "\n", + "#### Now do whatever you want with it:\n", + "# Or put them into a pandas array\n", + "\n", + "# Cast the data into a dataframe.\n", + "# This example automatically catches the column names because the binary_c output line is constructed as 'example_header_1 time=<number>..'\n", + "print('\\n\\n')\n", + "\n", + "df = pd.DataFrame.from_dict(result_example_header_1, dtype=np.float64)\n", + "print(df)\n", + "\n", + "# This example has column headers which are numbered, but we can override that with custom headers.\n", + "df2 = pd.DataFrame.from_dict(result_example_header_2, dtype=np.float64)\n", + "df2.columns=['time', 'mass_1', 'mass_2', 'st1', 'st2', 'sep', 'ecc']\n", + "print(df2)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": "false" + }, + "source": [ + "### run_system() and custom logging\n", + "Function that will use a automatically generated piece of logging code. Compile it, load it \n", + "into memory and run a binary system. See run_system on how several things are done in the background here.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " time mass\n", + "0 0.000000e+00 1.000000\n", + "1 0.000000e+00 1.000000\n", + "2 1.000000e-07 1.000000\n", + "3 2.000000e-07 1.000000\n", + "4 3.000000e-07 1.000000\n", + "... ... ...\n", + "3630 1.131680e+04 0.627748\n", + "3631 1.231680e+04 0.627748\n", + "3632 1.331680e+04 0.627748\n", + "3633 1.431680e+04 0.627748\n", + "3634 1.500000e+04 0.627748\n", + "\n", + "[3635 rows x 2 columns]\n" + ] + } + ], + "source": [ + "from binarycpython.utils.custom_logging_functions import (\n", + " autogen_C_logging_code,\n", + " binary_c_log_code,\n", + ")\n", + "\n", + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "# generate logging lines. Here you can choose whatever you want to have logged, and with what header\n", + "# this generates working print statements\n", + "logging_line = autogen_C_logging_code(\n", + " {\"MY_STELLAR_DATA\": [\"model.time\", \"star[0].mass\"],}\n", + ")\n", + "# OR\n", + "# You can also decide to `write` your own logging_line, which allows you to write a more complex logging statement with conditionals.\n", + "logging_line = 'Printf(\"MY_STELLAR_DATA time=%g mass=%g\\\\n\", stardata->model.time, stardata->star[0].mass)'\n", + "\n", + "# Generate entire shared lib code around logging lines\n", + "custom_logging_code = binary_c_log_code(logging_line)\n", + "\n", + "# Run system. all arguments can be given as optional arguments. the custom_logging_code is one of them and will be processed automatically.\n", + "output = run_system(\n", + " M_1=1,\n", + " metallicity=0.002,\n", + " M_2=0.1,\n", + " separation=0,\n", + " orbital_period=100000000000,\n", + " custom_logging_code=custom_logging_code,\n", + ")\n", + "\n", + "# Catch results that start with a given header. (Mind that binary_c has to be configured to print them if your not using a custom logging function)\n", + "# DOESNT WORK YET if you have the line autogenerated.\n", + "result_example_header = parse_output(output, \"MY_STELLAR_DATA\")\n", + "\n", + "# Cast the data into a dataframe.\n", + "df = pd.DataFrame.from_dict(result_example_header, dtype=np.float64)\n", + "\n", + "# Do whatever you like with the dataframe.\n", + "print(df)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": "false" + }, + "source": [ + "## Other example\n", + "Checking how much mass stars lose on the main sequence." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [], + "source": [ + "def run_and_calc_mass(**kwargs):\n", + " \"\"\"\n", + " Function to run a given system and look at the mass lost in the main sequence of the star\n", + " \"\"\"\n", + " # start = time.time()\n", + " output = run_system(**kwargs)\n", + " result = parse_output(output, 'example_header_1')\n", + " # stop = time.time()\n", + " # print(\"Took {:.2f}s to run single system\".format(stop-start))\n", + " # print(\"The following keys are present in the results:\\n{}\".format(result.keys()))\n", + " # print(len(result))\n", + "\n", + " #### Now do whatever you want with it: \n", + "\n", + " # Cast the data into a dataframe. \n", + " df = pd.DataFrame.from_dict(result, dtype=np.float64)\n", + "\n", + " # Get last change moment\n", + " last_st = df['st1'].unique()[-1]\n", + " last_stellar_type_change_time_1 = df[df.st1==last_st]['time'].iloc[0]\n", + "\n", + " # slice to get that last time\n", + " sliced_df = df[df.time < last_stellar_type_change_time_1] # Cut off late parts of evolution\n", + "\n", + " main_sequence = sliced_df[sliced_df.st1==1]\n", + " \n", + " initial_mass = main_sequence.iloc[0].mass_1\n", + " final_mass = main_sequence.iloc[-1].mass_1\n", + " \n", + " initial_time = main_sequence.iloc[0].time\n", + " final_time = main_sequence.iloc[-1].time\n", + " \n", + " mass_lost = initial_mass - final_mass\n", + " fraction = mass_lost/initial_mass\n", + "\n", + " # Return the mass fraction (wrt initial mass)\n", + " return fraction\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Took 14.214274644851685s\n" + ] + } + ], + "source": [ + "import time\n", + "\n", + "metallicity_002 = 0.02\n", + "metallicity_001 = 0.01\n", + "metallicity_0002 = 0.002\n", + "\n", + "mass_range = np.arange(1, 25, .5)\n", + "\n", + "start = time.time()\n", + "fractions_z002 = [run_and_calc_mass(M_1=mass, \n", + " M_2=10, \n", + " separation=0, \n", + " orbital_period=100000000000, \n", + " metallicity=metallicity_002, \n", + " effective_metallicity=metallicity_002) \n", + " for mass in mass_range]\n", + "\n", + "fractions_z001 = [run_and_calc_mass(M_1=mass, \n", + " M_2=10, \n", + " separation=0, \n", + " orbital_period=100000000000, \n", + " metallicity=metallicity_001, \n", + " effective_metallicity=metallicity_001) \n", + " for mass in mass_range]\n", + "\n", + "fractions_z0002 = [run_and_calc_mass(M_1=mass, \n", + " M_2=10, \n", + " separation=0, \n", + " orbital_period=100000000000, \n", + " metallicity=metallicity_0002, \n", + " effective_metallicity=metallicity_0002) \n", + " for mass in mass_range]\n", + "stop = time.time()\n", + "print(\"Took {}s\".format(stop-start))" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "heading_collapsed": "false" + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 864x576 with 1 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "fig, ax = plt.subplots(nrows=1, ncols=1, figsize=(12,8))\n", + "\n", + "ax.plot(mass_range, fractions_z002, '--', label='Z=0.02')\n", + "ax.plot(mass_range, fractions_z001, '-.', label='Z=0.01')\n", + "ax.plot(mass_range, fractions_z0002, '-', label='Z=0.002')\n", + "\n", + "ax.set_xlabel(r'Initial Mass ($M_{\\odot}$)', fontsize=18)\n", + "ax.set_ylabel(r'Fraction of total initial mass lost on main sequence', fontsize=18)\n", + "ax.set_title('Fraction of total initial mass lost during main sequence for different metallicities', fontsize=18)\n", + "ax.legend()\n", + "ax.set_yscale('log')\n", + "#save_loop(name='plots/mass_loss_MS.{format}', formats=['pdf', 'png', 'eps'], bbox_inches='tight')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "heading_collapsed": "false" + }, + "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": 4 +} diff --git a/reports/test_coverage/test_coverage.svg b/reports/test_coverage/test_coverage.svg index dfb99a19b..ae1c3500d 100644 --- a/reports/test_coverage/test_coverage.svg +++ b/reports/test_coverage/test_coverage.svg @@ -9,13 +9,13 @@ </mask> <g mask="url(#a)"> <path fill="#555" d="M0 0h63v20H0z"/> - <path fill="#dfb317" d="M63 0h36v20H63z"/> + <path fill="#fe7d37" d="M63 0h36v20H63z"/> <path fill="url(#b)" d="M0 0h99v20H0z"/> </g> <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">67%</text> - <text x="80" y="14">67%</text> + <text x="80" y="15" fill="#010101" fill-opacity=".3">54%</text> + <text x="80" y="14">54%</text> </g> </svg> -- GitLab