From e3678d1945cad4b26641a1a5c74777a5179254c4 Mon Sep 17 00:00:00 2001 From: David Hendriks <davidhendriks93@gmail.com> Date: Thu, 25 Aug 2022 17:42:06 +0100 Subject: [PATCH] updated docs --- .../doctrees/binary_c_parameters.doctree | Bin 985316 -> 1022459 bytes docs/build/doctrees/ensemble.doctree | Bin 47875 -> 48307 bytes docs/build/doctrees/environment.pickle | Bin 976242 -> 991890 bytes .../doctrees/examples/notebook_BHBH.doctree | Bin 204292 -> 205275 bytes docs/build/doctrees/functions.doctree | Bin 170479 -> 172141 bytes docs/build/doctrees/grid.doctree | Bin 80207 -> 82566 bytes .../grid_options_descriptions.doctree | Bin 107716 -> 108567 bytes docs/build/doctrees/index.doctree | Bin 45624 -> 46685 bytes .../nbsphinx/examples/notebook_BHBH.ipynb | 9 + docs/build/doctrees/readme_link.doctree | Bin 42335 -> 43396 bytes .../utils/custom_logging_functions.html | 4 +- .../_modules/binarycpython/utils/dicts.html | 20 +- .../binarycpython/utils/ensemble.html | 91 +-- .../binarycpython/utils/functions.html | 46 +- .../_modules/binarycpython/utils/grid.html | 523 ++++++++++++++---- .../binarycpython/utils/plot_functions.html | 4 +- .../utils/population_extensions/HPC.html | 4 +- .../Moe_di_Stefano_2017.html | 4 +- .../population_extensions/analytics.html | 4 +- .../utils/population_extensions/cache.html | 4 +- .../utils/population_extensions/condor.html | 4 +- .../utils/population_extensions/dataIO.html | 4 +- .../distribution_functions.html | 4 +- .../population_extensions/grid_logging.html | 4 +- .../grid_options_defaults.html | 8 +- .../utils/population_extensions/gridcode.html | 4 +- .../utils/population_extensions/metadata.html | 4 +- .../utils/population_extensions/slurm.html | 4 +- .../spacing_functions.html | 4 +- .../population_extensions/version_info.html | 4 +- .../utils/run_system_wrapper.html | 4 +- .../binarycpython/utils/useful_funcs.html | 4 +- docs/build/html/_modules/index.html | 4 +- .../html/_sources/binary_c_parameters.rst.txt | 461 ++++++++------- .../_sources/examples/notebook_BHBH.ipynb.txt | 9 + .../grid_options_descriptions.rst.txt | 6 +- docs/build/html/binary_c_parameters.html | 515 +++++++++-------- docs/build/html/custom_logging_functions.html | 4 +- docs/build/html/dicts.html | 4 +- docs/build/html/ensemble.html | 6 +- docs/build/html/example_notebooks.html | 4 +- docs/build/html/examples/notebook_BHBH.html | 20 +- docs/build/html/examples/notebook_BHBH.ipynb | 9 + docs/build/html/examples/notebook_HRD.html | 4 +- .../examples/notebook_api_functionality.html | 4 +- .../notebook_common_envelope_evolution.html | 4 +- .../examples/notebook_custom_logging.html | 4 +- .../html/examples/notebook_ensembles.html | 4 +- .../examples/notebook_extra_features.html | 4 +- .../examples/notebook_individual_systems.html | 4 +- ...notebook_luminosity_function_binaries.html | 4 +- .../notebook_luminosity_function_single.html | 4 +- .../html/examples/notebook_population.html | 4 +- .../html/examples/notebook_solar_system.html | 4 +- .../html/examples/old/basic_example.html | 4 +- .../old/workshop_example_notebook.html | 4 +- docs/build/html/functions.html | 10 +- docs/build/html/genindex.html | 18 +- docs/build/html/grid.html | 29 +- .../build/html/grid_options_descriptions.html | 12 +- docs/build/html/index.html | 7 +- docs/build/html/modules.html | 4 +- docs/build/html/objects.inv | Bin 11835 -> 11906 bytes docs/build/html/plot_functions.html | 4 +- .../build/html/population_extensions/HPC.html | 4 +- .../Moe_di_Stefano_2017.html | 4 +- .../html/population_extensions/analytics.html | 4 +- .../html/population_extensions/cache.html | 4 +- .../html/population_extensions/condor.html | 4 +- .../html/population_extensions/dataIO.html | 4 +- .../distribution_functions.html | 4 +- .../population_extensions/grid_logging.html | 4 +- .../grid_options_defaults.html | 4 +- .../html/population_extensions/gridcode.html | 4 +- .../html/population_extensions/metadata.html | 4 +- .../html/population_extensions/slurm.html | 4 +- .../spacing_functions.html | 4 +- .../population_extensions/version_info.html | 4 +- docs/build/html/py-modindex.html | 4 +- docs/build/html/readme_link.html | 7 +- docs/build/html/run_system_wrapper.html | 4 +- docs/build/html/search.html | 4 +- docs/build/html/searchindex.js | 2 +- docs/build/html/stellar_types.html | 4 +- docs/build/html/useful_funcs.html | 4 +- docs/source/_templates/footer.html | 4 +- docs/source/binary_c_parameters.rst | 461 ++++++++------- docs/source/examples/notebook_BHBH.ipynb | 9 + docs/source/grid_options_descriptions.rst | 6 +- 89 files changed, 1526 insertions(+), 982 deletions(-) diff --git a/docs/build/doctrees/binary_c_parameters.doctree b/docs/build/doctrees/binary_c_parameters.doctree index ea119159cba8648e00796f867bea340c973657f3..2d1870caa1a186bee5eb083e0bbb64b153eb5a22 100644 GIT binary patch literal 1022459 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„gorBjoelN{1^{o9(Y1S^*ITq_2i*=3~ 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 delta 111994 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�um>6HI_Gp> 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 E2c=g6uK)l5 diff --git a/docs/build/doctrees/ensemble.doctree b/docs/build/doctrees/ensemble.doctree index ea1ed82a33bd80825d6f333cda2ca7c88a8d9c4e..1dda8603c71aba850e20a8f186e7d152159e7cfb 100644 GIT binary patch delta 797 zcmZ8f?MstU6!%>BY%bk>3}NQma8YZi<d%zyC>cdBm}?^tVkT-1o-P@)xexmgZAg6x zDdNluS1Ws&5-xF1_*N?hed|LeL{K0V)PG=*MRe~oG40E}=bYd9{m#q113!rRlSol% zXzazLbYKV=9vW&lHPrTn&j$MUAMQFA3ZV61K$ULB0sJ_8%kv-T7(c1*yS=2x_TgfE zu|~tYJIc36ni*FNr{juwaK*bEkHs&>?TV!6l`1xclXooms@_a8Cfq33!D}9H3FotY zCoEtr;eia!C!DI|UN<Sy(}Dud(xE$T!Feym;86+Rj7$-rXuV#A$p<H(Vg;1(n$KV~ z3q}o7OEBrH#v>2k!=6>#lrrdC9LHd5C2>*gd&I<*8?84e&Ag10qA#+!v@u__fnVWn z=Ah_)oP_RmDjh2-(1A^<0n)KX#IK1MS4FU^!n%Rg<u$hna62(m5yhydh?M2iQLhck z$I6XH%qgDDbcOsF6_%8@@XM7pH8u7LAjg}j!OmU_Wbx&b-!QNFrB^K_Sy882Dda17 zi)1_o-#O$WUn$0-Hmr5%U=hEK`{9okUZ&y=NQsOirY2a%59!^cQbxD4m2l`?qK+(5 zbe7plGkiPiq;pUE$O6UtyQ+8#-ib;wO)-7STd~0Fhn0GzM>HUMv9ti^&hfdLZTM^A zxzQtQlOC7RdZCfB*?&pLWW3?sik<!<)7+XdD8krY^BGRducSv<+Ddw4zLIjnX4T|m zgaE3Wo-GyHdIiq-5gIg}@9GWoM}mP6|AI^ao{(bYzmYL)nrVTL>ZKVw=%;x#mQ~ZU GZSWWPAP5Tp delta 691 zcmY*V-%FEG81|fPZeRGFZ~b60r^5vem)0^G*-c*5g&=)xH-j+4NrR6A#^&;3gfM^A z2r25_Gzy21IljfTc_>H;>Ov?8s*C6%h=%nC7?}M6JLmhN^5%Wt^FHT!p7(v(cRcnL z+cLKNx8;iMcpmk_$^2RHortqtQ#piGC{C*k-|DinkF)*Q@kXwx(LD4O#0p+`9VU?I zvcaXhkMK(weAhjo&Yeb|{(uTxi`b>AU^G!y2Zcx@Y|gz!7Fb^pWCflS?ba=hL*i5e z-r@@LRHUTdYS%is%`X`u>AlV$rs*b6L;dup4D0g+bYPoGfS4*M0BglD9us<-so^I= zL;9-$F}H6A-7qD;2!jBw%AyMy)qy`4mJ-w&d-AQ4dfJub>eOoCVNg^yvx4g7D2tZf zBQ(ipX@b51FU}GOPnBS?q<}Q-gpTrIbjJXlSG{#vPSzSV3qQwgSSpX83Wtv1GJ%nd zADRzYkq-HV9`wR!uM*g)>__kT!wb!AF0=|)7LTIOhTK!79rF+Ey8{-gi|ltU@q=x1 zNIpp783MB*56a%GG~iJJ<uhUT44-01Yt_z+F~mgPZp5h*1fF&J;eKUBax2F2^$Pd~ zgM^O%`?N=a8{vJ>*W-{U{#%AXML*^`$Z6)4f}%366jb<?>M<Q>DobN@jy-?4Vexke yJj6q4Qo0Zuh+j-6;;GzljtW3cX};lH3k|{A<8E}11(#b;?I?GnS=PG}MZW<sNbRlw diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle index 4c381d515cef510a9c2686e78ef968bd07b8f715..7e9f1b68bbcc0f7adc562d36aad253537ba15008 100644 GIT binary patch delta 55316 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 D`{l<) delta 44911 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 WUTTJua51>`nv(C@^k^)$D*S&7bsqHq diff --git a/docs/build/doctrees/examples/notebook_BHBH.doctree b/docs/build/doctrees/examples/notebook_BHBH.doctree index c1e74774a9383af3233bd81a2711ca1b1a8fccf8..d22864193117da756b5f92560efe490cb7a1c1cc 100644 GIT binary patch delta 805 zcmZqK!*lyEPeTji7A8qSM!xM*f=qS)9eRXAGBWehixo=p6-tUK74lLmO01@2u*Xix zu){9bI;C++?G%j+)~x633=Gp1MVZ~4ReHFSN^^2jOX71fi%X_Vo-%c@00S6kLKSDQ zfy~s%Q0d_WDT&W4NzDbSgGu)UPPY?c4wQk|>;)6f`UA8A>KKR$ktqoK!IJV>|JWxB zI2d#IUSY|Q&-%qa+3}k2^aZwzd>UClK)U6#zJe%)4CV~Q45bWZztW_vpFk0q9X)B& zIR%;1Fsv5lfLjewfowHcQa($R17h`6kkx`5BwHOYy-|cY0K;l6gw+rg$X0_T<+F64 zR$l{ItwD~}fx^t*Vq74A7V16T(}8k69MFIV^Fq0@TtTjq&vJ%Zd>v%5J;GuUY{5PK z!3IWoxgIu1>X_2Qs5_-JLoVwxC`Q1s0gScjfsTycOm|r(KNK)fREUMAK9*<@2OizP z6eORO2exmr{(g0)Y>vqdCybdgI3_EulbgJgQDm~+4g;nZj>!c(beIY_CMO&h0ZEn} yuV#F<eT69VK_<ql+p{E?zcMqfo1P%U?7+JY=pn!241wAyS(2RF*UB)5GXelBNCCJ2 delta 291 zcmcb8n5ShAPeTji7A8qS#!uU&1exmo%S4niGBAW>Wagz8E0p9bloVAe<fT@WSSiG4 zDNIikWDaBjvn+*~(;zH!5#|60%R!9UM|<iEZU!*OV2_=WVTaQ=2Dot`7Q{FZ3t}9I z1vD;{Qs=N{$Y(uepDf^DJY7JLnQwZGBclW3jqUZ4%m<kmHMcv;Fn?ucWSVZS!0f=w X#KFMeSDYbGJ0&ZZV|$ANb2uXa*Y8Vx diff --git a/docs/build/doctrees/functions.doctree b/docs/build/doctrees/functions.doctree index b654a456d89e13b745c572c39a6bd2aab572106f..3d6001033db6f1ed80c45a3cbe3885daf677a5d2 100644 GIT binary patch delta 9841 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 Ii}%960T<cV3jhEB delta 9408 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 HoCN;`b>lcD diff --git a/docs/build/doctrees/grid.doctree b/docs/build/doctrees/grid.doctree index 115cfcb38729c2a462b3da565d5c9a574ee919be..2e89a5e9e8e5e8953a59fc32d7ea210ec8994ea8 100644 GIT binary patch literal 82566 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 O3l*A#gudo<F8+T6=TNBt literal 80207 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 Ug{skBq*{|zns9_}<}@w+e<JCo1^@s6 diff --git a/docs/build/doctrees/grid_options_descriptions.doctree b/docs/build/doctrees/grid_options_descriptions.doctree index bda4b2f9376dafcecfbd2c7998177cd056c08e4d..77d2588fb48b0e88966a9780578d93ce0571a74b 100644 GIT binary patch delta 4357 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 delta 4102 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 diff --git a/docs/build/doctrees/index.doctree b/docs/build/doctrees/index.doctree index 85010eee044d533a2317a8a4fb1d628e4c28d96d..95ce3154ffaa2ab0f9be5eba9dc58319d458518e 100644 GIT binary patch delta 3120 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 C<lcq= delta 2323 zcmai$e@vBC7{`5&zW3fEjA2(X;PRW|rwK`Ij=3@um*Rz7;;*71Tzz>JE?huFOh6<{ zabV9yz(Pa>1Wm<PoHUn7G*@#=oz1e)B)7E8bXjZ7ww~vlE(Epp&vWj1ete(LIp@9S zeTVL{)3=yfsW!|w(W|D~ltfr!YeW0c7N#T`enFuruxjlv4>nDhp!w-G6I=>O@b#zJ zliEZrN?WeQEGjnM)HH>~VldGL-uhBD%LIkb&LYpxX~8t?Zb(u$pnyL-(BEXK7<MJ9 zn}p-oy2JccDZkPLN<@-rGx<$0WnLr<uMdEGnPwa#d7eyKCmFP{3>A=;=i=ourA+9k zRj8w3!|4!^KZk9XO>2a+E`I}Ski5x7Gub}Li=MWkcnT2jc9D7CnLU2J6>u&y7^(`K zd{FiqkVt38BJF_Lg?ssBnQ~Dg)uQHEffVnW$F57Hdf_CbyQ4_IN+k3U5)Op)j>x?4 zoC>z$vhi3u1lGsJvw5IdoR+^?oR%NWMo+83m|s%CSQG~Fw1!JxW(j6GEhP$aH#U3x zp=C}sPxviSSYNVQn*x89MZ?3gBu`4prV^InDSfahPHjXwKL{&dHlD0Okad=?;-!+T zM3TA2lI=AXZcbNNwInOIC$m~9Ukx!^7AVzFxTS@)QfV|C<J?DYBQos?Z3Q;2hO~;G zsFwEWJ#@IBv~r8m4+XBL)%{`~Rz4NxRyoGg?S)fSX-ctRjNBT>zmbgBB;(bwjP200 z^&0;{rrb7*=d}aXubQE++QomDf!}1HO9tv%V!^#_j>6&cwih_Jh{N%+P_5d7DQ1|m zD^{6gRMkW<7H$#eGO+!17H1LX5)RAW`cVmo`i5uJ!<ZgS>1>h(S~H$AQ9bs)_jU$f zB8Ah1u<8BL-n~0kE7>r0XF798@l#D<EKiC%;H#Z69)D<UGOP6Xch}BW9HQxQl*$r} znNU>|WUSbwF{KR#>e5-e6ilc;#}3QFb|Y$cDDwmy5XC+e0ZTjLiO1-edk8w+ca(M^ z-izX`BjUke-E)E6u)xhdE7(mbzPz!I-4Pn(d9mpgPk@&3Xe8j%tSL8z<O!4<8kIEu zXkN#77#G_f!o{{5m=XxR&9N*~?jx-c_wn(TB%UlYXNyczpA6Ks99L4|`F%Tistntu z&}j@W6haF)3^fNC8LcUdua!9tnbVIsS(KwJ0Dd6HL^W5<M$v&*Wg1|n-aw|2Of#8x zA?o0Ugcka_AC04SvMZ}JJFB2L*O~9uyU>LXy<USOUck|K0ehj~R%~E}Zx2TBN(zY8 zcz3MCU0&NU$S+9WXPj;XcAmqU&LwP!!v~$=G+ghr(eS7<jNPFW8zgtdSiYA<w@^6* z|8OeQcd6ETbk=g0V@-}TFDn;$9&#w?j)yB<fxg33Adv!);06|kL&7YT6C`=Qrd?oP za<KIT!Nx<OGp0?(3iE4j{W~m;sdB&Jj@DFt#Cv;;7d|-@t^`4EPYC;k1MiODe-j2w zhQgR&58`A0LW}}u_frun_NukyIdgLJa~vDpw1@uy4n(}^@KN_nW+k;4Ntqrw25gZB zcMRAfsP73?(*FZ&@&ACWB(N|6W-4-Ixw5tKST@9Z39;f#^lSbIns<jkT-1HR`$zyC z=L4tJNIsIwyt-+TJ`R`5>4L(eR%77k&_wefZlivVL+1&n?uYLq-AblWMdK!Onat;8 zd??^W<_g|q`Xw@FXxdN4N>g7lPBQDsTp;r)nKRU-pG-AE=#@}mOlN}}nv4`Xb+wC* zcG1l)I@v`RyXasS>UN=Q7pmw-F}qN+muUX<Y|Pc-X(90^3l%HuI~lZCuzo@4f|b5Z iBrAO%NLG3+OICUlN>+OFNLISv^-2Oh&kal8Qspm~!QpKH diff --git a/docs/build/doctrees/nbsphinx/examples/notebook_BHBH.ipynb b/docs/build/doctrees/nbsphinx/examples/notebook_BHBH.ipynb index c3fa9b934..d639f4bd6 100644 --- a/docs/build/doctrees/nbsphinx/examples/notebook_BHBH.ipynb +++ b/docs/build/doctrees/nbsphinx/examples/notebook_BHBH.ipynb @@ -649,11 +649,20 @@ "Playing around with the input for an individual system gives us some understanding of which parameters affect the formation of black hole systems, but, as mentioned in the introduction, this is nto the most appropriate way to find many such systems. We want to make use of the Population utilities, and set up custom logging and a parse function.\n", "\n", "Things to try next:\n", + "\n", "* Set up a population object with a grid in M1, q and orbital period (10 x 10 x 10)\n", "* Set up a custom logging function to catch BHBH systems, and include the ZAMS properties in the output.\n", "* Set up a parse function to process the output, try writing the output to a file.\n", "* Run this population at several different metallicities. Do you see a trend?" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c8b4d134-1b41-49cc-a122-2aee89818248", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/docs/build/doctrees/readme_link.doctree b/docs/build/doctrees/readme_link.doctree index 142b88abc7c54eb8bd59ca1258496bd1aa06087d..c457d7a9eb001e78161837d7ec8378eb0db4785b 100644 GIT binary patch delta 2592 zcmbVOYitx%6z(0I>8vDxlvf4HtX3>^`v7XCmWn*226b5!s==6U_tBkMce`aDg{9Ea zS7_;mKF;#60V%IQsYYQTB!C3uj~X!n2?iyp{J;kWk)+Wm2;OsVXV(@(2!GD@e&?L; z`|i1SX4?0q(D;oYt`|3ldk%^A31lW{6L!%!Jk>~M#<Efi7Qq+x;k751saimB`0OFC zvm#g))O-~R1yo-k=yWJ_;nIShGFw(<nadeaf~wyaa;Zw04*NqD6;40J%Yuq?wbLF7 zvMQ%y_f-TbVL<VfD^_dv0E=DA4tqUxtt?ZW3T>{%Zo98i``<QdE0ALgX&y(88pJ*& z=%Z|vA)80D=TMrcn*44wLmd~fKjJoO2aG+`KB7(0y68HpCqA;?P`RfbG`FZa(cLG4 zapj~JM&Ca}ws*Sq5rc=DFsVwk|7W;bVuIhZWk;WwloYbjhV=OKA29p`%|q75z0OIo zTJJkJ-R#IAnS=~;ds}y#9(Vf~o_V4y!q;&%)A0Y?2VEt3;D#jH82bn?df6<d#Mw!9 zqQ-3?NlBczJvC1X&_8=cSQ<`&m8IXxg%V2^P>va+@^LXq9i~oJO={Y!Rk04MN=Pv% zD<{Kv+j3&jm4spmro5JhKghY7a^_3$kF812B-mA#2Iq=WrL`PAV?QW|xymZqp9Q%k zvQ)!!^X8_*1;@+sMxJkGE}90rr~|9hFK^=&TXY7ofig6~nDS-9-h|`^1SL3QPl4m* zHgcFb-!vzOoY0+9Y^N(rILwW=@Om7^M0Lr~{nx>*6=|?d^~qPcdLQ$5Ww5^pShOzr zCa<^=_qT~sUjdVQg>XCJuM@$zKf#cUPXVC8(Xg~K4}or%34d^`_@K~gbXVXB4|Nw| z?tbtT$g`8#8Rk<8(^z#R?V5#1;vl!iY~ETySjgq>`IeH`nH&W+RBq#VE3qObFQl#b zJi(Lx40ytyr+3-?ArjELZknfy@1qV_!eii#z=EOXwlZ^P1MkRDZmu(7u5GZn?J-x- zLWFK^u6J=E=|LIN4U4LZ5&mRsDjcY4ASWq2ZG1%XJIh0UE$TjnPSs2`iyG+$&#D_( zOy?$kK!G-huC5`Mpu27gUPf^@!z|(Z#<(3WhnJ8l=C^oFru-N8`)9&$|6srS;KZ8m z<Ybx6T!b0zCg^_JAnm6D{mJa={aRfrkLCFkJumiP9u95Jgkx)qgsC$8v38z3l~-lx zRnmvFDqW_J&@^I%dmU-9&(?{8Fjr>x<XUYhd4-ndAyB>kI{x52`G__ZvL?YOLtV~X z5o!8iRQ+4Bk1Kd}1@Ys!kBjv-vL2pqun6^>|8l#LY(#!i4|f`->F|QaLb3zl$LlE> zd)JPGQ4QnaV&gMdgBA``)*9}+I#$}$B#={ZZG%NP&6(e9K0`id%%@|ETNFXZn_HhH z-w)u|TF(*0kuFB*P7cuF7$ASsSL6;1Yg-}Q<&4#BM+M0MS533XT_|r~uH$qMLaL7E zc4≀}OdEw{GxWM~h&1(ZEh{jsb`<PdrNVvw?I?7pmC^*^UOz)4bVec$-(3@aki< z8V~aj(ZIf?)u8e0dpvubW?hWSVd(6f91Cw<Bp4cbNj)z)K}%||ggC&|<q)x@pFK=H zT`!S+vFlww3FLh2!j9(%ITDk1o)x5nl)$|o&hPTp&Y~|HcP<7m{rb7x7!F|AhanRa z85nNSo9q4!!)07v!jOy0EDRA0Ef{{m@FRxZD6*4=P{dGC=5+?cmCgYEbKpjKvwE;u z{kj=G-CeW*J(!uknQ5Duu9<0?nVy+xnVF86X_y(mIiwnqaX%F8@d&vR^zNB7pZV=Y i`^+zXiMU_<8gRe(-sOJr^~U|;yM+05_s0x-OUS?eGGosG delta 1736 zcmZ9NUrZcT6vnw%XLbfO&<C~HUD_o?7Xd9TNC*N2f;PoYA!$)SQwmh30~Bg^fu-eN zgtEdmv>aC3t!Y6*A>by^5wRv}tv=b(7=5ydK^oJF!62qeO|0>rd%IA0Ih*;;Ip6us znVGvCKhW84snjO<_6|=<<r_&N9NIX@Vpyb|B$^44sV_rM`7PzH6cVCuGX8|Q!o-M0 zys+wz=r%oGkIHkJpH%3ChRATB)(S7ZwU4SY%*Ag<W%H|1__LudNv>!8ixNavcG74W zc0@(NOnRi;B-GoLW9l}U&)6yhu_wvLMItLR2A1_)HAf_~WUxQIH6jDARtZ|6^U&LB zfhgI-`=xf)p8@vDry$=*r*E!Ilsb9hno&=ykT{PzIW4JzZ>kbdW3W;eFN&`&Uw^Z$ zuv8ocpI6taelhNhAo8sx>IPShUmX=C7X^`*dHSH>a54ROmF5%|k>;wPxh80?avG)~ zO&>4XRd;edO*f~Jj-;wfV$`CbSy)TsGrNwoQhHxJp%`ZYk)hyNEKF<*L-8Z$nP9HW zRZAj+IpsdHah2&$LT0@KUaU_FR(a}OBtBS$;-dDP{62$RkfEZXa6P4uQ~ugeqU^Tt zN1VrdBdkiqP83!jq~G*5<`Yr`rL{H~-<3wnf>W4Q)$|H2vcSX>kucNr4so&6_QxBT zflH6m6WH`3IDPDQRv1y2EPcSPcf#f4EwtAXeA%P{F1niC>k0kvU-KT~<eb$lamppZ zIkCbSSj#yCKeyaeu868Hc-4;0k4eMKKLG!>9#w9L)b*9r2v1G6>2%fto7%IKSy3?; ztdPf8#ZSl@OK)1B{hZCb(=JhRkMAP1V?QMd|Elg;V4&kSrnB3W$63?e)utCRCA0}Z z@`=|}hr*ZrjDp`2T<Lt21Yoi)4*oe&MpEI8u6&XPbNv}Khx@V%yC;@QHqbq3v@j_D z=*gvN3jc;Dn0boA8Iu&oXf+4l)hTI!P;WkQGdCMFdcUIWqSbBIp4>to=z-p6X@5`; zJvBq9TX;?~PuD}9HYn-4PNu*C#blaW4!{)sQnXG(PyaqHXVCAt6gJIn6JJuVBLx2F zb3m6bg-#3WOU&AQ*xJl~uZpV6VljX5#mFWrT3Rh)E5y4D!2Ywz>IRjsFkHnIN>g0N z754cXpwS;rqQT?uQKLmw46l+uWmQ{L+!3*vZRaYenlAEbB7d3XQy%1@;CzLI4FUM< z{9ZC-hF`ctNw>K?m`q5GnK1M<mCISTQ3`(#*R(FMgV&hHP=mq1Fp6Oq!!H=-FpRNx z%NW7X$G%{r7sEV;+Zb{&k&WR)3>Pqz;E>l@aCz0k2Wk#F-E{|#_BZ!C3>>fNV;=p6 z2X0+V&p`%_&)4{DjnCEiOpVXe_$-aj(fACF`)e-Uj*g{JHd0OJCHQW{n$3B~5t{Sj eUyI<yBVO?0(JFZHSQET>Zg5^BU_L)uNd5<IN+}iq 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 1c8b3ee25..8f26f7bb9 100644 --- a/docs/build/html/_modules/binarycpython/utils/custom_logging_functions.html +++ b/docs/build/html/_modules/binarycpython/utils/custom_logging_functions.html @@ -552,9 +552,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/_modules/binarycpython/utils/dicts.html b/docs/build/html/_modules/binarycpython/utils/dicts.html index 0c78730b7..33d754f28 100644 --- a/docs/build/html/_modules/binarycpython/utils/dicts.html +++ b/docs/build/html/_modules/binarycpython/utils/dicts.html @@ -584,6 +584,21 @@ <span class="p">):</span> <span class="n">new_dict</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">merge_dicts</span><span class="p">(</span><span class="n">dict_1</span><span class="p">[</span><span class="n">key</span><span class="p">],</span> <span class="n">dict_2</span><span class="p">[</span><span class="n">key</span><span class="p">])</span> + <span class="c1"># one key is None, just use the other</span> + <span class="k">elif</span> <span class="n">dict_1</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> + <span class="k">try</span><span class="p">:</span> + <span class="n">new_dict</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">dict_2</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> + <span class="k">except</span><span class="p">:</span> + <span class="n">msg</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">key</span><span class="si">}</span><span class="s2">: Failed to set from </span><span class="si">{</span><span class="n">dict_2</span><span class="p">[</span><span class="n">key</span><span class="p">]</span><span class="si">}</span><span class="s2"> when other key was of NoneType "</span> + <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="kn">from</span> <span class="nn">e</span> + + <span class="k">elif</span> <span class="n">dict_1</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> + <span class="k">try</span><span class="p">:</span> + <span class="n">new_dict</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">dict_1</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> + <span class="k">except</span><span class="p">:</span> + <span class="n">msg</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">key</span><span class="si">}</span><span class="s2">: Failed to set from </span><span class="si">{</span><span class="n">dict_1</span><span class="p">[</span><span class="n">key</span><span class="p">]</span><span class="si">}</span><span class="s2"> when other key was of NoneType "</span> + <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="kn">from</span> <span class="nn">e</span> + <span class="c1"># string-int clash : convert both to ints and save</span> <span class="k">elif</span> <span class="p">(</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">dict_1</span><span class="p">[</span><span class="n">key</span><span class="p">],</span> <span class="nb">str</span><span class="p">)</span> @@ -599,6 +614,7 @@ <span class="p">)</span> <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="kn">from</span> <span class="nn">e</span> + <span class="c1"># string-float clash : convert both to floats and save</span> <span class="k">elif</span> <span class="p">(</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">dict_1</span><span class="p">[</span><span class="n">key</span><span class="p">],</span> <span class="nb">str</span><span class="p">)</span> @@ -963,9 +979,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/_modules/binarycpython/utils/ensemble.html b/docs/build/html/_modules/binarycpython/utils/ensemble.html index 03fc1bc7b..9217509b0 100644 --- a/docs/build/html/_modules/binarycpython/utils/ensemble.html +++ b/docs/build/html/_modules/binarycpython/utils/ensemble.html @@ -189,7 +189,12 @@ <div class="viewcode-block" id="load_ensemble"><a class="viewcode-back" href="../../../ensemble.html#binarycpython.utils.ensemble.load_ensemble">[docs]</a><span class="k">def</span> <span class="nf">load_ensemble</span><span class="p">(</span> - <span class="n">filename</span><span class="p">,</span> <span class="n">convert_float_keys</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">select_keys</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">timing</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">flush</span><span class="o">=</span><span class="kc">False</span> + <span class="n">filename</span><span class="p">,</span> + <span class="n">convert_float_keys</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> + <span class="n">select_keys</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> + <span class="n">timing</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> + <span class="n">flush</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> + <span class="n">quiet</span><span class="o">=</span><span class="kc">False</span> <span class="p">):</span> <span class="sd">"""</span> <span class="sd"> Function to load an ensemeble file, even if it is compressed,</span> @@ -203,7 +208,8 @@ <span class="c1"># open the file</span> <span class="c1"># load with some info to the terminal</span> - <span class="nb">print</span><span class="p">(</span><span class="s2">"Loading JSON..."</span><span class="p">,</span> <span class="n">flush</span><span class="o">=</span><span class="n">flush</span><span class="p">)</span> + <span class="k">if</span> <span class="n">quiet</span> <span class="o">==</span> <span class="kc">False</span><span class="p">:</span> + <span class="nb">print</span><span class="p">(</span><span class="s2">"Loading JSON..."</span><span class="p">,</span> <span class="n">flush</span><span class="o">=</span><span class="n">flush</span><span class="p">)</span> <span class="c1"># open the ensemble and get the file type</span> <span class="n">file_object</span> <span class="o">=</span> <span class="n">open_ensemble</span><span class="p">(</span><span class="n">filename</span><span class="p">)</span> @@ -216,47 +222,64 @@ <span class="p">)</span> <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">()</span> - <span class="k">with</span> <span class="n">Halo</span><span class="p">(</span><span class="n">text</span><span class="o">=</span><span class="s2">"Loading"</span><span class="p">,</span> <span class="n">interval</span><span class="o">=</span><span class="mi">250</span><span class="p">,</span> <span class="n">spinner</span><span class="o">=</span><span class="s2">"moon"</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s2">"yellow"</span><span class="p">):</span> + <span class="k">if</span> <span class="n">quiet</span> <span class="o">==</span> <span class="kc">True</span><span class="p">:</span> <span class="n">tstart</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">_loaded</span> <span class="o">=</span> <span class="kc">False</span> - - <span class="k">def</span> <span class="nf">_hook</span><span class="p">(</span><span class="n">obj</span><span class="p">):</span> - <span class="sd">"""</span> -<span class="sd"> Hook to load ensemble</span> -<span class="sd"> """</span> - - <span class="k">nonlocal</span> <span class="n">_loaded</span> - <span class="k">if</span> <span class="n">_loaded</span> <span class="ow">is</span> <span class="kc">False</span><span class="p">:</span> - <span class="n">_loaded</span> <span class="o">=</span> <span class="kc">True</span> - <span class="nb">print</span><span class="p">(</span> - <span class="s2">"</span><span class="se">\n</span><span class="s2">Loaded </span><span class="si">{}</span><span class="s2"> data, now putting in a dictionary"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">filetype</span><span class="p">),</span> - <span class="n">flush</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> - <span class="p">)</span> - <span class="k">return</span> <span class="n">obj</span> - <span class="k">if</span> <span class="n">filetype</span> <span class="o">==</span> <span class="s2">"JSON"</span><span class="p">:</span> - <span class="c1"># orjson promises to be fast, but it doesn't seem to be</span> - <span class="c1"># and fails on "Infinity"... oops</span> - <span class="c1"># data = orjson.loads(file_object.read())</span> - - <span class="c1"># simplejson is faster than standard json and "just works"</span> - <span class="c1"># on the big Moe set in 37s</span> - <span class="n">data</span> <span class="o">=</span> <span class="n">simplejson</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="n">file_object</span><span class="p">,</span> <span class="n">object_hook</span><span class="o">=</span><span class="n">_hook</span><span class="p">)</span> + <span class="n">data</span> <span class="o">=</span> <span class="n">simplejson</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="n">file_object</span><span class="p">)</span> <span class="n">file_object</span><span class="o">.</span><span class="n">close</span><span class="p">()</span> - - <span class="c1"># standard json module</span> - <span class="c1"># on the big Moe set takes 42s</span> - <span class="c1"># data = json.load(file_object,</span> - <span class="c1"># object_hook=_hook)</span> <span class="k">elif</span> <span class="n">filetype</span> <span class="o">==</span> <span class="s2">"msgpack"</span><span class="p">:</span> <span class="n">data</span> <span class="o">=</span> <span class="n">msgpack</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="n">file_object</span><span class="p">,</span> <span class="n">object_hook</span><span class="o">=</span><span class="n">_hook</span><span class="p">)</span> <span class="n">file_object</span><span class="o">.</span><span class="n">close</span><span class="p">()</span> - <span class="k">if</span> <span class="n">timing</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">Took </span><span class="si">{}</span><span class="s2"> s to load the data</span><span class="se">\n\n</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">time</span><span class="o">.</span><span class="n">time</span><span class="p">()</span> <span class="o">-</span> <span class="n">tstart</span><span class="p">),</span> <span class="n">flush</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="p">)</span> + <span class="k">else</span><span class="p">:</span> + <span class="k">with</span> <span class="n">Halo</span><span class="p">(</span><span class="n">text</span><span class="o">=</span><span class="s2">"Loading"</span><span class="p">,</span> <span class="n">interval</span><span class="o">=</span><span class="mi">250</span><span class="p">,</span> <span class="n">spinner</span><span class="o">=</span><span class="s2">"moon"</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s2">"yellow"</span><span class="p">):</span> + <span class="n">tstart</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">_loaded</span> <span class="o">=</span> <span class="kc">False</span> + + <span class="k">def</span> <span class="nf">_hook</span><span class="p">(</span><span class="n">obj</span><span class="p">):</span> + <span class="sd">"""</span> +<span class="sd"> Hook to load ensemble</span> +<span class="sd"> """</span> + + <span class="k">nonlocal</span> <span class="n">_loaded</span> + <span class="k">if</span> <span class="n">_loaded</span> <span class="ow">is</span> <span class="kc">False</span><span class="p">:</span> + <span class="n">_loaded</span> <span class="o">=</span> <span class="kc">True</span> + <span class="nb">print</span><span class="p">(</span> + <span class="s2">"</span><span class="se">\n</span><span class="s2">Loaded </span><span class="si">{}</span><span class="s2"> data, now putting in a dictionary"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">filetype</span><span class="p">),</span> + <span class="n">flush</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> + <span class="p">)</span> + <span class="k">return</span> <span class="n">obj</span> + + <span class="k">if</span> <span class="n">filetype</span> <span class="o">==</span> <span class="s2">"JSON"</span><span class="p">:</span> + <span class="c1"># orjson promises to be fast, but it doesn't seem to be</span> + <span class="c1"># and fails on "Infinity"... oops</span> + <span class="c1"># data = orjson.loads(file_object.read())</span> + + <span class="c1"># simplejson is faster than standard json and "just works"</span> + <span class="c1"># on the big Moe set in 37s</span> + <span class="k">if</span> <span class="n">quiet</span> <span class="o">==</span> <span class="kc">False</span><span class="p">:</span> + <span class="n">data</span> <span class="o">=</span> <span class="n">simplejson</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="n">file_object</span><span class="p">,</span> <span class="n">object_hook</span><span class="o">=</span><span class="n">_hook</span><span class="p">)</span> + <span class="k">else</span><span class="p">:</span> + <span class="n">data</span> <span class="o">=</span> <span class="n">simplejson</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="n">file_object</span><span class="p">)</span> + <span class="n">file_object</span><span class="o">.</span><span class="n">close</span><span class="p">()</span> + + <span class="c1"># standard json module</span> + <span class="c1"># on the big Moe set takes 42s</span> + <span class="c1"># data = json.load(file_object,</span> + <span class="c1"># object_hook=_hook)</span> + <span class="k">elif</span> <span class="n">filetype</span> <span class="o">==</span> <span class="s2">"msgpack"</span><span class="p">:</span> + <span class="n">data</span> <span class="o">=</span> <span class="n">msgpack</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="n">file_object</span><span class="p">,</span> <span class="n">object_hook</span><span class="o">=</span><span class="n">_hook</span><span class="p">)</span> + <span class="n">file_object</span><span class="o">.</span><span class="n">close</span><span class="p">()</span> + + <span class="k">if</span> <span class="n">timing</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">Took </span><span class="si">{}</span><span class="s2"> s to load the data</span><span class="se">\n\n</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">time</span><span class="o">.</span><span class="n">time</span><span class="p">()</span> <span class="o">-</span> <span class="n">tstart</span><span class="p">),</span> + <span class="n">flush</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> + <span class="p">)</span> <span class="c1"># strip non-selected keys, if a list is given in select_keys</span> <span class="k">if</span> <span class="n">select_keys</span><span class="p">:</span> @@ -477,9 +500,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/_modules/binarycpython/utils/functions.html b/docs/build/html/_modules/binarycpython/utils/functions.html index ef155fe55..ed5529a26 100644 --- a/docs/build/html/_modules/binarycpython/utils/functions.html +++ b/docs/build/html/_modules/binarycpython/utils/functions.html @@ -82,34 +82,32 @@ <span class="sd"> - TODO: change all prints to verbose_prints</span> <span class="sd">"""</span> -<span class="kn">import</span> <span class="nn">os</span> -<span class="kn">import</span> <span class="nn">sys</span> -<span class="kn">import</span> <span class="nn">time</span> -<span class="kn">import</span> <span class="nn">json</span> -<span class="kn">import</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="nn">collections</span> -<span class="kn">import</span> <span class="nn">resource</span> -<span class="kn">import</span> <span class="nn">tempfile</span> -<span class="kn">import</span> <span class="nn">subprocess</span> -<span class="kn">import</span> <span class="nn">types</span> - -<span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">Union</span> -<span class="kn">from</span> <span class="nn">io</span> <span class="kn">import</span> <span class="n">StringIO</span> - +<span class="kn">import</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="nn">h5py</span> <span class="kn">import</span> <span class="nn">humanize</span> +<span class="kn">import</span> <span class="nn">json</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">os</span> +<span class="kn">import</span> <span class="nn">platform</span> <span class="kn">import</span> <span class="nn">psutil</span> -<span class="kn">from</span> <span class="nn">colorama</span> <span class="kn">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> - +<span class="kn">import</span> <span class="nn">resource</span> +<span class="kn">import</span> <span class="nn">tempfile</span> +<span class="kn">import</span> <span class="nn">time</span> +<span class="kn">import</span> <span class="nn">socket</span> +<span class="kn">import</span> <span class="nn">subprocess</span> +<span class="kn">import</span> <span class="nn">sys</span> +<span class="kn">import</span> <span class="nn">types</span> <span class="kn">from</span> <span class="nn">binarycpython</span> <span class="kn">import</span> <span class="n">_binary_c_bindings</span> <span class="kn">from</span> <span class="nn">binarycpython.utils.dicts</span> <span class="kn">import</span> <span class="n">filter_dict_through_values</span> +<span class="kn">from</span> <span class="nn">colorama</span> <span class="kn">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> +<span class="kn">from</span> <span class="nn">io</span> <span class="kn">import</span> <span class="n">StringIO</span> +<span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">Union</span> <span class="c1">########################################################</span> <span class="c1"># Unsorted</span> <span class="c1">########################################################</span> - <div class="viewcode-block" id="now"><a class="viewcode-back" href="../../../functions.html#binarycpython.utils.functions.now">[docs]</a><span class="k">def</span> <span class="nf">now</span><span class="p">(</span><span class="n">now_object</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">style</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">custom_format</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span> <span class="sd">"""</span> <span class="sd"> convenience function to return a string of the current time, using the format ``%m/%d/%Y %H:%M:%S``</span> @@ -1295,6 +1293,18 @@ <span class="sd"> Given a list, turn it into a quoted command string</span> <span class="sd"> """</span> <span class="k">return</span> <span class="s1">' '</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">quotewrap</span><span class="p">(</span><span class="nb">list</span><span class="p">))</span></div> + +<div class="viewcode-block" id="hostnames"><a class="viewcode-back" href="../../../functions.html#binarycpython.utils.functions.hostnames">[docs]</a><span class="k">def</span> <span class="nf">hostnames</span><span class="p">():</span> + <span class="sd">"""</span> +<span class="sd"> Return a list of possible hostnames for this machine</span> +<span class="sd"> """</span> + <span class="k">return</span> <span class="p">[</span> + <span class="n">os</span><span class="o">.</span><span class="n">getenv</span><span class="p">(</span><span class="s1">'HOSTNAME'</span><span class="p">),</span> + <span class="n">platform</span><span class="o">.</span><span class="n">uname</span><span class="p">()[</span><span class="mi">1</span><span class="p">],</span> + <span class="n">socket</span><span class="o">.</span><span class="n">gethostname</span><span class="p">(),</span> + <span class="n">socket</span><span class="o">.</span><span class="n">getfqdn</span><span class="p">(</span><span class="n">socket</span><span class="o">.</span><span class="n">gethostname</span><span class="p">()),</span> + <span class="n">platform</span><span class="o">.</span><span class="n">node</span><span class="p">()</span> + <span class="p">]</span></div> </pre></div> </div> @@ -1312,9 +1322,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/_modules/binarycpython/utils/grid.html b/docs/build/html/_modules/binarycpython/utils/grid.html index 6d8e6a8d0..adda118fc 100644 --- a/docs/build/html/_modules/binarycpython/utils/grid.html +++ b/docs/build/html/_modules/binarycpython/utils/grid.html @@ -81,46 +81,32 @@ <span class="sd">Tasks:</span> <span class="sd"> - TODO: add functionality to 'on-init' set arguments</span> -<span class="sd"> - TODO: add functionality to return the initial_abundance_hash</span> -<span class="sd"> - TODO: add functionality to return the isotope_hash</span> -<span class="sd"> - TODO: add functionality to return the isotope_list</span> -<span class="sd"> - TODO: add functionality to return the nuclear_mass_hash</span> -<span class="sd"> - TODO: add functionality to return the nuclear_mass_list</span> -<span class="sd"> - TODO: add functionality to return the source_list</span> -<span class="sd"> - TODO: add functionality to return the ensemble_list</span> + <span class="sd"> - TODO: consider spreading the functions over more files.</span> <span class="sd"> - TODO: type the private functions</span> <span class="sd"> - TODO: fix the correct object types for the default values of the bse_options</span> <span class="sd"> - TODO: think of a clean and nice way to unload and remove the custom_logging_info library from memory (and from disk)</span> <span class="sd"> - TODO: think of a nice way to remove the loaded grid_code/ generator from memory.</span> -<span class="sd">TODO: Some of the methods that we have defined in the (mixin) class are designed to be used as a portal to information (return_binary_c_version_info for example.) THe current design is that they are all instance methods, but that is not always necessary. We can decorate them with @staticmethod, or @classmethod to make it easier to use them (https://realpython.com/instance-class-and-static-methods-demystified/)</span> +<span class="sd"> - TODO: Some of the methods that we have defined in the (mixin) class are designed to be used as a portal to information (return_binary_c_version_info for example.) The current design is that they are all instance methods, but that is not always necessary. We can decorate them with @staticmethod, or @classmethod to make it easier to use them (https://realpython.com/instance-class-and-static-methods-demystified/)</span> <span class="sd">"""</span> -<span class="kn">import</span> <span class="nn">os</span> -<span class="kn">import</span> <span class="nn">gc</span> -<span class="kn">import</span> <span class="nn">sys</span> -<span class="kn">import</span> <span class="nn">time</span> <span class="kn">import</span> <span class="nn">copy</span> -<span class="kn">import</span> <span class="nn">json</span> -<span class="kn">import</span> <span class="nn">uuid</span> -<span class="kn">import</span> <span class="nn">queue</span> -<span class="kn">import</span> <span class="nn">signal</span> <span class="kn">import</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="nn">functools</span> -<span class="kn">import</span> <span class="nn">traceback</span> +<span class="kn">import</span> <span class="nn">gc</span> +<span class="kn">import</span> <span class="nn">json</span> <span class="kn">import</span> <span class="nn">multiprocessing</span> - -<span class="kn">from</span> <span class="nn">collections</span> <span class="kn">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="kn">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">typing</span> <span class="kn">import</span> <span class="n">Union</span><span class="p">,</span> <span class="n">Any</span> - +<span class="kn">import</span> <span class="nn">os</span> <span class="kn">import</span> <span class="nn">psutil</span> +<span class="kn">import</span> <span class="nn">queue</span> <span class="kn">import</span> <span class="nn">setproctitle</span> +<span class="kn">import</span> <span class="nn">signal</span> <span class="kn">import</span> <span class="nn">str2bool</span> -<span class="kn">from</span> <span class="nn">colorama</span> <span class="kn">import</span> <span class="n">init</span> <span class="k">as</span> <span class="n">colorama_init</span> +<span class="kn">import</span> <span class="nn">sys</span> +<span class="kn">import</span> <span class="nn">time</span> +<span class="kn">import</span> <span class="nn">traceback</span> +<span class="kn">import</span> <span class="nn">uuid</span> <span class="kn">from</span> <span class="nn">binarycpython.utils.functions</span> <span class="kn">import</span> <span class="p">(</span> <span class="n">check_if_in_shell</span><span class="p">,</span> @@ -131,6 +117,7 @@ <span class="n">mem_use</span><span class="p">,</span> <span class="n">timedelta</span><span class="p">,</span> <span class="n">now</span><span class="p">,</span> + <span class="n">hostnames</span> <span class="p">)</span> <span class="kn">from</span> <span class="nn">binarycpython.utils.ensemble</span> <span class="kn">import</span> <span class="p">(</span> <span class="n">binaryc_json_serializer</span><span class="p">,</span> @@ -140,9 +127,8 @@ <span class="kn">from</span> <span class="nn">binarycpython.utils.dicts</span> <span class="kn">import</span> <span class="p">(</span> <span class="n">AutoVivificationDict</span><span class="p">,</span> <span class="n">merge_dicts</span><span class="p">,</span> - <span class="n">keys_to_floats</span><span class="p">,</span> + <span class="n">keys_to_floats</span> <span class="p">)</span> - <span class="kn">from</span> <span class="nn">binarycpython.utils.population_extensions.analytics</span> <span class="kn">import</span> <span class="n">analytics</span> <span class="kn">from</span> <span class="nn">binarycpython.utils.population_extensions.cache</span> <span class="kn">import</span> <span class="n">cache</span> <span class="kn">from</span> <span class="nn">binarycpython.utils.population_extensions.dataIO</span> <span class="kn">import</span> <span class="n">dataIO</span> @@ -163,13 +149,17 @@ <span class="n">spacing_functions</span><span class="p">,</span> <span class="p">)</span> <span class="kn">from</span> <span class="nn">binarycpython.utils.population_extensions.version_info</span> <span class="kn">import</span> <span class="n">version_info</span> - <span class="kn">from</span> <span class="nn">binarycpython</span> <span class="kn">import</span> <span class="n">_binary_c_bindings</span> +<span class="kn">from</span> <span class="nn">collections</span> <span class="kn">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="kn">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">colorama</span> <span class="kn">import</span> <span class="n">init</span> <span class="k">as</span> <span class="n">colorama_init</span> +<span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">Union</span><span class="p">,</span> <span class="n">Any</span> -<span class="c1"># Initialise the colorama stuff</span> +<span class="c1"># Initialise colorama</span> <span class="n">colorama_init</span><span class="p">()</span> - <div class="viewcode-block" id="Population"><a class="viewcode-back" href="../../../grid.html#binarycpython.utils.grid.Population">[docs]</a><span class="k">class</span> <span class="nc">Population</span><span class="p">(</span> <span class="n">analytics</span><span class="p">,</span> <span class="n">cache</span><span class="p">,</span> @@ -212,6 +202,7 @@ <span class="bp">self</span><span class="o">.</span><span class="n">caches</span> <span class="o">=</span> <span class="p">{}</span> <span class="bp">self</span><span class="o">.</span><span class="n">cached_function_cache</span> <span class="o">=</span> <span class="p">{}</span> <span class="bp">self</span><span class="o">.</span><span class="n">original_function_cache</span> <span class="o">=</span> <span class="p">{}</span> + <span class="bp">self</span><span class="o">.</span><span class="n">hostnameslist</span> <span class="o">=</span> <span class="n">hostnames</span><span class="p">()</span> <span class="c1"># Different sections of options</span> <span class="c1"># get binary_c defaults and create a cleaned up dict</span> @@ -390,15 +381,18 @@ <span class="sd"> """</span> <span class="c1"># Go over all the input</span> - <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span> + <span class="k">for</span> <span class="n">key</span><span class="p">,</span><span class="n">value</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">items</span><span class="p">():</span> + <span class="c1"># match to hostname if appropriate</span> + <span class="n">value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_match_arg_to_host</span><span class="p">(</span><span class="n">arg</span><span class="o">=</span><span class="p">{</span><span class="n">key</span><span class="p">:</span><span class="n">value</span><span class="p">})</span> + <span class="c1"># Filter out keys for the bse_options</span> <span class="k">if</span> <span class="n">key</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">defaults</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">verbose_print</span><span class="p">(</span> - <span class="s2">"adding: </span><span class="si">{}</span><span class="s2">=</span><span class="si">{}</span><span class="s2"> to BSE_options"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">kwargs</span><span class="p">[</span><span class="n">key</span><span class="p">]),</span> + <span class="s2">"adding: </span><span class="si">{}</span><span class="s2">=</span><span class="si">{}</span><span class="s2"> to BSE_options"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">value</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">"verbosity"</span><span class="p">],</span> <span class="mi">2</span><span class="p">,</span> <span class="p">)</span> - <span class="bp">self</span><span class="o">.</span><span class="n">bse_options</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">kwargs</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> + <span class="bp">self</span><span class="o">.</span><span class="n">bse_options</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span> <span class="c1"># Extra check to check if the key fits one of parameter names that end with %d</span> <span class="c1"># TODO: abstract this function</span> @@ -408,33 +402,33 @@ <span class="p">):</span> <span class="bp">self</span><span class="o">.</span><span class="n">verbose_print</span><span class="p">(</span> <span class="s2">"adding: </span><span class="si">{}</span><span class="s2">=</span><span class="si">{}</span><span class="s2"> to BSE_options by catching the </span><span class="si">%d</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span> - <span class="n">key</span><span class="p">,</span> <span class="n">kwargs</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> + <span class="n">key</span><span class="p">,</span> <span class="n">value</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">"verbosity"</span><span class="p">],</span> <span class="mi">1</span><span class="p">,</span> <span class="p">)</span> - <span class="bp">self</span><span class="o">.</span><span class="n">bse_options</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">kwargs</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> + <span class="bp">self</span><span class="o">.</span><span class="n">bse_options</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span> <span class="c1"># Filter out keys for the grid_options</span> <span class="k">elif</span> <span class="n">key</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span> <span class="bp">self</span><span class="o">.</span><span class="n">verbose_print</span><span class="p">(</span> - <span class="s2">"adding: </span><span class="si">{}</span><span class="s2">=</span><span class="si">{}</span><span class="s2"> to grid_options"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">kwargs</span><span class="p">[</span><span class="n">key</span><span class="p">]),</span> + <span class="s2">"adding: </span><span class="si">{}</span><span class="s2">=</span><span class="si">{}</span><span class="s2"> to grid_options"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">value</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">"verbosity"</span><span class="p">],</span> <span class="mi">1</span><span class="p">,</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="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">kwargs</span><span class="p">[</span><span class="n">key</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="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span> <span class="c1"># The of the keys go into a custom_options dict</span> <span class="k">else</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">verbose_print</span><span class="p">(</span> <span class="s2">"<<<< Warning: Key does not match previously known parameter: </span><span class="se">\</span> <span class="s2"> adding: </span><span class="si">{}</span><span class="s2">=</span><span class="si">{}</span><span class="s2"> to custom_options >>>>"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span> - <span class="n">key</span><span class="p">,</span> <span class="n">kwargs</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> + <span class="n">key</span><span class="p">,</span> <span class="n">value</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">"verbosity"</span><span class="p">],</span> <span class="mi">0</span><span class="p">,</span> <span class="c1"># NOTE: setting this to be 0 prevents mistakes being overlooked.</span> <span class="p">)</span> - <span class="bp">self</span><span class="o">.</span><span class="n">custom_options</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">kwargs</span><span class="p">[</span><span class="n">key</span><span class="p">]</span></div> + <span class="bp">self</span><span class="o">.</span><span class="n">custom_options</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span></div> <div class="viewcode-block" id="Population.parse_cmdline"><a class="viewcode-back" href="../../../grid.html#binarycpython.utils.grid.Population.parse_cmdline">[docs]</a> <span class="k">def</span> <span class="nf">parse_cmdline</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="kc">None</span><span class="p">:</span> <span class="sd">"""</span> @@ -466,6 +460,9 @@ <span class="c1"># cmdline_args = args</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">"_commandline_input"</span><span class="p">]</span> <span class="o">=</span> <span class="n">cmdline_args</span> + <span class="c1"># expand args by hostname</span> + <span class="n">cmdline_args</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">expand_args_by_hostname</span><span class="p">(</span><span class="n">cmdline_args</span><span class="p">)</span> + <span class="c1"># Make dict and fill it</span> <span class="n">cmdline_dict</span> <span class="o">=</span> <span class="p">{}</span> <span class="k">for</span> <span class="n">cmdline_arg</span> <span class="ow">in</span> <span class="n">cmdline_args</span><span class="p">:</span> @@ -474,6 +471,7 @@ <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">split</span><span class="p">)</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span> <span class="n">parameter</span> <span class="o">=</span> <span class="n">split</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="n">value</span> <span class="o">=</span> <span class="n">split</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> + <span class="n">old_value_found</span> <span class="o">=</span> <span class="kc">False</span> <span class="c1"># Find an old value</span> @@ -746,9 +744,7 @@ <span class="n">default</span><span class="o">=</span><span class="n">binaryc_json_serializer</span><span class="p">,</span> <span class="n">ensure_ascii</span><span class="o">=</span><span class="n">ensure_ascii</span><span class="p">,</span> <span class="p">)</span> - <span class="nb">print</span><span class="p">(</span><span class="s2">"ok pre"</span><span class="p">)</span> <span class="bp">self</span><span class="o">.</span><span class="n">locked_close</span><span class="p">(</span><span class="n">f</span><span class="p">,</span> <span class="n">lock</span><span class="p">)</span> - <span class="nb">print</span><span class="p">(</span><span class="s2">"ok ret"</span><span class="p">)</span> <span class="k">return</span> <span class="n">settings_fullname</span> <span class="c1"># TODO: turn it around and have the exception be within the if statement</span> @@ -787,24 +783,111 @@ <span class="sd">"""</span> <span class="sd"> Function to set the number of processes used in multiprocessing.</span> -<span class="sd"> If grid_options['num_cores'] <= 0, set automatically</span> +<span class="sd"> Test the value of grid_options['num_cores']:</span> + +<span class="sd"> * If 0 or 'logical' or 'all logical', use all logical cores.</span> + +<span class="sd"> * If -1 or 'physical' or 'all physical', use all physical cores.</span> + +<span class="sd"> * If integer >=1 use the number of cores given.</span> + +<span class="sd"> * If a dict, (key,value) pairs are (hostname,num_cores)</span> +<span class="sd"> for particular machines. We then try to match this machine to</span> +<span class="sd"> the (hostname,num_cores) pairs to set num_cores. If not found,</span> +<span class="sd"> default to either the dict "default" setting, or the number</span> +<span class="sd"> of logical cores available.</span> + +<span class="sd"> * If grid_options['num_cores'] is missing, all logical cores are used.</span> + +<span class="sd"> Exit if none of the above are satisfied.</span> -<span class="sd"> If grid_options['num_cores'] is 0, we use as many as we have available</span> <span class="sd"> """</span> + <span class="n">_vb</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">'verbosity'</span><span class="p">]</span><span class="o">>=</span><span class="mi">2</span> + + <span class="k">def</span> <span class="nf">__nprocs</span><span class="p">(</span><span class="n">ncores</span><span class="p">):</span> + <span class="k">if</span> <span class="nb">type</span><span class="p">(</span><span class="n">ncores</span><span class="p">)</span> <span class="ow">is</span> <span class="nb">str</span><span class="p">:</span> + <span class="k">if</span> <span class="n">ncores</span> <span class="o">==</span> <span class="s1">'all'</span> <span class="ow">or</span> <span class="n">ncores</span> <span class="o">==</span> <span class="s1">'logical'</span> <span class="ow">or</span> <span class="n">ncores</span> <span class="o">==</span> <span class="s1">'all logical'</span><span class="p">:</span> + <span class="c1"># use all logical cores available to us</span> + <span class="k">return</span> <span class="nb">max</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">psutil</span><span class="o">.</span><span class="n">cpu_count</span><span class="p">(</span><span class="n">logical</span><span class="o">=</span><span class="kc">True</span><span class="p">))</span> + <span class="k">elif</span> <span class="n">ncores</span> <span class="o">==</span> <span class="s1">'all physical'</span> <span class="ow">or</span> <span class="n">ncores</span> <span class="o">==</span> <span class="s1">'physical'</span><span class="p">:</span> + <span class="c1"># use all physical cores available to us</span> + <span class="k">return</span> <span class="nb">max</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">psutil</span><span class="o">.</span><span class="n">cpu_count</span><span class="p">(</span><span class="n">logical</span><span class="o">=</span><span class="kc">False</span><span class="p">))</span> + <span class="k">else</span><span class="p">:</span> + <span class="c1"># unknown string : fall back to one CPU</span> + <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"grid_option['num_cores'] = </span><span class="se">\"</span><span class="si">{</span><span class="n">ncores</span><span class="si">}</span><span class="se">\"</span><span class="s2"> is not recognised.</span><span class="se">\n</span><span class="s2">Please consider either setting this option to a number, 'physical' or 'logical', or a dict of (host,num_cores) pairs."</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="n">code</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span> + <span class="k">if</span> <span class="nb">type</span><span class="p">(</span><span class="n">ncores</span><span class="p">)</span> <span class="ow">is</span> <span class="nb">int</span><span class="p">:</span> + <span class="k">if</span> <span class="n">ncores</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">:</span> + <span class="k">return</span> <span class="nb">max</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">psutil</span><span class="o">.</span><span class="n">cpu_count</span><span class="p">(</span><span class="n">logical</span><span class="o">=</span><span class="kc">False</span><span class="p">))</span> + <span class="k">elif</span> <span class="n">ncores</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> + <span class="k">return</span> <span class="nb">max</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">psutil</span><span class="o">.</span><span class="n">cpu_count</span><span class="p">(</span><span class="n">logical</span><span class="o">=</span><span class="kc">True</span><span class="p">))</span> + <span class="k">else</span><span class="p">:</span> + <span class="k">return</span> <span class="n">ncores</span> + <span class="k">else</span><span class="p">:</span> + <span class="c1"># ncores should be int or string, oops</span> + <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"grid_option['num_cores'] = </span><span class="se">\"</span><span class="si">{</span><span class="n">ncores</span><span class="si">}</span><span class="se">\"</span><span class="s2"> is not recognised.</span><span class="se">\n</span><span class="s2">Please consider either setting this option to a number, 'physical' or 'logical', or a dict of (host,num_cores) pairs."</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="n">code</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span> + + <span class="k">if</span> <span class="n">_vb</span><span class="p">:</span> + <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"NPROC: pre-eval </span><span class="se">\"</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s1">'num_cores'</span><span class="p">]</span><span class="si">}</span><span class="se">\"</span><span class="s2"> type </span><span class="se">\"</span><span class="si">{</span><span class="nb">type</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">'num_cores'</span><span class="p">])</span><span class="si">}</span><span class="se">\"</span><span class="s2">"</span><span class="p">)</span> + + <span class="c1"># eval the incoming string if possible, it may be a JSON</span> + <span class="c1"># representation of a dict, and if this works we</span> + <span class="c1"># set the num_cores option to the eval'd version.</span> + <span class="c1"># It may also be a normal string or int, so we can't just</span> + <span class="c1"># use the JSON parser.</span> + <span class="k">try</span><span class="p">:</span> + <span class="n">_x</span> <span class="o">=</span> <span class="nb">eval</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">'num_cores'</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">'num_cores'</span><span class="p">]</span> <span class="o">=</span> <span class="n">_x</span> + <span class="k">except</span><span class="p">:</span> + <span class="k">pass</span> + <span class="c1"># backwards compatibility</span> - <span class="k">if</span> <span class="s2">"amt_cores"</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</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">"num_processes"</span><span class="p">]</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">"amt_cores"</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">"num_cores"</span><span class="p">]</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">"amt_cores"</span><span class="p">]</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">"num_cores"</span><span class="p">]</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> - <span class="c1"># use all logical cores available to us</span> - <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">"num_processes"</span><span class="p">]</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">psutil</span><span class="o">.</span><span class="n">cpu_count</span><span class="p">(</span><span class="n">logical</span><span class="o">=</span><span class="kc">True</span><span class="p">))</span> - <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">"num_cores"</span><span class="p">]</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">:</span> - <span class="c1"># use all physical cores available to us</span> - <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">"num_processes"</span><span class="p">]</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">psutil</span><span class="o">.</span><span class="n">cpu_count</span><span class="p">(</span><span class="n">logical</span><span class="o">=</span><span class="kc">False</span><span class="p">))</span> - <span class="k">else</span><span class="p">:</span> - <span class="c1"># manually specify number of cores made available</span> - <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">"num_processes"</span><span class="p">]</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">"num_cores"</span><span class="p">]</span> + <span class="k">if</span> <span class="s1">'amt_cores'</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</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">'num_cores'</span><span class="p">]</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">'amt_cores'</span><span class="p">]</span> + + <span class="k">if</span> <span class="n">_vb</span><span class="p">:</span> + <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"NPROC: </span><span class="se">\"</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s1">'num_cores'</span><span class="p">]</span><span class="si">}</span><span class="se">\"</span><span class="s2"> type </span><span class="se">\"</span><span class="si">{</span><span class="nb">type</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">'num_cores'</span><span class="p">])</span><span class="si">}</span><span class="se">\"</span><span class="s2">"</span><span class="p">)</span> + + <span class="k">if</span> <span class="s1">'num_cores'</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">:</span> + <span class="k">if</span> <span class="n">_vb</span><span class="p">:</span> + <span class="nb">print</span><span class="p">(</span><span class="s2">"NPROC found in grid options"</span><span class="p">)</span> + <span class="k">if</span> <span class="nb">type</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">'num_cores'</span><span class="p">])</span> <span class="ow">is</span> <span class="nb">dict</span><span class="p">:</span> + <span class="c1"># try to match hostname to the dict keys</span> + <span class="n">hostnameslist</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">my_hostnames</span><span class="p">()</span> + <span class="k">for</span> <span class="n">host</span><span class="p">,</span><span class="n">ncores</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s1">'num_cores'</span><span class="p">]</span><span class="o">.</span><span class="n">items</span><span class="p">():</span> + <span class="c1"># check if we are this host</span> + <span class="k">if</span> <span class="n">host</span> <span class="ow">in</span> <span class="n">hostnameslist</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">'num_processes'</span><span class="p">]</span> <span class="o">=</span> <span class="n">__nprocs</span><span class="p">(</span><span class="n">ncores</span><span class="p">)</span> + <span class="k">if</span> <span class="n">_vb</span><span class="p">:</span> + <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"SET NPROC = </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s1">'num_processes'</span><span class="p">]</span><span class="si">}</span><span class="s2"> FROM HOST </span><span class="si">{</span><span class="n">host</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span> + <span class="k">return</span> + + <span class="c1"># no host match : use default number of cores</span> + <span class="k">if</span> <span class="s1">'default'</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s1">'num_cores'</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">'num_processes'</span><span class="p">]</span> <span class="o">=</span> <span class="n">__nprocs</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">'num_cores'</span><span class="p">][</span><span class="s1">'default'</span><span class="p">])</span> + <span class="k">if</span> <span class="n">_vb</span><span class="p">:</span> + <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"SET NPROC = </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s1">'num_processes'</span><span class="p">]</span><span class="si">}</span><span class="s2"> FROM default"</span><span class="p">)</span> + <span class="k">return</span> + <span class="k">elif</span> <span class="nb">type</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">'num_cores'</span><span class="p">])</span> <span class="ow">is</span> <span class="nb">str</span><span class="p">:</span> + <span class="c1"># just use int passed in</span> + <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s1">'num_processes'</span><span class="p">]</span> <span class="o">=</span> <span class="n">__nprocs</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">'num_cores'</span><span class="p">])</span> + <span class="k">if</span> <span class="n">_vb</span><span class="p">:</span> + <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"SET NPROC = </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s1">'num_processes'</span><span class="p">]</span><span class="si">}</span><span class="s2"> from string passed in"</span><span class="p">)</span> + <span class="k">return</span> + <span class="k">elif</span> <span class="nb">type</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">'num_cores'</span><span class="p">])</span> <span class="ow">is</span> <span class="nb">int</span><span class="p">:</span> + <span class="c1"># just use int passed in</span> + <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s1">'num_processes'</span><span class="p">]</span> <span class="o">=</span> <span class="n">__nprocs</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">'num_cores'</span><span class="p">])</span> + <span class="k">if</span> <span class="n">_vb</span><span class="p">:</span> + <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"SET NPROC = </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s1">'num_processes'</span><span class="p">]</span><span class="si">}</span><span class="s2"> from int passed in"</span><span class="p">)</span> + <span class="k">return</span> + + <span class="c1"># no host matched or no 'num_cores' option provided: use all available logical cores</span> + <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s1">'num_processes'</span><span class="p">]</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">psutil</span><span class="o">.</span><span class="n">cpu_count</span><span class="p">(</span><span class="n">logical</span><span class="o">=</span><span class="kc">True</span><span class="p">))</span> + <span class="k">if</span> <span class="n">_vb</span><span class="p">:</span> + <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"SET NPROC = </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s1">'num_processes'</span><span class="p">]</span><span class="si">}</span><span class="s2"> because no option given"</span><span class="p">)</span> + + <span class="k">return</span> <span class="k">def</span> <span class="nf">_pre_run_setup</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="kc">None</span><span class="p">:</span> <span class="sd">"""</span> @@ -971,7 +1054,12 @@ <span class="k">return</span> <span class="c1"># Execute population evolution subroutines</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_evolve_population</span><span class="p">()</span> + <span class="n">result</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_evolve_population</span><span class="p">()</span> + + <span class="k">if</span> <span class="n">result</span> <span class="ow">is</span> <span class="kc">False</span><span class="p">:</span> + <span class="nb">print</span><span class="p">(</span><span class="s2">"Error detected in _evolve_population() : stopping here"</span><span class="p">)</span> + + <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">()</span> <span class="c1"># make analytics information</span> <span class="n">analytics_dict</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">make_analytics_dict</span><span class="p">()</span> @@ -1020,6 +1108,8 @@ <span class="sd"> Tasks:</span> <span class="sd"> - TODO: include options for different ways of generating a population here. (i.e. MC or source file)</span> + +<span class="sd"> Returns True if the grid runs, False on error.</span> <span class="sd"> """</span> <span class="c1">############################################################</span> @@ -1036,7 +1126,8 @@ <span class="ow">in</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_options"</span><span class="p">]</span> <span class="p">):</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="ow">in</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="bp">self</span><span class="o">.</span><span class="n">_evolve_population_grid</span><span class="p">()</span> + <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_evolve_population_grid</span><span class="p">()</span> <span class="ow">is</span> <span class="kc">False</span><span class="p">:</span> + <span class="k">return</span> <span class="kc">False</span> <span class="c1"># elif self.grid_options["evolution_type"] == "mc":</span> <span class="c1"># # TODO: add MC option</span> @@ -1091,19 +1182,12 @@ <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">0</span><span class="p">,</span> <span class="p">)</span> - <span class="c1"># Some information afterwards</span> - <span class="bp">self</span><span class="o">.</span><span class="n">verbose_print</span><span class="p">(</span> - <span class="s2">"The full argline commands for </span><span class="si">{}</span><span class="s2"> these systems have been written to </span><span class="si">{}</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span> - <span class="s2">"ALL"</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">"_errors_exceeded"</span><span class="p">]</span> - <span class="k">else</span> <span class="s2">"SOME (only the first ones, as there were too many to log all of them)"</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">join</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">"tmp_dir"</span><span class="p">],</span> - <span class="s2">"failed_systems_</span><span class="si">{}</span><span class="s2">_X.txt"</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">"_population_id"</span><span class="p">]</span> - <span class="p">),</span> - <span class="p">),</span> - <span class="p">),</span> + <span class="c1"># Some information on where we logged the systems</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="s1">'log_failed_systems'</span><span class="p">]</span> <span class="o">==</span> <span class="kc">True</span> <span class="ow">and</span> \ + <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s1">'log_failed_systems_dir'</span><span class="p">]</span> <span class="o">!=</span> <span class="kc">None</span><span class="p">:</span> + + <span class="bp">self</span><span class="o">.</span><span class="n">verbose_print</span><span class="p">(</span> + <span class="s2">"The full failed arglines have been written to </span><span class="si">{self.grid_options['log_failed_systems_dir']}</span><span class="s2">/process_{self.jobID()}.txt"</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">"verbosity"</span><span class="p">],</span> <span class="mi">0</span><span class="p">,</span> <span class="p">)</span> @@ -1114,9 +1198,9 @@ <span class="mi">0</span><span class="p">,</span> <span class="p">)</span> - <span class="k">return</span> + <span class="k">return</span> <span class="kc">True</span> - <span class="k">def</span> <span class="nf">_system_queue_filler</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">job_queue</span><span class="p">,</span> <span class="n">num_processes</span><span class="p">):</span> + <span class="k">def</span> <span class="nf">_system_queue_filler</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">job_queue</span><span class="p">,</span> <span class="n">processes</span><span class="p">,</span> <span class="n">num_processes</span><span class="p">):</span> <span class="sd">"""</span> <span class="sd"> Function that is responsible for keeping the queue filled.</span> @@ -1149,8 +1233,11 @@ <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">"start_at"</span><span class="p">]</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span> <span class="nb">print</span><span class="p">(</span><span class="s2">"Starting at model </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">"start_at"</span><span class="p">]))</span> + <span class="n">prev_process_check</span> <span class="o">=</span> <span class="kc">None</span> + <span class="c1"># Continuously fill the queue while we are allowed to</span> <span class="k">for</span> <span class="n">system_number</span><span class="p">,</span> <span class="n">system_dict</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">generator</span><span class="p">):</span> + <span class="c1"># on stop, quit this loop</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">"stop_queue"</span><span class="p">]:</span> <span class="k">break</span> @@ -1188,6 +1275,15 @@ <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">"stop_queue"</span><span class="p">]:</span> <span class="k">break</span> <span class="k">else</span><span class="p">:</span> + + <span class="c1"># check children are running every 1s</span> + <span class="n">_now</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="k">if</span> <span class="n">prev_process_check</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">or</span> <span class="n">_now</span> <span class="o">-</span> <span class="n">prev_process_check</span> <span class="o">></span> <span class="mi">1</span><span class="p">:</span> + <span class="n">prev_process_check</span> <span class="o">=</span> <span class="n">_now</span> + <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_all_children_running</span><span class="p">(</span><span class="n">processes</span><span class="p">)</span> <span class="ow">is</span> <span class="kc">False</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">'_job_crashed'</span><span class="p">]</span> <span class="o">=</span> <span class="kc">True</span> + <span class="k">return</span> + <span class="k">try</span><span class="p">:</span> <span class="n">job_queue</span><span class="o">.</span><span class="n">put</span><span class="p">((</span><span class="n">system_number</span><span class="p">,</span> <span class="n">system_dict</span><span class="p">),</span> <span class="n">block</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span> @@ -1201,6 +1297,7 @@ <span class="mi">3</span><span class="p">,</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">"_queue_done"</span><span class="p">]</span> <span class="o">=</span> <span class="kc">True</span> <span class="c1"># Send closing signal to workers. When they receive this they will terminate</span> @@ -1231,6 +1328,8 @@ <span class="sd"> We then add any previous population</span> <span class="sd"> We read out the information in the result queue and store them in the grid object</span> + +<span class="sd"> Returns True if things go well, False on error.</span> <span class="sd"> """</span> <span class="c1"># Set process name</span> @@ -1279,17 +1378,38 @@ <span class="p">)</span> <span class="c1"># Set up the system_queue in the parent process</span> + <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s1">'_job_crashed'</span><span class="p">]</span> <span class="o">=</span> <span class="kc">False</span> <span class="bp">self</span><span class="o">.</span><span class="n">_system_queue_filler</span><span class="p">(</span> - <span class="n">job_queue</span><span class="p">,</span> <span class="n">num_processes</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">"num_processes"</span><span class="p">]</span> + <span class="n">job_queue</span><span class="p">,</span> <span class="n">processes</span><span class="p">,</span> <span class="n">num_processes</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">"num_processes"</span><span class="p">]</span> <span class="p">)</span> - <span class="c1"># Join the processes</span> - <span class="nb">print</span><span class="p">(</span><span class="s2">"Do join of subprocesses ..."</span><span class="p">)</span> - <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">processes</span><span class="p">:</span> - <span class="n">p</span><span class="o">.</span><span class="n">join</span><span class="p">()</span> - <span class="nb">print</span><span class="p">(</span><span class="s2">"Joined subprocesses."</span><span class="p">)</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="s1">'_job_crashed'</span><span class="p">]</span> <span class="ow">is</span> <span class="kc">True</span><span class="p">:</span> + <span class="c1"># job crashed while in system_queue_filler : kill children</span> + <span class="c1"># and return False</span> + <span class="nb">print</span><span class="p">(</span><span class="s2">"A child process crashed or was killed : I will not join incomplete data"</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">_kill_child_processes</span><span class="p">(</span><span class="n">processes</span><span class="p">)</span> + <span class="k">return</span> <span class="kc">False</span> + + <span class="k">else</span><span class="p">:</span> + <span class="c1"># Join the processes after the queue filler has finished</span> + <span class="nb">print</span><span class="p">(</span><span class="s2">"Do join of subprocesses ..."</span><span class="p">)</span> + + <span class="k">while</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s1">'_job_crashed'</span><span class="p">]</span> <span class="ow">is</span> <span class="kc">False</span> <span class="ow">and</span> <span class="n">processes</span><span class="p">:</span> + <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_all_children_running</span><span class="p">(</span><span class="n">processes</span><span class="p">)</span> <span class="ow">is</span> <span class="kc">False</span><span class="p">:</span> + <span class="c1"># job crashed: stop children and return False</span> + <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s1">'_job_crashed'</span><span class="p">]</span> <span class="o">=</span> <span class="kc">True</span> + <span class="k">else</span><span class="p">:</span> + <span class="c1"># join first process: it should finish work soon</span> + <span class="n">p</span> <span class="o">=</span> <span class="n">processes</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> + <span class="n">p</span><span class="o">.</span><span class="n">join</span><span class="p">()</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="s1">'_job_crashed'</span><span class="p">]</span> <span class="ow">is</span> <span class="kc">True</span><span class="p">:</span> + <span class="nb">print</span><span class="p">(</span><span class="s2">"A child process crashed or was killed : I will not join incomplete data"</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">_kill_child_processes</span><span class="p">(</span><span class="n">processes</span><span class="p">)</span> + <span class="k">return</span> <span class="kc">False</span> + <span class="k">else</span><span class="p">:</span> + <span class="nb">print</span><span class="p">(</span><span class="s2">"Joined all subprocesses."</span><span class="p">)</span> - <span class="c1"># todo: error codes</span> <span class="c1"># Handle the results by merging all the dictionaries. How that merging happens exactly is</span> <span class="c1"># described in the merge_dicts description.</span> @@ -1341,12 +1461,10 @@ <span class="k">for</span> <span class="n">output_dict</span> <span class="ow">in</span> <span class="nb">iter</span><span class="p">(</span><span class="n">result_queue</span><span class="o">.</span><span class="n">get</span><span class="p">,</span> <span class="n">sentinel</span><span class="p">):</span> <span class="k">if</span> <span class="n">output_dict</span><span class="p">:</span> <span class="c1"># don't let Xinit be added</span> - <span class="k">if</span> <span class="p">(</span> - <span class="s2">"ensemble_results"</span> <span class="ow">in</span> <span class="n">combined_output_dict</span> - <span class="ow">and</span> <span class="s2">"ensemble"</span> <span class="ow">in</span> <span class="n">combined_output_dict</span><span class="p">[</span><span class="s2">"ensemble_results"</span><span class="p">]</span> - <span class="ow">and</span> <span class="s2">"Xinit"</span> <span class="ow">in</span> <span class="n">combined_output_dict</span><span class="p">[</span><span class="s2">"ensemble_results"</span><span class="p">][</span><span class="s2">"ensemble"</span><span class="p">]</span> - <span class="p">):</span> + <span class="k">try</span><span class="p">:</span> <span class="k">del</span> <span class="n">combined_output_dict</span><span class="p">[</span><span class="s2">"ensemble_results"</span><span class="p">][</span><span class="s2">"ensemble"</span><span class="p">][</span><span class="s2">"Xinit"</span><span class="p">]</span> + <span class="k">except</span><span class="p">:</span> + <span class="k">pass</span> <span class="c1"># merge dicts</span> <span class="n">combined_output_dict</span> <span class="o">=</span> <span class="n">merge_dicts</span><span class="p">(</span> @@ -1380,7 +1498,10 @@ <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">"save_snapshots"</span><span class="p">]</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">"_killed"</span><span class="p">]:</span> <span class="bp">self</span><span class="o">.</span><span class="n">custom_options</span><span class="p">[</span><span class="s2">"save_snapshot"</span><span class="p">]</span> <span class="o">=</span> <span class="kc">True</span> - <span class="k">def</span> <span class="nf">_evolve_system_mp</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">full_system_dict</span><span class="p">):</span> + <span class="c1"># return True because all seems well</span> + <span class="k">return</span> <span class="kc">True</span> + + <span class="k">def</span> <span class="nf">_evolve_system_mp</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">system_number</span><span class="p">,</span> <span class="n">full_system_dict</span><span class="p">):</span> <span class="sd">"""</span> <span class="sd"> Function that the multiprocessing evolution method calls to evolve a system</span> @@ -1411,7 +1532,7 @@ <span class="p">)</span> <span class="c1"># Check for errors</span> - <span class="n">_</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_check_binary_c_error</span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="n">full_system_dict</span><span class="p">)</span> + <span class="n">_</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_check_binary_c_error</span><span class="p">(</span><span class="n">system_number</span><span class="p">,</span> <span class="n">out</span><span class="p">,</span> <span class="n">full_system_dict</span><span class="p">)</span> <span class="c1"># Have some user-defined function do stuff with the data.</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">"parse_function"</span><span class="p">]:</span> @@ -1736,7 +1857,8 @@ <span class="k">if</span> <span class="n">run_system</span><span class="p">:</span> <span class="c1"># Evolve the system</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_evolve_system_mp</span><span class="p">(</span><span class="n">full_system_dict</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">_evolve_system_mp</span><span class="p">(</span><span class="n">system_number</span><span class="p">,</span> + <span class="n">full_system_dict</span><span class="p">)</span> <span class="n">end_runtime_binary_c</span> <span class="o">=</span> <span class="n">time</span><span class="o">.</span><span class="n">time</span><span class="p">()</span> @@ -2404,7 +2526,7 @@ <span class="k">return</span> <span class="n">killed</span></div> - <span class="k">def</span> <span class="nf">_check_binary_c_error</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">binary_c_output</span><span class="p">,</span> <span class="n">system_dict</span><span class="p">):</span> + <span class="k">def</span> <span class="nf">_check_binary_c_error</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">system_number</span><span class="p">,</span> <span class="n">binary_c_output</span><span class="p">,</span> <span class="n">system_dict</span><span class="p">):</span> <span class="sd">"""</span> <span class="sd"> Function to check whether binary_c throws an error and handle accordingly.</span> <span class="sd"> """</span> @@ -2424,6 +2546,22 @@ <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">"_failed_count"</span><span class="p">]</span> <span class="o">+=</span> <span class="mi">1</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">"_errors_found"</span><span class="p">]</span> <span class="o">=</span> <span class="kc">True</span> + <span class="k">try</span><span class="p">:</span> + <span class="n">error_code</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span> + <span class="n">binary_c_output</span><span class="o">.</span><span class="n">splitlines</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span> + <span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">"with error code"</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">split</span><span class="p">(</span><span class="s2">":"</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span> + <span class="o">.</span><span class="n">strip</span><span class="p">()</span> + <span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">verbose_print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Have error code </span><span class="si">{</span><span class="n">error_code</span><span class="si">}</span><span class="s2">"</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">"verbosity"</span><span class="p">],</span> + <span class="mi">0</span><span class="p">,)</span> + <span class="k">except</span><span class="p">:</span> + <span class="bp">self</span><span class="o">.</span><span class="n">verbose_print</span><span class="p">(</span><span class="s2">"Failed to extract error code"</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">"verbosity"</span><span class="p">],</span> + <span class="mi">0</span><span class="p">,)</span> + <span class="k">pass</span> + <span class="c1"># Try catching the error code and keep track of the unique ones.</span> <span class="k">try</span><span class="p">:</span> <span class="n">error_code</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span> @@ -2437,21 +2575,32 @@ <span class="ow">not</span> <span class="n">error_code</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">"_failed_systems_error_codes"</span><span class="p">]</span> <span class="p">):</span> + <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Caught errr code </span><span class="si">{</span><span class="n">error_code</span><span class="si">}</span><span class="s2">"</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">"_failed_systems_error_codes"</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span> <span class="n">error_code</span> <span class="p">)</span> <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span> + <span class="n">error_code</span> <span class="o">=</span> <span class="kc">None</span> <span class="bp">self</span><span class="o">.</span><span class="n">verbose_print</span><span class="p">(</span> <span class="s2">"Failed to extract the error-code"</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">"verbosity"</span><span class="p">],</span> <span class="mi">1</span><span class="p">,</span> <span class="p">)</span> + <span class="c1"># log failing args?</span> + <span class="bp">self</span><span class="o">.</span><span class="n">_log_failure</span><span class="p">(</span><span class="n">system_dict</span><span class="o">=</span><span class="n">system_dict</span><span class="p">)</span> + <span class="c1"># Check if we have exceeded the number of errors</span> + <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Check failed count </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s1">'_failed_count'</span><span class="p">]</span><span class="si">}</span><span class="s2"> vs max </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s1">'failed_systems_threshold'</span><span class="p">]</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span> <span class="k">if</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">"_failed_count"</span><span class="p">]</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">"failed_systems_threshold"</span><span class="p">]</span> <span class="p">):</span> + + <span class="c1"># stop evolving systems</span> + <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s1">'stop_queue'</span><span class="p">]</span> + + <span class="c1"># warn the user the first time we exceed failed_systems_threshold</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">"_errors_exceeded"</span><span class="p">]:</span> <span class="bp">self</span><span class="o">.</span><span class="n">verbose_print</span><span class="p">(</span> <span class="bp">self</span><span class="o">.</span><span class="n">_boxed</span><span class="p">(</span> @@ -2465,21 +2614,7 @@ <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">"_errors_exceeded"</span><span class="p">]</span> <span class="o">=</span> <span class="kc">True</span> - <span class="c1"># If not, write the failing systems to files unique to each process</span> - <span class="k">else</span><span class="p">:</span> - <span class="c1"># Write arg lines to file</span> - <span class="n">argstring</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_return_argline</span><span class="p">(</span><span class="n">system_dict</span><span class="p">)</span> - <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">open</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">join</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">"tmp_dir"</span><span class="p">],</span> - <span class="s2">"failed_systems"</span><span class="p">,</span> - <span class="s2">"process_</span><span class="si">{}</span><span class="s2">.txt"</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">process_ID</span><span class="p">),</span> - <span class="p">),</span> - <span class="s2">"a+"</span><span class="p">,</span> - <span class="n">encoding</span><span class="o">=</span><span class="s2">"utf-8"</span><span class="p">,</span> - <span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span> - <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">argstring</span> <span class="o">+</span> <span class="s2">"</span><span class="se">\n</span><span class="s2">"</span><span class="p">)</span> - <span class="n">f</span><span class="o">.</span><span class="n">close</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">verbose_print</span><span class="p">(</span> <span class="s2">"binary_c output nothing - this is strange. If there is ensemble output being generated then this is fine."</span><span class="p">,</span> @@ -2495,7 +2630,181 @@ <span class="k">return</span> <span class="p">{</span> <span class="s1">'metadata'</span> <span class="p">:</span> <span class="p">{},</span> <span class="s1">'ensemble'</span> <span class="p">:</span> <span class="p">{}</span> - <span class="p">}</span></div> + <span class="p">}</span> + + <span class="k">def</span> <span class="nf">_all_children_running</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">processes</span><span class="p">):</span> + <span class="sd">"""</span> +<span class="sd"> Function to test if all child processes are running.</span> +<span class="sd"> """</span> + <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">processes</span><span class="p">:</span> + <span class="k">if</span> <span class="n">p</span><span class="o">.</span><span class="n">is_alive</span><span class="p">()</span> <span class="ow">is</span> <span class="kc">False</span> <span class="ow">and</span> \ + <span class="n">p</span><span class="o">.</span><span class="n">exitcode</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span> + <span class="nb">print</span><span class="p">(</span><span class="s2">"Warning: process"</span><span class="p">,</span><span class="n">p</span><span class="p">,</span><span class="s2">"is no longer alive and hasn't returned good data."</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">_log_failure</span><span class="p">(</span><span class="n">process</span><span class="o">=</span><span class="n">p</span><span class="p">,</span><span class="n">exitcode</span><span class="o">=</span><span class="n">p</span><span class="o">.</span><span class="n">exitcode</span><span class="p">)</span> + <span class="k">return</span> <span class="kc">False</span> + <span class="k">return</span> <span class="kc">True</span> + + <span class="k">def</span> <span class="nf">_kill_child_processes</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">processes</span><span class="p">):</span> + <span class="sd">"""</span> +<span class="sd"> Function to kill all child processes.</span> +<span class="sd"> """</span> +<span class="c1"># for p in processes:</span> +<span class="c1"># if p.is_alive():</span> +<span class="c1"># p.terminate()</span> + <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">processes</span><span class="p">:</span> + <span class="k">if</span> <span class="n">p</span><span class="o">.</span><span class="n">is_alive</span><span class="p">():</span> + <span class="n">p</span><span class="o">.</span><span class="n">kill</span><span class="p">()</span> + + <span class="k">def</span> <span class="nf">_log_failure</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> + <span class="n">system_dict</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> + <span class="n">process</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> + <span class="n">exitcode</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span> + <span class="sd">"""</span> +<span class="sd"> Log failing or crashed system to file in log_failed_systems_dir</span> +<span class="sd"> """</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="s1">'log_failed_systems'</span><span class="p">]</span> <span class="o">==</span> <span class="kc">True</span> <span class="ow">and</span> \ + <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s1">'log_failed_systems_dir'</span><span class="p">]</span> <span class="o">!=</span> <span class="kc">None</span><span class="p">:</span> + <span class="n">path</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</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">'log_failed_systems_dir'</span><span class="p">]</span> + <span class="p">)</span> + <span class="n">os</span><span class="o">.</span><span class="n">makedirs</span><span class="p">(</span><span class="n">path</span><span class="p">,</span><span class="n">exist_ok</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> + <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">dir_ok</span><span class="p">(</span><span class="n">path</span><span class="p">):</span> + <span class="n">failed_systems_file</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</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">"log_failed_systems_dir"</span><span class="p">],</span> + <span class="s2">"process_</span><span class="si">{}</span><span class="s2">.txt"</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">jobID</span><span class="p">()),</span> + <span class="p">)</span> + <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">open</span><span class="p">(</span> + <span class="n">failed_systems_file</span><span class="p">,</span> + <span class="s2">"a"</span><span class="p">,</span> <span class="c1"># append</span> + <span class="n">encoding</span><span class="o">=</span><span class="s2">"utf-8"</span> + <span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span> + <span class="n">now</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> + <span class="n">now</span> <span class="o">=</span> <span class="n">now</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s2">"</span><span class="si">%d</span><span class="s2">/%m/%Y %H:%M:%S</span><span class="se">\n</span><span class="s2">"</span><span class="p">)</span> + <span class="k">if</span> <span class="n">system_dict</span><span class="p">:</span> + <span class="n">binary_c_cmdline_string</span> <span class="o">=</span> \ + <span class="sa">f</span><span class="s2">"system </span><span class="si">{</span><span class="n">system_number</span><span class="si">}</span><span class="s2"> at </span><span class="si">{</span><span class="n">now</span><span class="si">}</span><span class="s2"> "</span> <span class="o">+</span> \ + <span class="bp">self</span><span class="o">.</span><span class="n">_return_argline</span><span class="p">(</span><span class="n">system_dict</span><span class="p">)</span> <span class="o">+</span> <span class="s2">"</span><span class="se">\n</span><span class="s2">"</span> + <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">binary_c_cmdline_string</span><span class="p">)</span> + <span class="k">if</span> <span class="n">process</span><span class="p">:</span> + <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"logged crashed process to </span><span class="si">{</span><span class="n">failed_systems_file</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span> + <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Process </span><span class="si">{</span><span class="n">process</span><span class="si">}</span><span class="s2"> crashed at </span><span class="si">{</span><span class="n">now</span><span class="si">}</span><span class="s2"> with exit code </span><span class="si">{</span><span class="n">exitcode</span><span class="si">}</span><span class="s2">."</span><span class="p">)</span> + <span class="k">return</span> + +<div class="viewcode-block" id="Population.my_hostnames"><a class="viewcode-back" href="../../../grid.html#binarycpython.utils.grid.Population.my_hostnames">[docs]</a> <span class="k">def</span> <span class="nf">my_hostnames</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> + <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">hostnameslist</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> + <span class="bp">self</span><span class="o">.</span><span class="n">hostnameslist</span> <span class="o">=</span> <span class="n">binarycpython</span><span class="o">.</span><span class="n">utils</span><span class="o">.</span><span class="n">functions</span><span class="o">.</span><span class="n">hostnames</span><span class="p">()</span> + <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">hostnameslist</span></div> + +<div class="viewcode-block" id="Population.expand_args_by_hostname"><a class="viewcode-back" href="../../../grid.html#binarycpython.utils.grid.Population.expand_args_by_hostname">[docs]</a> <span class="k">def</span> <span class="nf">expand_args_by_hostname</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">cmdline_args</span><span class="p">):</span> + <span class="sd">"""</span> +<span class="sd"> Expand a set of arguments by scanning each of them</span> +<span class="sd"> for host-specific dicts.</span> + +<span class="sd"> Given each arg, either as a string "x=y" or dict {x:y},</span> +<span class="sd"> determine whether y is a dict and if so does one of the keys</span> +<span class="sd"> match the current hostname or "default", if so use the</span> +<span class="sd"> corresponding value for the current machine.</span> +<span class="sd"> """</span> + <span class="n">hostnameslist</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">my_hostnames</span><span class="p">()</span> + <span class="n">new_cmdline_args</span> <span class="o">=</span> <span class="kc">None</span> + + <span class="c1"># loop over list of cmdline args</span> + <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">cmdline_args</span><span class="p">,</span><span class="nb">list</span><span class="p">):</span> + <span class="n">new_cmdline_args</span> <span class="o">=</span> <span class="p">[]</span> + <span class="k">for</span> <span class="n">cmdline_arg</span> <span class="ow">in</span> <span class="n">cmdline_args</span><span class="p">:</span> + <span class="n">new_arg</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_match_arg_to_host</span><span class="p">(</span><span class="n">arg</span><span class="o">=</span><span class="n">cmdline_arg</span><span class="p">)</span> + <span class="n">new_cmdline_args</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">new_arg</span><span class="p">)</span> + + <span class="c1"># loop over a dict of cmdline args</span> + <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">cmdline_args</span><span class="p">,</span><span class="nb">dict</span><span class="p">):</span> + <span class="n">new_cmdline_args</span> <span class="o">=</span> <span class="p">{}</span> + <span class="k">for</span> <span class="n">parameter</span><span class="p">,</span><span class="n">value</span> <span class="ow">in</span> <span class="n">cmdline_args</span><span class="o">.</span><span class="n">items</span><span class="p">():</span> + <span class="n">new_arg</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_match_arg_to_host</span><span class="p">(</span><span class="n">arg</span><span class="o">=</span><span class="p">{</span><span class="n">parameter</span><span class="p">:</span><span class="n">value</span><span class="p">})</span> + <span class="n">new_cmdline_args</span><span class="p">[</span><span class="n">parameter</span><span class="p">]</span> <span class="o">=</span> <span class="n">new_arg</span> + + <span class="k">return</span> <span class="n">new_cmdline_args</span></div> + + <span class="k">def</span> <span class="nf">_match_arg_to_host</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> + <span class="n">arg</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> + <span class="n">hostnameslist</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> + <span class="n">vb</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span> + <span class="sd">"""</span> +<span class="sd"> Given an arg, either as a string "x=y" or dict {x:y},</span> +<span class="sd"> determine whether y is a dict and if so does one of the keys</span> +<span class="sd"> match the current hostname or "default", if so use the</span> +<span class="sd"> corresponding value. If not, return the original arg's value.</span> +<span class="sd"> """</span> + <span class="k">if</span> <span class="n">arg</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> + <span class="k">return</span> <span class="kc">None</span> + + <span class="k">if</span> <span class="n">hostnameslist</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> + <span class="n">hostnameslist</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">my_hostnames</span><span class="p">()</span> + + <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">arg</span><span class="p">,</span><span class="nb">dict</span><span class="p">):</span> + <span class="c1"># {parameter: value} dict arg</span> + <span class="n">parameter</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">arg</span><span class="o">.</span><span class="n">keys</span><span class="p">())[</span><span class="mi">0</span><span class="p">]</span> + <span class="n">value</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">arg</span><span class="o">.</span><span class="n">values</span><span class="p">())[</span><span class="mi">0</span><span class="p">]</span> + <span class="n">argtype</span> <span class="o">=</span> <span class="s1">'dict'</span> + <span class="k">else</span><span class="p">:</span> + <span class="c1"># scalar x=y arg</span> + <span class="n">split</span> <span class="o">=</span> <span class="n">arg</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">"="</span><span class="p">)</span> + <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">split</span><span class="p">)</span><span class="o">==</span><span class="mi">2</span><span class="p">:</span> + <span class="n">parameter</span> <span class="o">=</span> <span class="n">split</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> + <span class="n">value</span> <span class="o">=</span> <span class="n">split</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> + <span class="n">argtype</span> <span class="o">=</span> <span class="s1">'list'</span> + <span class="k">else</span><span class="p">:</span> + <span class="n">parameter</span> <span class="o">=</span> <span class="kc">None</span> + <span class="n">value</span> <span class="o">=</span> <span class="kc">None</span> + <span class="n">argtype</span> <span class="o">=</span> <span class="kc">None</span> + + <span class="k">if</span> <span class="n">parameter</span><span class="p">:</span> + <span class="k">if</span> <span class="n">vb</span><span class="p">:</span> + <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"_match_arg_to_host: </span><span class="si">{</span><span class="n">parameter</span><span class="si">}</span><span class="s2"> = </span><span class="si">{</span><span class="n">value</span><span class="si">}</span><span class="s2"> (argtype = </span><span class="si">{</span><span class="n">argtype</span><span class="si">}</span><span class="s2">)"</span><span class="p">)</span> + <span class="k">try</span><span class="p">:</span> + <span class="k">if</span> <span class="n">vb</span><span class="p">:</span> + <span class="nb">print</span><span class="p">(</span><span class="s2">"Try to eval"</span><span class="p">,</span><span class="n">value</span><span class="p">)</span> + <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span><span class="nb">str</span><span class="p">):</span> + <span class="c1"># string : eval it</span> + <span class="n">_x</span> <span class="o">=</span> <span class="nb">eval</span><span class="p">(</span><span class="n">value</span><span class="p">)</span> + <span class="k">else</span><span class="p">:</span> + <span class="n">_x</span> <span class="o">=</span> <span class="n">value</span> + + <span class="c1"># if dict, match to hostnames or 'default'</span> + <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">_x</span><span class="p">,</span><span class="nb">dict</span><span class="p">):</span> + <span class="n">_match</span> <span class="o">=</span> <span class="kc">None</span> + <span class="k">for</span> <span class="n">host</span> <span class="ow">in</span> <span class="n">hostnameslist</span><span class="p">:</span> + <span class="k">if</span> <span class="n">vb</span><span class="p">:</span> + <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"check host=</span><span class="si">{</span><span class="n">host</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span> + <span class="n">_match</span> <span class="o">=</span> <span class="n">_x</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">host</span><span class="p">,</span><span class="kc">None</span><span class="p">)</span> + <span class="k">if</span> <span class="n">_match</span><span class="p">:</span> + <span class="k">if</span> <span class="n">vb</span><span class="p">:</span> + <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Parameter </span><span class="si">{</span><span class="n">parameter</span><span class="si">}</span><span class="s2"> matches a value set by host=</span><span class="si">{</span><span class="n">host</span><span class="si">}</span><span class="s2"> -> </span><span class="si">{</span><span class="n">_match</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span> + <span class="k">break</span> + + <span class="c1"># no match? try 'default'</span> + <span class="k">if</span> <span class="ow">not</span> <span class="n">_match</span><span class="p">:</span> + <span class="n">_match</span> <span class="o">=</span> <span class="n">_x</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'default'</span><span class="p">,</span><span class="kc">None</span><span class="p">)</span> + + <span class="c1"># no match? error</span> + <span class="k">if</span> <span class="ow">not</span> <span class="n">_match</span><span class="p">:</span> + <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Parameter </span><span class="si">{</span><span class="n">parameter</span><span class="si">}</span><span class="s2"> is a dict </span><span class="si">{</span><span class="n">value</span><span class="si">}</span><span class="s2"> none of the keys or which matches our hostname (</span><span class="si">{</span><span class="n">hostnameslist</span><span class="si">}</span><span class="s2">) or 'default'. Please update this parameter."</span><span class="p">)</span> + <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> + <span class="k">else</span><span class="p">:</span> + <span class="k">if</span> <span class="n">vb</span><span class="p">:</span> + <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Parameter </span><span class="si">{</span><span class="n">parameter</span><span class="si">}</span><span class="s2"> set to value </span><span class="si">{</span><span class="n">_match</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span> + <span class="n">value</span> <span class="o">=</span> <span class="n">_match</span> + <span class="k">except</span><span class="p">:</span> + <span class="k">pass</span> + + <span class="k">if</span> <span class="n">argtype</span> <span class="o">==</span> <span class="s1">'list'</span><span class="p">:</span> + <span class="c1"># return x=y type argument</span> + <span class="n">new_arg</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">parameter</span><span class="si">}</span><span class="s2">=</span><span class="si">{</span><span class="n">value</span><span class="si">}</span><span class="s2">"</span> + <span class="k">else</span><span class="p">:</span> + <span class="n">new_arg</span> <span class="o">=</span> <span class="n">value</span> + + <span class="k">if</span> <span class="n">vb</span><span class="p">:</span> + <span class="nb">print</span><span class="p">(</span><span class="s2">"return arg"</span><span class="p">,</span><span class="n">new_arg</span><span class="p">,</span><span class="s2">"of type"</span><span class="p">,</span><span class="nb">type</span><span class="p">(</span><span class="n">value</span><span class="p">))</span> + <span class="k">return</span> <span class="n">new_arg</span></div> </pre></div> </div> @@ -2513,9 +2822,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">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 397f6601c..8bd39e1ec 100644 --- a/docs/build/html/_modules/binarycpython/utils/plot_functions.html +++ b/docs/build/html/_modules/binarycpython/utils/plot_functions.html @@ -715,9 +715,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/HPC.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/HPC.html index 5aadeab91..dced20e15 100644 --- a/docs/build/html/_modules/binarycpython/utils/population_extensions/HPC.html +++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/HPC.html @@ -825,9 +825,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/Moe_di_Stefano_2017.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/Moe_di_Stefano_2017.html index 092b28ec1..6672dc37e 100644 --- a/docs/build/html/_modules/binarycpython/utils/population_extensions/Moe_di_Stefano_2017.html +++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/Moe_di_Stefano_2017.html @@ -1318,9 +1318,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/analytics.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/analytics.html index 72654f29a..6dcd18ab1 100644 --- a/docs/build/html/_modules/binarycpython/utils/population_extensions/analytics.html +++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/analytics.html @@ -208,9 +208,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/cache.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/cache.html index b6be39630..48f30ec7e 100644 --- a/docs/build/html/_modules/binarycpython/utils/population_extensions/cache.html +++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/cache.html @@ -454,9 +454,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/condor.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/condor.html index 9d93a620f..3a0a6c928 100644 --- a/docs/build/html/_modules/binarycpython/utils/population_extensions/condor.html +++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/condor.html @@ -655,9 +655,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/dataIO.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/dataIO.html index 65a6b6504..7f909855c 100644 --- a/docs/build/html/_modules/binarycpython/utils/population_extensions/dataIO.html +++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/dataIO.html @@ -902,9 +902,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/distribution_functions.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/distribution_functions.html index a4427a202..4ee7e4f93 100644 --- a/docs/build/html/_modules/binarycpython/utils/population_extensions/distribution_functions.html +++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/distribution_functions.html @@ -2403,9 +2403,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/grid_logging.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/grid_logging.html index 77ec01cf1..90a916002 100644 --- a/docs/build/html/_modules/binarycpython/utils/population_extensions/grid_logging.html +++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/grid_logging.html @@ -555,9 +555,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/grid_options_defaults.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/grid_options_defaults.html index cc76d9d6c..6a113f831 100644 --- a/docs/build/html/_modules/binarycpython/utils/population_extensions/grid_options_defaults.html +++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/grid_options_defaults.html @@ -130,7 +130,7 @@ <span class="c1">##########################</span> <span class="c1"># general (or unordered..)</span> <span class="c1">##########################</span> - <span class="s2">"num_cores"</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span> <span class="c1"># total number of cores used to evolve the population</span> + <span class="s2">"num_cores"</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span> <span class="c1"># total number of cores used to evolve the population (None -> use all logical cores)</span> <span class="s2">"num_cores_available"</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span> <span class="c1"># set automatically, not by the user</span> <span class="s2">"parse_function"</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span> <span class="c1"># Function to parse the output with.</span> <span class="s2">"multiplicity_fraction_function"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="c1"># Which multiplicity fraction function to use. 0: None, 1: Arenou 2010, 2: Rhagavan 2010, 3: Moe and di Stefano 2017</span> @@ -237,6 +237,8 @@ <span class="s2">"_failed_prob"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="c1"># Summed probability of failed systems</span> <span class="s2">"failed_systems_threshold"</span><span class="p">:</span> <span class="mi">20</span><span class="p">,</span> <span class="c1"># Maximum failed systems per process allowed to fail before the process stops logging the failing systems.</span> <span class="s2">"_failed_systems_error_codes"</span><span class="p">:</span> <span class="p">[],</span> <span class="c1"># List to store the unique error codes</span> + <span class="s2">"log_failed_systems"</span> <span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="c1"># Flag to enable logging of failed systems...</span> + <span class="s2">"log_failed_systems_dir"</span> <span class="p">:</span> <span class="kc">None</span><span class="p">,</span> <span class="c1"># log them to this dir</span> <span class="s2">"_population_id"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="c1"># Random id of this grid/population run, Unique code for the population. Should be set only once by the controller process.</span> <span class="s2">"_total_mass_run"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="c1"># To count the total mass that thread/process has ran</span> <span class="s2">"_total_probability_weighted_mass_run"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="c1"># To count the total mass * probability for each system that thread/process has ran</span> @@ -717,9 +719,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/gridcode.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/gridcode.html index 747bc9478..281d744d5 100644 --- a/docs/build/html/_modules/binarycpython/utils/population_extensions/gridcode.html +++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/gridcode.html @@ -1236,9 +1236,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/metadata.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/metadata.html index 8cf18bfd5..6c50ac08c 100644 --- a/docs/build/html/_modules/binarycpython/utils/population_extensions/metadata.html +++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/metadata.html @@ -229,9 +229,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/slurm.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/slurm.html index c99f085bd..c5a197732 100644 --- a/docs/build/html/_modules/binarycpython/utils/population_extensions/slurm.html +++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/slurm.html @@ -553,9 +553,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/spacing_functions.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/spacing_functions.html index 941ae1d17..0b3a5ffa1 100644 --- a/docs/build/html/_modules/binarycpython/utils/population_extensions/spacing_functions.html +++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/spacing_functions.html @@ -776,9 +776,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/version_info.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/version_info.html index 4ca4cd979..b64bad940 100644 --- a/docs/build/html/_modules/binarycpython/utils/population_extensions/version_info.html +++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/version_info.html @@ -522,9 +522,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">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 5987941d5..c107576dd 100644 --- a/docs/build/html/_modules/binarycpython/utils/run_system_wrapper.html +++ b/docs/build/html/_modules/binarycpython/utils/run_system_wrapper.html @@ -206,9 +206,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">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 3d8da4100..5725844c3 100644 --- a/docs/build/html/_modules/binarycpython/utils/useful_funcs.html +++ b/docs/build/html/_modules/binarycpython/utils/useful_funcs.html @@ -472,9 +472,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/_modules/index.html b/docs/build/html/_modules/index.html index b43b3f1a8..4a44ae047 100644 --- a/docs/build/html/_modules/index.html +++ b/docs/build/html/_modules/index.html @@ -110,9 +110,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">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 9d00a7aca..463c9af01 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**: 6118:20220617:8463fa650 **Built on**: Jun 17 2022 23:20:34 + **binary_c git branch**: clean_master **binary_c git revision**: 6302:20220825:04c096f7a **Built on**: Aug 25 2022 11:34:43 Section: stars @@ -250,11 +250,6 @@ Section: stars | **Parameter input type**: True|False | **Default value**: False -| **Parameter**: custom_timeout_time -| **Description**: Custom timeout time. Requires compilation with DAVID_CUSTOM_TIMEOUT -| **Parameter input type**: Float -| **Default value**: 100 - | **Parameter**: evolution_splitting | **Description**: If True, turn on splitting of an evolutionary run if splitpoint (e.g. supernova) occurs. | **Parameter input type**: True|False @@ -293,10 +288,10 @@ Section: stars | **Macros**: ['OPACITY_ALGORITHM_PACZYNSKI = 0', 'OPACITY_ALGORITHM_FERGUSON_OPAL = 1', 'OPACITY_ALGORITHM_STARS = 2'] | **Parameter**: wind_mass_loss -| **Description**: Defines the algorithm used for stellar winds. 0 = none, 1 = Hurley et al. (2002), 2 = Schneider (2018), 3 = Schneider + Sander and Wink (2020) for helium stars, 4 = Schneider + Hurley for LBV mass loss +| **Description**: Defines the algorithm used for stellar winds. 0 = none, 1 = Hurley et al. (2002), 2 = Schneider (2018). | **Parameter input type**: Unsigned integer | **Default value**: 3 -| **Macros**: ['WIND_ALGORITHM_NONE = 0', 'WIND_ALGORITHM_HURLEY2002 = 1', 'WIND_ALGORITHM_SCHNEIDER2018 = 2', 'WIND_ALGORITHM_BINARY_C_2020 = 3', 'WIND_ALGORITHM_HENDRIKS_2022 = 4'] +| **Macros**: ['WIND_ALGORITHM_NONE = 0', 'WIND_ALGORITHM_HURLEY2002 = 1', 'WIND_ALGORITHM_SCHNEIDER2018 = 2', 'WIND_ALGORITHM_BINARY_C_2020 = 3', 'WIND_ALGORITHM_BINARY_C_2022 = 4'] | **Extra**: 0 | **Parameter**: gbwind @@ -478,37 +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**: PPISN_core_mass_range_shift -| **Description**: (Pulsational) Pair-Instability Supernova CO core mass range shift: Value by which we shift the range of CO core mass values that undergo PPISN. This is taken into account in the fit that calculates the mass removal. Negative number is shifting the range to lower masses, positive to higher masses. -| **Parameter input type**: Float -| **Default value**: 0 -| **Extra**: Ignore - -| **Parameter**: PPISN_massloss_multiplier -| **Description**: (Pulsational) Pair-Instability Supernova CO massloss multiplier: Value by which the (P)PISN massloss is multiplied. Currently only works with the new prescription. THe additional mass loss is not affected multiplied by this. -| **Parameter input type**: Float -| **Default value**: 1 -| **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 @@ -536,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 @@ -575,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**: 0 -| **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 @@ -616,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). @@ -648,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**: 0 - -| **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 @@ -783,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 @@ -861,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. @@ -886,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. @@ -913,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. @@ -980,12 +893,24 @@ Section: stars | **Description**: Algorithm used to calculate the amount of mass retained during a nova explosion. 0=use nova_retention_fraction. (other methods pending) | **Parameter input type**: Integer | **Default value**: 0 -| **Macros**: ['NOVA_RETENTION_ALGORITHM_CONSTANT = 0', 'NOVA_RETENTION_ALGORITHM_CLAEYS2014 = 1', 'NOVA_RETENTION_ALGORITHM_HILLMAN2015 = 2'] +| **Macros**: ['NOVA_RETENTION_ALGORITHM_CONSTANT = 0', 'NOVA_RETENTION_ALGORITHM_CLAEYS2014 = 1', 'NOVA_RETENTION_ALGORITHM_HILLMAN2015 = 2', 'NOVA_RETENTION_ALGORITHM_WANGWU = 3'] + +| **Parameter**: nova_yield_CO_algorithm +| **Description**: Algorithm used to calculate the yields of COWD novae. Current options: NOVA_YIELD_CO_ALGOTHIM_JOSE_HERNANZ_1998 (0). +| **Parameter input type**: Integer +| **Default value**: 0 +| **Macros**: ['NOVA_YIELD_CO_ALGORITHM_JOSE_HERNANZ_1998 = 0'] + +| **Parameter**: nova_yield_ONe_algorithm +| **Description**: Algorithm used to calculate the yields of ONeWD novae. Current options: NOVA_YIELD_ONe_ALGOTHIM_JOSE_HERNANZ_1998 (0), NOVA_YIELD_ONe_ALGORITHM_JOSE2022 (1). +| **Parameter input type**: Integer +| **Default value**: 0 +| **Macros**: ['NOVA_YIELD_ONe_ALGORITHM_JOSE_HERNANZ_1998 = 0', 'NOVA_YIELD_ONe_ALGORITHM_JOSE_2022 = 1'] | **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**: -1 +| **Default value**: NULL | **Parameter**: gaia_Teff_binwidth | **Description**: log10(Effective temperature) bin width used to make Gaia-like HRDs @@ -1012,25 +937,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 @@ -1170,6 +1095,16 @@ Section: stars | **Parameter input type**: True|False | **Default value**: False +| **Parameter**: adjust_structure_from_mass_changes +| **Description**: If True, adjust L and R based on changes in M on the previous thermal timescale. (Currently experimental hence defaults to FALSE) +| **Parameter input type**: True|False +| **Default value**: NULL + +| **Parameter**: save_mass_history_n_thermal +| **Description**: Number of thermal timesteps of mass change history to be saved (4). +| **Parameter input type**: Float +| **Default value**: NULL + | **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 @@ -1183,7 +1118,7 @@ Section: stars | **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**: NULL +| **Default value**: 0 Section: binary --------------- @@ -1522,23 +1457,45 @@ Section: binary | **Description**: Algorithm to be used when merging two white dwarfs. 0 = Hurley et al. (2002), 1 = Perets+ (2019), 2 = Chen+ (2016, todo) | **Parameter input type**: Integer | **Default value**: 0 -| **Macros**: ['WDWD_MERGER_ALGORITHM_BSE = 0', 'WDWD_MERGER_ALGORITHM_PERETS2019 = 1', 'WDWD_MERGER_ALGORITHM_CHEN2016 = 2'] +| **Macros**: ['WDWD_MERGER_ALGORITHM_BSE = 0', 'WDWD_MERGER_ALGORITHM_PERETS2019 = 1', 'WDWD_MERGER_ALGORITHM_CHEN2016 = 2', 'WDWD_MERGER_ALGORITHM_SATO2016 = 3', 'WDWD_MERGER_ALGORITHM_HYBRID_PERETS2019_SATO2016 = 4', 'WDWD_MERGER_ALGORITHM_RUITER2013 = 5'] + +| **Parameter**: eta_violent_WDWD_merger +| **Description**: energy factor used to calculate q_crit for WDWD mergers that are "violent". Default = 0.75 (Ruiter 2013). +| **Parameter input type**: Float +| **Default value**: 0.75 + +| **Parameter**: COWD_COWD_explode_above_mass +| **Description**: COWD-COWD mergers above this mass trigger a SNIa. +| **Parameter input type**: Float +| **Default value**: 0 + +| **Parameter**: HeWD_COWD_explode_above_mass +| **Description**: HeWD-COWD mergers above this mass trigger a SNIa. +| **Parameter input type**: Float +| **Default value**: 0 + +| **Parameter**: COWD_to_ONeWD_accretion_rate +| **Description**: Accretion rate above which COWDs are converted to ONeWDs, in Msun/yr. A typical value is 2.05e-6 (Wang et al. 2017). Ignored if 0 (default 0). +| **Parameter input type**: Float +| **Default value**: 2.05e-06 | **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_SUPERNOVA_ALGORITHM_DD2 = 0', 'TYPE_IA_SUPERNOVA_ALGORITHM_SEITENZAHL2013 = 1', 'TYPE_IA_SUPERNOVA_ALGORITHM_SEITENZAHL2013_AUTOMATIC = 2', 'TYPE_IA_SUPERNOVA_ALGORITHM_LIVNE_ARNETT_1995 = 3'] | **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_SUPERNOVA_ALGORITHM_DD2 = 0', 'TYPE_IA_SUPERNOVA_ALGORITHM_SEITENZAHL2013 = 1', 'TYPE_IA_SUPERNOVA_ALGORITHM_SEITENZAHL2013_AUTOMATIC = 2', 'TYPE_IA_SUPERNOVA_ALGORITHM_LIVNE_ARNETT_1995 = 3'] | **Parameter**: max_HeWD_mass | **Description**: The maximum mass a HeWD can have before it ignites helium (0.7). @@ -1546,9 +1503,31 @@ Section: binary | **Default value**: 0.7 | **Parameter**: merger_mass_loss_fraction -| **Description**: Fraction of the total mass which is lost when stars merge. +| **Description**: Fraction of the total mass which is lost when stars merge. Note: if merger_mass_loss_fraction_by_stellar_type_<n> is set, where <n> is the stellar type, it is used in place of the value of merger_mass_loss_fraction. Can be a positive number, zero, or an algorithm from: MERGER_MASS_LOSS_FRACTION_GLEBBEEK_2013. | **Parameter input type**: Float +| **Default value**: 0.1 +| **Macros**: ['MERGER_MASS_LOSS_FRACTION_NONE = 0', 'MERGER_MASS_LOSS_FRACTION_GLEBBEEK2013 = -1', 'MERGER_MASS_LOSS_FRACTION_UNUSED = 666666'] + +| **Parameter**: merger_mass_loss_fraction_nondegenerate +| **Description**: Equivalent to setting the merger_mass_loss_fraction_by_stellar_type for all nuclear-burning, non-degenerate stellar types (including low-mass main-sequence stars). Note: you should not combine this with attempts to set the mass loss fractions individually. +| **Parameter input type**: * +| **Default value**: NULL + +| **Parameter**: merger_mass_loss_fraction_degenerate +| **Description**: Equivalent to setting the merger_mass_loss_fraction_by_stellar_type for all (compact) degenerate (i.e. WD, NS) stellar types. Note: you should not combine this with attempts to set the mass loss fractions individually. +| **Parameter input type**: * +| **Default value**: NULL + +| **Parameter**: merger_mass_loss_fraction_by_stellar_type_%d +| **Description**: Fraction of the total mass which is lost when stars merge to stellar type <n>. +| **Parameter input type**: Float(scanf) +| **Default value**: NULL + +| **Parameter**: transient_method +| **Description**: Choose the method used to model transients. Options: TRANSIENT_METHOD_NONE, TRANSIENT_METHOD_IVANOVA2013 +| **Parameter input type**: Integer | **Default value**: 0 +| **Macros**: ['TRANSIENT_METHOD_NONE = 0', 'TRANSIENT_METHOD_IVANOVA2013 = 1', 'TRANSIENT_METHOD_VILLAR2017 = 2'] | **Parameter**: merger_angular_momentum_factor | **Description**: When two stars merge the resulting single star retains a fraction of the total system angular momentum (or the critical spin angular momentum, if it is smaller) multiplied by this factor. @@ -1586,170 +1565,195 @@ Section: binary | **Parameter input type**: True|False | **Default value**: False +| **Parameter**: qcrit_nuclear_burning +| **Description**: Set qcrit, the critical mass ratio for stable mass transfer, for all donors irrespective of donor or accretor stellar type. +| **Parameter input type**: * +| **Default value**: NULL + +| **Parameter**: qcrit_QWD +| **Description**: Set qcrit, the critical mass ratio for stable mass transfer, for all WD donors irrespective of the accretor stellar type. +| **Parameter input type**: * +| **Default value**: NULL + | **Parameter**: qcrit_LMMS | **Description**: Apply critical q=Mdonor/Maccretor value for low-mass main sequence stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 0.6944 -| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2021 = -8', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2021 = -8'] +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_MS | **Description**: Apply critical q=Mdonor/Maccretor value for (non-low mass) main sequence stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 1.6 -| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2021 = -8', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2021 = -8'] +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_HG | **Description**: Apply critical q=Mdonor/Maccretor value for Hertzsprung gap stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 4 -| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2021 = -8', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2021 = -8'] +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_GB | **Description**: Apply critical q=Mdonor/Maccretor value for first red giant branch stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: -1 -| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2021 = -8', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2021 = -8'] +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_CHeB | **Description**: Apply critical q=Mdonor/Maccretor value for core helium burning stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 3 -| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2021 = -8', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2021 = -8'] +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_EAGB | **Description**: Apply critical q=Mdonor/Maccretor value for early-AGB stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: -1 -| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2021 = -8', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2021 = -8'] +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_TPAGB | **Description**: Apply critical q=Mdonor/Maccretor value for TP-AGB stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: -1 -| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2021 = -8', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2021 = -8'] +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_HeMS | **Description**: Apply critical q=Mdonor/Maccretor value for helium main sequence stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 3 -| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2021 = -8', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2021 = -8'] +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_HeHG | **Description**: Apply critical q=Mdonor/Maccretor value for helium Hertzsprung gap stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 4 -| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2021 = -8', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2021 = -8'] +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_HeGB | **Description**: Apply critical q=Mdonor/Maccretor value for helium red giant stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 0.78125 -| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2021 = -8', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2021 = -8'] +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_HeWD | **Description**: Apply critical q=Mdonor/Maccretor value for helium white dwarf stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 3 -| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2021 = -8', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2021 = -8'] +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_COWD | **Description**: Apply critical q=Mdonor/Maccretor value for carbon-oxygen white dwarf stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 3 -| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2021 = -8', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2021 = -8'] +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_ONeWD | **Description**: Apply critical q=Mdonor/Maccretor value for oxygen-neon white dwarf stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 3 -| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2021 = -8', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2021 = -8'] +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_NS | **Description**: Apply critical q=Mdonor/Maccretor value for neutron stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 3 -| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2021 = -8', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2021 = -8'] +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_BH | **Description**: Apply critical q=Mdonor/Maccretor value for black holes to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 3 -| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2021 = -8', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2021 = -8'] +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_degenerate_LMMS | **Description**: Apply critical q=Mdonor/Maccretor value for (low mass) main sequence stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 1 +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_degenerate_MS | **Description**: Apply critical q=Mdonor/Maccretor value for (non-low mass) main sequence stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 1 +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_degenerate_HG | **Description**: Apply critical q=Mdonor/Maccretor value for Hertzsprung gap stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 4.7619 +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_degenerate_GB | **Description**: Apply critical q=Mdonor/Maccretor value for first red giant branch stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 1.15 +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_degenerate_CHeB | **Description**: Apply critical q=Mdonor/Maccretor value for core helium burning stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 3 +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_degenerate_EAGB | **Description**: Apply critical q=Mdonor/Maccretor value for early-AGB stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 1.15 +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_degenerate_TPAGB | **Description**: Apply critical q=Mdonor/Maccretor value for TP-AGB stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 1.15 +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_degenerate_HeMS | **Description**: Apply critical q=Mdonor/Maccretor value for helium main sequence stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 3 +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_degenerate_HeHG | **Description**: Apply critical q=Mdonor/Maccretor value for helium Hertzsprung gap stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 4.7619 +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_degenerate_HeGB | **Description**: Apply critical q=Mdonor/Maccretor value for helium red giant stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 1.15 +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_degenerate_HeWD | **Description**: Apply critical q=Mdonor/Maccretor value for helium white dwarf stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 0.625 +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_degenerate_COWD | **Description**: Apply critical q=Mdonor/Maccretor value for carbon-oxygen white dwarf stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 0.625 +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_degenerate_ONeWD | **Description**: Apply critical q=Mdonor/Maccretor value for oxygen-neon white dwarf stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 0.625 +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_degenerate_NS | **Description**: Apply critical q=Mdonor/Maccretor value for neutron stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 0.625 +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_degenerate_BH | **Description**: Apply critical q=Mdonor/Maccretor value for black holes to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 0.625 +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: mass_for_Hestar_Ia_upper | **Description**: Only helium stars below this mass can explode as SNIa. Default is zero, i.e. it never happens. See also mass_for_Hestar_Ia_lower. @@ -1775,13 +1779,13 @@ Section: binary | **Description**: Use this to choose which common envelope prescription you should use. 0=Hurley et al 2002 (based on the PaczyÅ„ski energy model) or 1=Nelemans and Tout (angular momentum model). See also alpha_ce, comenv_ms_accretion_mass, comenv_ms_accretion_fraction, comenv_ns_accretion_fraction, comenv_ns_accretion_mass, nelemans_gamma, nelemans_minq, nelemans_max_frac_j_change, nelemans_n_comenvs, lambda_ce, lambda_ionisation. | **Parameter input type**: Integer | **Default value**: 0 -| **Macros**: ['COMENV_UNDEF = -1', 'COMENV_BSE = 0', 'COMENV_NELEMANS_TOUT = 1', 'COMENV_NANDEZ2016 = 2'] +| **Macros**: ['COMENV_UNDEF = -1', 'COMENV_BSE = 0', 'COMENV_NELEMANS_TOUT = 1', 'COMENV_NANDEZ2016 = 2', 'COMENV_GE2022 = 3'] | **Parameter**: comenv_prescription%d | **Description**: Use this to choose which common envelope prescription you should use. 0=Hurley et al 2002 (based on the PaczyÅ„ski energy model) or 1=Nelemans and Tout (angular momentum model). See also alpha_ce, comenv_ms_accretion_mass, comenv_ms_accretion_fraction, comenv_ns_accretion_fraction, comenv_ns_accretion_mass, nelemans_gamma, nelemans_minq, nelemans_max_frac_j_change, nelemans_n_comenvs, lambda_ce, lambda_ionisation. | **Parameter input type**: Int(scanf) | **Default value**: NULL -| **Macros**: ['COMENV_UNDEF = -1', 'COMENV_BSE = 0', 'COMENV_NELEMANS_TOUT = 1', 'COMENV_NANDEZ2016 = 2'] +| **Macros**: ['COMENV_UNDEF = -1', 'COMENV_BSE = 0', 'COMENV_NELEMANS_TOUT = 1', 'COMENV_NANDEZ2016 = 2', 'COMENV_GE2022 = 3'] | **Parameter**: comenv_ejection_spin_method | **Description**: When a common envelope is ejected, we need to decide how fast the stars are left spinning. COMENV_EJECTION_SPIN_METHOD_DO_NOTHING (0) is the default, this just leaves the stars/stellar cores spinning with the same spin rate (omega = angular velocity) with which they entered the common envelope phase. COMENV_EJECTION_SPIN_METHOD_SYCHRONIZE instead tidally synchronizes the stars with their new orbital angular velocity. @@ -1851,6 +1855,11 @@ Section: binary | **Parameter input type**: Float | **Default value**: 1e-05 +| **Parameter**: dedmRLOF +| **Description**: de/dM during RLOF (defualt 0.0) +| **Parameter input type**: Float +| **Default value**: 0 + | **Parameter**: nelemans_gamma | **Description**: Set the fraction of the orbital specific angular momentum that is used to eject the common envelope according to the Nelemans and Tout prescription. See also nelemans_minq, nelemans_max_frac_j_change, nelemans_n_comenvs. | **Parameter input type**: Float @@ -2052,6 +2061,17 @@ Section: binary | **Parameter input type**: Float | **Default value**: NULL +| **Parameter**: unstable_RLOF_can_trigger_SNIa +| **Description**: If true, allow unstable (dynamical) RLOF to trigger a sub-MCh SNIa. (False) +| **Parameter input type**: True|False +| **Default value**: False + +| **Parameter**: triggered_SNIa_algorithm +| **Description**: Algorithm to use for triggered SNeIa +| **Parameter input type**: Integer +| **Default value**: 0 +| **Macros**: ['TYPE_IA_SUPERNOVA_ALGORITHM_DD2 = 0', 'TYPE_IA_SUPERNOVA_ALGORITHM_SEITENZAHL2013 = 1', 'TYPE_IA_SUPERNOVA_ALGORITHM_SEITENZAHL2013_AUTOMATIC = 2', 'TYPE_IA_SUPERNOVA_ALGORITHM_LIVNE_ARNETT_1995 = 3'] + | **Parameter**: minimum_separation_for_instant_RLOF | **Description**: If True, instead of evolving the system just report the minimum separation (on the zero-age main sequence) that would lead to instant RLOF. Used by binary_grid. See also minimum_orbital_period_for_instant_RLOF and maximum_mass_ratio_for_instant_RLOF. | **Parameter input type**: True|False @@ -2079,8 +2099,18 @@ Section: binary | **Default value**: 0 | **Macros**: ['RLOF_INTERPOLATION_BINARY_C = 0', 'RLOF_INTERPOLATION_BSE = 1'] -| **Parameter**: nova_retention_fraction -| **Description**: The mass accreted during a nova as fraction of mass transferred +| **Parameter**: He_nova_ELDs +| **Description**: Enable edge-lit detonations from WDs that have He novae. (Default: False, i.e. off.) +| **Parameter input type**: True|False +| **Default value**: False + +| **Parameter**: nova_retention_fraction_H +| **Description**: The mass accreted during a hydrogen nova as fraction of mass transferred. +| **Parameter input type**: Float +| **Default value**: 0.001 + +| **Parameter**: nova_retention_fraction_He +| **Description**: The mass accreted during a helium nova as fraction of mass transferred. | **Parameter input type**: Float | **Default value**: 0.001 @@ -2090,41 +2120,46 @@ Section: binary | **Default value**: 0 | **Macros**: ['BETA_REVERSE_NOVAE_GEOMETRY = -1'] +| **Parameter**: WD_accretion_rate_algorithms +| **Description**: Wrapper to set all WD accretion rates in one go (see WD_accretion_rate_*). +| **Parameter input type**: * +| **Default value**: NULL + | **Parameter**: WD_accretion_rate_novae_upper_limit_hydrogen_donor | **Description**: Upper limit of the stable mass transfer rate onto a white dwarf that leads to novae when the donor is hydrogen rich: above this rate the mass transfer leads to stable burning. | **Parameter input type**: Float | **Default value**: -1 -| **Macros**: ['DONOR_RATE_ALGORITHM_CLAEYS2014 = -1', 'DONOR_RATE_ALGORITHM_BSE = -2'] +| **Macros**: ['DONOR_RATE_ALGORITHM_CLAEYS2014 = -1', 'DONOR_RATE_ALGORITHM_BSE = -2', 'DONOR_RATE_ALGORITHM_K2014_P2014 = -3', 'DONOR_RATE_ALGORITHM_WANGWU = -4'] | **Parameter**: WD_accretion_rate_novae_upper_limit_helium_donor | **Description**: Upper limit of the stable mass transfer rate onto a white dwarf that leads to novae when the donor is helium rich: above this rate the mass transfer leads to stable burning. | **Parameter input type**: Float | **Default value**: -1 -| **Macros**: ['DONOR_RATE_ALGORITHM_CLAEYS2014 = -1', 'DONOR_RATE_ALGORITHM_BSE = -2'] +| **Macros**: ['DONOR_RATE_ALGORITHM_CLAEYS2014 = -1', 'DONOR_RATE_ALGORITHM_BSE = -2', 'DONOR_RATE_ALGORITHM_K2014_P2014 = -3', 'DONOR_RATE_ALGORITHM_WANGWU = -4'] | **Parameter**: WD_accretion_rate_novae_upper_limit_other_donor | **Description**: Upper limit of the stable mass transfer rate onto a white dwarf that leads to novae when the donor is neither hydrogen nor helium rich: above this rate the mass transfer leads to stable burning. | **Parameter input type**: Float | **Default value**: -1 -| **Macros**: ['DONOR_RATE_ALGORITHM_CLAEYS2014 = -1', 'DONOR_RATE_ALGORITHM_BSE = -2'] +| **Macros**: ['DONOR_RATE_ALGORITHM_CLAEYS2014 = -1', 'DONOR_RATE_ALGORITHM_BSE = -2', 'DONOR_RATE_ALGORITHM_K2014_P2014 = -3', 'DONOR_RATE_ALGORITHM_WANGWU = -4'] | **Parameter**: WD_accretion_rate_new_giant_envelope_lower_limit_hydrogen_donor | **Description**: Lower limit of the mass transfer rate onto a white dwarf that leads to a the formation of a new giant envelope with a hydrogen-rich donor. Below this mass transfer leads to stable burning. | **Parameter input type**: Float | **Default value**: -1 -| **Macros**: ['DONOR_RATE_ALGORITHM_CLAEYS2014 = -1', 'DONOR_RATE_ALGORITHM_BSE = -2'] +| **Macros**: ['DONOR_RATE_ALGORITHM_CLAEYS2014 = -1', 'DONOR_RATE_ALGORITHM_BSE = -2', 'DONOR_RATE_ALGORITHM_K2014_P2014 = -3', 'DONOR_RATE_ALGORITHM_WANGWU = -4'] | **Parameter**: WD_accretion_rate_new_giant_envelope_lower_limit_helium_donor | **Description**: Lower limit of the mass transfer rate onto a white dwarf that leads to a the formation of a new giant envelope with a helium-rich donor. Below this mass transfer leads to stable burning. | **Parameter input type**: Float | **Default value**: -1 -| **Macros**: ['DONOR_RATE_ALGORITHM_CLAEYS2014 = -1', 'DONOR_RATE_ALGORITHM_BSE = -2'] +| **Macros**: ['DONOR_RATE_ALGORITHM_CLAEYS2014 = -1', 'DONOR_RATE_ALGORITHM_BSE = -2', 'DONOR_RATE_ALGORITHM_K2014_P2014 = -3', 'DONOR_RATE_ALGORITHM_WANGWU = -4'] | **Parameter**: WD_accretion_rate_new_giant_envelope_lower_limit_other_donor | **Description**: Lower limit of the mass transfer rate onto a white dwarf that leads to a the formation of a new giant envelope when the donor is neither hydrogen nor helium rich. Below this mass transfer leads to stable burning. | **Parameter input type**: Float | **Default value**: -1 -| **Macros**: ['DONOR_RATE_ALGORITHM_CLAEYS2014 = -1', 'DONOR_RATE_ALGORITHM_BSE = -2'] +| **Macros**: ['DONOR_RATE_ALGORITHM_CLAEYS2014 = -1', 'DONOR_RATE_ALGORITHM_BSE = -2', 'DONOR_RATE_ALGORITHM_K2014_P2014 = -3', 'DONOR_RATE_ALGORITHM_WANGWU = -4'] | **Parameter**: CRAP_parameter | **Description**: Tidally enhanced mass loss parameter. See Tout and Eggleton's paper on the subject. (Was the parameter bb). @@ -2151,6 +2186,21 @@ Section: binary | **Parameter input type**: Float | **Default value**: -1 +| **Parameter**: eccentric_RLOF_model +| **Description**: Chooses which model is used to handle eccentric RLOF. Default is RLOF_ECCENTRIC_AS_CIRCULAR, i.e. ignore the eccentricity. Note: requires force_corotation_of_primary_and_orbit to be FALSE. +| **Parameter input type**: Integer +| **Default value**: 0 + +| **Parameter**: force_circularization_on_RLOF +| **Description**: If True forces circularization of stars and orbit when RLOF starts, this is as in the BSE algorithm. (True) +| **Parameter input type**: True|False +| **Default value**: True + +| **Parameter**: resolve_stellar_type_changes +| **Description**: If True forces binary_c to resolve stellar type changes to within the minimum timestep. Warning: can be slow. (True) +| **Parameter input type**: True|False +| **Default value**: False + | **Parameter**: nonconservative_angmom_gamma | **Description**: Mass lost from the system (but NOT from a stellar wind) takes a fraction gamma of the orbital angular momentum with it. Set to -1 to take the specific angular momentum of the donor star. Set to -2 to take super-Eddington, nova and disk-wind angular momenta as if a wind from the accretor. | **Parameter input type**: Float @@ -2179,7 +2229,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 @@ -2200,19 +2250,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 @@ -2236,37 +2288,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). @@ -2386,46 +2439,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**: -1 -| **Extra**: Ignore - -| **Parameter**: david_tzo_logging -| **Description**: Flag to enable logging for TZO project -| **Parameter input type**: Integer -| **Default value**: 0 -| **Extra**: Ignore - -| **Parameter**: david_ppisn_logging -| **Description**: Flag to enable logging for PPISN project -| **Parameter input type**: Integer -| **Default value**: 0 -| **Extra**: Ignore - -| **Parameter**: david_ppisn_single_logging -| **Description**: Flag to enable logging for PPISN project capturing single star systems that underwent SN -| **Parameter input type**: Integer -| **Default value**: 0 -| **Extra**: Ignore - -| **Parameter**: david_rlof_episode_logging -| **Description**: Flag to enable the RLOF episode logging -| **Parameter input type**: Integer -| **Default value**: 0 -| **Extra**: Ignore - -| **Parameter**: david_rlof_ensemble_logging -| **Description**: Flag to enable the RLOF ensemble logging -| **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) @@ -2465,7 +2482,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. @@ -2505,27 +2522,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. @@ -2563,12 +2580,24 @@ Section: output | **Default value**: False | **Extra**: +| **Parameter**: log_legacy_stellar_types +| **Description**: If set to True, we output the stellar types in the log as numbers rather than (more human-readable) letters. +| **Parameter input type**: True|False +| **Default value**: False +| **Extra**: + | **Parameter**: log_filename | **Description**: Location of the output logging filename. If set to "/dev/null" then there is no logging. | **Parameter input type**: String | **Default value**: /tmp/c_log.dat | **Extra**: +| **Parameter**: log_separator +| **Description**: Separator used in the standard log. By default this is an empty string. +| **Parameter input type**: String +| **Default value**: +| **Extra**: + | **Parameter**: log_arrows | **Description**: Add arrows to the output log to show whether values are increasing or decreasing. | **Parameter input type**: True|False @@ -2610,16 +2639,6 @@ Section: output | **Default value**: 2 | **Macros**: ['INTERNAL_BUFFERING_OFF = 0', 'INTERNAL_BUFFERING_PRINT = 1', 'INTERNAL_BUFFERING_STORE = 2'] -| **Parameter**: eccentric_RLOF_model -| **Description**: Chooses which model is used to handle eccentric RLOF. Default is RLOF_ECCENTRIC_AS_CIRCULAR, i.e. ignore the eccentricity. Note: requires force_corotation_of_primary_and_orbit to be FALSE. -| **Parameter input type**: Integer -| **Default value**: 0 - -| **Parameter**: force_circularization_on_RLOF -| **Description**: If True forces circularization of stars and orbit when RLOF starts, this is as in the BSE algorithm. (True) -| **Parameter input type**: True|False -| **Default value**: True - | **Parameter**: wtts_log | **Description**: If True, enables log file output for WTTS2. | **Parameter input type**: True|False @@ -2667,99 +2686,99 @@ Section: input | **Parameter**: MINT_dir | **Description**: Location of MINT algorithm data. | **Parameter input type**: String -| **Default value**: +| **Default value**: NULL | **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**: False +| **Default value**: NULL | **Extra**: | **Parameter**: MINT_MS_rejuvenation | **Description**: Turn on or off (hydrogen) main-sequence rejuvenation. | **Parameter input type**: True|False -| **Default value**: True +| **Default value**: NULL | **Extra**: | **Parameter**: MINT_remesh | **Description**: Turn on or off MINT's remeshing. | **Parameter input type**: True|False -| **Default value**: True +| **Default value**: NULL | **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**: True +| **Default value**: NULL | **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**: False +| **Default value**: NULL | **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**: False +| **Default value**: NULL | **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**: 0 +| **Default value**: NULL | **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**: 200 +| **Default value**: NULL | **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**: 1000 +| **Default value**: NULL | **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**: 10 +| **Default value**: NULL | **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**: -1 +| **Default value**: NULL | **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**: -1 +| **Default value**: NULL | **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**: False +| **Default value**: NULL | **Extra**: | **Parameter**: MINT_minimum_shell_mass | **Description**: Minimum shell mass in MINT's nuclear burning routines. | **Parameter input type**: Float -| **Default value**: 1e-06 +| **Default value**: NULL | **Extra**: | **Parameter**: MINT_maximum_shell_mass | **Description**: Maximum shell mass in MINT's nuclear burning routines. : | **Parameter input type**: Float -| **Default value**: 0.1 +| **Default value**: NULL | **Extra**: Section: i/o @@ -2889,3 +2908,15 @@ Section: misc | **Default value**: NULL | **Extra**: Ignore +| **Parameter**: bjorn +| **Description**: Usage: --bjorn ... shows an ASCII-art picture of Björn (requires jp2a to be installed). +| **Parameter input type**: * +| **Default value**: NULL +| **Extra**: 0 + +| **Parameter**: logo +| **Description**: Usage: --logo ... shows an ASCII-art picture of the binary_c logo (requires jp2a to be installed). +| **Parameter input type**: * +| **Default value**: NULL +| **Extra**: 0 + diff --git a/docs/build/html/_sources/examples/notebook_BHBH.ipynb.txt b/docs/build/html/_sources/examples/notebook_BHBH.ipynb.txt index c3fa9b934..d639f4bd6 100644 --- a/docs/build/html/_sources/examples/notebook_BHBH.ipynb.txt +++ b/docs/build/html/_sources/examples/notebook_BHBH.ipynb.txt @@ -649,11 +649,20 @@ "Playing around with the input for an individual system gives us some understanding of which parameters affect the formation of black hole systems, but, as mentioned in the introduction, this is nto the most appropriate way to find many such systems. We want to make use of the Population utilities, and set up custom logging and a parse function.\n", "\n", "Things to try next:\n", + "\n", "* Set up a population object with a grid in M1, q and orbital period (10 x 10 x 10)\n", "* Set up a custom logging function to catch BHBH systems, and include the ZAMS properties in the output.\n", "* Set up a parse function to process the output, try writing the output to a file.\n", "* Run this population at several different metallicities. Do you see a trend?" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c8b4d134-1b41-49cc-a122-2aee89818248", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/docs/build/html/_sources/grid_options_descriptions.rst.txt b/docs/build/html/_sources/grid_options_descriptions.rst.txt index 7d765d8cf..f35b933fe 100644 --- a/docs/build/html/_sources/grid_options_descriptions.rst.txt +++ b/docs/build/html/_sources/grid_options_descriptions.rst.txt @@ -1,7 +1,7 @@ Population grid code options ============================ The following chapter contains all grid code options, along with their descriptions -There are 29 options that are not described yet. +There are 31 options that are not described yet. Public options @@ -121,6 +121,10 @@ The following options are meant to be changed by the user. | **log_dt**: Time between verbose logging output. +| **log_failed_systems**: No description available yet + +| **log_failed_systems_dir**: No description available yet + | **log_file**: Log file for the population object. Unused | **log_newline**: Newline character used at the end of verbose logging statements. This is \n (newline) by default, but \x0d (carriage return) might also be what you want. diff --git a/docs/build/html/binary_c_parameters.html b/docs/build/html/binary_c_parameters.html index e67ed4e6b..22db32363 100644 --- a/docs/build/html/binary_c_parameters.html +++ b/docs/build/html/binary_c_parameters.html @@ -112,7 +112,7 @@ <h1>Binary_c parameters<a class="headerlink" href="#binary-c-parameters" title="Permalink to this heading">ïƒ</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>: 6118:20220617:8463fa650 <strong>Built on</strong>: Jun 17 2022 23:20:34</p> +<dt>This information was obtained by the following binary_c build:</dt><dd><p><strong>binary_c git branch</strong>: clean_master <strong>binary_c git revision</strong>: 6302:20220825:04c096f7a <strong>Built on</strong>: Aug 25 2022 11:34:43</p> </dd> </dl> <section id="section-stars"> @@ -403,12 +403,6 @@ <div class="line"><strong>Default value</strong>: False</div> </div> <div class="line-block"> -<div class="line"><strong>Parameter</strong>: custom_timeout_time</div> -<div class="line"><strong>Description</strong>: Custom timeout time. Requires compilation with DAVID_CUSTOM_TIMEOUT</div> -<div class="line"><strong>Parameter input type</strong>: Float</div> -<div class="line"><strong>Default value</strong>: 100</div> -</div> -<div class="line-block"> <div class="line"><strong>Parameter</strong>: evolution_splitting</div> <div class="line"><strong>Description</strong>: If True, turn on splitting of an evolutionary run if splitpoint (e.g. supernova) occurs.</div> <div class="line"><strong>Parameter input type</strong>: True|False</div> @@ -454,10 +448,10 @@ </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: wind_mass_loss</div> -<div class="line"><strong>Description</strong>: Defines the algorithm used for stellar winds. 0 = none, 1 = Hurley et al. (2002), 2 = Schneider (2018), 3 = Schneider + Sander and Wink (2020) for helium stars, 4 = Schneider + Hurley for LBV mass loss</div> +<div class="line"><strong>Description</strong>: Defines the algorithm used for stellar winds. 0 = none, 1 = Hurley et al. (2002), 2 = Schneider (2018).</div> <div class="line"><strong>Parameter input type</strong>: Unsigned integer</div> <div class="line"><strong>Default value</strong>: 3</div> -<div class="line"><strong>Macros</strong>: [‘WIND_ALGORITHM_NONE = 0’, ‘WIND_ALGORITHM_HURLEY2002 = 1’, ‘WIND_ALGORITHM_SCHNEIDER2018 = 2’, ‘WIND_ALGORITHM_BINARY_C_2020 = 3’, ‘WIND_ALGORITHM_HENDRIKS_2022 = 4’]</div> +<div class="line"><strong>Macros</strong>: [‘WIND_ALGORITHM_NONE = 0’, ‘WIND_ALGORITHM_HURLEY2002 = 1’, ‘WIND_ALGORITHM_SCHNEIDER2018 = 2’, ‘WIND_ALGORITHM_BINARY_C_2020 = 3’, ‘WIND_ALGORITHM_BINARY_C_2022 = 4’]</div> <div class="line"><strong>Extra</strong>: 0</div> </div> <div class="line-block"> @@ -674,42 +668,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>: PPISN_core_mass_range_shift</div> -<div class="line"><strong>Description</strong>: (Pulsational) Pair-Instability Supernova CO core mass range shift: Value by which we shift the range of CO core mass values that undergo PPISN. This is taken into account in the fit that calculates the mass removal. Negative number is shifting the range to lower masses, positive to higher masses.</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>: PPISN_massloss_multiplier</div> -<div class="line"><strong>Description</strong>: (Pulsational) Pair-Instability Supernova CO massloss multiplier: Value by which the (P)PISN massloss is multiplied. Currently only works with the new prescription. THe additional mass loss is not affected multiplied by this.</div> -<div class="line"><strong>Parameter input type</strong>: Float</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>: 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> @@ -741,7 +699,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"> @@ -787,27 +745,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>: 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_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> @@ -835,7 +772,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> @@ -874,24 +811,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>: 0</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> @@ -1032,27 +951,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> @@ -1124,25 +1022,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> @@ -1154,13 +1052,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> @@ -1186,7 +1084,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> @@ -1266,13 +1164,27 @@ <div class="line"><strong>Description</strong>: Algorithm used to calculate the amount of mass retained during a nova explosion. 0=use nova_retention_fraction. (other methods pending)</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>: [‘NOVA_RETENTION_ALGORITHM_CONSTANT = 0’, ‘NOVA_RETENTION_ALGORITHM_CLAEYS2014 = 1’, ‘NOVA_RETENTION_ALGORITHM_HILLMAN2015 = 2’]</div> +<div class="line"><strong>Macros</strong>: [‘NOVA_RETENTION_ALGORITHM_CONSTANT = 0’, ‘NOVA_RETENTION_ALGORITHM_CLAEYS2014 = 1’, ‘NOVA_RETENTION_ALGORITHM_HILLMAN2015 = 2’, ‘NOVA_RETENTION_ALGORITHM_WANGWU = 3’]</div> +</div> +<div class="line-block"> +<div class="line"><strong>Parameter</strong>: nova_yield_CO_algorithm</div> +<div class="line"><strong>Description</strong>: Algorithm used to calculate the yields of COWD novae. Current options: NOVA_YIELD_CO_ALGOTHIM_JOSE_HERNANZ_1998 (0).</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>: [‘NOVA_YIELD_CO_ALGORITHM_JOSE_HERNANZ_1998 = 0’]</div> +</div> +<div class="line-block"> +<div class="line"><strong>Parameter</strong>: nova_yield_ONe_algorithm</div> +<div class="line"><strong>Description</strong>: Algorithm used to calculate the yields of ONeWD novae. Current options: NOVA_YIELD_ONe_ALGOTHIM_JOSE_HERNANZ_1998 (0), NOVA_YIELD_ONe_ALGORITHM_JOSE2022 (1).</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>: [‘NOVA_YIELD_ONe_ALGORITHM_JOSE_HERNANZ_1998 = 0’, ‘NOVA_YIELD_ONe_ALGORITHM_JOSE_2022 = 1’]</div> </div> <div class="line-block"> <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>: -1</div> +<div class="line"><strong>Default value</strong>: NULL</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: gaia_Teff_binwidth</div> @@ -1304,28 +1216,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"> @@ -1493,6 +1405,18 @@ <div class="line"><strong>Default value</strong>: False</div> </div> <div class="line-block"> +<div class="line"><strong>Parameter</strong>: adjust_structure_from_mass_changes</div> +<div class="line"><strong>Description</strong>: If True, adjust L and R based on changes in M on the previous thermal timescale. (Currently experimental hence defaults to FALSE)</div> +<div class="line"><strong>Parameter input type</strong>: True|False</div> +<div class="line"><strong>Default value</strong>: NULL</div> +</div> +<div class="line-block"> +<div class="line"><strong>Parameter</strong>: save_mass_history_n_thermal</div> +<div class="line"><strong>Description</strong>: Number of thermal timesteps of mass change history to be saved (4).</div> +<div class="line"><strong>Parameter input type</strong>: Float</div> +<div class="line"><strong>Default value</strong>: NULL</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> @@ -1508,7 +1432,7 @@ <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>: NULL</div> +<div class="line"><strong>Default value</strong>: 0</div> </div> </section> <section id="section-binary"> @@ -1911,26 +1835,52 @@ <div class="line"><strong>Description</strong>: Algorithm to be used when merging two white dwarfs. 0 = Hurley et al. (2002), 1 = Perets+ (2019), 2 = Chen+ (2016, todo)</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>: [‘WDWD_MERGER_ALGORITHM_BSE = 0’, ‘WDWD_MERGER_ALGORITHM_PERETS2019 = 1’, ‘WDWD_MERGER_ALGORITHM_CHEN2016 = 2’]</div> +<div class="line"><strong>Macros</strong>: [‘WDWD_MERGER_ALGORITHM_BSE = 0’, ‘WDWD_MERGER_ALGORITHM_PERETS2019 = 1’, ‘WDWD_MERGER_ALGORITHM_CHEN2016 = 2’, ‘WDWD_MERGER_ALGORITHM_SATO2016 = 3’, ‘WDWD_MERGER_ALGORITHM_HYBRID_PERETS2019_SATO2016 = 4’, ‘WDWD_MERGER_ALGORITHM_RUITER2013 = 5’]</div> +</div> +<div class="line-block"> +<div class="line"><strong>Parameter</strong>: eta_violent_WDWD_merger</div> +<div class="line"><strong>Description</strong>: energy factor used to calculate q_crit for WDWD mergers that are “violentâ€. Default = 0.75 (Ruiter 2013).</div> +<div class="line"><strong>Parameter input type</strong>: Float</div> +<div class="line"><strong>Default value</strong>: 0.75</div> +</div> +<div class="line-block"> +<div class="line"><strong>Parameter</strong>: COWD_COWD_explode_above_mass</div> +<div class="line"><strong>Description</strong>: COWD-COWD mergers above this mass trigger a SNIa.</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>: HeWD_COWD_explode_above_mass</div> +<div class="line"><strong>Description</strong>: HeWD-COWD mergers above this mass trigger a SNIa.</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>: COWD_to_ONeWD_accretion_rate</div> +<div class="line"><strong>Description</strong>: Accretion rate above which COWDs are converted to ONeWDs, in Msun/yr. A typical value is 2.05e-6 (Wang et al. 2017). Ignored if 0 (default 0).</div> +<div class="line"><strong>Parameter input type</strong>: Float</div> +<div class="line"><strong>Default value</strong>: 2.05e-06</div> </div> <div class="line-block"> <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_SUPERNOVA_ALGORITHM_DD2 = 0’, ‘TYPE_IA_SUPERNOVA_ALGORITHM_SEITENZAHL2013 = 1’, ‘TYPE_IA_SUPERNOVA_ALGORITHM_SEITENZAHL2013_AUTOMATIC = 2’, ‘TYPE_IA_SUPERNOVA_ALGORITHM_LIVNE_ARNETT_1995 = 3’]</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_SUPERNOVA_ALGORITHM_DD2 = 0’, ‘TYPE_IA_SUPERNOVA_ALGORITHM_SEITENZAHL2013 = 1’, ‘TYPE_IA_SUPERNOVA_ALGORITHM_SEITENZAHL2013_AUTOMATIC = 2’, ‘TYPE_IA_SUPERNOVA_ALGORITHM_LIVNE_ARNETT_1995 = 3’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: max_HeWD_mass</div> @@ -1940,9 +1890,35 @@ </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: merger_mass_loss_fraction</div> -<div class="line"><strong>Description</strong>: Fraction of the total mass which is lost when stars merge.</div> +<div class="line"><strong>Description</strong>: Fraction of the total mass which is lost when stars merge. Note: if merger_mass_loss_fraction_by_stellar_type_<n> is set, where <n> is the stellar type, it is used in place of the value of merger_mass_loss_fraction. Can be a positive number, zero, or an algorithm from: MERGER_MASS_LOSS_FRACTION_GLEBBEEK_2013.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> +<div class="line"><strong>Default value</strong>: 0.1</div> +<div class="line"><strong>Macros</strong>: [‘MERGER_MASS_LOSS_FRACTION_NONE = 0’, ‘MERGER_MASS_LOSS_FRACTION_GLEBBEEK2013 = -1’, ‘MERGER_MASS_LOSS_FRACTION_UNUSED = 666666’]</div> +</div> +<div class="line-block"> +<div class="line"><strong>Parameter</strong>: merger_mass_loss_fraction_nondegenerate</div> +<div class="line"><strong>Description</strong>: Equivalent to setting the merger_mass_loss_fraction_by_stellar_type for all nuclear-burning, non-degenerate stellar types (including low-mass main-sequence stars). Note: you should not combine this with attempts to set the mass loss fractions individually.</div> +<div class="line"><strong>Parameter input type</strong>: *</div> +<div class="line"><strong>Default value</strong>: NULL</div> +</div> +<div class="line-block"> +<div class="line"><strong>Parameter</strong>: merger_mass_loss_fraction_degenerate</div> +<div class="line"><strong>Description</strong>: Equivalent to setting the merger_mass_loss_fraction_by_stellar_type for all (compact) degenerate (i.e. WD, NS) stellar types. Note: you should not combine this with attempts to set the mass loss fractions individually.</div> +<div class="line"><strong>Parameter input type</strong>: *</div> +<div class="line"><strong>Default value</strong>: NULL</div> +</div> +<div class="line-block"> +<div class="line"><strong>Parameter</strong>: merger_mass_loss_fraction_by_stellar_type_%d</div> +<div class="line"><strong>Description</strong>: Fraction of the total mass which is lost when stars merge to stellar type <n>.</div> +<div class="line"><strong>Parameter input type</strong>: Float(scanf)</div> +<div class="line"><strong>Default value</strong>: NULL</div> +</div> +<div class="line-block"> +<div class="line"><strong>Parameter</strong>: transient_method</div> +<div class="line"><strong>Description</strong>: Choose the method used to model transients. Options: TRANSIENT_METHOD_NONE, TRANSIENT_METHOD_IVANOVA2013</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>: [‘TRANSIENT_METHOD_NONE = 0’, ‘TRANSIENT_METHOD_IVANOVA2013 = 1’, ‘TRANSIENT_METHOD_VILLAR2017 = 2’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: merger_angular_momentum_factor</div> @@ -1988,199 +1964,226 @@ <div class="line"><strong>Default value</strong>: False</div> </div> <div class="line-block"> +<div class="line"><strong>Parameter</strong>: qcrit_nuclear_burning</div> +<div class="line"><strong>Description</strong>: Set qcrit, the critical mass ratio for stable mass transfer, for all donors irrespective of donor or accretor stellar type.</div> +<div class="line"><strong>Parameter input type</strong>: *</div> +<div class="line"><strong>Default value</strong>: NULL</div> +</div> +<div class="line-block"> +<div class="line"><strong>Parameter</strong>: qcrit_QWD</div> +<div class="line"><strong>Description</strong>: Set qcrit, the critical mass ratio for stable mass transfer, for all WD donors irrespective of the accretor stellar type.</div> +<div class="line"><strong>Parameter input type</strong>: *</div> +<div class="line"><strong>Default value</strong>: NULL</div> +</div> +<div class="line-block"> <div class="line"><strong>Parameter</strong>: qcrit_LMMS</div> <div class="line"><strong>Description</strong>: Apply critical q=Mdonor/Maccretor value for low-mass main sequence stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: 0.6944</div> -<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2021 = -8’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2021 = -8’]</div> +<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2022 = -8’, ‘QCRIT_DEFAULT = -9’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2022 = -8’, ‘QCRIT_GB_DEFAULT = -1’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: qcrit_MS</div> <div class="line"><strong>Description</strong>: Apply critical q=Mdonor/Maccretor value for (non-low mass) main sequence stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: 1.6</div> -<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2021 = -8’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2021 = -8’]</div> +<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2022 = -8’, ‘QCRIT_DEFAULT = -9’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2022 = -8’, ‘QCRIT_GB_DEFAULT = -1’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: qcrit_HG</div> <div class="line"><strong>Description</strong>: Apply critical q=Mdonor/Maccretor value for Hertzsprung gap stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: 4</div> -<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2021 = -8’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2021 = -8’]</div> +<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2022 = -8’, ‘QCRIT_DEFAULT = -9’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2022 = -8’, ‘QCRIT_GB_DEFAULT = -1’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: qcrit_GB</div> <div class="line"><strong>Description</strong>: Apply critical q=Mdonor/Maccretor value for first red giant branch stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: -1</div> -<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2021 = -8’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2021 = -8’]</div> +<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2022 = -8’, ‘QCRIT_DEFAULT = -9’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2022 = -8’, ‘QCRIT_GB_DEFAULT = -1’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: qcrit_CHeB</div> <div class="line"><strong>Description</strong>: Apply critical q=Mdonor/Maccretor value for core helium burning stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: 3</div> -<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2021 = -8’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2021 = -8’]</div> +<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2022 = -8’, ‘QCRIT_DEFAULT = -9’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2022 = -8’, ‘QCRIT_GB_DEFAULT = -1’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: qcrit_EAGB</div> <div class="line"><strong>Description</strong>: Apply critical q=Mdonor/Maccretor value for early-AGB stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: -1</div> -<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2021 = -8’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2021 = -8’]</div> +<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2022 = -8’, ‘QCRIT_DEFAULT = -9’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2022 = -8’, ‘QCRIT_GB_DEFAULT = -1’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: qcrit_TPAGB</div> <div class="line"><strong>Description</strong>: Apply critical q=Mdonor/Maccretor value for TP-AGB stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: -1</div> -<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2021 = -8’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2021 = -8’]</div> +<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2022 = -8’, ‘QCRIT_DEFAULT = -9’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2022 = -8’, ‘QCRIT_GB_DEFAULT = -1’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: qcrit_HeMS</div> <div class="line"><strong>Description</strong>: Apply critical q=Mdonor/Maccretor value for helium main sequence stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: 3</div> -<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2021 = -8’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2021 = -8’]</div> +<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2022 = -8’, ‘QCRIT_DEFAULT = -9’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2022 = -8’, ‘QCRIT_GB_DEFAULT = -1’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: qcrit_HeHG</div> <div class="line"><strong>Description</strong>: Apply critical q=Mdonor/Maccretor value for helium Hertzsprung gap stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: 4</div> -<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2021 = -8’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2021 = -8’]</div> +<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2022 = -8’, ‘QCRIT_DEFAULT = -9’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2022 = -8’, ‘QCRIT_GB_DEFAULT = -1’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: qcrit_HeGB</div> <div class="line"><strong>Description</strong>: Apply critical q=Mdonor/Maccretor value for helium red giant stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: 0.78125</div> -<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2021 = -8’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2021 = -8’]</div> +<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2022 = -8’, ‘QCRIT_DEFAULT = -9’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2022 = -8’, ‘QCRIT_GB_DEFAULT = -1’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: qcrit_HeWD</div> <div class="line"><strong>Description</strong>: Apply critical q=Mdonor/Maccretor value for helium white dwarf stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: 3</div> -<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2021 = -8’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2021 = -8’]</div> +<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2022 = -8’, ‘QCRIT_DEFAULT = -9’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2022 = -8’, ‘QCRIT_GB_DEFAULT = -1’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: qcrit_COWD</div> <div class="line"><strong>Description</strong>: Apply critical q=Mdonor/Maccretor value for carbon-oxygen white dwarf stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: 3</div> -<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2021 = -8’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2021 = -8’]</div> +<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2022 = -8’, ‘QCRIT_DEFAULT = -9’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2022 = -8’, ‘QCRIT_GB_DEFAULT = -1’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: qcrit_ONeWD</div> <div class="line"><strong>Description</strong>: Apply critical q=Mdonor/Maccretor value for oxygen-neon white dwarf stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: 3</div> -<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2021 = -8’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2021 = -8’]</div> +<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2022 = -8’, ‘QCRIT_DEFAULT = -9’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2022 = -8’, ‘QCRIT_GB_DEFAULT = -1’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: qcrit_NS</div> <div class="line"><strong>Description</strong>: Apply critical q=Mdonor/Maccretor value for neutron stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: 3</div> -<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2021 = -8’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2021 = -8’]</div> +<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2022 = -8’, ‘QCRIT_DEFAULT = -9’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2022 = -8’, ‘QCRIT_GB_DEFAULT = -1’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: qcrit_BH</div> <div class="line"><strong>Description</strong>: Apply critical q=Mdonor/Maccretor value for black holes to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: 3</div> -<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2021 = -8’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2021 = -8’]</div> +<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2022 = -8’, ‘QCRIT_DEFAULT = -9’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2022 = -8’, ‘QCRIT_GB_DEFAULT = -1’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: qcrit_degenerate_LMMS</div> <div class="line"><strong>Description</strong>: Apply critical q=Mdonor/Maccretor value for (low mass) main sequence stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: 1</div> +<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2022 = -8’, ‘QCRIT_DEFAULT = -9’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2022 = -8’, ‘QCRIT_GB_DEFAULT = -1’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: qcrit_degenerate_MS</div> <div class="line"><strong>Description</strong>: Apply critical q=Mdonor/Maccretor value for (non-low mass) main sequence stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: 1</div> +<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2022 = -8’, ‘QCRIT_DEFAULT = -9’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2022 = -8’, ‘QCRIT_GB_DEFAULT = -1’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: qcrit_degenerate_HG</div> <div class="line"><strong>Description</strong>: Apply critical q=Mdonor/Maccretor value for Hertzsprung gap stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: 4.7619</div> +<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2022 = -8’, ‘QCRIT_DEFAULT = -9’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2022 = -8’, ‘QCRIT_GB_DEFAULT = -1’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: qcrit_degenerate_GB</div> <div class="line"><strong>Description</strong>: Apply critical q=Mdonor/Maccretor value for first red giant branch stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: 1.15</div> +<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2022 = -8’, ‘QCRIT_DEFAULT = -9’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2022 = -8’, ‘QCRIT_GB_DEFAULT = -1’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: qcrit_degenerate_CHeB</div> <div class="line"><strong>Description</strong>: Apply critical q=Mdonor/Maccretor value for core helium burning stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: 3</div> +<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2022 = -8’, ‘QCRIT_DEFAULT = -9’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2022 = -8’, ‘QCRIT_GB_DEFAULT = -1’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: qcrit_degenerate_EAGB</div> <div class="line"><strong>Description</strong>: Apply critical q=Mdonor/Maccretor value for early-AGB stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: 1.15</div> +<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2022 = -8’, ‘QCRIT_DEFAULT = -9’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2022 = -8’, ‘QCRIT_GB_DEFAULT = -1’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: qcrit_degenerate_TPAGB</div> <div class="line"><strong>Description</strong>: Apply critical q=Mdonor/Maccretor value for TP-AGB stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: 1.15</div> +<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2022 = -8’, ‘QCRIT_DEFAULT = -9’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2022 = -8’, ‘QCRIT_GB_DEFAULT = -1’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: qcrit_degenerate_HeMS</div> <div class="line"><strong>Description</strong>: Apply critical q=Mdonor/Maccretor value for helium main sequence stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: 3</div> +<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2022 = -8’, ‘QCRIT_DEFAULT = -9’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2022 = -8’, ‘QCRIT_GB_DEFAULT = -1’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: qcrit_degenerate_HeHG</div> <div class="line"><strong>Description</strong>: Apply critical q=Mdonor/Maccretor value for helium Hertzsprung gap stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: 4.7619</div> +<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2022 = -8’, ‘QCRIT_DEFAULT = -9’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2022 = -8’, ‘QCRIT_GB_DEFAULT = -1’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: qcrit_degenerate_HeGB</div> <div class="line"><strong>Description</strong>: Apply critical q=Mdonor/Maccretor value for helium red giant stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: 1.15</div> +<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2022 = -8’, ‘QCRIT_DEFAULT = -9’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2022 = -8’, ‘QCRIT_GB_DEFAULT = -1’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: qcrit_degenerate_HeWD</div> <div class="line"><strong>Description</strong>: Apply critical q=Mdonor/Maccretor value for helium white dwarf stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: 0.625</div> +<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2022 = -8’, ‘QCRIT_DEFAULT = -9’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2022 = -8’, ‘QCRIT_GB_DEFAULT = -1’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: qcrit_degenerate_COWD</div> <div class="line"><strong>Description</strong>: Apply critical q=Mdonor/Maccretor value for carbon-oxygen white dwarf stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: 0.625</div> +<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2022 = -8’, ‘QCRIT_DEFAULT = -9’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2022 = -8’, ‘QCRIT_GB_DEFAULT = -1’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: qcrit_degenerate_ONeWD</div> <div class="line"><strong>Description</strong>: Apply critical q=Mdonor/Maccretor value for oxygen-neon white dwarf stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: 0.625</div> +<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2022 = -8’, ‘QCRIT_DEFAULT = -9’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2022 = -8’, ‘QCRIT_GB_DEFAULT = -1’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: qcrit_degenerate_NS</div> <div class="line"><strong>Description</strong>: Apply critical q=Mdonor/Maccretor value for neutron stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: 0.625</div> +<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2022 = -8’, ‘QCRIT_DEFAULT = -9’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2022 = -8’, ‘QCRIT_GB_DEFAULT = -1’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: qcrit_degenerate_BH</div> <div class="line"><strong>Description</strong>: Apply critical q=Mdonor/Maccretor value for black holes to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: 0.625</div> +<div class="line"><strong>Macros</strong>: [‘QCRIT_BSE = -1’, ‘QCRIT_HJELLMING_WEBBINK = -2’, ‘QCRIT_Q_NO_COMENV = -3’, ‘QCRIT_CHEN_HAN_TABLE = -4’, ‘QCRIT_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GE2015 = -6’, ‘QCRIT_VOS2018 = -7’, ‘QCRIT_TEMMINK2022 = -8’, ‘QCRIT_DEFAULT = -9’, ‘QCRIT_GB_BSE = -1’, ‘QCRIT_GB_HJELLMING_WEBBINK = -2’, ‘QCRIT_GB_Q_NO_COMENV = -3’, ‘QCRIT_GB_CHEN_HAN_TABLE = -4’, ‘QCRIT_GB_CHEN_HAN_FORMULA = -5’, ‘QCRIT_GB_GE2015 = -6’, ‘QCRIT_GB_VOS2018 = -7’, ‘QCRIT_GB_TEMMINK2022 = -8’, ‘QCRIT_GB_DEFAULT = -1’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: mass_for_Hestar_Ia_upper</div> @@ -2211,14 +2214,14 @@ <div class="line"><strong>Description</strong>: Use this to choose which common envelope prescription you should use. 0=Hurley et al 2002 (based on the PaczyÅ„ski energy model) or 1=Nelemans and Tout (angular momentum model). See also alpha_ce, comenv_ms_accretion_mass, comenv_ms_accretion_fraction, comenv_ns_accretion_fraction, comenv_ns_accretion_mass, nelemans_gamma, nelemans_minq, nelemans_max_frac_j_change, nelemans_n_comenvs, lambda_ce, lambda_ionisation.</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>: [‘COMENV_UNDEF = -1’, ‘COMENV_BSE = 0’, ‘COMENV_NELEMANS_TOUT = 1’, ‘COMENV_NANDEZ2016 = 2’]</div> +<div class="line"><strong>Macros</strong>: [‘COMENV_UNDEF = -1’, ‘COMENV_BSE = 0’, ‘COMENV_NELEMANS_TOUT = 1’, ‘COMENV_NANDEZ2016 = 2’, ‘COMENV_GE2022 = 3’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: comenv_prescription%d</div> <div class="line"><strong>Description</strong>: Use this to choose which common envelope prescription you should use. 0=Hurley et al 2002 (based on the PaczyÅ„ski energy model) or 1=Nelemans and Tout (angular momentum model). See also alpha_ce, comenv_ms_accretion_mass, comenv_ms_accretion_fraction, comenv_ns_accretion_fraction, comenv_ns_accretion_mass, nelemans_gamma, nelemans_minq, nelemans_max_frac_j_change, nelemans_n_comenvs, lambda_ce, lambda_ionisation.</div> <div class="line"><strong>Parameter input type</strong>: Int(scanf)</div> <div class="line"><strong>Default value</strong>: NULL</div> -<div class="line"><strong>Macros</strong>: [‘COMENV_UNDEF = -1’, ‘COMENV_BSE = 0’, ‘COMENV_NELEMANS_TOUT = 1’, ‘COMENV_NANDEZ2016 = 2’]</div> +<div class="line"><strong>Macros</strong>: [‘COMENV_UNDEF = -1’, ‘COMENV_BSE = 0’, ‘COMENV_NELEMANS_TOUT = 1’, ‘COMENV_NANDEZ2016 = 2’, ‘COMENV_GE2022 = 3’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: comenv_ejection_spin_method</div> @@ -2302,6 +2305,12 @@ <div class="line"><strong>Default value</strong>: 1e-05</div> </div> <div class="line-block"> +<div class="line"><strong>Parameter</strong>: dedmRLOF</div> +<div class="line"><strong>Description</strong>: de/dM during RLOF (defualt 0.0)</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>: nelemans_gamma</div> <div class="line"><strong>Description</strong>: Set the fraction of the orbital specific angular momentum that is used to eject the common envelope according to the Nelemans and Tout prescription. See also nelemans_minq, nelemans_max_frac_j_change, nelemans_n_comenvs.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> @@ -2543,6 +2552,19 @@ <div class="line"><strong>Default value</strong>: NULL</div> </div> <div class="line-block"> +<div class="line"><strong>Parameter</strong>: unstable_RLOF_can_trigger_SNIa</div> +<div class="line"><strong>Description</strong>: If true, allow unstable (dynamical) RLOF to trigger a sub-MCh SNIa. (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>: triggered_SNIa_algorithm</div> +<div class="line"><strong>Description</strong>: Algorithm to use for triggered SNeIa</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>: [‘TYPE_IA_SUPERNOVA_ALGORITHM_DD2 = 0’, ‘TYPE_IA_SUPERNOVA_ALGORITHM_SEITENZAHL2013 = 1’, ‘TYPE_IA_SUPERNOVA_ALGORITHM_SEITENZAHL2013_AUTOMATIC = 2’, ‘TYPE_IA_SUPERNOVA_ALGORITHM_LIVNE_ARNETT_1995 = 3’]</div> +</div> +<div class="line-block"> <div class="line"><strong>Parameter</strong>: minimum_separation_for_instant_RLOF</div> <div class="line"><strong>Description</strong>: If True, instead of evolving the system just report the minimum separation (on the zero-age main sequence) that would lead to instant RLOF. Used by binary_grid. See also minimum_orbital_period_for_instant_RLOF and maximum_mass_ratio_for_instant_RLOF.</div> <div class="line"><strong>Parameter input type</strong>: True|False</div> @@ -2575,8 +2597,20 @@ <div class="line"><strong>Macros</strong>: [‘RLOF_INTERPOLATION_BINARY_C = 0’, ‘RLOF_INTERPOLATION_BSE = 1’]</div> </div> <div class="line-block"> -<div class="line"><strong>Parameter</strong>: nova_retention_fraction</div> -<div class="line"><strong>Description</strong>: The mass accreted during a nova as fraction of mass transferred</div> +<div class="line"><strong>Parameter</strong>: He_nova_ELDs</div> +<div class="line"><strong>Description</strong>: Enable edge-lit detonations from WDs that have He novae. (Default: False, i.e. off.)</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>: nova_retention_fraction_H</div> +<div class="line"><strong>Description</strong>: The mass accreted during a hydrogen nova as fraction of mass transferred.</div> +<div class="line"><strong>Parameter input type</strong>: Float</div> +<div class="line"><strong>Default value</strong>: 0.001</div> +</div> +<div class="line-block"> +<div class="line"><strong>Parameter</strong>: nova_retention_fraction_He</div> +<div class="line"><strong>Description</strong>: The mass accreted during a helium nova as fraction of mass transferred.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: 0.001</div> </div> @@ -2588,46 +2622,52 @@ <div class="line"><strong>Macros</strong>: [‘BETA_REVERSE_NOVAE_GEOMETRY = -1’]</div> </div> <div class="line-block"> +<div class="line"><strong>Parameter</strong>: WD_accretion_rate_algorithms</div> +<div class="line"><strong>Description</strong>: Wrapper to set all WD accretion rates in one go (see WD_accretion_rate_*).</div> +<div class="line"><strong>Parameter input type</strong>: *</div> +<div class="line"><strong>Default value</strong>: NULL</div> +</div> +<div class="line-block"> <div class="line"><strong>Parameter</strong>: WD_accretion_rate_novae_upper_limit_hydrogen_donor</div> <div class="line"><strong>Description</strong>: Upper limit of the stable mass transfer rate onto a white dwarf that leads to novae when the donor is hydrogen rich: above this rate the mass transfer leads to stable burning.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: -1</div> -<div class="line"><strong>Macros</strong>: [‘DONOR_RATE_ALGORITHM_CLAEYS2014 = -1’, ‘DONOR_RATE_ALGORITHM_BSE = -2’]</div> +<div class="line"><strong>Macros</strong>: [‘DONOR_RATE_ALGORITHM_CLAEYS2014 = -1’, ‘DONOR_RATE_ALGORITHM_BSE = -2’, ‘DONOR_RATE_ALGORITHM_K2014_P2014 = -3’, ‘DONOR_RATE_ALGORITHM_WANGWU = -4’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: WD_accretion_rate_novae_upper_limit_helium_donor</div> <div class="line"><strong>Description</strong>: Upper limit of the stable mass transfer rate onto a white dwarf that leads to novae when the donor is helium rich: above this rate the mass transfer leads to stable burning.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: -1</div> -<div class="line"><strong>Macros</strong>: [‘DONOR_RATE_ALGORITHM_CLAEYS2014 = -1’, ‘DONOR_RATE_ALGORITHM_BSE = -2’]</div> +<div class="line"><strong>Macros</strong>: [‘DONOR_RATE_ALGORITHM_CLAEYS2014 = -1’, ‘DONOR_RATE_ALGORITHM_BSE = -2’, ‘DONOR_RATE_ALGORITHM_K2014_P2014 = -3’, ‘DONOR_RATE_ALGORITHM_WANGWU = -4’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: WD_accretion_rate_novae_upper_limit_other_donor</div> <div class="line"><strong>Description</strong>: Upper limit of the stable mass transfer rate onto a white dwarf that leads to novae when the donor is neither hydrogen nor helium rich: above this rate the mass transfer leads to stable burning.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: -1</div> -<div class="line"><strong>Macros</strong>: [‘DONOR_RATE_ALGORITHM_CLAEYS2014 = -1’, ‘DONOR_RATE_ALGORITHM_BSE = -2’]</div> +<div class="line"><strong>Macros</strong>: [‘DONOR_RATE_ALGORITHM_CLAEYS2014 = -1’, ‘DONOR_RATE_ALGORITHM_BSE = -2’, ‘DONOR_RATE_ALGORITHM_K2014_P2014 = -3’, ‘DONOR_RATE_ALGORITHM_WANGWU = -4’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: WD_accretion_rate_new_giant_envelope_lower_limit_hydrogen_donor</div> <div class="line"><strong>Description</strong>: Lower limit of the mass transfer rate onto a white dwarf that leads to a the formation of a new giant envelope with a hydrogen-rich donor. Below this mass transfer leads to stable burning.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: -1</div> -<div class="line"><strong>Macros</strong>: [‘DONOR_RATE_ALGORITHM_CLAEYS2014 = -1’, ‘DONOR_RATE_ALGORITHM_BSE = -2’]</div> +<div class="line"><strong>Macros</strong>: [‘DONOR_RATE_ALGORITHM_CLAEYS2014 = -1’, ‘DONOR_RATE_ALGORITHM_BSE = -2’, ‘DONOR_RATE_ALGORITHM_K2014_P2014 = -3’, ‘DONOR_RATE_ALGORITHM_WANGWU = -4’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: WD_accretion_rate_new_giant_envelope_lower_limit_helium_donor</div> <div class="line"><strong>Description</strong>: Lower limit of the mass transfer rate onto a white dwarf that leads to a the formation of a new giant envelope with a helium-rich donor. Below this mass transfer leads to stable burning.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: -1</div> -<div class="line"><strong>Macros</strong>: [‘DONOR_RATE_ALGORITHM_CLAEYS2014 = -1’, ‘DONOR_RATE_ALGORITHM_BSE = -2’]</div> +<div class="line"><strong>Macros</strong>: [‘DONOR_RATE_ALGORITHM_CLAEYS2014 = -1’, ‘DONOR_RATE_ALGORITHM_BSE = -2’, ‘DONOR_RATE_ALGORITHM_K2014_P2014 = -3’, ‘DONOR_RATE_ALGORITHM_WANGWU = -4’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: WD_accretion_rate_new_giant_envelope_lower_limit_other_donor</div> <div class="line"><strong>Description</strong>: Lower limit of the mass transfer rate onto a white dwarf that leads to a the formation of a new giant envelope when the donor is neither hydrogen nor helium rich. Below this mass transfer leads to stable burning.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> <div class="line"><strong>Default value</strong>: -1</div> -<div class="line"><strong>Macros</strong>: [‘DONOR_RATE_ALGORITHM_CLAEYS2014 = -1’, ‘DONOR_RATE_ALGORITHM_BSE = -2’]</div> +<div class="line"><strong>Macros</strong>: [‘DONOR_RATE_ALGORITHM_CLAEYS2014 = -1’, ‘DONOR_RATE_ALGORITHM_BSE = -2’, ‘DONOR_RATE_ALGORITHM_K2014_P2014 = -3’, ‘DONOR_RATE_ALGORITHM_WANGWU = -4’]</div> </div> <div class="line-block"> <div class="line"><strong>Parameter</strong>: CRAP_parameter</div> @@ -2660,6 +2700,24 @@ <div class="line"><strong>Default value</strong>: -1</div> </div> <div class="line-block"> +<div class="line"><strong>Parameter</strong>: eccentric_RLOF_model</div> +<div class="line"><strong>Description</strong>: Chooses which model is used to handle eccentric RLOF. Default is RLOF_ECCENTRIC_AS_CIRCULAR, i.e. ignore the eccentricity. Note: requires force_corotation_of_primary_and_orbit to be FALSE.</div> +<div class="line"><strong>Parameter input type</strong>: Integer</div> +<div class="line"><strong>Default value</strong>: 0</div> +</div> +<div class="line-block"> +<div class="line"><strong>Parameter</strong>: force_circularization_on_RLOF</div> +<div class="line"><strong>Description</strong>: If True forces circularization of stars and orbit when RLOF starts, this is as in the BSE algorithm. (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>: resolve_stellar_type_changes</div> +<div class="line"><strong>Description</strong>: If True forces binary_c to resolve stellar type changes to within the minimum timestep. Warning: can be slow. (True)</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>: nonconservative_angmom_gamma</div> <div class="line"><strong>Description</strong>: Mass lost from the system (but NOT from a stellar wind) takes a fraction gamma of the orbital angular momentum with it. Set to -1 to take the specific angular momentum of the donor star. Set to -2 to take super-Eddington, nova and disk-wind angular momenta as if a wind from the accretor.</div> <div class="line"><strong>Parameter input type</strong>: Float</div> @@ -2692,7 +2750,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"> @@ -2717,21 +2775,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"> @@ -2759,43 +2819,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> @@ -2939,52 +3000,10 @@ <section id="section-output"> <h2>Section: output<a class="headerlink" href="#section-output" title="Permalink to this heading">ïƒ</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>: -1</div> -<div class="line"><strong>Extra</strong>: Ignore</div> -</div> -<div class="line-block"> -<div class="line"><strong>Parameter</strong>: david_tzo_logging</div> -<div class="line"><strong>Description</strong>: Flag to enable logging for TZO project</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>: david_ppisn_logging</div> -<div class="line"><strong>Description</strong>: Flag to enable logging for PPISN project</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>: david_ppisn_single_logging</div> -<div class="line"><strong>Description</strong>: Flag to enable logging for PPISN project capturing single star systems that underwent SN</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>: david_rlof_episode_logging</div> -<div class="line"><strong>Description</strong>: Flag to enable the RLOF episode logging</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>: david_rlof_ensemble_logging</div> -<div class="line"><strong>Description</strong>: Flag to enable the RLOF ensemble logging</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> @@ -3032,7 +3051,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> @@ -3080,31 +3099,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> @@ -3150,6 +3169,13 @@ <div class="line"><strong>Extra</strong>:</div> </div> <div class="line-block"> +<div class="line"><strong>Parameter</strong>: log_legacy_stellar_types</div> +<div class="line"><strong>Description</strong>: If set to True, we output the stellar types in the log as numbers rather than (more human-readable) letters.</div> +<div class="line"><strong>Parameter input type</strong>: True|False</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>: log_filename</div> <div class="line"><strong>Description</strong>: Location of the output logging filename. If set to “/dev/null†then there is no logging.</div> <div class="line"><strong>Parameter input type</strong>: String</div> @@ -3157,6 +3183,13 @@ <div class="line"><strong>Extra</strong>:</div> </div> <div class="line-block"> +<div class="line"><strong>Parameter</strong>: log_separator</div> +<div class="line"><strong>Description</strong>: Separator used in the standard log. By default this is an empty string.</div> +<div class="line"><strong>Parameter input type</strong>: String</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>: log_arrows</div> <div class="line"><strong>Description</strong>: Add arrows to the output log to show whether values are increasing or decreasing.</div> <div class="line"><strong>Parameter input type</strong>: True|False</div> @@ -3205,18 +3238,6 @@ <div class="line"><strong>Macros</strong>: [‘INTERNAL_BUFFERING_OFF = 0’, ‘INTERNAL_BUFFERING_PRINT = 1’, ‘INTERNAL_BUFFERING_STORE = 2’]</div> </div> <div class="line-block"> -<div class="line"><strong>Parameter</strong>: eccentric_RLOF_model</div> -<div class="line"><strong>Description</strong>: Chooses which model is used to handle eccentric RLOF. Default is RLOF_ECCENTRIC_AS_CIRCULAR, i.e. ignore the eccentricity. Note: requires force_corotation_of_primary_and_orbit to be FALSE.</div> -<div class="line"><strong>Parameter input type</strong>: Integer</div> -<div class="line"><strong>Default value</strong>: 0</div> -</div> -<div class="line-block"> -<div class="line"><strong>Parameter</strong>: force_circularization_on_RLOF</div> -<div class="line"><strong>Description</strong>: If True forces circularization of stars and orbit when RLOF starts, this is as in the BSE algorithm. (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>: wtts_log</div> <div class="line"><strong>Description</strong>: If True, enables log file output for WTTS2.</div> <div class="line"><strong>Parameter input type</strong>: True|False</div> @@ -3271,84 +3292,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>:</div> +<div class="line"><strong>Default value</strong>: NULL</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>: False</div> +<div class="line"><strong>Default value</strong>: NULL</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>: True</div> +<div class="line"><strong>Default value</strong>: NULL</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>: True</div> +<div class="line"><strong>Default value</strong>: NULL</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>: True</div> +<div class="line"><strong>Default value</strong>: NULL</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>: False</div> +<div class="line"><strong>Default value</strong>: NULL</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>: False</div> +<div class="line"><strong>Default value</strong>: NULL</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>: 0</div> +<div class="line"><strong>Default value</strong>: NULL</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>: 200</div> +<div class="line"><strong>Default value</strong>: NULL</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>: 1000</div> +<div class="line"><strong>Default value</strong>: NULL</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>: 10</div> +<div class="line"><strong>Default value</strong>: NULL</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>: -1</div> +<div class="line"><strong>Default value</strong>: NULL</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> @@ -3356,7 +3377,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>: -1</div> +<div class="line"><strong>Default value</strong>: NULL</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> @@ -3364,21 +3385,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>: False</div> +<div class="line"><strong>Default value</strong>: NULL</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>: 1e-06</div> +<div class="line"><strong>Default value</strong>: NULL</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>: 0.1</div> +<div class="line"><strong>Default value</strong>: NULL</div> <div class="line"><strong>Extra</strong>:</div> </div> </section> @@ -3533,6 +3554,20 @@ <div class="line"><strong>Default value</strong>: NULL</div> <div class="line"><strong>Extra</strong>: Ignore</div> </div> +<div class="line-block"> +<div class="line"><strong>Parameter</strong>: bjorn</div> +<div class="line"><strong>Description</strong>: Usage: –bjorn … shows an ASCII-art picture of Björn (requires jp2a to be installed).</div> +<div class="line"><strong>Parameter input type</strong>: *</div> +<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Extra</strong>: 0</div> +</div> +<div class="line-block"> +<div class="line"><strong>Parameter</strong>: logo</div> +<div class="line"><strong>Description</strong>: Usage: –logo … shows an ASCII-art picture of the binary_c logo (requires jp2a to be installed).</div> +<div class="line"><strong>Parameter input type</strong>: *</div> +<div class="line"><strong>Default value</strong>: NULL</div> +<div class="line"><strong>Extra</strong>: 0</div> +</div> </section> </section> @@ -3555,9 +3590,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/custom_logging_functions.html b/docs/build/html/custom_logging_functions.html index d32f75ac4..cd62f2e43 100644 --- a/docs/build/html/custom_logging_functions.html +++ b/docs/build/html/custom_logging_functions.html @@ -330,9 +330,9 @@ I recommend using this in function in combination with a function that generates provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/dicts.html b/docs/build/html/dicts.html index cfea40d7d..abc404191 100644 --- a/docs/build/html/dicts.html +++ b/docs/build/html/dicts.html @@ -526,9 +526,9 @@ so that they don’t have to be calculated each time.</p> provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/ensemble.html b/docs/build/html/ensemble.html index afb38efb3..233786799 100644 --- a/docs/build/html/ensemble.html +++ b/docs/build/html/ensemble.html @@ -236,7 +236,7 @@ creates a working JSON dictionary out of it.</p> <dl class="py function"> <dt class="sig sig-object py" id="binarycpython.utils.ensemble.load_ensemble"> -<span class="sig-prename descclassname"><span class="pre">binarycpython.utils.ensemble.</span></span><span class="sig-name descname"><span class="pre">load_ensemble</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">convert_float_keys</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">select_keys</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timing</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">flush</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binarycpython/utils/ensemble.html#load_ensemble"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#binarycpython.utils.ensemble.load_ensemble" title="Permalink to this definition">ïƒ</a></dt> +<span class="sig-prename descclassname"><span class="pre">binarycpython.utils.ensemble.</span></span><span class="sig-name descname"><span class="pre">load_ensemble</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">convert_float_keys</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">select_keys</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timing</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">flush</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">quiet</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binarycpython/utils/ensemble.html#load_ensemble"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#binarycpython.utils.ensemble.load_ensemble" title="Permalink to this definition">ïƒ</a></dt> <dd><p>Function to load an ensemeble file, even if it is compressed, and return its contents to as a Python dictionary.</p> <dl class="field-list simple"> @@ -276,9 +276,9 @@ and return its contents to as a Python dictionary.</p> provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/example_notebooks.html b/docs/build/html/example_notebooks.html index 3ffc73970..2f234783e 100644 --- a/docs/build/html/example_notebooks.html +++ b/docs/build/html/example_notebooks.html @@ -210,9 +210,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/examples/notebook_BHBH.html b/docs/build/html/examples/notebook_BHBH.html index 2720eb88d..1098c3f54 100644 --- a/docs/build/html/examples/notebook_BHBH.html +++ b/docs/build/html/examples/notebook_BHBH.html @@ -915,7 +915,21 @@ Found bound BHBH system </pre></div></div> </div> <p>Playing around with the input for an individual system gives us some understanding of which parameters affect the formation of black hole systems, but, as mentioned in the introduction, this is nto the most appropriate way to find many such systems. We want to make use of the Population utilities, and set up custom logging and a parse function.</p> -<p>Things to try next: * Set up a population object with a grid in M1, q and orbital period (10 x 10 x 10) * Set up a custom logging function to catch BHBH systems, and include the ZAMS properties in the output. * Set up a parse function to process the output, try writing the output to a file. * Run this population at several different metallicities. Do you see a trend?</p> +<p>Things to try next:</p> +<ul class="simple"> +<li><p>Set up a population object with a grid in M1, q and orbital period (10 x 10 x 10)</p></li> +<li><p>Set up a custom logging function to catch BHBH systems, and include the ZAMS properties in the output.</p></li> +<li><p>Set up a parse function to process the output, try writing the output to a file.</p></li> +<li><p>Run this population at several different metallicities. Do you see a trend?</p></li> +</ul> +<div class="nbinput nblast docutils container"> +<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[ ]: +</pre></div> +</div> +<div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre><span></span> +</pre></div> +</div> +</div> </section> @@ -937,9 +951,9 @@ Found bound BHBH system provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/examples/notebook_BHBH.ipynb b/docs/build/html/examples/notebook_BHBH.ipynb index c3fa9b934..d639f4bd6 100644 --- a/docs/build/html/examples/notebook_BHBH.ipynb +++ b/docs/build/html/examples/notebook_BHBH.ipynb @@ -649,11 +649,20 @@ "Playing around with the input for an individual system gives us some understanding of which parameters affect the formation of black hole systems, but, as mentioned in the introduction, this is nto the most appropriate way to find many such systems. We want to make use of the Population utilities, and set up custom logging and a parse function.\n", "\n", "Things to try next:\n", + "\n", "* Set up a population object with a grid in M1, q and orbital period (10 x 10 x 10)\n", "* Set up a custom logging function to catch BHBH systems, and include the ZAMS properties in the output.\n", "* Set up a parse function to process the output, try writing the output to a file.\n", "* Run this population at several different metallicities. Do you see a trend?" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c8b4d134-1b41-49cc-a122-2aee89818248", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/docs/build/html/examples/notebook_HRD.html b/docs/build/html/examples/notebook_HRD.html index a8f72aef5..0aff065b3 100644 --- a/docs/build/html/examples/notebook_HRD.html +++ b/docs/build/html/examples/notebook_HRD.html @@ -945,9 +945,9 @@ very start.</p> provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/examples/notebook_api_functionality.html b/docs/build/html/examples/notebook_api_functionality.html index fb06a9396..2a0bc9a95 100644 --- a/docs/build/html/examples/notebook_api_functionality.html +++ b/docs/build/html/examples/notebook_api_functionality.html @@ -721,9 +721,9 @@ MAXIMUM MASS RATIO 0.0141 provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/examples/notebook_common_envelope_evolution.html b/docs/build/html/examples/notebook_common_envelope_evolution.html index 2f498e8dc..391772da4 100644 --- a/docs/build/html/examples/notebook_common_envelope_evolution.html +++ b/docs/build/html/examples/notebook_common_envelope_evolution.html @@ -739,9 +739,9 @@ Text(0, 0.5, 'Number of stars') provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/examples/notebook_custom_logging.html b/docs/build/html/examples/notebook_custom_logging.html index 545746509..fe9a2ce15 100644 --- a/docs/build/html/examples/notebook_custom_logging.html +++ b/docs/build/html/examples/notebook_custom_logging.html @@ -793,9 +793,9 @@ EXAMPLE_SN 1.050651207308e+01 1.59452 9.34213 20 12 13 5 1 6.55458 4 provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/examples/notebook_ensembles.html b/docs/build/html/examples/notebook_ensembles.html index 3c55c5713..268e9a6e1 100644 --- a/docs/build/html/examples/notebook_ensembles.html +++ b/docs/build/html/examples/notebook_ensembles.html @@ -151,9 +151,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/examples/notebook_extra_features.html b/docs/build/html/examples/notebook_extra_features.html index fe5d781d2..3efd6551c 100644 --- a/docs/build/html/examples/notebook_extra_features.html +++ b/docs/build/html/examples/notebook_extra_features.html @@ -526,9 +526,9 @@ dict_keys(['networks', 'isotopes', 'argpairs', 'ense provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/examples/notebook_individual_systems.html b/docs/build/html/examples/notebook_individual_systems.html index 58de6967b..5e76fb02e 100644 --- a/docs/build/html/examples/notebook_individual_systems.html +++ b/docs/build/html/examples/notebook_individual_systems.html @@ -832,9 +832,9 @@ SINGLE_STAR_LIFETIME 15 14.9927 provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/examples/notebook_luminosity_function_binaries.html b/docs/build/html/examples/notebook_luminosity_function_binaries.html index 2de613734..490723d69 100644 --- a/docs/build/html/examples/notebook_luminosity_function_binaries.html +++ b/docs/build/html/examples/notebook_luminosity_function_binaries.html @@ -935,9 +935,9 @@ Done population run! provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/examples/notebook_luminosity_function_single.html b/docs/build/html/examples/notebook_luminosity_function_single.html index ca5c2a571..251b85c05 100644 --- a/docs/build/html/examples/notebook_luminosity_function_single.html +++ b/docs/build/html/examples/notebook_luminosity_function_single.html @@ -949,9 +949,9 @@ Added analytics to metadata provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/examples/notebook_population.html b/docs/build/html/examples/notebook_population.html index 96975f411..330cb48dc 100644 --- a/docs/build/html/examples/notebook_population.html +++ b/docs/build/html/examples/notebook_population.html @@ -1412,9 +1412,9 @@ time mass_1 zams_mass_1 mass_2 zams_mass_2 stellar_type_1 prev_stellar_type_1 st provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/examples/notebook_solar_system.html b/docs/build/html/examples/notebook_solar_system.html index d5186edd8..01ac4fca5 100644 --- a/docs/build/html/examples/notebook_solar_system.html +++ b/docs/build/html/examples/notebook_solar_system.html @@ -657,9 +657,9 @@ div.rendered_html tbody tr:hover { provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/examples/old/basic_example.html b/docs/build/html/examples/old/basic_example.html index 9954a2b4a..137029277 100644 --- a/docs/build/html/examples/old/basic_example.html +++ b/docs/build/html/examples/old/basic_example.html @@ -458,9 +458,9 @@ div.rendered_html tbody tr:hover { provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/examples/old/workshop_example_notebook.html b/docs/build/html/examples/old/workshop_example_notebook.html index 500aaf10b..ead82bfc3 100644 --- a/docs/build/html/examples/old/workshop_example_notebook.html +++ b/docs/build/html/examples/old/workshop_example_notebook.html @@ -889,9 +889,9 @@ Took 14.214274644851685s provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/functions.html b/docs/build/html/functions.html index ef1abd20b..7e3f1051b 100644 --- a/docs/build/html/functions.html +++ b/docs/build/html/functions.html @@ -484,6 +484,12 @@ the help function to get as much information as possible.</p> <dd><p>Function to get the username of the user that spawned the current process</p> </dd></dl> +<dl class="py function"> +<dt class="sig sig-object py" id="binarycpython.utils.functions.hostnames"> +<span class="sig-prename descclassname"><span class="pre">binarycpython.utils.functions.</span></span><span class="sig-name descname"><span class="pre">hostnames</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binarycpython/utils/functions.html#hostnames"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#binarycpython.utils.functions.hostnames" title="Permalink to this definition">ïƒ</a></dt> +<dd><p>Return a list of possible hostnames for this machine</p> +</dd></dl> + <dl class="py function"> <dt class="sig sig-object py" id="binarycpython.utils.functions.imports"> <span class="sig-prename descclassname"><span class="pre">binarycpython.utils.functions.</span></span><span class="sig-name descname"><span class="pre">imports</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binarycpython/utils/functions.html#imports"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#binarycpython.utils.functions.imports" title="Permalink to this definition">ïƒ</a></dt> @@ -733,9 +739,9 @@ of all the binary_c parameters.</p> provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/genindex.html b/docs/build/html/genindex.html index f96b236d6..64cc1a0a0 100644 --- a/docs/build/html/genindex.html +++ b/docs/build/html/genindex.html @@ -471,13 +471,15 @@ </li> <li><a href="grid.html#binarycpython.utils.grid.Population.evolve">evolve() (binarycpython.utils.grid.Population method)</a> </li> - </ul></td> - <td style="width: 33%; vertical-align: top;"><ul> <li><a href="grid.html#binarycpython.utils.grid.Population.evolve_single">evolve_single() (binarycpython.utils.grid.Population method)</a> </li> + </ul></td> + <td style="width: 33%; vertical-align: top;"><ul> <li><a href="functions.html#binarycpython.utils.functions.example_parse_output">example_parse_output() (in module binarycpython.utils.functions)</a> </li> <li><a href="grid.html#binarycpython.utils.grid.Population.exit">exit() (binarycpython.utils.grid.Population method)</a> +</li> + <li><a href="grid.html#binarycpython.utils.grid.Population.expand_args_by_hostname">expand_args_by_hostname() (binarycpython.utils.grid.Population method)</a> </li> <li><a href="grid.html#binarycpython.utils.grid.Population.export_all_info">export_all_info() (binarycpython.utils.grid.Population method)</a> </li> @@ -576,6 +578,8 @@ <table style="width: 100%" class="indextable genindextable"><tr> <td style="width: 33%; vertical-align: top;"><ul> <li><a href="ensemble.html#binarycpython.utils.ensemble.handle_ensemble_string_to_json">handle_ensemble_string_to_json() (in module binarycpython.utils.ensemble)</a> +</li> + <li><a href="functions.html#binarycpython.utils.functions.hostnames">hostnames() (in module binarycpython.utils.functions)</a> </li> <li><a href="population_extensions/HPC.html#binarycpython.utils.population_extensions.HPC.HPC">HPC (class in binarycpython.utils.population_extensions.HPC)</a> </li> @@ -602,11 +606,11 @@ <li><a href="population_extensions/HPC.html#binarycpython.utils.population_extensions.HPC.HPC.HPC_job_id_range">HPC_job_id_range() (binarycpython.utils.population_extensions.HPC.HPC method)</a> </li> <li><a href="population_extensions/HPC.html#binarycpython.utils.population_extensions.HPC.HPC.HPC_job_task">HPC_job_task() (binarycpython.utils.population_extensions.HPC.HPC method)</a> -</li> - <li><a href="population_extensions/HPC.html#binarycpython.utils.population_extensions.HPC.HPC.HPC_job_type">HPC_job_type() (binarycpython.utils.population_extensions.HPC.HPC method)</a> </li> </ul></td> <td style="width: 33%; vertical-align: top;"><ul> + <li><a href="population_extensions/HPC.html#binarycpython.utils.population_extensions.HPC.HPC.HPC_job_type">HPC_job_type() (binarycpython.utils.population_extensions.HPC.HPC method)</a> +</li> <li><a href="population_extensions/HPC.html#binarycpython.utils.population_extensions.HPC.HPC.HPC_jobID">HPC_jobID() (binarycpython.utils.population_extensions.HPC.HPC method)</a> </li> <li><a href="population_extensions/HPC.html#binarycpython.utils.population_extensions.HPC.HPC.HPC_jobID_tuple">HPC_jobID_tuple() (binarycpython.utils.population_extensions.HPC.HPC method)</a> @@ -809,6 +813,8 @@ <li><a href="dicts.html#binarycpython.utils.dicts.multiply_float_values">multiply_float_values() (in module binarycpython.utils.dicts)</a> </li> <li><a href="dicts.html#binarycpython.utils.dicts.multiply_values_dict">multiply_values_dict() (in module binarycpython.utils.dicts)</a> +</li> + <li><a href="grid.html#binarycpython.utils.grid.Population.my_hostnames">my_hostnames() (binarycpython.utils.grid.Population method)</a> </li> </ul></td> </tr></table> @@ -1088,9 +1094,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/grid.html b/docs/build/html/grid.html index 4c0a274a9..f071e0b53 100644 --- a/docs/build/html/grid.html +++ b/docs/build/html/grid.html @@ -132,22 +132,15 @@ <dl class="simple"> <dt>Tasks:</dt><dd><ul class="simple"> <li><p>TODO: add functionality to ‘on-init’ set arguments</p></li> -<li><p>TODO: add functionality to return the initial_abundance_hash</p></li> -<li><p>TODO: add functionality to return the isotope_hash</p></li> -<li><p>TODO: add functionality to return the isotope_list</p></li> -<li><p>TODO: add functionality to return the nuclear_mass_hash</p></li> -<li><p>TODO: add functionality to return the nuclear_mass_list</p></li> -<li><p>TODO: add functionality to return the source_list</p></li> -<li><p>TODO: add functionality to return the ensemble_list</p></li> <li><p>TODO: consider spreading the functions over more files.</p></li> <li><p>TODO: type the private functions</p></li> <li><p>TODO: fix the correct object types for the default values of the bse_options</p></li> <li><p>TODO: think of a clean and nice way to unload and remove the custom_logging_info library from memory (and from disk)</p></li> <li><p>TODO: think of a nice way to remove the loaded grid_code/ generator from memory.</p></li> +<li><p>TODO: Some of the methods that we have defined in the (mixin) class are designed to be used as a portal to information (return_binary_c_version_info for example.) The current design is that they are all instance methods, but that is not always necessary. We can decorate them with @staticmethod, or @classmethod to make it easier to use them (<a class="reference external" href="https://realpython.com/instance-class-and-static-methods-demystified/">https://realpython.com/instance-class-and-static-methods-demystified/</a>)</p></li> </ul> </dd> </dl> -<p>TODO: Some of the methods that we have defined in the (mixin) class are designed to be used as a portal to information (return_binary_c_version_info for example.) THe current design is that they are all instance methods, but that is not always necessary. We can decorate them with @staticmethod, or @classmethod to make it easier to use them (<a class="reference external" href="https://realpython.com/instance-class-and-static-methods-demystified/">https://realpython.com/instance-class-and-static-methods-demystified/</a>)</p> <dl class="py class"> <dt class="sig sig-object py" id="binarycpython.utils.grid.Population"> <em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">binarycpython.utils.grid.</span></span><span class="sig-name descname"><span class="pre">Population</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binarycpython/utils/grid.html#Population"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#binarycpython.utils.grid.Population" title="Permalink to this definition">ïƒ</a></dt> @@ -211,6 +204,17 @@ but also to post a message (if message is True, default is True) and perhaps a stacktrace (if stacktrace is True, default is False).</p> </dd></dl> +<dl class="py method"> +<dt class="sig sig-object py" id="binarycpython.utils.grid.Population.expand_args_by_hostname"> +<span class="sig-name descname"><span class="pre">expand_args_by_hostname</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cmdline_args</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binarycpython/utils/grid.html#Population.expand_args_by_hostname"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#binarycpython.utils.grid.Population.expand_args_by_hostname" title="Permalink to this definition">ïƒ</a></dt> +<dd><p>Expand a set of arguments by scanning each of them +for host-specific dicts.</p> +<p>Given each arg, either as a string “x=y†or dict {x:y}, +determine whether y is a dict and if so does one of the keys +match the current hostname or “defaultâ€, if so use the +corresponding value for the current machine.</p> +</dd></dl> + <dl class="py method"> <dt class="sig sig-object py" id="binarycpython.utils.grid.Population.export_all_info"> <span class="sig-name descname"><span class="pre">export_all_info</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">use_datadir</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">outfile</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">include_population_settings</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">include_binary_c_defaults</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">include_binary_c_version_info</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">include_binary_c_help_all</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ensure_ascii</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">indent</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binarycpython/utils/grid.html#Population.export_all_info"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#binarycpython.utils.grid.Population.export_all_info" title="Permalink to this definition">ïƒ</a></dt> @@ -262,6 +266,11 @@ simulation_<date+time>_settings.json will be created</p></li> HPC processes return whatever HPC_jobID() gives.</p> </dd></dl> +<dl class="py method"> +<dt class="sig sig-object py" id="binarycpython.utils.grid.Population.my_hostnames"> +<span class="sig-name descname"><span class="pre">my_hostnames</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binarycpython/utils/grid.html#Population.my_hostnames"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#binarycpython.utils.grid.Population.my_hostnames" title="Permalink to this definition">ïƒ</a></dt> +<dd></dd></dl> + <dl class="py method"> <dt class="sig sig-object py" id="binarycpython.utils.grid.Population.parse_cmdline"> <span class="sig-name descname"><span class="pre">parse_cmdline</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binarycpython/utils/grid.html#Population.parse_cmdline"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#binarycpython.utils.grid.Population.parse_cmdline" title="Permalink to this definition">ïƒ</a></dt> @@ -378,9 +387,9 @@ in the self.grid_options</p> provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/grid_options_descriptions.html b/docs/build/html/grid_options_descriptions.html index 0037fc2d4..cfc81ac0a 100644 --- a/docs/build/html/grid_options_descriptions.html +++ b/docs/build/html/grid_options_descriptions.html @@ -105,7 +105,7 @@ <section id="population-grid-code-options"> <h1>Population grid code options<a class="headerlink" href="#population-grid-code-options" title="Permalink to this heading">ïƒ</a></h1> <p>The following chapter contains all grid code options, along with their descriptions -There are 29 options that are not described yet.</p> +There are 31 options that are not described yet.</p> <section id="public-options"> <h2>Public options<a class="headerlink" href="#public-options" title="Permalink to this heading">ïƒ</a></h2> <p>The following options are meant to be changed by the user.</p> @@ -278,6 +278,12 @@ There are 29 options that are not described yet.</p> <div class="line"><strong>log_dt</strong>: Time between verbose logging output.</div> </div> <div class="line-block"> +<div class="line"><strong>log_failed_systems</strong>: No description available yet</div> +</div> +<div class="line-block"> +<div class="line"><strong>log_failed_systems_dir</strong>: No description available yet</div> +</div> +<div class="line-block"> <div class="line"><strong>log_file</strong>: Log file for the population object. Unused</div> </div> <div class="line-block"> @@ -647,9 +653,9 @@ q extrapolation (below 0.15) method provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/index.html b/docs/build/html/index.html index 27c00fa1f..eea0a614b 100644 --- a/docs/build/html/index.html +++ b/docs/build/html/index.html @@ -108,7 +108,7 @@ <p>We present our package <a class="reference external" href="https://ri0005.pages.surrey.ac.uk/binary_c-python/">binary-c-python</a>, a population synthesis code which is aimed to provide a convenient and easy-to-use interface to the <a class="reference external" href="http://personal.ph.surrey.ac.uk/~ri0005/doc/binary_c/binary_c.html">binary_c</a> framework, allowing the user to rapidly evolve single stellar systems and populations of star systems. Based on a early work by Jeff Andrews. Updated and extended for Python3 by David Hendriks, Robert Izzard.</p> <p>binary_c-python is developed for students and scientists in the field of stellar astrophysics, who want to study the evolution of individual or populations of single and binary star systems (see the example use-case notebooks in the <a class="reference external" href="https://ri0005.pages.surrey.ac.uk/binary_c-python/example_notebooks.html">online documentation</a>.</p> <p>The current release is version <a class="reference external" href="VERSION">version</a>, and is designed and tested to work with binary_c version 2.2.1 (for older or newer versions we can’t guarantee correct behaviour).</p> -<p>The current development branch is <code class="docutils literal notranslate"><span class="pre">development_0.9.5/2.2.1</span></code>.</p> +<p>The current development branch is <code class="docutils literal notranslate"><span class="pre">development_0.9.5/2.2.2</span></code>.</p> <section id="installation"> <h2>Installation<a class="headerlink" href="#installation" title="Permalink to this heading">ïƒ</a></h2> <p>To install binary_c-python we need to make sure we meet the requirements of installation, and</p> @@ -178,6 +178,7 @@ <section id="documentation"> <h3>Documentation<a class="headerlink" href="#documentation" title="Permalink to this heading">ïƒ</a></h3> <p>Look in the docs/ directory. Within the build/html/ there is the html version of the documentation. The documentation is also hosted on <a class="reference external" href="http://personal.ph.surrey.ac.uk/~ri0005/doc/binary_c/binary_c.html">http://personal.ph.surrey.ac.uk/~ri0005/doc/binary_c/binary_c.html</a> but only for the most recent stable release.</p> +<p>This documentation is hosted on gitlab-pages through a gitlab-runner that executes the contents of <code class="docutils literal notranslate"><span class="pre">.gitlab-ci.yml</span></code>. The runner copies the contents of <code class="docutils literal notranslate"><span class="pre">docs/build/html</span></code> to <code class="docutils literal notranslate"><span class="pre">public/</span></code>.</p> </section> </section> <section id="development"> @@ -336,9 +337,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/modules.html b/docs/build/html/modules.html index 9961ab613..1e217b832 100644 --- a/docs/build/html/modules.html +++ b/docs/build/html/modules.html @@ -174,9 +174,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/objects.inv b/docs/build/html/objects.inv index 3e77a5e386089d1e8be497065e27c43a57ccfc7e..bb23bac4066e4c6de5d7b65d9b2b49c3c06433b7 100644 GIT binary patch delta 10219 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 delta 10148 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 S&TTNQR{HC`()$0VmG2vLF53<O diff --git a/docs/build/html/plot_functions.html b/docs/build/html/plot_functions.html index 31775e892..b0e52d01f 100644 --- a/docs/build/html/plot_functions.html +++ b/docs/build/html/plot_functions.html @@ -378,9 +378,9 @@ This is not included in all the plotting routines.</p></li> provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/population_extensions/HPC.html b/docs/build/html/population_extensions/HPC.html index 4995e61e4..f9ba61bb2 100644 --- a/docs/build/html/population_extensions/HPC.html +++ b/docs/build/html/population_extensions/HPC.html @@ -375,9 +375,9 @@ and (if given) the string passed in.</p> provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/population_extensions/Moe_di_Stefano_2017.html b/docs/build/html/population_extensions/Moe_di_Stefano_2017.html index bc5a51dd1..5383d0fc2 100644 --- a/docs/build/html/population_extensions/Moe_di_Stefano_2017.html +++ b/docs/build/html/population_extensions/Moe_di_Stefano_2017.html @@ -193,9 +193,9 @@ then set the distribution functions</p> provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/population_extensions/analytics.html b/docs/build/html/population_extensions/analytics.html index d7897bedb..af33b8ef9 100644 --- a/docs/build/html/population_extensions/analytics.html +++ b/docs/build/html/population_extensions/analytics.html @@ -182,9 +182,9 @@ the time elapsed if otherwise or if force is True</p> provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/population_extensions/cache.html b/docs/build/html/population_extensions/cache.html index 7d2c7c6d0..275e1b014 100644 --- a/docs/build/html/population_extensions/cache.html +++ b/docs/build/html/population_extensions/cache.html @@ -216,9 +216,9 @@ given caches of size self.grid_options[‘function_cache_size’][func]</p> provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/population_extensions/condor.html b/docs/build/html/population_extensions/condor.html index 35e886946..69835e647 100644 --- a/docs/build/html/population_extensions/condor.html +++ b/docs/build/html/population_extensions/condor.html @@ -235,9 +235,9 @@ TODO: Comment this function better</p> provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/population_extensions/dataIO.html b/docs/build/html/population_extensions/dataIO.html index 232d3c6e9..2b2e5ff69 100644 --- a/docs/build/html/population_extensions/dataIO.html +++ b/docs/build/html/population_extensions/dataIO.html @@ -394,9 +394,9 @@ passed to json.dumps)</p></li> provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/population_extensions/distribution_functions.html b/docs/build/html/population_extensions/distribution_functions.html index 32fec1717..acdc8f5e9 100644 --- a/docs/build/html/population_extensions/distribution_functions.html +++ b/docs/build/html/population_extensions/distribution_functions.html @@ -834,9 +834,9 @@ and is be given by dp/dlogP ~ (logP)^p for all other binary configurations (defa provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/population_extensions/grid_logging.html b/docs/build/html/population_extensions/grid_logging.html index 4b38425e1..c98232e85 100644 --- a/docs/build/html/population_extensions/grid_logging.html +++ b/docs/build/html/population_extensions/grid_logging.html @@ -180,9 +180,9 @@ system_number: the system number</p> provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/population_extensions/grid_options_defaults.html b/docs/build/html/population_extensions/grid_options_defaults.html index e4f6a9eaa..27a9b675f 100644 --- a/docs/build/html/population_extensions/grid_options_defaults.html +++ b/docs/build/html/population_extensions/grid_options_defaults.html @@ -243,9 +243,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/population_extensions/gridcode.html b/docs/build/html/population_extensions/gridcode.html index 7e063b248..1030f61dd 100644 --- a/docs/build/html/population_extensions/gridcode.html +++ b/docs/build/html/population_extensions/gridcode.html @@ -299,9 +299,9 @@ of the self.grid_options[“_grid_variablesâ€] dictionary.</p> provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/population_extensions/metadata.html b/docs/build/html/population_extensions/metadata.html index 6d5ab84dc..ccaa5b29d 100644 --- a/docs/build/html/population_extensions/metadata.html +++ b/docs/build/html/population_extensions/metadata.html @@ -168,9 +168,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/population_extensions/slurm.html b/docs/build/html/population_extensions/slurm.html index d5bc70a5b..1b9b3c70b 100644 --- a/docs/build/html/population_extensions/slurm.html +++ b/docs/build/html/population_extensions/slurm.html @@ -236,9 +236,9 @@ TODO: Comment this function better</p> provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/population_extensions/spacing_functions.html b/docs/build/html/population_extensions/spacing_functions.html index a39d45529..c12c2429f 100644 --- a/docs/build/html/population_extensions/spacing_functions.html +++ b/docs/build/html/population_extensions/spacing_functions.html @@ -323,9 +323,9 @@ not that the integral is 1.0</p> provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/population_extensions/version_info.html b/docs/build/html/population_extensions/version_info.html index 5d423b5f1..a7c4260e9 100644 --- a/docs/build/html/population_extensions/version_info.html +++ b/docs/build/html/population_extensions/version_info.html @@ -200,9 +200,9 @@ dictionary</p> provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/py-modindex.html b/docs/build/html/py-modindex.html index 16dab6e8c..f342310c8 100644 --- a/docs/build/html/py-modindex.html +++ b/docs/build/html/py-modindex.html @@ -223,9 +223,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/readme_link.html b/docs/build/html/readme_link.html index e62e89399..2dd6772a8 100644 --- a/docs/build/html/readme_link.html +++ b/docs/build/html/readme_link.html @@ -134,7 +134,7 @@ <p>We present our package <a class="reference external" href="https://ri0005.pages.surrey.ac.uk/binary_c-python/">binary-c-python</a>, a population synthesis code which is aimed to provide a convenient and easy-to-use interface to the <a class="reference external" href="http://personal.ph.surrey.ac.uk/~ri0005/doc/binary_c/binary_c.html">binary_c</a> framework, allowing the user to rapidly evolve single stellar systems and populations of star systems. Based on a early work by Jeff Andrews. Updated and extended for Python3 by David Hendriks, Robert Izzard.</p> <p>binary_c-python is developed for students and scientists in the field of stellar astrophysics, who want to study the evolution of individual or populations of single and binary star systems (see the example use-case notebooks in the <a class="reference external" href="https://ri0005.pages.surrey.ac.uk/binary_c-python/example_notebooks.html">online documentation</a>.</p> <p>The current release is version <a class="reference external" href="VERSION">version</a>, and is designed and tested to work with binary_c version 2.2.1 (for older or newer versions we can’t guarantee correct behaviour).</p> -<p>The current development branch is <code class="docutils literal notranslate"><span class="pre">development_0.9.5/2.2.1</span></code>.</p> +<p>The current development branch is <code class="docutils literal notranslate"><span class="pre">development_0.9.5/2.2.2</span></code>.</p> <section id="installation"> <h2>Installation<a class="headerlink" href="#installation" title="Permalink to this heading">ïƒ</a></h2> <p>To install binary_c-python we need to make sure we meet the requirements of installation, and</p> @@ -204,6 +204,7 @@ <section id="documentation"> <h3>Documentation<a class="headerlink" href="#documentation" title="Permalink to this heading">ïƒ</a></h3> <p>Look in the docs/ directory. Within the build/html/ there is the html version of the documentation. The documentation is also hosted on <a class="reference external" href="http://personal.ph.surrey.ac.uk/~ri0005/doc/binary_c/binary_c.html">http://personal.ph.surrey.ac.uk/~ri0005/doc/binary_c/binary_c.html</a> but only for the most recent stable release.</p> +<p>This documentation is hosted on gitlab-pages through a gitlab-runner that executes the contents of <code class="docutils literal notranslate"><span class="pre">.gitlab-ci.yml</span></code>. The runner copies the contents of <code class="docutils literal notranslate"><span class="pre">docs/build/html</span></code> to <code class="docutils literal notranslate"><span class="pre">public/</span></code>.</p> </section> </section> <section id="development"> @@ -283,9 +284,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/run_system_wrapper.html b/docs/build/html/run_system_wrapper.html index 0e7202022..112b6503e 100644 --- a/docs/build/html/run_system_wrapper.html +++ b/docs/build/html/run_system_wrapper.html @@ -194,9 +194,9 @@ and returns what the parse_function returns</p> provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/search.html b/docs/build/html/search.html index 1d0efe756..3e33aa790 100644 --- a/docs/build/html/search.html +++ b/docs/build/html/search.html @@ -101,9 +101,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index 45468d049..40de49a05 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["binary_c_parameters", "custom_logging_functions", "dicts", "ensemble", "example_notebooks", "examples/notebook_BHBH", "examples/notebook_HRD", "examples/notebook_api_functionality", "examples/notebook_common_envelope_evolution", "examples/notebook_custom_logging", "examples/notebook_ensembles", "examples/notebook_extra_features", "examples/notebook_individual_systems", "examples/notebook_luminosity_function_binaries", "examples/notebook_luminosity_function_single", "examples/notebook_population", "examples/notebook_solar_system", "examples/old/basic_example", "examples/old/workshop_example_notebook", "functions", "grid", "grid_options_descriptions", "index", "modules", "plot_functions", "population_extensions/HPC", "population_extensions/Moe_di_Stefano_2017", "population_extensions/analytics", "population_extensions/cache", "population_extensions/condor", "population_extensions/dataIO", "population_extensions/distribution_functions", "population_extensions/grid_logging", "population_extensions/grid_options_defaults", "population_extensions/gridcode", "population_extensions/metadata", "population_extensions/slurm", "population_extensions/spacing_functions", "population_extensions/version_info", "readme_link", "run_system_wrapper", "stellar_types", "useful_funcs"], "filenames": ["binary_c_parameters.rst", "custom_logging_functions.rst", "dicts.rst", "ensemble.rst", "example_notebooks.rst", "examples/notebook_BHBH.ipynb", "examples/notebook_HRD.ipynb", "examples/notebook_api_functionality.ipynb", "examples/notebook_common_envelope_evolution.ipynb", "examples/notebook_custom_logging.ipynb", "examples/notebook_ensembles.ipynb", "examples/notebook_extra_features.ipynb", "examples/notebook_individual_systems.ipynb", "examples/notebook_luminosity_function_binaries.ipynb", "examples/notebook_luminosity_function_single.ipynb", "examples/notebook_population.ipynb", "examples/notebook_solar_system.ipynb", "examples/old/basic_example.ipynb", "examples/old/workshop_example_notebook.ipynb", "functions.rst", "grid.rst", "grid_options_descriptions.rst", "index.rst", "modules.rst", "plot_functions.rst", "population_extensions/HPC.rst", "population_extensions/Moe_di_Stefano_2017.rst", "population_extensions/analytics.rst", "population_extensions/cache.rst", "population_extensions/condor.rst", "population_extensions/dataIO.rst", "population_extensions/distribution_functions.rst", "population_extensions/grid_logging.rst", "population_extensions/grid_options_defaults.rst", "population_extensions/gridcode.rst", "population_extensions/metadata.rst", "population_extensions/slurm.rst", "population_extensions/spacing_functions.rst", "population_extensions/version_info.rst", "readme_link.rst", "run_system_wrapper.rst", "stellar_types.rst", "useful_funcs.rst"], "titles": ["Binary_c parameters", "custom_logging_functions module", "dicts module", "ensemble module", "Example notebooks", "Example use case: Binary black hole systems", "Example use case: Hertzsprung-Russell diagrams", "Tutorial: Using the API functionality of binary_c-python", "Example use case: Common-envelope evolution", "Tutorial: Using custom logging routines with binary_c-python", "Tutorial: Generating and handling ensemble data", "Tutorial: Extra features and functionality of binary_c-python", "Tutorial: Running individual systems with binary_c-python", "Example use case: Zero-age stellar luminosity function in binaries", "Example use case: Zero-age stellar luminosity function", "Tutorial: Running populations with binary_c-python", "Example use case: Solar system using the API functionality", "Basic example", "Binary_c and python example notebook", "functions module", "Population class module", "Population grid code options", "Welcome to binary_c-python\u2019s documentation!", "Binarycpython code", "plot_functions module", "Population class extension: HPC module", "Population class extension: Moe_di_Stefano_2017 module", "Population class extension: analytics module", "Population class extension: cache module", "Population class extension: condor module", "Population class extension: dataIO module", "Population class extension: distribution_functions module", "Population class extension: grid_logging module", "Population class extension: grid_options_defaults module", "Population class extension: gridcode module", "Population class extension: metadata module", "Population class extension: slurm module", "Population class extension: spacing_functions module", "Population class extension: version_info module", "Python module for binary_c", "run_system_wrapper module", "stellar_types module", "useful_funcs module"], "terms": {"The": [0, 1, 2, 3, 4, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 24, 25, 27, 28, 29, 30, 31, 32, 34, 36, 37, 39, 40], "follow": [0, 7, 9, 15, 18, 19, 21, 24, 31, 37], "chapter": [0, 21, 23], "contain": [0, 1, 2, 3, 7, 11, 12, 14, 15, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "all": [0, 1, 2, 3, 6, 7, 8, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 30, 31, 33, 37, 38, 39, 40], "current": [0, 2, 8, 9, 11, 13, 14, 19, 20, 22, 25, 30, 39], "version": [0, 2, 7, 11, 15, 19, 20, 22, 38, 39], "can": [0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 30, 31, 34, 39, 40, 42], "handl": [0, 2, 3, 4, 7, 12, 19, 20, 21, 22, 25, 26, 34, 35, 38, 40, 42], "along": [0, 21, 22, 33, 39], "descript": [0, 7, 11, 19, 21, 26, 31, 33], "other": [0, 1, 2, 5, 6, 11, 12, 13, 14, 15, 19, 21, 22, 24, 25, 31, 33, 39], "properti": [0, 5, 19, 21, 24, 34], "thi": [0, 1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42], "inform": [0, 1, 3, 4, 6, 9, 12, 13, 14, 15, 19, 20, 21, 24, 25, 31, 33, 35, 38], "wa": [0, 6, 11, 12, 14, 15, 20, 21, 22, 30, 31, 39], "obtain": [0, 6, 8, 13, 14, 30], "build": [0, 1, 4, 7, 19, 25, 31], "git": [0, 15, 19, 22, 39], "branch": [0, 6, 19, 22, 38, 39], "branch_david": 0, "revis": [0, 38], "6118": 0, "20220617": 0, "8463fa650": 0, "built": [0, 1, 19, 22, 39], "jun": 0, "17": [0, 5, 13, 14, 15, 18], "2022": [0, 13], "23": [0, 5, 15], "20": [0, 5, 8, 9, 13, 14, 15, 16, 18, 37], "34": [0, 5, 7, 9, 12, 13, 15], "metal": [0, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 31, 42], "set": [0, 1, 2, 3, 4, 5, 9, 11, 12, 16, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 36, 37, 38, 39], "e": [0, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 19, 20, 21, 22, 25, 28, 29, 30, 31, 34, 36, 37, 39, 42], "amount": [0, 2, 7], "mass": [0, 1, 2, 4, 5, 6, 7, 8, 11, 12, 13, 15, 16, 18, 19, 21, 24, 31, 34, 37, 38, 40, 42], "matter": [0, 7], "which": [0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 25, 29, 30, 31, 33, 34, 36, 37, 38, 39, 40, 42], "hydrogen": [0, 6, 7], "helium": [0, 6, 7], "If": [0, 2, 6, 7, 8, 13, 14, 15, 16, 19, 20, 21, 22, 24, 25, 26, 27, 29, 30, 31, 34, 36, 39, 40, 42], "you": [0, 1, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 30, 31, 33, 34, 37, 39, 42], "ar": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 24, 28, 29, 30, 31, 33, 34, 36, 37, 38, 39, 42], "us": [0, 1, 2, 3, 4, 11, 12, 15, 19, 20, 21, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 36, 37, 38, 40, 42], "bse": [0, 7, 9, 15, 31], "must": [0, 2, 5, 6, 7, 8, 12, 13, 14, 15, 16, 30, 34, 37], "1e": [0, 7, 9, 12, 13, 18], "4": [0, 1, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 20, 30, 31, 37], "0": [0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 25, 26, 28, 31, 34, 37, 39, 42], "03": [0, 1, 5, 7, 13], "see": [0, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 20, 21, 22, 24, 28, 30, 31, 34, 38, 39], "also": [0, 4, 5, 6, 7, 8, 9, 13, 14, 15, 18, 19, 20, 21, 22, 25, 27, 30, 33, 38, 39, 42], "nucsyn_metal": [0, 7], "effective_metal": [0, 7, 18], "type": [0, 1, 2, 3, 5, 8, 12, 13, 14, 15, 18, 19, 20, 21, 24, 25, 30, 31, 33, 34, 37, 38, 41, 42], "float": [0, 2, 3, 5, 7, 11, 12, 16, 19, 31, 32, 37, 42], "default": [0, 1, 2, 3, 6, 7, 9, 11, 13, 14, 15, 18, 19, 20, 21, 25, 26, 28, 29, 30, 31, 33, 36, 37, 38, 40], "valu": [0, 1, 2, 3, 6, 7, 11, 12, 13, 14, 15, 18, 19, 20, 21, 24, 27, 28, 31, 33, 34, 37], "02": [0, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 18, 31, 42], "effect": [0, 5, 7, 9, 13, 21, 31], "routin": [0, 2, 4, 7, 22, 24, 40], "like": [0, 1, 6, 7, 8, 13, 14, 15, 16, 18, 19, 21, 22, 24, 30, 37, 39], "schneider": [0, 7], "wind": [0, 5, 6, 7, 13], "loss": [0, 5, 7, 12, 13, 16], "default_to_metal": [0, 7], "1": [0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 21, 22, 24, 25, 29, 30, 31, 32, 34, 36, 37, 39, 40, 42], "just": [0, 2, 6, 7, 8, 15, 18, 19, 20, 21, 22, 26, 30, 38, 39, 42], "same": [0, 2, 7, 12, 15, 21, 22, 31, 34, 39, 40], "main": [0, 1, 6, 7, 9, 13, 14, 15, 18, 21, 22, 39], "differ": [0, 5, 6, 7, 8, 13, 14, 15, 18, 19, 21, 22, 24, 37, 39], "between": [0, 7, 21, 31, 37], "rang": [0, 6, 7, 8, 12, 13, 14, 15, 21, 31, 34, 37], "valid": [0, 7, 9, 19, 31], "while": [0, 5, 6, 7, 8, 13], "s": [0, 2, 3, 5, 6, 7, 8, 12, 14, 15, 16, 18, 19, 20, 21, 25, 27, 28, 30, 31, 35, 42], "limit": [0, 6, 7, 8, 13, 14, 15, 21, 24], "stellar": [0, 4, 5, 7, 21, 22, 24, 31, 37, 38, 39, 41], "evolut": [0, 1, 4, 5, 6, 7, 12, 13, 14, 15, 16, 18, 21, 22, 24, 37, 39], "so": [0, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 20, 21, 24, 25, 30], "macro": [0, 11, 19, 38], "m_1": [0, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 34, 40], "initi": [0, 4, 5, 6, 7, 11, 12, 18, 20, 31], "one": [0, 2, 7, 11, 14, 15, 16, 17, 18, 21, 24, 28, 30, 33, 37, 40], "solar": [0, 4, 6, 7, 8, 11, 22, 31, 42], "unit": [0, 6, 7, 11, 16, 19, 42], "intern": [0, 7, 11, 21], "index": [0, 7, 11, 12, 15, 16, 21, 22, 25, 31, 34], "m_2": [0, 5, 6, 7, 8, 9, 12, 13, 15, 17, 18], "two": [0, 2, 6, 7, 9, 19, 22, 30, 32, 39, 41, 42], "m_3": [0, 7], "three": [0, 7, 13, 14, 15, 31], "2": [0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 21, 22, 24, 25, 29, 31, 36, 37, 39], "m_4": [0, 7], "four": [0, 7], "3": [0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 21, 22, 29, 31, 36, 37, 39], "vrot1": 0, "equatori": 0, "rotat": [0, 31], "veloc": [0, 31], "km": 0, "hurlei": 0, "et": [0, 31, 42], "al": [0, 31, 42], "2000": [0, 5], "2002": 0, "prescript": [0, 5, 15], "sequenc": [0, 6, 9, 13, 14, 18], "truli": 0, "non": [0, 2, 14, 21, 22, 30, 39], "someth": [0, 6, 8, 12, 13, 14, 21, 42], "small": [0, 5, 14], "g": [0, 1, 2, 5, 6, 8, 9, 12, 13, 14, 15, 17, 18, 19, 21, 22, 25, 28, 29, 30, 31, 36, 37, 39], "001": [0, 5], "vrot2": 0, "vrot_bs": 0, "vrot_breakup": 0, "vrot_sync": 0, "vrot_non_rot": 0, "vrot3": 0, "vrot4": 0, "prot1": 0, "prot2": 0, "prot3": 0, "period": [0, 5, 7, 8, 9, 12, 13, 14, 15, 16, 18, 24, 31, 42], "dai": [0, 5, 8, 9, 12, 13, 15, 18, 31, 42], "prot4": 0, "inclination1": 0, "inclin": 0, "degre": 0, "inclination2": 0, "inclination3": 0, "inclination4": 0, "b_1": 0, "magnet": 0, "field": [0, 22, 39], "gauss": 0, "b_2": 0, "b_3": 0, "b_4": 0, "b_inclination1": 0, "b_inclination2": 0, "b_inclination3": 0, "b_inclination4": 0, "stellar_type_1": [0, 15, 24], "usual": [0, 5, 6, 7, 13, 14, 15, 19, 21, 30, 31], "main_sequ": [0, 13, 14, 18], "note": [0, 5, 6, 13, 14, 15, 18, 19, 21, 25, 30, 34, 37, 38], "onli": [0, 2, 6, 9, 13, 14, 15, 16, 18, 19, 21, 22, 25, 26, 30, 37, 39, 42], "work": [0, 2, 3, 9, 12, 13, 14, 15, 18, 19, 21, 22, 25, 30, 39], "both": [0, 2, 7, 13, 14, 15], "ag": [0, 4, 5, 6, 8, 22, 37], "core_mass": [0, 9], "white": [0, 6], "dwarf": [0, 6, 14], "black": [0, 4, 6, 22], "hole": [0, 4, 6, 22], "neutrn": 0, "integ": [0, 6, 21, 37, 42], "low_mass_m": 0, "ms": [0, 5, 9, 13], "hg": 0, "giant_branch": 0, "cheb": 0, "eagb": [0, 5], "5": [0, 1, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 22, 28, 30, 31, 34, 39], "tpagb": [0, 6], "6": [0, 1, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 22, 39], "hem": 0, "7": [0, 1, 5, 6, 7, 8, 9, 12, 14, 15, 16, 17, 18, 22, 31, 39], "hehg": 0, "8": [0, 3, 5, 6, 8, 9, 12, 14, 15, 16, 18, 30, 31], "hegb": [0, 5], "9": [0, 5, 6, 7, 9, 12, 13, 14, 15, 18, 22, 39], "hewd": 0, "10": [0, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 17, 18, 21, 31, 37, 40], "cowd": 0, "11": [0, 5, 6, 9, 12, 14, 15, 18], "onewd": 0, "12": [0, 5, 6, 9, 12, 13, 14, 15, 18, 19, 31], "ns": [0, 1, 8, 9, 15], "13": [0, 5, 6, 8, 9, 12, 14, 15, 18], "bh": [0, 5, 8], "14": [0, 5, 9, 12, 14, 15, 18], "massless_remn": 0, "15": [0, 5, 6, 8, 9, 12, 13, 14, 15, 16, 18, 21, 31], "low_mass_main_sequ": 0, "hertzsprung_gap": 0, "first_giant_branch": 0, "core_helium_burn": 0, "early_asymptotic_giant_branch": 0, "thermally_pulsing_asymptotic_giant_branch": 0, "naked_main_sequence_helium_star": 0, "naked_helium_star_hertzsprung_gap": 0, "naked_helium_star_giant_branch": 0, "helium_white_dwarf": 0, "carbon_oxygen_white_dwarf": 0, "oxygen_neon_white_dwarf": 0, "neutron_star": 0, "black_hol": 0, "star_with_no_mass": 0, "stellar_type_2": [0, 15, 24], "stellar_type_3": 0, "stellar_type_4": 0, "max_stellar_type_1": 0, "maximum": [0, 6, 7, 8, 9, 13, 14, 15, 21, 31, 37, 42], "stop": [0, 8, 13, 18, 19, 21], "when": [0, 1, 2, 3, 6, 7, 8, 11, 12, 15, 16, 19, 21, 22, 25, 27, 28, 29, 30, 31, 33, 36, 37, 39, 40], "reach": [0, 5, 6, 8], "neg": [0, 2, 37], "massless": 0, "remnant": [0, 6], "allow": [0, 2, 9, 17, 18, 21, 22, 28, 31, 39], "absolut": [0, 19, 37], "16": [0, 5, 14, 18, 31], "max_stellar_type_2": 0, "max_stellar_type_3": 0, "max_stellar_type_4": 0, "probabl": [0, 1, 2, 6, 8, 9, 13, 14, 15, 18, 20, 21, 24, 30, 31, 33, 34], "weight": [0, 14, 21], "appli": 0, "base": [0, 2, 3, 5, 8, 14, 15, 19, 20, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 42], "sai": [0, 6], "function": [0, 1, 2, 3, 4, 5, 6, 8, 9, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42], "run": [0, 1, 4, 5, 6, 7, 8, 13, 14, 17, 19, 20, 21, 25, 27, 29, 31, 34, 36, 40, 42], "grid": [0, 4, 5, 12, 19, 20, 22, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 42], "simul": [0, 1, 6, 8, 9, 14, 15, 36], "sum": [0, 2], "should": [0, 1, 2, 5, 6, 8, 12, 13, 14, 15, 18, 19, 21, 22, 24, 25, 29, 30, 31, 33, 36, 37, 39, 40], "phasevol": [0, 15], "system": [0, 4, 6, 7, 8, 9, 13, 14, 15, 17, 18, 19, 20, 21, 22, 24, 31, 32, 35, 39, 40, 42], "phase": [0, 6, 8, 13, 14], "volum": 0, "binary_grid": 0, "null": [0, 7, 19], "stellar_structure_algorithm": 0, "structur": [0, 2, 8, 19, 21, 24], "modifi": [0, 2, 9, 22, 39], "none": [0, 1, 2, 3, 5, 6, 7, 8, 13, 14, 15, 16, 18, 19, 20, 21, 25, 26, 28, 29, 30, 31, 33, 34, 36, 37, 42], "extern": 0, "defin": [0, 1, 15, 20, 24, 31, 34], "call": [0, 1, 2, 11, 12, 14, 15, 19, 20, 21, 24, 25, 29, 30, 32, 34, 36, 37, 38, 40], "code": [0, 1, 5, 9, 12, 13, 14, 15, 17, 18, 20, 24, 29, 30, 31, 33, 34, 36, 37, 40, 42], "yet": [0, 2, 18, 19, 21, 24], "implement": [0, 2, 21], "stellar_structure_algorithm_modified_bs": 0, "stellar_structure_algorithm_non": 0, "stellar_structure_algorithm_external_funct": 0, "stellar_structure_algorithm_mint": 0, "solver": 0, "forward": 0, "euler": 0, "could": [0, 3, 14, 15, 18, 19, 38], "rk2": 0, "rk4": 0, "predictor": 0, "corretor": 0, "solver_forward_eul": 0, "solver_rk2": 0, "solver_rk4": 0, "solver_predictor_corrector": 0, "max_evolution_tim": [0, 1, 6, 7, 8, 9, 12, 13, 14, 15, 16, 18, 37], "myr": [0, 6, 8, 12, 13, 14, 16, 37], "15000": [0, 5, 7, 9, 12, 15, 16, 18], "max_model_numb": 0, "number": [0, 2, 3, 5, 6, 8, 13, 14, 15, 16, 18, 19, 20, 21, 25, 30, 31, 32, 33, 34, 37], "model": [0, 1, 6, 8, 9, 12, 13, 14, 15, 16, 17, 18, 21], "ignor": [0, 2, 9, 12, 15, 18, 21, 31, 34], "monte_carlo_kick": 0, "turn": [0, 2, 3, 5, 12, 15, 19], "mont": [0, 21], "carlo": [0, 21], "sn": [0, 5, 6, 8, 13, 14, 16, 18], "kick": [0, 5, 18, 21], "On": [0, 15, 19, 30], "true": [0, 2, 3, 5, 6, 8, 11, 13, 14, 15, 17, 18, 19, 20, 21, 24, 25, 27, 29, 30, 33, 34, 36, 37, 38], "inde": [0, 14], "broken": 0, "fals": [0, 3, 5, 6, 8, 13, 14, 15, 16, 19, 20, 21, 24, 25, 27, 28, 29, 30, 34, 36, 37, 38], "disable_debug": 0, "disabl": [0, 15], "debug": [0, 6, 8, 13, 14, 15, 21, 32], "ha": [0, 1, 2, 5, 6, 8, 9, 11, 13, 14, 15, 18, 19, 21, 27, 30, 34], "an": [0, 2, 3, 5, 6, 7, 8, 11, 12, 14, 15, 18, 19, 21, 22, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 40], "requir": [0, 3, 8, 12, 13, 14, 15, 16, 18, 19, 21, 24, 25, 31, 40], "rebuild": [0, 21, 22, 25, 39], "timestep_log": 0, "timestep": [0, 8, 9, 12, 13, 14], "log": [0, 1, 4, 5, 7, 12, 16, 17, 19, 21, 22, 24, 30, 31, 32, 34, 37, 39, 40, 42], "rejects_in_log": 0, "show": [0, 4, 6, 7, 8, 12, 13, 14, 15, 18, 21, 24, 37], "reject": 0, "vandenheuvel_log": 0, "van": 0, "den": 0, "heuvel": 0, "custom_timeout_tim": 0, "custom": [0, 1, 2, 3, 4, 5, 7, 12, 13, 14, 15, 16, 19, 20, 21, 22, 24, 31, 40], "timeout": 0, "time": [0, 1, 2, 3, 5, 6, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 24, 27, 30, 31, 32, 37], "compil": [0, 1, 9, 15, 18, 22, 39], "david_custom_timeout": 0, "100": [0, 5, 6, 8, 13, 14, 31, 37], "evolution_split": 0, "split": [0, 5, 12, 15, 16, 18, 21, 29, 36], "evolutionari": [0, 12], "splitpoint": 0, "supernova": [0, 5, 8, 21], "occur": [0, 42], "disable_ev": 0, "whether": [0, 5, 7, 15, 19, 20, 21, 24, 29, 30, 31, 33, 36, 37, 38, 42], "new": [0, 2, 6, 8, 12, 13, 14, 15, 19, 20, 25, 30, 31, 34], "event": [0, 5, 6], "we": [0, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 25, 26, 27, 28, 29, 30, 31, 33, 36, 37, 39, 42], "evolution_splitting_sn_eccentricity_threshold": 0, "threshold": [0, 19, 21], "eccentr": [0, 7, 9, 12, 14, 15, 16, 18, 24, 31, 42], "abov": [0, 6, 9, 12, 14, 15, 19, 20, 31], "happen": [0, 6, 8], "01": [0, 8, 9, 13, 14, 15, 18], "evolution_splitting_sn_n": 0, "evolution_splitting_maxdepth": 0, "max": [0, 8, 9, 13, 14, 15, 21, 31], "equation_of_state_algorithm": 0, "equat": 0, "state": [0, 30], "paczynski": 0, "equation_of_state_paczynski": 0, "opacity_algorithm": 0, "opac": 0, "ferguson": 0, "opal": 0, "opacity_algorithm_paczynski": 0, "opacity_algorithm_ferguson_op": 0, "opacity_algorithm_star": 0, "wind_mass_loss": [0, 5], "2018": [0, 1], "sander": 0, "wink": 0, "2020": 0, "lbv": 0, "unsign": 0, "wind_algorithm_non": [0, 5], "wind_algorithm_hurley2002": 0, "wind_algorithm_schneider2018": 0, "wind_algorithm_binary_c_2020": [0, 5], "wind_algorithm_hendriks_2022": 0, "extra": [0, 4, 15, 21, 22, 32, 34, 40], "gbwind": 0, "first": [0, 2, 6, 8, 12, 13, 14, 15, 16, 19, 22, 25, 30, 31, 39, 42], "red": [0, 6, 14, 16], "giant": [0, 6, 16], "reimer": 0, "choos": [0, 6, 8, 9, 13, 18, 24, 25, 30], "gb_reimers_eta": 0, "rate": [0, 14, 31], "schroeder": 0, "cuntz": 0, "2005": 0, "gb_wind_reim": 0, "gb_wind_schroeder_cuntz_2005": 0, "gb_wind_goldman_etal_2017": 0, "gb_wind_beasor_etal_2020": 0, "postagbwind": 0, "special": [0, 15], "post": [0, 5, 6, 8, 9, 20], "A": [0, 2, 4, 5, 15, 28, 42], "gb": 0, "postagb_wind_use_gi": 0, "mean": [0, 5, 19, 21, 22, 29, 31, 36, 37, 39], "whatev": [0, 9, 18, 19, 20, 22, 25, 30, 39], "prescrib": 0, "option": [0, 1, 2, 6, 8, 13, 14, 15, 16, 17, 18, 19, 20, 22, 25, 26, 28, 30, 31, 33, 34, 37, 39, 42], "includ": [0, 1, 2, 5, 6, 9, 12, 14, 15, 16, 19, 20, 22, 24, 30, 31, 39], "postagb_wind_non": 0, "postagb_wind_krticka2020": 0, "krticka": 0, "kub\u00e1t": 0, "krtickov\u00e1": 0, "635": 0, "a173": 0, "postagb_wind_gi": 0, "teff_postagb_min": 0, "minimum": [0, 7, 19, 21, 31, 37, 38, 42], "temperatur": [0, 16, 24, 31], "teff_postagb_max": 0, "6000": 0, "k": [0, 6, 16, 31], "120000": 0, "mattsson_orich_tpagbwind": 0, "experiment": [0, 19], "mattsson": 0, "oxygen": [0, 6], "rich": 0, "mattsson_mass_loss": 0, "magnetic_braking_factor": 0, "multipli": [0, 2, 14, 21, 37], "brake": 0, "angular": [0, 16, 24], "momentum": [0, 16], "magnetic_braking_gamma": 0, "gamma": 0, "factor": [0, 2, 21, 37], "rappaport": 0, "style": [0, 19, 32], "express": [0, 19], "magnetic_braking_algorithm": 0, "andronov": 0, "pinnsonneault": 0, "sill": 0, "2003": [0, 31], "barn": 0, "kim": 0, "2010": [0, 21, 31], "magnetic_braking_algorithm_hurley_2002": 0, "magnetic_braking_algorithm_andronov_2003": 0, "magnetic_braking_algorithm_barnes_2010": 0, "magnetic_braking_algorithm_rappaport_1983": 0, "helium_flash_mass_loss": 0, "lost": [0, 8, 18], "flash": 0, "multipl": [0, 2, 6, 21, 31], "cf": 0, "eta": [0, 13], "formula": [0, 19], "4e": [0, 18], "8e": 0, "gbwindfac": 0, "tpagbwindfac": 0, "eagbwindfac": 0, "nieuwenhuijzen_windfac": 0, "nieuwenhuijzen": 0, "de": [0, 5], "jager": 0, "tpagbwind": 0, "dure": [0, 5, 16, 18], "karaka": 0, "vassiliadi": 0, "wood": 0, "1993": 0, "bloecker": 0, "loon": 0, "rob": [0, 31, 42], "c": [0, 1, 5, 7, 9, 12, 15, 22, 39, 40], "variant": 0, "respect": [0, 29, 31, 36], "goldman": 0, "2017": [0, 15, 21, 31], "beasor": 0, "tpagb_wind_vw93_karaka": 0, "tpagb_wind_vw93_orig": 0, "tpagb_wind_reim": 0, "tpagb_wind_bloeck": 0, "tpagb_wind_van_loon": 0, "tpagb_wind_rob_cwind": 0, "tpagb_wind_vw93_karakas_carbon_star": 0, "tpagb_wind_vw93_orig_carbon_star": 0, "tpagb_wind_mattsson": 0, "tpagb_wind_goldman_etal_2017": 0, "tpagb_wind_beasor_etal_2020": 0, "eagbwind": 0, "vw93": 0, "eagb_wind_bs": 0, "eagb_wind_goldman_etal_2017": 0, "eagb_wind_beasor_etal_2020": 0, "wind_gas_to_dust_ratio": 0, "ga": 0, "dust": 0, "ratio": [0, 6, 7, 8, 13, 14, 15, 31, 42], "calcul": [0, 2, 6, 8, 13, 14, 15, 19, 21, 27, 31, 34, 42], "typic": 0, "200": 0, "milki": 0, "wai": [0, 2, 5, 12, 14, 20, 21, 25], "500": 0, "magellan": 0, "cloud": 0, "approxim": [0, 6, 8], "mw": 0, "vwind_multipli": 0, "vwind_beta": 0, "beta": 0, "speed": [0, 28], "where": [0, 1, 2, 6, 13, 14, 15, 19, 21, 22, 25, 27, 30, 31, 33, 37, 39], "vwind": 0, "sqrt": 0, "escap": 0, "125": [0, 15], "from": [0, 2, 3, 5, 6, 8, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 24, 25, 29, 30, 31, 34, 36, 38, 42], "superwind_mira_switchon": 0, "In": [0, 2, 5, 6, 8, 9, 11, 12, 13, 14, 15, 18, 21, 30, 37], "agb": [0, 6], "superwind": 0, "given": [0, 1, 3, 7, 13, 14, 17, 18, 19, 20, 21, 25, 28, 29, 30, 31, 34, 36, 37, 40, 42], "mira": 0, "vari": [0, 6, 8, 15], "switch": 0, "vw93_mira_shift": 0, "depend": [0, 6, 19, 21, 22, 24, 31, 39], "plu": 0, "offset": 0, "vw93_multipli": 0, "tpagb_reimers_eta": 0, "tout_pringle_1992_multipli": 0, "tout": [0, 42], "pringl": 0, "1992": 0, "artificial_mass_accretion_r": 0, "d": [0, 1, 5, 6, 8, 9, 12, 13, 15, 16, 19, 37], "constant": [0, 2, 14, 24, 31, 37], "accret": [0, 5], "n": [0, 1, 5, 6, 7, 8, 9, 12, 13, 14, 15, 17, 18, 19, 21, 25, 31], "scanf": 0, "artificial_mass_accretion_rate_by_stellar_typ": 0, "artificial_angular_momentum_accretion_r": 0, "artificial_orbital_angular_momentum_accretion_r": 0, "orbit": [0, 5, 7, 8, 13, 16, 24, 31, 42], "artificial_accretion_start_tim": 0, "artifici": 0, "artificial_accretion_ignor": 0, "artificial_accretion_end_tim": 0, "end": [0, 5, 19, 21, 27, 31], "wr_wind": 0, "massiv": [0, 5, 6, 8, 13, 16, 31], "wr": 0, "maeder": 0, "meynet": 0, "nugi": 0, "lamer": 0, "john": 0, "eldridg": 0, "vink": 0, "earli": [0, 22, 39], "lynnett": 0, "drai": 0, "thesi": 0, "wr_wind_bs": 0, "wr_wind_maeder_meynet": 0, "wr_wind_nugis_lam": 0, "wr_wind_eldridg": 0, "wr_wind_fac": 0, "wrwindfac": 0, "synonym": 0, "instead": [0, 5, 14, 19, 21], "bh_prescript": [0, 5], "prescrit": 0, "relat": 0, "newli": 0, "form": [0, 6, 7, 8, 13, 14, 15, 20, 25, 30, 33, 38], "its": [0, 2, 3, 13, 14, 15, 16, 19, 21, 22, 24, 25, 26, 30, 33, 37, 38, 39, 40], "progenitor": [0, 15], "co": [0, 5], "core": [0, 6, 8, 13, 14, 15, 21, 24], "bh_hurley2002": 0, "bh_belczynski": [0, 5], "belczynski": 0, "bh_spera2015": 0, "spera": 0, "2015": 0, "bh_fryer12_delai": 0, "fryer": 0, "2012": [0, 31], "delai": [0, 21], "bh_fryer12_rapid": [0, 5], "rapid": 0, "bh_fryer12_startrack": 0, "startrack": 0, "ppisn_prescript": 0, "pulsat": 0, "pair": [0, 2, 5, 19, 34, 38], "instabl": 0, "undergo": [0, 8], "ppisn": 0, "pisn": 0, "flag": [0, 1, 20, 21, 30, 37, 38], "binary_c_paramet": [0, 6, 13, 14, 15], "h": [0, 5, 9, 19], "farmer": 0, "2019": [0, 18], "hendrik": [0, 18, 22, 39], "21": [0, 1, 5, 15, 18], "prep": 0, "fit": [0, 2, 12, 31, 42], "data": [0, 3, 4, 5, 6, 7, 8, 12, 13, 14, 15, 16, 18, 19, 21, 22, 25, 26, 30, 31, 34, 40, 42], "ppisn_non": 0, "ppisn_farmer19": 0, "ppisn_new_fit_21": 0, "ppisn_additional_massloss": 0, "addit": 0, "massloss": 0, "top": [0, 15, 34], "result": [0, 1, 2, 3, 8, 12, 13, 14, 15, 18, 19, 21, 22, 25, 30, 31, 37, 39], "posit": [0, 2, 8, 31], "ppisn_core_mass_range_shift": 0, "shift": 0, "taken": [0, 2, 9, 31], "account": [0, 21, 31], "remov": [0, 2, 8, 12, 15, 16, 19, 20], "lower": [0, 13, 15, 31, 34, 37], "higher": [0, 6, 8, 13, 14, 15, 19, 21, 22, 31, 39], "ppisn_massloss_multipli": 0, "p": [0, 6, 8, 13, 14, 16, 31, 33], "THe": [0, 20], "affect": [0, 5, 6], "use_lwn_fallback": 0, "nazehdin": 0, "lovegrov": 0, "wooslei": 0, "envelop": [0, 4, 5, 6, 22], "eject": [0, 8, 16], "fail": [0, 6, 8, 13, 14, 15, 19, 21, 22, 30, 39], "sn_kick_distribution_ii": 0, "distribut": [0, 2, 4, 8, 13, 15, 19, 25, 26, 31, 37], "ii": [0, 18], "collaps": 0, "fix": [0, 5, 12, 19, 20, 24, 30, 31, 32], "maxwellian": 0, "kick_velocity_fix": 0, "kick_velocity_maxwellian": 0, "kick_velocity_custom": 0, "sn_kick_distribution_ecap": 0, "electron": 0, "captur": [0, 5, 13, 19], "sn_kick_distribution_ns_n": 0, "neutron": [0, 6, 15], "surviv": [0, 16], "merger": [0, 5], "sn_kick_distribution_ibc": 0, "born": [0, 6, 13, 14], "after": [0, 6, 8, 9, 13, 14, 15, 20, 21, 30, 34, 37], "ib": [0, 5], "sn_kick_distribution_grb_collapsar": 0, "collapsar": 0, "sn_kick_distribution_tz": 0, "death": 0, "thorn": 0, "zytkow": 0, "object": [0, 2, 3, 4, 5, 7, 11, 16, 19, 20, 21, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40], "sn_kick_distribution_aic_bh": 0, "induc": 0, "sn_kick_distribution_bh_bh": 0, "sn_kick_distribution_bh_n": 0, "sn_kick_distribution_ia_hybrid_hecowd": 0, "ani": [0, 3, 12, 15, 19, 20, 22, 25, 31, 34, 38, 39], "survivor": 0, "hybrid": 0, "he": [0, 5], "snia": 0, "explos": [0, 5, 6, 18], "sn_kick_distribution_ia_hybrid_hecowd_sublumin": 0, "sublumin": 0, "sn_kick_distribution_ppisn": 0, "sn_kick_distribution_pisn": 0, "sn_kick_distribution_phdi": 0, "phdi": 0, "sn_kick_dispersion_ii": [0, 5], "dispers": [0, 37], "190": [0, 5, 18], "sn_kick_dispersion_ecap": 0, "sn_kick_dispersion_ns_n": 0, "sn_kick_dispersion_ibc": [0, 5], "sn_kick_dispersion_grb_collapsar": [0, 5], "sn_kick_dispersion_tz": 0, "sn_kick_dispersion_aic_bh": 0, "sn_kick_dispersion_bh_bh": 0, "sn_kick_dispersion_bh_n": 0, "sn_kick_dispersion_ia_hybrid_hecowd": 0, "sn_kick_dispersion_ia_hybrid_hecowd_sublumin": 0, "sn_kick_dispersion_ppisn": 0, "sn_kick_dispersion_pisn": 0, "sn_kick_dispersion_phdi": 0, "sn_kick_companion_ia_h": 0, "algothim": 0, "companion": [0, 5, 18, 30], "ia": [0, 8], "liu": 0, "wheeler": 0, "1975": 0, "sn_impulse_non": 0, "sn_impulse_liu2015": 0, "sn_impulse_wheeler1975": 0, "sn_kick_companion_ia_eld": 0, "eld": 0, "sub": [0, 2, 19], "mch": 0, "sn_kick_companion_ia_chand": 0, "sn_kick_companion_a": 0, "sn_kick_companion_ecap": 0, "sn_kick_companion_ia_he_co": 0, "sn_kick_companion_ia_chand_co": 0, "sn_kick_companion_ns_n": 0, "sn_kick_companion_grb_collapsar": 0, "grb": 0, "rapidli": [0, 22, 39], "ibc": 0, "sn_kick_companion_hestaria": 0, "sn_kick_companion_ibc": 0, "sn_kick_companion_ii": 0, "sn_kick_companion_iia": 0, "iia": 0, "sn_kick_companion_wdkick": 0, "wd": 0, "sn_kick_companion_tz": 0, "sn_kick_companion_aic_bh": 0, "sn_kick_companion_bh_bh": 0, "merg": [0, 2, 5, 6, 8, 21, 25, 30, 31, 32], "sn_kick_companion_bh_n": 0, "sn_kick_companion_ia_hybrid_hecowd": 0, "sn_kick_companion_ia_hybrid_hecowd_sublumin": 0, "sn_kick_companion_ppisn": 0, "sn_kick_companion_pisn": 0, "sn_kick_companion_phdi": 0, "wd_sigma": 0, "thei": [0, 2, 5, 6, 8, 13, 15, 16, 20, 21, 24, 25, 29, 36, 37], "zero": [0, 1, 4, 5, 6, 8, 19, 21, 22, 30], "wd_kick": 0, "wd_kick_direct": 0, "direct": [0, 20], "random": [0, 5, 7, 18, 21], "up": [0, 1, 4, 5, 9, 12, 16, 19, 20, 25, 26, 28, 29, 31, 36], "backward": 0, "inward": 0, "outward": 0, "kick_random": 0, "kick_straight_up": 0, "kick_forward": 0, "kick_backward": 0, "kick_inward": 0, "kick_outward": 0, "wd_kick_when": 0, "decid": [0, 2, 9, 17, 18, 19, 20, 21, 25], "birth": 0, "rlof": [0, 5, 7, 42], "puls": [0, 6, 42], "wd_kick_pulse_numb": 0, "everi": [0, 8, 19, 21, 22, 39], "wd_kick_end_agb": 0, "wd_kick_first_rlof": 0, "wd_kick_at_given_puls": 0, "wd_kick_at_every_puls": 0, "desir": 0, "pre": [0, 5, 8, 15, 18, 24], "minimum_helium_ignition_core_mass": 0, "ignit": [0, 6], "case": [0, 2, 4, 7, 15, 19, 21, 22, 25, 30, 37, 39], "strip": [0, 7, 12, 16], "make": [0, 1, 2, 3, 5, 6, 8, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 24, 25, 29, 30, 31, 39, 40, 42], "sdb": 0, "sdo": 0, "total": [0, 2, 6, 8, 13, 14, 15, 18, 19, 21, 24, 31, 34], "minimum_co_core_mass_for_carbon_ignit": 0, "carbon": [0, 6], "assum": [0, 6, 8, 13, 16, 24, 37], "mc": [0, 5, 15, 18, 30], "bagb": 0, "6msun": 0, "around": [0, 5, 9, 12, 17, 18], "08msun": 0, "pol": 0, "1998": [0, 31], "08": [0, 5, 18], "minimum_co_core_mass_for_neon_ignit": 0, "neon": [0, 6], "42msun": 0, "have": [0, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 24, 25, 29, 30, 33, 36, 39, 40], "explod": 0, "electon": 0, "42": [0, 5, 8, 15], "minimum_mcbagb_for_nondegenerate_carbon_ignit": 0, "degener": 0, "25msun": 0, "25": [0, 5, 6, 8, 18], "maximum_mcbagb_for_degenerate_carbon_ignit": 0, "max_neutron_star_mass": 0, "befor": [0, 2, 5, 6, 8, 13, 14, 15, 20, 21, 22, 30, 31, 39], "2msun": 0, "chandrasekhar_mass": 0, "chandrasekhar": 0, "44msun": 0, "38": [0, 5, 15], "delta_mcmin": 0, "reduc": [0, 5], "third": [0, 16, 31, 37], "dredg": 0, "As": [0, 6, 8, 12, 13, 14, 15], "izzard": [0, 22, 39], "2004": 0, "increas": [0, 5, 8, 13, 14], "henc": [0, 8, 14, 16], "lambda_min": 0, "effici": [0, 6, 8], "lambda": [0, 5, 8], "lambda_mult": 0, "impli": 0, "onc": [0, 37], "mcmin": 0, "lambda_multipli": 0, "minimum_envelope_mass_for_third_dredgeup": 0, "straniero": 0, "suggest": [0, 22, 39], "5msun": 0, "howev": [0, 9, 14, 15], "circumstanti": 0, "evid": 0, "2009": 0, "well": [0, 3, 9, 12, 13, 14, 21, 22, 39], "newer": [0, 2, 22, 39], "stancliff": 0, "low": [0, 6, 8, 14, 31], "nearer": 0, "more": [0, 1, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 37, 39], "appropri": [0, 5, 15, 21, 25, 28, 29, 30, 34, 36], "mass_of_pmz": 0, "partial": 0, "mix": [0, 2, 21], "zone": 0, "tabl": [0, 31, 37], "ask": [0, 7, 42], "abat": 0, "detail": [0, 6, 12, 19, 21], "seri": [0, 37], "paper": 0, "2013": 0, "2014": [0, 31], "use_tabular_intershell_abundances_karakas_2012": 0, "c13_eff": 0, "intershel": 0, "region": [0, 37], "process": [0, 5, 6, 8, 13, 14, 15, 17, 18, 19, 20, 21, 25, 29], "gallino": 0, "busso": 0, "lugaro": 0, "provid": [0, 15, 16, 20, 21, 22, 25, 31, 39, 40], "maria": 0, "nucsyn_s_process": 0, "mc13_pocket_multipli": 0, "tides_convective_damp": 0, "tidal": [0, 5], "convect": 0, "damp": 0, "tides_hurley2002": 0, "zahn": 0, "197x": 0, "timescal": 0, "hut": 0, "tides_zahn1989": 0, "1989": 0, "e2_prescript": 0, "how": [0, 2, 4, 5, 6, 7, 8, 9, 12, 13, 14, 15, 18, 21, 27, 31, 34], "e2": 0, "siess": 0, "e2_hurley_2002": 0, "e2_izzard": 0, "e2_mint": 0, "dtfac": 0, "decreas": 0, "hbbtfac": 0, "modul": [0, 7, 8, 11, 13, 14, 15, 21, 23], "hot": 0, "bottom": [0, 15, 34], "burn": 0, "wind_multiplier_": 0, "specifi": [0, 21, 25, 37], "intger": 0, "By": [0, 6, 13, 14, 15, 18, 21], "wind_type_multiplier_": 0, "pre_main_sequ": 0, "rather": [0, 2, 9, 12, 15, 19, 21, 25, 38], "fraction": [0, 13, 18, 21, 31], "radii": [0, 42], "match": [0, 2, 6, 12, 13, 15, 16, 21, 24, 28], "railton": 0, "pre_main_sequence_fit_lob": 0, "forc": [0, 5, 21, 27], "roch": [0, 5, 8, 42], "lobe": [0, 5, 8, 42], "done": [0, 2, 5, 6, 13, 14, 15, 18, 21, 22, 30, 39], "small_envelope_method": 0, "method": [0, 9, 11, 12, 14, 15, 18, 20, 21, 26, 30, 32, 33, 34, 38], "determin": [0, 7, 9, 13, 14, 15, 20, 31, 34, 42], "radiu": [0, 1, 6, 9, 15, 17, 24, 42], "veri": [0, 5, 6, 7, 8, 9, 12, 14, 15, 30, 34, 37], "thin": 0, "miller": 0, "bertolami": 0, "2016": 0, "small_envelope_method_bs": 0, "small_envelope_method_miller_bertolami": 0, "timestep_modul": 0, "global": [0, 2, 14, 19, 31, 37], "timestep_multipli": 0, "maximum_timestep": 0, "zoomfac_multiplier_decreas": 0, "zoomfac_multiplier_increas": 0, "zoom": [0, 37], "succe": 0, "maximum_timestep_factor": 0, "subsequ": 0, "maximum_nuclear_burning_timestep": 0, "nuclear": 0, "nova_retention_method": 0, "retain": 0, "nova": [0, 6, 8], "nova_retention_fract": 0, "pend": [0, 5], "nova_retention_algorithm_const": 0, "nova_retention_algorithm_claeys2014": 0, "nova_retention_algorithm_hillman2015": 0, "mint_metal": 0, "mint": 0, "It": [0, 6, 7, 8, 11, 12, 13, 14, 15, 16, 18, 21, 22, 30, 33, 39], "normal": [0, 2, 20, 25, 37, 38], "gaia_teff_binwidth": 0, "log10": [0, 6, 8, 13, 14, 15, 31, 37], "bin": [0, 8, 13, 14, 19, 21, 22, 37, 39], "width": [0, 8, 19], "gaia": [0, 31], "hrd": [0, 6, 8], "gaia_l_binwidth": 0, "luminos": [0, 4, 6, 22, 24], "gaia_colour_transform_method": 0, "select": [0, 3, 12, 13, 16, 18, 19], "transform": [0, 3], "colour": 0, "scheme": 0, "gaia_conversion_ubvri_univariate_jordi2010": 0, "jordi": 0, "univari": 0, "ubvri": 0, "gaia_conversion_ubvri_bivariate_jordi2010": 0, "bivari": 0, "gaia_conversion_ugriz_univariate_jordi2010": 0, "gaia_conversion_ugriz_bivariate_jordi2010": 0, "ugriv": 0, "gaia_conversion_ubvri_univariate_evans2018": 0, "evan": 0, "dr2": 0, "gaia_conversion_ugriz_univariate_evans2018": 0, "gaia_conversion_ubvri_riello2020": 0, "riello": 0, "dr3": 0, "gaia_conversion_ugriz_riello2020": 0, "rotationally_enhanced_mass_loss": 0, "enabl": [0, 7], "rotation": 0, "enhanc": 0, "langer": 0, "rotationally_enhanced_massloss_langer_formula": 0, "rotationally_enhanced_expon": 0, "rotationally_enhanced_massloss_non": 0, "rotationally_enhanced_massloss_angmom": 0, "rotationally_enhanced_massloss_langer_formula_and_angmom": 0, "agb_core_algorithm": 0, "overshoot": 0, "agb_core_algorithm_default": 0, "agb_core_algorithm_hurlei": 0, "agb_core_algorithm_karaka": 0, "agb_radius_algorithm": 0, "agb_radius_algorithm_default": 0, "agb_radius_algorithm_hurlei": 0, "agb_radius_algorithm_karaka": 0, "agb_luminosity_algorithm": 0, "agb_luminosity_algorithm_default": 0, "agb_luminosity_algorithm_hurlei": 0, "agb_luminosity_algorithm_karaka": 0, "agb_3dup_algorithm": 0, "agb_third_dredge_up_algorithm_default": 0, "agb_third_dredge_up_algorithm_hurlei": 0, "agb_third_dredge_up_algorithm_karaka": 0, "agb_third_dredge_up_algorithm_stancliff": 0, "overspin_algorithm": 0, "what": [0, 1, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 18, 21, 22, 25, 31, 33, 37, 38, 39, 40], "do": [0, 1, 2, 5, 6, 7, 8, 9, 11, 13, 14, 15, 18, 20, 21, 22, 24, 25, 30, 31, 33, 37, 39, 42], "breakup": 0, "overspin_bs": 0, "conserv": 0, "transfer": [0, 6, 21], "back": [0, 2, 5], "overspin_massloss": 0, "rotationally_enhanced_massloss": 0, "lose": [0, 18], "carri": 0, "awai": [0, 13], "expon": [0, 19], "power": [0, 8, 14, 21, 31], "rais": [0, 2, 15, 19, 21], "batchmod": 0, "control": [0, 6, 13, 14, 15, 21], "variabl": [0, 4, 6, 7, 8, 13, 19, 21, 29, 30, 34], "know": [0, 1, 2, 7, 12, 14, 21, 30, 33], "speedtest": 0, "off": [0, 5, 15, 18, 21], "use_fixed_timestep_": 0, "boolean": [0, 2, 7, 19, 20, 21, 24, 38, 42], "task": [0, 18, 19, 20, 24, 25, 28, 31, 37, 40, 42], "perform": [0, 30], "For": [0, 2, 9, 12, 13, 14, 24], "binary_c_macro": 0, "particularli": 0, "binary_c_task_": 0, "orbiting_object": [0, 16], "usag": [0, 4], "spinrat": 0, "central_object": 0, "orbiting_objects_log": [0, 16], "orbiting_objects_wind_accretion_multipli": 0, "orbiting_objects_close_pc_threshold": 0, "close": [0, 8, 14, 16, 30], "percentag": 0, "orbiting_objects_tides_multipli": 0, "torqu": 0, "evaporate_escaped_orbiting_object": 0, "evapor": 0, "rlof_transition_objects_escap": 0, "otherwis": [0, 2, 19, 20, 21, 25, 27, 29, 30, 33, 36], "place": [0, 2, 13, 19, 21], "outsid": [0, 31], "stabl": [0, 22, 39], "pn_resolv": 0, "shorten": [0, 5], "resolv": [0, 13, 30], "better": [0, 2, 4, 7, 15, 25, 29, 30, 36, 42], "pn": 0, "pn_resolve_minimum_luminos": 0, "resolut": [0, 6, 8, 13, 14, 15, 21, 34, 37], "pne": 0, "31": [0, 5, 7, 18], "62": [0, 13], "pn_resolve_maximum_envelope_mass": 0, "below": [0, 4, 6, 7, 8, 9, 13, 14, 15, 21, 31], "pn_resolve_minimum_effective_temperatur": 0, "12500": 0, "pn_fast_wind": 0, "fast": 0, "pn_fast_wind_dm_gb": 0, "pn_fast_wind_mdot_gb": 0, "06": [0, 5, 9, 12, 13], "pn_fast_wind_dm_agb": 0, "pn_fast_wind_mdot_agb": 0, "hewd_hewd_ignition_mass": 0, "reignit": 0, "wind_nieuwenhuijzen_luminosity_lower_limit": 0, "activ": [0, 21, 22, 39], "4e3": 0, "lsun": [0, 24], "4000": 0, "wind_lbv_luminosity_lower_limit": 0, "6e5": 0, "600000": 0, "num_ansi_colour": 0, "extend": [0, 8, 22, 38, 39], "ansi": [0, 19], "255": [0, 5], "src": [0, 7, 9, 22, 39], "ansi_colour": 0, "int": [0, 1, 2, 5, 7, 13, 15, 19, 20, 21, 25, 31, 32, 33, 34, 37, 42], "apply_darwin_radau_correct": 0, "darwin": 0, "radau": 0, "correct": [0, 12, 20, 22, 24, 31, 32, 39, 42], "moment": [0, 6, 9, 15, 18, 37], "inertia": 0, "take": [0, 2, 8, 13, 15, 18, 19, 21, 26, 30, 31, 34, 40], "degenerate_core_merger_nucsyn": 0, "degner": 0, "energi": 0, "gener": [0, 1, 4, 7, 9, 12, 13, 15, 17, 18, 19, 20, 21, 24, 25, 30, 31, 33, 34, 37], "nucleosynthesi": [0, 38], "whole": [0, 8, 9, 20, 21], "disrupt": [0, 5, 18], "degenerate_core_helium_merger_ignit": 0, "r": [0, 1, 5, 6, 12, 15, 18, 22, 30, 39], "degenerate_core_merger_dredgeup_fract": 0, "separ": [0, 3, 5, 6, 7, 9, 12, 15, 16, 17, 18, 24, 30, 31, 42], "actual": [0, 3, 6, 8, 9, 12, 13, 14, 15, 20, 21, 22, 24, 29, 31, 37, 39], "semi": 0, "major": 0, "axi": [0, 24], "indic": [0, 31], "want": [0, 2, 3, 5, 8, 9, 13, 14, 15, 18, 19, 21, 22, 24, 25, 30, 31, 33, 34, 39], "either": [0, 2, 3, 13, 14, 15, 18, 20, 21, 34, 38, 40], "separation_tripl": 0, "tripl": [0, 21, 31], "separation_quadrupl": 0, "quadrupl": [0, 21, 31], "orbital_period": [0, 5, 7, 8, 9, 12, 13, 15, 17, 18, 42], "orbital_period_tripl": 0, "orbital_period_quadrupl": 0, "outer": [0, 6], "quadrulpl": 0, "eccentricity_tripl": 0, "eccentricity_quadrupl": 0, "inclini": 0, "orbital_inclin": 0, "rel": 0, "incliniation_tripl": 0, "incliniation_quadrupl": 0, "orbital_inclinationi": 0, "orbital_phas": 0, "orbital_phase_tripl": 0, "orbital_phase_quadrupl": 0, "argument_of_periastron": 0, "argument": [0, 2, 5, 7, 12, 15, 16, 17, 18, 19, 20, 21, 25, 26, 31, 38, 40], "periastron": 0, "argument_of_periastron_tripl": 0, "argument_of_periastron_quadrupl": 0, "disc_timestep_factor": 0, "natur": [0, 14], "disc": [0, 16], "white_dwarf_cooling_model": 0, "cool": [0, 6], "white_dwarf_cooling_mestel": 0, "mestel": 0, "white_dwarf_cooling_mestel_modifi": 0, "white_dwarf_cooling_carrasco2014": 0, "carrasco": 0, "white_dwarf_radius_model": 0, "perhap": [0, 6, 8, 20], "white_dwarf_radius_nauenberg1972": 0, "nauenberg": 0, "1972": 0, "white_dwarf_radius_mu": 0, "mu": 0, "white_dwarf_radius_carrasco2014": 0, "cbdisc_mass_loss_inner_viscous_accretion_method": 0, "inner": [0, 16], "edg": [0, 6, 15, 34], "circumbinari": 0, "goe": [0, 2, 9, 12, 24], "young": 0, "clark": 0, "gerosa": 0, "50": [0, 5, 14, 15], "cbdisc_mass_loss_inner_viscous_accretion_method_young_clarke_2015": 0, "cbdisc_mass_loss_inner_viscous_accretion_method_gerosa_2015": 0, "cbdisc_mass_loss_inner_viscous_accretion_method_equ": 0, "cbdisc_mass_loss_inner_viscous_accretion_method_non": 0, "cbdisc_inner_edge_strip": 0, "cbdisc_end_evolution_after_disc": 0, "cbdisc_no_wind_if_cbdisc": 0, "cbdisc_outer_edge_strip": 0, "disc_n_monte_carlo_guess": 0, "guess": [0, 31], "try": [0, 2, 5, 8, 12, 13, 14, 15, 22, 25, 30, 34, 39], "list": [0, 1, 2, 3, 6, 8, 12, 13, 14, 15, 16, 19, 21, 22, 25, 28, 31, 34, 37, 39, 40], "disc_log": 0, "disc_log_level_non": 0, "disc_log_level_norm": 0, "disc_log_level_subtimestep": 0, "disc_log_level_normal_first_disc_onli": 0, "disc_log_level_subtimestep_first_disc_onli": 0, "disc_log2d": 0, "2d": 0, "disc_log_dt": 0, "disc_log_directori": 0, "directori": [0, 4, 15, 19, 20, 21, 22, 25, 28, 29, 30, 33, 36, 39], "sent": 0, "exist": [0, 2, 6, 15, 18, 21, 25, 30, 33, 34], "string": [0, 1, 2, 3, 4, 7, 12, 13, 14, 15, 16, 19, 20, 21, 24, 25, 29, 30, 33, 34, 36, 38, 40], "tmp": [0, 12, 13, 14, 15, 19, 22, 39], "post_ce_adaptive_menv": 0, "post_ce_objects_have_envelop": 0, "ce": [0, 8], "sit": 0, "insid": 0, "post_ce_envelope_dm_gb": 0, "post_ce_envelope_dm_eagb": 0, "post_ce_envelope_dm_tpagb": 0, "common": [0, 4, 5, 6, 9, 12, 13, 14, 15, 22], "need": [0, 2, 7, 9, 12, 13, 14, 15, 16, 18, 21, 22, 25, 31, 39, 42], "mai": [0, 8, 13, 30], "unstabl": [0, 5], "mani": [0, 5, 6, 7, 8, 11, 13, 14, 15, 16, 21, 29], "cee": [0, 8], "pn_comenv_transition_tim": 0, "transit": 0, "year": [0, 31], "1e2": 0, "move": [0, 6], "teff": [0, 5, 31], "30e4": 0, "hall": 0, "minimum_time_between_pn": 0, "planetari": 0, "nebula": 0, "detect": [0, 5, 8, 16], "prevent": [0, 5, 6, 21], "trigger": 0, "pn_hall_fading_time_algorithm": 0, "45msun": 0, "fade": 0, "pn_hall_fading_time_algorithm_minimum": 0, "pn_hall_fading_time_algorithm_maximum": 0, "shown": [0, 24, 37], "fig": [0, 18, 31], "ppn_envelope_mass": 0, "cbdisc_eccentricity_pumping_method": 0, "variou": 0, "pump": 0, "cbdisc_eccentricity_pumping_non": 0, "cbdisc_eccentricity_pumping_dermin": 0, "cbdisc_viscous_photoevaporative_coupl": 0, "viscou": 0, "photoevapor": 0, "coupl": [0, 4], "cbdisc_viscous_photoevaporative_coupling_non": 0, "cbdisc_viscous_photoevaporative_coupling_inst": 0, "instant": 0, "cbdisc_viscous_photoevaporative_coupling_visc": 0, "slow": [0, 6, 8, 13, 14], "cbdisc_inner_edge_stripping_timescal": 0, "long": [0, 5, 6, 8, 15, 21, 27, 30, 34, 38, 41], "revap_in": 0, "disc_stripping_timescale_inst": 0, "disc_stripping_timescale_infinit": 0, "disc_stripping_timescale_visc": 0, "disc_stripping_timescale_orbit": 0, "cbdisc_outer_edge_stripping_timescal": 0, "revap_out": 0, "cbdisc_viscous_l2_coupl": 0, "l2": 0, "gravitational_radiation_model": 0, "gravit": [0, 6, 8, 15], "radiat": 0, "landau": 0, "lifshitz": 0, "1951": [0, 14], "gravitational_radiation_bs": 0, "gravitational_radiation_bse_when_no_rlof": 0, "gravitational_radiation_non": 0, "gravitational_radiation_landau_lifshitz": 0, "gravitational_radiation_landau_lifshitz_when_no_rlof": 0, "nova_irradiation_multipli": 0, "radi": 0, "shara": 0, "1986": [0, 31], "gravitational_radiation_modulator_j": 0, "wave": [0, 6, 8, 15], "gravitational_radiation_modulator_": 0, "nova_faml_multipli": 0, "friction": 0, "rlof_angular_momentum_transfer_model": 0, "rlof_angular_momentum_transfer_model_bs": 0, "rlof_angular_momentum_transfer_model_conserv": 0, "post_sn_orbit_method": 0, "tauri": 0, "post_sn_orbit_bs": 0, "post_sn_orbit_tt98": 0, "singl": [0, 4, 5, 6, 7, 13, 14, 17, 18, 20, 21, 22, 24, 25, 31, 39], "accretion_limit_eddington_steady_multipli": 0, "steadi": 0, "eddington": 0, "spheric": 0, "symmetr": 0, "known": [0, 6, 12, 13, 14, 15, 20, 31, 40], "trade": 0, "anyth": [0, 13, 14, 15, 19, 21, 37], "greater": 0, "than": [0, 2, 5, 6, 8, 13, 14, 15, 19, 21, 22, 25, 30, 31, 38, 39], "potenti": 0, "give": [0, 5, 8, 19, 20, 31, 42], "super": 0, "accretion_limit_eddington_lmms_multipli": 0, "accretion_limit_eddington_wd_to_remnant_multipli": 0, "onto": [0, 31], "anoth": [0, 25], "accretion_limit_thermal_multipli": 0, "accretor": [0, 5, 42], "thermal": [0, 6, 31, 42], "accretion_limit_dynamical_multipli": 0, "dynam": 0, "donor_limit_envelope_multipli": 0, "donor": [0, 5, 42], "per": [0, 5, 8, 12, 13, 15, 19, 21, 30, 42], "donor_limit_thermal_multipli": 0, "donor_limit_dynamical_multipli": 0, "bondi_hoyle_accretion_factor": 0, "bondi": 0, "hoyl": 0, "littleton": 0, "multiplc": 0, "tidal_strength_factor": 0, "strength": 0, "tide": [0, 16], "stronger": [0, 6], "hachisu_qcrit": 0, "critic": 0, "q": [0, 5, 8, 13, 15, 18, 21, 31, 42], "maccretor": [0, 5], "mdonor": [0, 5], "hachisu": 0, "disk": [0, 20], "hachisu_ignore_qcrit": 0, "hachisu_disk_wind": 0, "materi": [0, 6], "too": [0, 2, 6, 7, 14, 16, 21, 22, 39, 40], "help": [0, 5, 7, 11, 12, 13, 14, 15, 19, 33], "sneia": 0, "mass_accretion_for_eld": 0, "lit": 0, "deton": 0, "wdwd_merger_algorithm": 0, "peret": 0, "chen": 0, "todo": [0, 1, 2, 10, 11, 15, 19, 20, 21, 24, 25, 29, 30, 31, 32, 33, 36, 37, 38, 40, 42], "wdwd_merger_algorithm_bs": 0, "wdwd_merger_algorithm_perets2019": 0, "wdwd_merger_algorithm_chen2016": 0, "type_ia_mch_supernova_algorithm": 0, "yield": [0, 37], "dd7": 0, "iwamoto": 0, "1999": 0, "seitenzahl": 0, "3d": 0, "hydro": 0, "seitenzahl2013_model": 0, "One": [0, 5, 21], "n1": 0, "n3": 0, "n5": 0, "n10": 0, "n20": 0, "n40": 0, "n100l": 0, "n100": 0, "n100h": 0, "n150": 0, "n200": 0, "n300c": 0, "n1600": 0, "n1600c": 0, "n100_z0": 0, "type_ia_sub_mch_supernova_algorithm": 0, "unus": [0, 21], "max_hewd_mass": 0, "merger_mass_loss_fract": 0, "merger_angular_momentum_factor": 0, "spin": [0, 16], "smaller": [0, 37], "wind_angular_momentum_loss": 0, "lw": 0, "specif": [0, 11, 12, 24, 29, 36], "wind_djorb_fac": 0, "wind_angmom_loss_bs": 0, "wind_angmom_loss_lw": 0, "wind_angmom_loss_lw_hybrid": 0, "wind_angmom_loss_spherically_symmetr": 0, "vw93_eagb_wind_spe": 0, "vw93_tpagb_wind_spe": 0, "use_periastron_roche_radiu": 0, "circular": [0, 5], "treat": [0, 37], "properli": 0, "hopefulli": 0, "qcrit_lmm": 0, "stabil": 0, "overflow": [0, 5, 8], "qcrits_": 0, "qcrits_degenerate_": 0, "6944": 0, "qcrit_bs": 0, "qcrit_hjellming_webbink": 0, "qcrit_q_no_comenv": 0, "qcrit_chen_han_t": 0, "qcrit_chen_han_formula": 0, "qcrit_ge2015": 0, "qcrit_vos2018": 0, "qcrit_temmink2021": 0, "qcrit_gb_bs": 0, "qcrit_gb_hjellming_webbink": 0, "qcrit_gb_q_no_comenv": 0, "qcrit_gb_chen_han_t": 0, "qcrit_gb_chen_han_formula": 0, "qcrit_gb_ge2015": 0, "qcrit_gb_vos2018": 0, "qcrit_gb_temmink2021": 0, "qcrit_m": 0, "qcrit_hg": 0, "hertzsprung": [0, 4, 22], "gap": 0, "qcrit_gb": 0, "qcrit_cheb": 0, "qcrit_eagb": 0, "qcrit_tpagb": 0, "tp": 0, "qcrit_hem": 0, "qcrit_hehg": 0, "qcrit_hegb": 0, "78125": 0, "qcrit_hewd": 0, "qcrit_cowd": 0, "qcrit_onewd": 0, "qcrit_n": 0, "qcrit_bh": 0, "qcrit_degenerate_lmm": 0, "qcrit_degenerate_m": 0, "qcrit_degenerate_hg": 0, "7619": 0, "qcrit_degenerate_gb": 0, "qcrit_degenerate_cheb": 0, "qcrit_degenerate_eagb": 0, "qcrit_degenerate_tpagb": 0, "qcrit_degenerate_hem": 0, "qcrit_degenerate_hehg": 0, "qcrit_degenerate_hegb": 0, "qcrit_degenerate_hewd": 0, "625": [0, 5], "qcrit_degenerate_cowd": 0, "qcrit_degenerate_onewd": 0, "qcrit_degenerate_n": 0, "qcrit_degenerate_bh": 0, "mass_for_hestar_ia_upp": 0, "never": [0, 6, 14, 21, 28], "mass_for_hestar_ia_low": 0, "alphacb": 0, "viscos": 0, "alpha": [0, 5], "minimum_donor_menv_for_comenv": 0, "msun": [0, 6, 9, 12, 14, 16, 18, 31, 37, 38], "comenv_prescript": 0, "paczy\u0144ski": 0, "neleman": 0, "alpha_c": [0, 5, 6, 8], "comenv_ms_accretion_mass": 0, "comenv_ms_accretion_fract": 0, "comenv_ns_accretion_fract": 0, "comenv_ns_accretion_mass": 0, "nelemans_gamma": 0, "nelemans_minq": 0, "nelemans_max_frac_j_chang": 0, "nelemans_n_comenv": 0, "lambda_c": [0, 5, 8], "lambda_ionis": 0, "comenv_undef": 0, "comenv_bs": 0, "comenv_nelemans_tout": 0, "comenv_nandez2016": 0, "comenv_ejection_spin_method": 0, "left": 0, "comenv_ejection_spin_method_do_noth": 0, "leav": [0, 21], "omega": [0, 5, 18], "enter": [0, 21], "comenv_ejection_spin_method_sychron": 0, "synchron": 0, "comenv_ejection_spin_method_synchron": 0, "comenv_merger_spin_method": 0, "comenv_merger_spin_method_specif": 0, "preserv": 0, "onset": 0, "comenv_merger_spin_method_conserve_angmom": 0, "supercrit": 0, "comenv_merger_spin_method_conserve_omega": 0, "frequenc": [0, 16], "comenv_merger_spin_method_breakup": 0, "some": [0, 1, 5, 6, 8, 9, 11, 12, 13, 14, 15, 18, 20, 21, 22, 24, 29, 31, 34, 35, 36, 39], "comenv_ms_accret": 0, "comenv_ns_accret": 0, "formal": 0, "bind": [0, 7, 9, 12, 16], "m": [0, 5, 6, 8, 14, 16, 18, 19, 31, 42], "menv": [0, 5], "lambda_ce_dewi_tauri": 0, "dewi": 0, "lambda_ce_wang_2016": 0, "wang": 0, "jia": 0, "li": 0, "lambda_ce_polytrop": 0, "polytrop": 0, "comenv_splitmass": 0, "lambda_ce_klencki_2020": 0, "klencki": 0, "point": [0, 3, 6, 19, 20, 21, 22, 30, 31, 37, 39], "nelemans_recalc_eccentr": 0, "recalcul": 0, "comenv_post_eccentr": 0, "remain": [0, 7, 19, 21], "05": [0, 5, 9, 13, 15], "accord": [0, 6, 30, 31, 37], "75": [0, 5, 6], "chang": [0, 1, 2, 5, 6, 8, 9, 13, 14, 15, 18, 19, 20, 21, 22, 33, 34, 39], "standard": [0, 13, 14, 29, 31, 36, 37], "recombin": 0, "big": [0, 21], "outcom": 0, "lambda_enthalpi": 0, "enthalpi": 0, "far": [0, 5, 6, 14, 16], "cbdisc_albedo": 0, "albedo": 0, "cbdisc_gamma": 0, "cbdisc_alpha": 0, "cbdisc_kappa": 0, "kappa": 0, "cbdisc_minimum_evaporation_timescal": 0, "would": [0, 2, 14, 15, 21, 24], "less": [0, 1, 4, 5, 30, 31], "simpli": [0, 14], "immedi": [0, 6, 21], "1y": 0, "cbdisc_torquef": 0, "cbdisc_max_lifetim": 0, "lifetim": [0, 8, 13, 14, 15, 37], "cbdisc_init_dm": 0, "cbdisc": 0, "start": [0, 1, 5, 6, 8, 12, 13, 14, 15, 18, 19, 21, 27, 33, 34], "dm": [0, 14, 31, 37], "won": [0, 12, 22, 39], "t": [0, 1, 2, 5, 6, 12, 14, 15, 16, 19, 21, 22, 25, 30, 37, 39], "converg": 0, "cbdisc_init_djdm": 0, "dj": 0, "cbdisc_mass_loss_constant_r": 0, "cbdisc_mass_loss_fuv_multipli": 0, "fuv": 0, "cbdisc_mass_loss_xray_multipli": 0, "x": [0, 5, 6, 9, 12, 16, 18, 19, 20, 24, 25, 31, 37], "rai": 0, "cbdisc_mass_loss_ism_ram_pressure_multipli": 0, "interstellar": 0, "medium": 0, "ram": [0, 21], "pressur": 0, "cbdisc_mass_loss_ism_pressur": 0, "boltzmann": 0, "kelvin": 0, "think": [0, 19, 20], "3000": [0, 16], "http": [0, 1, 2, 6, 15, 19, 20, 22, 30, 31, 39], "www": [0, 31], "astronomi": 0, "ohio": 0, "edu": 0, "pogg": 0, "ast871": 0, "intro": 0, "pdf": [0, 18, 22, 31, 39], "page": [0, 6, 15, 22, 39], "arxiv": [0, 31], "org": [0, 2, 31], "0902": 0, "0820": 0, "panel": 0, "cbdisc_mass_loss_inner_viscous_multipli": 0, "cbdisc_mass_loss_inner_viscous_angular_momentum_multipli": 0, "cbdisc_resonance_multipli": 0, "reson": 0, "interact": [0, 3, 5, 6, 8, 16, 18, 33], "cbdisc_resonance_damp": 0, "l": [0, 6, 13, 14], "locat": [0, 21, 22, 31, 37, 39], "cbdisc_fail_ring_inside_separ": 0, "rring": 0, "cbdisc_mass_loss_inner_l2_cross_multipli": 0, "cross": 0, "cbdisc_minimum_luminos": 0, "becom": [0, 1, 2, 5, 9, 14, 16, 19, 21], "dimmer": [0, 13], "instantli": 0, "cbdisc_minimum_mass": 0, "cbdisc_minimum_fr": 0, "fring": 0, "ring": 0, "ab": [0, 19], "rout": 0, "rin": 0, "comenv_disc_angmom_fract": 0, "deprec": [0, 20], "discs_circumbinary_from_comenv": 0, "comenv_disc_mass_fract": 0, "wind_disc_angmom_fract": 0, "discs_circumbinary_from_wind": 0, "wind_disc_mass_fract": 0, "wrlof_method": 0, "quadrat": 0, "wrlof_mass_transf": 0, "wrlof_non": 0, "wrlof_q_depend": 0, "wrlof_quadrat": 0, "minimum_timestep": 0, "timestep_solver_factor": 0, "timestep_limit": 0, "compar": [0, 8, 13, 15, 21], "dx": 0, "dt": [0, 1, 19, 28, 37], "lengthen": 0, "altern": [0, 21], "rlof_mdot_factor": 0, "rlof_mdot_modul": 0, "rlof_f": 0, "enlarg": 0, "nomin": 0, "becaus": [0, 2, 6, 7, 8, 12, 13, 14, 16, 18, 20, 21, 22, 28, 30, 31, 39], "dermin": 0, "rlof_radiation_correct": 0, "minimum_separation_for_instant_rlof": 0, "evolv": [0, 4, 7, 9, 16, 20, 21, 22, 39], "report": [0, 6, 8, 13, 14, 15], "lead": [0, 6, 13, 14, 15, 30, 31, 42], "minimum_orbital_period_for_instant_rlof": 0, "maximum_mass_ratio_for_instant_rlof": 0, "m1": [0, 5, 9, 12, 13, 14, 15, 18, 30, 31, 42], "rlof_method": 0, "adapt": [0, 14], "rl": [0, 5], "ritter": 0, "claei": 0, "etal": 0, "rlof_method_bs": 0, "rlof_method_adapt": 0, "rlof_method_ritt": 0, "rlof_method_claei": 0, "rlof_method_adaptive2": 0, "rlof_interpolation_method": 0, "alwai": [0, 20, 21, 31, 37], "get": [0, 2, 3, 4, 6, 9, 12, 13, 14, 15, 16, 18, 19, 20, 22, 25, 26, 29, 31, 33, 34, 36, 39, 40, 42], "within": [0, 2, 9, 11, 15, 19, 22, 31, 34, 39], "toler": 0, "rlof_entry_threshold": 0, "revers": [0, 24], "newton": 0, "doe": [0, 2, 6, 7, 9, 11, 12, 13, 14, 15, 20, 21, 28, 30, 31, 34, 42], "repeat": [0, 21], "half": [0, 31], "until": [0, 2, 6, 30, 31], "latter": 0, "now": [0, 2, 5, 6, 8, 9, 12, 13, 14, 15, 16, 18, 19, 25, 31, 32], "break": 0, "rlof_interpolation_binary_c": 0, "rlof_interpolation_bs": 0, "beta_reverse_nova": 0, "automat": [0, 1, 9, 15, 16, 17, 18, 21, 22, 28, 30, 33, 34, 39], "geometr": 0, "beta_reverse_novae_geometri": 0, "wd_accretion_rate_novae_upper_limit_hydrogen_donor": 0, "upper": [0, 31, 37], "donor_rate_algorithm_claeys2014": 0, "donor_rate_algorithm_bs": 0, "wd_accretion_rate_novae_upper_limit_helium_donor": 0, "wd_accretion_rate_novae_upper_limit_other_donor": 0, "neither": [0, 20], "nor": 0, "wd_accretion_rate_new_giant_envelope_lower_limit_hydrogen_donor": 0, "format": [0, 2, 3, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 18, 19, 21, 29, 30, 31, 34, 37], "wd_accretion_rate_new_giant_envelope_lower_limit_helium_donor": 0, "wd_accretion_rate_new_giant_envelope_lower_limit_other_donor": 0, "crap_paramet": 0, "eggleton": [0, 42], "subject": 0, "bb": 0, "individual_nova": 0, "each": [0, 2, 8, 13, 14, 15, 16, 19, 21, 25, 34, 37], "separta": 0, "nova_timestep_accelerator_num": 0, "acceler": 0, "exce": [0, 13], "nova_timestep_accelerator_index": 0, "nova_timestep_accelerator_max": 0, "larger": [0, 6], "longer": [0, 6, 8], "cap": 0, "nonconservative_angmom_gamma": 0, "NOT": [0, 34, 37, 40], "momenta": [0, 24], "rlof_nonconservative_gamma_donor": 0, "rlof_nonconservative_gamma_isotrop": 0, "max_stellar_angmom_chang": 0, "maxmimum": 0, "third_dup": 0, "nucsyn_third_dredge_up": 0, "third_dup_multipli": 0, "f": [0, 5, 12, 15, 18, 31], "abund": 0, "element": [0, 1, 11, 16, 21, 24, 38], "nenamg": 0, "reaction": 0, "network": [0, 11], "nucsyn_hbb": 0, "nucsyn_network": 0, "nucsyn_network_error": 0, "error": [0, 2, 14, 19, 21, 22, 25, 30, 39], "nucreacmult": 0, "z": [0, 6, 8, 18, 20, 31, 42], "04": [0, 5, 18], "That": [0, 6], "said": 0, "been": [0, 2, 11, 20, 21, 25, 27, 29, 36], "warn": [0, 12, 15, 21, 25], "nucsyn_solv": 0, "kaps_rentrop": 0, "kap": 0, "rentrop": 0, "great": [0, 14, 21], "stiff": 0, "problem": [0, 13], "lsoda": 0, "adam": 0, "bsf": 0, "switcher": 0, "cvode": 0, "librari": [0, 1, 9, 18, 20, 21, 40], "comput": [0, 6, 13, 14], "llnl": 0, "gov": 0, "project": [0, 22, 39], "sundial": 0, "initial_abundance_mix": 0, "mixtur": [0, 13], "ag89": 0, "lodder": 0, "asplund": 0, "avail": [0, 7, 8, 9, 15, 19, 21, 22, 27, 39], "garcia": 0, "berro": 0, "grevess": 0, "noel": 0, "init_abund": 0, "isotop": [0, 11, 38], "init_abund_mult": 0, "init_abund_dex": 0, "dex": [0, 8, 37], "init_abunds_onli": 0, "exit": [0, 19, 20, 21, 25, 29, 30, 36], "initial_abunds_onli": 0, "no_thermohaline_mix": 0, "thermohalin": 0, "lithium_gb_post_heflash": 0, "lithium": 0, "lithium_t": 0, "lithium_gb_post_1dup": 0, "lithium_hbb_multipli": 0, "hbb": 0, "fishlock": 0, "angelou_lithium_decay_funct": 0, "describ": [0, 13, 18, 21, 31], "li7": 0, "decai": 0, "nucsyn_angelou_lithium": 0, "choic": [0, 24, 31], "expoenti": 0, "angelou_lithium_decay_tim": 0, "angelou_lithium_lmms_tim": 0, "manufactur": 0, "angelou_lithium_ms_tim": 0, "angelou_lithium_hg_tim": 0, "angelou_lithium_gb_tim": 0, "angelou_lithium_cheb_tim": 0, "angelou_lithium_eagb_tim": 0, "angelou_lithium_tpagb_tim": 0, "angelou_lithium_lmms_decay_tim": 0, "surfac": 0, "angelou_lithium_ms_decay_tim": 0, "angelou_lithium_hg_decay_tim": 0, "angelou_lithium_gb_decay_tim": 0, "angelou_lithium_cheb_decay_tim": 0, "angelou_lithium_eagb_decay_tim": 0, "angelou_lithium_tpagb_decay_tim": 0, "angelou_lithium_lmms_massfrac": 0, "angelou_lithium_ms_massfrac": 0, "angelou_lithium_hg_massfrac": 0, "angelou_lithium_gb_massfrac": 0, "angelou_lithium_cheb_massfrac": 0, "angelou_lithium_eagb_massfrac": 0, "angelou_lithium_tpagb_massfrac": 0, "angelou_lithium_vrot_trigg": 0, "angelou_lithium_vrotfrac_trigg": 0, "keplerian": 0, "david_logging_funct": 0, "kind": [0, 7], "david": [0, 2, 7, 12, 13, 14, 15, 18, 22, 39], "david_tzo_log": 0, "tzo": 0, "david_ppisn_log": 0, "david_ppisn_single_log": 0, "underw": 0, "david_rlof_episode_log": 0, "episod": 0, "david_rlof_ensemble_log": 0, "ensembl": [0, 4, 7, 11, 21, 22, 23, 30, 34, 35, 38], "cf_amanda_log": 0, "amanda": 0, "float_overflow_check": 0, "check": [0, 5, 6, 8, 13, 14, 15, 18, 19, 20, 21, 25, 29, 30, 31, 33, 36, 40, 42], "stderr": [0, 21], "failur": [0, 19, 25], "save_pre_events_stardata": 0, "save": [0, 1, 8, 9, 13, 14, 15, 21, 25, 30, 31, 37], "copi": [0, 8, 14, 21, 42], "stardata": [0, 1, 6, 8, 9, 12, 13, 14, 15, 17, 18], "pre_events_stardata": 0, "disable_end_log": 0, "ensemble_filters_off": 0, "filter": [0, 2, 19], "ensemble_filter_": 0, "ensemble_macro": 0, "ensemble_legacy_ensembl": 0, "legaci": 0, "popul": [0, 3, 4, 5, 7, 11, 22, 23, 39, 40], "legacy_yield": 0, "ensemble_def": 0, "defer": 0, "ensemble_dt": 0, "store": [0, 2, 4, 5, 6, 8, 12, 13, 14, 15, 19, 20, 21, 22, 30, 37, 39, 42], "ensemble_logdt": 0, "ensemble_startlogtim": 0, "logensembletim": 0, "storag": 0, "ensemble_logtim": 0, "act": [0, 14, 15, 21], "linear": [0, 13, 14, 21, 31, 37], "postagb_legacy_log": 0, "disc_legacy_log": 0, "emp_logg_maximum": 0, "logg": [0, 6], "emp": 0, "cemp_cfe_minimum": 0, "nemp_nfe_minimum": 0, "emp_minimum_ag": 0, "emp_feh_maximum": 0, "fe": 0, "cemp": 0, "nemp_cfe_minimum": 0, "nemp": 0, "thick_disc_start_ag": 0, "lookback": 0, "thick": 0, "13e3": 0, "thick_disc_end_ag": 0, "thick_disc_logg_min": 0, "thick_disc_logg_max": 0, "escape_veloc": 0, "construct": [0, 1, 6, 8, 12, 13, 14, 16, 18, 21], "galact": [0, 37], "chemic": [0, 37], "gce": 0, "nucsyn_gce_outflow_check": 0, "1e9": 0, "escape_fract": 0, "colour_log": 0, "thelog": 0, "file_log": 0, "log_filenam": [0, 5, 12, 18, 40], "filenam": [0, 1, 3, 5, 12, 15, 19, 20, 21, 25, 29, 30, 36, 40], "dev": 0, "c_log": 0, "dat": [0, 15, 19], "log_arrow": 0, "add": [0, 2, 6, 8, 9, 12, 13, 14, 15, 20, 21, 22, 24, 31, 34, 35, 37, 39], "arrow": 0, "stopfil": 0, "file": [0, 1, 3, 5, 7, 12, 15, 19, 20, 21, 22, 24, 25, 28, 29, 30, 33, 34, 36, 38, 39, 40], "stardata_dump_filenam": 0, "dump": [0, 3, 12, 20, 30], "stardata_load_filenam": 0, "load": [0, 1, 3, 6, 9, 12, 13, 14, 15, 18, 19, 20, 21, 24, 25, 26, 30, 34], "api_log_filename_prefix": [0, 5, 12, 16], "prefix": 0, "api": [0, 4, 19, 22, 25], "hrdiag_output": 0, "high": [0, 14, 31], "hertzstrpung": 0, "russel": [0, 4, 22], "diagram": [0, 4, 22, 24], "hrdiag": 0, "internal_buff": 0, "buffer": [0, 30], "prior": [0, 6], "shouldn": [0, 19], "realli": [0, 6, 15, 20, 21, 33, 34], "plai": [0, 5, 14], "internal_buffering_off": 0, "internal_buffering_print": 0, "internal_buffering_stor": 0, "eccentric_rlof_model": 0, "rlof_eccentric_as_circular": 0, "force_corotation_of_primary_and_orbit": 0, "force_circularization_on_rlof": 0, "wtts_log": 0, "wtts2": 0, "fabian_imf_log_tim": 0, "fabian": 0, "imf": [0, 14, 31], "fabian_imf_log": 0, "fabian_imf_log_timestep": 0, "displai": [0, 6, 8], "test": [0, 12, 19, 21, 25, 28, 30], "dumpvers": 0, "short": [0, 6, 8, 13, 14, 41], "version_onli": 0, "tides_diagnosis_log": 0, "mint_dir": 0, "mint_data_cleanup": 0, "incom": 0, "Will": [0, 19, 21, 40], "slower": 0, "few": [0, 8], "thing": [0, 3, 5, 6, 7, 8, 13, 14, 15, 18, 19, 20, 31, 40], "mint_ms_rejuven": 0, "rejuven": [0, 13], "mint_remesh": 0, "remesh": 0, "mint_use_zams_profil": 0, "profil": 0, "zam": [0, 4, 5, 6, 7, 13, 31, 40, 42], "homogen": 0, "mint_fallback_to_test_data": 0, "test_data": 0, "fallback": 0, "unavail": 0, "mint_disable_grid_load_warn": 0, "explicitli": [0, 1], "miss": [0, 13, 14, 19, 33], "much": [0, 6, 8, 13, 15, 18, 19, 27], "mint_kippenhahn": 0, "kippenhahn": 0, "mint_nshel": 0, "shell": [0, 19], "shellular": 0, "mint_maximum_nshel": 0, "mint_hard_max_nshel": 0, "1000": [0, 8, 21, 37], "mint_minimum_nshel": 0, "equal": [0, 2, 14, 15, 19], "mint_hard_min_nshel": 0, "mint_kippenhahn_stellar_typ": 0, "selector": 0, "plot": [0, 6, 8, 12, 13, 14, 16, 17, 18, 24], "mint_kippenhahn_companion_stellar_typ": 0, "mint_nuclear_burn": 0, "mint_minimum_shell_mass": 0, "mint_maximum_shell_mass": 0, "go": [0, 6, 11, 13, 15, 20, 22, 24, 39], "command": [0, 1, 15, 19, 20, 21, 22, 30, 39], "gogo": 0, "reset_star": 0, "reset": 0, "reset_stars_default": 0, "echo": 0, "execut": [0, 15, 21, 34], "noecho": 0, "deactiv": 0, "noechonow": 0, "bye": 0, "quit": [0, 6, 19, 31], "fin": 0, "reset_pref": 0, "prefer": [0, 20], "struct": [0, 9], "statu": [0, 1, 6, 8, 13, 14, 15, 21, 25, 29, 30, 36], "handi": 0, "re": [0, 1, 6, 7, 8, 13, 14, 16, 25, 33], "sampl": [0, 4, 13, 15, 31, 34, 37], "space": [0, 6, 14, 15, 30, 34, 37], "good": [0, 5, 12, 13, 14, 15, 21, 42], "statist": [0, 21, 29], "reason": [0, 14], "tbse": 0, "pgo": 0, "random_system": 0, "etc": [0, 7, 12, 14, 15, 16, 19, 20, 21, 22, 24, 30, 31, 39, 40], "random_se": [0, 5, 12, 18], "seed": 0, "possibl": [0, 1, 2, 6, 12, 16, 19, 21, 22, 28, 31, 33, 39], "exactli": [0, 14], "reproduc": 0, "involv": 0, "pseudorandom": 0, "random_systems_se": 0, "random_skip": 0, "skip": [0, 2, 13, 21], "idum": 0, "nb": 0, "pleas": [0, 6, 7, 13, 14, 15, 19, 21, 22, 28, 39], "reverse_tim": 0, "To": [0, 5, 7, 12, 13, 14, 15, 21, 22, 30, 31, 39], "consid": [0, 1, 2, 13, 14, 20, 21, 24, 32, 33, 37], "start_tim": [0, 21], "warmup_cpu": 0, "cpu": [0, 6, 8, 13, 14, 15, 21, 27], "second": [0, 2, 8, 16, 19, 22, 24, 30, 31, 32, 39], "topic": 0, "argopt": 0, "help_al": 0, "list_arg": 0, "here": [1, 6, 7, 9, 12, 13, 14, 16, 18, 19, 20, 21, 22, 24, 31, 39, 40], "user": [1, 9, 19, 20, 21, 22, 26, 31, 33, 39, 40], "binaryc": [1, 19, 40], "output": [1, 2, 3, 4, 5, 7, 9, 11, 12, 16, 17, 18, 19, 20, 21, 22, 24, 30, 38, 39, 40, 42], "runtim": [1, 21], "binarycpython": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42], "util": [1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 19, 20, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 42], "autogen_c_logging_cod": [1, 9, 18], "logging_dict": 1, "verbos": [1, 5, 6, 8, 12, 13, 14, 15, 16, 17, 19, 21, 22, 26, 30, 31, 32, 37, 39], "sourc": [1, 2, 3, 8, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 42], "auto": [1, 23], "printf": [1, 6, 8, 9, 12, 13, 14, 15, 17, 18], "statement": [1, 9, 12, 13, 14, 15, 16, 17, 18, 21], "input": [1, 2, 3, 5, 7, 11, 12, 19, 20, 21, 22, 24, 26, 30, 31, 32, 33, 40, 42], "dictionari": [1, 2, 3, 4, 6, 8, 13, 14, 15, 19, 20, 21, 24, 26, 27, 30, 31, 33, 34, 38, 41], "kei": [1, 2, 3, 11, 12, 15, 16, 18, 19, 20, 21, 24, 28, 30, 31, 33, 34, 38], "header": [1, 6, 8, 9, 12, 13, 14, 15, 18, 19], "line": [1, 5, 6, 8, 9, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 24, 30, 37, 39], "item": [1, 2, 6, 8, 13, 14, 19], "paramet": [1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14, 15, 19, 20, 21, 22, 24, 25, 28, 29, 30, 31, 33, 34, 36, 37, 38, 40, 42], "put": [1, 6, 13, 14, 15, 18, 19, 21, 24, 25, 33, 34, 35], "append": [1, 2, 6, 12, 13, 14, 16], "exampl": [1, 2, 12, 19, 20, 31, 34, 37, 40], "look": [1, 3, 5, 6, 8, 13, 14, 15, 16, 18, 22, 31, 39], "my_stellar_data": [1, 9, 15, 17, 18], "star": [1, 4, 5, 7, 8, 9, 11, 12, 13, 14, 16, 17, 18, 21, 22, 24, 29, 31, 36, 37, 39, 42], "dict": [1, 3, 5, 6, 12, 13, 14, 15, 16, 19, 20, 21, 22, 23, 25, 26, 28, 30, 31, 33, 38, 41], "binary_c": [1, 2, 3, 4, 5, 6, 8, 13, 14, 16, 19, 20, 21, 24, 28, 30, 31, 34, 38, 40], "sentenc": 1, "level": [1, 6, 19, 32], "return": [1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 14, 15, 18, 19, 20, 21, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 36, 37, 38, 40, 42], "str": [1, 2, 3, 6, 15, 19, 20, 24, 30, 33, 34, 38], "binary_c_log_cod": [1, 9, 12, 17, 18], "termin": [1, 6, 9, 15, 22, 39], "primari": [1, 6, 8, 13, 14, 15, 31, 34, 42], "stellar_typ": [1, 6, 9, 12, 13, 14, 15, 22, 23, 24], "example_log_co": [1, 9], "30": [1, 5, 6, 9, 12, 13, 14, 15, 16, 18], "12e": [1, 6, 9, 12, 13, 14, 15], "previous_stardata": [1, 8, 9, 12, 15], "kill": [1, 9, 15, 20], "dtm": [1, 9, 15], "exact": [1, 2, 21], "wrap": [1, 9, 19, 28], "logic": [1, 2, 9, 20, 21], "definit": [1, 13, 14, 42], "share": [1, 12, 17, 18, 21, 30, 40], "binary_c_write_log_cod": 1, "write": [1, 5, 7, 9, 12, 13, 15, 17, 18, 19, 20, 21, 30, 33, 40], "target": [1, 33], "compile_shared_lib": 1, "sourcefile_nam": 1, "outfile_nam": 1, "name": [1, 2, 5, 6, 7, 8, 13, 14, 15, 16, 18, 19, 21, 29, 30, 33, 34, 40, 41], "create_and_load_logging_funct": [1, 9, 18], "custom_logging_cod": [1, 9, 12, 15, 17, 18, 40], "custom_tmp_dir": 1, "ctype": 1, "unless": [1, 20, 21], "i": [1, 2, 6, 7, 8, 9, 12, 13, 14, 15, 16, 19, 20, 21, 22, 25, 31, 34, 38, 39, 42], "recommend": [1, 4, 22, 39], "combin": [1, 2, 9, 19, 20, 21], "tupl": [1, 6, 19, 25, 30, 37], "memori": [1, 6, 7, 8, 9, 13, 14, 15, 18, 19, 20, 21, 30, 42], "address": [1, 7, 9, 21, 42], "capsul": [1, 7, 19], "from_binary_c_config": 1, "config_fil": 1, "binaryc_config": 1, "config": [1, 19, 21, 22, 39], "filepath": 1, "return_compilation_dict": 1, "inspir": [1, 24, 42], "binary_c_inline_config": 1, "perl": [1, 2, 14, 15, 29], "still": [1, 9, 16, 21, 22, 39, 42], "clean": [1, 6, 12, 14, 20], "w": [1, 12, 15, 20, 30], "develop": 1, "redhat": 1, "com": [1, 19, 20, 22, 31, 39], "blog": 1, "linker": 1, "gcc": [1, 22, 39], "python": [2, 3, 4, 6, 8, 13, 14, 19, 21, 28, 30, 31, 34], "class": [2, 3, 19, 22, 23], "autovivificationdict": 2, "autovivif": 2, "featur": [2, 4, 15, 22], "overrid": [2, 18, 21, 31, 34, 37], "__iadd__": 2, "oper": [2, 30], "doc": [2, 6, 13, 14, 15, 19, 22, 33, 39], "refer": [2, 21, 30], "datamodel": 2, "html": [2, 6, 15, 22, 30, 39], "highlight": 2, "iadd": 2, "subdict": 2, "might": [2, 3, 13, 15, 16, 19, 21, 22, 30, 39], "newdict": 2, "print": [2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 21, 25, 32, 33], "__getitem__": [2, 28], "getitem": 2, "autoviv": 2, "count_keys_recurs": 2, "input_dict": 2, "recurs": [2, 19, 22, 39], "count": [2, 5, 6, 18, 19, 21], "local_count": 2, "custom_sort_dict": 2, "order": [2, 4, 15, 19, 34], "ordereddict": 2, "find": [2, 5, 8, 15, 19, 21, 28, 33], "uniqu": [2, 18, 21], "sort": [2, 6, 13, 14, 16, 19, 30], "Then": [2, 6, 19, 22, 39], "those": [2, 6, 8, 13, 14, 15, 18, 20, 22, 31, 38, 39], "them": [2, 5, 7, 8, 15, 17, 18, 19, 20, 29, 30, 31, 33, 40], "directli": [2, 12, 21, 25, 30], "without": [2, 9, 12, 14, 19, 21, 31], "filter_dict": 2, "arg_dict": [2, 19], "filter_list": 2, "out": [2, 3, 5, 6, 8, 9, 13, 14, 16, 19, 21, 22, 31, 33, 39], "filter_dict_through_valu": 2, "inspect_dict": 2, "indent": [2, 3, 12, 20, 30], "print_structur": 2, "inspect": [2, 12, 24], "nest": [2, 15, 34, 38], "content": [2, 3, 5, 7, 19, 20, 25], "bool": [2, 15, 19, 20, 24, 30, 33, 34, 38], "except": [2, 5, 6, 7, 13, 14, 15, 21, 24, 33], "keys_to_float": 2, "convert": [2, 3, 6, 8, 16, 19, 20, 30, 31, 37], "faster": [2, 13, 14, 15], "recursive_change_key_to_float": 2, "convers": 2, "noth": [2, 21, 25, 26, 30], "els": [2, 5, 8, 19, 21], "new_dict": 2, "merge_dict": [2, 11], "dict_1": 2, "dict_2": 2, "behaviour": [2, 6, 13, 14, 15, 22, 39, 40], "present": [2, 3, 6, 13, 14, 15, 18, 20, 22, 30, 31, 39], "again": [2, 3, 11, 12, 19, 21], "ad": [2, 4, 6, 8, 12, 13, 22, 30, 34, 39], "opt": [2, 5, 7, 31], "OR": [2, 18], "ident": 2, "concaten": 2, "nonetyp": 2, "instanc": [2, 11, 12, 13, 14, 15, 20, 31], "multiply_float_valu": 2, "multiply_values_dict": [2, 11], "over": [2, 5, 6, 8, 11, 12, 13, 14, 15, 19, 20, 30], "general_info": 2, "origin": [2, 16, 30], "union": [2, 15, 19, 31, 34, 37, 38, 42], "complex": [2, 8, 9, 17, 18, 21], "pass": [2, 7, 9, 12, 15, 16, 18, 19, 20, 21, 22, 24, 25, 26, 29, 30, 36, 37, 39, 40], "multiplied_dict": 2, "normalize_dict": 2, "result_dict": 2, "normalis": [2, 21, 31], "divid": 2, "term": 2, "design": [2, 20, 22, 24, 39], "normalized_dict": 2, "prepare_dict": 2, "global_dict": 2, "list_of_sub_kei": 2, "sure": [2, 12, 13, 14, 15, 22, 25, 30, 31, 39, 40], "prepar": 2, "don": [2, 6, 16, 19, 21, 25], "access": [2, 9, 12, 13, 14, 15, 21, 25, 30], "come": [2, 10, 22, 37, 39], "empti": [2, 12, 29, 33, 36], "recursive_change_key_to_str": 2, "custom_format": [2, 19], "ll": [2, 9, 11, 14, 16, 30], "set_opt": [2, 6, 8], "newopt": [2, 31], "updat": [2, 14, 15, 20, 22, 34, 39], "subtract_dict": 2, "subtract": 2, "numer": 2, "overlap": 2, "update_dict": [2, 11], "dict2": 2, "packag": [3, 7, 15, 19, 22, 34, 35, 36, 37, 39], "binarycdecod": 3, "object_hook": 3, "parse_float": 3, "parse_int": 3, "parse_const": 3, "strict": 3, "object_pairs_hook": 3, "jsondecod": 3, "decod": 3, "entri": [3, 19, 20], "binarycencod": 3, "skipkei": 3, "ensure_ascii": [3, 20, 30], "check_circular": 3, "allow_nan": 3, "sort_kei": [3, 30], "jsonencod": 3, "encod": [3, 15, 30], "attempt": [3, 19, 20], "o": [3, 19, 22, 31], "precis": 3, "json": [3, 7, 12, 15, 20, 21, 26, 30], "binaryc_json_seri": 3, "obj": [3, 19], "serialis": 3, "export": [3, 15, 19, 20, 22, 30, 39], "represent": [3, 15, 34], "themselv": [3, 31], "itself": [3, 6, 9, 12, 21, 22, 31, 39], "ensemble_compress": 3, "compress": [3, 30], "extens": [3, 7, 22, 23], "ensemble_file_typ": 3, "ensemble_set": 3, "parameter_nam": [3, 6, 7, 8, 11, 13, 14, 15, 19, 34], "extract_ensemble_json_from_str": 3, "binary_c_output": 3, "extract": [3, 15], "ensemble_json": 3, "raw": [3, 7, 18, 19, 20, 21, 24, 38, 40], "pars": [3, 4, 5, 6, 8, 12, 13, 14, 15, 18, 19, 20, 24, 38, 40], "format_ensemble_result": 3, "ensemble_dictionari": 3, "step": [3, 6, 8, 9, 12, 13, 14, 15, 24, 34, 37], "handle_ensemble_string_to_json": 3, "raw_output": 3, "deal": [3, 12], "creat": [3, 6, 8, 9, 12, 13, 14, 15, 19, 20, 27, 30, 31, 34, 36], "wrapper": [3, 7, 9, 12, 20, 30, 32, 42], "easi": [3, 12, 22, 39], "cl": 3, "load_ensembl": 3, "convert_float_kei": 3, "select_kei": 3, "flush": [3, 20, 30], "ensemebl": 3, "even": [3, 11, 14], "open_ensembl": 3, "utf": [3, 15, 30], "open": [3, 5, 12, 15, 18, 30], "read": [3, 4, 5, 12, 15, 18, 19, 21, 22, 30, 39], "decompress": 3, "explain": [4, 38], "repositori": [4, 22, 39], "last": [4, 18, 19, 31], "usecas": 4, "tutori": [4, 22, 39], "individu": [4, 5, 13, 22, 39], "run_system_wrapp": [4, 5, 9, 17, 22, 23], "via": [4, 5, 6, 7, 9, 13, 14, 15, 20, 21, 24], "noteworthi": 4, "full": [4, 9, 16, 19, 21, 29, 36], "script": [4, 9, 19, 21, 22, 25, 29, 36, 39], "about": [4, 6, 8, 13, 14, 15, 19, 20, 21, 25, 30, 33, 42], "modif": 4, "binari": [4, 7, 8, 12, 14, 21, 22, 24, 31, 34, 39, 42], "notebook": [5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 22, 39], "log_fil": [5, 21], "bbh": 5, "summari": 5, "run_system": [5, 7, 9, 11, 12, 16, 17, 24, 40], "bhbh": 5, "There": [5, 6, 7, 9, 11, 12, 13, 14, 15, 16, 18, 20, 21, 22, 24, 31, 33, 39], "import": [5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 34], "os": [5, 6, 8, 12, 13, 14, 15, 16, 18, 19], "temp_dir": [5, 6, 8, 12, 14, 15, 16, 19], "tmp_dir": [5, 6, 8, 12, 14, 15, 16, 21, 34], "notebook_bhbh": 5, "txt": [5, 12, 15, 18, 22, 30, 39, 40], "60": [5, 30], "readout": 5, "m2": [5, 9, 12, 13, 15, 18, 30, 31, 42], "k1": [5, 12, 18], "k2": [5, 12, 18], "sep": [5, 8, 12, 13, 15, 18, 30, 31, 42], "ecc": [5, 12, 15, 18, 30, 31], "r1": [5, 12, 18], "rol1": [5, 12, 18], "r2": [5, 12, 18], "rol2": [5, 12, 18], "13868": 5, "random_count": [5, 12, 18], "0000": [5, 12, 18], "000": [5, 12, 18], "00": [5, 12, 15, 18], "6492": 5, "26": 5, "756": 5, "off_m": [5, 12, 18], "type_chng": [5, 12, 18], "6588": 5, "687": 5, "2135": 5, "972": 5, "5298": 5, "325": 5, "5700": 5, "903": 5, "randbuf": [5, 18], "14456": 5, "mer": 5, "415747": 5, "403489": 5, "273236": 5, "627902": 5, "92015": 5, "31213": 5, "gt": [5, 7, 9, 12, 13, 15, 17, 18], "vk": [5, 18], "223": 5, "39": [5, 6, 7, 8, 11, 12, 13, 14, 15, 17], "vr": [5, 18], "94523": 5, "phi": [5, 18], "470721": 5, "vn": [5, 18], "final": [5, 8, 14, 18], "runawai": [5, 18], "v": [5, 18, 22, 39], "155": 5, "054": [5, 31], "143": 5, "72": 5, "9341": 5, "max_tim": [5, 12, 18], "entir": [5, 9, 12, 17, 18], "wider": 5, "littl": [5, 6, 8, 13, 15, 16, 28], "40": [5, 14], "71985": 5, "3101": 5, "48": 5, "y": [5, 6, 16, 19, 20, 24, 25], "009": [5, 16], "beg_symb": 5, "3583": 5, "081": 5, "35": [5, 31], "930": 5, "3971": 5, "98": 5, "023": 5, "014": 5, "lock": [5, 30], "3928": [5, 18], "41": [5, 13], "632": 5, "894": 5, "3995": 5, "4219": 5, "27": [5, 14, 15], "615": 5, "603": 5, "5603": 5, "013": 5, "5403": 5, "157": 5, "151": 5, "5696": 5, "18": [5, 13, 18], "012": 5, "6475": 5, "763": [5, 31], "731": 5, "5791": 5, "19": [5, 15, 18], "010": 5, "011": 5, "6548": 5, "730": 5, "729": [5, 8], "5794": 5, "203": 5, "6550": 5, "728": 5, "225": 5, "inv": [5, 18], "6552": 5, "725": 5, "5795": 5, "246": 5, "6556": 5, "721": 5, "5796": 5, "282": 5, "6559": 5, "716": 5, "727": 5, "321": 5, "6571": 5, "691": 5, "724": [5, 9], "5798": 5, "546": 5, "021": 5, "6649": 5, "502": 5, "683": 5, "5812": 5, "548": 5, "543": 5, "2663": 5, "178": 5, "480": 5, "8828": 5, "57": 5, "460": 5, "end_symb": 5, "2670": 5, "171": 5, "458": 5, "8837": 5, "58": 5, "455": 5, "2733": 5, "111": 5, "272": 5, "8921": 5, "59": 5, "265": 5, "2801": 5, "033": 5, "166": 5, "8987": 5, "4925": 5, "910": 5, "995": 5, "11434": 5, "97": 5, "4989": 5, "850": 5, "942": [5, 13], "11516": 5, "5282": 5, "966": 5, "616": 5, "539": 5, "54990": 5, "431329": 5, "844304": 5, "737837": 5, "957392": 5, "745668": 5, "49451": 5, "76448": 5, "366": 5, "674": [5, 15], "5058": 5, "68517": 5, "15497": 5, "077": 5, "5393": 5, "16623": 5, "147": 5, "335": [5, 14], "088": 5, "214": 5, "68852": 5, "172227": 5, "112321": 5, "69127": 5, "5344": 5, "029": 5, "787956": 5, "497544": 5, "721903": 5, "10755": 5, "526": 5, "7893": 5, "410": [5, 18], "158": 5, "675756": 5, "459842": 5, "312": 5, "331": 5, "229": 5, "113": 5, "746": 5, "54865e": 5, "51": 5, "54769e": 5, "104": 5, "39903e": 5, "let": [5, 8, 12, 14, 15, 16, 20], "def": [5, 6, 8, 12, 13, 14, 15, 18], "detect_bhbh": 5, "logfil": [5, 12, 19, 22, 39], "log_file_lin": 5, "readlin": 5, "len": [5, 6, 12, 15, 18], "enough": [5, 31], "loop": [5, 6, 8, 12, 13, 14, 15, 30, 34], "stellar_type1": 5, "stellar_type2": 5, "rememb": [5, 6, 14], "pop": [5, 9, 16, 28], "return_dict": 5, "system_properti": 5, "log_file_cont": 5, "join": [5, 6, 7, 8, 9, 12, 13, 14, 15, 18, 21, 25], "oop": 5, "found": [5, 6, 8, 13, 14, 15, 29, 31, 36], "unbound": 5, "bound": [5, 31, 37], "search": [5, 6, 13, 16, 22], "search_for_bhbh": 5, "maxcount": 5, "No": [5, 6, 7, 8, 13, 14, 15, 21, 22, 39], "arg": [5, 7, 15, 19, 28, 31, 32], "search_result": 5, "16379": 5, "17247": 5, "211": 5, "81114": 5, "159326": 5, "970141": 5, "340351": 5, "132638": 5, "502053": 5, "15449": 5, "825261": 5, "304595": 5, "5300": 5, "592": 5, "17209": 5, "210": [5, 18], "22992": 5, "391": 5, "584197": 5, "452365": 5, "0846357": 5, "848993": 5, "111944": 5, "44077": 5, "703362": 5, "772581": 5, "130746": 5, "5444": 5, "wide": [5, 14], "caus": [5, 13, 42], "former": 5, "unphys": [5, 8, 13], "3486": 5, "006": 5, "8674": 5, "840": 5, "505": 5, "3185": 5, "78": 5, "017": [5, 16], "8704": 5, "600": 5, "509": 5, "3192": 5, "393": 5, "418": 5, "8706": 5, "568": 5, "510": 5, "3193": 5, "81": [5, 6], "496": [5, 6], "8910": 5, "54": [5, 14], "758": [5, 18], "3246": 5, "beg_rch": 5, "9650": 5, "495": 5, "571": 5, "3223": 5, "29": [5, 21], "913": [5, 13], "0585": 5, "24": 5, "961": [5, 13], "453": 5, "3211": 5, "65": [5, 6, 37], "999": 5, "007": [5, 16], "end_rch": 5, "0649": 5, "747": 5, "479": 5, "3216": 5, "67": [5, 15], "002": [5, 17, 18], "2699": 5, "22": [5, 14, 18], "235": [5, 6], "402": 5, "3331": 5, "32131": 5, "175268": 5, "383437": 5, "361343": 5, "457958": 5, "403947": 5, "2347": 5, "8374": 5, "64": [5, 13], "5055": 5, "53807": 5, "084183": 5, "10734e": 5, "2799": 5, "398": 5, "2946": 5, "392": [5, 18], "beg_bss": 5, "9074": 5, "49": [5, 13], "493": 5, "3373": 5, "end_bss": 5, "9113": 5, "243": 5, "3393": 5, "238": 5, "9192": 5, "236": [5, 18], "059": 5, "3447": 5, "9203": 5, "47": 5, "904": 5, "3454": 5, "69": 5, "9786": 5, "242": 5, "145": 5, "3893": 5, "83": 5, "0907": 5, "249": 5, "4523": 5, "296": 5, "1018": 5, "256": [5, 21], "583": 5, "4540": 5, "997": 5, "1137": 5, "232": 5, "4551": 5, "925": 5, "4596": 5, "101099": 5, "660012": 5, "331365": 5, "36634": 5, "576176": 5, "9248": 5, "0519": 5, "8488": 5, "62022": 5, "27061": 5, "58096e": 5, "3473": 5, "oh": 5, "dear": 5, "secondari": [5, 6, 13, 31, 42], "shorter": 5, "shrink": [5, 8], "best": [5, 20, 21], "acquir": 5, "closer": 5, "grvitation": 5, "0001": [5, 7, 42], "39800": 5, "005": 5, "8571": 5, "8600": 5, "096": 5, "0451": 5, "503": 5, "0491": 5, "561": 5, "0678": 5, "3099": 5, "0681": 5, "2094": 5, "56": 5, "978": 5, "43": 5, "022": 5, "2884": 5, "91": [5, 13], "672": [5, 13], "32438": 5, "qc": 5, "733417": 5, "st": 5, "9778": 5, "8207": 5, "1945": 5, "85": [5, 37], "rc": [5, 6, 8, 13, 14, 16, 24], "67126": 5, "0222": 5, "1192": 5, "comenv": [5, 8], "presc": 5, "m01": 5, "mc1": 5, "l1": 5, "14773e": 5, "rzam": [5, 42], "21541": 5, "convfrac": 5, "560301": 5, "lambda_ion": 5, "a_in": 5, "p_in": 5, "1793": 5, "89": [5, 15], "jtot_in": 5, "09752e": 5, "55": [5, 8, 13, 15, 31], "jorb_in": 5, "95297e": 5, "eorbi": 5, "31037e": 5, "ebindi": 5, "92616e": 5, "sepf": 5, "1221": 5, "1116": 5, "1193": 5, "7646": 5, "mf1": 5, "6094": 5, "mf2": 5, "af": 5, "jf": 5, "44174e": 5, "jej": 5, "82682e": 5, "eorbf": 5, "99926e": 5, "eej": 5, "89371e": 5, "alpha_ej": 5, "0273415": 5, "2095": 5, "821": 5, "122": 5, "647": 5, "092": 5, "793": 5, "mstart": 5, "407726": 5, "3102": 5, "62709": 5, "46857": 5, "a_out": 5, "p_out": 5, "00631839": 5, "30747": 5, "jorb_out": 5, "6543": 5, "rl1": 5, "099": 5, "rl2": 5, "792766": 5, "60828": 5, "gyr": [5, 6, 8], "61249": 5, "803": 5, "44": 5, "040": 5, "566": [5, 18], "32": [5, 19, 21], "457": 5, "79375": 5, "301545": 5, "0266946": 5, "404793": 5, "189909": 5, "0438563": 5, "126": 5, "248": 5, "275557": 5, "668975": 5, "421": 5, "918": 5, "5655": 5, "319412": 5, "506": 5, "521": 5, "8539": 5, "46": [5, 15], "629": 5, "9016": 5, "45": 5, "848": 5, "33": 5, "648": 5, "4816": 5, "633": 5, "954": 5, "5343": 5, "533": 5, "5348": 5, "5599": 5, "534": 5, "5604": 5, "5867": 5, "899": 5, "781": 5, "5875": 5, "5878": 5, "106": [5, 15], "5914": 5, "901": 5, "258": 5, "428": 5, "5916": 5, "804": 5, "873": 5, "461": 5, "28": [5, 7, 9, 12], "413": 5, "6245": 5, "808": 5, "245": 5, "7494": 5, "823": 5, "806": 5, "63": [5, 8, 13], "569": 5, "454": 5, "8032": 5, "830": [5, 18], "333": 5, "087": 5, "998": 5, "8033": 5, "990": 5, "8290": 5, "085": 5, "053": 5, "0403": 5, "050": 5, "0427": 5, "37": 5, "893": 5, "99": [5, 13], "552236": 5, "103282": 5, "393936": 5, "539534": 5, "864167": 5, "3329": 5, "0483": 5, "179": 5, "074": 5, "327": 5, "351": 5, "42972": 5, "0791504": 5, "8925": 5, "991187": 5, "66": [5, 8, 13], "5305": 5, "36": 5, "3905": 5, "82105": 5, "9857": 5, "7333": 5, "68": [5, 15], "5019": 5, "08275": 5, "77": 5, "3696": 5, "0742": 5, "1051": 5, "0146": 5, "contact": [5, 22, 39], "00319559": 5, "00262864": 5, "163": 5, "57683": 5, "0798097": 5, "bh_bh": 5, "1626": 5, "501459": 5, "154271": 5, "coalesc": 5, "r_": 5, "odot": [5, 6, 8, 18], "13312": 5, "7617": 5, "018": 5, "7647": 5, "572": 5, "7721": 5, "7785": 5, "3100": 5, "1326": 5, "52": 5, "305": 5, "695": 5, "2791": 5, "159": 5, "09665": 5, "714712": 5, "3048": 5, "0276": 5, "2332": 5, "71818": 5, "6952": 5, "9757": 5, "44223e": 5, "33552": 5, "467851": 5, "1708": 5, "09706e": 5, "96557e": 5, "76416e": 5, "30388e": 5, "7114": 5, "4385": 5, "9758": 5, "8926": 5, "5423": 5, "72832e": 5, "63566e": 5, "39152e": 5, "03996e": 5, "0241634": 5, "1327": 5, "028": 5, "711": 5, "367": 5, "459": 5, "397754": 5, "3084": 5, "9071": 5, "46089": 5, "0152545": 5, "57093": 5, "6771": 5, "459382": 5, "9411": 5, "9452": 5, "215": 5, "508": 5, "76": [5, 13], "284": 5, "67260": 5, "643477": 5, "441321": 5, "365945": 5, "352254": 5, "0493316": 5, "2147": 5, "401": 5, "309959": 5, "299971": 5, "175": 5, "0005": 5, "759863": 5, "986": 5, "186": 5, "8186": 5, "301": 5, "55202": 5, "8609": 5, "46244": 5, "7292": 5, "322": 5, "3844": 5, "4261": 5, "09": 5, "8255": 5, "339": 5, "1375": 5, "026": 5, "1380": [5, 18], "7437": 5, "276": 5, "488": 5, "702": 5, "185": 5, "7464": 5, "110": 5, "815": 5, "7466": 5, "938": 5, "881": 5, "7479": 5, "466": 5, "188": 5, "114": 5, "7598": 5, "278": 5, "754": 5, "7691": 5, "279": 5, "231": 5, "697": 5, "7692": 5, "987": 5, "7854": 5, "696": 5, "061": 5, "9061": 5, "063": 5, "1521": 5, "1942": 5, "060": 5, "1949": 5, "936": 5, "534629": 5, "163092": 5, "907792": 5, "0909357": 5, "00121347": 5, "2315": 5, "7429": 5, "140": 5, "491": 5, "362": 5, "342": 5, "00762447": 5, "958149": 5, "304": 5, "115": [5, 31], "9359": 5, "295576": 5, "61": [5, 15], "understand": [5, 21], "mention": 5, "introduct": [5, 6], "nto": 5, "most": [5, 6, 7, 8, 14, 19, 22, 39], "next": [5, 14, 15, 19], "catch": [5, 6, 8, 12, 13, 14, 15, 18, 19, 21], "sever": [5, 11, 15, 18, 21, 24, 33, 40], "trend": 5, "math": [6, 8, 13, 14, 15, 16, 34, 37], "matplotlib": [6, 8, 14, 16, 18, 24], "pyplot": [6, 8, 14, 16, 18], "plt": [6, 8, 14, 16, 18], "notebook_hrd": 6, "our": [6, 8, 13, 14, 16, 21, 22, 31, 39], "mathrm": [6, 8, 13, 14], "univers": [6, 8, 21], "These": [6, 7, 14, 15, 19, 21, 24, 25], "rough": 6, "real": [6, 13, 15, 34], "finit": [6, 8, 13, 14], "ago": 6, "cannot": [6, 9, 15, 28, 30, 33], "geq": 6, "_": [6, 8, 13, 14, 21, 33], "through": [6, 7, 11, 12, 13, 14, 15, 24, 25, 34, 40], "studi": [6, 22, 39], "leq": 6, "bse_opt": [6, 13, 14, 15, 20, 37], "grid_opt": [6, 12, 13, 14, 15, 20, 25, 28, 29, 30, 34, 35, 36, 37], "custom_opt": [6, 12, 13, 14, 15, 20, 30], "physic": [6, 13, 14, 15, 21], "13700": [6, 8], "nine": 6, "massrang": [6, 8, 13, 14], "add_grid_vari": [6, 8, 13, 14, 15, 34], "longnam": [6, 8, 13, 14, 15, 34], "valuerang": [6, 8, 13, 14, 15, 34], "samplerfunc": [6, 8, 13, 14, 15, 21, 34, 37], "self": [6, 8, 12, 13, 14, 15, 20, 21, 25, 28, 29, 30, 31, 34, 36, 37, 38], "const_linear": [6, 8, 13, 14, 15, 34, 37], "min_mass": 6, "max_mass": 6, "res_mass": 6, "probdist": [6, 8, 13, 14, 15, 34], "dprob": [6, 8, 14], "dm1": [6, 14], "care": [6, 13, 14, 21], "dphasevol": [6, 8, 13, 14, 15, 34], "dm_1": [6, 14], "condit": [6, 8, 9, 13, 14, 15, 17, 18, 34], "impos": [6, 8, 13, 14, 15], "mostli": [6, 8, 13, 14, 15, 18, 19, 21, 24, 33, 40], "yourself": [6, 8, 13, 14, 15, 24], "gridtyp": [6, 15, 34], "asymptot": 6, "made": [6, 25], "bit": [6, 13], "messi": 6, "avoid": [6, 7, 8], "track": [6, 21, 24], "custom_logging_stat": [6, 8, 13, 14], "foreach_star": [6, 13], "outermost_core_mass": 6, "doubl": [6, 9, 15, 19], "logteff": 6, "teff_from_star_struct": 6, "logl": 6, "loggrav": 6, "tini": 6, "gravitational_const": 6, "m_sun": 6, "pow2": 6, "r_sun": 6, "starnum": [6, 13], "zero_ag": [6, 9, 12, 13, 14, 15], "c_logging_cod": [6, 8, 9, 12, 13, 14, 15, 21], "doesn": [6, 21], "associ": [6, 8, 13, 14, 29, 36], "datalinedict": [6, 8, 13, 14, 19], "parse_funct": [6, 8, 12, 13, 14, 15, 20, 21, 40], "zams_mass": [6, 13, 14, 15], "splitlin": [6, 7, 8, 9, 12, 13, 14, 15, 16], "nstar": [6, 13], "group": [6, 13, 16, 38], "linedata": [6, 8, 13, 14], "setup": [6, 15, 22, 39, 40], "grid_result": [6, 8, 13, 14, 21], "results_dictionari": [6, 8, 13, 14], "configur": [6, 11, 12, 13, 14, 15, 18, 21, 26, 31], "part": [6, 7, 12, 13, 14, 15, 18, 20, 29, 31, 34, 36, 42], "straightforward": [6, 13, 14, 15], "num_cor": [6, 8, 13, 14, 15, 21], "lot": [6, 13, 14, 15, 16, 21, 38, 40], "ri0005": [6, 15, 22, 39], "surrei": [6, 15, 22, 39], "ac": [6, 15, 22, 39], "uk": [6, 15, 22, 39], "grid_options_descript": [6, 15, 33], "thread": [6, 8, 13, 14, 19, 21, 32], "suffici": 6, "ensur": 6, "crunch": [6, 8, 13, 14], "analyt": [6, 8, 13, 14, 15, 20, 22, 23], "dry": [6, 8, 13, 14, 15, 21, 34], "starcount": [6, 8, 13, 14, 15], "subprocess": [6, 8, 13, 14, 15], "c98b63ab1b0346d9a1067fc08cb8dd00": 6, "finish": [6, 8, 13, 14, 15, 19, 24, 30], "took": [6, 8, 13, 14, 15, 18], "167": 6, "133": [6, 15], "mb": [6, 8, 13, 14, 15, 19, 21], "were": [6, 8, 13, 14, 15, 19, 38], "metadata": [6, 8, 13, 14, 15, 20, 22, 23, 34], "complet": [6, 8, 13, 14, 15], "technic": [6, 8, 9, 13, 14, 15], "seaborn": [6, 8, 13, 14, 16], "panda": [6, 8, 12, 13, 14, 16, 17, 18, 19, 24], "pd": [6, 8, 12, 13, 14, 16, 17, 18], "pad_output_distribut": [6, 8, 13, 14, 19], "max_row": [6, 8], "max_column": [6, 8], "figur": [6, 8, 13, 14, 16, 24], "figsiz": [6, 8, 13, 14, 16, 18], "set_context": [6, 8, 13, 14, 16], "font_scal": [6, 8, 13, 14, 16], "linewidth": [6, 8, 13, 14, 16], "datafram": [6, 8, 12, 13, 14, 16, 17, 18, 24], "column": [6, 8, 12, 15, 16, 18, 24], "lineplot": [6, 8, 13, 14, 16], "estim": [6, 16, 19, 21], "label": [6, 18, 31], "text": [6, 8, 16, 19, 33], "invert_xaxi": 6, "set_xlabel": [6, 8, 13, 14, 16, 18], "log_": [6, 8, 13, 14], "t_": 6, "eff": 6, "set_ylabel": [6, 8, 13, 14, 16, 18], "distanc": [6, 16], "rerun": [6, 21], "At": [6, 15], "expect": [6, 7, 8, 13, 14, 21, 22, 39], "begin": 6, "shortli": 6, "rsun": [6, 24], "8af9954e2cc847aa8ceabc618e3d147d": 6, "suddenli": 6, "smooth": [6, 14], "a34e3c842d96496c87ab0d70bdacac11": 6, "247": [6, 15], "824": 6, "jerki": 6, "strong": 6, "rgb": 6, "tip": [6, 31], "proper": [6, 9, 33], "program": [6, 22, 39], "languag": 6, "sim": 6, "750": 6, "cours": [6, 24], "simpl": [6, 8, 13, 16], "haven": 6, "talk": 6, "produc": 6, "suffer": 6, "thermonuclear": 6, "lumin": 6, "kilonova": 6, "interfac": [7, 16, 19, 22, 25, 39], "framework": [7, 22, 39], "sourcecod": [7, 9, 22, 39], "binary_c_python": [7, 12, 13, 14, 15, 19], "_binary_c_bind": [7, 9, 12, 16, 38, 42], "cell": [7, 14, 15], "free_persistent_data_memaddr_and_return_json_output": 7, "persistent_data": 7, "adress": [7, 9, 42], "persist": 7, "free_store_memaddr": 7, "memaddr": [7, 9], "return_arglin": 7, "return_help": 7, "info": [7, 11, 15, 19, 20, 22, 24, 38, 39], "return_help_al": [7, 19], "overview": 7, "categor": 7, "section": [7, 15, 19, 22, 31, 39], "return_maximum_mass_ratio_for_rlof": [7, 42], "argstr": [7, 9, 12, 16, 18], "store_capsul": 7, "unction": 7, "return_minimum_orbit_for_rlof": [7, 42], "return_persistent_data_memaddr": 7, "run_popul": 7, "return_store_memaddr": 7, "return_version_info": [7, 38], "abl": 7, "situat": 7, "slightli": 7, "custom_logging_func_memaddr": [7, 9, 21], "store_memaddr": [7, 42], "write_logfil": 7, "test_func": 7, "snippet": [7, 12], "reliabl": 7, "dont": [7, 18], "home": 7, "pyenv": [7, 22, 39], "binarycpython3": 7, "lib": [7, 12, 17, 18, 22, 39], "python3": [7, 22, 39], "site": 7, "cpython": 7, "x86_64": 7, "linux": 7, "gnu": 7, "categori": [7, 15], "creation": 7, "alloc": [7, 37], "written": [7, 12, 15, 21, 22, 30, 33, 34, 39, 40], "4500": 7, "lt": [7, 12, 13, 15, 17], "0x7fc1f0c3ff00": 7, "single_star_lifetim": [7, 9, 12], "4838": [7, 9, 12], "unpars": 7, "abridg": [7, 9, 15], "algorithm": [7, 22], "__arg_begin": 7, "lastli": [7, 12], "00632092": 7, "0141": 7, "alter": [8, 13, 34], "intermedi": 8, "Not": 8, "notebook_comenv": 8, "alpha_": 8, "demonstr": 8, "keep": [8, 15, 30, 32], "log_dt": [8, 21], "progress": [8, 19], "focu": 8, "imposs": 8, "logperrang": [8, 13], "lnm1": [8, 13, 14, 15], "min": [8, 9, 13, 14, 15, 31], "precod": [8, 13, 14, 15, 34], "exp": [8, 13, 14, 15, 34], "three_part_powerlaw": [8, 13, 14, 15, 31], "150": [8, 13, 14, 15], "dlnm1": [8, 13, 15], "flatsect": [8, 13, 15, 31], "height": [8, 13, 15, 31], "dq": [8, 13, 15], "log10per": [8, 13, 15], "calc_sep_from_period": [8, 13, 15, 42], "sep_min": [8, 13, 15], "sep_max": [8, 13, 15], "sana12": [8, 13, 15, 31], "dlog10per": [8, 13, 15], "comenv_count": 8, "had": [8, 13, 14, 20], "proport": 8, "previou": [8, 14, 19, 21, 38], "year_length_in_dai": 8, "wast": [8, 14], "evolution_stop": 8, "parse_data": 8, "bin_data": [8, 13, 14, 19], "binwidth": [8, 13, 14, 19], "pre_comenv_period": 8, "post_comenv_period": 8, "nearest": [8, 13, 14], "5dex": [8, 14], "binned_pre_period": 8, "aritif": 8, "binned_post_period": 8, "histogram": 8, "machin": [8, 21, 22, 39], "0645564": 8, "e7857f8149e949a286f9bfe35157f91f": 8, "minut": [8, 19], "668": 8, "594": 8, "population_id": [8, 13, 14, 15, 21], "evolution_typ": [8, 13, 14, 15, 21], "failed_count": [8, 13, 14, 15], "failed_prob": [8, 13, 14, 15], "failed_systems_error_cod": [8, 13, 14, 15], "errors_exceed": [8, 13, 14, 15], "errors_found": [8, 13, 14, 15], "total_prob": [8, 13, 14, 15], "06455639233064192": 8, "total_count": [8, 13, 14, 15], "start_timestamp": [8, 13, 14, 15], "1655558353": 8, "8189669": 8, "end_timestamp": [8, 13, 14, 15], "1655558379": 8, "477376": 8, "time_elaps": [8, 13, 14, 15, 27], "658409118652344": 8, "total_mass_run": [8, 13, 14, 15], "3410": 8, "9363465845586": 8, "total_probability_weighted_mass_run": [8, 13, 14, 15], "2260906041851175": 8, "zero_prob_stars_skip": [8, 13, 14, 15], "unmerg": 8, "deepcopi": 8, "logper": [8, 31], "90": 8, "del": 8, "pad": [8, 13, 14], "plot_data": [8, 13, 14], "from_dict": [8, 13, 14, 17, 18], "orient": 8, "p_": 8, "orb": [8, 15, 30], "peak": [8, 14, 37], "sim10": 8, "Such": 8, "prime": 8, "candid": 8, "excit": 8, "astrophys": [8, 14, 22, 39], "life": 8, "compact": [8, 15], "lambda_": 8, "smoother": [8, 14], "curv": [8, 14], "why": 8, "learn": [9, 21], "custom_logging_funct": [9, 12, 15, 17, 18, 21, 22, 23], "edit": 9, "log_every_timestep": [9, 12], "evolve_singl": [9, 12, 20], "publicli": 9, "elabor": 9, "advis": 9, "hardcod": [9, 13, 14, 15], "your": [9, 12, 17, 18, 21, 22, 39], "obvious": 9, "logging_lin": [9, 17, 18], "own": [9, 12, 15, 17, 18, 21, 22, 34, 39], "pragma": 9, "push_macro": 9, "undef": 9, "visibl": 9, "__attribute__": 9, "void": 9, "binary_c_api_funct": 9, "custom_output_funct": 9, "stardata_t": 9, "pop_macro": 9, "notebook_individual_system": [9, 12, 13, 14, 15], "2e": [9, 18], "example_logging_string_post_m": 9, "example_post_m": 9, "044142002936e": 9, "99194": 9, "13567": 9, "044572277695e": 9, "99192": 9, "51803": 9, "044654032097e": 9, "81395": 9, "045084306856e": 9, "99191": 9, "57443": 9, "manual": [9, 21, 22, 39], "custom_logging_memaddr": 9, "shared_lib_filenam": 9, "4530": [9, 12, 18], "example_logging_string_co": 9, "848380621869e": 9, "33469": 9, "1865": 9, "72498e": [9, 15], "338": 9, "example_massloss": [9, 12], "sn_type": 9, "sn_none": 9, "example_sn": 9, "id_cor": 9, "core_co": 9, "core_h": 9, "050651207308e": 9, "59452": 9, "34213": 9, "55458": 9, "71662": 9, "soon": [10, 37], "cover": [11, 14], "get_help": [11, 19], "get_help_al": [11, 19, 20], "get_help_sup": [11, 19], "get_default": [11, 19], "print_help": [11, 19], "parameter_value_input_typ": [11, 19], "fetch": [11, 12], "return_binary_c_version_info": [11, 20, 38], "version_info": [11, 20, 22, 23], "dict_kei": [11, 12], "argpair": [11, 38], "ensemble_filt": 11, "dt_limit": 11, "nucleosynthesis_sourc": [11, 38], "miscellan": [11, 38], "conjunct": 11, "analyz": 12, "quickli": 12, "simplest": 12, "notebook_custom_log": [12, 13, 14, 15], "path": [12, 15, 18, 19, 21, 22, 25, 28, 29, 30, 33, 36, 39], "uncom": [12, 13, 14, 15, 16], "docstr": [12, 24], "12461": 12, "test_logfil": 12, "22065": 12, "11003": 12, "1302": 12, "11582": 12, "2424": 12, "12325": 12, "1085": 12, "817": 12, "12457": 12, "1301": 12, "783": 12, "12460": 12, "8955": 12, "774": 12, "shrinkagb": 12, "1490": 12, "678": 12, "custom_log": [12, 18, 20, 21], "custom_logging_print_stat": 12, "000000000000e": 12, "column_nam": 12, "initial_mass": [12, 18], "value_lin": 12, "chose": 12, "startswith": 12, "split_lin": 12, "el": [12, 15], "numpi": [12, 15, 17, 18, 19, 34, 37], "arrai": [12, 15, 18, 19, 21, 31, 34, 37], "my": 12, "favorit": 12, "queri": [12, 25], "example_df": 12, "iloc": [12, 18], "drop": 12, "000001": 12, "000002": 12, "000003": 12, "1250": 12, "061259": 12, "718593": 12, "1251": 12, "149038": 12, "678026": 12, "1252": 12, "13461": 12, "1253": 12, "14461": 12, "1254": 12, "row": [12, 18, 24], "notebook_popul": [12, 13, 15], "everyth": [12, 15, 20, 21], "accordingli": [12, 14, 15], "example_pop": [12, 15], "stuff": [12, 15, 21], "libcustom_logging_34a350b8f15c4d149deab88632948c99": 12, "np": [12, 17, 18, 37], "object_parse_funct": 12, "output_fil": [12, 19, 30, 33], "output_dir": [12, 15, 30], "example_output": 12, "values_arrai": 12, "fill": [12, 19], "output_dict": [12, 13], "anywai": [12, 15, 31, 34], "written_data": 12, "0x7f35b603e9d0": 12, "previous": [12, 15, 25], "libcustom_logging_446fe4cddfa94946bcafd55591ef3730": 12, "under": [12, 37], "hood": 12, "fewer": 12, "failsaf": 12, "notebook_api_funct": 12, "9927": 12, "But": 12, "caught": [12, 19, 38], "correctli": [12, 18, 22, 39], "notebook_luminosity_funct": 13, "ipynb": [13, 14, 15], "conceptu": 13, "public": [13, 14, 15, 22], "side": [13, 14, 15], "cube": 13, "nre": [13, 37], "07": [13, 14, 18, 31, 37], "document": [13, 14, 15, 21, 23, 30, 33], "recompil": [13, 14, 15, 22, 39], "somewhat": [13, 14, 15, 16], "purpos": [13, 14, 15, 21, 24], "perfectli": [13, 14], "strictli": [13, 14], "zero_age_main_sequence_starn": 13, "unresolv": 13, "model_numb": [13, 14], "equival": [13, 21, 25], "capit": [13, 14], "zero_age_main_sequence_star": [13, 14], "amp": 13, "1dex": [13, 14], "binned_log_luminos": [13, 14], "0x7f777242c4c0": 13, "binary_c_grid_58bfc73fabfb43b18ae455666fe4d8f8": 13, "py": [13, 15, 21, 22, 28, 39], "dry_run": [13, 15], "symlink": [13, 15], "binary_c_grid": [13, 15], "latest0": 13, "3159": 13, "645748": 13, "996": 13, "processor": 13, "008": 13, "019": 13, "025": 13, "mainprocess": 13, "system_queue_fil": 13, "027": 13, "latest1": 13, "3145": 13, "0s": 13, "tpr": 13, "36e": 13, "etf": 13, "mem": 13, "584": 13, "7mb": 13, "7e": 13, "23146": 13, "6e": 13, "3147": 13, "37e": 13, "signal": [13, 21], "941": 13, "free": 13, "18t12": 13, "996087": 13, "948339": 13, "95": 13, "ran": [13, 21], "792": 13, "161354": 13, "018956": 13, "948532": 13, "93": 13, "791": 13, "158204": 13, "027113": 13, "949028": 13, "92": 13, "784": 13, "166051": 13, "queue": [13, 21, 25, 29], "007947": 13, "955484": 13, "160139": 13, "959": 13, "960": 13, "968": 13, "58bfc73fabfb43b18ae455666fe4d8f8": 13, "6457484448453049": 13, "1655552941": 13, "9314468": 13, "1655552946": 13, "3461084": 13, "414661645889282": 13, "65199": 13, "55913120549": 13, "6433998017038131": 13, "titl": [13, 33], "l_": [13, 14], "yscale": [13, 14, 16], "weirdli": 13, "cost": [13, 14], "observ": [13, 14], "later": [13, 14, 21], "notebook_luminos": 14, "synthesi": [14, 15, 21, 22, 39], "binarygrid": [14, 15], "predefin": [14, 15, 31], "assign": [14, 15, 34], "chosen": [14, 15, 34], "trio": [14, 15], "throughout": [14, 15, 34], "theoret": 14, "integr": [14, 31, 37], "densiti": [14, 31], "accur": 14, "_1": 14, "probtot": 14, "mmax": [14, 31, 37], "mmin": [14, 21, 31, 37], "6afcef10590f48f3b089a6e5bffc70c4": 14, "164": 14, "1655551739": 14, "2635226": 14, "1655551740": 14, "371832": 14, "108309268951416": 14, "3650000000002": 14, "035": 14, "ldist": 14, "implic": 14, "105": 14, "clearli": 14, "realist": 14, "went": 14, "wrong": [14, 22, 39], "unlik": 14, "realiti": 14, "law": [14, 31], "kroupa": [14, 31], "2001": [14, 31], "update_grid_vari": [14, 34], "211729": 14, "452bcf6eb93e4e2493019ec93ee250df": 14, "468": 14, "883": 14, "spiki": 14, "notic": 14, "poor": 14, "compens": 14, "intens": 14, "resourc": [14, 25], "smarter": 14, "linearli": [14, 37], "renam": [14, 34], "clear": [14, 38], "logarithm": [14, 31, 37], "old": [14, 21, 34], "lnm_1": [14, 15, 34], "rename_grid_vari": [14, 34], "dlnm": 14, "dlnm_1": [14, 15, 34], "_grid_vari": [14, 21, 34], "991317": 14, "ec5d853278c743a3acdb8ab290f641df": 14, "475": 14, "789": 14, "perfect": 14, "got": 14, "wiggl": 14, "artefact": 14, "monoton": 14, "brighten": 14, "narrow": 14, "co2": 14, "bar": 14, "isn": [14, 19], "challeng": 14, "sequnec": 14, "notebook_luminosity_function_binari": 14, "recogn": [15, 16], "__": 15, "45000000080": 15, "data_dir": [15, 19, 20, 21, 30], "example_python_population_result": 15, "base_filenam": [15, 20], "idea": [15, 24], "export_all_info": [15, 20], "include_popul": 15, "binary_c_default": 15, "commandlin": 15, "accept": [15, 19, 26], "include_binary_c_default": [15, 20], "include_binary_c_version_info": [15, 20], "include_binary_c_help_al": [15, 20], "fase": 15, "overriden": 15, "use_datadir": [15, 20], "outfil": [15, 20], "ok": [15, 25, 30], "example_pop_set": 15, "gz": [15, 30], "alreadi": [15, 16, 25, 30, 34], "ret": 15, "easier": [15, 18, 19, 20], "discret": 15, "unweight": 15, "notabl": 15, "moe": [15, 22, 25, 26, 31], "di": [15, 22, 26, 31], "stefano": [15, 22, 26, 31], "dataset": [15, 21, 25, 26], "further": 15, "down": 15, "population_extens": [15, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "gridcod": [15, 20, 22, 23], "centr": [15, 34], "branchpoint": [15, 34], "branchcod": [15, 34], "postcod": [15, 34], "topcod": [15, 34], "bottomcod": [15, 34], "dry_parallel": [15, 34], "deeper": [15, 34], "evalu": [15, 31, 34, 37, 42], "bewar": [15, 30, 34], "insert": [15, 34], "destruct": [15, 34], "piec": [15, 18, 34], "risk": [15, 34], "rest": [15, 31, 34], "correspond": [15, 24, 29, 34, 36], "m_min": [15, 34], "m_max": [15, 31, 34], "room": [15, 34], "kroupa2001": [15, 31, 34], "met": [15, 20, 25, 34], "continu": [15, 29, 34, 36], "stepsiz": [15, 34], "parallel": [15, 34], "block": [15, 34], "distribution_funct": [15, 20, 22, 23], "comment": [15, 25, 29, 36], "test_pop": 15, "Or": [15, 18], "example_compact_object": 15, "necessari": [15, 16, 18, 19, 20, 36], "makedir": [15, 19], "exist_ok": [15, 19], "seper": 15, "outfilenam": 15, "headerlin": 15, "isnt": 15, "valueerror": 15, "0x7f2b6ca163a0": 15, "grid_vari": [15, 21], "0443872": 15, "598268106227e": 15, "30592": 15, "75988": 15, "00193614": 15, "436983545111e": 15, "35842": 15, "9948": 15, "00144093": 15, "690157944401e": 15, "43124": 15, "7998": 15, "00107238": 15, "242397939068e": 15, "52416": 15, "3205": 15, "000798096": 15, "756794139032e": 15, "66914": 15, "7394": 15, "000593966": 15, "401414766976e": 15, "73729": 15, "2857": 15, "000442046": 15, "536373523810e": 15, "80677": 15, "000328983": 15, "393982410080e": 15, "82164": 15, "9844": 15, "000244839": 15, "396470605248e": 15, "82129": 15, "53": 15, "9508": 15, "000182216": 15, "399005684057e": 15, "82041": 15, "7151": 15, "00013561": 15, "443375325717e": 15, "81645": 15, "84": 15, "9909": 15, "000100925": 15, "451195752942e": 15, "81559": 15, "51114e": 15, "452661646076e": 15, "81543": 15, "59e": 15, "ce756bb317f64099a459bf8b55a746ac": 15, "73": 15, "293": 15, "406": 15, "044387171445641534": 15, "1646563001": 15, "7193637": 15, "1646563002": 15, "4480088": 15, "7286450862884521": 15, "649": 15, "905447944397": 15, "28133908148630704": 15, "write_binary_c_calls_to_fil": [15, 30], "dataio": [15, 20, 22, 23], "output_filenam": [15, 30], "include_default": [15, 30], "system_gener": [15, 30], "wouldn": [15, 30], "basic": [15, 30], "datadir": [15, 30], "binary_c_cal": [15, 30], "calls_filenam": 15, "binary_c_grid_ce756bb317f64099a459bf8b55a746ac": 15, "latest2": 15, "2406484012210224": 15, "22723621650191106": 15, "011394572976608001": 15, "812296769855663": 15, "22723621650191117": 15, "008480166685456411": 15, "5297876799548944": 15, "006311182276049824": 15, "430329401616038": 15, "004696962123378559": 15, "thats": 15, "evolve_popul": 15, "isfil": 15, "0fa4c2b8707741a5ab41d209ef95a3a4": 15, "299": 15, "531": 15, "regist": 15, "expand": 15, "intend": 15, "mass_1": [15, 18, 24], "zams_mass_1": 15, "mass_2": [15, 18, 24], "zams_mass_2": 15, "prev_stellar_type_1": 15, "prev_stellar_type_2": 15, "example_dco": 15, "logger": 15, "safe": [15, 30], "0211592": 15, "0eb5c0c9abd34607a6ee060b26a7e32f": 15, "300": [15, 37], "378266748188e": 15, "66293": 15, "9713": 15, "78767": 15, "8178": 15, "000339963": 15, "817608462595e": 15, "82104": 15, "41436": 15, "000193036": 15, "422997711686e": 15, "82479": 15, "82171": 15, "2535": 15, "205711924468e": 15, "73765": 15, "solarsystem": 16, "central": 16, "notebook_solar_system": 16, "mmercuri": 16, "moreov": 16, "mercuri": 16, "1mmercuri": 16, "orbital_separ": 16, "1amercuri": 16, "star1": 16, "orbital_eccentr": 16, "206": 16, "venu": 16, "1mvenu": 16, "1avenu": 16, "earth": 16, "1mearth": 16, "1aearth": 16, "mar": 16, "1mmar": 16, "1amar": 16, "093": 16, "jupit": 16, "1mjupit": 16, "1ajupit": 16, "048": [16, 18], "saturn": 16, "1msaturn": 16, "1asaturn": 16, "056": 16, "uranu": 16, "1muranu": 16, "1auranu": 16, "047": 16, "neptun": 16, "1mneptun": 16, "1aneptun": 16, "pluto": 16, "1mpluto": 16, "1apluto": 16, "2444": 16, "244": 16, "planet": 16, "cs1": 16, "superflu": 16, "fourth": 16, "dtype": [16, 17, 18], "argh": 16, "sun": 16, "df": [16, 17, 18, 24], "ci": 16, "legend": [16, 18], "xx": 16, "head": 16, "loc": 16, "yy": 16, "au": 16, "swallow": 16, "although": 16, "mess": 16, "push": 16, "beyond": 16, "explor": 16, "vs": [16, 24], "ylim": 16, "toasti": 16, "distant": 16, "futur": 16, "example_parse_output": [17, 19], "100000000000": [17, 18], "float64": [17, 18], "logi": 17, "axessubplot": 17, "xlabel": 17, "server": 18, "nov": 18, "binary_c_python_api": 18, "nbinary_c": 18, "example_header_1": 18, "st1": 18, "st2": 18, "3540": 18, "example_header_2": 18, "initial_grid": 18, "tempfil": 18, "gettempdir": 18, "test_log": 18, "7106": 18, "786e": 18, "7509": 18, "645": 18, "776": 18, "8427e": 18, "7773": 18, "639": 18, "775": 18, "8435e": 18, "748": 18, "9373e": 18, "0900": 18, "705": 18, "2934e": 18, "1204": 18, "726": 18, "700": 18, "3081e": 18, "2118": 18, "3702e": 18, "2646": 18, "472": 18, "462": 18, "34421": 18, "d48r": 18, "0570946": 18, "458272": 18, "13108": 18, "562029": 18, "924056": 18, "89211": 18, "78817": 18, "302": 18, "148": 18, "113492": 18, "80602": 18, "124379": 18, "2365": 18, "7087": 18, "7695": 18, "444": 18, "608402": 18, "696003": 18, "796455": 18, "0834973": 18, "85661": 18, "3914": 18, "156": 18, "524629": 18, "634667": 18, "func_memaddr": 18, "run_binary_custom_log": 18, "3e": 18, "serv": [18, 19], "parse_output": 18, "behind": 18, "scene": 18, "background": 18, "inlin": 18, "mind": 18, "result_example_header_1": 18, "selected_head": [18, 19], "result_example_header_2": 18, "cast": [18, 19], "df2": 18, "81762e": 18, "000000e": 18, "00000": 18, "817620e": 18, "3927": 18, "102750e": 18, "33817": 18, "62124": 18, "896110e": 18, "202750e": 18, "3929": 18, "302750e": 18, "3930": 18, "402750e": 18, "3931": 18, "500000e": 18, "3932": 18, "doesnt": [18, 33], "autogener": 18, "result_example_head": 18, "000000": 18, "3630": 18, "131680e": 18, "627748": 18, "3631": 18, "231680e": 18, "3632": 18, "331680e": 18, "3633": 18, "431680e": 18, "3634": 18, "3635": 18, "run_and_calc_mass": 18, "kwarg": [18, 20, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40], "2f": 18, "last_st": 18, "last_stellar_type_change_time_1": 18, "slice": 18, "sliced_df": 18, "cut": 18, "late": 18, "final_mass": 18, "initial_tim": 18, "final_tim": 18, "mass_lost": 18, "wrt": 18, "metallicity_002": 18, "metallicity_001": 18, "metallicity_0002": 18, "mass_rang": 18, "arang": 18, "fractions_z002": 18, "fractions_z001": 18, "fractions_z0002": 18, "214274644851685": 18, "ax": 18, "subplot": 18, "nrow": 18, "ncol": 18, "m_": 18, "fontsiz": 18, "set_titl": 18, "set_yscal": 18, "save_loop": 18, "mass_loss_m": 18, "png": 18, "ep": 18, "bbox_inch": 18, "tight": 18, "verbose_print": [19, 32], "iter": 19, "context": 19, "manag": [19, 22, 39], "__enter__": 19, "stdout": [19, 21, 37], "__exit__": 19, "releas": [19, 22, 39], "call_binary_c_config": 19, "catchtim": 19, "spent": 19, "clock": 19, "exc_typ": 19, "exc_val": 19, "exc_tb": 19, "measur": 19, "check_if_in_shel": 19, "command_string_from_list": 19, "quot": 19, "conv_time_unit": 19, "hour": 19, "magnitud": 19, "convert_byt": 19, "size": [19, 21, 28], "convfloat": 19, "scalar": 19, "create_arg_str": 19, "filter_valu": 19, "create_hdf5": 19, "hdf5": 19, "hdf5file": 19, "conveni": [19, 22, 39], "example_head": 19, "94": 19, "defaultdict": 19, "rethink": 19, "filter_arg_dict": 19, "format_numb": 19, "scientif": 19, "notat": 19, "trail": [19, 37], "get_ansi_colour": 19, "color": [19, 24], "get_arg_kei": 19, "sinc": [19, 24, 31], "param_nam": 19, "fail_sil": 19, "did": [19, 22, 39], "compon": [19, 24], "categoris": 19, "silent": 19, "get_siz": 19, "seen": 19, "github": [19, 30], "bosswissam": 19, "pysiz": 19, "get_usernam": 19, "usernam": 19, "spawn": 19, "is_capsul": 19, "tell": [19, 25], "isfloat": 19, "isint": 19, "load_logfil": 19, "make_build_text": 19, "mem_us": 19, "now_object": 19, "nospac": 19, "date": [19, 20, 21], "d_": 19, "output_lin": 19, "receiv": 19, "dist": 19, "quotewrap": 19, "remove_fil": 19, "child_dir": 19, "child": 19, "full_path": 19, "timedelta": 19, "delta": [19, 37], "length": 19, "human": 19, "readabl": 19, "trem": 19, "dn": [19, 31], "differenti": 19, "messag": [19, 20], "minimal_verbos": 19, "newlin": [19, 21, 30, 32], "charact": [19, 21, 30], "x0d": [19, 21], "carriag": [19, 21], "write_binary_c_parameter_descriptions_to_rst_fil": 19, "rst": [19, 33], "restructuredtext": 19, "save_snapshot": [20, 21, 30], "distinct": 20, "init": [20, 22, 39], "initial_abundance_hash": 20, "isotope_hash": 20, "isotope_list": 20, "nuclear_mass_hash": 20, "nuclear_mass_list": 20, "source_list": 20, "ensemble_list": 20, "spread": 20, "privat": [20, 22], "nice": [20, 24], "unload": 20, "custom_logging_info": 20, "grid_cod": 20, "mixin": 20, "portal": 20, "decor": 20, "staticmethod": 20, "classmethod": 20, "realpython": 20, "static": 20, "demystifi": 20, "cach": [20, 21, 22, 23, 27, 33, 37], "grid_log": [20, 22, 23], "grid_options_default": [20, 22, 23, 28], "hpc": [20, 21, 22, 23, 29, 36], "moe_di_stefano_2017": [20, 22, 23], "spacing_funct": [20, 22, 23], "reus": 20, "_pre_run_setup": 20, "relev": 20, "clean_up_custom_logging_fil": 20, "stacktrac": 20, "sy": 20, "include_population_set": 20, "all_info": 20, "flaw": 20, "rewrit": 20, "pl": 20, "population_set": 20, "return_population_set": 20, "_set": 20, "simulation_": 20, "jobid": [20, 21, 36], "job": [20, 21, 25, 29, 36], "id": [20, 21, 25, 29, 30, 31, 32, 36], "pid": 20, "hpc_jobid": [20, 25], "parse_cmdlin": 20, "return_all_info": 20, "return_binary_c_default": 20, "was_kil": 20, "meant": 21, "c_auto_log": 21, "headlin": 21, "hpc_force_join": 21, "slurm": [21, 22, 23, 25], "condor": [21, 22, 23, 25], "hpc_rebuild_joinlist": [21, 25], "joinlist": [21, 25], "moe2017_opt": 21, "cache_dir": [21, 37], "combine_ensemble_with_thread_join": 21, "ensemble_output_": 21, "thread_id": 21, "command_lin": 21, "htcondor": 21, "launch": [21, 29, 36], "condor_clusterid": [21, 29], "clusterid": [21, 29], "condor_process": [21, 29], "jobarrayindex": [21, 36], "condor_bash": 21, "bash": 21, "submit": [21, 22], "node": 21, "condor_batchnam": 21, "batchnam": 21, "appear": 21, "condor_q": 21, "condor_d": 21, "usr": 21, "condor_dir": [21, 25, 29, 36], "nf": [21, 30], "condor_env": 21, "env": [21, 24], "condor_extra_set": 21, "te": 21, "batch": 21, "overwrit": [21, 25], "condor_getenv": 21, "environ": 21, "submiss": 21, "almost": 21, "certainli": 21, "condor_initial_dir": 21, "condor_kill_sig": 21, "sigint": 21, "condor_memori": 21, "images": 21, "condor_njob": 21, "condor_postpone_join": 21, "condor_postpone_submit": 21, "tool": 21, "condor_pwd": 21, "pwd": 21, "instal": [21, 42], "condor_requir": 21, "condor_should_transfer_fil": 21, "ye": 21, "condor_snapshot_on_kil": 21, "snapshot": [21, 25, 30], "sigkil": 21, "condor_stream_error": 21, "stream": 21, "condor_stream_output": 21, "condor_submit": 21, "condor_univers": 21, "vanilla": 21, "condor_warn_max_memori": 21, "condor_when_to_transfer_output": 21, "on_exit_or_evict": 21, "custom_gener": 21, "do_analyt": 21, "do_dry_run": 21, "dry_run_hook": 21, "hook": 21, "dry_run_num_cor": 21, "ensemble_factor_in_probability_weighted_mass": 21, "probability_weighted_mass": 21, "multiprocess": 21, "exit_after_dry_run": 21, "exit_cod": 21, "failed_systems_threshold": 21, "failed_system": 21, "function_cach": 21, "certain": [21, 22, 39], "function_cache_ttl": 21, "function_cache_default_maxs": 21, "maxsiz": 21, "function_cache_default_typ": 21, "lrucach": 21, "lfucach": 21, "fifocach": 21, "mrucach": 21, "rrcach": 21, "ttlcach": 21, "nullcach": [21, 28], "nocach": 21, "cachetool": [21, 28], "fo": 21, "dummi": [21, 24, 31], "overhead": 21, "function_cache_funct": [21, 28], "gridcode_filenam": 21, "log_arg": 21, "log_args_dir": 21, "log_newlin": 21, "log_runtime_system": 21, "plan": 21, "max_queue_s": 21, "feed": 21, "modulo": 21, "multiplicity_fraction_funct": 21, "aren": [21, 31], "rhagavan": 21, "n_logging_stat": 21, "num_cores_avail": 21, "original_command_lin": 21, "original_submission_tim": 21, "original_working_diretori": 21, "Its": 21, "print_stack_on_exit": 21, "stack": 21, "trace": 21, "restore_from_snapshot_dir": 21, "restore_from_snapshot_fil": [21, 25], "return_after_dry_run": 21, "run_zero_probability_system": 21, "rungrid": 21, "save_ensemble_chunk": 21, "save_population_object": [21, 30], "skip_befor": 21, "slurm_arrai": 21, "slurm_array_max_job": 21, "concurr": 21, "slurm_bash": 21, "slurm_dat": 21, "slurm_dir": [21, 25, 29, 36], "slurm_env": 21, "slurm_extra_set": 21, "slurm_jobarrayindex": [21, 36], "slurm_jobid": [21, 36], "slurm_jobnam": 21, "slurm_memori": 21, "megabyt": 21, "512mb": 21, "slurm_njob": 21, "slurm_ntask": 21, "slurm_partit": 21, "partit": 21, "local": [21, 31], "sview": 21, "slurm_postpone_join": 21, "slurm_postpone_sbatch": 21, "sbatch": 21, "slurm_pwd": 21, "slurm_sbatch": 21, "slurm_tim": 21, "slurm_warn_max_memori": 21, "excess": 21, "mistak": 21, "1024mb": 21, "source_file_filenam": 21, "start_at": 21, "status_dir": 21, "stop_queu": 21, "symlink_latest_gridcod": 21, "diagnost": 21, "_repeat": 21, "reduct": 21, "working_diretori": 21, "multiplicity_model": 21, "log10m1": 21, "poisson": [21, 31], "map": 21, "quad": 21, "NO": 21, "multiplicity_modul": 21, "normalize_multipl": 21, "norm": 21, "b": [21, 30], "whichev": 21, "stick": 21, "predict": 21, "repres": 21, "canon": 21, "nonzero": 21, "q_high_extrapolation_method": 21, "q_low_extrapolation_method": 21, "extrapol": [21, 31], "flat": [21, 31], "linear2": 21, "plaw2": 21, "nolowq": 21, "_moe2017_json_data": 21, "distefano2017": 21, "_actually_evolve_system": 21, "_process_run_population_grid": 21, "_binary_c_config_execut": 21, "_binary_c_dir": 21, "director": 21, "_binary_c_execut": 21, "_binary_c_shared_librari": 21, "libbinary_c": 21, "_commandline_input": 21, "_count": 21, "counter": 21, "_custom_logging_shared_library_fil": 21, "_end_time_evolut": 21, "timestamp": [21, 27], "_errors_exceed": 21, "failed_system_log": 21, "_errors_found": 21, "encount": [21, 22, 39], "_evolution_type_opt": 21, "_failed_count": 21, "_failed_prob": 21, "_failed_systems_error_cod": 21, "_generate_grid_cod": 21, "_kill": 21, "_loaded_moe2017_data": 21, "_main_pid": 21, "master": [21, 22, 24, 39], "_population_id": 21, "char": 21, "hex": 21, "_probtot": 21, "_queue_don": 21, "_set_moe2017_grid": 21, "_start_time_evolut": 21, "_store_memaddr": 21, "_system_gener": 21, "_total_mass_run": 21, "_total_probability_weighted_mass_run": 21, "_total_starcount": 21, "_zero_prob_stars_skip": 21, "aim": [22, 39], "jeff": [22, 39], "andrew": [22, 39], "robert": [22, 39], "student": [22, 39], "scientist": [22, 39], "who": [22, 39], "onlin": [22, 39], "older": [22, 39], "guarante": [22, 39], "development_0": [22, 39], "meet": [22, 39], "least": [22, 39], "eol": [22, 39], "root": [22, 39], "ld_library_path": [22, 39], "libgsl": [22, 39], "libmemo": [22, 39], "librinterpol": [22, 39], "library_path": [22, 39], "gsl_dir": [22, 39], "gsl": [22, 39], "dir": [22, 29, 39], "binary_c2": [22, 39], "latest": [22, 39], "virtual": [22, 39], "sh": [22, 39], "suit": [22, 39], "pythonpath": [22, 39], "download": [22, 39], "clone": [22, 39], "gitlab": [22, 39], "whenev": [22, 39], "reinstal": [22, 39], "virtualenviron": [22, 39], "host": [22, 39], "person": [22, 39], "ph": [22, 39], "recent": [22, 39], "contribut": [22, 39], "development_requir": [22, 39], "hesit": [22, 39], "discuss": [22, 39], "generate_doc": [22, 39], "generate_report": [22, 39], "main_with_notebook": [22, 39], "test_notebook": [22, 39], "ve": [22, 27, 39], "dhendrik": [22, 39], "paper_joss_binarycpython": [22, 39], "submodul": [22, 39], "initialis": [22, 39], "exhaust": [22, 39], "solut": [22, 39], "mesa": [22, 39], "mesasdk_root": [22, 39], "mesasdk_init": [22, 39], "interfer": [22, 39], "throw": [22, 39], "unrecogn": [22, 39], "ftz": [22, 39], "flto": [22, 39], "due": [22, 39], "cflag": [22, 39], "avaibl": [22, 39], "1ckzg0p9": [22, 39], "egg": [22, 39], "pkg": [22, 39], "filenotfounderror": [22, 39], "errno": [22, 39], "jupyt": [22, 39], "seem": [22, 24, 33, 39], "everytim": [22, 39], "rebuilt": [22, 39], "plot_funct": [22, 23], "useful_func": [22, 23], "nucsyn": 22, "misc": 22, "sampler": 22, "visit": 22, "plot_system": 24, "loos": 24, "admittedli": 24, "customis": 24, "regardless": 24, "color_by_index": 24, "placehold": [24, 28, 29, 30], "parse_function_hr_diagram": 24, "hr": 24, "parse_function_mass": 24, "parse_function_orbit": 24, "plot_hr_diagram": 24, "show_stellar_typ": 24, "show_plot": 24, "use_astropy_valu": 24, "plot_hr_diagram_singl": 24, "radius_1": 24, "radius_2": 24, "luminosity_1": 24, "luminosity_2": 24, "teff_1": 24, "teff_2": 24, "hd": 24, "astropi": 24, "stefan": 24, "boltzman": 24, "plot_mass": 24, "pms_mass_1": 24, "pms_mass_2": 24, "quantiti": 24, "pm": 24, "mayb": 24, "plot_orbit": 24, "plot_typ": 24, "preset": 24, "mass_evolut": 24, "orbit_evolut": 24, "hr_diagram": 24, "keyword": [24, 40], "against": 24, "pick": 24, "pane": 24, "distefano": [25, 26, 31], "hpc_can_join": 25, "joinfil": 25, "joiningfil": 25, "vb": [25, 28, 30, 37], "hpc_check_requir": 25, "hpc_dir": 25, "hpc_dump_statu": 25, "hpc_get_statu": 25, "job_id": 25, "job_index": 25, "hpc_grid": 25, "makejoiningfil": 25, "hpc_task": 25, "exclud": 25, "hpc_id_filenam": 25, "hpc_id_from_dir": 25, "hpc_job": 25, "hpc_jobid_tupl": 25, "hpc_job_id_rang": 25, "hpc_job_task": 25, "hpc_job_typ": 25, "hpc_join_from_fil": 25, "newobj": 25, "hpc_join_previ": 25, "hpc_joinlist": 25, "hpc_load_joinfiles_list": 25, "hpc_make_joiningfil": 25, "error_on_overwrit": 25, "hpc_njob": 25, "error_on_overwit": 25, "issu": 25, "hpc_path": 25, "hpc_queue_stat": 25, "stat": 25, "hpc_restor": 25, "restor": 25, "_restart_dir": 25, "stage": 25, "hpc_set_statu": 25, "hpc_snapshot_filenam": 25, "hpc_statu": 25, "hpc_touch": 25, "touch": [25, 30], "distrefano": 26, "interpol": [26, 31, 37], "get_moe_di_stefano_2017_default_opt": 26, "get_moe_di_stefano_2017_default_options_descript": 26, "get_moe_di_stefano_dataset": 26, "set_moe_di_stefano_set": 26, "cpu_tim": 27, "make_analytics_dict": 27, "set_tim": 27, "elaps": 27, "lru": 28, "lru_": 28, "__delitem__": 28, "delet": [28, 34], "getter": 28, "__setitem__": 28, "setter": 28, "popitem": 28, "default_cache_dir": [28, 33], "setup_function_cach": 28, "cachetyp": 28, "function_cache_s": 28, "func": 28, "test_cach": 28, "replac": 29, "condorid": 29, "condor_check_requir": 29, "condor_grid": 29, "being": [29, 36], "condor_outfil": 29, "chunk": [29, 36], "condor_queue_stat": 29, "condor_status_fil": 29, "condorpath": 29, "get_condor_statu": 29, "correspon": [29, 36], "make_condor_dir": 29, "set_condor_statu": 29, "held": [29, 36], "io": 30, "nfs_flush_hack": 30, "opendir": 30, "closedir": 30, "complaint": 30, "unclos": 30, "scandir": 30, "nfspath": 30, "mount": 30, "compression_typ": 30, "dir_ok": 30, "load_population_object": 30, "load_snapshot": 30, "preloaded_popul": 30, "locked_clos": 30, "partner": 30, "locked_open_for_writ": 30, "unlock": 30, "lock_suffix": 30, "lock_timeout": 30, "lock_lifetim": 30, "exists_ok": 30, "fatal_open_error": 30, "mode": 30, "lockfil": 30, "flufl": 30, "file_object": 30, "lock_object": 30, "merge_popul": 30, "refpop": 30, "newpop": 30, "merge_populations_from_fil": 30, "closefd": 30, "compresslevel": 30, "population_object": 30, "confirm": 30, "gzip": 30, "pickl": 30, "compress_pickl": 30, "lucianopaz": 30, "shared_memori": 30, "set_statu": 30, "format_stat": 30, "process_": 30, "snapshot_filenam": 30, "wait_for_unlock": 30, "wait": 30, "write_ensembl": 30, "recognis": 30, "bz2": 30, "msgpack": 30, "support": 30, "grid_ensemble_result": [30, 35], "stackoverflow": 31, "28060251": 31, "hi": 31, "gonna": 31, "mathieu": 31, "sfh": 31, "redshift": 31, "arenou2010_binary_fract": 31, "c2": 31, "sp": 31, "opm": 31, "fa": 31, "rssd": 31, "esa": 31, "doc_fetch": 31, "php": 31, "2969346": 31, "izzard2012_period_distribut": 31, "log10pmin": 31, "duquennoi": 31, "mayor": 31, "1991": 31, "spectral": 31, "15msun": 31, "sana": 31, "3msun": 31, "dlogp": 31, "raghavan": 31, "gaussian": [31, 37], "log10p": 31, "logp": 31, "m0": 31, "p1": 31, "p2": 31, "p3": 31, "moe_di_stefano_2017_multiplicity_fract": 31, "6e1": 31, "moe_di_stefano_2017_pdf": 31, "m3": 31, "m4": 31, "ecc2": 31, "ecc3": 31, "80": [31, 37], "build_q_tabl": 31, "independ": 31, "q_min": 31, "renormalis": 31, "lowest": 31, "qmin": 31, "goal": 31, "boundari": 31, "calc_p_integr": 31, "min_logp": 31, "max_logp": 31, "integrals_str": 31, "interpolator_nam": 31, "mass_str": 31, "min_per": 31, "calc_e_integr": 31, "period_str": 31, "calc_total_probden": 31, "prob_dict": 31, "calculate_constants_three_part_powerlaw": 31, "law_const": 31, "slope": 31, "const_distribut": 31, "min_bound": [31, 37], "max_bound": [31, 37], "val": 31, "cosmic_sfh_madau_dickinson2014": 31, "cosmic": 31, "histori": 31, "madau": 31, "dickonson": 31, "1403": 31, "0007": 31, "mega": 31, "parsec": 31, "duquennoy1991": 31, "fill_data": 31, "sample_valu": 31, "data_dict": 31, "logmass": [31, 37], "logperiod": 31, "dstep": 31, "uniform": 31, "sigma": [31, 37], "gmin": 31, "gmax": 31, "deviat": [31, 37], "gaussian_func": 31, "gaussian_normalizing_const": 31, "get_integration_constant_q": 31, "q_interpol": 31, "tmp_tabl": 31, "qdata": 31, "get_max_multipl": 31, "multiplicity_arrai": 31, "imf_chabrier2003": 31, "chabrier": 31, "pasp": 31, "795": 31, "imf_scalo1986": 31, "scalo": 31, "80msol": 31, "70": 31, "imf_scalo1998": 31, "imf_tinsley1980": 31, "tinslei": 31, "1980": 31, "interpolate_in_mass_izzard2012": 31, "ktg93": 31, "linear_extrapolation_q": 31, "qs": 31, "qlimit": 31, "end_index": 31, "merge_multipl": 31, "result_arrai": 31, "max_multipl": 31, "fold": 31, "lambda_v": 31, "nmax": 31, "improv": [31, 37], "powerlaw": 31, "min_val": 31, "max_val": 31, "powerlaw_const": 31, "powerlaw_constant_nocach": 31, "powerlaw_extrapolation_q": 31, "raghavan2010_binary_fract": 31, "zsolar": 31, "long_spectral_typ": 31, "jaschek": 31, "amin": 31, "amax": 31, "x0": 31, "x1": 31, "ln": 31, "dp": 31, "p0": 31, "generalis": 31, "vb1print": 32, "system_numb": 32, "system_dict": 32, "ey": 32, "unix": 32, "epoch": 32, "vb2print": 32, "cmdline_str": 32, "grid_options_defaults_dict": 33, "grid_options_help": 33, "grid_options_description_check": 33, "write_grid_options_to_rst_fil": 33, "With": 33, "hack": 33, "reconsid": 33, "unnecessari": 33, "get_grid_options_defaults_dict": 33, "get_grid_options_descript": 33, "print_info": 33, "undescrib": 33, "And": [33, 42], "print_option_descript": 33, "filehandl": 33, "extra_text": 33, "delete_grid_vari": 34, "oldnam": 34, "newnam": 34, "grid_variable_numb": 34, "add_ensemble_metadata": 35, "combined_output_dict": 35, "add_system_metadata": 35, "get_slurm_statu": 36, "make_slurm_dir": 36, "set_slurm_statu": 36, "slurmid": 36, "slurm_check_requir": 36, "slurm_grid": 36, "slurm_outfil": 36, "slurm_queue_stat": 36, "xxx": 36, "slurm_status_fil": 36, "slurmpath": 36, "const_dt": 37, "cachedir": 37, "usecach": 37, "logspac": 37, "dlogt": 37, "tmin": 37, "tmax": 37, "mindm": 37, "1msun": 37, "0msun": 37, "comma": 37, "thu": 37, "maxdm": 37, "similar": 37, "fsampl": 37, "shannon": 37, "showtabl": 37, "showlist": 37, "log10mass": 37, "const_dt_cach": 37, "add_grid_valu": 37, "1gyr": 37, "suitabl": 37, "const_int": 37, "segment": 37, "linspac": 37, "const_rang": 37, "gaussian_zoom": 37, "zoom_mean": 37, "zoom_dispers": 37, "zoom_magnitud": 37, "depth": 37, "zoom_magntiud": 37, "peak_normalized_gaussian_func": 37, "hardli": 38, "minimum_stellar_mass": 38, "parse_binary_c_version_info": 38, "version_info_str": 38, "atom": 38, "dtlimit": 38, "git_branch": 38, "git_build": 38, "email": 38, "analys": 40, "example_log": 40, "fancy_parsing_funct": 40, "notifi": 40, "unknown": 40, "centralis": 40, "abstract": 40, "stellar_type_dict": 41, "stellar_type_dict_short": 41, "abbrevi": 41, "collect": 42, "binary_star": 42, "calc_period_from_sep": 42, "invers": 42, "zams_collis": 42, "collid": 42, "roche_lob": 42, "ragb": 42, "minimum_period_for_rlof": 42, "minimum_separation_for_rlof": 42, "maximum_mass_ratio_for_rlof": 42, "upon": 42, "r_l": 42, "1983": 42, "mass_accretor": 42, "mass_donor": 42, "rochelob": 42, "vice": 42, "versa": 42, "1996": 42, "mnra": 42, "281": 42, "257": 42, "pericent": 42}, "objects": {"binarycpython.utils": [[1, 0, 0, "-", "custom_logging_functions"], [2, 0, 0, "-", "dicts"], [3, 0, 0, "-", "ensemble"], [19, 0, 0, "-", "functions"], [20, 0, 0, "-", "grid"], [24, 0, 0, "-", "plot_functions"], [40, 0, 0, "-", "run_system_wrapper"], [41, 0, 0, "-", "stellar_types"], [42, 0, 0, "-", "useful_funcs"]], "binarycpython.utils.custom_logging_functions": [[1, 1, 1, "", "autogen_C_logging_code"], [1, 1, 1, "", "binary_c_log_code"], [1, 1, 1, "", "binary_c_write_log_code"], [1, 1, 1, "", "compile_shared_lib"], [1, 1, 1, "", "create_and_load_logging_function"], [1, 1, 1, "", "from_binary_c_config"], [1, 1, 1, "", "return_compilation_dict"]], "binarycpython.utils.dicts": [[2, 2, 1, "", "AutoVivificationDict"], [2, 1, 1, "", "count_keys_recursive"], [2, 1, 1, "", "custom_sort_dict"], [2, 1, 1, "", "filter_dict"], [2, 1, 1, "", "filter_dict_through_values"], [2, 1, 1, "", "inspect_dict"], [2, 1, 1, "", "keys_to_floats"], [2, 1, 1, "", "merge_dicts"], [2, 1, 1, "", "multiply_float_values"], [2, 1, 1, "", "multiply_values_dict"], [2, 1, 1, "", "normalize_dict"], [2, 1, 1, "", "prepare_dict"], [2, 1, 1, "", "recursive_change_key_to_float"], [2, 1, 1, "", "recursive_change_key_to_string"], [2, 1, 1, "", "set_opts"], [2, 1, 1, "", "subtract_dicts"], [2, 1, 1, "", "update_dicts"]], "binarycpython.utils.dicts.AutoVivificationDict": [[2, 3, 1, "", "__getitem__"], [2, 3, 1, "", "__iadd__"]], "binarycpython.utils.ensemble": [[3, 2, 1, "", "BinarycDecoder"], [3, 2, 1, "", "BinarycEncoder"], [3, 1, 1, "", "binaryc_json_serializer"], [3, 1, 1, "", "ensemble_compression"], [3, 1, 1, "", "ensemble_file_type"], [3, 1, 1, "", "ensemble_setting"], [3, 1, 1, "", "extract_ensemble_json_from_string"], [3, 1, 1, "", "format_ensemble_results"], [3, 1, 1, "", "handle_ensemble_string_to_json"], [3, 1, 1, "", "load_ensemble"], [3, 1, 1, "", "open_ensemble"]], "binarycpython.utils.ensemble.BinarycDecoder": [[3, 3, 1, "", "decode"]], "binarycpython.utils.ensemble.BinarycEncoder": [[3, 3, 1, "", "default"]], "binarycpython.utils.functions": [[19, 2, 1, "", "Capturing"], [19, 1, 1, "", "bin_data"], [19, 1, 1, "", "call_binary_c_config"], [19, 2, 1, "", "catchtime"], [19, 1, 1, "", "check_if_in_shell"], [19, 1, 1, "", "command_string_from_list"], [19, 1, 1, "", "conv_time_units"], [19, 1, 1, "", "convert_bytes"], [19, 1, 1, "", "convfloat"], [19, 1, 1, "", "create_arg_string"], [19, 1, 1, "", "create_hdf5"], [19, 1, 1, "", "datalinedict"], [19, 1, 1, "", "example_parse_output"], [19, 1, 1, "", "filter_arg_dict"], [19, 1, 1, "", "format_number"], [19, 1, 1, "", "get_ANSI_colours"], [19, 1, 1, "", "get_arg_keys"], [19, 1, 1, "", "get_defaults"], [19, 1, 1, "", "get_help"], [19, 1, 1, "", "get_help_all"], [19, 1, 1, "", "get_help_super"], [19, 1, 1, "", "get_size"], [19, 1, 1, "", "get_username"], [19, 1, 1, "", "imports"], [19, 1, 1, "", "is_capsule"], [19, 1, 1, "", "isfloat"], [19, 1, 1, "", "isint"], [19, 1, 1, "", "load_logfile"], [19, 1, 1, "", "make_build_text"], [19, 1, 1, "", "mem_use"], [19, 1, 1, "", "now"], [19, 1, 1, "", "output_lines"], [19, 1, 1, "", "pad_output_distribution"], [19, 1, 1, "", "quotewrap"], [19, 1, 1, "", "remove_file"], [19, 1, 1, "", "temp_dir"], [19, 1, 1, "", "timedelta"], [19, 1, 1, "", "trem"], [19, 1, 1, "", "verbose_print"], [19, 1, 1, "", "write_binary_c_parameter_descriptions_to_rst_file"]], "binarycpython.utils.functions.Capturing": [[19, 3, 1, "", "__enter__"], [19, 3, 1, "", "__exit__"]], "binarycpython.utils.functions.catchtime": [[19, 3, 1, "", "__enter__"], [19, 3, 1, "", "__exit__"]], "binarycpython.utils.grid": [[20, 2, 1, "", "Population"]], "binarycpython.utils.grid.Population": [[20, 3, 1, "", "clean"], [20, 3, 1, "", "evolve"], [20, 3, 1, "", "evolve_single"], [20, 3, 1, "", "exit"], [20, 3, 1, "", "export_all_info"], [20, 3, 1, "", "jobID"], [20, 3, 1, "", "parse_cmdline"], [20, 3, 1, "", "return_all_info"], [20, 3, 1, "", "return_binary_c_defaults"], [20, 3, 1, "", "return_population_settings"], [20, 3, 1, "", "set"], [20, 3, 1, "", "was_killed"]], "binarycpython.utils.plot_functions": [[24, 1, 1, "", "color_by_index"], [24, 1, 1, "", "dummy"], [24, 1, 1, "", "parse_function_hr_diagram"], [24, 1, 1, "", "parse_function_masses"], [24, 1, 1, "", "parse_function_orbit"], [24, 1, 1, "", "plot_HR_diagram"], [24, 1, 1, "", "plot_masses"], [24, 1, 1, "", "plot_orbit"], [24, 1, 1, "", "plot_system"]], "binarycpython.utils.population_extensions": [[25, 0, 0, "-", "HPC"], [26, 0, 0, "-", "Moe_di_Stefano_2017"], [27, 0, 0, "-", "analytics"], [28, 0, 0, "-", "cache"], [29, 0, 0, "-", "condor"], [30, 0, 0, "-", "dataIO"], [31, 0, 0, "-", "distribution_functions"], [32, 0, 0, "-", "grid_logging"], [33, 0, 0, "-", "grid_options_defaults"], [34, 0, 0, "-", "gridcode"], [35, 0, 0, "-", "metadata"], [36, 0, 0, "-", "slurm"], [37, 0, 0, "-", "spacing_functions"], [38, 0, 0, "-", "version_info"]], "binarycpython.utils.population_extensions.HPC": [[25, 2, 1, "", "HPC"]], "binarycpython.utils.population_extensions.HPC.HPC": [[25, 3, 1, "", "HPC_can_join"], [25, 3, 1, "", "HPC_check_requirements"], [25, 3, 1, "", "HPC_dir"], [25, 3, 1, "", "HPC_dirs"], [25, 3, 1, "", "HPC_dump_status"], [25, 3, 1, "", "HPC_get_status"], [25, 3, 1, "", "HPC_grid"], [25, 3, 1, "", "HPC_id_filename"], [25, 3, 1, "", "HPC_id_from_dir"], [25, 3, 1, "", "HPC_job"], [25, 3, 1, "", "HPC_jobID"], [25, 3, 1, "", "HPC_jobID_tuple"], [25, 3, 1, "", "HPC_job_id_range"], [25, 3, 1, "", "HPC_job_task"], [25, 3, 1, "", "HPC_job_type"], [25, 3, 1, "", "HPC_join_from_files"], [25, 3, 1, "", "HPC_join_previous"], [25, 3, 1, "", "HPC_joinlist"], [25, 3, 1, "", "HPC_load_joinfiles_list"], [25, 3, 1, "", "HPC_make_joiningfile"], [25, 3, 1, "", "HPC_njobs"], [25, 3, 1, "", "HPC_path"], [25, 3, 1, "", "HPC_queue_stats"], [25, 3, 1, "", "HPC_restore"], [25, 3, 1, "", "HPC_set_status"], [25, 3, 1, "", "HPC_snapshot_filename"], [25, 3, 1, "", "HPC_status"], [25, 3, 1, "", "HPC_touch"]], "binarycpython.utils.population_extensions.Moe_di_Stefano_2017": [[26, 2, 1, "", "Moe_di_Stefano_2017"]], "binarycpython.utils.population_extensions.Moe_di_Stefano_2017.Moe_di_Stefano_2017": [[26, 3, 1, "", "Moe_di_Stefano_2017"], [26, 3, 1, "", "get_Moe_di_Stefano_2017_default_options"], [26, 3, 1, "", "get_Moe_di_Stefano_2017_default_options_description"], [26, 3, 1, "", "get_moe_di_stefano_dataset"], [26, 3, 1, "", "set_moe_di_stefano_settings"]], "binarycpython.utils.population_extensions.analytics": [[27, 2, 1, "", "analytics"]], "binarycpython.utils.population_extensions.analytics.analytics": [[27, 3, 1, "", "CPU_time"], [27, 3, 1, "", "make_analytics_dict"], [27, 3, 1, "", "set_time"], [27, 3, 1, "", "time_elapsed"]], "binarycpython.utils.population_extensions.cache": [[28, 2, 1, "", "cache"]], "binarycpython.utils.population_extensions.cache.cache": [[28, 2, 1, "", "NullCache"], [28, 3, 1, "", "default_cache_dir"], [28, 3, 1, "", "setup_function_cache"], [28, 3, 1, "", "test_caches"]], "binarycpython.utils.population_extensions.cache.cache.NullCache": [[28, 3, 1, "", "__delitem__"], [28, 3, 1, "", "__getitem__"], [28, 3, 1, "", "__setitem__"], [28, 3, 1, "", "popitem"]], "binarycpython.utils.population_extensions.condor": [[29, 2, 1, "", "condor"]], "binarycpython.utils.population_extensions.condor.condor": [[29, 3, 1, "", "condorID"], [29, 3, 1, "", "condor_check_requirements"], [29, 3, 1, "", "condor_dirs"], [29, 3, 1, "", "condor_grid"], [29, 3, 1, "", "condor_outfile"], [29, 3, 1, "", "condor_queue_stats"], [29, 3, 1, "", "condor_status_file"], [29, 3, 1, "", "condorpath"], [29, 3, 1, "", "get_condor_status"], [29, 3, 1, "", "make_condor_dirs"], [29, 3, 1, "", "set_condor_status"]], "binarycpython.utils.population_extensions.dataIO": [[30, 2, 1, "", "dataIO"]], "binarycpython.utils.population_extensions.dataIO.dataIO": [[30, 3, 1, "", "NFS_flush_hack"], [30, 3, 1, "", "NFSpath"], [30, 3, 1, "", "compression_type"], [30, 3, 1, "", "dir_ok"], [30, 3, 1, "", "load_population_object"], [30, 3, 1, "", "load_snapshot"], [30, 3, 1, "", "locked_close"], [30, 3, 1, "", "locked_open_for_write"], [30, 3, 1, "", "merge_populations"], [30, 3, 1, "", "merge_populations_from_file"], [30, 3, 1, "", "open"], [30, 3, 1, "", "save_population_object"], [30, 3, 1, "", "save_snapshot"], [30, 3, 1, "", "set_status"], [30, 3, 1, "", "snapshot_filename"], [30, 3, 1, "", "wait_for_unlock"], [30, 3, 1, "", "write_binary_c_calls_to_file"], [30, 3, 1, "", "write_ensemble"]], "binarycpython.utils.population_extensions.distribution_functions": [[31, 2, 1, "", "distribution_functions"]], "binarycpython.utils.population_extensions.distribution_functions.distribution_functions": [[31, 3, 1, "", "Arenou2010_binary_fraction"], [31, 3, 1, "", "Izzard2012_period_distribution"], [31, 3, 1, "", "Kroupa2001"], [31, 3, 1, "", "Moe_di_Stefano_2017_multiplicity_fractions"], [31, 3, 1, "", "Moe_di_Stefano_2017_pdf"], [31, 3, 1, "", "build_q_table"], [31, 3, 1, "", "calc_P_integral"], [31, 3, 1, "", "calc_e_integral"], [31, 3, 1, "", "calc_total_probdens"], [31, 3, 1, "", "calculate_constants_three_part_powerlaw"], [31, 3, 1, "", "const_distribution"], [31, 3, 1, "", "cosmic_SFH_madau_dickinson2014"], [31, 3, 1, "", "duquennoy1991"], [31, 3, 1, "", "fill_data"], [31, 3, 1, "", "flat"], [31, 3, 1, "", "flatsections"], [31, 3, 1, "", "gaussian"], [31, 3, 1, "", "gaussian_func"], [31, 3, 1, "", "gaussian_normalizing_const"], [31, 3, 1, "", "get_integration_constant_q"], [31, 3, 1, "", "get_max_multiplicity"], [31, 3, 1, "", "imf_chabrier2003"], [31, 3, 1, "", "imf_scalo1986"], [31, 3, 1, "", "imf_scalo1998"], [31, 3, 1, "", "imf_tinsley1980"], [31, 3, 1, "", "interpolate_in_mass_izzard2012"], [31, 3, 1, "", "ktg93"], [31, 3, 1, "", "linear_extrapolation_q"], [31, 3, 1, "", "merge_multiplicities"], [31, 3, 1, "", "number"], [31, 3, 1, "", "poisson"], [31, 3, 1, "", "powerlaw"], [31, 3, 1, "", "powerlaw_constant"], [31, 3, 1, "", "powerlaw_constant_nocache"], [31, 3, 1, "", "powerlaw_extrapolation_q"], [31, 3, 1, "", "raghavan2010_binary_fraction"], [31, 3, 1, "", "sana12"], [31, 3, 1, "", "three_part_powerlaw"]], "binarycpython.utils.population_extensions.grid_logging": [[32, 2, 1, "", "grid_logging"]], "binarycpython.utils.population_extensions.grid_logging.grid_logging": [[32, 3, 1, "", "vb1print"], [32, 3, 1, "", "vb2print"], [32, 3, 1, "", "verbose_print"]], "binarycpython.utils.population_extensions.grid_options_defaults": [[33, 2, 1, "", "grid_options_defaults"]], "binarycpython.utils.population_extensions.grid_options_defaults.grid_options_defaults": [[33, 3, 1, "", "default_cache_dir"], [33, 3, 1, "", "get_grid_options_defaults_dict"], [33, 3, 1, "", "get_grid_options_descriptions"], [33, 3, 1, "", "grid_options_description_checker"], [33, 3, 1, "", "grid_options_help"], [33, 3, 1, "", "print_option_descriptions"], [33, 3, 1, "", "write_grid_options_to_rst_file"]], "binarycpython.utils.population_extensions.gridcode": [[34, 2, 1, "", "gridcode"]], "binarycpython.utils.population_extensions.gridcode.gridcode": [[34, 3, 1, "", "add_grid_variable"], [34, 3, 1, "", "delete_grid_variable"], [34, 3, 1, "", "rename_grid_variable"], [34, 3, 1, "", "update_grid_variable"]], "binarycpython.utils.population_extensions.metadata": [[35, 2, 1, "", "metadata"]], "binarycpython.utils.population_extensions.metadata.metadata": [[35, 3, 1, "", "add_ensemble_metadata"], [35, 3, 1, "", "add_system_metadata"]], "binarycpython.utils.population_extensions.slurm": [[36, 2, 1, "", "slurm"]], "binarycpython.utils.population_extensions.slurm.slurm": [[36, 3, 1, "", "get_slurm_status"], [36, 3, 1, "", "make_slurm_dirs"], [36, 3, 1, "", "set_slurm_status"], [36, 3, 1, "", "slurmID"], [36, 3, 1, "", "slurm_check_requirements"], [36, 3, 1, "", "slurm_dirs"], [36, 3, 1, "", "slurm_grid"], [36, 3, 1, "", "slurm_outfile"], [36, 3, 1, "", "slurm_queue_stats"], [36, 3, 1, "", "slurm_status_file"], [36, 3, 1, "", "slurmpath"]], "binarycpython.utils.population_extensions.spacing_functions": [[37, 2, 1, "", "spacing_functions"]], "binarycpython.utils.population_extensions.spacing_functions.spacing_functions": [[37, 3, 1, "", "const_dt"], [37, 3, 1, "", "const_int"], [37, 3, 1, "", "const_linear"], [37, 3, 1, "", "const_ranges"], [37, 3, 1, "", "gaussian_zoom"], [37, 3, 1, "", "peak_normalized_gaussian_func"]], "binarycpython.utils.population_extensions.version_info": [[38, 2, 1, "", "version_info"]], "binarycpython.utils.population_extensions.version_info.version_info": [[38, 3, 1, "", "minimum_stellar_mass"], [38, 3, 1, "", "parse_binary_c_version_info"], [38, 3, 1, "", "return_binary_c_version_info"]], "binarycpython.utils.run_system_wrapper": [[40, 1, 1, "", "run_system"]], "binarycpython.utils.useful_funcs": [[42, 1, 1, "", "calc_period_from_sep"], [42, 1, 1, "", "calc_sep_from_period"], [42, 1, 1, "", "maximum_mass_ratio_for_RLOF"], [42, 1, 1, "", "minimum_period_for_RLOF"], [42, 1, 1, "", "minimum_separation_for_RLOF"], [42, 1, 1, "", "ragb"], [42, 1, 1, "", "roche_lobe"], [42, 1, 1, "", "rzams"], [42, 1, 1, "", "zams_collision"]]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:method"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "method", "Python method"]}, "titleterms": {"binary_c": [0, 7, 9, 11, 12, 15, 18, 22, 39], "paramet": [0, 11], "section": 0, "star": [0, 6, 15], "binari": [0, 5, 6, 13, 15, 18], "nucsyn": 0, "output": [0, 6, 8, 13, 14, 15], "input": 0, "i": 0, "o": 0, "algorithm": 0, "misc": 0, "custom_logging_funct": 1, "modul": [1, 2, 3, 19, 20, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42], "dict": 2, "ensembl": [3, 10], "exampl": [4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 16, 17, 18, 22, 39], "notebook": [4, 18], "content": [4, 22], "us": [5, 6, 7, 8, 9, 13, 14, 16, 18, 22, 39], "case": [5, 6, 8, 13, 14, 16], "black": 5, "hole": 5, "system": [5, 12, 16], "hertzsprung": 6, "russel": 6, "diagram": 6, "set": [6, 7, 8, 13, 14, 15], "up": [6, 7, 8, 13, 14, 15], "popul": [6, 8, 9, 12, 13, 14, 15, 20, 21, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "object": [6, 8, 9, 12, 13, 14, 15], "stellar": [6, 8, 13, 14], "grid": [6, 8, 13, 14, 15, 21], "log": [6, 8, 9, 13, 14, 15, 18], "handl": [6, 8, 10, 13, 14, 15], "evolv": [6, 8, 13, 14, 15], "tutori": [7, 9, 10, 11, 12, 15], "api": [7, 9, 12, 16, 18], "function": [7, 11, 12, 13, 14, 15, 16, 18, 19], "python": [7, 9, 11, 12, 15, 18, 22, 39], "usag": [7, 9, 22, 39], "free": 7, "store": 7, "get": [7, 11], "inform": [7, 11], "from": [7, 9, 22, 39], "common": 8, "envelop": 8, "evolut": [8, 9], "custom": [9, 18], "routin": 9, "when": 9, "run": [9, 12, 15, 18, 22, 39], "directli": 9, "string": 9, "compact": 9, "mass": [9, 14], "supernova": 9, "gener": [10, 22, 39], "data": 10, "how": 10, "extra": 11, "featur": 11, "about": 11, "build": [11, 22, 39], "pars": 11, "dictionari": 11, "modif": 11, "individu": 12, "singl": [12, 15], "run_system_wrapp": [12, 40], "via": [12, 22, 39], "zero": [13, 14], "ag": [13, 14], "luminos": [13, 14], "ad": [14, 15], "variabl": [14, 15, 22, 39], "zam": 14, "distribut": 14, "initi": 14, "A": 14, "better": 14, "sampl": 14, "noteworthi": 15, "full": 15, "script": 15, "solar": 16, "basic": 17, "core": 18, "wrapper": 18, "run_binari": 18, "run_binary_with_log": 18, "line": 18, "util": 18, "run_system": 18, "other": 18, "class": [20, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "code": [21, 22, 23, 39], "option": 21, "public": 21, "moe": 21, "di": 21, "stefano": 21, "sampler": 21, "privat": 21, "welcom": 22, "s": 22, "document": [22, 39], "instal": [22, 39], "requir": [22, 39], "environ": [22, 39], "instruct": [22, 39], "pip": [22, 39], "sourc": [22, 39], "after": [22, 39], "without": [22, 39], "note": [22, 39], "develop": [22, 39], "docstr": [22, 39], "test": [22, 39], "coverag": [22, 39], "report": [22, 39], "unit": [22, 39], "pull": [22, 39], "joss": [22, 39], "paper": [22, 39], "articl": [22, 39], "repo": [22, 39], "faq": [22, 39], "issu": [22, 39], "indic": 22, "tabl": 22, "binarycpython": 23, "plot_funct": 24, "extens": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "hpc": 25, "moe_di_stefano_2017": 26, "analyt": 27, "cach": 28, "condor": 29, "dataio": 30, "distribution_funct": 31, "grid_log": 32, "grid_options_default": 33, "gridcod": 34, "metadata": 35, "slurm": 36, "spacing_funct": 37, "version_info": 38, "stellar_typ": 41, "useful_func": 42}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx.ext.viewcode": 1, "nbsphinx": 4, "sphinx": 56}}) \ No newline at end of file +Search.setIndex({"docnames": ["binary_c_parameters", "custom_logging_functions", "dicts", "ensemble", "example_notebooks", "examples/notebook_BHBH", "examples/notebook_HRD", "examples/notebook_api_functionality", "examples/notebook_common_envelope_evolution", "examples/notebook_custom_logging", "examples/notebook_ensembles", "examples/notebook_extra_features", "examples/notebook_individual_systems", "examples/notebook_luminosity_function_binaries", "examples/notebook_luminosity_function_single", "examples/notebook_population", "examples/notebook_solar_system", "examples/old/basic_example", "examples/old/workshop_example_notebook", "functions", "grid", "grid_options_descriptions", "index", "modules", "plot_functions", "population_extensions/HPC", "population_extensions/Moe_di_Stefano_2017", "population_extensions/analytics", "population_extensions/cache", "population_extensions/condor", "population_extensions/dataIO", "population_extensions/distribution_functions", "population_extensions/grid_logging", "population_extensions/grid_options_defaults", "population_extensions/gridcode", "population_extensions/metadata", "population_extensions/slurm", "population_extensions/spacing_functions", "population_extensions/version_info", "readme_link", "run_system_wrapper", "stellar_types", "useful_funcs"], "filenames": ["binary_c_parameters.rst", "custom_logging_functions.rst", "dicts.rst", "ensemble.rst", "example_notebooks.rst", "examples/notebook_BHBH.ipynb", "examples/notebook_HRD.ipynb", "examples/notebook_api_functionality.ipynb", "examples/notebook_common_envelope_evolution.ipynb", "examples/notebook_custom_logging.ipynb", "examples/notebook_ensembles.ipynb", "examples/notebook_extra_features.ipynb", "examples/notebook_individual_systems.ipynb", "examples/notebook_luminosity_function_binaries.ipynb", "examples/notebook_luminosity_function_single.ipynb", "examples/notebook_population.ipynb", "examples/notebook_solar_system.ipynb", "examples/old/basic_example.ipynb", "examples/old/workshop_example_notebook.ipynb", "functions.rst", "grid.rst", "grid_options_descriptions.rst", "index.rst", "modules.rst", "plot_functions.rst", "population_extensions/HPC.rst", "population_extensions/Moe_di_Stefano_2017.rst", "population_extensions/analytics.rst", "population_extensions/cache.rst", "population_extensions/condor.rst", "population_extensions/dataIO.rst", "population_extensions/distribution_functions.rst", "population_extensions/grid_logging.rst", "population_extensions/grid_options_defaults.rst", "population_extensions/gridcode.rst", "population_extensions/metadata.rst", "population_extensions/slurm.rst", "population_extensions/spacing_functions.rst", "population_extensions/version_info.rst", "readme_link.rst", "run_system_wrapper.rst", "stellar_types.rst", "useful_funcs.rst"], "titles": ["Binary_c parameters", "custom_logging_functions module", "dicts module", "ensemble module", "Example notebooks", "Example use case: Binary black hole systems", "Example use case: Hertzsprung-Russell diagrams", "Tutorial: Using the API functionality of binary_c-python", "Example use case: Common-envelope evolution", "Tutorial: Using custom logging routines with binary_c-python", "Tutorial: Generating and handling ensemble data", "Tutorial: Extra features and functionality of binary_c-python", "Tutorial: Running individual systems with binary_c-python", "Example use case: Zero-age stellar luminosity function in binaries", "Example use case: Zero-age stellar luminosity function", "Tutorial: Running populations with binary_c-python", "Example use case: Solar system using the API functionality", "Basic example", "Binary_c and python example notebook", "functions module", "Population class module", "Population grid code options", "Welcome to binary_c-python\u2019s documentation!", "Binarycpython code", "plot_functions module", "Population class extension: HPC module", "Population class extension: Moe_di_Stefano_2017 module", "Population class extension: analytics module", "Population class extension: cache module", "Population class extension: condor module", "Population class extension: dataIO module", "Population class extension: distribution_functions module", "Population class extension: grid_logging module", "Population class extension: grid_options_defaults module", "Population class extension: gridcode module", "Population class extension: metadata module", "Population class extension: slurm module", "Population class extension: spacing_functions module", "Population class extension: version_info module", "Python module for binary_c", "run_system_wrapper module", "stellar_types module", "useful_funcs module"], "terms": {"The": [0, 1, 2, 3, 4, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 24, 25, 27, 28, 29, 30, 31, 32, 34, 36, 37, 39, 40], "follow": [0, 7, 9, 15, 18, 19, 21, 24, 31, 37], "chapter": [0, 21, 23], "contain": [0, 1, 2, 3, 7, 11, 12, 14, 15, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "all": [0, 1, 2, 3, 6, 7, 8, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 30, 31, 33, 37, 38, 39, 40], "current": [0, 2, 8, 9, 11, 13, 14, 19, 20, 22, 25, 30, 39], "version": [0, 2, 7, 11, 15, 19, 20, 22, 38, 39], "can": [0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 30, 31, 34, 39, 40, 42], "handl": [0, 2, 3, 4, 7, 12, 19, 20, 21, 22, 25, 26, 34, 35, 38, 40, 42], "along": [0, 21, 22, 33, 39], "descript": [0, 7, 11, 19, 21, 26, 31, 33], "other": [0, 1, 2, 5, 6, 11, 12, 13, 14, 15, 19, 21, 22, 24, 25, 31, 33, 39], "properti": [0, 5, 19, 21, 24, 34], "thi": [0, 1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42], "inform": [0, 1, 3, 4, 6, 9, 12, 13, 14, 15, 19, 20, 21, 24, 25, 31, 33, 35, 38], "wa": [0, 6, 11, 12, 14, 15, 20, 21, 22, 30, 31, 39], "obtain": [0, 6, 8, 13, 14, 30], "build": [0, 1, 4, 7, 19, 25, 31], "git": [0, 15, 19, 22, 39], "branch": [0, 6, 19, 22, 38, 39], "clean_mast": 0, "revis": [0, 38], "6302": 0, "20220825": 0, "04c096f7a": 0, "built": [0, 1, 19, 22, 39], "aug": 0, "25": [0, 5, 6, 8, 18], "2022": [0, 13], "11": [0, 5, 6, 9, 12, 14, 15, 18], "34": [0, 5, 7, 9, 12, 13, 15], "43": [0, 5], "metal": [0, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 31, 42], "set": [0, 1, 2, 3, 4, 5, 9, 11, 12, 16, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 36, 37, 38, 39], "e": [0, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 19, 20, 21, 22, 25, 28, 29, 30, 31, 34, 36, 37, 39, 42], "amount": [0, 2, 7], "mass": [0, 1, 2, 4, 5, 6, 7, 8, 11, 12, 13, 15, 16, 18, 19, 21, 24, 31, 34, 37, 38, 40, 42], "matter": [0, 7], "which": [0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 25, 29, 30, 31, 33, 34, 36, 37, 38, 39, 40, 42], "hydrogen": [0, 6, 7], "helium": [0, 6, 7], "If": [0, 2, 6, 7, 8, 13, 14, 15, 16, 19, 20, 21, 22, 24, 25, 26, 27, 29, 30, 31, 34, 36, 39, 40, 42], "you": [0, 1, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 30, 31, 33, 34, 37, 39, 42], "ar": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 24, 28, 29, 30, 31, 33, 34, 36, 37, 38, 39, 42], "us": [0, 1, 2, 3, 4, 11, 12, 15, 19, 20, 21, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 36, 37, 38, 40, 42], "bse": [0, 7, 9, 15, 31], "must": [0, 2, 5, 6, 7, 8, 12, 13, 14, 15, 16, 30, 34, 37], "1e": [0, 7, 9, 12, 13, 18], "4": [0, 1, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 20, 30, 31, 37], "0": [0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 25, 26, 28, 31, 34, 37, 39, 42], "03": [0, 1, 5, 7, 13], "see": [0, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 20, 21, 22, 24, 28, 30, 31, 34, 38, 39], "also": [0, 4, 5, 6, 7, 8, 9, 13, 14, 15, 18, 19, 20, 21, 22, 25, 27, 30, 33, 38, 39, 42], "nucsyn_metal": [0, 7], "effective_metal": [0, 7, 18], "type": [0, 1, 2, 3, 5, 8, 12, 13, 14, 15, 18, 19, 20, 21, 24, 25, 30, 31, 33, 34, 37, 38, 41, 42], "float": [0, 2, 3, 5, 7, 11, 12, 16, 19, 31, 32, 37, 42], "default": [0, 1, 2, 3, 6, 7, 9, 11, 13, 14, 15, 18, 19, 20, 21, 25, 26, 28, 29, 30, 31, 33, 36, 37, 38, 40], "valu": [0, 1, 2, 3, 6, 7, 11, 12, 13, 14, 15, 18, 19, 20, 21, 24, 27, 28, 31, 33, 34, 37], "02": [0, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 18, 31, 42], "effect": [0, 5, 7, 9, 13, 21, 31], "routin": [0, 2, 4, 7, 22, 24, 40], "like": [0, 1, 6, 7, 8, 13, 14, 15, 16, 18, 19, 21, 22, 24, 30, 37, 39], "schneider": [0, 7], "wind": [0, 5, 6, 7, 13], "loss": [0, 5, 7, 12, 13, 16], "default_to_metal": [0, 7], "1": [0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 21, 22, 24, 25, 29, 30, 31, 32, 34, 36, 37, 39, 40, 42], "just": [0, 2, 6, 7, 8, 15, 18, 19, 20, 21, 22, 26, 30, 38, 39, 42], "same": [0, 2, 7, 12, 15, 21, 22, 31, 34, 39, 40], "main": [0, 1, 6, 7, 9, 13, 14, 15, 18, 21, 22, 39], "differ": [0, 5, 6, 7, 8, 13, 14, 15, 18, 19, 21, 22, 24, 37, 39], "between": [0, 7, 21, 31, 37], "rang": [0, 6, 7, 8, 12, 13, 14, 15, 21, 31, 34, 37], "valid": [0, 7, 9, 19, 31], "while": [0, 5, 6, 7, 8, 13], "s": [0, 2, 3, 5, 6, 7, 8, 12, 14, 15, 16, 18, 19, 20, 21, 25, 27, 28, 30, 31, 35, 42], "limit": [0, 6, 7, 8, 13, 14, 15, 21, 24], "stellar": [0, 4, 5, 7, 21, 22, 24, 31, 37, 38, 39, 41], "evolut": [0, 1, 4, 5, 6, 7, 12, 13, 14, 15, 16, 18, 21, 22, 24, 37, 39], "so": [0, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 20, 21, 24, 25, 30], "macro": [0, 11, 19, 38], "m_1": [0, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 34, 40], "initi": [0, 4, 5, 6, 7, 11, 12, 18, 20, 31], "one": [0, 2, 7, 11, 14, 15, 16, 17, 18, 20, 21, 24, 28, 30, 33, 37, 40], "solar": [0, 4, 6, 7, 8, 11, 22, 31, 42], "unit": [0, 6, 7, 11, 16, 19, 42], "intern": [0, 7, 11, 21], "index": [0, 7, 11, 12, 15, 16, 21, 22, 25, 31, 34], "m_2": [0, 5, 6, 7, 8, 9, 12, 13, 15, 17, 18], "two": [0, 2, 6, 7, 9, 19, 22, 30, 32, 39, 41, 42], "m_3": [0, 7], "three": [0, 7, 13, 14, 15, 31], "2": [0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 21, 22, 24, 25, 29, 31, 36, 37, 39], "m_4": [0, 7], "four": [0, 7], "3": [0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 21, 22, 29, 31, 36, 37, 39], "vrot1": 0, "equatori": 0, "rotat": [0, 31], "veloc": [0, 31], "km": 0, "hurlei": 0, "et": [0, 31, 42], "al": [0, 31, 42], "2000": [0, 5], "2002": 0, "prescript": [0, 5, 15], "sequenc": [0, 6, 9, 13, 14, 18], "truli": 0, "non": [0, 2, 14, 21, 22, 30, 39], "someth": [0, 6, 8, 12, 13, 14, 21, 42], "small": [0, 5, 14], "g": [0, 1, 2, 5, 6, 8, 9, 12, 13, 14, 15, 17, 18, 19, 21, 22, 25, 28, 29, 30, 31, 36, 37, 39], "001": [0, 5], "vrot2": 0, "vrot_bs": 0, "vrot_breakup": 0, "vrot_sync": 0, "vrot_non_rot": 0, "vrot3": 0, "vrot4": 0, "prot1": 0, "prot2": 0, "prot3": 0, "period": [0, 5, 7, 8, 9, 12, 13, 14, 15, 16, 18, 24, 31, 42], "dai": [0, 5, 8, 9, 12, 13, 15, 18, 31, 42], "prot4": 0, "inclination1": 0, "inclin": 0, "degre": 0, "inclination2": 0, "inclination3": 0, "inclination4": 0, "b_1": 0, "magnet": 0, "field": [0, 22, 39], "gauss": 0, "b_2": 0, "b_3": 0, "b_4": 0, "b_inclination1": 0, "b_inclination2": 0, "b_inclination3": 0, "b_inclination4": 0, "stellar_type_1": [0, 15, 24], "usual": [0, 5, 6, 7, 13, 14, 15, 19, 21, 30, 31], "main_sequ": [0, 13, 14, 18], "note": [0, 5, 6, 13, 14, 15, 18, 19, 21, 25, 30, 34, 37, 38], "onli": [0, 2, 6, 9, 13, 14, 15, 16, 18, 19, 21, 22, 25, 26, 30, 37, 39, 42], "work": [0, 2, 3, 9, 12, 13, 14, 15, 18, 19, 21, 22, 25, 30, 39], "both": [0, 2, 7, 13, 14, 15], "ag": [0, 4, 5, 6, 8, 22, 37], "core_mass": [0, 9], "white": [0, 6], "dwarf": [0, 6, 14], "black": [0, 4, 6, 22], "hole": [0, 4, 6, 22], "neutrn": 0, "integ": [0, 6, 21, 37, 42], "low_mass_m": 0, "ms": [0, 5, 9, 13], "hg": 0, "giant_branch": 0, "cheb": 0, "eagb": [0, 5], "5": [0, 1, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 22, 28, 30, 31, 34, 39], "tpagb": [0, 6], "6": [0, 1, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 22, 39], "hem": 0, "7": [0, 1, 5, 6, 7, 8, 9, 12, 14, 15, 16, 17, 18, 22, 31, 39], "hehg": 0, "8": [0, 3, 5, 6, 8, 9, 12, 14, 15, 16, 18, 30, 31], "hegb": [0, 5], "9": [0, 5, 6, 7, 9, 12, 13, 14, 15, 18, 22, 39], "hewd": 0, "10": [0, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 17, 18, 21, 31, 37, 40], "cowd": 0, "onewd": 0, "12": [0, 5, 6, 9, 12, 13, 14, 15, 18, 19, 31], "ns": [0, 1, 8, 9, 15], "13": [0, 5, 6, 8, 9, 12, 14, 15, 18], "bh": [0, 5, 8], "14": [0, 5, 9, 12, 14, 15, 18], "massless_remn": 0, "15": [0, 5, 6, 8, 9, 12, 13, 14, 15, 16, 18, 21, 31], "low_mass_main_sequ": 0, "hertzsprung_gap": 0, "first_giant_branch": 0, "core_helium_burn": 0, "early_asymptotic_giant_branch": 0, "thermally_pulsing_asymptotic_giant_branch": 0, "naked_main_sequence_helium_star": 0, "naked_helium_star_hertzsprung_gap": 0, "naked_helium_star_giant_branch": 0, "helium_white_dwarf": 0, "carbon_oxygen_white_dwarf": 0, "oxygen_neon_white_dwarf": 0, "neutron_star": 0, "black_hol": 0, "star_with_no_mass": 0, "stellar_type_2": [0, 15, 24], "stellar_type_3": 0, "stellar_type_4": 0, "max_stellar_type_1": 0, "maximum": [0, 6, 7, 8, 9, 13, 14, 15, 21, 31, 37, 42], "stop": [0, 8, 13, 18, 19, 21], "when": [0, 1, 2, 3, 6, 7, 8, 11, 12, 15, 16, 19, 21, 22, 25, 27, 28, 29, 30, 31, 33, 36, 37, 39, 40], "reach": [0, 5, 6, 8], "neg": [0, 2, 37], "massless": 0, "remnant": [0, 6], "allow": [0, 2, 9, 17, 18, 21, 22, 28, 31, 39], "absolut": [0, 19, 37], "16": [0, 5, 14, 18, 31], "max_stellar_type_2": 0, "max_stellar_type_3": 0, "max_stellar_type_4": 0, "probabl": [0, 1, 2, 6, 8, 9, 13, 14, 15, 18, 20, 21, 24, 30, 31, 33, 34], "weight": [0, 14, 21], "appli": 0, "base": [0, 2, 3, 5, 8, 14, 15, 19, 20, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 42], "sai": [0, 6], "function": [0, 1, 2, 3, 4, 5, 6, 8, 9, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42], "run": [0, 1, 4, 5, 6, 7, 8, 13, 14, 17, 19, 20, 21, 25, 27, 29, 31, 34, 36, 40, 42], "grid": [0, 4, 5, 12, 19, 20, 22, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 42], "simul": [0, 1, 6, 8, 9, 14, 15, 36], "sum": [0, 2], "should": [0, 1, 2, 5, 6, 8, 12, 13, 14, 15, 18, 19, 21, 22, 24, 25, 29, 30, 31, 33, 36, 37, 39, 40], "phasevol": [0, 15], "system": [0, 4, 6, 7, 8, 9, 13, 14, 15, 17, 18, 19, 20, 21, 22, 24, 31, 32, 35, 39, 40, 42], "phase": [0, 6, 8, 13, 14], "volum": 0, "binary_grid": 0, "null": [0, 7, 19], "stellar_structure_algorithm": 0, "structur": [0, 2, 8, 19, 21, 24], "modifi": [0, 2, 9, 22, 39], "none": [0, 1, 2, 3, 5, 6, 7, 8, 13, 14, 15, 16, 18, 19, 20, 21, 25, 26, 28, 29, 30, 31, 33, 34, 36, 37, 42], "extern": 0, "defin": [0, 1, 15, 20, 24, 31, 34], "call": [0, 1, 2, 11, 12, 14, 15, 19, 20, 21, 24, 25, 29, 30, 32, 34, 36, 37, 38, 40], "code": [0, 1, 5, 9, 12, 13, 14, 15, 17, 18, 20, 24, 29, 30, 31, 33, 34, 36, 37, 40, 42], "yet": [0, 2, 18, 19, 21, 24], "implement": [0, 2, 21], "stellar_structure_algorithm_modified_bs": 0, "stellar_structure_algorithm_non": 0, "stellar_structure_algorithm_external_funct": 0, "stellar_structure_algorithm_mint": 0, "solver": 0, "forward": 0, "euler": 0, "could": [0, 3, 14, 15, 18, 19, 38], "rk2": 0, "rk4": 0, "predictor": 0, "corretor": 0, "solver_forward_eul": 0, "solver_rk2": 0, "solver_rk4": 0, "solver_predictor_corrector": 0, "max_evolution_tim": [0, 1, 6, 7, 8, 9, 12, 13, 14, 15, 16, 18, 37], "myr": [0, 6, 8, 12, 13, 14, 16, 37], "15000": [0, 5, 7, 9, 12, 15, 16, 18], "max_model_numb": 0, "number": [0, 2, 3, 5, 6, 8, 13, 14, 15, 16, 18, 19, 20, 21, 25, 30, 31, 32, 33, 34, 37], "model": [0, 1, 6, 8, 9, 12, 13, 14, 15, 16, 17, 18, 21], "ignor": [0, 2, 9, 12, 15, 18, 21, 31, 34], "monte_carlo_kick": 0, "turn": [0, 2, 3, 5, 12, 15, 19], "mont": [0, 21], "carlo": [0, 21], "sn": [0, 5, 6, 8, 13, 14, 16, 18], "kick": [0, 5, 18, 21], "On": [0, 15, 19, 30], "true": [0, 2, 3, 5, 6, 8, 11, 13, 14, 15, 17, 18, 19, 20, 21, 24, 25, 27, 29, 30, 33, 34, 36, 37, 38], "inde": [0, 14], "broken": 0, "fals": [0, 3, 5, 6, 8, 13, 14, 15, 16, 19, 20, 21, 24, 25, 27, 28, 29, 30, 34, 36, 37, 38], "disable_debug": 0, "disabl": [0, 15], "debug": [0, 6, 8, 13, 14, 15, 21, 32], "ha": [0, 1, 2, 5, 6, 8, 9, 11, 13, 14, 15, 18, 19, 21, 27, 30, 34], "an": [0, 2, 3, 5, 6, 7, 8, 11, 12, 14, 15, 18, 19, 21, 22, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 40], "requir": [0, 3, 8, 12, 13, 14, 15, 16, 18, 19, 21, 24, 25, 31, 40], "rebuild": [0, 21, 22, 25, 39], "timestep_log": 0, "timestep": [0, 8, 9, 12, 13, 14], "log": [0, 1, 4, 5, 7, 12, 16, 17, 19, 21, 22, 24, 30, 31, 32, 34, 37, 39, 40, 42], "rejects_in_log": 0, "show": [0, 4, 6, 7, 8, 12, 13, 14, 15, 18, 21, 24, 37], "reject": 0, "vandenheuvel_log": 0, "van": 0, "den": 0, "heuvel": 0, "evolution_split": 0, "split": [0, 5, 12, 15, 16, 18, 21, 29, 36], "evolutionari": [0, 12], "splitpoint": 0, "supernova": [0, 5, 8, 21], "occur": [0, 42], "disable_ev": 0, "whether": [0, 5, 7, 15, 19, 20, 21, 24, 29, 30, 31, 33, 36, 37, 38, 42], "new": [0, 2, 6, 8, 12, 13, 14, 15, 19, 20, 25, 30, 31, 34], "event": [0, 5, 6], "we": [0, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 25, 26, 27, 28, 29, 30, 31, 33, 36, 37, 39, 42], "evolution_splitting_sn_eccentricity_threshold": 0, "threshold": [0, 19, 21], "eccentr": [0, 7, 9, 12, 14, 15, 16, 18, 24, 31, 42], "abov": [0, 6, 9, 12, 14, 15, 19, 20, 31], "happen": [0, 6, 8], "01": [0, 8, 9, 13, 14, 15, 18], "evolution_splitting_sn_n": 0, "evolution_splitting_maxdepth": 0, "max": [0, 8, 9, 13, 14, 15, 21, 31], "equation_of_state_algorithm": 0, "equat": 0, "state": [0, 30], "paczynski": 0, "equation_of_state_paczynski": 0, "opacity_algorithm": 0, "opac": 0, "ferguson": 0, "opal": 0, "opacity_algorithm_paczynski": 0, "opacity_algorithm_ferguson_op": 0, "opacity_algorithm_star": 0, "wind_mass_loss": [0, 5], "2018": [0, 1], "unsign": 0, "wind_algorithm_non": [0, 5], "wind_algorithm_hurley2002": 0, "wind_algorithm_schneider2018": 0, "wind_algorithm_binary_c_2020": [0, 5], "wind_algorithm_binary_c_2022": 0, "extra": [0, 4, 15, 21, 22, 32, 34, 40], "gbwind": 0, "first": [0, 2, 6, 8, 12, 13, 14, 15, 16, 19, 22, 25, 30, 31, 39, 42], "red": [0, 6, 14, 16], "giant": [0, 6, 16], "reimer": 0, "choos": [0, 6, 8, 9, 13, 18, 24, 25, 30], "gb_reimers_eta": 0, "rate": [0, 14, 31], "schroeder": 0, "cuntz": 0, "2005": 0, "gb_wind_reim": 0, "gb_wind_schroeder_cuntz_2005": 0, "gb_wind_goldman_etal_2017": 0, "gb_wind_beasor_etal_2020": 0, "postagbwind": 0, "special": [0, 15], "post": [0, 5, 6, 8, 9, 20], "A": [0, 2, 4, 5, 15, 28, 42], "gb": 0, "postagb_wind_use_gi": 0, "mean": [0, 5, 19, 21, 22, 29, 31, 36, 37, 39], "whatev": [0, 9, 18, 19, 20, 22, 25, 30, 39], "prescrib": 0, "option": [0, 1, 2, 6, 8, 13, 14, 15, 16, 17, 18, 19, 20, 22, 25, 26, 28, 30, 31, 33, 34, 37, 39, 42], "includ": [0, 1, 2, 5, 6, 9, 12, 14, 15, 16, 19, 20, 22, 24, 30, 31, 39], "postagb_wind_non": 0, "postagb_wind_krticka2020": 0, "krticka": 0, "kub\u00e1t": 0, "krtickov\u00e1": 0, "2020": 0, "635": 0, "a173": 0, "postagb_wind_gi": 0, "teff_postagb_min": 0, "minimum": [0, 7, 19, 21, 31, 37, 38, 42], "temperatur": [0, 16, 24, 31], "teff_postagb_max": 0, "6000": 0, "k": [0, 6, 16, 31], "120000": 0, "mattsson_orich_tpagbwind": 0, "experiment": [0, 19], "mattsson": 0, "oxygen": [0, 6], "rich": 0, "mattsson_mass_loss": 0, "magnetic_braking_factor": 0, "multipli": [0, 2, 14, 21, 37], "brake": 0, "angular": [0, 16, 24], "momentum": [0, 16], "magnetic_braking_gamma": 0, "gamma": 0, "factor": [0, 2, 21, 37], "rappaport": 0, "style": [0, 19, 32], "express": [0, 19], "magnetic_braking_algorithm": 0, "andronov": 0, "pinnsonneault": 0, "sill": 0, "2003": [0, 31], "barn": 0, "kim": 0, "2010": [0, 21, 31], "magnetic_braking_algorithm_hurley_2002": 0, "magnetic_braking_algorithm_andronov_2003": 0, "magnetic_braking_algorithm_barnes_2010": 0, "magnetic_braking_algorithm_rappaport_1983": 0, "helium_flash_mass_loss": 0, "lost": [0, 8, 18], "flash": 0, "multipl": [0, 2, 6, 21, 31], "cf": 0, "eta": [0, 13], "formula": [0, 19], "4e": [0, 18], "8e": 0, "gbwindfac": 0, "tpagbwindfac": 0, "eagbwindfac": 0, "nieuwenhuijzen_windfac": 0, "nieuwenhuijzen": 0, "de": [0, 5], "jager": 0, "tpagbwind": 0, "dure": [0, 5, 16, 18], "karaka": 0, "vassiliadi": 0, "wood": 0, "1993": 0, "bloecker": 0, "loon": 0, "rob": [0, 31, 42], "c": [0, 1, 5, 7, 9, 12, 15, 22, 39, 40], "variant": 0, "respect": [0, 29, 31, 36], "goldman": 0, "2017": [0, 15, 21, 31], "beasor": 0, "tpagb_wind_vw93_karaka": 0, "tpagb_wind_vw93_orig": 0, "tpagb_wind_reim": 0, "tpagb_wind_bloeck": 0, "tpagb_wind_van_loon": 0, "tpagb_wind_rob_cwind": 0, "tpagb_wind_vw93_karakas_carbon_star": 0, "tpagb_wind_vw93_orig_carbon_star": 0, "tpagb_wind_mattsson": 0, "tpagb_wind_goldman_etal_2017": 0, "tpagb_wind_beasor_etal_2020": 0, "eagbwind": 0, "vw93": 0, "eagb_wind_bs": 0, "eagb_wind_goldman_etal_2017": 0, "eagb_wind_beasor_etal_2020": 0, "wind_gas_to_dust_ratio": 0, "ga": 0, "dust": 0, "ratio": [0, 6, 7, 8, 13, 14, 15, 31, 42], "calcul": [0, 2, 6, 8, 13, 14, 15, 19, 21, 27, 31, 34, 42], "typic": 0, "200": 0, "milki": 0, "wai": [0, 2, 5, 12, 14, 20, 21, 25], "500": 0, "magellan": 0, "cloud": 0, "approxim": [0, 6, 8], "mw": 0, "vwind_multipli": 0, "vwind_beta": 0, "beta": 0, "speed": [0, 28], "where": [0, 1, 2, 6, 13, 14, 15, 19, 21, 22, 25, 27, 30, 31, 33, 37, 39], "vwind": 0, "sqrt": 0, "escap": 0, "125": [0, 15], "from": [0, 2, 3, 5, 6, 8, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 24, 25, 29, 30, 31, 34, 36, 38, 42], "superwind_mira_switchon": 0, "In": [0, 2, 5, 6, 8, 9, 11, 12, 13, 14, 15, 18, 21, 30, 37], "agb": [0, 6], "superwind": 0, "given": [0, 1, 3, 7, 13, 14, 17, 18, 19, 20, 21, 25, 28, 29, 30, 31, 34, 36, 37, 40, 42], "mira": 0, "vari": [0, 6, 8, 15], "switch": 0, "vw93_mira_shift": 0, "depend": [0, 6, 19, 21, 22, 24, 31, 39], "plu": 0, "offset": 0, "vw93_multipli": 0, "tpagb_reimers_eta": 0, "tout_pringle_1992_multipli": 0, "tout": [0, 42], "pringl": 0, "1992": 0, "artificial_mass_accretion_r": 0, "d": [0, 1, 5, 6, 8, 9, 12, 13, 15, 16, 19, 37], "constant": [0, 2, 14, 24, 31, 37], "accret": [0, 5], "n": [0, 1, 5, 6, 7, 8, 9, 12, 13, 14, 15, 17, 18, 19, 21, 25, 31], "scanf": 0, "artificial_mass_accretion_rate_by_stellar_typ": 0, "artificial_angular_momentum_accretion_r": 0, "artificial_orbital_angular_momentum_accretion_r": 0, "orbit": [0, 5, 7, 8, 13, 16, 24, 31, 42], "artificial_accretion_start_tim": 0, "time": [0, 1, 2, 3, 5, 6, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 24, 27, 30, 31, 32, 37], "artifici": 0, "artificial_accretion_ignor": 0, "artificial_accretion_end_tim": 0, "end": [0, 5, 19, 21, 27, 31], "wr_wind": 0, "massiv": [0, 5, 6, 8, 13, 16, 31], "wr": 0, "maeder": 0, "meynet": 0, "nugi": 0, "lamer": 0, "john": 0, "eldridg": 0, "vink": 0, "earli": [0, 22, 39], "lynnett": 0, "drai": 0, "thesi": 0, "wr_wind_bs": 0, "wr_wind_maeder_meynet": 0, "wr_wind_nugis_lam": 0, "wr_wind_eldridg": 0, "wr_wind_fac": 0, "wrwindfac": 0, "synonym": 0, "instead": [0, 5, 14, 19, 21], "bh_prescript": [0, 5], "prescrit": 0, "relat": 0, "newli": 0, "form": [0, 6, 7, 8, 13, 14, 15, 20, 25, 30, 33, 38], "its": [0, 2, 3, 13, 14, 15, 16, 19, 21, 22, 24, 25, 26, 30, 33, 37, 38, 39, 40], "progenitor": [0, 15], "co": [0, 5], "core": [0, 6, 8, 13, 14, 15, 21, 24], "bh_hurley2002": 0, "bh_belczynski": [0, 5], "belczynski": 0, "bh_spera2015": 0, "spera": 0, "2015": 0, "bh_fryer12_delai": 0, "fryer": 0, "2012": [0, 31], "delai": [0, 21], "bh_fryer12_rapid": [0, 5], "rapid": 0, "bh_fryer12_startrack": 0, "startrack": 0, "sn_kick_distribution_ii": 0, "distribut": [0, 2, 4, 8, 13, 15, 19, 25, 26, 31, 37], "ii": [0, 18], "collaps": 0, "fix": [0, 5, 12, 19, 20, 24, 30, 31, 32], "maxwellian": 0, "custom": [0, 1, 2, 3, 4, 5, 7, 12, 13, 14, 15, 16, 19, 20, 21, 22, 24, 31, 40], "kick_velocity_fix": 0, "kick_velocity_maxwellian": 0, "kick_velocity_custom": 0, "sn_kick_distribution_ecap": 0, "electron": 0, "captur": [0, 5, 13, 19], "sn_kick_distribution_ns_n": 0, "neutron": [0, 6, 15], "surviv": [0, 16], "merger": [0, 5], "sn_kick_distribution_ibc": 0, "born": [0, 6, 13, 14], "after": [0, 6, 8, 9, 13, 14, 15, 20, 21, 30, 34, 37], "ib": [0, 5], "sn_kick_distribution_grb_collapsar": 0, "collapsar": 0, "sn_kick_distribution_tz": 0, "death": 0, "thorn": 0, "zytkow": 0, "object": [0, 2, 3, 4, 5, 7, 11, 16, 19, 20, 21, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40], "sn_kick_distribution_aic_bh": 0, "induc": 0, "sn_kick_distribution_bh_bh": 0, "sn_kick_distribution_bh_n": 0, "sn_kick_distribution_ia_hybrid_hecowd": 0, "ani": [0, 3, 12, 15, 19, 20, 22, 25, 31, 34, 38, 39], "survivor": 0, "hybrid": 0, "he": [0, 5], "snia": 0, "explos": [0, 5, 6, 18], "sn_kick_distribution_ia_hybrid_hecowd_sublumin": 0, "sublumin": 0, "sn_kick_dispersion_ii": [0, 5], "dispers": [0, 37], "190": [0, 5, 18], "sn_kick_dispersion_ecap": 0, "sn_kick_dispersion_ns_n": 0, "sn_kick_dispersion_ibc": [0, 5], "sn_kick_dispersion_grb_collapsar": [0, 5], "sn_kick_dispersion_tz": 0, "sn_kick_dispersion_aic_bh": 0, "sn_kick_dispersion_bh_bh": 0, "sn_kick_dispersion_bh_n": 0, "sn_kick_dispersion_ia_hybrid_hecowd": 0, "sn_kick_dispersion_ia_hybrid_hecowd_sublumin": 0, "sn_kick_companion_ia_h": 0, "algothim": 0, "companion": [0, 5, 18, 30], "ia": [0, 8], "liu": 0, "wheeler": 0, "1975": 0, "sn_impulse_non": 0, "sn_impulse_liu2015": 0, "sn_impulse_wheeler1975": 0, "sn_kick_companion_ia_eld": 0, "eld": 0, "sub": [0, 2, 19], "mch": 0, "sn_kick_companion_ia_chand": 0, "sn_kick_companion_a": 0, "sn_kick_companion_ecap": 0, "sn_kick_companion_ia_he_co": 0, "sn_kick_companion_ia_chand_co": 0, "sn_kick_companion_ns_n": 0, "sn_kick_companion_grb_collapsar": 0, "grb": 0, "rapidli": [0, 22, 39], "ibc": 0, "sn_kick_companion_hestaria": 0, "sn_kick_companion_ibc": 0, "sn_kick_companion_ii": 0, "sn_kick_companion_iia": 0, "iia": 0, "sn_kick_companion_wdkick": 0, "wd": 0, "sn_kick_companion_tz": 0, "sn_kick_companion_aic_bh": 0, "sn_kick_companion_bh_bh": 0, "merg": [0, 2, 5, 6, 8, 21, 25, 30, 31, 32], "sn_kick_companion_bh_n": 0, "sn_kick_companion_ia_hybrid_hecowd": 0, "sn_kick_companion_ia_hybrid_hecowd_sublumin": 0, "wd_sigma": 0, "thei": [0, 2, 5, 6, 8, 13, 15, 16, 20, 21, 24, 25, 29, 36, 37], "zero": [0, 1, 4, 5, 6, 8, 19, 21, 22, 30], "wd_kick": 0, "wd_kick_direct": 0, "direct": [0, 20], "random": [0, 5, 7, 18, 21], "up": [0, 1, 4, 5, 9, 12, 16, 19, 20, 25, 26, 28, 29, 31, 36], "backward": 0, "inward": 0, "outward": 0, "kick_random": 0, "kick_straight_up": 0, "kick_forward": 0, "kick_backward": 0, "kick_inward": 0, "kick_outward": 0, "wd_kick_when": 0, "decid": [0, 2, 9, 17, 18, 19, 20, 21, 25], "birth": 0, "rlof": [0, 5, 7, 42], "puls": [0, 6, 42], "wd_kick_pulse_numb": 0, "everi": [0, 8, 19, 21, 22, 39], "wd_kick_end_agb": 0, "wd_kick_first_rlof": 0, "wd_kick_at_given_puls": 0, "wd_kick_at_every_puls": 0, "desir": 0, "pre": [0, 5, 8, 15, 18, 24], "minimum_helium_ignition_core_mass": 0, "ignit": [0, 6], "case": [0, 2, 4, 7, 15, 19, 21, 22, 25, 30, 37, 39], "envelop": [0, 4, 5, 6, 22], "strip": [0, 7, 12, 16], "make": [0, 1, 2, 3, 5, 6, 8, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 24, 25, 29, 30, 31, 39, 40, 42], "sdb": 0, "sdo": 0, "total": [0, 2, 6, 8, 13, 14, 15, 18, 19, 21, 24, 31, 34], "minimum_co_core_mass_for_carbon_ignit": 0, "carbon": [0, 6], "assum": [0, 6, 8, 13, 16, 24, 37], "mc": [0, 5, 15, 18, 30], "bagb": 0, "6msun": 0, "around": [0, 5, 9, 12, 17, 18], "08msun": 0, "pol": 0, "1998": [0, 31], "08": [0, 5, 18], "minimum_co_core_mass_for_neon_ignit": 0, "neon": [0, 6], "42msun": 0, "have": [0, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 24, 25, 29, 30, 33, 36, 39, 40], "explod": 0, "electon": 0, "42": [0, 5, 8, 15], "minimum_mcbagb_for_nondegenerate_carbon_ignit": 0, "degener": 0, "25msun": 0, "maximum_mcbagb_for_degenerate_carbon_ignit": 0, "max_neutron_star_mass": 0, "befor": [0, 2, 5, 6, 8, 13, 14, 15, 20, 21, 22, 30, 31, 39], "2msun": 0, "chandrasekhar_mass": 0, "chandrasekhar": 0, "44msun": 0, "38": [0, 5, 15], "delta_mcmin": 0, "reduc": [0, 5], "third": [0, 16, 31, 37], "dredg": 0, "As": [0, 6, 8, 12, 13, 14, 15], "izzard": [0, 22, 39], "2004": 0, "increas": [0, 5, 8, 13, 14], "henc": [0, 8, 14, 16], "lambda_min": 0, "effici": [0, 6, 8], "lambda": [0, 5, 8], "lambda_mult": 0, "impli": 0, "onc": [0, 37], "mcmin": 0, "fit": [0, 2, 12, 31, 42], "lambda_multipli": 0, "minimum_envelope_mass_for_third_dredgeup": 0, "straniero": 0, "suggest": [0, 22, 39], "5msun": 0, "howev": [0, 9, 14, 15], "circumstanti": 0, "evid": 0, "2009": 0, "well": [0, 3, 9, 12, 13, 14, 21, 22, 39], "newer": [0, 2, 22, 39], "stancliff": 0, "low": [0, 6, 8, 14, 31], "nearer": 0, "more": [0, 1, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 37, 39], "appropri": [0, 5, 15, 21, 25, 28, 29, 30, 34, 36], "mass_of_pmz": 0, "partial": 0, "mix": [0, 2, 21], "zone": 0, "tabl": [0, 31, 37], "ask": [0, 7, 42], "abat": 0, "detail": [0, 6, 12, 19, 21], "seri": [0, 37], "paper": 0, "2013": 0, "2014": [0, 31], "use_tabular_intershell_abundances_karakas_2012": 0, "c13_eff": 0, "intershel": 0, "region": [0, 37], "process": [0, 5, 6, 8, 13, 14, 15, 17, 18, 19, 20, 21, 25, 29], "gallino": 0, "busso": 0, "lugaro": 0, "provid": [0, 15, 16, 20, 21, 22, 25, 31, 39, 40], "maria": 0, "nucsyn_s_process": 0, "mc13_pocket_multipli": 0, "tides_convective_damp": 0, "tidal": [0, 5], "convect": 0, "damp": 0, "tides_hurley2002": 0, "zahn": 0, "197x": 0, "timescal": 0, "hut": 0, "tides_zahn1989": 0, "1989": 0, "e2_prescript": 0, "how": [0, 2, 4, 5, 6, 7, 8, 9, 12, 13, 14, 15, 18, 21, 27, 31, 34], "e2": 0, "siess": 0, "e2_hurley_2002": 0, "e2_izzard": 0, "e2_mint": 0, "dtfac": 0, "decreas": 0, "hbbtfac": 0, "modul": [0, 7, 8, 11, 13, 14, 15, 21, 23], "hot": 0, "bottom": [0, 15, 34], "burn": 0, "wind_multiplier_": 0, "specifi": [0, 21, 25, 37], "intger": 0, "By": [0, 6, 13, 14, 15, 18, 21], "wind_type_multiplier_": 0, "lbv": 0, "pre_main_sequ": 0, "rather": [0, 2, 9, 12, 15, 19, 21, 25, 38], "fraction": [0, 13, 18, 21, 31], "radii": [0, 42], "match": [0, 2, 6, 12, 13, 15, 16, 20, 21, 24, 28], "railton": 0, "pre_main_sequence_fit_lob": 0, "forc": [0, 5, 21, 27], "roch": [0, 5, 8, 42], "lobe": [0, 5, 8, 42], "done": [0, 2, 5, 6, 13, 14, 15, 18, 21, 22, 30, 39], "small_envelope_method": 0, "method": [0, 9, 11, 12, 14, 15, 18, 20, 21, 26, 30, 32, 33, 34, 38], "determin": [0, 7, 9, 13, 14, 15, 20, 31, 34, 42], "radiu": [0, 1, 6, 9, 15, 17, 24, 42], "veri": [0, 5, 6, 7, 8, 9, 12, 14, 15, 30, 34, 37], "thin": 0, "miller": 0, "bertolami": 0, "2016": 0, "small_envelope_method_bs": 0, "small_envelope_method_miller_bertolami": 0, "timestep_modul": 0, "global": [0, 2, 14, 19, 31, 37], "timestep_multipli": 0, "maximum_timestep": 0, "20": [0, 5, 8, 9, 13, 14, 15, 16, 18, 37], "zoomfac_multiplier_decreas": 0, "zoomfac_multiplier_increas": 0, "zoom": [0, 37], "succe": 0, "maximum_timestep_factor": 0, "subsequ": 0, "maximum_nuclear_burning_timestep": 0, "nuclear": 0, "nova_retention_method": 0, "retain": 0, "nova": [0, 6, 8], "nova_retention_fract": 0, "pend": [0, 5], "nova_retention_algorithm_const": 0, "nova_retention_algorithm_claeys2014": 0, "nova_retention_algorithm_hillman2015": 0, "nova_retention_algorithm_wangwu": 0, "nova_yield_co_algorithm": 0, "yield": [0, 37], "nova_yield_co_algothim_jose_hernanz_1998": 0, "nova_yield_co_algorithm_jose_hernanz_1998": 0, "nova_yield_one_algorithm": 0, "nova_yield_one_algothim_jose_hernanz_1998": 0, "nova_yield_one_algorithm_jose2022": 0, "nova_yield_one_algorithm_jose_hernanz_1998": 0, "nova_yield_one_algorithm_jose_2022": 0, "mint_metal": 0, "mint": 0, "It": [0, 6, 7, 8, 11, 12, 13, 14, 15, 16, 18, 21, 22, 30, 33, 39], "normal": [0, 2, 20, 25, 37, 38], "gaia_teff_binwidth": 0, "log10": [0, 6, 8, 13, 14, 15, 31, 37], "bin": [0, 8, 13, 14, 19, 21, 22, 37, 39], "width": [0, 8, 19], "gaia": [0, 31], "hrd": [0, 6, 8], "gaia_l_binwidth": 0, "luminos": [0, 4, 6, 22, 24], "gaia_colour_transform_method": 0, "select": [0, 3, 12, 13, 16, 18, 19], "transform": [0, 3], "colour": 0, "scheme": 0, "gaia_conversion_ubvri_univariate_jordi2010": 0, "jordi": 0, "univari": 0, "ubvri": 0, "gaia_conversion_ubvri_bivariate_jordi2010": 0, "bivari": 0, "gaia_conversion_ugriz_univariate_jordi2010": 0, "gaia_conversion_ugriz_bivariate_jordi2010": 0, "ugriv": 0, "gaia_conversion_ubvri_univariate_evans2018": 0, "evan": 0, "dr2": 0, "gaia_conversion_ugriz_univariate_evans2018": 0, "gaia_conversion_ubvri_riello2020": 0, "riello": 0, "dr3": 0, "gaia_conversion_ugriz_riello2020": 0, "rotationally_enhanced_mass_loss": 0, "enabl": [0, 7], "rotation": 0, "enhanc": 0, "langer": 0, "rotationally_enhanced_massloss_langer_formula": 0, "rotationally_enhanced_expon": 0, "rotationally_enhanced_massloss_non": 0, "rotationally_enhanced_massloss_angmom": 0, "rotationally_enhanced_massloss_langer_formula_and_angmom": 0, "agb_core_algorithm": 0, "overshoot": 0, "agb_core_algorithm_default": 0, "agb_core_algorithm_hurlei": 0, "agb_core_algorithm_karaka": 0, "agb_radius_algorithm": 0, "agb_radius_algorithm_default": 0, "agb_radius_algorithm_hurlei": 0, "agb_radius_algorithm_karaka": 0, "agb_luminosity_algorithm": 0, "agb_luminosity_algorithm_default": 0, "agb_luminosity_algorithm_hurlei": 0, "agb_luminosity_algorithm_karaka": 0, "agb_3dup_algorithm": 0, "agb_third_dredge_up_algorithm_default": 0, "agb_third_dredge_up_algorithm_hurlei": 0, "agb_third_dredge_up_algorithm_karaka": 0, "agb_third_dredge_up_algorithm_stancliff": 0, "overspin_algorithm": 0, "what": [0, 1, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 18, 21, 22, 25, 31, 33, 37, 38, 39, 40], "do": [0, 1, 2, 5, 6, 7, 8, 9, 11, 13, 14, 15, 18, 20, 21, 22, 24, 25, 30, 31, 33, 37, 39, 42], "breakup": 0, "overspin_bs": 0, "conserv": 0, "transfer": [0, 6, 21], "back": [0, 2, 5], "overspin_massloss": 0, "rotationally_enhanced_massloss": 0, "lose": [0, 18], "carri": 0, "awai": [0, 13], "expon": [0, 19], "power": [0, 8, 14, 21, 31], "rais": [0, 2, 15, 19, 21], "batchmod": 0, "control": [0, 6, 13, 14, 15, 21], "variabl": [0, 4, 6, 7, 8, 13, 19, 21, 29, 30, 34], "know": [0, 1, 2, 7, 12, 14, 21, 30, 33], "speedtest": 0, "off": [0, 5, 15, 18, 21], "use_fixed_timestep_": 0, "boolean": [0, 2, 7, 19, 20, 21, 24, 38, 42], "task": [0, 18, 19, 20, 24, 25, 28, 31, 37, 40, 42], "perform": [0, 30], "For": [0, 2, 9, 12, 13, 14, 24], "binary_c_macro": 0, "h": [0, 5, 9, 19], "particularli": 0, "binary_c_task_": 0, "orbiting_object": [0, 16], "usag": [0, 4], "spinrat": 0, "central_object": 0, "orbiting_objects_log": [0, 16], "orbiting_objects_wind_accretion_multipli": 0, "orbiting_objects_close_pc_threshold": 0, "close": [0, 8, 14, 16, 30], "percentag": 0, "orbiting_objects_tides_multipli": 0, "torqu": 0, "evaporate_escaped_orbiting_object": 0, "evapor": 0, "rlof_transition_objects_escap": 0, "eject": [0, 8, 16], "otherwis": [0, 2, 19, 20, 21, 25, 27, 29, 30, 33, 36], "place": [0, 2, 13, 19, 21], "outsid": [0, 31], "stabl": [0, 22, 39], "pn_resolv": 0, "shorten": [0, 5], "resolv": [0, 13, 30], "better": [0, 2, 4, 7, 15, 25, 29, 30, 36, 42], "pn": 0, "pn_resolve_minimum_luminos": 0, "resolut": [0, 6, 8, 13, 14, 15, 21, 34, 37], "pne": 0, "31": [0, 5, 7, 18, 21], "62": [0, 13], "pn_resolve_maximum_envelope_mass": 0, "below": [0, 4, 6, 7, 8, 9, 13, 14, 15, 21, 31], "pn_resolve_minimum_effective_temperatur": 0, "12500": 0, "pn_fast_wind": 0, "fast": 0, "pn_fast_wind_dm_gb": 0, "pn_fast_wind_mdot_gb": 0, "06": [0, 5, 9, 12, 13], "pn_fast_wind_dm_agb": 0, "pn_fast_wind_mdot_agb": 0, "hewd_hewd_ignition_mass": 0, "reignit": 0, "wind_nieuwenhuijzen_luminosity_lower_limit": 0, "activ": [0, 21, 22, 39], "4e3": 0, "lsun": [0, 24], "4000": 0, "wind_lbv_luminosity_lower_limit": 0, "6e5": 0, "600000": 0, "num_ansi_colour": 0, "extend": [0, 8, 22, 38, 39], "ansi": [0, 19], "255": [0, 5], "src": [0, 7, 9, 22, 39], "ansi_colour": 0, "int": [0, 1, 2, 5, 7, 13, 15, 19, 20, 21, 25, 31, 32, 33, 34, 37, 42], "apply_darwin_radau_correct": 0, "darwin": 0, "radau": 0, "correct": [0, 12, 20, 22, 24, 31, 32, 39, 42], "moment": [0, 6, 9, 15, 18, 37], "inertia": 0, "take": [0, 2, 8, 13, 15, 18, 19, 21, 26, 30, 31, 34, 40], "account": [0, 21, 31], "adjust_structure_from_mass_chang": 0, "adjust": 0, "l": [0, 6, 13, 14], "r": [0, 1, 5, 6, 12, 15, 18, 22, 30, 39], "chang": [0, 1, 2, 5, 6, 8, 9, 13, 14, 15, 18, 19, 20, 21, 22, 33, 34, 39], "m": [0, 5, 6, 8, 14, 16, 18, 19, 31, 42], "previou": [0, 8, 14, 19, 21, 38], "thermal": [0, 6, 31, 42], "save_mass_history_n_therm": 0, "histori": [0, 31], "save": [0, 1, 8, 9, 13, 14, 15, 21, 25, 30, 31, 37], "degenerate_core_merger_nucsyn": 0, "degner": 0, "energi": 0, "gener": [0, 1, 4, 7, 9, 12, 13, 15, 17, 18, 19, 20, 21, 24, 25, 30, 31, 33, 34, 37], "nucleosynthesi": [0, 38], "whole": [0, 8, 9, 20, 21], "disrupt": [0, 5, 18], "degenerate_core_helium_merger_ignit": 0, "degenerate_core_merger_dredgeup_fract": 0, "separ": [0, 3, 5, 6, 7, 9, 12, 15, 16, 17, 18, 24, 30, 31, 42], "actual": [0, 3, 6, 8, 9, 12, 13, 14, 15, 20, 21, 22, 24, 29, 31, 37, 39], "semi": 0, "major": 0, "axi": [0, 24], "indic": [0, 31], "want": [0, 2, 3, 5, 8, 9, 13, 14, 15, 18, 19, 21, 22, 24, 25, 30, 31, 33, 34, 39], "either": [0, 2, 3, 13, 14, 15, 18, 20, 21, 34, 38, 40], "separation_tripl": 0, "tripl": [0, 21, 31], "separation_quadrupl": 0, "quadrupl": [0, 21, 31], "orbital_period": [0, 5, 7, 8, 9, 12, 13, 15, 17, 18, 42], "orbital_period_tripl": 0, "orbital_period_quadrupl": 0, "outer": [0, 6], "quadrulpl": 0, "eccentricity_tripl": 0, "eccentricity_quadrupl": 0, "inclini": 0, "orbital_inclin": 0, "rel": 0, "incliniation_tripl": 0, "incliniation_quadrupl": 0, "orbital_inclinationi": 0, "orbital_phas": 0, "orbital_phase_tripl": 0, "orbital_phase_quadrupl": 0, "argument_of_periastron": 0, "argument": [0, 2, 5, 7, 12, 15, 16, 17, 18, 19, 20, 21, 25, 26, 31, 38, 40], "periastron": 0, "argument_of_periastron_tripl": 0, "argument_of_periastron_quadrupl": 0, "disc_timestep_factor": 0, "natur": [0, 14], "disc": [0, 16], "white_dwarf_cooling_model": 0, "cool": [0, 6], "white_dwarf_cooling_mestel": 0, "mestel": 0, "white_dwarf_cooling_mestel_modifi": 0, "white_dwarf_cooling_carrasco2014": 0, "carrasco": 0, "white_dwarf_radius_model": 0, "perhap": [0, 6, 8, 20], "white_dwarf_radius_nauenberg1972": 0, "nauenberg": 0, "1972": 0, "white_dwarf_radius_mu": 0, "mu": 0, "white_dwarf_radius_carrasco2014": 0, "cbdisc_mass_loss_inner_viscous_accretion_method": 0, "inner": [0, 16], "edg": [0, 6, 15, 34], "circumbinari": 0, "goe": [0, 2, 9, 12, 24], "young": 0, "clark": 0, "gerosa": 0, "50": [0, 5, 14, 15], "cbdisc_mass_loss_inner_viscous_accretion_method_young_clarke_2015": 0, "cbdisc_mass_loss_inner_viscous_accretion_method_gerosa_2015": 0, "cbdisc_mass_loss_inner_viscous_accretion_method_equ": 0, "cbdisc_mass_loss_inner_viscous_accretion_method_non": 0, "cbdisc_inner_edge_strip": 0, "cbdisc_end_evolution_after_disc": 0, "cbdisc_no_wind_if_cbdisc": 0, "cbdisc_outer_edge_strip": 0, "disc_n_monte_carlo_guess": 0, "guess": [0, 31], "try": [0, 2, 5, 8, 12, 13, 14, 15, 22, 25, 30, 34, 39], "list": [0, 1, 2, 3, 6, 8, 12, 13, 14, 15, 16, 19, 21, 22, 25, 28, 31, 34, 37, 39, 40], "fail": [0, 6, 8, 13, 14, 15, 19, 21, 22, 30, 39], "disc_log": 0, "disc_log_level_non": 0, "disc_log_level_norm": 0, "disc_log_level_subtimestep": 0, "disc_log_level_normal_first_disc_onli": 0, "disc_log_level_subtimestep_first_disc_onli": 0, "disc_log2d": 0, "2d": 0, "disc_log_dt": 0, "disc_log_directori": 0, "directori": [0, 4, 15, 19, 20, 21, 22, 25, 28, 29, 30, 33, 36, 39], "sent": 0, "exist": [0, 2, 6, 15, 18, 21, 25, 30, 33, 34], "string": [0, 1, 2, 3, 4, 7, 12, 13, 14, 15, 16, 19, 20, 21, 24, 25, 29, 30, 33, 34, 36, 38, 40], "tmp": [0, 12, 13, 14, 15, 19, 22, 39], "post_ce_adaptive_menv": 0, "post_ce_objects_have_envelop": 0, "ce": [0, 8], "sit": 0, "insid": 0, "post_ce_envelope_dm_gb": 0, "post_ce_envelope_dm_eagb": 0, "post_ce_envelope_dm_tpagb": 0, "common": [0, 4, 5, 6, 9, 12, 13, 14, 15, 22], "need": [0, 2, 7, 9, 12, 13, 14, 15, 16, 18, 21, 22, 25, 31, 39, 42], "mai": [0, 8, 13, 30], "unstabl": [0, 5], "mani": [0, 5, 6, 7, 8, 11, 13, 14, 15, 16, 21, 29], "cee": [0, 8], "pn_comenv_transition_tim": 0, "transit": 0, "year": [0, 31], "1e2": 0, "taken": [0, 2, 9, 31], "move": [0, 6], "teff": [0, 5, 31], "30e4": 0, "hall": 0, "100": [0, 5, 6, 8, 13, 14, 31, 37], "minimum_time_between_pn": 0, "planetari": 0, "nebula": 0, "detect": [0, 5, 8, 16], "prevent": [0, 5, 6, 21], "trigger": 0, "pn_hall_fading_time_algorithm": 0, "45msun": 0, "fade": 0, "pn_hall_fading_time_algorithm_minimum": 0, "pn_hall_fading_time_algorithm_maximum": 0, "shown": [0, 24, 37], "fig": [0, 18, 31], "ppn_envelope_mass": 0, "cbdisc_eccentricity_pumping_method": 0, "variou": 0, "pump": 0, "cbdisc_eccentricity_pumping_non": 0, "cbdisc_eccentricity_pumping_dermin": 0, "cbdisc_viscous_photoevaporative_coupl": 0, "viscou": 0, "photoevapor": 0, "coupl": [0, 4], "cbdisc_viscous_photoevaporative_coupling_non": 0, "cbdisc_viscous_photoevaporative_coupling_inst": 0, "instant": 0, "cbdisc_viscous_photoevaporative_coupling_visc": 0, "slow": [0, 6, 8, 13, 14], "cbdisc_inner_edge_stripping_timescal": 0, "long": [0, 5, 6, 8, 15, 21, 27, 30, 34, 38, 41], "revap_in": 0, "disc_stripping_timescale_inst": 0, "disc_stripping_timescale_infinit": 0, "disc_stripping_timescale_visc": 0, "disc_stripping_timescale_orbit": 0, "cbdisc_outer_edge_stripping_timescal": 0, "revap_out": 0, "cbdisc_viscous_l2_coupl": 0, "l2": 0, "gravitational_radiation_model": 0, "gravit": [0, 6, 8, 15], "radiat": 0, "landau": 0, "lifshitz": 0, "1951": [0, 14], "gravitational_radiation_bs": 0, "gravitational_radiation_bse_when_no_rlof": 0, "gravitational_radiation_non": 0, "gravitational_radiation_landau_lifshitz": 0, "gravitational_radiation_landau_lifshitz_when_no_rlof": 0, "nova_irradiation_multipli": 0, "radi": 0, "shara": 0, "1986": [0, 31], "gravitational_radiation_modulator_j": 0, "wave": [0, 6, 8, 15], "gravitational_radiation_modulator_": 0, "nova_faml_multipli": 0, "friction": 0, "rlof_angular_momentum_transfer_model": 0, "rlof_angular_momentum_transfer_model_bs": 0, "rlof_angular_momentum_transfer_model_conserv": 0, "post_sn_orbit_method": 0, "tauri": 0, "post_sn_orbit_bs": 0, "post_sn_orbit_tt98": 0, "singl": [0, 4, 5, 6, 7, 13, 14, 17, 18, 20, 21, 22, 24, 25, 31, 39], "accretion_limit_eddington_steady_multipli": 0, "steadi": 0, "eddington": 0, "instabl": 0, "spheric": 0, "symmetr": 0, "known": [0, 6, 12, 13, 14, 15, 20, 31, 40], "trade": 0, "anyth": [0, 13, 14, 15, 19, 21, 37], "greater": 0, "than": [0, 2, 5, 6, 8, 13, 14, 15, 19, 21, 22, 25, 30, 31, 38, 39], "potenti": 0, "give": [0, 5, 8, 19, 20, 31, 42], "super": 0, "accretion_limit_eddington_lmms_multipli": 0, "accretion_limit_eddington_wd_to_remnant_multipli": 0, "onto": [0, 31], "anoth": [0, 25], "accretion_limit_thermal_multipli": 0, "accretor": [0, 5, 42], "accretion_limit_dynamical_multipli": 0, "dynam": 0, "donor_limit_envelope_multipli": 0, "donor": [0, 5, 42], "per": [0, 5, 8, 12, 13, 15, 19, 21, 30, 42], "donor_limit_thermal_multipli": 0, "donor_limit_dynamical_multipli": 0, "bondi_hoyle_accretion_factor": 0, "bondi": 0, "hoyl": 0, "littleton": 0, "multiplc": 0, "tidal_strength_factor": 0, "strength": 0, "tide": [0, 16], "stronger": [0, 6], "hachisu_qcrit": 0, "critic": 0, "q": [0, 5, 8, 13, 15, 18, 21, 31, 42], "maccretor": [0, 5], "mdonor": [0, 5], "hachisu": 0, "disk": [0, 20], "hachisu_ignore_qcrit": 0, "hachisu_disk_wind": 0, "materi": [0, 6], "too": [0, 2, 6, 7, 14, 16, 21, 22, 39, 40], "help": [0, 5, 7, 11, 12, 13, 14, 15, 19, 33], "sneia": 0, "mass_accretion_for_eld": 0, "lit": 0, "deton": 0, "wdwd_merger_algorithm": 0, "peret": 0, "2019": [0, 18], "chen": 0, "todo": [0, 1, 2, 10, 11, 15, 19, 20, 21, 24, 25, 29, 30, 31, 32, 33, 36, 37, 38, 40, 42], "wdwd_merger_algorithm_bs": 0, "wdwd_merger_algorithm_perets2019": 0, "wdwd_merger_algorithm_chen2016": 0, "wdwd_merger_algorithm_sato2016": 0, "wdwd_merger_algorithm_hybrid_perets2019_sato2016": 0, "wdwd_merger_algorithm_ruiter2013": 0, "eta_violent_wdwd_merg": 0, "q_crit": 0, "wdwd": 0, "violent": 0, "75": [0, 5, 6], "ruiter": 0, "cowd_cowd_explode_above_mass": 0, "hewd_cowd_explode_above_mass": 0, "cowd_to_onewd_accretion_r": 0, "convert": [0, 2, 3, 6, 8, 16, 19, 20, 30, 31, 37], "msun": [0, 6, 9, 12, 14, 16, 18, 31, 37, 38], "yr": 0, "05e": 0, "wang": 0, "type_ia_mch_supernova_algorithm": 0, "dd7": 0, "iwamoto": 0, "1999": 0, "seitenzahl": 0, "3d": 0, "hydro": 0, "seitenzahl2013_model": 0, "type_ia_supernova_algorithm_dd2": 0, "type_ia_supernova_algorithm_seitenzahl2013": 0, "type_ia_supernova_algorithm_seitenzahl2013_automat": 0, "type_ia_supernova_algorithm_livne_arnett_1995": 0, "One": [0, 5, 21], "n1": 0, "n3": 0, "n5": 0, "n10": 0, "n20": 0, "n40": 0, "n100l": 0, "n100": 0, "n100h": 0, "n150": 0, "n200": 0, "n300c": 0, "n1600": 0, "n1600c": 0, "n100_z0": 0, "type_ia_sub_mch_supernova_algorithm": 0, "unus": [0, 21], "max_hewd_mass": 0, "merger_mass_loss_fract": 0, "merger_mass_loss_fraction_by_stellar_type_": 0, "posit": [0, 2, 8, 31], "merger_mass_loss_fraction_glebbeek_2013": 0, "merger_mass_loss_fraction_non": 0, "merger_mass_loss_fraction_glebbeek2013": 0, "merger_mass_loss_fraction_unus": 0, "666666": 0, "merger_mass_loss_fraction_nondegener": 0, "equival": [0, 13, 21, 25], "merger_mass_loss_fraction_by_stellar_typ": 0, "combin": [0, 1, 2, 9, 19, 20, 21], "attempt": [0, 3, 19, 20], "individu": [0, 4, 5, 13, 22, 39], "merger_mass_loss_fraction_degener": 0, "compact": [0, 8, 15], "transient_method": 0, "transient": 0, "transient_method_non": 0, "transient_method_ivanova2013": 0, "transient_method_villar2017": 0, "merger_angular_momentum_factor": 0, "result": [0, 1, 2, 3, 8, 12, 13, 14, 15, 18, 19, 21, 22, 25, 30, 31, 37, 39], "spin": [0, 16], "smaller": [0, 37], "wind_angular_momentum_loss": 0, "lw": 0, "specif": [0, 11, 12, 20, 24, 29, 36], "wind_djorb_fac": 0, "wind_angmom_loss_bs": 0, "wind_angmom_loss_lw": 0, "wind_angmom_loss_lw_hybrid": 0, "wind_angmom_loss_spherically_symmetr": 0, "vw93_eagb_wind_spe": 0, "vw93_tpagb_wind_spe": 0, "use_periastron_roche_radiu": 0, "circular": [0, 5], "treat": [0, 37], "properli": 0, "hopefulli": 0, "qcrit_nuclear_burn": 0, "qcrit": 0, "irrespect": 0, "qcrit_qwd": 0, "qcrit_lmm": 0, "stabil": 0, "overflow": [0, 5, 8], "qcrits_": 0, "qcrits_degenerate_": 0, "6944": 0, "qcrit_bs": 0, "qcrit_hjellming_webbink": 0, "qcrit_q_no_comenv": 0, "qcrit_chen_han_t": 0, "qcrit_chen_han_formula": 0, "qcrit_ge2015": 0, "qcrit_vos2018": 0, "qcrit_temmink2022": 0, "qcrit_default": 0, "qcrit_gb_bs": 0, "qcrit_gb_hjellming_webbink": 0, "qcrit_gb_q_no_comenv": 0, "qcrit_gb_chen_han_t": 0, "qcrit_gb_chen_han_formula": 0, "qcrit_gb_ge2015": 0, "qcrit_gb_vos2018": 0, "qcrit_gb_temmink2022": 0, "qcrit_gb_default": 0, "qcrit_m": 0, "qcrit_hg": 0, "hertzsprung": [0, 4, 22], "gap": 0, "qcrit_gb": 0, "qcrit_cheb": 0, "qcrit_eagb": 0, "qcrit_tpagb": 0, "tp": 0, "qcrit_hem": 0, "qcrit_hehg": 0, "qcrit_hegb": 0, "78125": 0, "qcrit_hewd": 0, "qcrit_cowd": 0, "qcrit_onewd": 0, "qcrit_n": 0, "qcrit_bh": 0, "qcrit_degenerate_lmm": 0, "qcrit_degenerate_m": 0, "qcrit_degenerate_hg": 0, "7619": 0, "qcrit_degenerate_gb": 0, "qcrit_degenerate_cheb": 0, "qcrit_degenerate_eagb": 0, "qcrit_degenerate_tpagb": 0, "qcrit_degenerate_hem": 0, "qcrit_degenerate_hehg": 0, "qcrit_degenerate_hegb": 0, "qcrit_degenerate_hewd": 0, "625": [0, 5], "qcrit_degenerate_cowd": 0, "qcrit_degenerate_onewd": 0, "qcrit_degenerate_n": 0, "qcrit_degenerate_bh": 0, "mass_for_hestar_ia_upp": 0, "never": [0, 6, 14, 21, 28], "mass_for_hestar_ia_low": 0, "alphacb": 0, "viscos": 0, "alpha": [0, 5], "minimum_donor_menv_for_comenv": 0, "comenv_prescript": 0, "paczy\u0144ski": 0, "neleman": 0, "alpha_c": [0, 5, 6, 8], "comenv_ms_accretion_mass": 0, "comenv_ms_accretion_fract": 0, "comenv_ns_accretion_fract": 0, "comenv_ns_accretion_mass": 0, "nelemans_gamma": 0, "nelemans_minq": 0, "nelemans_max_frac_j_chang": 0, "nelemans_n_comenv": 0, "lambda_c": [0, 5, 8], "lambda_ionis": 0, "comenv_undef": 0, "comenv_bs": 0, "comenv_nelemans_tout": 0, "comenv_nandez2016": 0, "comenv_ge2022": 0, "comenv_ejection_spin_method": 0, "left": 0, "comenv_ejection_spin_method_do_noth": 0, "leav": [0, 21], "omega": [0, 5, 18], "enter": [0, 21], "comenv_ejection_spin_method_sychron": 0, "synchron": 0, "comenv_ejection_spin_method_synchron": 0, "comenv_merger_spin_method": 0, "comenv_merger_spin_method_specif": 0, "preserv": 0, "onset": 0, "comenv_merger_spin_method_conserve_angmom": 0, "supercrit": 0, "comenv_merger_spin_method_conserve_omega": 0, "frequenc": [0, 16], "comenv_merger_spin_method_breakup": 0, "some": [0, 1, 5, 6, 8, 9, 11, 12, 13, 14, 15, 18, 20, 21, 22, 24, 29, 31, 34, 35, 36, 39], "comenv_ms_accret": 0, "comenv_ns_accret": 0, "formal": 0, "bind": [0, 7, 9, 12, 16], "menv": [0, 5], "lambda_ce_dewi_tauri": 0, "dewi": 0, "lambda_ce_wang_2016": 0, "jia": 0, "li": 0, "lambda_ce_polytrop": 0, "polytrop": 0, "comenv_splitmass": 0, "lambda_ce_klencki_2020": 0, "klencki": 0, "point": [0, 3, 6, 19, 20, 21, 22, 30, 31, 37, 39], "nelemans_recalc_eccentr": 0, "recalcul": 0, "remov": [0, 2, 8, 12, 15, 16, 19, 20], "comenv_post_eccentr": 0, "remain": [0, 7, 19, 21], "05": [0, 5, 9, 13, 15], "dedmrlof": 0, "dm": [0, 14, 31, 37], "defualt": 0, "accord": [0, 6, 30, 31, 37], "standard": [0, 13, 14, 29, 31, 36, 37], "recombin": 0, "big": [0, 21], "outcom": 0, "lambda_enthalpi": 0, "enthalpi": 0, "far": [0, 5, 6, 14, 16], "cbdisc_albedo": 0, "albedo": 0, "cbdisc_gamma": 0, "cbdisc_alpha": 0, "cbdisc_kappa": 0, "kappa": 0, "cbdisc_minimum_evaporation_timescal": 0, "would": [0, 2, 14, 15, 21, 24], "less": [0, 1, 4, 5, 30, 31], "simpli": [0, 14], "immedi": [0, 6, 21], "1y": 0, "cbdisc_torquef": 0, "cbdisc_max_lifetim": 0, "lifetim": [0, 8, 13, 14, 15, 37], "cbdisc_init_dm": 0, "cbdisc": 0, "start": [0, 1, 5, 6, 8, 12, 13, 14, 15, 18, 19, 21, 27, 33, 34], "won": [0, 12, 22, 39], "t": [0, 1, 2, 5, 6, 12, 14, 15, 16, 19, 21, 22, 25, 30, 37, 39], "converg": 0, "cbdisc_init_djdm": 0, "dj": 0, "cbdisc_mass_loss_constant_r": 0, "cbdisc_mass_loss_fuv_multipli": 0, "fuv": 0, "cbdisc_mass_loss_xray_multipli": 0, "x": [0, 5, 6, 9, 12, 16, 18, 19, 20, 24, 25, 31, 37], "rai": 0, "cbdisc_mass_loss_ism_ram_pressure_multipli": 0, "interstellar": 0, "medium": 0, "ram": [0, 21], "pressur": 0, "cbdisc_mass_loss_ism_pressur": 0, "boltzmann": 0, "kelvin": 0, "think": [0, 19, 20], "3000": [0, 16], "http": [0, 1, 2, 6, 15, 19, 20, 22, 30, 31, 39], "www": [0, 31], "astronomi": 0, "ohio": 0, "edu": 0, "pogg": 0, "ast871": 0, "intro": 0, "pdf": [0, 18, 22, 31, 39], "page": [0, 6, 15, 22, 39], "arxiv": [0, 31], "org": [0, 2, 31], "0902": 0, "0820": 0, "panel": 0, "cbdisc_mass_loss_inner_viscous_multipli": 0, "cbdisc_mass_loss_inner_viscous_angular_momentum_multipli": 0, "cbdisc_resonance_multipli": 0, "reson": 0, "interact": [0, 3, 5, 6, 8, 16, 18, 33], "affect": [0, 5, 6], "cbdisc_resonance_damp": 0, "locat": [0, 21, 22, 31, 37, 39], "cbdisc_fail_ring_inside_separ": 0, "rring": 0, "cbdisc_mass_loss_inner_l2_cross_multipli": 0, "cross": 0, "cbdisc_minimum_luminos": 0, "becom": [0, 1, 2, 5, 9, 14, 16, 19, 21], "dimmer": [0, 13], "instantli": 0, "cbdisc_minimum_mass": 0, "cbdisc_minimum_fr": 0, "fring": 0, "ring": 0, "ab": [0, 19], "rout": 0, "rin": 0, "comenv_disc_angmom_fract": 0, "deprec": [0, 20], "discs_circumbinary_from_comenv": 0, "comenv_disc_mass_fract": 0, "wind_disc_angmom_fract": 0, "discs_circumbinary_from_wind": 0, "wind_disc_mass_fract": 0, "wrlof_method": 0, "quadrat": 0, "wrlof_mass_transf": 0, "wrlof_non": 0, "wrlof_q_depend": 0, "wrlof_quadrat": 0, "minimum_timestep": 0, "timestep_solver_factor": 0, "timestep_limit": 0, "compar": [0, 8, 13, 15, 21], "dx": 0, "dt": [0, 1, 19, 28, 37], "higher": [0, 6, 8, 13, 14, 15, 19, 21, 22, 31, 39], "lengthen": 0, "altern": [0, 21], "rlof_mdot_factor": 0, "rlof_mdot_modul": 0, "rlof_f": 0, "enlarg": 0, "nomin": 0, "becaus": [0, 2, 6, 7, 8, 12, 13, 14, 16, 18, 20, 21, 22, 28, 30, 31, 39], "dermin": 0, "rlof_radiation_correct": 0, "unstable_rlof_can_trigger_snia": 0, "triggered_snia_algorithm": 0, "minimum_separation_for_instant_rlof": 0, "evolv": [0, 4, 7, 9, 16, 20, 21, 22, 39], "report": [0, 6, 8, 13, 14, 15], "lead": [0, 6, 13, 14, 15, 30, 31, 42], "minimum_orbital_period_for_instant_rlof": 0, "maximum_mass_ratio_for_instant_rlof": 0, "m1": [0, 5, 9, 12, 13, 14, 15, 18, 30, 31, 42], "rlof_method": 0, "adapt": [0, 14], "rl": [0, 5], "ritter": 0, "claei": 0, "etal": 0, "rlof_method_bs": 0, "rlof_method_adapt": 0, "rlof_method_ritt": 0, "rlof_method_claei": 0, "rlof_method_adaptive2": 0, "rlof_interpolation_method": 0, "alwai": [0, 20, 21, 31, 37], "get": [0, 2, 3, 4, 6, 9, 12, 13, 14, 15, 16, 18, 19, 20, 22, 25, 26, 29, 31, 33, 34, 36, 39, 40, 42], "within": [0, 2, 9, 11, 15, 19, 22, 31, 34, 39], "toler": 0, "rlof_entry_threshold": 0, "revers": [0, 24], "newton": 0, "doe": [0, 2, 6, 7, 9, 11, 12, 13, 14, 15, 20, 21, 28, 30, 31, 34, 42], "repeat": [0, 21], "half": [0, 31], "until": [0, 2, 6, 30, 31], "latter": 0, "now": [0, 2, 5, 6, 8, 9, 12, 13, 14, 15, 16, 18, 19, 25, 31, 32], "break": 0, "rlof_interpolation_binary_c": 0, "rlof_interpolation_bs": 0, "he_nova_eld": 0, "nova_retention_fraction_h": 0, "beta_reverse_nova": 0, "automat": [0, 1, 9, 15, 16, 17, 18, 21, 22, 28, 30, 33, 34, 39], "geometr": 0, "beta_reverse_novae_geometri": 0, "wd_accretion_rate_algorithm": 0, "wrapper": [0, 3, 7, 9, 12, 20, 30, 32, 42], "go": [0, 6, 11, 13, 15, 20, 22, 24, 39], "wd_accretion_rate_": 0, "wd_accretion_rate_novae_upper_limit_hydrogen_donor": 0, "upper": [0, 31, 37], "donor_rate_algorithm_claeys2014": 0, "donor_rate_algorithm_bs": 0, "donor_rate_algorithm_k2014_p2014": 0, "donor_rate_algorithm_wangwu": 0, "wd_accretion_rate_novae_upper_limit_helium_donor": 0, "wd_accretion_rate_novae_upper_limit_other_donor": 0, "neither": [0, 20], "nor": 0, "wd_accretion_rate_new_giant_envelope_lower_limit_hydrogen_donor": 0, "lower": [0, 13, 15, 31, 34, 37], "format": [0, 2, 3, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 18, 19, 21, 29, 30, 31, 34, 37], "wd_accretion_rate_new_giant_envelope_lower_limit_helium_donor": 0, "wd_accretion_rate_new_giant_envelope_lower_limit_other_donor": 0, "crap_paramet": 0, "eggleton": [0, 42], "subject": 0, "bb": 0, "individual_nova": 0, "each": [0, 2, 8, 13, 14, 15, 16, 19, 20, 21, 25, 34, 37], "separta": 0, "nova_timestep_accelerator_num": 0, "acceler": 0, "exce": [0, 13], "nova_timestep_accelerator_index": 0, "nova_timestep_accelerator_max": 0, "larger": [0, 6], "longer": [0, 6, 8], "cap": 0, "eccentric_rlof_model": 0, "rlof_eccentric_as_circular": 0, "force_corotation_of_primary_and_orbit": 0, "force_circularization_on_rlof": 0, "resolve_stellar_type_chang": 0, "warn": [0, 12, 15, 21, 25], "nonconservative_angmom_gamma": 0, "NOT": [0, 34, 37, 40], "momenta": [0, 24], "rlof_nonconservative_gamma_donor": 0, "rlof_nonconservative_gamma_isotrop": 0, "max_stellar_angmom_chang": 0, "maxmimum": 0, "third_dup": 0, "nucsyn_third_dredge_up": 0, "third_dup_multipli": 0, "f": [0, 5, 12, 15, 18, 31], "abund": 0, "element": [0, 1, 11, 16, 21, 24, 38], "nenamg": 0, "reaction": 0, "network": [0, 11], "nucsyn_hbb": 0, "nucsyn_network": 0, "nucsyn_network_error": 0, "error": [0, 2, 14, 19, 21, 22, 25, 30, 39], "nucreacmult": 0, "z": [0, 6, 8, 18, 20, 31, 42], "04": [0, 5, 18], "That": [0, 6], "said": 0, "been": [0, 2, 11, 20, 21, 25, 27, 29, 36], "nucsyn_solv": 0, "kaps_rentrop": 0, "kap": 0, "rentrop": 0, "great": [0, 14, 21], "stiff": 0, "problem": [0, 13], "lsoda": 0, "adam": 0, "bsf": 0, "switcher": 0, "cvode": 0, "librari": [0, 1, 9, 18, 20, 21, 40], "comput": [0, 6, 13, 14], "llnl": 0, "gov": 0, "project": [0, 22, 39], "sundial": 0, "nucsyn_solver_kaps_rentrop": 0, "nucsyn_solver_lsoda": 0, "nucsyn_solver_cvod": 0, "nucsyn_solver_numb": 0, "initial_abundance_mix": 0, "mixtur": [0, 13], "ag89": 0, "lodder": 0, "asplund": 0, "avail": [0, 7, 8, 9, 15, 19, 21, 22, 27, 39], "garcia": 0, "berro": 0, "grevess": 0, "noel": 0, "nucsyn_init_abund_mix_ag89": 0, "nucsyn_init_abund_mix_karakas2002": 0, "nucsyn_init_abund_mix_lodders2003": 0, "nucsyn_init_abund_mix_asplund2005": 0, "nucsyn_init_abund_mix_garciaberro": 0, "nucsyn_init_abund_mix_grevesse_noels_1993": 0, "nucsyn_init_abund_mix_asplund2009": 0, "nucsyn_init_abund_mix_kobayashi2011_asplund2009": 0, "nucsyn_init_abund_mix_lodders2010": 0, "init_abund": 0, "isotop": [0, 11, 38], "init_abund_mult": 0, "init_abund_dex": 0, "dex": [0, 8, 37], "init_abunds_onli": 0, "exit": [0, 19, 20, 21, 25, 29, 30, 36], "initial_abunds_onli": 0, "no_thermohaline_mix": 0, "thermohalin": 0, "lithium_gb_post_heflash": 0, "lithium": 0, "lithium_t": 0, "lithium_gb_post_1dup": 0, "lithium_hbb_multipli": 0, "hbb": 0, "fishlock": 0, "angelou_lithium_decay_funct": 0, "describ": [0, 13, 18, 21, 31], "li7": 0, "decai": 0, "nucsyn_angelou_lithium": 0, "choic": [0, 24, 31], "expoenti": 0, "angelou_lithium_decay_tim": 0, "angelou_lithium_decay_function_exponenti": 0, "angelou_lithium_lmms_tim": 0, "manufactur": 0, "angelou_lithium_ms_tim": 0, "angelou_lithium_hg_tim": 0, "angelou_lithium_gb_tim": 0, "angelou_lithium_cheb_tim": 0, "angelou_lithium_eagb_tim": 0, "angelou_lithium_tpagb_tim": 0, "angelou_lithium_lmms_decay_tim": 0, "surfac": 0, "angelou_lithium_ms_decay_tim": 0, "angelou_lithium_hg_decay_tim": 0, "angelou_lithium_gb_decay_tim": 0, "angelou_lithium_cheb_decay_tim": 0, "angelou_lithium_eagb_decay_tim": 0, "angelou_lithium_tpagb_decay_tim": 0, "angelou_lithium_lmms_massfrac": 0, "angelou_lithium_ms_massfrac": 0, "angelou_lithium_hg_massfrac": 0, "angelou_lithium_gb_massfrac": 0, "angelou_lithium_cheb_massfrac": 0, "angelou_lithium_eagb_massfrac": 0, "angelou_lithium_tpagb_massfrac": 0, "angelou_lithium_vrot_trigg": 0, "angelou_lithium_vrotfrac_trigg": 0, "keplerian": 0, "cf_amanda_log": 0, "amanda": 0, "float_overflow_check": 0, "check": [0, 5, 6, 8, 13, 14, 15, 18, 19, 20, 21, 25, 29, 30, 31, 33, 36, 40, 42], "stderr": [0, 21], "failur": [0, 19, 25], "save_pre_events_stardata": 0, "copi": [0, 8, 14, 21, 22, 39, 42], "stardata": [0, 1, 6, 8, 9, 12, 13, 14, 15, 17, 18], "pre_events_stardata": 0, "disable_end_log": 0, "ensembl": [0, 4, 7, 11, 21, 22, 23, 30, 34, 35, 38], "ensemble_filters_off": 0, "filter": [0, 2, 19], "ensemble_filter_": 0, "ensemble_macro": 0, "ensemble_legacy_ensembl": 0, "legaci": 0, "popul": [0, 3, 4, 5, 7, 11, 22, 23, 39, 40], "legacy_yield": 0, "ensemble_def": 0, "defer": 0, "ensemble_dt": 0, "data": [0, 3, 4, 5, 6, 7, 8, 12, 13, 14, 15, 16, 18, 19, 21, 22, 25, 26, 30, 31, 34, 40, 42], "store": [0, 2, 4, 5, 6, 8, 12, 13, 14, 15, 19, 20, 21, 22, 30, 37, 39, 42], "ensemble_logdt": 0, "ensemble_startlogtim": 0, "logensembletim": 0, "storag": 0, "ensemble_logtim": 0, "act": [0, 14, 15, 21], "linear": [0, 13, 14, 21, 31, 37], "postagb_legacy_log": 0, "disc_legacy_log": 0, "emp_logg_maximum": 0, "logg": [0, 6], "emp": 0, "cemp_cfe_minimum": 0, "nemp_nfe_minimum": 0, "emp_minimum_ag": 0, "emp_feh_maximum": 0, "fe": 0, "cemp": 0, "nemp_cfe_minimum": 0, "nemp": 0, "thick_disc_start_ag": 0, "lookback": 0, "thick": 0, "13e3": 0, "thick_disc_end_ag": 0, "thick_disc_logg_min": 0, "thick_disc_logg_max": 0, "escape_veloc": 0, "construct": [0, 1, 6, 8, 12, 13, 14, 16, 18, 21], "galact": [0, 37], "chemic": [0, 37], "gce": 0, "nucsyn_gce_outflow_check": 0, "1e9": 0, "escape_fract": 0, "colour_log": 0, "thelog": 0, "file_log": 0, "log_legacy_stellar_typ": 0, "human": [0, 19], "readabl": [0, 19], "letter": 0, "log_filenam": [0, 5, 12, 18, 40], "filenam": [0, 1, 3, 5, 12, 15, 19, 20, 21, 25, 29, 30, 36, 40], "dev": 0, "c_log": 0, "dat": [0, 15, 19], "log_separ": 0, "empti": [0, 2, 12, 29, 33, 36], "log_arrow": 0, "add": [0, 2, 6, 8, 9, 12, 13, 14, 15, 20, 21, 22, 24, 31, 34, 35, 37, 39], "arrow": 0, "stopfil": 0, "file": [0, 1, 3, 5, 7, 12, 15, 19, 20, 21, 22, 24, 25, 28, 29, 30, 33, 34, 36, 38, 39, 40], "stardata_dump_filenam": 0, "dump": [0, 3, 12, 20, 30], "stardata_load_filenam": 0, "load": [0, 1, 3, 6, 9, 12, 13, 14, 15, 18, 19, 20, 21, 24, 25, 26, 30, 34], "api_log_filename_prefix": [0, 5, 12, 16], "prefix": 0, "api": [0, 4, 19, 22, 25], "hrdiag_output": 0, "high": [0, 14, 31], "hertzstrpung": 0, "russel": [0, 4, 22], "diagram": [0, 4, 22, 24], "hrdiag": 0, "internal_buff": 0, "buffer": [0, 30], "prior": [0, 6], "shouldn": [0, 19], "realli": [0, 6, 15, 20, 21, 33, 34], "plai": [0, 5, 14], "internal_buffering_off": 0, "internal_buffering_print": 0, "internal_buffering_stor": 0, "wtts_log": 0, "wtts2": 0, "fabian_imf_log_tim": 0, "fabian": 0, "imf": [0, 14, 31], "fabian_imf_log": 0, "fabian_imf_log_timestep": 0, "displai": [0, 6, 8], "test": [0, 12, 19, 21, 25, 28, 30], "dumpvers": 0, "short": [0, 6, 8, 13, 14, 41], "version_onli": 0, "tides_diagnosis_log": 0, "mint_dir": 0, "mint_data_cleanup": 0, "incom": 0, "Will": [0, 19, 21, 40], "slower": 0, "few": [0, 8], "thing": [0, 3, 5, 6, 7, 8, 13, 14, 15, 18, 19, 20, 31, 40], "mint_ms_rejuven": 0, "rejuven": [0, 13], "mint_remesh": 0, "remesh": 0, "mint_use_zams_profil": 0, "profil": 0, "zam": [0, 4, 5, 6, 7, 13, 31, 40, 42], "homogen": 0, "mint_fallback_to_test_data": 0, "test_data": 0, "fallback": 0, "unavail": 0, "mint_disable_grid_load_warn": 0, "explicitli": [0, 1], "miss": [0, 13, 14, 19, 33], "much": [0, 6, 8, 13, 15, 18, 19, 27], "mint_kippenhahn": 0, "kippenhahn": 0, "mint_nshel": 0, "shell": [0, 19], "shellular": 0, "mint_maximum_nshel": 0, "mint_hard_max_nshel": 0, "1000": [0, 8, 21, 37], "mint_minimum_nshel": 0, "equal": [0, 2, 14, 15, 19], "mint_hard_min_nshel": 0, "mint_kippenhahn_stellar_typ": 0, "selector": 0, "plot": [0, 6, 8, 12, 13, 14, 16, 17, 18, 24], "mint_kippenhahn_companion_stellar_typ": 0, "mint_nuclear_burn": 0, "mint_minimum_shell_mass": 0, "mint_maximum_shell_mass": 0, "command": [0, 1, 15, 19, 20, 21, 22, 30, 39], "gogo": 0, "reset_star": 0, "reset": 0, "reset_stars_default": 0, "echo": 0, "execut": [0, 15, 21, 22, 34, 39], "noecho": 0, "deactiv": 0, "noechonow": 0, "bye": 0, "quit": [0, 6, 19, 31], "fin": 0, "reset_pref": 0, "prefer": [0, 20], "struct": [0, 9], "statu": [0, 1, 6, 8, 13, 14, 15, 21, 25, 29, 30, 36], "handi": 0, "re": [0, 1, 6, 7, 8, 13, 14, 16, 25, 33], "sampl": [0, 4, 13, 15, 31, 34, 37], "space": [0, 6, 14, 15, 30, 34, 37], "good": [0, 5, 12, 13, 14, 15, 21, 42], "statist": [0, 21, 29], "reason": [0, 14], "tbse": 0, "pgo": 0, "random_system": 0, "etc": [0, 7, 12, 14, 15, 16, 19, 20, 21, 22, 24, 30, 31, 39, 40], "random_se": [0, 5, 12, 18], "seed": 0, "possibl": [0, 1, 2, 6, 12, 16, 19, 21, 22, 28, 31, 33, 39], "exactli": [0, 14], "reproduc": 0, "involv": 0, "pseudorandom": 0, "random_systems_se": 0, "random_skip": 0, "skip": [0, 2, 13, 21], "idum": 0, "nb": 0, "pleas": [0, 6, 7, 13, 14, 15, 19, 21, 22, 28, 39], "reverse_tim": 0, "To": [0, 5, 7, 12, 13, 14, 15, 21, 22, 30, 31, 39], "consid": [0, 1, 2, 13, 14, 20, 21, 24, 32, 33, 37], "start_tim": [0, 21], "warmup_cpu": 0, "cpu": [0, 6, 8, 13, 14, 15, 21, 27], "second": [0, 2, 8, 16, 19, 22, 24, 30, 31, 32, 39], "topic": 0, "argopt": 0, "help_al": 0, "list_arg": 0, "bjorn": 0, "ascii": 0, "art": 0, "pictur": 0, "bj\u00f6rn": 0, "jp2a": 0, "instal": [0, 21, 42], "logo": 0, "here": [1, 6, 7, 9, 12, 13, 14, 16, 18, 19, 20, 21, 22, 24, 31, 39, 40], "user": [1, 9, 19, 20, 21, 22, 26, 31, 33, 39, 40], "binaryc": [1, 19, 40], "output": [1, 2, 3, 4, 5, 7, 9, 11, 12, 16, 17, 18, 19, 20, 21, 22, 24, 30, 38, 39, 40, 42], "runtim": [1, 21], "binarycpython": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42], "util": [1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 19, 20, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 42], "autogen_c_logging_cod": [1, 9, 18], "logging_dict": 1, "verbos": [1, 5, 6, 8, 12, 13, 14, 15, 16, 17, 19, 21, 22, 26, 30, 31, 32, 37, 39], "sourc": [1, 2, 3, 8, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 42], "auto": [1, 23], "printf": [1, 6, 8, 9, 12, 13, 14, 15, 17, 18], "statement": [1, 9, 12, 13, 14, 15, 16, 17, 18, 21], "input": [1, 2, 3, 5, 7, 11, 12, 19, 20, 21, 22, 24, 26, 30, 31, 32, 33, 40, 42], "dictionari": [1, 2, 3, 4, 6, 8, 13, 14, 15, 19, 20, 21, 24, 26, 27, 30, 31, 33, 34, 38, 41], "kei": [1, 2, 3, 11, 12, 15, 16, 18, 19, 20, 21, 24, 28, 30, 31, 33, 34, 38], "header": [1, 6, 8, 9, 12, 13, 14, 15, 18, 19], "line": [1, 5, 6, 8, 9, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 24, 30, 37, 39], "item": [1, 2, 6, 8, 13, 14, 19], "paramet": [1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14, 15, 19, 20, 21, 22, 24, 25, 28, 29, 30, 31, 33, 34, 36, 37, 38, 40, 42], "put": [1, 6, 13, 14, 15, 18, 19, 21, 24, 25, 33, 34, 35], "append": [1, 2, 6, 12, 13, 14, 16], "exampl": [1, 2, 12, 19, 20, 31, 34, 37, 40], "look": [1, 3, 5, 6, 8, 13, 14, 15, 16, 18, 22, 31, 39], "my_stellar_data": [1, 9, 15, 17, 18], "star": [1, 4, 5, 7, 8, 9, 11, 12, 13, 14, 16, 17, 18, 21, 22, 24, 29, 31, 36, 37, 39, 42], "dict": [1, 3, 5, 6, 12, 13, 14, 15, 16, 19, 20, 21, 22, 23, 25, 26, 28, 30, 31, 33, 38, 41], "binary_c": [1, 2, 3, 4, 5, 6, 8, 13, 14, 16, 19, 20, 21, 24, 28, 30, 31, 34, 38, 40], "sentenc": 1, "level": [1, 6, 19, 32], "return": [1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 14, 15, 18, 19, 20, 21, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 36, 37, 38, 40, 42], "str": [1, 2, 3, 6, 15, 19, 20, 24, 30, 33, 34, 38], "binary_c_log_cod": [1, 9, 12, 17, 18], "termin": [1, 6, 9, 15, 22, 39], "primari": [1, 6, 8, 13, 14, 15, 31, 34, 42], "stellar_typ": [1, 6, 9, 12, 13, 14, 15, 22, 23, 24], "example_log_co": [1, 9], "30": [1, 5, 6, 9, 12, 13, 14, 15, 16, 18], "12e": [1, 6, 9, 12, 13, 14, 15], "previous_stardata": [1, 8, 9, 12, 15], "kill": [1, 9, 15, 20], "dtm": [1, 9, 15], "exact": [1, 2, 21], "wrap": [1, 9, 19, 28], "logic": [1, 2, 9, 20, 21], "definit": [1, 13, 14, 42], "share": [1, 12, 17, 18, 21, 30, 40], "binary_c_write_log_cod": 1, "write": [1, 5, 7, 9, 12, 13, 15, 17, 18, 19, 20, 21, 30, 33, 40], "target": [1, 33], "compile_shared_lib": 1, "sourcefile_nam": 1, "outfile_nam": 1, "compil": [1, 9, 15, 18, 22, 39], "name": [1, 2, 5, 6, 7, 8, 13, 14, 15, 16, 18, 19, 21, 29, 30, 33, 34, 40, 41], "create_and_load_logging_funct": [1, 9, 18], "custom_logging_cod": [1, 9, 12, 15, 17, 18, 40], "custom_tmp_dir": 1, "ctype": 1, "unless": [1, 20, 21], "i": [1, 2, 6, 7, 8, 9, 12, 13, 14, 15, 16, 19, 20, 21, 22, 25, 31, 34, 38, 39, 42], "recommend": [1, 4, 22, 39], "tupl": [1, 6, 19, 25, 30, 37], "memori": [1, 6, 7, 8, 9, 13, 14, 15, 18, 19, 20, 21, 30, 42], "address": [1, 7, 9, 21, 42], "capsul": [1, 7, 19], "from_binary_c_config": 1, "config_fil": 1, "flag": [1, 20, 21, 30, 37, 38], "binaryc_config": 1, "config": [1, 19, 21, 22, 39], "filepath": 1, "return_compilation_dict": 1, "inspir": [1, 24, 42], "binary_c_inline_config": 1, "perl": [1, 2, 14, 15, 29], "still": [1, 9, 16, 21, 22, 39, 42], "clean": [1, 6, 12, 14, 20], "w": [1, 12, 15, 20, 30], "develop": 1, "redhat": 1, "com": [1, 19, 20, 22, 31, 39], "blog": 1, "21": [1, 5, 15, 18], "linker": 1, "gcc": [1, 22, 39], "python": [2, 3, 4, 6, 8, 13, 14, 19, 21, 28, 30, 31, 34], "class": [2, 3, 19, 22, 23], "autovivificationdict": 2, "autovivif": 2, "featur": [2, 4, 15, 22], "overrid": [2, 18, 21, 31, 34, 37], "__iadd__": 2, "oper": [2, 30], "doc": [2, 6, 13, 14, 15, 19, 22, 33, 39], "refer": [2, 21, 30], "datamodel": 2, "html": [2, 6, 15, 22, 30, 39], "highlight": 2, "iadd": 2, "subdict": 2, "might": [2, 3, 13, 15, 16, 19, 21, 22, 30, 39], "newdict": 2, "print": [2, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 21, 25, 32, 33], "__getitem__": [2, 28], "getitem": 2, "autoviv": 2, "count_keys_recurs": 2, "input_dict": 2, "recurs": [2, 19, 22, 39], "count": [2, 5, 6, 18, 19, 21], "local_count": 2, "custom_sort_dict": 2, "order": [2, 4, 15, 19, 34], "ordereddict": 2, "find": [2, 5, 8, 15, 19, 21, 28, 33], "uniqu": [2, 18, 21], "sort": [2, 6, 13, 14, 16, 19, 30], "Then": [2, 6, 19, 22, 39], "those": [2, 6, 8, 13, 14, 15, 18, 20, 22, 31, 38, 39], "them": [2, 5, 7, 8, 15, 17, 18, 19, 20, 29, 30, 31, 33, 40], "directli": [2, 12, 21, 25, 30], "without": [2, 9, 12, 14, 19, 21, 31], "filter_dict": 2, "arg_dict": [2, 19], "filter_list": 2, "out": [2, 3, 5, 6, 8, 9, 13, 14, 16, 19, 21, 22, 31, 33, 39], "pair": [2, 5, 19, 34, 38], "filter_dict_through_valu": 2, "inspect_dict": 2, "indent": [2, 3, 12, 20, 30], "print_structur": 2, "inspect": [2, 12, 24], "nest": [2, 15, 34, 38], "content": [2, 3, 5, 7, 19, 20, 25, 39], "bool": [2, 15, 19, 20, 24, 30, 33, 34, 38], "except": [2, 5, 6, 7, 13, 14, 15, 21, 24, 33], "keys_to_float": 2, "faster": [2, 13, 14, 15], "david": [2, 7, 12, 13, 14, 15, 18, 22, 39], "recursive_change_key_to_float": 2, "convers": 2, "noth": [2, 21, 25, 26, 30], "els": [2, 5, 8, 19, 21], "new_dict": 2, "merge_dict": [2, 11], "dict_1": 2, "dict_2": 2, "behaviour": [2, 6, 13, 14, 15, 22, 39, 40], "present": [2, 3, 6, 13, 14, 15, 18, 20, 22, 30, 31, 39], "again": [2, 3, 11, 12, 19, 21], "ad": [2, 4, 6, 8, 12, 13, 22, 30, 34, 39], "opt": [2, 5, 7, 31], "OR": [2, 18], "ident": 2, "concaten": 2, "nonetyp": 2, "instanc": [2, 11, 12, 13, 14, 15, 20, 31], "multiply_float_valu": 2, "multiply_values_dict": [2, 11], "over": [2, 5, 6, 8, 11, 12, 13, 14, 15, 19, 20, 30], "general_info": 2, "origin": [2, 16, 30], "union": [2, 15, 19, 31, 34, 37, 38, 42], "complex": [2, 8, 9, 17, 18, 21], "pass": [2, 7, 9, 12, 15, 16, 18, 19, 20, 21, 22, 24, 25, 26, 29, 30, 36, 37, 39, 40], "multiplied_dict": 2, "normalize_dict": 2, "result_dict": 2, "normalis": [2, 21, 31], "divid": 2, "term": 2, "design": [2, 20, 22, 24, 39], "normalized_dict": 2, "prepare_dict": 2, "global_dict": 2, "list_of_sub_kei": 2, "sure": [2, 12, 13, 14, 15, 22, 25, 30, 31, 39, 40], "prepar": 2, "don": [2, 6, 16, 19, 21, 25], "access": [2, 9, 12, 13, 14, 15, 21, 25, 30], "come": [2, 10, 22, 37, 39], "recursive_change_key_to_str": 2, "custom_format": [2, 19], "ll": [2, 9, 11, 14, 16, 30], "set_opt": [2, 6, 8], "newopt": [2, 31], "updat": [2, 14, 15, 20, 22, 34, 39], "subtract_dict": 2, "subtract": 2, "numer": 2, "overlap": 2, "update_dict": [2, 11], "dict2": 2, "packag": [3, 7, 15, 19, 22, 34, 35, 36, 37, 39], "binarycdecod": 3, "object_hook": 3, "parse_float": 3, "parse_int": 3, "parse_const": 3, "strict": 3, "object_pairs_hook": 3, "jsondecod": 3, "decod": 3, "entri": [3, 19, 20], "binarycencod": 3, "skipkei": 3, "ensure_ascii": [3, 20, 30], "check_circular": 3, "allow_nan": 3, "sort_kei": [3, 30], "jsonencod": 3, "encod": [3, 15, 30], "o": [3, 19, 22, 31], "precis": 3, "json": [3, 7, 12, 15, 20, 21, 26, 30], "binaryc_json_seri": 3, "obj": [3, 19], "serialis": 3, "export": [3, 15, 19, 20, 22, 30, 39], "represent": [3, 15, 34], "themselv": [3, 31], "itself": [3, 6, 9, 12, 21, 22, 31, 39], "ensemble_compress": 3, "compress": [3, 30], "extens": [3, 7, 22, 23], "ensemble_file_typ": 3, "ensemble_set": 3, "parameter_nam": [3, 6, 7, 8, 11, 13, 14, 15, 19, 34], "extract_ensemble_json_from_str": 3, "binary_c_output": 3, "extract": [3, 15], "ensemble_json": 3, "raw": [3, 7, 18, 19, 20, 21, 24, 38, 40], "pars": [3, 4, 5, 6, 8, 12, 13, 14, 15, 18, 19, 20, 24, 38, 40], "format_ensemble_result": 3, "ensemble_dictionari": 3, "step": [3, 6, 8, 9, 12, 13, 14, 15, 24, 34, 37], "handle_ensemble_string_to_json": 3, "raw_output": 3, "deal": [3, 12], "creat": [3, 6, 8, 9, 12, 13, 14, 15, 19, 20, 27, 30, 31, 34, 36], "easi": [3, 12, 22, 39], "cl": 3, "load_ensembl": 3, "convert_float_kei": 3, "select_kei": 3, "flush": [3, 20, 30], "quiet": 3, "ensemebl": 3, "even": [3, 11, 14], "open_ensembl": 3, "utf": [3, 15, 30], "open": [3, 5, 12, 15, 18, 30], "read": [3, 4, 5, 12, 15, 18, 19, 21, 22, 30, 39], "decompress": 3, "explain": [4, 38], "repositori": [4, 22, 39], "last": [4, 18, 19, 31], "usecas": 4, "tutori": [4, 22, 39], "run_system_wrapp": [4, 5, 9, 17, 22, 23], "via": [4, 5, 6, 7, 9, 13, 14, 15, 20, 21, 24], "noteworthi": 4, "full": [4, 9, 16, 19, 21, 29, 36], "script": [4, 9, 19, 21, 22, 25, 29, 36, 39], "about": [4, 6, 8, 13, 14, 15, 19, 20, 21, 25, 30, 33, 42], "modif": 4, "binari": [4, 7, 8, 12, 14, 21, 22, 24, 31, 34, 39, 42], "notebook": [5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 22, 39], "log_fil": [5, 21], "bbh": 5, "summari": 5, "run_system": [5, 7, 9, 11, 12, 16, 17, 24, 40], "bhbh": 5, "There": [5, 6, 7, 9, 11, 12, 13, 14, 15, 16, 18, 20, 21, 22, 24, 31, 33, 39], "import": [5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 34], "os": [5, 6, 8, 12, 13, 14, 15, 16, 18, 19], "temp_dir": [5, 6, 8, 12, 14, 15, 16, 19], "tmp_dir": [5, 6, 8, 12, 14, 15, 16, 21, 34], "notebook_bhbh": 5, "txt": [5, 12, 15, 18, 22, 30, 39, 40], "60": [5, 30], "readout": 5, "m2": [5, 9, 12, 13, 15, 18, 30, 31, 42], "k1": [5, 12, 18], "k2": [5, 12, 18], "sep": [5, 8, 12, 13, 15, 18, 30, 31, 42], "ecc": [5, 12, 15, 18, 30, 31], "r1": [5, 12, 18], "rol1": [5, 12, 18], "r2": [5, 12, 18], "rol2": [5, 12, 18], "13868": 5, "random_count": [5, 12, 18], "0000": [5, 12, 18], "000": [5, 12, 18], "00": [5, 12, 15, 18], "6492": 5, "26": 5, "756": 5, "off_m": [5, 12, 18], "type_chng": [5, 12, 18], "6588": 5, "687": 5, "2135": 5, "972": 5, "5298": 5, "325": 5, "5700": 5, "903": 5, "randbuf": [5, 18], "14456": 5, "mer": 5, "415747": 5, "403489": 5, "273236": 5, "627902": 5, "92015": 5, "31213": 5, "gt": [5, 7, 9, 12, 13, 15, 17, 18], "vk": [5, 18], "223": 5, "39": [5, 6, 7, 8, 11, 12, 13, 14, 15, 17], "vr": [5, 18], "94523": 5, "phi": [5, 18], "470721": 5, "vn": [5, 18], "final": [5, 8, 14, 18], "runawai": [5, 18], "v": [5, 18, 22, 39], "155": 5, "054": [5, 31], "143": 5, "72": 5, "9341": 5, "max_tim": [5, 12, 18], "entir": [5, 9, 12, 17, 18], "wider": 5, "littl": [5, 6, 8, 13, 15, 16, 28], "40": [5, 14], "71985": 5, "3101": 5, "48": 5, "y": [5, 6, 16, 19, 20, 24, 25], "009": [5, 16], "beg_symb": 5, "3583": 5, "081": 5, "35": [5, 31], "930": 5, "3971": 5, "98": 5, "023": 5, "014": 5, "lock": [5, 30], "3928": [5, 18], "41": [5, 13], "632": 5, "894": 5, "3995": 5, "4219": 5, "27": [5, 14, 15], "615": 5, "603": 5, "5603": 5, "17": [5, 13, 14, 15, 18], "013": 5, "5403": 5, "157": 5, "151": 5, "5696": 5, "18": [5, 13, 18], "012": 5, "6475": 5, "763": [5, 31], "731": 5, "5791": 5, "19": [5, 15, 18], "010": 5, "011": 5, "6548": 5, "730": 5, "729": [5, 8], "5794": 5, "203": 5, "6550": 5, "728": 5, "225": 5, "inv": [5, 18], "6552": 5, "725": 5, "5795": 5, "246": 5, "6556": 5, "721": 5, "5796": 5, "282": 5, "6559": 5, "716": 5, "727": 5, "321": 5, "6571": 5, "691": 5, "724": [5, 9], "5798": 5, "546": 5, "021": 5, "6649": 5, "502": 5, "683": 5, "5812": 5, "548": 5, "543": 5, "2663": 5, "178": 5, "480": 5, "8828": 5, "57": 5, "460": 5, "end_symb": 5, "2670": 5, "171": 5, "458": 5, "8837": 5, "58": 5, "455": 5, "2733": 5, "111": 5, "272": 5, "8921": 5, "59": 5, "265": 5, "2801": 5, "033": 5, "166": 5, "8987": 5, "4925": 5, "910": 5, "995": 5, "11434": 5, "97": 5, "4989": 5, "850": 5, "942": [5, 13], "11516": 5, "5282": 5, "966": 5, "616": 5, "539": 5, "54990": 5, "431329": 5, "844304": 5, "737837": 5, "957392": 5, "745668": 5, "49451": 5, "76448": 5, "366": 5, "674": [5, 15], "5058": 5, "68517": 5, "15497": 5, "077": 5, "5393": 5, "16623": 5, "147": 5, "335": [5, 14], "088": 5, "214": 5, "68852": 5, "172227": 5, "112321": 5, "69127": 5, "5344": 5, "029": 5, "787956": 5, "497544": 5, "721903": 5, "10755": 5, "526": 5, "7893": 5, "410": [5, 18], "158": 5, "675756": 5, "459842": 5, "312": 5, "331": 5, "229": 5, "113": 5, "746": 5, "54865e": 5, "51": 5, "54769e": 5, "104": 5, "39903e": 5, "let": [5, 8, 12, 14, 15, 16, 20], "def": [5, 6, 8, 12, 13, 14, 15, 18], "detect_bhbh": 5, "logfil": [5, 12, 19, 22, 39], "log_file_lin": 5, "readlin": 5, "len": [5, 6, 12, 15, 18], "enough": [5, 31], "loop": [5, 6, 8, 12, 13, 14, 15, 30, 34], "stellar_type1": 5, "stellar_type2": 5, "rememb": [5, 6, 14], "pop": [5, 9, 16, 28], "return_dict": 5, "system_properti": 5, "log_file_cont": 5, "join": [5, 6, 7, 8, 9, 12, 13, 14, 15, 18, 21, 25], "oop": 5, "found": [5, 6, 8, 13, 14, 15, 29, 31, 36], "unbound": 5, "bound": [5, 31, 37], "search": [5, 6, 13, 16, 22], "search_for_bhbh": 5, "maxcount": 5, "No": [5, 6, 7, 8, 13, 14, 15, 21, 22, 39], "arg": [5, 7, 15, 19, 20, 28, 31, 32], "search_result": 5, "16379": 5, "17247": 5, "211": 5, "81114": 5, "159326": 5, "970141": 5, "340351": 5, "132638": 5, "502053": 5, "15449": 5, "825261": 5, "304595": 5, "5300": 5, "592": 5, "17209": 5, "210": [5, 18], "22992": 5, "391": 5, "584197": 5, "452365": 5, "0846357": 5, "848993": 5, "111944": 5, "44077": 5, "703362": 5, "772581": 5, "130746": 5, "5444": 5, "wide": [5, 14], "caus": [5, 13, 42], "former": 5, "unphys": [5, 8, 13], "3486": 5, "006": 5, "8674": 5, "840": 5, "505": 5, "3185": 5, "78": 5, "017": [5, 16], "8704": 5, "600": 5, "509": 5, "3192": 5, "393": 5, "418": 5, "8706": 5, "568": 5, "510": 5, "3193": 5, "81": [5, 6], "496": [5, 6], "8910": 5, "54": [5, 14], "758": [5, 18], "3246": 5, "beg_rch": 5, "9650": 5, "495": 5, "571": 5, "3223": 5, "29": 5, "913": [5, 13], "0585": 5, "24": 5, "961": [5, 13], "453": 5, "3211": 5, "65": [5, 6, 37], "999": 5, "007": [5, 16], "end_rch": 5, "0649": 5, "747": 5, "479": 5, "3216": 5, "67": [5, 15], "002": [5, 17, 18], "2699": 5, "22": [5, 14, 18], "235": [5, 6], "402": 5, "3331": 5, "32131": 5, "175268": 5, "383437": 5, "361343": 5, "457958": 5, "403947": 5, "2347": 5, "8374": 5, "64": [5, 13], "5055": 5, "53807": 5, "084183": 5, "10734e": 5, "2799": 5, "398": 5, "2946": 5, "392": [5, 18], "beg_bss": 5, "9074": 5, "49": [5, 13], "493": 5, "3373": 5, "end_bss": 5, "9113": 5, "243": 5, "3393": 5, "238": 5, "9192": 5, "236": [5, 18], "059": 5, "3447": 5, "9203": 5, "47": 5, "904": 5, "3454": 5, "69": 5, "9786": 5, "242": 5, "145": 5, "3893": 5, "83": 5, "0907": 5, "249": 5, "4523": 5, "296": 5, "1018": 5, "256": [5, 21], "583": 5, "4540": 5, "997": 5, "1137": 5, "232": 5, "4551": 5, "925": 5, "4596": 5, "101099": 5, "660012": 5, "331365": 5, "36634": 5, "576176": 5, "9248": 5, "0519": 5, "8488": 5, "62022": 5, "27061": 5, "58096e": 5, "3473": 5, "oh": 5, "dear": 5, "secondari": [5, 6, 13, 31, 42], "shorter": 5, "shrink": [5, 8], "best": [5, 20, 21], "acquir": 5, "closer": 5, "grvitation": 5, "0001": [5, 7, 42], "39800": 5, "005": 5, "8571": 5, "8600": 5, "096": 5, "0451": 5, "503": 5, "0491": 5, "561": 5, "0678": 5, "3099": 5, "0681": 5, "2094": 5, "56": 5, "978": 5, "022": 5, "2884": 5, "91": [5, 13], "672": [5, 13], "32438": 5, "qc": 5, "733417": 5, "st": 5, "9778": 5, "8207": 5, "1945": 5, "85": [5, 37], "rc": [5, 6, 8, 13, 14, 16, 24], "67126": 5, "0222": 5, "1192": 5, "comenv": [5, 8], "presc": 5, "m01": 5, "mc1": 5, "l1": 5, "14773e": 5, "rzam": [5, 42], "21541": 5, "convfrac": 5, "560301": 5, "lambda_ion": 5, "a_in": 5, "p_in": 5, "1793": 5, "89": [5, 15], "jtot_in": 5, "09752e": 5, "55": [5, 8, 13, 15, 31], "jorb_in": 5, "95297e": 5, "eorbi": 5, "31037e": 5, "ebindi": 5, "92616e": 5, "sepf": 5, "1221": 5, "1116": 5, "1193": 5, "7646": 5, "mf1": 5, "6094": 5, "mf2": 5, "af": 5, "jf": 5, "44174e": 5, "jej": 5, "82682e": 5, "eorbf": 5, "99926e": 5, "eej": 5, "89371e": 5, "alpha_ej": 5, "0273415": 5, "2095": 5, "821": 5, "122": 5, "647": 5, "092": 5, "793": 5, "mstart": 5, "407726": 5, "3102": 5, "62709": 5, "46857": 5, "a_out": 5, "p_out": 5, "00631839": 5, "30747": 5, "jorb_out": 5, "6543": 5, "rl1": 5, "099": 5, "rl2": 5, "792766": 5, "60828": 5, "gyr": [5, 6, 8], "61249": 5, "803": 5, "44": 5, "040": 5, "566": [5, 18], "32": [5, 19, 21], "457": 5, "79375": 5, "301545": 5, "0266946": 5, "404793": 5, "189909": 5, "0438563": 5, "126": 5, "248": 5, "275557": 5, "668975": 5, "421": 5, "918": 5, "5655": 5, "319412": 5, "506": 5, "521": 5, "8539": 5, "46": [5, 15], "629": 5, "9016": 5, "45": 5, "848": 5, "33": 5, "648": 5, "4816": 5, "633": 5, "954": 5, "5343": 5, "533": 5, "5348": 5, "5599": 5, "534": 5, "5604": 5, "5867": 5, "899": 5, "781": 5, "5875": 5, "5878": 5, "106": [5, 15], "5914": 5, "901": 5, "258": 5, "428": 5, "5916": 5, "804": 5, "873": 5, "461": 5, "28": [5, 7, 9, 12], "413": 5, "6245": 5, "808": 5, "245": 5, "7494": 5, "823": 5, "806": 5, "63": [5, 8, 13], "569": 5, "454": 5, "8032": 5, "830": [5, 18], "333": 5, "087": 5, "998": 5, "8033": 5, "990": 5, "8290": 5, "085": 5, "053": 5, "0403": 5, "050": 5, "0427": 5, "37": 5, "893": 5, "99": [5, 13], "552236": 5, "103282": 5, "393936": 5, "539534": 5, "864167": 5, "3329": 5, "0483": 5, "179": 5, "074": 5, "327": 5, "351": 5, "42972": 5, "0791504": 5, "8925": 5, "991187": 5, "66": [5, 8, 13], "5305": 5, "36": 5, "3905": 5, "82105": 5, "9857": 5, "7333": 5, "68": [5, 15], "5019": 5, "08275": 5, "77": 5, "3696": 5, "0742": 5, "1051": 5, "0146": 5, "contact": [5, 22, 39], "00319559": 5, "00262864": 5, "163": 5, "57683": 5, "0798097": 5, "bh_bh": 5, "1626": 5, "501459": 5, "154271": 5, "coalesc": 5, "r_": 5, "odot": [5, 6, 8, 18], "13312": 5, "7617": 5, "018": 5, "7647": 5, "572": 5, "7721": 5, "7785": 5, "3100": 5, "1326": 5, "52": 5, "305": 5, "695": 5, "2791": 5, "159": 5, "09665": 5, "714712": 5, "3048": 5, "0276": 5, "2332": 5, "71818": 5, "6952": 5, "9757": 5, "44223e": 5, "33552": 5, "467851": 5, "1708": 5, "09706e": 5, "96557e": 5, "76416e": 5, "30388e": 5, "7114": 5, "4385": 5, "9758": 5, "23": [5, 15], "8926": 5, "5423": 5, "72832e": 5, "63566e": 5, "39152e": 5, "03996e": 5, "0241634": 5, "1327": 5, "028": 5, "711": 5, "367": 5, "459": 5, "397754": 5, "3084": 5, "9071": 5, "46089": 5, "0152545": 5, "57093": 5, "6771": 5, "459382": 5, "9411": 5, "9452": 5, "215": 5, "508": 5, "76": [5, 13], "284": 5, "67260": 5, "643477": 5, "441321": 5, "365945": 5, "352254": 5, "0493316": 5, "2147": 5, "401": 5, "309959": 5, "299971": 5, "175": 5, "0005": 5, "759863": 5, "986": 5, "186": 5, "8186": 5, "301": 5, "55202": 5, "8609": 5, "46244": 5, "7292": 5, "322": 5, "3844": 5, "4261": 5, "09": 5, "8255": 5, "339": 5, "1375": 5, "026": 5, "1380": [5, 18], "7437": 5, "276": 5, "488": 5, "702": 5, "185": 5, "7464": 5, "110": 5, "815": 5, "7466": 5, "938": 5, "881": 5, "7479": 5, "466": 5, "188": 5, "114": 5, "7598": 5, "278": 5, "754": 5, "7691": 5, "279": 5, "231": 5, "697": 5, "7692": 5, "987": 5, "7854": 5, "696": 5, "061": 5, "9061": 5, "063": 5, "1521": 5, "1942": 5, "060": 5, "1949": 5, "936": 5, "534629": 5, "163092": 5, "907792": 5, "0909357": 5, "00121347": 5, "2315": 5, "7429": 5, "140": 5, "491": 5, "362": 5, "342": 5, "00762447": 5, "958149": 5, "304": 5, "115": [5, 31], "9359": 5, "295576": 5, "61": [5, 15], "understand": [5, 21], "mention": 5, "introduct": [5, 6], "nto": 5, "most": [5, 6, 7, 8, 14, 19, 22, 39], "next": [5, 14, 15, 19], "catch": [5, 6, 8, 12, 13, 14, 15, 18, 19, 21], "sever": [5, 11, 15, 18, 21, 24, 33, 40], "trend": 5, "math": [6, 8, 13, 14, 15, 16, 34, 37], "matplotlib": [6, 8, 14, 16, 18, 24], "pyplot": [6, 8, 14, 16, 18], "plt": [6, 8, 14, 16, 18], "notebook_hrd": 6, "our": [6, 8, 13, 14, 16, 21, 22, 31, 39], "mathrm": [6, 8, 13, 14], "univers": [6, 8, 21], "These": [6, 7, 14, 15, 19, 21, 24, 25], "rough": 6, "real": [6, 13, 15, 34], "finit": [6, 8, 13, 14], "ago": 6, "cannot": [6, 9, 15, 28, 30, 33], "geq": 6, "_": [6, 8, 13, 14, 21, 33], "through": [6, 7, 11, 12, 13, 14, 15, 22, 24, 25, 34, 39, 40], "studi": [6, 22, 39], "leq": 6, "binary_c_paramet": [6, 13, 14, 15], "bse_opt": [6, 13, 14, 15, 20, 37], "grid_opt": [6, 12, 13, 14, 15, 20, 25, 28, 29, 30, 34, 35, 36, 37], "custom_opt": [6, 12, 13, 14, 15, 20, 30], "physic": [6, 13, 14, 15, 21], "13700": [6, 8], "nine": 6, "massrang": [6, 8, 13, 14], "add_grid_vari": [6, 8, 13, 14, 15, 34], "longnam": [6, 8, 13, 14, 15, 34], "valuerang": [6, 8, 13, 14, 15, 34], "samplerfunc": [6, 8, 13, 14, 15, 21, 34, 37], "self": [6, 8, 12, 13, 14, 15, 20, 21, 25, 28, 29, 30, 31, 34, 36, 37, 38], "const_linear": [6, 8, 13, 14, 15, 34, 37], "min_mass": 6, "max_mass": 6, "res_mass": 6, "probdist": [6, 8, 13, 14, 15, 34], "dprob": [6, 8, 14], "dm1": [6, 14], "care": [6, 13, 14, 21], "dphasevol": [6, 8, 13, 14, 15, 34], "dm_1": [6, 14], "condit": [6, 8, 9, 13, 14, 15, 17, 18, 34], "impos": [6, 8, 13, 14, 15], "mostli": [6, 8, 13, 14, 15, 18, 19, 21, 24, 33, 40], "yourself": [6, 8, 13, 14, 15, 24], "gridtyp": [6, 15, 34], "asymptot": 6, "made": [6, 25], "bit": [6, 13], "messi": 6, "avoid": [6, 7, 8], "track": [6, 21, 24], "custom_logging_stat": [6, 8, 13, 14], "foreach_star": [6, 13], "outermost_core_mass": 6, "doubl": [6, 9, 15, 19], "logteff": 6, "teff_from_star_struct": 6, "logl": 6, "loggrav": 6, "tini": 6, "gravitational_const": 6, "m_sun": 6, "pow2": 6, "r_sun": 6, "starnum": [6, 13], "zero_ag": [6, 9, 12, 13, 14, 15], "c_logging_cod": [6, 8, 9, 12, 13, 14, 15, 21], "doesn": [6, 21], "associ": [6, 8, 13, 14, 29, 36], "datalinedict": [6, 8, 13, 14, 19], "parse_funct": [6, 8, 12, 13, 14, 15, 20, 21, 40], "zams_mass": [6, 13, 14, 15], "splitlin": [6, 7, 8, 9, 12, 13, 14, 15, 16], "nstar": [6, 13], "group": [6, 13, 16, 38], "linedata": [6, 8, 13, 14], "setup": [6, 15, 22, 39, 40], "grid_result": [6, 8, 13, 14, 21], "results_dictionari": [6, 8, 13, 14], "configur": [6, 11, 12, 13, 14, 15, 18, 21, 26, 31], "part": [6, 7, 12, 13, 14, 15, 18, 20, 29, 31, 34, 36, 42], "straightforward": [6, 13, 14, 15], "num_cor": [6, 8, 13, 14, 15, 21], "lot": [6, 13, 14, 15, 16, 21, 38, 40], "ri0005": [6, 15, 22, 39], "surrei": [6, 15, 22, 39], "ac": [6, 15, 22, 39], "uk": [6, 15, 22, 39], "grid_options_descript": [6, 15, 33], "thread": [6, 8, 13, 14, 19, 21, 32], "suffici": 6, "ensur": 6, "crunch": [6, 8, 13, 14], "analyt": [6, 8, 13, 14, 15, 20, 22, 23], "dry": [6, 8, 13, 14, 15, 21, 34], "starcount": [6, 8, 13, 14, 15], "subprocess": [6, 8, 13, 14, 15], "c98b63ab1b0346d9a1067fc08cb8dd00": 6, "finish": [6, 8, 13, 14, 15, 19, 24, 30], "took": [6, 8, 13, 14, 15, 18], "167": 6, "133": [6, 15], "mb": [6, 8, 13, 14, 15, 19, 21], "were": [6, 8, 13, 14, 15, 19, 38], "metadata": [6, 8, 13, 14, 15, 20, 22, 23, 34], "complet": [6, 8, 13, 14, 15], "technic": [6, 8, 9, 13, 14, 15], "seaborn": [6, 8, 13, 14, 16], "panda": [6, 8, 12, 13, 14, 16, 17, 18, 19, 24], "pd": [6, 8, 12, 13, 14, 16, 17, 18], "pad_output_distribut": [6, 8, 13, 14, 19], "max_row": [6, 8], "max_column": [6, 8], "figur": [6, 8, 13, 14, 16, 24], "figsiz": [6, 8, 13, 14, 16, 18], "set_context": [6, 8, 13, 14, 16], "font_scal": [6, 8, 13, 14, 16], "linewidth": [6, 8, 13, 14, 16], "datafram": [6, 8, 12, 13, 14, 16, 17, 18, 24], "column": [6, 8, 12, 15, 16, 18, 24], "p": [6, 8, 13, 14, 16, 31, 33], "lineplot": [6, 8, 13, 14, 16], "estim": [6, 16, 19, 21], "label": [6, 18, 31], "text": [6, 8, 16, 19, 33], "invert_xaxi": 6, "set_xlabel": [6, 8, 13, 14, 16, 18], "log_": [6, 8, 13, 14], "t_": 6, "eff": 6, "set_ylabel": [6, 8, 13, 14, 16, 18], "distanc": [6, 16], "rerun": [6, 21], "At": [6, 15], "expect": [6, 7, 8, 13, 14, 21, 22, 39], "begin": 6, "shortli": 6, "rsun": [6, 24], "8af9954e2cc847aa8ceabc618e3d147d": 6, "suddenli": 6, "smooth": [6, 14], "a34e3c842d96496c87ab0d70bdacac11": 6, "247": [6, 15], "824": 6, "jerki": 6, "strong": 6, "rgb": 6, "tip": [6, 31], "proper": [6, 9, 33], "program": [6, 22, 39], "languag": 6, "sim": 6, "750": 6, "cours": [6, 24], "simpl": [6, 8, 13, 16], "haven": 6, "talk": 6, "produc": 6, "suffer": 6, "thermonuclear": 6, "lumin": 6, "kilonova": 6, "interfac": [7, 16, 19, 22, 25, 39], "framework": [7, 22, 39], "sourcecod": [7, 9, 22, 39], "binary_c_python": [7, 12, 13, 14, 15, 19], "_binary_c_bind": [7, 9, 12, 16, 38, 42], "cell": [7, 14, 15], "free_persistent_data_memaddr_and_return_json_output": 7, "persistent_data": 7, "adress": [7, 9, 42], "persist": 7, "free_store_memaddr": 7, "memaddr": [7, 9], "return_arglin": 7, "return_help": 7, "info": [7, 11, 15, 19, 20, 22, 24, 38, 39], "return_help_al": [7, 19], "overview": 7, "categor": 7, "section": [7, 15, 19, 22, 31, 39], "return_maximum_mass_ratio_for_rlof": [7, 42], "argstr": [7, 9, 12, 16, 18], "store_capsul": 7, "unction": 7, "return_minimum_orbit_for_rlof": [7, 42], "return_persistent_data_memaddr": 7, "run_popul": 7, "return_store_memaddr": 7, "return_version_info": [7, 38], "abl": 7, "kind": 7, "situat": 7, "slightli": 7, "custom_logging_func_memaddr": [7, 9, 21], "store_memaddr": [7, 42], "write_logfil": 7, "test_func": 7, "snippet": [7, 12], "reliabl": 7, "dont": [7, 18], "home": 7, "pyenv": [7, 22, 39], "binarycpython3": 7, "lib": [7, 12, 17, 18, 22, 39], "python3": [7, 22, 39], "site": 7, "cpython": 7, "x86_64": 7, "linux": 7, "gnu": 7, "categori": [7, 15], "creation": 7, "alloc": [7, 37], "written": [7, 12, 15, 21, 22, 30, 33, 34, 39, 40], "4500": 7, "lt": [7, 12, 13, 15, 17], "0x7fc1f0c3ff00": 7, "single_star_lifetim": [7, 9, 12], "4838": [7, 9, 12], "unpars": 7, "abridg": [7, 9, 15], "algorithm": [7, 22], "__arg_begin": 7, "lastli": [7, 12], "00632092": 7, "0141": 7, "alter": [8, 13, 34], "intermedi": 8, "Not": 8, "notebook_comenv": 8, "alpha_": 8, "demonstr": 8, "keep": [8, 15, 30, 32], "log_dt": [8, 21], "progress": [8, 19], "focu": 8, "undergo": 8, "imposs": 8, "logperrang": [8, 13], "lnm1": [8, 13, 14, 15], "min": [8, 9, 13, 14, 15, 31], "precod": [8, 13, 14, 15, 34], "exp": [8, 13, 14, 15, 34], "three_part_powerlaw": [8, 13, 14, 15, 31], "150": [8, 13, 14, 15], "dlnm1": [8, 13, 15], "flatsect": [8, 13, 15, 31], "height": [8, 13, 15, 31], "dq": [8, 13, 15], "log10per": [8, 13, 15], "calc_sep_from_period": [8, 13, 15, 42], "sep_min": [8, 13, 15], "sep_max": [8, 13, 15], "sana12": [8, 13, 15, 31], "dlog10per": [8, 13, 15], "comenv_count": 8, "had": [8, 13, 14, 20], "proport": 8, "year_length_in_dai": 8, "wast": [8, 14], "evolution_stop": 8, "parse_data": 8, "bin_data": [8, 13, 14, 19], "binwidth": [8, 13, 14, 19], "pre_comenv_period": 8, "post_comenv_period": 8, "nearest": [8, 13, 14], "5dex": [8, 14], "binned_pre_period": 8, "aritif": 8, "binned_post_period": 8, "histogram": 8, "machin": [8, 19, 20, 21, 22, 39], "0645564": 8, "e7857f8149e949a286f9bfe35157f91f": 8, "minut": [8, 19], "668": 8, "594": 8, "population_id": [8, 13, 14, 15, 21], "evolution_typ": [8, 13, 14, 15, 21], "failed_count": [8, 13, 14, 15], "failed_prob": [8, 13, 14, 15], "failed_systems_error_cod": [8, 13, 14, 15], "errors_exceed": [8, 13, 14, 15], "errors_found": [8, 13, 14, 15], "total_prob": [8, 13, 14, 15], "06455639233064192": 8, "total_count": [8, 13, 14, 15], "start_timestamp": [8, 13, 14, 15], "1655558353": 8, "8189669": 8, "end_timestamp": [8, 13, 14, 15], "1655558379": 8, "477376": 8, "time_elaps": [8, 13, 14, 15, 27], "658409118652344": 8, "total_mass_run": [8, 13, 14, 15], "3410": 8, "9363465845586": 8, "total_probability_weighted_mass_run": [8, 13, 14, 15], "2260906041851175": 8, "zero_prob_stars_skip": [8, 13, 14, 15], "unmerg": 8, "deepcopi": 8, "logper": [8, 31], "90": 8, "del": 8, "pad": [8, 13, 14], "plot_data": [8, 13, 14], "from_dict": [8, 13, 14, 17, 18], "orient": 8, "p_": 8, "orb": [8, 15, 30], "peak": [8, 14, 37], "sim10": 8, "Such": 8, "prime": 8, "candid": 8, "excit": 8, "astrophys": [8, 14, 22, 39], "life": 8, "lambda_": 8, "smoother": [8, 14], "curv": [8, 14], "why": 8, "learn": [9, 21], "custom_logging_funct": [9, 12, 15, 17, 18, 21, 22, 23], "edit": 9, "log_every_timestep": [9, 12], "evolve_singl": [9, 12, 20], "publicli": 9, "elabor": 9, "advis": 9, "hardcod": [9, 13, 14, 15], "your": [9, 12, 17, 18, 21, 22, 39], "obvious": 9, "logging_lin": [9, 17, 18], "own": [9, 12, 15, 17, 18, 21, 22, 34, 39], "pragma": 9, "push_macro": 9, "undef": 9, "visibl": 9, "__attribute__": 9, "void": 9, "binary_c_api_funct": 9, "custom_output_funct": 9, "stardata_t": 9, "pop_macro": 9, "notebook_individual_system": [9, 12, 13, 14, 15], "2e": [9, 18], "example_logging_string_post_m": 9, "example_post_m": 9, "044142002936e": 9, "99194": 9, "13567": 9, "044572277695e": 9, "99192": 9, "51803": 9, "044654032097e": 9, "81395": 9, "045084306856e": 9, "99191": 9, "57443": 9, "manual": [9, 21, 22, 39], "custom_logging_memaddr": 9, "shared_lib_filenam": 9, "4530": [9, 12, 18], "example_logging_string_co": 9, "848380621869e": 9, "33469": 9, "1865": 9, "72498e": [9, 15], "338": 9, "example_massloss": [9, 12], "sn_type": 9, "sn_none": 9, "example_sn": 9, "id_cor": 9, "core_co": 9, "core_h": 9, "050651207308e": 9, "59452": 9, "34213": 9, "55458": 9, "71662": 9, "soon": [10, 37], "cover": [11, 14], "get_help": [11, 19], "get_help_al": [11, 19, 20], "get_help_sup": [11, 19], "get_default": [11, 19], "print_help": [11, 19], "parameter_value_input_typ": [11, 19], "fetch": [11, 12], "return_binary_c_version_info": [11, 20, 38], "version_info": [11, 20, 22, 23], "dict_kei": [11, 12], "argpair": [11, 38], "ensemble_filt": 11, "dt_limit": 11, "nucleosynthesis_sourc": [11, 38], "miscellan": [11, 38], "conjunct": 11, "analyz": 12, "quickli": 12, "simplest": 12, "notebook_custom_log": [12, 13, 14, 15], "path": [12, 15, 18, 19, 21, 22, 25, 28, 29, 30, 33, 36, 39], "uncom": [12, 13, 14, 15, 16], "docstr": [12, 24], "12461": 12, "test_logfil": 12, "22065": 12, "11003": 12, "1302": 12, "11582": 12, "2424": 12, "12325": 12, "1085": 12, "817": 12, "12457": 12, "1301": 12, "783": 12, "12460": 12, "8955": 12, "774": 12, "shrinkagb": 12, "1490": 12, "678": 12, "custom_log": [12, 18, 20, 21], "custom_logging_print_stat": 12, "000000000000e": 12, "column_nam": 12, "initial_mass": [12, 18], "value_lin": 12, "chose": 12, "startswith": 12, "split_lin": 12, "el": [12, 15], "numpi": [12, 15, 17, 18, 19, 34, 37], "arrai": [12, 15, 18, 19, 21, 31, 34, 37], "my": 12, "favorit": 12, "queri": [12, 25], "example_df": 12, "iloc": [12, 18], "drop": 12, "000001": 12, "000002": 12, "000003": 12, "1250": 12, "061259": 12, "718593": 12, "1251": 12, "149038": 12, "678026": 12, "1252": 12, "13461": 12, "1253": 12, "14461": 12, "1254": 12, "row": [12, 18, 24], "notebook_popul": [12, 13, 15], "everyth": [12, 15, 20, 21], "accordingli": [12, 14, 15], "example_pop": [12, 15], "stuff": [12, 15, 21], "libcustom_logging_34a350b8f15c4d149deab88632948c99": 12, "np": [12, 17, 18, 37], "object_parse_funct": 12, "output_fil": [12, 19, 30, 33], "output_dir": [12, 15, 30], "example_output": 12, "values_arrai": 12, "fill": [12, 19], "output_dict": [12, 13], "anywai": [12, 15, 31, 34], "written_data": 12, "0x7f35b603e9d0": 12, "previous": [12, 15, 25], "libcustom_logging_446fe4cddfa94946bcafd55591ef3730": 12, "under": [12, 37], "hood": 12, "fewer": 12, "failsaf": 12, "notebook_api_funct": 12, "9927": 12, "But": 12, "caught": [12, 19, 38], "correctli": [12, 18, 22, 39], "notebook_luminosity_funct": 13, "ipynb": [13, 14, 15], "conceptu": 13, "public": [13, 14, 15, 22, 39], "side": [13, 14, 15], "cube": 13, "nre": [13, 37], "07": [13, 14, 18, 31, 37], "document": [13, 14, 15, 21, 23, 30, 33], "recompil": [13, 14, 15, 22, 39], "somewhat": [13, 14, 15, 16], "purpos": [13, 14, 15, 21, 24], "perfectli": [13, 14], "strictli": [13, 14], "zero_age_main_sequence_starn": 13, "unresolv": 13, "model_numb": [13, 14], "capit": [13, 14], "zero_age_main_sequence_star": [13, 14], "amp": 13, "1dex": [13, 14], "binned_log_luminos": [13, 14], "0x7f777242c4c0": 13, "binary_c_grid_58bfc73fabfb43b18ae455666fe4d8f8": 13, "py": [13, 15, 21, 22, 28, 39], "dry_run": [13, 15], "symlink": [13, 15], "binary_c_grid": [13, 15], "latest0": 13, "3159": 13, "645748": 13, "996": 13, "processor": 13, "008": 13, "019": 13, "025": 13, "mainprocess": 13, "system_queue_fil": 13, "027": 13, "latest1": 13, "3145": 13, "0s": 13, "tpr": 13, "36e": 13, "etf": 13, "mem": 13, "584": 13, "7mb": 13, "7e": 13, "23146": 13, "6e": 13, "3147": 13, "37e": 13, "signal": [13, 21], "941": 13, "free": 13, "18t12": 13, "996087": 13, "948339": 13, "95": 13, "ran": [13, 21], "792": 13, "161354": 13, "018956": 13, "948532": 13, "93": 13, "791": 13, "158204": 13, "027113": 13, "949028": 13, "92": 13, "784": 13, "166051": 13, "queue": [13, 21, 25, 29], "007947": 13, "955484": 13, "160139": 13, "959": 13, "960": 13, "968": 13, "58bfc73fabfb43b18ae455666fe4d8f8": 13, "6457484448453049": 13, "1655552941": 13, "9314468": 13, "1655552946": 13, "3461084": 13, "414661645889282": 13, "65199": 13, "55913120549": 13, "6433998017038131": 13, "titl": [13, 33], "l_": [13, 14], "yscale": [13, 14, 16], "weirdli": 13, "cost": [13, 14], "observ": [13, 14], "later": [13, 14, 21], "notebook_luminos": 14, "synthesi": [14, 15, 21, 22, 39], "binarygrid": [14, 15], "predefin": [14, 15, 31], "assign": [14, 15, 34], "chosen": [14, 15, 34], "trio": [14, 15], "throughout": [14, 15, 34], "theoret": 14, "integr": [14, 31, 37], "densiti": [14, 31], "accur": 14, "_1": 14, "probtot": 14, "mmax": [14, 31, 37], "mmin": [14, 21, 31, 37], "6afcef10590f48f3b089a6e5bffc70c4": 14, "164": 14, "1655551739": 14, "2635226": 14, "1655551740": 14, "371832": 14, "108309268951416": 14, "3650000000002": 14, "035": 14, "ldist": 14, "implic": 14, "105": 14, "clearli": 14, "realist": 14, "went": 14, "wrong": [14, 22, 39], "unlik": 14, "realiti": 14, "law": [14, 31], "kroupa": [14, 31], "2001": [14, 31], "update_grid_vari": [14, 34], "211729": 14, "452bcf6eb93e4e2493019ec93ee250df": 14, "468": 14, "883": 14, "spiki": 14, "notic": 14, "poor": 14, "compens": 14, "intens": 14, "resourc": [14, 25], "smarter": 14, "linearli": [14, 37], "renam": [14, 34], "clear": [14, 38], "logarithm": [14, 31, 37], "old": [14, 21, 34], "lnm_1": [14, 15, 34], "rename_grid_vari": [14, 34], "dlnm": 14, "dlnm_1": [14, 15, 34], "_grid_vari": [14, 21, 34], "991317": 14, "ec5d853278c743a3acdb8ab290f641df": 14, "475": 14, "789": 14, "perfect": 14, "got": 14, "wiggl": 14, "artefact": 14, "monoton": 14, "brighten": 14, "narrow": 14, "co2": 14, "bar": 14, "isn": [14, 19], "challeng": 14, "sequnec": 14, "notebook_luminosity_function_binari": 14, "recogn": [15, 16], "__": 15, "45000000080": 15, "data_dir": [15, 19, 20, 21, 30], "example_python_population_result": 15, "base_filenam": [15, 20], "idea": [15, 24], "export_all_info": [15, 20], "include_popul": 15, "binary_c_default": 15, "commandlin": 15, "accept": [15, 19, 26], "include_binary_c_default": [15, 20], "include_binary_c_version_info": [15, 20], "include_binary_c_help_al": [15, 20], "fase": 15, "overriden": 15, "use_datadir": [15, 20], "outfil": [15, 20], "ok": [15, 25, 30], "example_pop_set": 15, "gz": [15, 30], "alreadi": [15, 16, 25, 30, 34], "ret": 15, "easier": [15, 18, 19, 20], "discret": 15, "unweight": 15, "notabl": 15, "moe": [15, 22, 25, 26, 31], "di": [15, 22, 26, 31], "stefano": [15, 22, 26, 31], "dataset": [15, 21, 25, 26], "further": 15, "down": 15, "population_extens": [15, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "gridcod": [15, 20, 22, 23], "centr": [15, 34], "branchpoint": [15, 34], "branchcod": [15, 34], "postcod": [15, 34], "topcod": [15, 34], "bottomcod": [15, 34], "dry_parallel": [15, 34], "deeper": [15, 34], "evalu": [15, 31, 34, 37, 42], "bewar": [15, 30, 34], "insert": [15, 34], "destruct": [15, 34], "piec": [15, 18, 34], "risk": [15, 34], "rest": [15, 31, 34], "correspond": [15, 20, 24, 29, 34, 36], "m_min": [15, 34], "m_max": [15, 31, 34], "room": [15, 34], "kroupa2001": [15, 31, 34], "met": [15, 20, 25, 34], "continu": [15, 29, 34, 36], "stepsiz": [15, 34], "parallel": [15, 34], "top": [15, 34], "block": [15, 34], "distribution_funct": [15, 20, 22, 23], "comment": [15, 25, 29, 36], "test_pop": 15, "Or": [15, 18], "example_compact_object": 15, "necessari": [15, 16, 18, 19, 20, 36], "makedir": [15, 19], "exist_ok": [15, 19], "seper": 15, "outfilenam": 15, "headerlin": 15, "isnt": 15, "valueerror": 15, "0x7f2b6ca163a0": 15, "grid_vari": [15, 21], "0443872": 15, "598268106227e": 15, "30592": 15, "75988": 15, "00193614": 15, "436983545111e": 15, "35842": 15, "9948": 15, "00144093": 15, "690157944401e": 15, "43124": 15, "7998": 15, "00107238": 15, "242397939068e": 15, "52416": 15, "3205": 15, "000798096": 15, "756794139032e": 15, "66914": 15, "7394": 15, "000593966": 15, "401414766976e": 15, "73729": 15, "2857": 15, "000442046": 15, "536373523810e": 15, "80677": 15, "000328983": 15, "393982410080e": 15, "82164": 15, "9844": 15, "000244839": 15, "396470605248e": 15, "82129": 15, "53": 15, "9508": 15, "000182216": 15, "399005684057e": 15, "82041": 15, "7151": 15, "00013561": 15, "443375325717e": 15, "81645": 15, "84": 15, "9909": 15, "000100925": 15, "451195752942e": 15, "81559": 15, "51114e": 15, "452661646076e": 15, "81543": 15, "59e": 15, "ce756bb317f64099a459bf8b55a746ac": 15, "73": 15, "293": 15, "406": 15, "044387171445641534": 15, "1646563001": 15, "7193637": 15, "1646563002": 15, "4480088": 15, "7286450862884521": 15, "649": 15, "905447944397": 15, "28133908148630704": 15, "write_binary_c_calls_to_fil": [15, 30], "dataio": [15, 20, 22, 23], "output_filenam": [15, 30], "include_default": [15, 30], "system_gener": [15, 30], "wouldn": [15, 30], "basic": [15, 30], "datadir": [15, 30], "binary_c_cal": [15, 30], "calls_filenam": 15, "binary_c_grid_ce756bb317f64099a459bf8b55a746ac": 15, "latest2": 15, "2406484012210224": 15, "22723621650191106": 15, "011394572976608001": 15, "812296769855663": 15, "22723621650191117": 15, "008480166685456411": 15, "5297876799548944": 15, "006311182276049824": 15, "430329401616038": 15, "004696962123378559": 15, "thats": 15, "evolve_popul": 15, "isfil": 15, "0fa4c2b8707741a5ab41d209ef95a3a4": 15, "299": 15, "531": 15, "regist": 15, "expand": [15, 20], "intend": 15, "mass_1": [15, 18, 24], "zams_mass_1": 15, "mass_2": [15, 18, 24], "zams_mass_2": 15, "prev_stellar_type_1": 15, "prev_stellar_type_2": 15, "example_dco": 15, "logger": 15, "safe": [15, 30], "0211592": 15, "0eb5c0c9abd34607a6ee060b26a7e32f": 15, "300": [15, 37], "378266748188e": 15, "66293": 15, "9713": 15, "78767": 15, "8178": 15, "000339963": 15, "817608462595e": 15, "82104": 15, "41436": 15, "000193036": 15, "422997711686e": 15, "82479": 15, "82171": 15, "2535": 15, "205711924468e": 15, "73765": 15, "solarsystem": 16, "central": 16, "notebook_solar_system": 16, "mmercuri": 16, "moreov": 16, "mercuri": 16, "1mmercuri": 16, "orbital_separ": 16, "1amercuri": 16, "star1": 16, "orbital_eccentr": 16, "206": 16, "venu": 16, "1mvenu": 16, "1avenu": 16, "earth": 16, "1mearth": 16, "1aearth": 16, "mar": 16, "1mmar": 16, "1amar": 16, "093": 16, "jupit": 16, "1mjupit": 16, "1ajupit": 16, "048": [16, 18], "saturn": 16, "1msaturn": 16, "1asaturn": 16, "056": 16, "uranu": 16, "1muranu": 16, "1auranu": 16, "047": 16, "neptun": 16, "1mneptun": 16, "1aneptun": 16, "pluto": 16, "1mpluto": 16, "1apluto": 16, "2444": 16, "244": 16, "planet": 16, "cs1": 16, "superflu": 16, "fourth": 16, "dtype": [16, 17, 18], "argh": 16, "sun": 16, "df": [16, 17, 18, 24], "ci": [16, 22, 39], "legend": [16, 18], "xx": 16, "head": 16, "loc": 16, "yy": 16, "au": 16, "swallow": 16, "although": 16, "mess": 16, "push": 16, "beyond": 16, "explor": 16, "vs": [16, 24], "ylim": 16, "toasti": 16, "distant": 16, "futur": 16, "example_parse_output": [17, 19], "100000000000": [17, 18], "float64": [17, 18], "logi": 17, "axessubplot": 17, "xlabel": 17, "server": 18, "hendrik": [18, 22, 39], "nov": 18, "binary_c_python_api": 18, "nbinary_c": 18, "example_header_1": 18, "st1": 18, "st2": 18, "3540": 18, "example_header_2": 18, "initial_grid": 18, "tempfil": 18, "gettempdir": 18, "test_log": 18, "7106": 18, "786e": 18, "7509": 18, "645": 18, "776": 18, "8427e": 18, "7773": 18, "639": 18, "775": 18, "8435e": 18, "748": 18, "9373e": 18, "0900": 18, "705": 18, "2934e": 18, "1204": 18, "726": 18, "700": 18, "3081e": 18, "2118": 18, "3702e": 18, "2646": 18, "472": 18, "462": 18, "34421": 18, "d48r": 18, "0570946": 18, "458272": 18, "13108": 18, "562029": 18, "924056": 18, "89211": 18, "78817": 18, "302": 18, "148": 18, "113492": 18, "80602": 18, "124379": 18, "2365": 18, "7087": 18, "7695": 18, "444": 18, "608402": 18, "696003": 18, "796455": 18, "0834973": 18, "85661": 18, "3914": 18, "156": 18, "524629": 18, "634667": 18, "func_memaddr": 18, "run_binary_custom_log": 18, "3e": 18, "serv": [18, 19], "parse_output": 18, "behind": 18, "scene": 18, "background": 18, "inlin": 18, "mind": 18, "result_example_header_1": 18, "selected_head": [18, 19], "result_example_header_2": 18, "cast": [18, 19], "df2": 18, "81762e": 18, "000000e": 18, "00000": 18, "817620e": 18, "3927": 18, "102750e": 18, "33817": 18, "62124": 18, "896110e": 18, "202750e": 18, "3929": 18, "302750e": 18, "3930": 18, "402750e": 18, "3931": 18, "500000e": 18, "3932": 18, "doesnt": [18, 33], "autogener": 18, "result_example_head": 18, "000000": 18, "3630": 18, "131680e": 18, "627748": 18, "3631": 18, "231680e": 18, "3632": 18, "331680e": 18, "3633": 18, "431680e": 18, "3634": 18, "3635": 18, "run_and_calc_mass": 18, "kwarg": [18, 20, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40], "2f": 18, "last_st": 18, "last_stellar_type_change_time_1": 18, "slice": 18, "sliced_df": 18, "cut": 18, "late": 18, "final_mass": 18, "initial_tim": 18, "final_tim": 18, "mass_lost": 18, "wrt": 18, "metallicity_002": 18, "metallicity_001": 18, "metallicity_0002": 18, "mass_rang": 18, "arang": 18, "fractions_z002": 18, "fractions_z001": 18, "fractions_z0002": 18, "214274644851685": 18, "ax": 18, "subplot": 18, "nrow": 18, "ncol": 18, "m_": 18, "fontsiz": 18, "set_titl": 18, "set_yscal": 18, "save_loop": 18, "mass_loss_m": 18, "png": 18, "ep": 18, "bbox_inch": 18, "tight": 18, "verbose_print": [19, 32], "iter": 19, "context": 19, "manag": [19, 22, 39], "__enter__": 19, "stdout": [19, 21, 37], "__exit__": 19, "releas": [19, 22, 39], "call_binary_c_config": 19, "catchtim": 19, "spent": 19, "clock": 19, "exc_typ": 19, "exc_val": 19, "exc_tb": 19, "measur": 19, "check_if_in_shel": 19, "command_string_from_list": 19, "quot": 19, "conv_time_unit": 19, "hour": 19, "magnitud": 19, "convert_byt": 19, "size": [19, 21, 28], "convfloat": 19, "scalar": 19, "create_arg_str": 19, "filter_valu": 19, "create_hdf5": 19, "hdf5": 19, "hdf5file": 19, "conveni": [19, 22, 39], "example_head": 19, "94": 19, "defaultdict": 19, "rethink": 19, "filter_arg_dict": 19, "format_numb": 19, "scientif": 19, "notat": 19, "trail": [19, 37], "get_ansi_colour": 19, "color": [19, 24], "get_arg_kei": 19, "sinc": [19, 24, 31], "param_nam": 19, "fail_sil": 19, "did": [19, 22, 39], "compon": [19, 24], "categoris": 19, "silent": 19, "get_siz": 19, "seen": 19, "github": [19, 30], "bosswissam": 19, "pysiz": 19, "get_usernam": 19, "usernam": 19, "spawn": 19, "hostnam": [19, 20], "is_capsul": 19, "tell": [19, 25], "isfloat": 19, "isint": 19, "load_logfil": 19, "make_build_text": 19, "mem_us": 19, "now_object": 19, "nospac": 19, "date": [19, 20, 21], "d_": 19, "output_lin": 19, "receiv": 19, "dist": 19, "quotewrap": 19, "remove_fil": 19, "child_dir": 19, "child": 19, "full_path": 19, "timedelta": 19, "delta": [19, 37], "length": 19, "trem": 19, "dn": [19, 31], "differenti": 19, "messag": [19, 20], "minimal_verbos": 19, "newlin": [19, 21, 30, 32], "charact": [19, 21, 30], "x0d": [19, 21], "carriag": [19, 21], "write_binary_c_parameter_descriptions_to_rst_fil": 19, "rst": [19, 33], "restructuredtext": 19, "save_snapshot": [20, 21, 30], "distinct": 20, "init": [20, 22, 39], "spread": 20, "privat": [20, 22], "nice": [20, 24], "unload": 20, "custom_logging_info": 20, "grid_cod": 20, "mixin": 20, "portal": 20, "decor": 20, "staticmethod": 20, "classmethod": 20, "realpython": 20, "static": 20, "demystifi": 20, "cach": [20, 21, 22, 23, 27, 33, 37], "grid_log": [20, 22, 23], "grid_options_default": [20, 22, 23, 28], "hpc": [20, 21, 22, 23, 29, 36], "moe_di_stefano_2017": [20, 22, 23], "spacing_funct": [20, 22, 23], "reus": 20, "_pre_run_setup": 20, "relev": 20, "clean_up_custom_logging_fil": 20, "stacktrac": 20, "sy": 20, "expand_args_by_hostnam": 20, "cmdline_arg": 20, "scan": 20, "host": [20, 22, 39], "include_population_set": 20, "all_info": 20, "flaw": 20, "rewrit": 20, "pl": 20, "population_set": 20, "return_population_set": 20, "_set": 20, "simulation_": 20, "jobid": [20, 21, 36], "job": [20, 21, 25, 29, 36], "id": [20, 21, 25, 29, 30, 31, 32, 36], "pid": 20, "hpc_jobid": [20, 25], "my_hostnam": 20, "parse_cmdlin": 20, "return_all_info": 20, "return_binary_c_default": 20, "was_kil": 20, "meant": 21, "c_auto_log": 21, "headlin": 21, "hpc_force_join": 21, "slurm": [21, 22, 23, 25], "condor": [21, 22, 23, 25], "hpc_rebuild_joinlist": [21, 25], "joinlist": [21, 25], "moe2017_opt": 21, "cache_dir": [21, 37], "combine_ensemble_with_thread_join": 21, "ensemble_output_": 21, "thread_id": 21, "command_lin": 21, "htcondor": 21, "launch": [21, 29, 36], "condor_clusterid": [21, 29], "clusterid": [21, 29], "condor_process": [21, 29], "jobarrayindex": [21, 36], "condor_bash": 21, "bash": 21, "submit": [21, 22], "node": 21, "condor_batchnam": 21, "batchnam": 21, "appear": 21, "condor_q": 21, "condor_d": 21, "usr": 21, "condor_dir": [21, 25, 29, 36], "nf": [21, 30], "condor_env": 21, "env": [21, 24], "condor_extra_set": 21, "te": 21, "batch": 21, "overwrit": [21, 25], "condor_getenv": 21, "environ": 21, "submiss": 21, "almost": 21, "certainli": 21, "condor_initial_dir": 21, "condor_kill_sig": 21, "sigint": 21, "condor_memori": 21, "images": 21, "condor_njob": 21, "condor_postpone_join": 21, "condor_postpone_submit": 21, "tool": 21, "condor_pwd": 21, "pwd": 21, "condor_requir": 21, "condor_should_transfer_fil": 21, "ye": 21, "condor_snapshot_on_kil": 21, "snapshot": [21, 25, 30], "sigkil": 21, "condor_stream_error": 21, "stream": 21, "condor_stream_output": 21, "condor_submit": 21, "condor_univers": 21, "vanilla": 21, "condor_warn_max_memori": 21, "condor_when_to_transfer_output": 21, "on_exit_or_evict": 21, "custom_gener": 21, "do_analyt": 21, "do_dry_run": 21, "dry_run_hook": 21, "hook": 21, "dry_run_num_cor": 21, "ensemble_factor_in_probability_weighted_mass": 21, "probability_weighted_mass": 21, "multiprocess": 21, "exit_after_dry_run": 21, "exit_cod": 21, "failed_systems_threshold": 21, "failed_system": 21, "function_cach": 21, "certain": [21, 22, 39], "function_cache_ttl": 21, "function_cache_default_maxs": 21, "maxsiz": 21, "function_cache_default_typ": 21, "lrucach": 21, "lfucach": 21, "fifocach": 21, "mrucach": 21, "rrcach": 21, "ttlcach": 21, "nullcach": [21, 28], "nocach": 21, "cachetool": [21, 28], "fo": 21, "dummi": [21, 24, 31], "overhead": 21, "function_cache_funct": [21, 28], "gridcode_filenam": 21, "log_arg": 21, "log_args_dir": 21, "log_failed_system": 21, "log_failed_systems_dir": 21, "log_newlin": 21, "log_runtime_system": 21, "plan": 21, "max_queue_s": 21, "feed": 21, "modulo": 21, "multiplicity_fraction_funct": 21, "aren": [21, 31], "rhagavan": 21, "n_logging_stat": 21, "num_cores_avail": 21, "original_command_lin": 21, "original_submission_tim": 21, "original_working_diretori": 21, "Its": 21, "print_stack_on_exit": 21, "stack": 21, "trace": 21, "restore_from_snapshot_dir": 21, "restore_from_snapshot_fil": [21, 25], "return_after_dry_run": 21, "run_zero_probability_system": 21, "rungrid": 21, "save_ensemble_chunk": 21, "save_population_object": [21, 30], "skip_befor": 21, "slurm_arrai": 21, "slurm_array_max_job": 21, "concurr": 21, "slurm_bash": 21, "slurm_dat": 21, "slurm_dir": [21, 25, 29, 36], "slurm_env": 21, "slurm_extra_set": 21, "slurm_jobarrayindex": [21, 36], "slurm_jobid": [21, 36], "slurm_jobnam": 21, "slurm_memori": 21, "megabyt": 21, "512mb": 21, "slurm_njob": 21, "slurm_ntask": 21, "slurm_partit": 21, "partit": 21, "local": [21, 31], "sview": 21, "slurm_postpone_join": 21, "slurm_postpone_sbatch": 21, "sbatch": 21, "slurm_pwd": 21, "slurm_sbatch": 21, "slurm_tim": 21, "slurm_warn_max_memori": 21, "excess": 21, "mistak": 21, "1024mb": 21, "source_file_filenam": 21, "start_at": 21, "status_dir": 21, "stop_queu": 21, "symlink_latest_gridcod": 21, "diagnost": 21, "_repeat": 21, "reduct": 21, "working_diretori": 21, "multiplicity_model": 21, "log10m1": 21, "poisson": [21, 31], "map": 21, "quad": 21, "NO": 21, "multiplicity_modul": 21, "normalize_multipl": 21, "norm": 21, "b": [21, 30], "whichev": 21, "stick": 21, "predict": 21, "repres": 21, "canon": 21, "nonzero": 21, "q_high_extrapolation_method": 21, "q_low_extrapolation_method": 21, "extrapol": [21, 31], "flat": [21, 31], "linear2": 21, "plaw2": 21, "nolowq": 21, "_moe2017_json_data": 21, "distefano2017": 21, "_actually_evolve_system": 21, "_process_run_population_grid": 21, "_binary_c_config_execut": 21, "_binary_c_dir": 21, "director": 21, "_binary_c_execut": 21, "_binary_c_shared_librari": 21, "libbinary_c": 21, "_commandline_input": 21, "_count": 21, "counter": 21, "_custom_logging_shared_library_fil": 21, "_end_time_evolut": 21, "timestamp": [21, 27], "_errors_exceed": 21, "failed_system_log": 21, "_errors_found": 21, "encount": [21, 22, 39], "_evolution_type_opt": 21, "_failed_count": 21, "_failed_prob": 21, "_failed_systems_error_cod": 21, "_generate_grid_cod": 21, "_kill": 21, "_loaded_moe2017_data": 21, "_main_pid": 21, "master": [21, 22, 24, 39], "_population_id": 21, "char": 21, "hex": 21, "_probtot": 21, "_queue_don": 21, "_set_moe2017_grid": 21, "_start_time_evolut": 21, "_store_memaddr": 21, "_system_gener": 21, "_total_mass_run": 21, "_total_probability_weighted_mass_run": 21, "_total_starcount": 21, "_zero_prob_stars_skip": 21, "aim": [22, 39], "jeff": [22, 39], "andrew": [22, 39], "robert": [22, 39], "student": [22, 39], "scientist": [22, 39], "who": [22, 39], "onlin": [22, 39], "older": [22, 39], "guarante": [22, 39], "development_0": [22, 39], "meet": [22, 39], "least": [22, 39], "eol": [22, 39], "root": [22, 39], "ld_library_path": [22, 39], "libgsl": [22, 39], "libmemo": [22, 39], "librinterpol": [22, 39], "library_path": [22, 39], "gsl_dir": [22, 39], "gsl": [22, 39], "dir": [22, 29, 39], "binary_c2": [22, 39], "latest": [22, 39], "virtual": [22, 39], "sh": [22, 39], "suit": [22, 39], "pythonpath": [22, 39], "download": [22, 39], "clone": [22, 39], "gitlab": [22, 39], "whenev": [22, 39], "reinstal": [22, 39], "virtualenviron": [22, 39], "person": [22, 39], "ph": [22, 39], "recent": [22, 39], "runner": [22, 39], "yml": [22, 39], "contribut": [22, 39], "development_requir": [22, 39], "hesit": [22, 39], "discuss": [22, 39], "generate_doc": [22, 39], "generate_report": [22, 39], "main_with_notebook": [22, 39], "test_notebook": [22, 39], "ve": [22, 27, 39], "dhendrik": [22, 39], "paper_joss_binarycpython": [22, 39], "submodul": [22, 39], "initialis": [22, 39], "exhaust": [22, 39], "solut": [22, 39], "mesa": [22, 39], "mesasdk_root": [22, 39], "mesasdk_init": [22, 39], "interfer": [22, 39], "throw": [22, 39], "unrecogn": [22, 39], "ftz": [22, 39], "flto": [22, 39], "due": [22, 39], "cflag": [22, 39], "avaibl": [22, 39], "1ckzg0p9": [22, 39], "egg": [22, 39], "pkg": [22, 39], "filenotfounderror": [22, 39], "errno": [22, 39], "jupyt": [22, 39], "seem": [22, 24, 33, 39], "everytim": [22, 39], "rebuilt": [22, 39], "plot_funct": [22, 23], "useful_func": [22, 23], "nucsyn": 22, "misc": 22, "sampler": 22, "visit": 22, "plot_system": 24, "loos": 24, "admittedli": 24, "customis": 24, "regardless": 24, "color_by_index": 24, "placehold": [24, 28, 29, 30], "parse_function_hr_diagram": 24, "hr": 24, "parse_function_mass": 24, "parse_function_orbit": 24, "plot_hr_diagram": 24, "show_stellar_typ": 24, "show_plot": 24, "use_astropy_valu": 24, "plot_hr_diagram_singl": 24, "radius_1": 24, "radius_2": 24, "luminosity_1": 24, "luminosity_2": 24, "teff_1": 24, "teff_2": 24, "hd": 24, "astropi": 24, "stefan": 24, "boltzman": 24, "plot_mass": 24, "pms_mass_1": 24, "pms_mass_2": 24, "quantiti": 24, "pm": 24, "mayb": 24, "plot_orbit": 24, "plot_typ": 24, "preset": 24, "mass_evolut": 24, "orbit_evolut": 24, "hr_diagram": 24, "keyword": [24, 40], "against": 24, "pick": 24, "pane": 24, "distefano": [25, 26, 31], "hpc_can_join": 25, "joinfil": 25, "joiningfil": 25, "vb": [25, 28, 30, 37], "hpc_check_requir": 25, "hpc_dir": 25, "hpc_dump_statu": 25, "hpc_get_statu": 25, "job_id": 25, "job_index": 25, "hpc_grid": 25, "makejoiningfil": 25, "hpc_task": 25, "exclud": 25, "hpc_id_filenam": 25, "hpc_id_from_dir": 25, "hpc_job": 25, "hpc_jobid_tupl": 25, "hpc_job_id_rang": 25, "hpc_job_task": 25, "hpc_job_typ": 25, "hpc_join_from_fil": 25, "newobj": 25, "hpc_join_previ": 25, "hpc_joinlist": 25, "hpc_load_joinfiles_list": 25, "hpc_make_joiningfil": 25, "error_on_overwrit": 25, "hpc_njob": 25, "error_on_overwit": 25, "issu": 25, "hpc_path": 25, "hpc_queue_stat": 25, "stat": 25, "hpc_restor": 25, "restor": 25, "_restart_dir": 25, "stage": 25, "hpc_set_statu": 25, "hpc_snapshot_filenam": 25, "hpc_statu": 25, "hpc_touch": 25, "touch": [25, 30], "distrefano": 26, "interpol": [26, 31, 37], "get_moe_di_stefano_2017_default_opt": 26, "get_moe_di_stefano_2017_default_options_descript": 26, "get_moe_di_stefano_dataset": 26, "set_moe_di_stefano_set": 26, "cpu_tim": 27, "make_analytics_dict": 27, "set_tim": 27, "elaps": 27, "lru": 28, "lru_": 28, "__delitem__": 28, "delet": [28, 34], "getter": 28, "__setitem__": 28, "setter": 28, "popitem": 28, "default_cache_dir": [28, 33], "setup_function_cach": 28, "cachetyp": 28, "function_cache_s": 28, "func": 28, "test_cach": 28, "replac": 29, "condorid": 29, "condor_check_requir": 29, "condor_grid": 29, "being": [29, 36], "condor_outfil": 29, "chunk": [29, 36], "condor_queue_stat": 29, "condor_status_fil": 29, "condorpath": 29, "get_condor_statu": 29, "correspon": [29, 36], "make_condor_dir": 29, "set_condor_statu": 29, "held": [29, 36], "io": 30, "nfs_flush_hack": 30, "opendir": 30, "closedir": 30, "complaint": 30, "unclos": 30, "scandir": 30, "nfspath": 30, "mount": 30, "compression_typ": 30, "dir_ok": 30, "load_population_object": 30, "load_snapshot": 30, "preloaded_popul": 30, "locked_clos": 30, "partner": 30, "locked_open_for_writ": 30, "unlock": 30, "lock_suffix": 30, "lock_timeout": 30, "lock_lifetim": 30, "exists_ok": 30, "fatal_open_error": 30, "mode": 30, "lockfil": 30, "flufl": 30, "file_object": 30, "lock_object": 30, "merge_popul": 30, "refpop": 30, "newpop": 30, "merge_populations_from_fil": 30, "closefd": 30, "compresslevel": 30, "population_object": 30, "confirm": 30, "gzip": 30, "pickl": 30, "compress_pickl": 30, "lucianopaz": 30, "shared_memori": 30, "set_statu": 30, "format_stat": 30, "process_": 30, "snapshot_filenam": 30, "wait_for_unlock": 30, "wait": 30, "write_ensembl": 30, "recognis": 30, "bz2": 30, "msgpack": 30, "support": 30, "grid_ensemble_result": [30, 35], "stackoverflow": 31, "28060251": 31, "hi": 31, "gonna": 31, "mathieu": 31, "sfh": 31, "redshift": 31, "arenou2010_binary_fract": 31, "c2": 31, "sp": 31, "opm": 31, "fa": 31, "rssd": 31, "esa": 31, "doc_fetch": 31, "php": 31, "2969346": 31, "izzard2012_period_distribut": 31, "log10pmin": 31, "duquennoi": 31, "mayor": 31, "1991": 31, "spectral": 31, "15msun": 31, "sana": 31, "3msun": 31, "dlogp": 31, "raghavan": 31, "gaussian": [31, 37], "log10p": 31, "logp": 31, "m0": 31, "p1": 31, "p2": 31, "p3": 31, "moe_di_stefano_2017_multiplicity_fract": 31, "6e1": 31, "moe_di_stefano_2017_pdf": 31, "m3": 31, "m4": 31, "ecc2": 31, "ecc3": 31, "80": [31, 37], "build_q_tabl": 31, "independ": 31, "q_min": 31, "renormalis": 31, "lowest": 31, "qmin": 31, "goal": 31, "boundari": 31, "calc_p_integr": 31, "min_logp": 31, "max_logp": 31, "integrals_str": 31, "interpolator_nam": 31, "mass_str": 31, "min_per": 31, "calc_e_integr": 31, "period_str": 31, "calc_total_probden": 31, "prob_dict": 31, "calculate_constants_three_part_powerlaw": 31, "law_const": 31, "slope": 31, "const_distribut": 31, "min_bound": [31, 37], "max_bound": [31, 37], "val": 31, "cosmic_sfh_madau_dickinson2014": 31, "cosmic": 31, "madau": 31, "dickonson": 31, "1403": 31, "0007": 31, "mega": 31, "parsec": 31, "duquennoy1991": 31, "fill_data": 31, "sample_valu": 31, "data_dict": 31, "logmass": [31, 37], "logperiod": 31, "dstep": 31, "uniform": 31, "sigma": [31, 37], "gmin": 31, "gmax": 31, "deviat": [31, 37], "gaussian_func": 31, "gaussian_normalizing_const": 31, "get_integration_constant_q": 31, "q_interpol": 31, "tmp_tabl": 31, "qdata": 31, "get_max_multipl": 31, "multiplicity_arrai": 31, "imf_chabrier2003": 31, "chabrier": 31, "pasp": 31, "795": 31, "imf_scalo1986": 31, "scalo": 31, "80msol": 31, "70": 31, "imf_scalo1998": 31, "imf_tinsley1980": 31, "tinslei": 31, "1980": 31, "interpolate_in_mass_izzard2012": 31, "ktg93": 31, "linear_extrapolation_q": 31, "qs": 31, "qlimit": 31, "end_index": 31, "merge_multipl": 31, "result_arrai": 31, "max_multipl": 31, "fold": 31, "lambda_v": 31, "nmax": 31, "improv": [31, 37], "powerlaw": 31, "min_val": 31, "max_val": 31, "powerlaw_const": 31, "powerlaw_constant_nocach": 31, "powerlaw_extrapolation_q": 31, "raghavan2010_binary_fract": 31, "zsolar": 31, "long_spectral_typ": 31, "jaschek": 31, "amin": 31, "amax": 31, "x0": 31, "x1": 31, "ln": 31, "dp": 31, "p0": 31, "generalis": 31, "vb1print": 32, "system_numb": 32, "system_dict": 32, "ey": 32, "unix": 32, "epoch": 32, "vb2print": 32, "cmdline_str": 32, "grid_options_defaults_dict": 33, "grid_options_help": 33, "grid_options_description_check": 33, "write_grid_options_to_rst_fil": 33, "With": 33, "hack": 33, "reconsid": 33, "unnecessari": 33, "get_grid_options_defaults_dict": 33, "get_grid_options_descript": 33, "print_info": 33, "undescrib": 33, "And": [33, 42], "print_option_descript": 33, "filehandl": 33, "extra_text": 33, "delete_grid_vari": 34, "oldnam": 34, "newnam": 34, "grid_variable_numb": 34, "add_ensemble_metadata": 35, "combined_output_dict": 35, "add_system_metadata": 35, "get_slurm_statu": 36, "make_slurm_dir": 36, "set_slurm_statu": 36, "slurmid": 36, "slurm_check_requir": 36, "slurm_grid": 36, "slurm_outfil": 36, "slurm_queue_stat": 36, "xxx": 36, "slurm_status_fil": 36, "slurmpath": 36, "const_dt": 37, "cachedir": 37, "usecach": 37, "logspac": 37, "dlogt": 37, "tmin": 37, "tmax": 37, "mindm": 37, "1msun": 37, "0msun": 37, "comma": 37, "thu": 37, "maxdm": 37, "similar": 37, "fsampl": 37, "shannon": 37, "showtabl": 37, "showlist": 37, "log10mass": 37, "const_dt_cach": 37, "add_grid_valu": 37, "1gyr": 37, "suitabl": 37, "const_int": 37, "segment": 37, "linspac": 37, "const_rang": 37, "gaussian_zoom": 37, "zoom_mean": 37, "zoom_dispers": 37, "zoom_magnitud": 37, "depth": 37, "zoom_magntiud": 37, "peak_normalized_gaussian_func": 37, "hardli": 38, "minimum_stellar_mass": 38, "parse_binary_c_version_info": 38, "version_info_str": 38, "atom": 38, "dtlimit": 38, "git_branch": 38, "git_build": 38, "email": 38, "analys": 40, "example_log": 40, "fancy_parsing_funct": 40, "notifi": 40, "unknown": 40, "centralis": 40, "abstract": 40, "stellar_type_dict": 41, "stellar_type_dict_short": 41, "abbrevi": 41, "collect": 42, "binary_star": 42, "calc_period_from_sep": 42, "invers": 42, "zams_collis": 42, "collid": 42, "roche_lob": 42, "ragb": 42, "minimum_period_for_rlof": 42, "minimum_separation_for_rlof": 42, "maximum_mass_ratio_for_rlof": 42, "upon": 42, "r_l": 42, "1983": 42, "mass_accretor": 42, "mass_donor": 42, "rochelob": 42, "vice": 42, "versa": 42, "1996": 42, "mnra": 42, "281": 42, "257": 42, "pericent": 42}, "objects": {"binarycpython.utils": [[1, 0, 0, "-", "custom_logging_functions"], [2, 0, 0, "-", "dicts"], [3, 0, 0, "-", "ensemble"], [19, 0, 0, "-", "functions"], [20, 0, 0, "-", "grid"], [24, 0, 0, "-", "plot_functions"], [40, 0, 0, "-", "run_system_wrapper"], [41, 0, 0, "-", "stellar_types"], [42, 0, 0, "-", "useful_funcs"]], "binarycpython.utils.custom_logging_functions": [[1, 1, 1, "", "autogen_C_logging_code"], [1, 1, 1, "", "binary_c_log_code"], [1, 1, 1, "", "binary_c_write_log_code"], [1, 1, 1, "", "compile_shared_lib"], [1, 1, 1, "", "create_and_load_logging_function"], [1, 1, 1, "", "from_binary_c_config"], [1, 1, 1, "", "return_compilation_dict"]], "binarycpython.utils.dicts": [[2, 2, 1, "", "AutoVivificationDict"], [2, 1, 1, "", "count_keys_recursive"], [2, 1, 1, "", "custom_sort_dict"], [2, 1, 1, "", "filter_dict"], [2, 1, 1, "", "filter_dict_through_values"], [2, 1, 1, "", "inspect_dict"], [2, 1, 1, "", "keys_to_floats"], [2, 1, 1, "", "merge_dicts"], [2, 1, 1, "", "multiply_float_values"], [2, 1, 1, "", "multiply_values_dict"], [2, 1, 1, "", "normalize_dict"], [2, 1, 1, "", "prepare_dict"], [2, 1, 1, "", "recursive_change_key_to_float"], [2, 1, 1, "", "recursive_change_key_to_string"], [2, 1, 1, "", "set_opts"], [2, 1, 1, "", "subtract_dicts"], [2, 1, 1, "", "update_dicts"]], "binarycpython.utils.dicts.AutoVivificationDict": [[2, 3, 1, "", "__getitem__"], [2, 3, 1, "", "__iadd__"]], "binarycpython.utils.ensemble": [[3, 2, 1, "", "BinarycDecoder"], [3, 2, 1, "", "BinarycEncoder"], [3, 1, 1, "", "binaryc_json_serializer"], [3, 1, 1, "", "ensemble_compression"], [3, 1, 1, "", "ensemble_file_type"], [3, 1, 1, "", "ensemble_setting"], [3, 1, 1, "", "extract_ensemble_json_from_string"], [3, 1, 1, "", "format_ensemble_results"], [3, 1, 1, "", "handle_ensemble_string_to_json"], [3, 1, 1, "", "load_ensemble"], [3, 1, 1, "", "open_ensemble"]], "binarycpython.utils.ensemble.BinarycDecoder": [[3, 3, 1, "", "decode"]], "binarycpython.utils.ensemble.BinarycEncoder": [[3, 3, 1, "", "default"]], "binarycpython.utils.functions": [[19, 2, 1, "", "Capturing"], [19, 1, 1, "", "bin_data"], [19, 1, 1, "", "call_binary_c_config"], [19, 2, 1, "", "catchtime"], [19, 1, 1, "", "check_if_in_shell"], [19, 1, 1, "", "command_string_from_list"], [19, 1, 1, "", "conv_time_units"], [19, 1, 1, "", "convert_bytes"], [19, 1, 1, "", "convfloat"], [19, 1, 1, "", "create_arg_string"], [19, 1, 1, "", "create_hdf5"], [19, 1, 1, "", "datalinedict"], [19, 1, 1, "", "example_parse_output"], [19, 1, 1, "", "filter_arg_dict"], [19, 1, 1, "", "format_number"], [19, 1, 1, "", "get_ANSI_colours"], [19, 1, 1, "", "get_arg_keys"], [19, 1, 1, "", "get_defaults"], [19, 1, 1, "", "get_help"], [19, 1, 1, "", "get_help_all"], [19, 1, 1, "", "get_help_super"], [19, 1, 1, "", "get_size"], [19, 1, 1, "", "get_username"], [19, 1, 1, "", "hostnames"], [19, 1, 1, "", "imports"], [19, 1, 1, "", "is_capsule"], [19, 1, 1, "", "isfloat"], [19, 1, 1, "", "isint"], [19, 1, 1, "", "load_logfile"], [19, 1, 1, "", "make_build_text"], [19, 1, 1, "", "mem_use"], [19, 1, 1, "", "now"], [19, 1, 1, "", "output_lines"], [19, 1, 1, "", "pad_output_distribution"], [19, 1, 1, "", "quotewrap"], [19, 1, 1, "", "remove_file"], [19, 1, 1, "", "temp_dir"], [19, 1, 1, "", "timedelta"], [19, 1, 1, "", "trem"], [19, 1, 1, "", "verbose_print"], [19, 1, 1, "", "write_binary_c_parameter_descriptions_to_rst_file"]], "binarycpython.utils.functions.Capturing": [[19, 3, 1, "", "__enter__"], [19, 3, 1, "", "__exit__"]], "binarycpython.utils.functions.catchtime": [[19, 3, 1, "", "__enter__"], [19, 3, 1, "", "__exit__"]], "binarycpython.utils.grid": [[20, 2, 1, "", "Population"]], "binarycpython.utils.grid.Population": [[20, 3, 1, "", "clean"], [20, 3, 1, "", "evolve"], [20, 3, 1, "", "evolve_single"], [20, 3, 1, "", "exit"], [20, 3, 1, "", "expand_args_by_hostname"], [20, 3, 1, "", "export_all_info"], [20, 3, 1, "", "jobID"], [20, 3, 1, "", "my_hostnames"], [20, 3, 1, "", "parse_cmdline"], [20, 3, 1, "", "return_all_info"], [20, 3, 1, "", "return_binary_c_defaults"], [20, 3, 1, "", "return_population_settings"], [20, 3, 1, "", "set"], [20, 3, 1, "", "was_killed"]], "binarycpython.utils.plot_functions": [[24, 1, 1, "", "color_by_index"], [24, 1, 1, "", "dummy"], [24, 1, 1, "", "parse_function_hr_diagram"], [24, 1, 1, "", "parse_function_masses"], [24, 1, 1, "", "parse_function_orbit"], [24, 1, 1, "", "plot_HR_diagram"], [24, 1, 1, "", "plot_masses"], [24, 1, 1, "", "plot_orbit"], [24, 1, 1, "", "plot_system"]], "binarycpython.utils.population_extensions": [[25, 0, 0, "-", "HPC"], [26, 0, 0, "-", "Moe_di_Stefano_2017"], [27, 0, 0, "-", "analytics"], [28, 0, 0, "-", "cache"], [29, 0, 0, "-", "condor"], [30, 0, 0, "-", "dataIO"], [31, 0, 0, "-", "distribution_functions"], [32, 0, 0, "-", "grid_logging"], [33, 0, 0, "-", "grid_options_defaults"], [34, 0, 0, "-", "gridcode"], [35, 0, 0, "-", "metadata"], [36, 0, 0, "-", "slurm"], [37, 0, 0, "-", "spacing_functions"], [38, 0, 0, "-", "version_info"]], "binarycpython.utils.population_extensions.HPC": [[25, 2, 1, "", "HPC"]], "binarycpython.utils.population_extensions.HPC.HPC": [[25, 3, 1, "", "HPC_can_join"], [25, 3, 1, "", "HPC_check_requirements"], [25, 3, 1, "", "HPC_dir"], [25, 3, 1, "", "HPC_dirs"], [25, 3, 1, "", "HPC_dump_status"], [25, 3, 1, "", "HPC_get_status"], [25, 3, 1, "", "HPC_grid"], [25, 3, 1, "", "HPC_id_filename"], [25, 3, 1, "", "HPC_id_from_dir"], [25, 3, 1, "", "HPC_job"], [25, 3, 1, "", "HPC_jobID"], [25, 3, 1, "", "HPC_jobID_tuple"], [25, 3, 1, "", "HPC_job_id_range"], [25, 3, 1, "", "HPC_job_task"], [25, 3, 1, "", "HPC_job_type"], [25, 3, 1, "", "HPC_join_from_files"], [25, 3, 1, "", "HPC_join_previous"], [25, 3, 1, "", "HPC_joinlist"], [25, 3, 1, "", "HPC_load_joinfiles_list"], [25, 3, 1, "", "HPC_make_joiningfile"], [25, 3, 1, "", "HPC_njobs"], [25, 3, 1, "", "HPC_path"], [25, 3, 1, "", "HPC_queue_stats"], [25, 3, 1, "", "HPC_restore"], [25, 3, 1, "", "HPC_set_status"], [25, 3, 1, "", "HPC_snapshot_filename"], [25, 3, 1, "", "HPC_status"], [25, 3, 1, "", "HPC_touch"]], "binarycpython.utils.population_extensions.Moe_di_Stefano_2017": [[26, 2, 1, "", "Moe_di_Stefano_2017"]], "binarycpython.utils.population_extensions.Moe_di_Stefano_2017.Moe_di_Stefano_2017": [[26, 3, 1, "", "Moe_di_Stefano_2017"], [26, 3, 1, "", "get_Moe_di_Stefano_2017_default_options"], [26, 3, 1, "", "get_Moe_di_Stefano_2017_default_options_description"], [26, 3, 1, "", "get_moe_di_stefano_dataset"], [26, 3, 1, "", "set_moe_di_stefano_settings"]], "binarycpython.utils.population_extensions.analytics": [[27, 2, 1, "", "analytics"]], "binarycpython.utils.population_extensions.analytics.analytics": [[27, 3, 1, "", "CPU_time"], [27, 3, 1, "", "make_analytics_dict"], [27, 3, 1, "", "set_time"], [27, 3, 1, "", "time_elapsed"]], "binarycpython.utils.population_extensions.cache": [[28, 2, 1, "", "cache"]], "binarycpython.utils.population_extensions.cache.cache": [[28, 2, 1, "", "NullCache"], [28, 3, 1, "", "default_cache_dir"], [28, 3, 1, "", "setup_function_cache"], [28, 3, 1, "", "test_caches"]], "binarycpython.utils.population_extensions.cache.cache.NullCache": [[28, 3, 1, "", "__delitem__"], [28, 3, 1, "", "__getitem__"], [28, 3, 1, "", "__setitem__"], [28, 3, 1, "", "popitem"]], "binarycpython.utils.population_extensions.condor": [[29, 2, 1, "", "condor"]], "binarycpython.utils.population_extensions.condor.condor": [[29, 3, 1, "", "condorID"], [29, 3, 1, "", "condor_check_requirements"], [29, 3, 1, "", "condor_dirs"], [29, 3, 1, "", "condor_grid"], [29, 3, 1, "", "condor_outfile"], [29, 3, 1, "", "condor_queue_stats"], [29, 3, 1, "", "condor_status_file"], [29, 3, 1, "", "condorpath"], [29, 3, 1, "", "get_condor_status"], [29, 3, 1, "", "make_condor_dirs"], [29, 3, 1, "", "set_condor_status"]], "binarycpython.utils.population_extensions.dataIO": [[30, 2, 1, "", "dataIO"]], "binarycpython.utils.population_extensions.dataIO.dataIO": [[30, 3, 1, "", "NFS_flush_hack"], [30, 3, 1, "", "NFSpath"], [30, 3, 1, "", "compression_type"], [30, 3, 1, "", "dir_ok"], [30, 3, 1, "", "load_population_object"], [30, 3, 1, "", "load_snapshot"], [30, 3, 1, "", "locked_close"], [30, 3, 1, "", "locked_open_for_write"], [30, 3, 1, "", "merge_populations"], [30, 3, 1, "", "merge_populations_from_file"], [30, 3, 1, "", "open"], [30, 3, 1, "", "save_population_object"], [30, 3, 1, "", "save_snapshot"], [30, 3, 1, "", "set_status"], [30, 3, 1, "", "snapshot_filename"], [30, 3, 1, "", "wait_for_unlock"], [30, 3, 1, "", "write_binary_c_calls_to_file"], [30, 3, 1, "", "write_ensemble"]], "binarycpython.utils.population_extensions.distribution_functions": [[31, 2, 1, "", "distribution_functions"]], "binarycpython.utils.population_extensions.distribution_functions.distribution_functions": [[31, 3, 1, "", "Arenou2010_binary_fraction"], [31, 3, 1, "", "Izzard2012_period_distribution"], [31, 3, 1, "", "Kroupa2001"], [31, 3, 1, "", "Moe_di_Stefano_2017_multiplicity_fractions"], [31, 3, 1, "", "Moe_di_Stefano_2017_pdf"], [31, 3, 1, "", "build_q_table"], [31, 3, 1, "", "calc_P_integral"], [31, 3, 1, "", "calc_e_integral"], [31, 3, 1, "", "calc_total_probdens"], [31, 3, 1, "", "calculate_constants_three_part_powerlaw"], [31, 3, 1, "", "const_distribution"], [31, 3, 1, "", "cosmic_SFH_madau_dickinson2014"], [31, 3, 1, "", "duquennoy1991"], [31, 3, 1, "", "fill_data"], [31, 3, 1, "", "flat"], [31, 3, 1, "", "flatsections"], [31, 3, 1, "", "gaussian"], [31, 3, 1, "", "gaussian_func"], [31, 3, 1, "", "gaussian_normalizing_const"], [31, 3, 1, "", "get_integration_constant_q"], [31, 3, 1, "", "get_max_multiplicity"], [31, 3, 1, "", "imf_chabrier2003"], [31, 3, 1, "", "imf_scalo1986"], [31, 3, 1, "", "imf_scalo1998"], [31, 3, 1, "", "imf_tinsley1980"], [31, 3, 1, "", "interpolate_in_mass_izzard2012"], [31, 3, 1, "", "ktg93"], [31, 3, 1, "", "linear_extrapolation_q"], [31, 3, 1, "", "merge_multiplicities"], [31, 3, 1, "", "number"], [31, 3, 1, "", "poisson"], [31, 3, 1, "", "powerlaw"], [31, 3, 1, "", "powerlaw_constant"], [31, 3, 1, "", "powerlaw_constant_nocache"], [31, 3, 1, "", "powerlaw_extrapolation_q"], [31, 3, 1, "", "raghavan2010_binary_fraction"], [31, 3, 1, "", "sana12"], [31, 3, 1, "", "three_part_powerlaw"]], "binarycpython.utils.population_extensions.grid_logging": [[32, 2, 1, "", "grid_logging"]], "binarycpython.utils.population_extensions.grid_logging.grid_logging": [[32, 3, 1, "", "vb1print"], [32, 3, 1, "", "vb2print"], [32, 3, 1, "", "verbose_print"]], "binarycpython.utils.population_extensions.grid_options_defaults": [[33, 2, 1, "", "grid_options_defaults"]], "binarycpython.utils.population_extensions.grid_options_defaults.grid_options_defaults": [[33, 3, 1, "", "default_cache_dir"], [33, 3, 1, "", "get_grid_options_defaults_dict"], [33, 3, 1, "", "get_grid_options_descriptions"], [33, 3, 1, "", "grid_options_description_checker"], [33, 3, 1, "", "grid_options_help"], [33, 3, 1, "", "print_option_descriptions"], [33, 3, 1, "", "write_grid_options_to_rst_file"]], "binarycpython.utils.population_extensions.gridcode": [[34, 2, 1, "", "gridcode"]], "binarycpython.utils.population_extensions.gridcode.gridcode": [[34, 3, 1, "", "add_grid_variable"], [34, 3, 1, "", "delete_grid_variable"], [34, 3, 1, "", "rename_grid_variable"], [34, 3, 1, "", "update_grid_variable"]], "binarycpython.utils.population_extensions.metadata": [[35, 2, 1, "", "metadata"]], "binarycpython.utils.population_extensions.metadata.metadata": [[35, 3, 1, "", "add_ensemble_metadata"], [35, 3, 1, "", "add_system_metadata"]], "binarycpython.utils.population_extensions.slurm": [[36, 2, 1, "", "slurm"]], "binarycpython.utils.population_extensions.slurm.slurm": [[36, 3, 1, "", "get_slurm_status"], [36, 3, 1, "", "make_slurm_dirs"], [36, 3, 1, "", "set_slurm_status"], [36, 3, 1, "", "slurmID"], [36, 3, 1, "", "slurm_check_requirements"], [36, 3, 1, "", "slurm_dirs"], [36, 3, 1, "", "slurm_grid"], [36, 3, 1, "", "slurm_outfile"], [36, 3, 1, "", "slurm_queue_stats"], [36, 3, 1, "", "slurm_status_file"], [36, 3, 1, "", "slurmpath"]], "binarycpython.utils.population_extensions.spacing_functions": [[37, 2, 1, "", "spacing_functions"]], "binarycpython.utils.population_extensions.spacing_functions.spacing_functions": [[37, 3, 1, "", "const_dt"], [37, 3, 1, "", "const_int"], [37, 3, 1, "", "const_linear"], [37, 3, 1, "", "const_ranges"], [37, 3, 1, "", "gaussian_zoom"], [37, 3, 1, "", "peak_normalized_gaussian_func"]], "binarycpython.utils.population_extensions.version_info": [[38, 2, 1, "", "version_info"]], "binarycpython.utils.population_extensions.version_info.version_info": [[38, 3, 1, "", "minimum_stellar_mass"], [38, 3, 1, "", "parse_binary_c_version_info"], [38, 3, 1, "", "return_binary_c_version_info"]], "binarycpython.utils.run_system_wrapper": [[40, 1, 1, "", "run_system"]], "binarycpython.utils.useful_funcs": [[42, 1, 1, "", "calc_period_from_sep"], [42, 1, 1, "", "calc_sep_from_period"], [42, 1, 1, "", "maximum_mass_ratio_for_RLOF"], [42, 1, 1, "", "minimum_period_for_RLOF"], [42, 1, 1, "", "minimum_separation_for_RLOF"], [42, 1, 1, "", "ragb"], [42, 1, 1, "", "roche_lobe"], [42, 1, 1, "", "rzams"], [42, 1, 1, "", "zams_collision"]]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:method"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "method", "Python method"]}, "titleterms": {"binary_c": [0, 7, 9, 11, 12, 15, 18, 22, 39], "paramet": [0, 11], "section": 0, "star": [0, 6, 15], "binari": [0, 5, 6, 13, 15, 18], "nucsyn": 0, "output": [0, 6, 8, 13, 14, 15], "input": 0, "i": 0, "o": 0, "algorithm": 0, "misc": 0, "custom_logging_funct": 1, "modul": [1, 2, 3, 19, 20, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42], "dict": 2, "ensembl": [3, 10], "exampl": [4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 16, 17, 18, 22, 39], "notebook": [4, 18], "content": [4, 22], "us": [5, 6, 7, 8, 9, 13, 14, 16, 18, 22, 39], "case": [5, 6, 8, 13, 14, 16], "black": 5, "hole": 5, "system": [5, 12, 16], "hertzsprung": 6, "russel": 6, "diagram": 6, "set": [6, 7, 8, 13, 14, 15], "up": [6, 7, 8, 13, 14, 15], "popul": [6, 8, 9, 12, 13, 14, 15, 20, 21, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "object": [6, 8, 9, 12, 13, 14, 15], "stellar": [6, 8, 13, 14], "grid": [6, 8, 13, 14, 15, 21], "log": [6, 8, 9, 13, 14, 15, 18], "handl": [6, 8, 10, 13, 14, 15], "evolv": [6, 8, 13, 14, 15], "tutori": [7, 9, 10, 11, 12, 15], "api": [7, 9, 12, 16, 18], "function": [7, 11, 12, 13, 14, 15, 16, 18, 19], "python": [7, 9, 11, 12, 15, 18, 22, 39], "usag": [7, 9, 22, 39], "free": 7, "store": 7, "get": [7, 11], "inform": [7, 11], "from": [7, 9, 22, 39], "common": 8, "envelop": 8, "evolut": [8, 9], "custom": [9, 18], "routin": 9, "when": 9, "run": [9, 12, 15, 18, 22, 39], "directli": 9, "string": 9, "compact": 9, "mass": [9, 14], "supernova": 9, "gener": [10, 22, 39], "data": 10, "how": 10, "extra": 11, "featur": 11, "about": 11, "build": [11, 22, 39], "pars": 11, "dictionari": 11, "modif": 11, "individu": 12, "singl": [12, 15], "run_system_wrapp": [12, 40], "via": [12, 22, 39], "zero": [13, 14], "ag": [13, 14], "luminos": [13, 14], "ad": [14, 15], "variabl": [14, 15, 22, 39], "zam": 14, "distribut": 14, "initi": 14, "A": 14, "better": 14, "sampl": 14, "noteworthi": 15, "full": 15, "script": 15, "solar": 16, "basic": 17, "core": 18, "wrapper": 18, "run_binari": 18, "run_binary_with_log": 18, "line": 18, "util": 18, "run_system": 18, "other": 18, "class": [20, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "code": [21, 22, 23, 39], "option": 21, "public": 21, "moe": 21, "di": 21, "stefano": 21, "sampler": 21, "privat": 21, "welcom": 22, "s": 22, "document": [22, 39], "instal": [22, 39], "requir": [22, 39], "environ": [22, 39], "instruct": [22, 39], "pip": [22, 39], "sourc": [22, 39], "after": [22, 39], "without": [22, 39], "note": [22, 39], "develop": [22, 39], "docstr": [22, 39], "test": [22, 39], "coverag": [22, 39], "report": [22, 39], "unit": [22, 39], "pull": [22, 39], "joss": [22, 39], "paper": [22, 39], "articl": [22, 39], "repo": [22, 39], "faq": [22, 39], "issu": [22, 39], "indic": 22, "tabl": 22, "binarycpython": 23, "plot_funct": 24, "extens": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "hpc": 25, "moe_di_stefano_2017": 26, "analyt": 27, "cach": 28, "condor": 29, "dataio": 30, "distribution_funct": 31, "grid_log": 32, "grid_options_default": 33, "gridcod": 34, "metadata": 35, "slurm": 36, "spacing_funct": 37, "version_info": 38, "stellar_typ": 41, "useful_func": 42}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx.ext.viewcode": 1, "nbsphinx": 4, "sphinx": 56}}) \ No newline at end of file diff --git a/docs/build/html/stellar_types.html b/docs/build/html/stellar_types.html index b34277ea9..da02979c7 100644 --- a/docs/build/html/stellar_types.html +++ b/docs/build/html/stellar_types.html @@ -154,9 +154,9 @@ provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/build/html/useful_funcs.html b/docs/build/html/useful_funcs.html index 30b97845d..d9fd24355 100644 --- a/docs/build/html/useful_funcs.html +++ b/docs/build/html/useful_funcs.html @@ -351,9 +351,9 @@ determine if two stars collide on the ZAMS</p> provided by <a href="https://readthedocs.org">Read the Docs</a>. <br><br> -Generated on binarycpython git branch: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. diff --git a/docs/source/_templates/footer.html b/docs/source/_templates/footer.html index 8ffdad5e6..e301e0147 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: master git revision abda8c4f6d329da2e0d918786588c29f46dff1c5 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/master">git url</a>. +Generated on binarycpython git branch: development_0.9.5/2.2.2 git revision 8d3c9c766e1b492a7b2b486c5acd2680bdff3d8c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.5/2.2.2">git url</a>. <br><br> -Using binary_c with bit branch branch_david: git revision: "6118:20220617:8463fa650" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>. +Using binary_c with bit branch clean_master: git revision: "6302:20220825:04c096f7a" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/clean_master">git url</a>. {% endblock %} \ No newline at end of file diff --git a/docs/source/binary_c_parameters.rst b/docs/source/binary_c_parameters.rst index 9d00a7aca..463c9af01 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**: 6118:20220617:8463fa650 **Built on**: Jun 17 2022 23:20:34 + **binary_c git branch**: clean_master **binary_c git revision**: 6302:20220825:04c096f7a **Built on**: Aug 25 2022 11:34:43 Section: stars @@ -250,11 +250,6 @@ Section: stars | **Parameter input type**: True|False | **Default value**: False -| **Parameter**: custom_timeout_time -| **Description**: Custom timeout time. Requires compilation with DAVID_CUSTOM_TIMEOUT -| **Parameter input type**: Float -| **Default value**: 100 - | **Parameter**: evolution_splitting | **Description**: If True, turn on splitting of an evolutionary run if splitpoint (e.g. supernova) occurs. | **Parameter input type**: True|False @@ -293,10 +288,10 @@ Section: stars | **Macros**: ['OPACITY_ALGORITHM_PACZYNSKI = 0', 'OPACITY_ALGORITHM_FERGUSON_OPAL = 1', 'OPACITY_ALGORITHM_STARS = 2'] | **Parameter**: wind_mass_loss -| **Description**: Defines the algorithm used for stellar winds. 0 = none, 1 = Hurley et al. (2002), 2 = Schneider (2018), 3 = Schneider + Sander and Wink (2020) for helium stars, 4 = Schneider + Hurley for LBV mass loss +| **Description**: Defines the algorithm used for stellar winds. 0 = none, 1 = Hurley et al. (2002), 2 = Schneider (2018). | **Parameter input type**: Unsigned integer | **Default value**: 3 -| **Macros**: ['WIND_ALGORITHM_NONE = 0', 'WIND_ALGORITHM_HURLEY2002 = 1', 'WIND_ALGORITHM_SCHNEIDER2018 = 2', 'WIND_ALGORITHM_BINARY_C_2020 = 3', 'WIND_ALGORITHM_HENDRIKS_2022 = 4'] +| **Macros**: ['WIND_ALGORITHM_NONE = 0', 'WIND_ALGORITHM_HURLEY2002 = 1', 'WIND_ALGORITHM_SCHNEIDER2018 = 2', 'WIND_ALGORITHM_BINARY_C_2020 = 3', 'WIND_ALGORITHM_BINARY_C_2022 = 4'] | **Extra**: 0 | **Parameter**: gbwind @@ -478,37 +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**: PPISN_core_mass_range_shift -| **Description**: (Pulsational) Pair-Instability Supernova CO core mass range shift: Value by which we shift the range of CO core mass values that undergo PPISN. This is taken into account in the fit that calculates the mass removal. Negative number is shifting the range to lower masses, positive to higher masses. -| **Parameter input type**: Float -| **Default value**: 0 -| **Extra**: Ignore - -| **Parameter**: PPISN_massloss_multiplier -| **Description**: (Pulsational) Pair-Instability Supernova CO massloss multiplier: Value by which the (P)PISN massloss is multiplied. Currently only works with the new prescription. THe additional mass loss is not affected multiplied by this. -| **Parameter input type**: Float -| **Default value**: 1 -| **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 @@ -536,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 @@ -575,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**: 0 -| **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 @@ -616,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). @@ -648,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**: 0 - -| **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 @@ -783,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 @@ -861,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. @@ -886,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. @@ -913,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. @@ -980,12 +893,24 @@ Section: stars | **Description**: Algorithm used to calculate the amount of mass retained during a nova explosion. 0=use nova_retention_fraction. (other methods pending) | **Parameter input type**: Integer | **Default value**: 0 -| **Macros**: ['NOVA_RETENTION_ALGORITHM_CONSTANT = 0', 'NOVA_RETENTION_ALGORITHM_CLAEYS2014 = 1', 'NOVA_RETENTION_ALGORITHM_HILLMAN2015 = 2'] +| **Macros**: ['NOVA_RETENTION_ALGORITHM_CONSTANT = 0', 'NOVA_RETENTION_ALGORITHM_CLAEYS2014 = 1', 'NOVA_RETENTION_ALGORITHM_HILLMAN2015 = 2', 'NOVA_RETENTION_ALGORITHM_WANGWU = 3'] + +| **Parameter**: nova_yield_CO_algorithm +| **Description**: Algorithm used to calculate the yields of COWD novae. Current options: NOVA_YIELD_CO_ALGOTHIM_JOSE_HERNANZ_1998 (0). +| **Parameter input type**: Integer +| **Default value**: 0 +| **Macros**: ['NOVA_YIELD_CO_ALGORITHM_JOSE_HERNANZ_1998 = 0'] + +| **Parameter**: nova_yield_ONe_algorithm +| **Description**: Algorithm used to calculate the yields of ONeWD novae. Current options: NOVA_YIELD_ONe_ALGOTHIM_JOSE_HERNANZ_1998 (0), NOVA_YIELD_ONe_ALGORITHM_JOSE2022 (1). +| **Parameter input type**: Integer +| **Default value**: 0 +| **Macros**: ['NOVA_YIELD_ONe_ALGORITHM_JOSE_HERNANZ_1998 = 0', 'NOVA_YIELD_ONe_ALGORITHM_JOSE_2022 = 1'] | **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**: -1 +| **Default value**: NULL | **Parameter**: gaia_Teff_binwidth | **Description**: log10(Effective temperature) bin width used to make Gaia-like HRDs @@ -1012,25 +937,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 @@ -1170,6 +1095,16 @@ Section: stars | **Parameter input type**: True|False | **Default value**: False +| **Parameter**: adjust_structure_from_mass_changes +| **Description**: If True, adjust L and R based on changes in M on the previous thermal timescale. (Currently experimental hence defaults to FALSE) +| **Parameter input type**: True|False +| **Default value**: NULL + +| **Parameter**: save_mass_history_n_thermal +| **Description**: Number of thermal timesteps of mass change history to be saved (4). +| **Parameter input type**: Float +| **Default value**: NULL + | **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 @@ -1183,7 +1118,7 @@ Section: stars | **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**: NULL +| **Default value**: 0 Section: binary --------------- @@ -1522,23 +1457,45 @@ Section: binary | **Description**: Algorithm to be used when merging two white dwarfs. 0 = Hurley et al. (2002), 1 = Perets+ (2019), 2 = Chen+ (2016, todo) | **Parameter input type**: Integer | **Default value**: 0 -| **Macros**: ['WDWD_MERGER_ALGORITHM_BSE = 0', 'WDWD_MERGER_ALGORITHM_PERETS2019 = 1', 'WDWD_MERGER_ALGORITHM_CHEN2016 = 2'] +| **Macros**: ['WDWD_MERGER_ALGORITHM_BSE = 0', 'WDWD_MERGER_ALGORITHM_PERETS2019 = 1', 'WDWD_MERGER_ALGORITHM_CHEN2016 = 2', 'WDWD_MERGER_ALGORITHM_SATO2016 = 3', 'WDWD_MERGER_ALGORITHM_HYBRID_PERETS2019_SATO2016 = 4', 'WDWD_MERGER_ALGORITHM_RUITER2013 = 5'] + +| **Parameter**: eta_violent_WDWD_merger +| **Description**: energy factor used to calculate q_crit for WDWD mergers that are "violent". Default = 0.75 (Ruiter 2013). +| **Parameter input type**: Float +| **Default value**: 0.75 + +| **Parameter**: COWD_COWD_explode_above_mass +| **Description**: COWD-COWD mergers above this mass trigger a SNIa. +| **Parameter input type**: Float +| **Default value**: 0 + +| **Parameter**: HeWD_COWD_explode_above_mass +| **Description**: HeWD-COWD mergers above this mass trigger a SNIa. +| **Parameter input type**: Float +| **Default value**: 0 + +| **Parameter**: COWD_to_ONeWD_accretion_rate +| **Description**: Accretion rate above which COWDs are converted to ONeWDs, in Msun/yr. A typical value is 2.05e-6 (Wang et al. 2017). Ignored if 0 (default 0). +| **Parameter input type**: Float +| **Default value**: 2.05e-06 | **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_SUPERNOVA_ALGORITHM_DD2 = 0', 'TYPE_IA_SUPERNOVA_ALGORITHM_SEITENZAHL2013 = 1', 'TYPE_IA_SUPERNOVA_ALGORITHM_SEITENZAHL2013_AUTOMATIC = 2', 'TYPE_IA_SUPERNOVA_ALGORITHM_LIVNE_ARNETT_1995 = 3'] | **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_SUPERNOVA_ALGORITHM_DD2 = 0', 'TYPE_IA_SUPERNOVA_ALGORITHM_SEITENZAHL2013 = 1', 'TYPE_IA_SUPERNOVA_ALGORITHM_SEITENZAHL2013_AUTOMATIC = 2', 'TYPE_IA_SUPERNOVA_ALGORITHM_LIVNE_ARNETT_1995 = 3'] | **Parameter**: max_HeWD_mass | **Description**: The maximum mass a HeWD can have before it ignites helium (0.7). @@ -1546,9 +1503,31 @@ Section: binary | **Default value**: 0.7 | **Parameter**: merger_mass_loss_fraction -| **Description**: Fraction of the total mass which is lost when stars merge. +| **Description**: Fraction of the total mass which is lost when stars merge. Note: if merger_mass_loss_fraction_by_stellar_type_<n> is set, where <n> is the stellar type, it is used in place of the value of merger_mass_loss_fraction. Can be a positive number, zero, or an algorithm from: MERGER_MASS_LOSS_FRACTION_GLEBBEEK_2013. | **Parameter input type**: Float +| **Default value**: 0.1 +| **Macros**: ['MERGER_MASS_LOSS_FRACTION_NONE = 0', 'MERGER_MASS_LOSS_FRACTION_GLEBBEEK2013 = -1', 'MERGER_MASS_LOSS_FRACTION_UNUSED = 666666'] + +| **Parameter**: merger_mass_loss_fraction_nondegenerate +| **Description**: Equivalent to setting the merger_mass_loss_fraction_by_stellar_type for all nuclear-burning, non-degenerate stellar types (including low-mass main-sequence stars). Note: you should not combine this with attempts to set the mass loss fractions individually. +| **Parameter input type**: * +| **Default value**: NULL + +| **Parameter**: merger_mass_loss_fraction_degenerate +| **Description**: Equivalent to setting the merger_mass_loss_fraction_by_stellar_type for all (compact) degenerate (i.e. WD, NS) stellar types. Note: you should not combine this with attempts to set the mass loss fractions individually. +| **Parameter input type**: * +| **Default value**: NULL + +| **Parameter**: merger_mass_loss_fraction_by_stellar_type_%d +| **Description**: Fraction of the total mass which is lost when stars merge to stellar type <n>. +| **Parameter input type**: Float(scanf) +| **Default value**: NULL + +| **Parameter**: transient_method +| **Description**: Choose the method used to model transients. Options: TRANSIENT_METHOD_NONE, TRANSIENT_METHOD_IVANOVA2013 +| **Parameter input type**: Integer | **Default value**: 0 +| **Macros**: ['TRANSIENT_METHOD_NONE = 0', 'TRANSIENT_METHOD_IVANOVA2013 = 1', 'TRANSIENT_METHOD_VILLAR2017 = 2'] | **Parameter**: merger_angular_momentum_factor | **Description**: When two stars merge the resulting single star retains a fraction of the total system angular momentum (or the critical spin angular momentum, if it is smaller) multiplied by this factor. @@ -1586,170 +1565,195 @@ Section: binary | **Parameter input type**: True|False | **Default value**: False +| **Parameter**: qcrit_nuclear_burning +| **Description**: Set qcrit, the critical mass ratio for stable mass transfer, for all donors irrespective of donor or accretor stellar type. +| **Parameter input type**: * +| **Default value**: NULL + +| **Parameter**: qcrit_QWD +| **Description**: Set qcrit, the critical mass ratio for stable mass transfer, for all WD donors irrespective of the accretor stellar type. +| **Parameter input type**: * +| **Default value**: NULL + | **Parameter**: qcrit_LMMS | **Description**: Apply critical q=Mdonor/Maccretor value for low-mass main sequence stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 0.6944 -| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2021 = -8', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2021 = -8'] +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_MS | **Description**: Apply critical q=Mdonor/Maccretor value for (non-low mass) main sequence stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 1.6 -| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2021 = -8', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2021 = -8'] +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_HG | **Description**: Apply critical q=Mdonor/Maccretor value for Hertzsprung gap stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 4 -| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2021 = -8', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2021 = -8'] +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_GB | **Description**: Apply critical q=Mdonor/Maccretor value for first red giant branch stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: -1 -| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2021 = -8', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2021 = -8'] +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_CHeB | **Description**: Apply critical q=Mdonor/Maccretor value for core helium burning stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 3 -| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2021 = -8', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2021 = -8'] +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_EAGB | **Description**: Apply critical q=Mdonor/Maccretor value for early-AGB stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: -1 -| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2021 = -8', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2021 = -8'] +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_TPAGB | **Description**: Apply critical q=Mdonor/Maccretor value for TP-AGB stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: -1 -| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2021 = -8', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2021 = -8'] +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_HeMS | **Description**: Apply critical q=Mdonor/Maccretor value for helium main sequence stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 3 -| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2021 = -8', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2021 = -8'] +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_HeHG | **Description**: Apply critical q=Mdonor/Maccretor value for helium Hertzsprung gap stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 4 -| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2021 = -8', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2021 = -8'] +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_HeGB | **Description**: Apply critical q=Mdonor/Maccretor value for helium red giant stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 0.78125 -| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2021 = -8', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2021 = -8'] +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_HeWD | **Description**: Apply critical q=Mdonor/Maccretor value for helium white dwarf stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 3 -| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2021 = -8', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2021 = -8'] +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_COWD | **Description**: Apply critical q=Mdonor/Maccretor value for carbon-oxygen white dwarf stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 3 -| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2021 = -8', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2021 = -8'] +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_ONeWD | **Description**: Apply critical q=Mdonor/Maccretor value for oxygen-neon white dwarf stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 3 -| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2021 = -8', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2021 = -8'] +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_NS | **Description**: Apply critical q=Mdonor/Maccretor value for neutron stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 3 -| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2021 = -8', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2021 = -8'] +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_BH | **Description**: Apply critical q=Mdonor/Maccretor value for black holes to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 3 -| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2021 = -8', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2021 = -8'] +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_degenerate_LMMS | **Description**: Apply critical q=Mdonor/Maccretor value for (low mass) main sequence stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 1 +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_degenerate_MS | **Description**: Apply critical q=Mdonor/Maccretor value for (non-low mass) main sequence stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 1 +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_degenerate_HG | **Description**: Apply critical q=Mdonor/Maccretor value for Hertzsprung gap stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 4.7619 +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_degenerate_GB | **Description**: Apply critical q=Mdonor/Maccretor value for first red giant branch stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 1.15 +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_degenerate_CHeB | **Description**: Apply critical q=Mdonor/Maccretor value for core helium burning stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 3 +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_degenerate_EAGB | **Description**: Apply critical q=Mdonor/Maccretor value for early-AGB stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 1.15 +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_degenerate_TPAGB | **Description**: Apply critical q=Mdonor/Maccretor value for TP-AGB stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 1.15 +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_degenerate_HeMS | **Description**: Apply critical q=Mdonor/Maccretor value for helium main sequence stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 3 +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_degenerate_HeHG | **Description**: Apply critical q=Mdonor/Maccretor value for helium Hertzsprung gap stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 4.7619 +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_degenerate_HeGB | **Description**: Apply critical q=Mdonor/Maccretor value for helium red giant stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 1.15 +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_degenerate_HeWD | **Description**: Apply critical q=Mdonor/Maccretor value for helium white dwarf stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 0.625 +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_degenerate_COWD | **Description**: Apply critical q=Mdonor/Maccretor value for carbon-oxygen white dwarf stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 0.625 +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_degenerate_ONeWD | **Description**: Apply critical q=Mdonor/Maccretor value for oxygen-neon white dwarf stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 0.625 +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_degenerate_NS | **Description**: Apply critical q=Mdonor/Maccretor value for neutron stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 0.625 +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: qcrit_degenerate_BH | **Description**: Apply critical q=Mdonor/Maccretor value for black holes to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. | **Parameter input type**: Float | **Default value**: 0.625 +| **Macros**: ['QCRIT_BSE = -1', 'QCRIT_HJELLMING_WEBBINK = -2', 'QCRIT_Q_NO_COMENV = -3', 'QCRIT_CHEN_HAN_TABLE = -4', 'QCRIT_CHEN_HAN_FORMULA = -5', 'QCRIT_GE2015 = -6', 'QCRIT_VOS2018 = -7', 'QCRIT_TEMMINK2022 = -8', 'QCRIT_DEFAULT = -9', 'QCRIT_GB_BSE = -1', 'QCRIT_GB_HJELLMING_WEBBINK = -2', 'QCRIT_GB_Q_NO_COMENV = -3', 'QCRIT_GB_CHEN_HAN_TABLE = -4', 'QCRIT_GB_CHEN_HAN_FORMULA = -5', 'QCRIT_GB_GE2015 = -6', 'QCRIT_GB_VOS2018 = -7', 'QCRIT_GB_TEMMINK2022 = -8', 'QCRIT_GB_DEFAULT = -1'] | **Parameter**: mass_for_Hestar_Ia_upper | **Description**: Only helium stars below this mass can explode as SNIa. Default is zero, i.e. it never happens. See also mass_for_Hestar_Ia_lower. @@ -1775,13 +1779,13 @@ Section: binary | **Description**: Use this to choose which common envelope prescription you should use. 0=Hurley et al 2002 (based on the Paczyński energy model) or 1=Nelemans and Tout (angular momentum model). See also alpha_ce, comenv_ms_accretion_mass, comenv_ms_accretion_fraction, comenv_ns_accretion_fraction, comenv_ns_accretion_mass, nelemans_gamma, nelemans_minq, nelemans_max_frac_j_change, nelemans_n_comenvs, lambda_ce, lambda_ionisation. | **Parameter input type**: Integer | **Default value**: 0 -| **Macros**: ['COMENV_UNDEF = -1', 'COMENV_BSE = 0', 'COMENV_NELEMANS_TOUT = 1', 'COMENV_NANDEZ2016 = 2'] +| **Macros**: ['COMENV_UNDEF = -1', 'COMENV_BSE = 0', 'COMENV_NELEMANS_TOUT = 1', 'COMENV_NANDEZ2016 = 2', 'COMENV_GE2022 = 3'] | **Parameter**: comenv_prescription%d | **Description**: Use this to choose which common envelope prescription you should use. 0=Hurley et al 2002 (based on the Paczyński energy model) or 1=Nelemans and Tout (angular momentum model). See also alpha_ce, comenv_ms_accretion_mass, comenv_ms_accretion_fraction, comenv_ns_accretion_fraction, comenv_ns_accretion_mass, nelemans_gamma, nelemans_minq, nelemans_max_frac_j_change, nelemans_n_comenvs, lambda_ce, lambda_ionisation. | **Parameter input type**: Int(scanf) | **Default value**: NULL -| **Macros**: ['COMENV_UNDEF = -1', 'COMENV_BSE = 0', 'COMENV_NELEMANS_TOUT = 1', 'COMENV_NANDEZ2016 = 2'] +| **Macros**: ['COMENV_UNDEF = -1', 'COMENV_BSE = 0', 'COMENV_NELEMANS_TOUT = 1', 'COMENV_NANDEZ2016 = 2', 'COMENV_GE2022 = 3'] | **Parameter**: comenv_ejection_spin_method | **Description**: When a common envelope is ejected, we need to decide how fast the stars are left spinning. COMENV_EJECTION_SPIN_METHOD_DO_NOTHING (0) is the default, this just leaves the stars/stellar cores spinning with the same spin rate (omega = angular velocity) with which they entered the common envelope phase. COMENV_EJECTION_SPIN_METHOD_SYCHRONIZE instead tidally synchronizes the stars with their new orbital angular velocity. @@ -1851,6 +1855,11 @@ Section: binary | **Parameter input type**: Float | **Default value**: 1e-05 +| **Parameter**: dedmRLOF +| **Description**: de/dM during RLOF (defualt 0.0) +| **Parameter input type**: Float +| **Default value**: 0 + | **Parameter**: nelemans_gamma | **Description**: Set the fraction of the orbital specific angular momentum that is used to eject the common envelope according to the Nelemans and Tout prescription. See also nelemans_minq, nelemans_max_frac_j_change, nelemans_n_comenvs. | **Parameter input type**: Float @@ -2052,6 +2061,17 @@ Section: binary | **Parameter input type**: Float | **Default value**: NULL +| **Parameter**: unstable_RLOF_can_trigger_SNIa +| **Description**: If true, allow unstable (dynamical) RLOF to trigger a sub-MCh SNIa. (False) +| **Parameter input type**: True|False +| **Default value**: False + +| **Parameter**: triggered_SNIa_algorithm +| **Description**: Algorithm to use for triggered SNeIa +| **Parameter input type**: Integer +| **Default value**: 0 +| **Macros**: ['TYPE_IA_SUPERNOVA_ALGORITHM_DD2 = 0', 'TYPE_IA_SUPERNOVA_ALGORITHM_SEITENZAHL2013 = 1', 'TYPE_IA_SUPERNOVA_ALGORITHM_SEITENZAHL2013_AUTOMATIC = 2', 'TYPE_IA_SUPERNOVA_ALGORITHM_LIVNE_ARNETT_1995 = 3'] + | **Parameter**: minimum_separation_for_instant_RLOF | **Description**: If True, instead of evolving the system just report the minimum separation (on the zero-age main sequence) that would lead to instant RLOF. Used by binary_grid. See also minimum_orbital_period_for_instant_RLOF and maximum_mass_ratio_for_instant_RLOF. | **Parameter input type**: True|False @@ -2079,8 +2099,18 @@ Section: binary | **Default value**: 0 | **Macros**: ['RLOF_INTERPOLATION_BINARY_C = 0', 'RLOF_INTERPOLATION_BSE = 1'] -| **Parameter**: nova_retention_fraction -| **Description**: The mass accreted during a nova as fraction of mass transferred +| **Parameter**: He_nova_ELDs +| **Description**: Enable edge-lit detonations from WDs that have He novae. (Default: False, i.e. off.) +| **Parameter input type**: True|False +| **Default value**: False + +| **Parameter**: nova_retention_fraction_H +| **Description**: The mass accreted during a hydrogen nova as fraction of mass transferred. +| **Parameter input type**: Float +| **Default value**: 0.001 + +| **Parameter**: nova_retention_fraction_He +| **Description**: The mass accreted during a helium nova as fraction of mass transferred. | **Parameter input type**: Float | **Default value**: 0.001 @@ -2090,41 +2120,46 @@ Section: binary | **Default value**: 0 | **Macros**: ['BETA_REVERSE_NOVAE_GEOMETRY = -1'] +| **Parameter**: WD_accretion_rate_algorithms +| **Description**: Wrapper to set all WD accretion rates in one go (see WD_accretion_rate_*). +| **Parameter input type**: * +| **Default value**: NULL + | **Parameter**: WD_accretion_rate_novae_upper_limit_hydrogen_donor | **Description**: Upper limit of the stable mass transfer rate onto a white dwarf that leads to novae when the donor is hydrogen rich: above this rate the mass transfer leads to stable burning. | **Parameter input type**: Float | **Default value**: -1 -| **Macros**: ['DONOR_RATE_ALGORITHM_CLAEYS2014 = -1', 'DONOR_RATE_ALGORITHM_BSE = -2'] +| **Macros**: ['DONOR_RATE_ALGORITHM_CLAEYS2014 = -1', 'DONOR_RATE_ALGORITHM_BSE = -2', 'DONOR_RATE_ALGORITHM_K2014_P2014 = -3', 'DONOR_RATE_ALGORITHM_WANGWU = -4'] | **Parameter**: WD_accretion_rate_novae_upper_limit_helium_donor | **Description**: Upper limit of the stable mass transfer rate onto a white dwarf that leads to novae when the donor is helium rich: above this rate the mass transfer leads to stable burning. | **Parameter input type**: Float | **Default value**: -1 -| **Macros**: ['DONOR_RATE_ALGORITHM_CLAEYS2014 = -1', 'DONOR_RATE_ALGORITHM_BSE = -2'] +| **Macros**: ['DONOR_RATE_ALGORITHM_CLAEYS2014 = -1', 'DONOR_RATE_ALGORITHM_BSE = -2', 'DONOR_RATE_ALGORITHM_K2014_P2014 = -3', 'DONOR_RATE_ALGORITHM_WANGWU = -4'] | **Parameter**: WD_accretion_rate_novae_upper_limit_other_donor | **Description**: Upper limit of the stable mass transfer rate onto a white dwarf that leads to novae when the donor is neither hydrogen nor helium rich: above this rate the mass transfer leads to stable burning. | **Parameter input type**: Float | **Default value**: -1 -| **Macros**: ['DONOR_RATE_ALGORITHM_CLAEYS2014 = -1', 'DONOR_RATE_ALGORITHM_BSE = -2'] +| **Macros**: ['DONOR_RATE_ALGORITHM_CLAEYS2014 = -1', 'DONOR_RATE_ALGORITHM_BSE = -2', 'DONOR_RATE_ALGORITHM_K2014_P2014 = -3', 'DONOR_RATE_ALGORITHM_WANGWU = -4'] | **Parameter**: WD_accretion_rate_new_giant_envelope_lower_limit_hydrogen_donor | **Description**: Lower limit of the mass transfer rate onto a white dwarf that leads to a the formation of a new giant envelope with a hydrogen-rich donor. Below this mass transfer leads to stable burning. | **Parameter input type**: Float | **Default value**: -1 -| **Macros**: ['DONOR_RATE_ALGORITHM_CLAEYS2014 = -1', 'DONOR_RATE_ALGORITHM_BSE = -2'] +| **Macros**: ['DONOR_RATE_ALGORITHM_CLAEYS2014 = -1', 'DONOR_RATE_ALGORITHM_BSE = -2', 'DONOR_RATE_ALGORITHM_K2014_P2014 = -3', 'DONOR_RATE_ALGORITHM_WANGWU = -4'] | **Parameter**: WD_accretion_rate_new_giant_envelope_lower_limit_helium_donor | **Description**: Lower limit of the mass transfer rate onto a white dwarf that leads to a the formation of a new giant envelope with a helium-rich donor. Below this mass transfer leads to stable burning. | **Parameter input type**: Float | **Default value**: -1 -| **Macros**: ['DONOR_RATE_ALGORITHM_CLAEYS2014 = -1', 'DONOR_RATE_ALGORITHM_BSE = -2'] +| **Macros**: ['DONOR_RATE_ALGORITHM_CLAEYS2014 = -1', 'DONOR_RATE_ALGORITHM_BSE = -2', 'DONOR_RATE_ALGORITHM_K2014_P2014 = -3', 'DONOR_RATE_ALGORITHM_WANGWU = -4'] | **Parameter**: WD_accretion_rate_new_giant_envelope_lower_limit_other_donor | **Description**: Lower limit of the mass transfer rate onto a white dwarf that leads to a the formation of a new giant envelope when the donor is neither hydrogen nor helium rich. Below this mass transfer leads to stable burning. | **Parameter input type**: Float | **Default value**: -1 -| **Macros**: ['DONOR_RATE_ALGORITHM_CLAEYS2014 = -1', 'DONOR_RATE_ALGORITHM_BSE = -2'] +| **Macros**: ['DONOR_RATE_ALGORITHM_CLAEYS2014 = -1', 'DONOR_RATE_ALGORITHM_BSE = -2', 'DONOR_RATE_ALGORITHM_K2014_P2014 = -3', 'DONOR_RATE_ALGORITHM_WANGWU = -4'] | **Parameter**: CRAP_parameter | **Description**: Tidally enhanced mass loss parameter. See Tout and Eggleton's paper on the subject. (Was the parameter bb). @@ -2151,6 +2186,21 @@ Section: binary | **Parameter input type**: Float | **Default value**: -1 +| **Parameter**: eccentric_RLOF_model +| **Description**: Chooses which model is used to handle eccentric RLOF. Default is RLOF_ECCENTRIC_AS_CIRCULAR, i.e. ignore the eccentricity. Note: requires force_corotation_of_primary_and_orbit to be FALSE. +| **Parameter input type**: Integer +| **Default value**: 0 + +| **Parameter**: force_circularization_on_RLOF +| **Description**: If True forces circularization of stars and orbit when RLOF starts, this is as in the BSE algorithm. (True) +| **Parameter input type**: True|False +| **Default value**: True + +| **Parameter**: resolve_stellar_type_changes +| **Description**: If True forces binary_c to resolve stellar type changes to within the minimum timestep. Warning: can be slow. (True) +| **Parameter input type**: True|False +| **Default value**: False + | **Parameter**: nonconservative_angmom_gamma | **Description**: Mass lost from the system (but NOT from a stellar wind) takes a fraction gamma of the orbital angular momentum with it. Set to -1 to take the specific angular momentum of the donor star. Set to -2 to take super-Eddington, nova and disk-wind angular momenta as if a wind from the accretor. | **Parameter input type**: Float @@ -2179,7 +2229,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 @@ -2200,19 +2250,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 @@ -2236,37 +2288,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). @@ -2386,46 +2439,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**: -1 -| **Extra**: Ignore - -| **Parameter**: david_tzo_logging -| **Description**: Flag to enable logging for TZO project -| **Parameter input type**: Integer -| **Default value**: 0 -| **Extra**: Ignore - -| **Parameter**: david_ppisn_logging -| **Description**: Flag to enable logging for PPISN project -| **Parameter input type**: Integer -| **Default value**: 0 -| **Extra**: Ignore - -| **Parameter**: david_ppisn_single_logging -| **Description**: Flag to enable logging for PPISN project capturing single star systems that underwent SN -| **Parameter input type**: Integer -| **Default value**: 0 -| **Extra**: Ignore - -| **Parameter**: david_rlof_episode_logging -| **Description**: Flag to enable the RLOF episode logging -| **Parameter input type**: Integer -| **Default value**: 0 -| **Extra**: Ignore - -| **Parameter**: david_rlof_ensemble_logging -| **Description**: Flag to enable the RLOF ensemble logging -| **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) @@ -2465,7 +2482,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. @@ -2505,27 +2522,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. @@ -2563,12 +2580,24 @@ Section: output | **Default value**: False | **Extra**: +| **Parameter**: log_legacy_stellar_types +| **Description**: If set to True, we output the stellar types in the log as numbers rather than (more human-readable) letters. +| **Parameter input type**: True|False +| **Default value**: False +| **Extra**: + | **Parameter**: log_filename | **Description**: Location of the output logging filename. If set to "/dev/null" then there is no logging. | **Parameter input type**: String | **Default value**: /tmp/c_log.dat | **Extra**: +| **Parameter**: log_separator +| **Description**: Separator used in the standard log. By default this is an empty string. +| **Parameter input type**: String +| **Default value**: +| **Extra**: + | **Parameter**: log_arrows | **Description**: Add arrows to the output log to show whether values are increasing or decreasing. | **Parameter input type**: True|False @@ -2610,16 +2639,6 @@ Section: output | **Default value**: 2 | **Macros**: ['INTERNAL_BUFFERING_OFF = 0', 'INTERNAL_BUFFERING_PRINT = 1', 'INTERNAL_BUFFERING_STORE = 2'] -| **Parameter**: eccentric_RLOF_model -| **Description**: Chooses which model is used to handle eccentric RLOF. Default is RLOF_ECCENTRIC_AS_CIRCULAR, i.e. ignore the eccentricity. Note: requires force_corotation_of_primary_and_orbit to be FALSE. -| **Parameter input type**: Integer -| **Default value**: 0 - -| **Parameter**: force_circularization_on_RLOF -| **Description**: If True forces circularization of stars and orbit when RLOF starts, this is as in the BSE algorithm. (True) -| **Parameter input type**: True|False -| **Default value**: True - | **Parameter**: wtts_log | **Description**: If True, enables log file output for WTTS2. | **Parameter input type**: True|False @@ -2667,99 +2686,99 @@ Section: input | **Parameter**: MINT_dir | **Description**: Location of MINT algorithm data. | **Parameter input type**: String -| **Default value**: +| **Default value**: NULL | **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**: False +| **Default value**: NULL | **Extra**: | **Parameter**: MINT_MS_rejuvenation | **Description**: Turn on or off (hydrogen) main-sequence rejuvenation. | **Parameter input type**: True|False -| **Default value**: True +| **Default value**: NULL | **Extra**: | **Parameter**: MINT_remesh | **Description**: Turn on or off MINT's remeshing. | **Parameter input type**: True|False -| **Default value**: True +| **Default value**: NULL | **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**: True +| **Default value**: NULL | **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**: False +| **Default value**: NULL | **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**: False +| **Default value**: NULL | **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**: 0 +| **Default value**: NULL | **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**: 200 +| **Default value**: NULL | **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**: 1000 +| **Default value**: NULL | **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**: 10 +| **Default value**: NULL | **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**: -1 +| **Default value**: NULL | **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**: -1 +| **Default value**: NULL | **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**: False +| **Default value**: NULL | **Extra**: | **Parameter**: MINT_minimum_shell_mass | **Description**: Minimum shell mass in MINT's nuclear burning routines. | **Parameter input type**: Float -| **Default value**: 1e-06 +| **Default value**: NULL | **Extra**: | **Parameter**: MINT_maximum_shell_mass | **Description**: Maximum shell mass in MINT's nuclear burning routines. : | **Parameter input type**: Float -| **Default value**: 0.1 +| **Default value**: NULL | **Extra**: Section: i/o @@ -2889,3 +2908,15 @@ Section: misc | **Default value**: NULL | **Extra**: Ignore +| **Parameter**: bjorn +| **Description**: Usage: --bjorn ... shows an ASCII-art picture of Björn (requires jp2a to be installed). +| **Parameter input type**: * +| **Default value**: NULL +| **Extra**: 0 + +| **Parameter**: logo +| **Description**: Usage: --logo ... shows an ASCII-art picture of the binary_c logo (requires jp2a to be installed). +| **Parameter input type**: * +| **Default value**: NULL +| **Extra**: 0 + diff --git a/docs/source/examples/notebook_BHBH.ipynb b/docs/source/examples/notebook_BHBH.ipynb index c3fa9b934..d639f4bd6 100644 --- a/docs/source/examples/notebook_BHBH.ipynb +++ b/docs/source/examples/notebook_BHBH.ipynb @@ -649,11 +649,20 @@ "Playing around with the input for an individual system gives us some understanding of which parameters affect the formation of black hole systems, but, as mentioned in the introduction, this is nto the most appropriate way to find many such systems. We want to make use of the Population utilities, and set up custom logging and a parse function.\n", "\n", "Things to try next:\n", + "\n", "* Set up a population object with a grid in M1, q and orbital period (10 x 10 x 10)\n", "* Set up a custom logging function to catch BHBH systems, and include the ZAMS properties in the output.\n", "* Set up a parse function to process the output, try writing the output to a file.\n", "* Run this population at several different metallicities. Do you see a trend?" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c8b4d134-1b41-49cc-a122-2aee89818248", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/docs/source/grid_options_descriptions.rst b/docs/source/grid_options_descriptions.rst index 7d765d8cf..f35b933fe 100644 --- a/docs/source/grid_options_descriptions.rst +++ b/docs/source/grid_options_descriptions.rst @@ -1,7 +1,7 @@ Population grid code options ============================ The following chapter contains all grid code options, along with their descriptions -There are 29 options that are not described yet. +There are 31 options that are not described yet. Public options @@ -121,6 +121,10 @@ The following options are meant to be changed by the user. | **log_dt**: Time between verbose logging output. +| **log_failed_systems**: No description available yet + +| **log_failed_systems_dir**: No description available yet + | **log_file**: Log file for the population object. Unused | **log_newline**: Newline character used at the end of verbose logging statements. This is \n (newline) by default, but \x0d (carriage return) might also be what you want. -- GitLab