primat 0.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- primat-0.3.0/LICENCE +9 -0
- primat-0.3.0/MANIFEST.in +4 -0
- primat-0.3.0/PKG-INFO +415 -0
- primat-0.3.0/README.md +378 -0
- primat-0.3.0/primat/__init__.py +28 -0
- primat-0.3.0/primat/_primat_c/_wrapper.c +727 -0
- primat-0.3.0/primat/backend.py +476 -0
- primat-0.3.0/primat/background.py +1384 -0
- primat-0.3.0/primat/cache_utils.py +172 -0
- primat-0.3.0/primat/cli.py +332 -0
- primat-0.3.0/primat/config.py +798 -0
- primat-0.3.0/primat/constants.py +275 -0
- primat-0.3.0/primat/data/NEVO/NEVOGrid.csv +80 -0
- primat-0.3.0/primat/data/NEVO/NEVOPRIMAT.csv +600 -0
- primat-0.3.0/primat/data/NEVO/NEVOPRIMAT_NoQED.csv +600 -0
- primat-0.3.0/primat/data/NEVO/NEVOPRIMAT_NoQED_col_1_7.csv +600 -0
- primat-0.3.0/primat/data/NEVO/NEVOPRIMAT_col_1_7.csv +600 -0
- primat-0.3.0/primat/data/csv/detailed_balance.csv +391 -0
- primat-0.3.0/primat/data/csv/nuclides.csv +60 -0
- primat-0.3.0/primat/data/csv/reactions_large.csv +429 -0
- primat-0.3.0/primat/data/nuclear/networks/large.txt +428 -0
- primat-0.3.0/primat/data/nuclear/networks/small.txt +12 -0
- primat-0.3.0/primat/data/nuclear/networks/small_parthenope.txt +15 -0
- primat-0.3.0/primat/data/nuclear/tables/B10_He3__C11_d/B10_He3__C11_d_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B10_He3__C12_p/B10_He3__C12_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B10_He3__N12_n/B10_He3__N12_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B10_He3__N13_g/B10_He3__N13_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B10_a__C12_d/B10_a__C12_d_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B10_a__C13_p/B10_a__C13_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B10_a__N13_n/B10_a__N13_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B10_a__N14_g/B10_a__N14_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B10_d__B11_p/B10_d__B11_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B10_d__C11_n/B10_d__C11_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B10_d__C12_g/B10_d__C12_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B10_d__a_a_a/B10_d__a_a_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B10_n__B11_g/B10_n__B11_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B10_n__Be10_p/B10_n__Be10_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B10_n__a_a_t/B10_n__a_a_t_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B10_p__Be7_a/B10_p__Be7_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B10_p__C11_g/B10_p__C11_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B10_p__a_a_He3/B10_p__a_a_He3_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B10_t__B11_d/B10_t__B11_d_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B10_t__B12_p/B10_t__B12_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B10_t__Be9_a/B10_t__Be9_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B10_t__C12_n/B10_t__C12_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B10_t__C13_g/B10_t__C13_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B11_He3__B10_a/B11_He3__B10_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B11_He3__C12_d/B11_He3__C12_d_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B11_He3__C13_p/B11_He3__C13_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B11_He3__N13_n/B11_He3__N13_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B11_He3__N14_g/B11_He3__N14_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B11_a__C14_p/B11_a__C14_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B11_a__N14_n/B11_a__N14_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B11_a__N15_g/B11_a__N15_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B11_d__B12_p/B11_d__B12_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B11_d__Be9_a/B11_d__Be9_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B11_d__C12_n/B11_d__C12_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B11_d__C13_g/B11_d__C13_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B11_n__B12_g/B11_n__B12_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B11_p__C11_n/B11_p__C11_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B11_p__C12_g/B11_p__C12_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B11_p__a_a_a/B11_p__a_a_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B11_t__B13_p/B11_t__B13_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B11_t__Be10_a/B11_t__Be10_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B11_t__C13_n/B11_t__C13_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B11_t__C14_g/B11_t__C14_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B12_He3__B11_a/B12_He3__B11_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B12_He3__C14_p/B12_He3__C14_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B12_He3__N14_n/B12_He3__N14_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B12_He3__N15_g/B12_He3__N15_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B12_a__N15_n/B12_a__N15_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B12_a__N16_g/B12_a__N16_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B12_d__B13_p/B12_d__B13_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B12_d__Be10_a/B12_d__Be10_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B12_d__C13_n/B12_d__C13_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B12_d__C14_g/B12_d__C14_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B12_n__B13_g/B12_n__B13_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B12_p__Be9_a/B12_p__Be9_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B12_p__C12_n/B12_p__C12_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B12_p__C13_g/B12_p__C13_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B12_t__Be11_a/B12_t__Be11_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B12_t__C14_n/B12_t__C14_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B12_t__C15_g/B12_t__C15_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B8_He3__C10_p/B8_He3__C10_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B8_a__C11_p/B8_a__C11_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B8_a__N12_g/B8_a__N12_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B8_d__Be7_He3/B8_d__Be7_He3_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B8_d__C10_g/B8_d__C10_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B8_n__Be7_d/B8_n__Be7_d_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B8_n__Li6_He3/B8_n__Li6_He3_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B8_n__a_a_p/B8_n__a_a_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B8_p__C9_g/B8_p__C9_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B8_t__B10_p/B8_t__B10_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B8_t__Be7_a/B8_t__Be7_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B8_t__C10_n/B8_t__C10_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B8_t__C11_g/B8_t__C11_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/B8_t__a_a_He3/B8_t__a_a_He3_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be10_He3__B10_t/Be10_He3__B10_t_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be10_He3__B11_d/Be10_He3__B11_d_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be10_He3__B12_p/Be10_He3__B12_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be10_He3__Be9_a/Be10_He3__Be9_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be10_He3__C12_n/Be10_He3__C12_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be10_He3__C13_g/Be10_He3__C13_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be10_a__C13_n/Be10_a__C13_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be10_a__C14_g/Be10_a__C14_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be10_d__B11_n/Be10_d__B11_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be10_d__B12_g/Be10_d__B12_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be10_d__Li8_a/Be10_d__Li8_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be10_n__Be11_g/Be10_n__Be11_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be10_p__B11_g/Be10_p__B11_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be10_p__Li7_a/Be10_p__Li7_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be10_p__a_a_t/Be10_p__a_a_t_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be10_t__B12_n/Be10_t__B12_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be10_t__B13_g/Be10_t__B13_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be10_t__Li9_a/Be10_t__Li9_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be11_He3__B13_p/Be11_He3__B13_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be11_He3__Be10_a/Be11_He3__Be10_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be11_He3__C13_n/Be11_He3__C13_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be11_He3__C14_g/Be11_He3__C14_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be11_a__C14_n/Be11_a__C14_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be11_a__C15_g/Be11_a__C15_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be11_d__B12_n/Be11_d__B12_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be11_d__B13_g/Be11_d__B13_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be11_d__Be12_p/Be11_d__Be12_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be11_d__Li9_a/Be11_d__Li9_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be11_n__Be12_g/Be11_n__Be12_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be11_p__B11_n/Be11_p__B11_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be11_p__B12_g/Be11_p__B12_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be11_p__Be10_d/Be11_p__Be10_d_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be11_p__Be9_t/Be11_p__Be9_t_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be11_p__Li8_a/Be11_p__Li8_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be11_t__B13_n/Be11_t__B13_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be11_t__B14_g/Be11_t__B14_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be12_He3__B14_p/Be12_He3__B14_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be12_He3__Be11_a/Be12_He3__Be11_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be12_He3__C14_n/Be12_He3__C14_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be12_He3__C15_g/Be12_He3__C15_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be12_a__C15_n/Be12_a__C15_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be12_a__C16_g/Be12_a__C16_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be12_d__B13_n/Be12_d__B13_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be12_d__B14_g/Be12_d__B14_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be12_p__B12_n/Be12_p__B12_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be12_p__B13_g/Be12_p__B13_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be12_p__Be10_t/Be12_p__Be10_t_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be12_p__Li9_a/Be12_p__Li9_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be12_t__B14_n/Be12_t__B14_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be12_t__B15_g/Be12_t__B15_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be7_He3__C10_g/Be7_He3__C10_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be7_He3__a_a_p_p/Be7_He3__a_a_p_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be7_He3__p_p_a_a/Be7_He3__p_p_a_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be7_a__C11_g/Be7_a__C11_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be7_d__a_a_p/Be7_d__a_a_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be7_n__Li7_p/Be7_n__Li7_p_parthenope3.0.txt +506 -0
- primat-0.3.0/primat/data/nuclear/tables/Be7_n__Li7_p/Be7_n__Li7_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be7_n__a_a/Be7_n__a_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be7_p__B8_g/Be7_p__B8_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be7_t__B10_g/Be7_t__B10_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be7_t__Be9_p/Be7_t__Be9_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be7_t__Li6_a/Be7_t__Li6_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be7_t__Li7_He3/Be7_t__Li7_He3_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be7_t__a_a_d/Be7_t__a_a_d_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be7_t__a_a_n_p/Be7_t__a_a_n_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be9_He3__B10_d/Be9_He3__B10_d_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be9_He3__B11_p/Be9_He3__B11_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be9_He3__C11_n/Be9_He3__C11_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be9_He3__C12_g/Be9_He3__C12_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be9_He3__a_a_a/Be9_He3__a_a_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be9_a__C12_n/Be9_a__C12_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be9_a__C13_g/Be9_a__C13_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be9_d__B10_n/Be9_d__B10_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be9_d__B11_g/Be9_d__B11_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be9_d__Be10_p/Be9_d__Be10_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be9_d__Li7_a/Be9_d__Li7_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be9_d__a_a_t/Be9_d__a_a_t_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be9_n__Be10_g/Be9_n__Be10_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be9_p__B10_g/Be9_p__B10_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be9_p__Li6_a/Be9_p__Li6_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be9_p__a_a_d/Be9_p__a_a_d_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be9_p__a_a_p_n/Be9_p__a_a_p_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be9_t__B11_n/Be9_t__B11_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be9_t__B12_g/Be9_t__B12_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be9_t__Be10_d/Be9_t__Be10_d_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Be9_t__Li8_a/Be9_t__Li8_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C11_He3__C10_a/C11_He3__C10_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C11_He3__N13_p/C11_He3__N13_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C11_He3__O14_g/C11_He3__O14_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C11_a__N14_p/C11_a__N14_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C11_a__O15_g/C11_a__O15_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C11_d__C12_p/C11_d__C12_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C11_d__N13_g/C11_d__N13_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C11_n__C12_g/C11_n__C12_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C11_n__a_a_a/C11_n__a_a_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C11_p__N12_g/C11_p__N12_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C11_t__B10_a/C11_t__B10_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C11_t__B11_He3/C11_t__B11_He3_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C11_t__C12_d/C11_t__C12_d_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C11_t__C13_p/C11_t__C13_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C11_t__N13_n/C11_t__N13_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C11_t__N14_g/C11_t__N14_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C12_He3__C11_a/C12_He3__C11_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C12_He3__N14_p/C12_He3__N14_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C12_He3__O15_g/C12_He3__O15_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C12_a__O16_g/C12_a__O16_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C12_d__C13_p/C12_d__C13_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C12_d__N14_g/C12_d__N14_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C12_n__C13_g/C12_n__C13_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C12_p__N13_g/C12_p__N13_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C12_t__B11_a/C12_t__B11_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C12_t__C14_p/C12_t__C14_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C12_t__N14_n/C12_t__N14_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C12_t__N15_g/C12_t__N15_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C13_He3__C12_a/C13_He3__C12_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C13_He3__N15_p/C13_He3__N15_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C13_He3__O15_n/C13_He3__O15_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C13_He3__O16_g/C13_He3__O16_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C13_a__O16_n/C13_a__O16_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C13_a__O17_g/C13_a__O17_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C13_d__B11_a/C13_d__B11_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C13_d__C14_p/C13_d__C14_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C13_d__N14_n/C13_d__N14_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C13_d__N15_g/C13_d__N15_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C13_n__C14_g/C13_n__C14_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C13_p__N14_g/C13_p__N14_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C13_t__B12_a/C13_t__B12_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C13_t__C15_p/C13_t__C15_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C13_t__N15_n/C13_t__N15_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C13_t__N16_g/C13_t__N16_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C14_He3__C13_a/C14_He3__C13_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C14_He3__N16_p/C14_He3__N16_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C14_He3__O16_n/C14_He3__O16_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C14_He3__O17_g/C14_He3__O17_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C14_a__O18_g/C14_a__O18_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C14_d__B12_a/C14_d__B12_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C14_d__N15_n/C14_d__N15_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C14_d__N16_g/C14_d__N16_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C14_n__C15_g/C14_n__C15_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C14_p__N15_g/C14_p__N15_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C14_t__N16_n/C14_t__N16_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C14_t__N17_g/C14_t__N17_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C15_a__O18_n/C15_a__O18_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C15_a__O19_g/C15_a__O19_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C15_n__C16_g/C15_n__C16_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C15_p__B12_a/C15_p__B12_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C15_p__C14_d/C15_p__C14_d_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C15_p__N15_n/C15_p__N15_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C15_p__N16_g/C15_p__N16_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C9_a__N12_p/C9_a__N12_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C9_a__O13_g/C9_a__O13_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C9_d__C10_p/C9_d__C10_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C9_n__B8_d/C9_n__B8_d_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C9_n__Be7_He3/C9_n__Be7_He3_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C9_n__C10_g/C9_n__C10_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C9_t__B8_a/C9_t__B8_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C9_t__C11_p/C9_t__C11_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/C9_t__N12_g/C9_t__N12_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/F17_a__Na21_g/F17_a__Na21_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/F17_a__Ne20_p/F17_a__Ne20_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/F17_n__F18_g/F17_n__F18_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/F17_n__N14_a/F17_n__N14_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/F17_n__O17_p/F17_n__O17_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/F17_p__Ne18_g/F17_p__Ne18_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/F18_a__Na22_g/F18_a__Na22_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/F18_a__Ne21_p/F18_a__Ne21_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/F18_n__F19_g/F18_n__F19_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/F18_n__N15_a/F18_n__N15_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/F18_n__O18_p/F18_n__O18_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/F18_p__Ne19_g/F18_p__Ne19_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/F18_p__O15_a/F18_p__O15_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/F19_a__Na23_g/F19_a__Na23_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/F19_a__Ne22_p/F19_a__Ne22_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/F19_n__F20_g/F19_n__F20_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/F19_p__Ne20_g/F19_p__Ne20_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/F19_p__O16_a/F19_p__O16_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/He3_He3__a_p_p/He3_He3__a_p_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/He3_a__Be7_g/He3_a__Be7_g_parthenope3.0.txt +509 -0
- primat-0.3.0/primat/data/nuclear/tables/He3_a__Be7_g/He3_a__Be7_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/He3_d__a_p/He3_d__a_p_parthenope3.0.txt +509 -0
- primat-0.3.0/primat/data/nuclear/tables/He3_d__a_p/He3_d__a_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/He3_n__a_g/He3_n__a_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/He3_n__t_p/He3_n__t_p_parthenope3.0.txt +506 -0
- primat-0.3.0/primat/data/nuclear/tables/He3_n__t_p/He3_n__t_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/He3_t__Li6_g/He3_t__Li6_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/He3_t__a_d/He3_t__a_d_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/He3_t__a_n_p/He3_t__a_n_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li6_He3__Be7_d/Li6_He3__Be7_d_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li6_He3__a_a_p/Li6_He3__a_a_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li6_a__B10_g/Li6_a__B10_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li6_d__Be7_n/Li6_d__Be7_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li6_d__Li7_p/Li6_d__Li7_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li6_n__Li7_g/Li6_n__Li7_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li6_n__t_a/Li6_n__t_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li6_p__Be7_g/Li6_p__Be7_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li6_p__He3_a/Li6_p__He3_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li6_t__Be9_g/Li6_t__Be9_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li6_t__Li7_d/Li6_t__Li7_d_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li6_t__Li8_p/Li6_t__Li8_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li6_t__a_a_n/Li6_t__a_a_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li7_He3__B10_g/Li7_He3__B10_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li7_He3__Be9_p/Li7_He3__Be9_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li7_He3__Li6_a/Li7_He3__Li6_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li7_He3__a_a_d/Li7_He3__a_a_d_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li7_He3__a_a_n_p/Li7_He3__a_a_n_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li7_a__B10_n/Li7_a__B10_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li7_a__B11_g/Li7_a__B11_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li7_d__Be9_g/Li7_d__Be9_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li7_d__Li8_p/Li7_d__Li8_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li7_d__a_a_n/Li7_d__a_a_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li7_n__Li8_g/Li7_n__Li8_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li7_p__a_a/Li7_p__a_a_parthenope3.0.txt +509 -0
- primat-0.3.0/primat/data/nuclear/tables/Li7_p__a_a/Li7_p__a_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li7_p__a_a_g/Li7_p__a_a_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li7_t__Be10_g/Li7_t__Be10_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li7_t__Be9_n/Li7_t__Be9_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li7_t__a_a_n_n/Li7_t__a_a_n_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li8_He3__B10_n/Li8_He3__B10_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li8_He3__B11_g/Li8_He3__B11_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li8_He3__Be10_p/Li8_He3__Be10_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li8_He3__Be9_d/Li8_He3__Be9_d_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li8_He3__Li7_a/Li8_He3__Li7_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li8_He3__a_a_t/Li8_He3__a_a_t_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li8_a__B11_n/Li8_a__B11_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li8_a__B12_g/Li8_a__B12_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li8_d__Be10_g/Li8_d__Be10_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li8_d__Be9_n/Li8_d__Be9_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li8_d__Li7_t/Li8_d__Li7_t_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li8_d__Li9_p/Li8_d__Li9_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li8_n__Li9_g/Li8_n__Li9_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li8_p__Be9_g/Li8_p__Be9_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li8_p__a_a_n/Li8_p__a_a_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li8_t__Be10_n/Li8_t__Be10_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li8_t__Be11_g/Li8_t__Be11_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li9_He3__B11_n/Li9_He3__B11_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li9_He3__B12_g/Li9_He3__B12_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li9_He3__Be10_d/Li9_He3__Be10_d_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li9_He3__Be11_p/Li9_He3__Be11_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li9_He3__Be9_t/Li9_He3__Be9_t_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li9_He3__Li8_a/Li9_He3__Li8_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li9_a__B12_n/Li9_a__B12_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li9_a__B13_g/Li9_a__B13_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li9_d__Be10_n/Li9_d__Be10_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li9_d__Be11_g/Li9_d__Be11_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li9_d__Li8_t/Li9_d__Li8_t_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li9_p__Be10_g/Li9_p__Be10_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li9_p__Be9_n/Li9_p__Be9_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li9_p__He6_a/Li9_p__He6_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li9_p__Li7_t/Li9_p__Li7_t_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li9_t__Be11_n/Li9_t__Be11_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Li9_t__Be12_g/Li9_t__Be12_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/N12_a__O15_p/N12_a__O15_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/N12_n__C11_d/N12_n__C11_d_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/N12_n__C12_p/N12_n__C12_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/N12_n__N13_g/N12_n__N13_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/N12_p__O13_g/N12_p__O13_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/N13_a__F17_g/N13_a__F17_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/N13_n__C12_d/N13_n__C12_d_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/N13_n__C13_p/N13_n__C13_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/N13_n__N14_g/N13_n__N14_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/N13_p__O14_g/N13_p__O14_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/N14_a__F18_g/N14_a__F18_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/N14_n__C14_p/N14_n__C14_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/N14_n__N15_g/N14_n__N15_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/N14_p__O15_g/N14_p__O15_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/N15_a__F19_g/N15_a__F19_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/N15_n__N16_g/N15_n__N16_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/N15_p__C12_a/N15_p__C12_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/N15_p__O16_g/N15_p__O16_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Na20_n__F17_a/Na20_n__F17_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Ne18_n__F18_p/Ne18_n__F18_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Ne18_n__O15_a/Ne18_n__O15_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Ne19_n__F19_p/Ne19_n__F19_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Ne19_n__O16_a/Ne19_n__O16_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/Ne19_p__Na20_g/Ne19_p__Na20_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/O14_a__F17_p/O14_a__F17_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/O14_a__Ne18_g/O14_a__Ne18_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/O14_n__C11_a/O14_n__C11_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/O14_n__C12_He3/O14_n__C12_He3_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/O14_n__N14_p/O14_n__N14_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/O14_n__O15_g/O14_n__O15_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/O15_a__Ne19_g/O15_a__Ne19_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/O15_n__C12_a/O15_n__C12_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/O15_n__N15_p/O15_n__N15_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/O15_n__O16_g/O15_n__O16_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/O16_a__Ne20_g/O16_a__Ne20_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/O16_n__O17_g/O16_n__O17_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/O16_p__F17_g/O16_p__F17_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/O16_p__N13_a/O16_p__N13_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/O17_a__Ne20_n/O17_a__Ne20_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/O17_a__Ne21_g/O17_a__Ne21_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/O17_n__C14_a/O17_n__C14_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/O17_n__O18_g/O17_n__O18_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/O17_p__F18_g/O17_p__F18_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/O17_p__N14_a/O17_p__N14_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/O18_a__Ne22_g/O18_a__Ne22_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/O18_n__O19_g/O18_n__O19_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/O18_p__F19_g/O18_p__F19_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/O18_p__N15_a/O18_p__N15_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/O19_a__Ne22_n/O19_a__Ne22_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/O19_a__Ne23_g/O19_a__Ne23_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/O19_n__O20_g/O19_n__O20_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/O19_p__F19_n/O19_p__F19_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/O19_p__F20_g/O19_p__F20_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/O19_p__N16_a/O19_p__N16_a_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/a_a_a__C12_g_g/a_a_a__C12_g_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/a_a_n__Be9_g/a_a_n__Be9_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/a_n_n__He6_g/a_n_n__He6_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/a_n_p__Li6_g/a_n_p__Li6_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/d_a__Li6_g/d_a__Li6_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/d_d__He3_n/d_d__He3_n_parthenope3.0.txt +509 -0
- primat-0.3.0/primat/data/nuclear/tables/d_d__He3_n/d_d__He3_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/d_d__a_g/d_d__a_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/d_d__t_p/d_d__t_p_parthenope3.0.txt +509 -0
- primat-0.3.0/primat/data/nuclear/tables/d_d__t_p/d_d__t_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/d_n__t_g/d_n__t_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/d_p__He3_g/d_p__He3_g_parthenope3.0.txt +509 -0
- primat-0.3.0/primat/data/nuclear/tables/d_p__He3_g/d_p__He3_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/decays.txt +47 -0
- primat-0.3.0/primat/data/nuclear/tables/n_p__d_g/n_p__d_g_parthenope3.0.txt +506 -0
- primat-0.3.0/primat/data/nuclear/tables/n_p__d_g/n_p__d_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/p_p_n__d_p/p_p_n__d_p_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/t_a__Li7_g/t_a__Li7_g_parthenope3.0.txt +509 -0
- primat-0.3.0/primat/data/nuclear/tables/t_a__Li7_g/t_a__Li7_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/t_d__a_n/t_d__a_n_parthenope3.0.txt +509 -0
- primat-0.3.0/primat/data/nuclear/tables/t_d__a_n/t_d__a_n_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/t_p__a_g/t_p__a_g_parthenope3.0.txt +506 -0
- primat-0.3.0/primat/data/nuclear/tables/t_p__a_g/t_p__a_g_primat.txt +503 -0
- primat-0.3.0/primat/data/nuclear/tables/t_t__a_n_n/t_t__a_n_n_primat.txt +503 -0
- primat-0.3.0/primat/data/plasma/QED_P_int.txt +502 -0
- primat-0.3.0/primat/data/plasma/QED_d2P_intdT2.txt +502 -0
- primat-0.3.0/primat/data/plasma/QED_dP_intdT.txt +502 -0
- primat-0.3.0/primat/data/plasma/electron_thermo_cache.txt +2003 -0
- primat-0.3.0/primat/data/weak/nTOp_2218248995f018af.txt +323 -0
- primat-0.3.0/primat/data/weak/nTOp_631e4ebd94ca4c87.txt +323 -0
- primat-0.3.0/primat/data/weak/nTOp_6b32e444a6085fd8.txt +323 -0
- primat-0.3.0/primat/data/weak/nTOp_b9f6714b054fa81c.txt +323 -0
- primat-0.3.0/primat/data/weak/nTOp_thermal_0eccbdd5dbb5dd93.txt +61 -0
- primat-0.3.0/primat/data/weak/nTOp_thermal_347acddd9ac84e46.txt +61 -0
- primat-0.3.0/primat/data/weak/nTOp_thermal_a76b4e267077eae2.txt +61 -0
- primat-0.3.0/primat/data/weak/nTOp_thermal_e87eaa48ded545f7.txt +61 -0
- primat-0.3.0/primat/evolution.py +221 -0
- primat-0.3.0/primat/gui/.streamlit/config.toml +18 -0
- primat-0.3.0/primat/gui/__init__.py +15 -0
- primat-0.3.0/primat/gui/app.py +525 -0
- primat-0.3.0/primat/gui/custom_rates.py +655 -0
- primat-0.3.0/primat/gui/launcher.py +62 -0
- primat-0.3.0/primat/gui/panels.py +634 -0
- primat-0.3.0/primat/gui/params_form.py +1732 -0
- primat-0.3.0/primat/gui/run_view.py +90 -0
- primat-0.3.0/primat/gui/session_keys.py +165 -0
- primat-0.3.0/primat/main.py +958 -0
- primat-0.3.0/primat/network_builder.py +442 -0
- primat-0.3.0/primat/network_data.py +2102 -0
- primat-0.3.0/primat/neutrino_history.py +883 -0
- primat-0.3.0/primat/nuclear_network.py +805 -0
- primat-0.3.0/primat/plasma.py +922 -0
- primat-0.3.0/primat/plotting.py +252 -0
- primat-0.3.0/primat/qed_pressure.py +454 -0
- primat-0.3.0/primat/weak_rates/__init__.py +83 -0
- primat-0.3.0/primat/weak_rates/api.py +266 -0
- primat-0.3.0/primat/weak_rates/cache.py +186 -0
- primat-0.3.0/primat/weak_rates/corrections.py +1359 -0
- primat-0.3.0/primat/weak_rates/integrands.py +188 -0
- primat-0.3.0/primat-c/include/cprimat/api.h +120 -0
- primat-0.3.0/primat-c/include/cprimat/background.h +195 -0
- primat-0.3.0/primat-c/include/cprimat/cache.h +72 -0
- primat-0.3.0/primat-c/include/cprimat/cli.h +15 -0
- primat-0.3.0/primat-c/include/cprimat/config.h +292 -0
- primat-0.3.0/primat-c/include/cprimat/constants.h +96 -0
- primat-0.3.0/primat-c/include/cprimat/ini.h +25 -0
- primat-0.3.0/primat-c/include/cprimat/linalg.h +31 -0
- primat-0.3.0/primat-c/include/cprimat/log.h +19 -0
- primat-0.3.0/primat-c/include/cprimat/mc.h +96 -0
- primat-0.3.0/primat-c/include/cprimat/network_builder.h +132 -0
- primat-0.3.0/primat-c/include/cprimat/network_data.h +298 -0
- primat-0.3.0/primat-c/include/cprimat/neutrino_history.h +165 -0
- primat-0.3.0/primat-c/include/cprimat/nuclear_network.h +132 -0
- primat-0.3.0/primat-c/include/cprimat/ode_bdf.h +59 -0
- primat-0.3.0/primat-c/include/cprimat/ode_rk.h +45 -0
- primat-0.3.0/primat-c/include/cprimat/plasma.h +140 -0
- primat-0.3.0/primat-c/include/cprimat/qed_pressure.h +112 -0
- primat-0.3.0/primat-c/include/cprimat/quad.h +35 -0
- primat-0.3.0/primat-c/include/cprimat/rng.h +35 -0
- primat-0.3.0/primat-c/include/cprimat/spline.h +79 -0
- primat-0.3.0/primat-c/include/cprimat/table_io.h +38 -0
- primat-0.3.0/primat-c/include/cprimat/vegas.h +50 -0
- primat-0.3.0/primat-c/include/cprimat/weak_rates.h +98 -0
- primat-0.3.0/primat-c/src/api.c +338 -0
- primat-0.3.0/primat-c/src/background.c +891 -0
- primat-0.3.0/primat-c/src/cache.c +390 -0
- primat-0.3.0/primat-c/src/cli.c +288 -0
- primat-0.3.0/primat-c/src/config.c +632 -0
- primat-0.3.0/primat-c/src/constants.c +117 -0
- primat-0.3.0/primat-c/src/ini.c +71 -0
- primat-0.3.0/primat-c/src/linalg.c +83 -0
- primat-0.3.0/primat-c/src/log.c +17 -0
- primat-0.3.0/primat-c/src/main.c +6 -0
- primat-0.3.0/primat-c/src/mc.c +315 -0
- primat-0.3.0/primat-c/src/network_builder.c +276 -0
- primat-0.3.0/primat-c/src/network_data.c +1332 -0
- primat-0.3.0/primat-c/src/neutrino_history.c +631 -0
- primat-0.3.0/primat-c/src/nuclear_network.c +551 -0
- primat-0.3.0/primat-c/src/ode_bdf.c +558 -0
- primat-0.3.0/primat-c/src/ode_rk.c +150 -0
- primat-0.3.0/primat-c/src/plasma.c +430 -0
- primat-0.3.0/primat-c/src/qed_pressure.c +209 -0
- primat-0.3.0/primat-c/src/quad.c +84 -0
- primat-0.3.0/primat-c/src/rng.c +57 -0
- primat-0.3.0/primat-c/src/spline.c +228 -0
- primat-0.3.0/primat-c/src/table_io.c +130 -0
- primat-0.3.0/primat-c/src/vegas.c +204 -0
- primat-0.3.0/primat-c/src/weak_rates.c +1300 -0
- primat-0.3.0/primat.egg-info/PKG-INFO +415 -0
- primat-0.3.0/primat.egg-info/SOURCES.txt +549 -0
- primat-0.3.0/primat.egg-info/dependency_links.txt +1 -0
- primat-0.3.0/primat.egg-info/entry_points.txt +3 -0
- primat-0.3.0/primat.egg-info/requires.txt +21 -0
- primat-0.3.0/primat.egg-info/top_level.txt +1 -0
- primat-0.3.0/pyproject.toml +52 -0
- primat-0.3.0/setup.cfg +4 -0
- primat-0.3.0/setup.py +90 -0
- primat-0.3.0/tests/test_api.py +127 -0
- primat-0.3.0/tests/test_backend_parity.py +323 -0
- primat-0.3.0/tests/test_cache_utils.py +89 -0
- primat-0.3.0/tests/test_cli.py +89 -0
- primat-0.3.0/tests/test_config.py +123 -0
- primat-0.3.0/tests/test_constants.py +38 -0
- primat-0.3.0/tests/test_custom_background.py +221 -0
- primat-0.3.0/tests/test_custom_loader.py +201 -0
- primat-0.3.0/tests/test_decay_rates.py +322 -0
- primat-0.3.0/tests/test_decoupling_qed.py +390 -0
- primat-0.3.0/tests/test_detailed_balance.py +31 -0
- primat-0.3.0/tests/test_deuterium_network.py +54 -0
- primat-0.3.0/tests/test_docs_consistency.py +95 -0
- primat-0.3.0/tests/test_evolution.py +54 -0
- primat-0.3.0/tests/test_gui.py +376 -0
- primat-0.3.0/tests/test_gui_custom_network.py +943 -0
- primat-0.3.0/tests/test_large_network.py +141 -0
- primat-0.3.0/tests/test_mc.py +284 -0
- primat-0.3.0/tests/test_network_builder.py +258 -0
- primat-0.3.0/tests/test_network_generation.py +192 -0
- primat-0.3.0/tests/test_neutrino_history.py +176 -0
- primat-0.3.0/tests/test_notebooks.py +58 -0
- primat-0.3.0/tests/test_nuclear.py +84 -0
- primat-0.3.0/tests/test_nuclear_qed.py +221 -0
- primat-0.3.0/tests/test_plasma.py +104 -0
- primat-0.3.0/tests/test_qed_pressure.py +188 -0
- primat-0.3.0/tests/test_rate_variations.py +55 -0
- primat-0.3.0/tests/test_refactor_invariants.py +156 -0
- primat-0.3.0/tests/test_regression.py +174 -0
- primat-0.3.0/tests/test_spectral_distortions.py +253 -0
- primat-0.3.0/tests/test_weak_rates.py +650 -0
- primat-0.3.0/tests/test_wheel_smoke.py +102 -0
primat-0.3.0/LICENCE
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
primat performs a numerical integration of the Big-Bang Nucleosynthesis (BBN).
|
|
2
|
+
|
|
3
|
+
Copyright (C) 2026 Cyril Pitrou (pitrou@iap.fr), and Julien Froustey
|
|
4
|
+
|
|
5
|
+
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
|
|
6
|
+
|
|
7
|
+
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
8
|
+
|
|
9
|
+
You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
|
primat-0.3.0/MANIFEST.in
ADDED
primat-0.3.0/PKG-INFO
ADDED
|
@@ -0,0 +1,415 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: primat
|
|
3
|
+
Version: 0.3.0
|
|
4
|
+
Summary: PRIMAT: precise Big Bang Nucleosynthesis computations, with a fast C backend and a pure-Python fallback
|
|
5
|
+
Author-email: Cyril Pitrou <pitrou@iap.fr>
|
|
6
|
+
Maintainer: Julien Froustey
|
|
7
|
+
License: primat performs a numerical integration of the Big-Bang Nucleosynthesis (BBN).
|
|
8
|
+
|
|
9
|
+
Copyright (C) 2026 Cyril Pitrou (pitrou@iap.fr), and Julien Froustey
|
|
10
|
+
|
|
11
|
+
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
|
|
12
|
+
|
|
13
|
+
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
14
|
+
|
|
15
|
+
You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
16
|
+
Requires-Python: >=3.10
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
License-File: LICENCE
|
|
19
|
+
Requires-Dist: numpy
|
|
20
|
+
Requires-Dist: scipy
|
|
21
|
+
Requires-Dist: joblib
|
|
22
|
+
Requires-Dist: plotly
|
|
23
|
+
Provides-Extra: recommended
|
|
24
|
+
Requires-Dist: numba; extra == "recommended"
|
|
25
|
+
Requires-Dist: vegas; extra == "recommended"
|
|
26
|
+
Provides-Extra: all
|
|
27
|
+
Requires-Dist: numba; extra == "all"
|
|
28
|
+
Requires-Dist: vegas; extra == "all"
|
|
29
|
+
Provides-Extra: notebooks
|
|
30
|
+
Requires-Dist: matplotlib; extra == "notebooks"
|
|
31
|
+
Requires-Dist: pandas; extra == "notebooks"
|
|
32
|
+
Requires-Dist: papermill; extra == "notebooks"
|
|
33
|
+
Provides-Extra: gui
|
|
34
|
+
Requires-Dist: streamlit; extra == "gui"
|
|
35
|
+
Requires-Dist: pandas; extra == "gui"
|
|
36
|
+
Dynamic: license-file
|
|
37
|
+
|
|
38
|
+
# primat
|
|
39
|
+
|
|
40
|
+
A precise Big Bang Nucleosynthesis (BBN) solver. It integrates coupled ODEs
|
|
41
|
+
for the cosmological background (photon/neutrino temperatures, scale factor)
|
|
42
|
+
and a nuclear reaction network to predict primordial abundances of H, D,
|
|
43
|
+
He3, He4, Li7, and heavier nuclides.
|
|
44
|
+
|
|
45
|
+
## Installation
|
|
46
|
+
|
|
47
|
+
**For most users:**
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
pip install primat
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
That's it. The package includes a fast C backend compiled for your platform,
|
|
54
|
+
with a pure-Python fallback if no compiled binary is available — both give
|
|
55
|
+
identical results, just different speed.
|
|
56
|
+
|
|
57
|
+
**For development, examples, and notebooks:**
|
|
58
|
+
|
|
59
|
+
Clone the repository and install in editable mode:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
git clone <repo-url>
|
|
63
|
+
cd PyPRIMAT
|
|
64
|
+
pip install -e .
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
With optional dependencies for best performance:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
pip install -e ".[recommended]"
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
| Package | Role |
|
|
74
|
+
|---------|------|
|
|
75
|
+
| `numpy`, `scipy`, `joblib`, `plotly` | **Mandatory** (installed by `pip install primat`) |
|
|
76
|
+
| `numba` | Recommended — JIT compilation gives ~5× speedup on rate kernels |
|
|
77
|
+
| `vegas` | Recommended — Monte Carlo integration for thermal weak-rate corrections |
|
|
78
|
+
|
|
79
|
+
For the graphical interface (`primat-gui`), install the `gui` extra:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
pip install "primat[gui]"
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
| Package | Role |
|
|
86
|
+
|---------|------|
|
|
87
|
+
| `streamlit` | **Required for `primat-gui`** — the web app framework |
|
|
88
|
+
| `pandas` | **Required for `primat-gui`** — final-abundance table |
|
|
89
|
+
|
|
90
|
+
For the example notebooks, install from source:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
pip install -e ".[notebooks]"
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
| Package | Role |
|
|
97
|
+
|---------|------|
|
|
98
|
+
| `matplotlib`, `pandas` | Plotting and tabular display in the notebooks |
|
|
99
|
+
|
|
100
|
+
## Quick start
|
|
101
|
+
|
|
102
|
+
```python
|
|
103
|
+
from primat.backend import run_bbn
|
|
104
|
+
|
|
105
|
+
result = run_bbn({"Omegabh2": 0.022425})
|
|
106
|
+
|
|
107
|
+
print(f"YP (BBN) = {result['YPBBN']:.6f}") # ~0.246915
|
|
108
|
+
print(f"D/H = {result['DoH']:.5e}") # ~2.43647e-05
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
`run_bbn()` is the main entry point and automatically selects the best available
|
|
112
|
+
backend (fast C engine by default, pure-Python fallback if needed). Pass an optional
|
|
113
|
+
parameter dict to override defaults; all keys are optional and drawn from
|
|
114
|
+
`primat/config.py`'s `DEFAULT_PARAMS`.
|
|
115
|
+
|
|
116
|
+
## Using primat
|
|
117
|
+
|
|
118
|
+
There are four ways to use primat, all of which produce identical results:
|
|
119
|
+
|
|
120
|
+
### 1. Python API (recommended)
|
|
121
|
+
|
|
122
|
+
```python
|
|
123
|
+
from primat.backend import run_bbn
|
|
124
|
+
|
|
125
|
+
# Automatically selects C backend if available, falls back to pure-Python
|
|
126
|
+
result = run_bbn({"Omegabh2": 0.022425, "network": "large"})
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
To force a specific backend:
|
|
130
|
+
|
|
131
|
+
```python
|
|
132
|
+
result = run_bbn({"network": "small"}, force_backend="c") # C only
|
|
133
|
+
result = run_bbn({"network": "small"}, force_backend="python") # Python only
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### 2. Command-line interface
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
primat --Omegabh2 0.02242 --network large --amax 8
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Output:
|
|
143
|
+
```
|
|
144
|
+
Neff = 3.04397730
|
|
145
|
+
YP (BBN) = 0.24699808
|
|
146
|
+
YP (CMB) = 0.24567178
|
|
147
|
+
D/H = 2.4365389e-05
|
|
148
|
+
He3/H = 1.0397042e-05
|
|
149
|
+
He3/He4 = 1.2677615e-04
|
|
150
|
+
Li7/H = 5.501865e-10
|
|
151
|
+
Li6/Li7 = 1.418945e-05
|
|
152
|
+
--- running time: 3.67 seconds ---
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
| Flag | Description |
|
|
156
|
+
|------|-------------|
|
|
157
|
+
| `--Omegabh2 VALUE` | Baryon density Ω_b h² (default: 0.022425) |
|
|
158
|
+
| `--DeltaNeff VALUE` | Extra relativistic degrees of freedom (default: 0) |
|
|
159
|
+
| `--network {small,small_parthenope,large}` | Nuclear reaction network (default: small) |
|
|
160
|
+
| `--amax A` | Drop reactions involving any nuclide with mass number > A; applies to any network |
|
|
161
|
+
| `--numerical_precision RTOL` | `solve_ivp` relative tolerance (default: 1e-7) |
|
|
162
|
+
| `--backend {auto,c,python}` | Force a backend (default: `auto`) |
|
|
163
|
+
| `--json` | Print full results dict as JSON instead of summary |
|
|
164
|
+
| `--verbose` | Enable progress messages (timings, cache hits, ...) |
|
|
165
|
+
|
|
166
|
+
For parameters not exposed as command-line flags, use the Python API.
|
|
167
|
+
|
|
168
|
+
### 3. Graphical interface (GUI)
|
|
169
|
+
|
|
170
|
+
After installing the `gui` extra:
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
primat-gui
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
The browser-based app offers a parameter form, interactive abundance-evolution
|
|
177
|
+
plot, and final-abundances panel. It uses the pure-Python backend to support
|
|
178
|
+
custom networks and time-evolution output.
|
|
179
|
+
|
|
180
|
+
### 4. Example scripts (development/source-only)
|
|
181
|
+
|
|
182
|
+
Clone the repo and run from the root:
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
python runfiles/PyPRIMAT_run.py # Standard SM run
|
|
186
|
+
python runfiles/PyPRIMAT_compare.py # Network comparison
|
|
187
|
+
python runfiles/PyPRIMAT_reference_run.py # High-precision run (~2 min)
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
## Backend selection
|
|
191
|
+
|
|
192
|
+
`run_bbn()` automatically picks the best available backend:
|
|
193
|
+
- **Default (`force_backend=None` or `"auto"`)**: C engine if available
|
|
194
|
+
(pre-compiled in wheels), pure-Python fallback otherwise
|
|
195
|
+
- **Force C (`force_backend="c"`)**: Raises if C backend is unavailable
|
|
196
|
+
- **Force Python (`force_backend="python"`)**: Useful for development or
|
|
197
|
+
when using Python-only features
|
|
198
|
+
|
|
199
|
+
Python-only features (that force fallback to pure-Python even with
|
|
200
|
+
`force_backend="auto"`):
|
|
201
|
+
- `custom_network` (GUI "Create custom network" feature)
|
|
202
|
+
- `output_time_evolution=True` (write full time series)
|
|
203
|
+
- `extra_rho`, `background=` arguments
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
## Key parameters
|
|
207
|
+
|
|
208
|
+
| Parameter | Default | Description |
|
|
209
|
+
|-----------|---------|-------------|
|
|
210
|
+
| `Omegabh2` | 0.022425 | Baryon density |
|
|
211
|
+
| `DeltaNeff` | 0.0 | Extra relativistic degrees of freedom |
|
|
212
|
+
| `network` | `"small"` | `"small"` (12 reactions) / `"small_parthenope"` (12, Parthenope 3.0 tables) / `"large"` (~429), optionally restricted via `amax`. |
|
|
213
|
+
| `numerical_precision` | 1e-7 | ODE solver rtol |
|
|
214
|
+
| `sampling_temperature_per_decade` | 400 | Background grid points per decade of T |
|
|
215
|
+
| `sampling_nTOp_per_decade` | 80 | n↔p rate grid points per decade of T |
|
|
216
|
+
| `weak_rate_cache` | True | If False, never load n↔p rates from `data/weak/` (always recompute) |
|
|
217
|
+
| `save_nTOp` | True | Save recomputed n↔p rates to `data/weak/` with a fingerprint header |
|
|
218
|
+
| `thermal_corrections` | True | Include thermal radiative corrections (CCRTh) to the n↔p rates |
|
|
219
|
+
| `save_nTOp_thermal` | True | Save recomputed thermal corrections to `data/weak/` with a fingerprint header |
|
|
220
|
+
| `output_time_evolution` | False | Write time-evolution table to `output_file` |
|
|
221
|
+
| `output_file` | `results/output_tables.tsv` | Output file path (relative paths resolve against the current working directory) |
|
|
222
|
+
| `output_n_points` | 500 | Number of interpolated rows in output file |
|
|
223
|
+
|
|
224
|
+
### n↔p weak rate workflow
|
|
225
|
+
|
|
226
|
+
The n↔p weak rates are the most expensive part of initialisation (~1.8 s). The
|
|
227
|
+
non-thermal rate (Born+FM+CCR+SD) is cached in `data/weak/nTOp_<hash>.txt`
|
|
228
|
+
(forward and backward columns together); the finite-temperature radiative
|
|
229
|
+
correction (CCRTh) is cached separately in `data/weak/nTOp_thermal_<hash>.txt`.
|
|
230
|
+
Each file is tagged with a *fingerprint* header: a hash of every config field
|
|
231
|
+
that affects its numeric content (background thermodynamics,
|
|
232
|
+
`sampling_nTOp_per_decade`/`sampling_nTOp_thermal_per_decade`,
|
|
233
|
+
`radiative_corrections`, `finite_mass_corrections`, `thermal_corrections`, etc.
|
|
234
|
+
— see `primat.weak_rates`). At every run:
|
|
235
|
+
|
|
236
|
+
- If `weak_rate_cache=True` (default) and a cache file's fingerprint matches the
|
|
237
|
+
current configuration, the corresponding rates are loaded directly —
|
|
238
|
+
initialisation is effectively instantaneous.
|
|
239
|
+
- Otherwise (fingerprint mismatch, missing file, or `weak_rate_cache=False`), the
|
|
240
|
+
rates are recomputed from scratch by numerical integration (~1.8 s).
|
|
241
|
+
- `save_nTOp` and `save_nTOp_thermal` (both default **`True`**) write the
|
|
242
|
+
(re)computed rates back to `data/weak/` with a fresh fingerprint header, so
|
|
243
|
+
future runs with the same configuration load the cache. The hash is part of
|
|
244
|
+
the filename, so different configurations coexist without overwriting each
|
|
245
|
+
other — set either flag to `False` only to avoid littering `data/weak/`
|
|
246
|
+
during throwaway experiments.
|
|
247
|
+
|
|
248
|
+
Recomputing the thermal correction (`thermal_corrections=True`) requires a
|
|
249
|
+
`vegas` Monte Carlo integration that can take minutes to hours; the
|
|
250
|
+
fingerprint mechanism above is what makes this avoidable across runs that
|
|
251
|
+
share the same configuration.
|
|
252
|
+
|
|
253
|
+
**Typical workflow for a high-precision study:**
|
|
254
|
+
```python
|
|
255
|
+
from primat.backend import run_bbn
|
|
256
|
+
|
|
257
|
+
# Step 1 – compute and save high-precision rates once (non-default
|
|
258
|
+
# sampling_nTOp_per_decade gives a fingerprint that the shipped cache won't
|
|
259
|
+
# match, so this recomputes; save_nTOp=True is the default)
|
|
260
|
+
result1 = run_bbn({"save_nTOp": True, "sampling_nTOp_per_decade": 160})
|
|
261
|
+
|
|
262
|
+
# Step 2 – all subsequent runs with the same sampling_nTOp_per_decade reuse the saved tables
|
|
263
|
+
result2 = run_bbn({"sampling_nTOp_per_decade": 160})
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
### Custom NEVO tables
|
|
267
|
+
|
|
268
|
+
The neutrino-decoupling history is read from `data/NEVO/`. Three optional
|
|
269
|
+
parameters point at alternative tables instead (filenames resolved relative
|
|
270
|
+
to `data/NEVO/`, or absolute paths): `nevo_file` (6/7-column thermo table),
|
|
271
|
+
`nevo_spectral_file` (spectral-distortion table, used only when
|
|
272
|
+
`spectral_distortions=True` and `analytic_distortions=False`), and
|
|
273
|
+
`nevo_grid_file` (its y-grid, length must match `nevo_spectral_file`'s
|
|
274
|
+
spectral-column count). Each defaults to `None` (the shipped table selected by
|
|
275
|
+
`QED_corrections`); a custom file is validated for existence and shape at
|
|
276
|
+
construction time, and is included in the n↔p weak-rate cache fingerprint so
|
|
277
|
+
a different table correctly triggers a recompute.
|
|
278
|
+
|
|
279
|
+
Each nuclear reaction rate has a `p_<name>` parameter (e.g. `p_npTOdg`) for uncertainty propagation: setting it to a non-zero float samples the rate at `median × exp(p × σ)`.
|
|
280
|
+
|
|
281
|
+
### Rates overlay (custom networks/tables without editing the install)
|
|
282
|
+
|
|
283
|
+
`user_rates_dir` points at a directory with the same `nuclear/networks/`
|
|
284
|
+
and/or `nuclear/tables/<name>/` layout as the shipped `data/` tree; any
|
|
285
|
+
network file or per-reaction table found there is used instead of the
|
|
286
|
+
shipped one, while everything not overridden still falls back to the
|
|
287
|
+
shipped default (an additive overlay, not a takeover). `rates_dir` instead
|
|
288
|
+
fully replaces the shipped tree as the first lookup base (still falling
|
|
289
|
+
back to the shipped tree as a last resort, so `small`/`large` never
|
|
290
|
+
disappear). Both default to `None` and are validated as existing
|
|
291
|
+
directories at construction time.
|
|
292
|
+
|
|
293
|
+
## Output
|
|
294
|
+
|
|
295
|
+
`solve()` returns a dict:
|
|
296
|
+
|
|
297
|
+
| Key | Description |
|
|
298
|
+
|-----|-------------|
|
|
299
|
+
| `YPBBN` | Helium-4 mass fraction (BBN convention) |
|
|
300
|
+
| `YPCMB` | Helium-4 mass fraction (CMB convention) |
|
|
301
|
+
| `DoH` | D/H |
|
|
302
|
+
| `He3oH` | ((He3+T)/H |
|
|
303
|
+
| `Li7oH` | (Li7+Be7)/H |
|
|
304
|
+
| `Neff` | Effective number of neutrino species |
|
|
305
|
+
| `Omeganurel` | Ω_ν h² × 10⁶ (relativistic) |
|
|
306
|
+
| `OneOverOmeganunr` | 1 / (Ω_ν h² × 10⁻⁶) (non-relativistic) |
|
|
307
|
+
|
|
308
|
+
When `output_time_evolution=True`, a TSV file is written with columns:
|
|
309
|
+
`a, T, t, H, Tnue, Tnumu, Tnutau, [Nheating], [abundances], n_to_p_weak_rate, p_to_n_weak_rate, [nuclear rates]`
|
|
310
|
+
|
|
311
|
+
`Nheating` is included only for `incomplete_decoupling=True` (a real NEVO
|
|
312
|
+
heating table). `[abundances]` is one `Y<species>` column per nuclide of the
|
|
313
|
+
chosen network (8 for small/small_parthenope, ~59 for large, fewer with an
|
|
314
|
+
`amax` cutoff). `[nuclear rates]` (`output_rates_time_evolution=True`) is
|
|
315
|
+
available for small/small_parthenope only; it is omitted (with a printed
|
|
316
|
+
note) for `network="large"`.
|
|
317
|
+
|
|
318
|
+
## Architecture
|
|
319
|
+
|
|
320
|
+
```
|
|
321
|
+
primat/ Core Python package
|
|
322
|
+
backend.py Main entry point: run_bbn() dispatch (C vs pure-Python)
|
|
323
|
+
config.py PRIMATConfig: all physical constants + run-time flags
|
|
324
|
+
main.py PRIMAT class: low-level Python implementation
|
|
325
|
+
background.py Cosmological background (a<->t<->T, weak rates, Neff)
|
|
326
|
+
nuclear_network.py Nuclear network ODE integration (HT/MT/LT eras)
|
|
327
|
+
plasma.py Plasma thermodynamics (QED corrections, neutrino bath)
|
|
328
|
+
qed_pressure.py Analytical QED plasma-pressure corrections
|
|
329
|
+
network_data.py Nuclear network definition and loading
|
|
330
|
+
network_builder.py Generic stoichiometry-driven ODE builders (numba kernels)
|
|
331
|
+
weak_rates/ n <-> p weak rate computation (integrands, corrections, cache)
|
|
332
|
+
neutrino_history.py NEVO non-instantaneous decoupling table I/O
|
|
333
|
+
evolution.py Unified time-evolution TSV schema
|
|
334
|
+
cli.py `primat` command-line entry point
|
|
335
|
+
gui/ `primat-gui` Streamlit app (optional, source-only)
|
|
336
|
+
data/ Shipped rate tables and network definitions
|
|
337
|
+
_primat_c/ Compiled C extension bridge (wraps primat-c/)
|
|
338
|
+
|
|
339
|
+
primat/data/
|
|
340
|
+
nuclear/
|
|
341
|
+
tables/ Per-reaction rate tables (one folder per reaction)
|
|
342
|
+
networks/ Network list files (small.txt, large.txt, custom.txt, etc.)
|
|
343
|
+
csv/ Reaction catalog (nuclides.csv, detailed_balance.csv, etc.)
|
|
344
|
+
plasma/ Pre-computed QED pressure tables
|
|
345
|
+
weak/ Cached n↔p forward/backward rates
|
|
346
|
+
NEVO/ Neutrino-decoupling history tables
|
|
347
|
+
|
|
348
|
+
primat-c/ Standalone C99 port (independent build via `make`)
|
|
349
|
+
Also compiled as extension for the Python backend.
|
|
350
|
+
See primat-c/README.md for details.
|
|
351
|
+
|
|
352
|
+
generate_rates/ Offline rate-table generator (one-time use)
|
|
353
|
+
Converts AC2024 compilation to primat format
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
### Backend dispatch
|
|
357
|
+
|
|
358
|
+
`run_bbn()` (`primat/backend.py`) is the single entry point:
|
|
359
|
+
- **C backend** (default): Precompiled in wheels, ~25× faster, deterministic numerical
|
|
360
|
+
differences (~1e-8 relative) vs. Python that are budgeted separately
|
|
361
|
+
- **Python backend** (fallback or explicit): Pure Python, all features, no
|
|
362
|
+
compilation needed, slightly slower, useful for development
|
|
363
|
+
|
|
364
|
+
All three interfaces (Python API, CLI, GUI) ultimately call `run_bbn()`
|
|
365
|
+
or the pure-Python fallback.
|
|
366
|
+
|
|
367
|
+
### Networks
|
|
368
|
+
|
|
369
|
+
Two named networks (plus a Parthenope-rates variant of the small one) are
|
|
370
|
+
available via the `network` flag; `amax` (any positive integer) further
|
|
371
|
+
restricts *any* of them to reactions whose nuclides all have mass number
|
|
372
|
+
A ≤ amax:
|
|
373
|
+
|
|
374
|
+
| `network` | Reactions | Nuclides | Notes |
|
|
375
|
+
|-----------|-----------|----------|-------|
|
|
376
|
+
| `"small"` | 12 | 8 | the key reactions; fastest |
|
|
377
|
+
| `"small_parthenope"` | 12 | 8 | same reactions, Parthenope 3.0 rate tables (comparison runs) |
|
|
378
|
+
| `"large"` | ~429 | ~59 | from the AC2024 compilation; LT era only |
|
|
379
|
+
| `"large"`, `amax=8` | 68 | 12 | the old "medium" network's exact equivalent |
|
|
380
|
+
| `"large"`, `amax=2` | 3 | 3 | the old "deuterium" network's equivalent (n↔p + n_p__d_g + p_p_n__d_p) |
|
|
381
|
+
|
|
382
|
+
All networks share the HT (n↔p) and MT eras (the MT era always uses a fixed
|
|
383
|
+
18-reaction subset, too stiff to run the full network); only the LT reaction
|
|
384
|
+
set is filtered by `network`/`amax`. The light-element abundances of the full
|
|
385
|
+
large network match the `amax=8` restriction to ≲1e-4; its heavy-nuclide tail
|
|
386
|
+
(B, C, N, O, …) is approximate. See `notebooks/AbundanceEvolution.ipynb` for
|
|
387
|
+
evolution plots.
|
|
388
|
+
|
|
389
|
+
### Custom networks (GUI)
|
|
390
|
+
|
|
391
|
+
The `primat-gui` sidebar's "Nuclear reactions" group offers **"Create
|
|
392
|
+
custom network"** (a popup to start from any named network, toggle reactions
|
|
393
|
+
in/out by mass-number category, and substitute or upload alternate rate
|
|
394
|
+
tables) and **"Import custom network"** (re-load a previously saved
|
|
395
|
+
`.zip`).
|
|
396
|
+
|
|
397
|
+
## Cobaya / MCMC interface
|
|
398
|
+
|
|
399
|
+
A wrapper for primat is available for use
|
|
400
|
+
with [Cobaya](https://cobaya.readthedocs.io), allowing BBN to be embedded directly
|
|
401
|
+
in MCMC analyses of CMB or other cosmological data. The wrapper exposes
|
|
402
|
+
`Omegabh2`, `DeltaNeff`, and the nuclear-rate uncertainty parameters as Cobaya
|
|
403
|
+
theory/likelihood inputs and returns the standard BBN observables (`YPBBN`, `DoH`,
|
|
404
|
+
etc.) for use in a likelihood.
|
|
405
|
+
|
|
406
|
+
## Citation
|
|
407
|
+
|
|
408
|
+
If you use primat please cite:
|
|
409
|
+
|
|
410
|
+
> Pitrou, Coc, Uzan, Vangioni, *Physics Reports* **754** (2018) 1–67.
|
|
411
|
+
> [doi:10.1016/j.physrep.2018.04.005](https://doi.org/10.1016/j.physrep.2018.04.005)
|
|
412
|
+
|
|
413
|
+
## Authors
|
|
414
|
+
|
|
415
|
+
Cyril Pitrou (<pitrou@iap.fr>), Julien Froustey
|