diff --git a/networks/He-C-Fe-group/He-C-Fe-group.png b/networks/He-C-Fe-group/He-C-Fe-group.png index 8463634ac8..6daf1fc36a 100644 Binary files a/networks/He-C-Fe-group/He-C-Fe-group.png and b/networks/He-C-Fe-group/He-C-Fe-group.png differ diff --git a/networks/He-C-Fe-group/He-C-Fe-group.py b/networks/He-C-Fe-group/He-C-Fe-group.py index 580e1230c8..e4429b1d1a 100644 --- a/networks/He-C-Fe-group/He-C-Fe-group.py +++ b/networks/He-C-Fe-group/He-C-Fe-group.py @@ -62,7 +62,7 @@ # ReacLib and weak / tabular rates linking these. iron_peak = ["n", "p", "he4", - "mn51", + "mn51", "mn55", "fe52", "fe53", "fe54", "fe55", "fe56", "co55", "co56", "co57", "ni56", "ni57", "ni58", @@ -115,8 +115,8 @@ # now we approximate some (alpha, p)(p, gamma) links -net.make_ap_pg_approx(intermediate_nuclei=["cl35", "k39", "sc43", "v47"]) #, "mn51"]) -net.remove_nuclei(["cl35", "k39", "sc43", "v47"]) #, "mn51"]) +net.make_ap_pg_approx(intermediate_nuclei=["cl35", "k39", "sc43", "v47"]) +net.remove_nuclei(["cl35", "k39", "sc43", "v47"]) # let's make a figure diff --git a/networks/He-C-Fe-group/actual_network.H b/networks/He-C-Fe-group/actual_network.H index 311faf8049..d45a9042df 100644 --- a/networks/He-C-Fe-group/actual_network.H +++ b/networks/He-C-Fe-group/actual_network.H @@ -63,143 +63,149 @@ namespace Rates k_o16_o16_to_s32_modified = 37, k_c12_o16_to_si28_modified = 38, k_n_to_p_weak_wc12 = 39, - k_n_fe52_to_fe53 = 40, - k_n_fe53_to_fe54 = 41, - k_he4_fe53_to_ni57 = 42, - k_n_fe54_to_fe55 = 43, - k_p_fe54_to_co55 = 44, - k_he4_fe54_to_ni58 = 45, - k_n_fe55_to_fe56 = 46, - k_p_fe55_to_co56 = 47, - k_p_fe56_to_co57 = 48, - k_n_co55_to_co56 = 49, - k_n_co56_to_co57 = 50, - k_p_co56_to_ni57 = 51, - k_p_co57_to_ni58 = 52, - k_n_ni56_to_ni57 = 53, - k_n_ni57_to_ni58 = 54, - k_p_ni58_to_cu59 = 55, - k_he4_mn51_to_p_fe54 = 56, - k_he4_fe53_to_p_co56 = 57, - k_n_co55_to_p_fe55 = 58, - k_he4_co55_to_p_ni58 = 59, - k_n_co56_to_p_fe56 = 60, - k_p_co57_to_he4_fe54 = 61, - k_n_ni56_to_p_co56 = 62, - k_n_ni56_to_he4_fe53 = 63, - k_n_ni57_to_p_co57 = 64, - k_n_ni57_to_he4_fe54 = 65, - k_n_ni58_to_he4_fe55 = 66, - k_n_cu59_to_he4_co56 = 67, - k_n_zn60_to_he4_ni57 = 68, - k_he4_s32_to_ar36_removed = 69, - k_p_cl35_to_ar36_removed = 70, - k_p_cl35_to_he4_s32_removed = 71, - k_he4_ar36_to_ca40_removed = 72, - k_p_k39_to_ca40_removed = 73, - k_p_k39_to_he4_ar36_removed = 74, - k_he4_ca40_to_ti44_removed = 75, - k_p_sc43_to_ti44_removed = 76, - k_p_sc43_to_he4_ca40_removed = 77, - k_he4_ti44_to_cr48_removed = 78, - k_he4_ti44_to_p_v47_removed = 79, - k_p_v47_to_cr48_removed = 80, - k_co55_to_fe55 = 81, - k_co56_to_fe56 = 82, - k_co56_to_ni56 = 83, - k_co57_to_ni57 = 84, - k_fe55_to_co55 = 85, - k_fe56_to_co56 = 86, - k_ni56_to_co56 = 87, - k_ni57_to_co57 = 88, - k_s32_he4_to_ar36_approx = 89, - k_ar36_to_s32_he4_approx = 90, - k_ar36_he4_to_ca40_approx = 91, - k_ca40_to_ar36_he4_approx = 92, - k_ca40_he4_to_ti44_approx = 93, - k_ti44_to_ca40_he4_approx = 94, - k_ti44_he4_to_cr48_approx = 95, - k_cr48_to_ti44_he4_approx = 96, - k_n13_to_p_c12_derived = 97, - k_o16_to_he4_c12_derived = 98, - k_f18_to_he4_n14_derived = 99, - k_ne20_to_he4_o16_derived = 100, - k_na22_to_p_ne21_derived = 101, - k_na22_to_he4_f18_derived = 102, - k_mg24_to_p_na23_derived = 103, - k_mg24_to_he4_ne20_derived = 104, - k_si28_to_p_al27_derived = 105, - k_si28_to_he4_mg24_derived = 106, - k_s32_to_p_p31_derived = 107, - k_s32_to_he4_si28_derived = 108, - k_fe52_to_p_mn51_derived = 109, - k_fe52_to_he4_cr48_derived = 110, - k_co55_to_he4_mn51_derived = 111, - k_ni56_to_p_co55_derived = 112, - k_ni56_to_he4_fe52_derived = 113, - k_cu59_to_he4_co55_derived = 114, - k_zn60_to_p_cu59_derived = 115, - k_zn60_to_he4_ni56_derived = 116, - k_c12_to_he4_he4_he4_derived = 117, - k_p_o16_to_he4_n13_derived = 118, - k_he4_ne20_to_p_na23_derived = 119, - k_p_ne21_to_he4_f18_derived = 120, - k_he4_mg24_to_p_al27_derived = 121, - k_he4_si28_to_p_p31_derived = 122, - k_p_mn51_to_he4_cr48_derived = 123, - k_p_co55_to_he4_fe52_derived = 124, - k_he4_ni56_to_p_cu59_derived = 125, - k_fe53_to_n_fe52_derived = 126, - k_fe54_to_n_fe53_derived = 127, - k_fe55_to_n_fe54_derived = 128, - k_fe56_to_n_fe55_derived = 129, - k_co55_to_p_fe54_derived = 130, - k_co56_to_n_co55_derived = 131, - k_co56_to_p_fe55_derived = 132, - k_co57_to_n_co56_derived = 133, - k_co57_to_p_fe56_derived = 134, - k_ni57_to_n_ni56_derived = 135, - k_ni57_to_p_co56_derived = 136, - k_ni57_to_he4_fe53_derived = 137, - k_ni58_to_n_ni57_derived = 138, - k_ni58_to_p_co57_derived = 139, - k_ni58_to_he4_fe54_derived = 140, - k_cu59_to_p_ni58_derived = 141, - k_he4_fe53_to_n_ni56_derived = 142, - k_p_fe54_to_he4_mn51_derived = 143, - k_he4_fe54_to_n_ni57_derived = 144, - k_he4_fe54_to_p_co57_derived = 145, - k_p_fe55_to_n_co55_derived = 146, - k_he4_fe55_to_n_ni58_derived = 147, - k_p_fe56_to_n_co56_derived = 148, - k_p_co56_to_n_ni56_derived = 149, - k_p_co56_to_he4_fe53_derived = 150, - k_he4_co56_to_n_cu59_derived = 151, - k_p_co57_to_n_ni57_derived = 152, - k_he4_ni57_to_n_zn60_derived = 153, - k_p_ni58_to_he4_co55_derived = 154, - k_he4_s32_to_p_cl35_derived_removed = 155, - k_ar36_to_he4_s32_derived_removed = 156, - k_ar36_to_p_cl35_derived_removed = 157, - k_he4_ar36_to_p_k39_derived_removed = 158, - k_ca40_to_he4_ar36_derived_removed = 159, - k_ca40_to_p_k39_derived_removed = 160, - k_he4_ca40_to_p_sc43_derived_removed = 161, - k_ti44_to_he4_ca40_derived_removed = 162, - k_ti44_to_p_sc43_derived_removed = 163, - k_cr48_to_he4_ti44_derived_removed = 164, - k_cr48_to_p_v47_derived_removed = 165, - k_p_v47_to_he4_ti44_derived_removed = 166, + k_p_mn55_to_fe56 = 40, + k_n_fe52_to_fe53 = 41, + k_n_fe53_to_fe54 = 42, + k_he4_fe53_to_ni57 = 43, + k_n_fe54_to_fe55 = 44, + k_p_fe54_to_co55 = 45, + k_he4_fe54_to_ni58 = 46, + k_n_fe55_to_fe56 = 47, + k_p_fe55_to_co56 = 48, + k_p_fe56_to_co57 = 49, + k_n_co55_to_co56 = 50, + k_n_co56_to_co57 = 51, + k_p_co56_to_ni57 = 52, + k_p_co57_to_ni58 = 53, + k_n_ni56_to_ni57 = 54, + k_n_ni57_to_ni58 = 55, + k_p_ni58_to_cu59 = 56, + k_he4_mn51_to_p_fe54 = 57, + k_he4_fe53_to_p_co56 = 58, + k_n_fe55_to_p_mn55 = 59, + k_n_co55_to_p_fe55 = 60, + k_he4_co55_to_p_ni58 = 61, + k_n_co56_to_p_fe56 = 62, + k_p_co57_to_he4_fe54 = 63, + k_n_ni56_to_p_co56 = 64, + k_n_ni56_to_he4_fe53 = 65, + k_n_ni57_to_p_co57 = 66, + k_n_ni57_to_he4_fe54 = 67, + k_n_ni58_to_he4_fe55 = 68, + k_n_cu59_to_he4_co56 = 69, + k_n_zn60_to_he4_ni57 = 70, + k_he4_s32_to_ar36_removed = 71, + k_p_cl35_to_ar36_removed = 72, + k_p_cl35_to_he4_s32_removed = 73, + k_he4_ar36_to_ca40_removed = 74, + k_p_k39_to_ca40_removed = 75, + k_p_k39_to_he4_ar36_removed = 76, + k_he4_ca40_to_ti44_removed = 77, + k_p_sc43_to_ti44_removed = 78, + k_p_sc43_to_he4_ca40_removed = 79, + k_he4_ti44_to_cr48_removed = 80, + k_he4_ti44_to_p_v47_removed = 81, + k_p_v47_to_cr48_removed = 82, + k_co55_to_fe55 = 83, + k_co56_to_fe56 = 84, + k_co56_to_ni56 = 85, + k_co57_to_ni57 = 86, + k_fe55_to_co55 = 87, + k_fe55_to_mn55 = 88, + k_fe56_to_co56 = 89, + k_mn55_to_fe55 = 90, + k_ni56_to_co56 = 91, + k_ni57_to_co57 = 92, + k_s32_he4_to_ar36_approx = 93, + k_ar36_to_s32_he4_approx = 94, + k_ar36_he4_to_ca40_approx = 95, + k_ca40_to_ar36_he4_approx = 96, + k_ca40_he4_to_ti44_approx = 97, + k_ti44_to_ca40_he4_approx = 98, + k_ti44_he4_to_cr48_approx = 99, + k_cr48_to_ti44_he4_approx = 100, + k_n13_to_p_c12_derived = 101, + k_o16_to_he4_c12_derived = 102, + k_f18_to_he4_n14_derived = 103, + k_ne20_to_he4_o16_derived = 104, + k_na22_to_p_ne21_derived = 105, + k_na22_to_he4_f18_derived = 106, + k_mg24_to_p_na23_derived = 107, + k_mg24_to_he4_ne20_derived = 108, + k_si28_to_p_al27_derived = 109, + k_si28_to_he4_mg24_derived = 110, + k_s32_to_p_p31_derived = 111, + k_s32_to_he4_si28_derived = 112, + k_fe52_to_p_mn51_derived = 113, + k_fe52_to_he4_cr48_derived = 114, + k_co55_to_he4_mn51_derived = 115, + k_ni56_to_p_co55_derived = 116, + k_ni56_to_he4_fe52_derived = 117, + k_cu59_to_he4_co55_derived = 118, + k_zn60_to_p_cu59_derived = 119, + k_zn60_to_he4_ni56_derived = 120, + k_c12_to_he4_he4_he4_derived = 121, + k_p_o16_to_he4_n13_derived = 122, + k_he4_ne20_to_p_na23_derived = 123, + k_p_ne21_to_he4_f18_derived = 124, + k_he4_mg24_to_p_al27_derived = 125, + k_he4_si28_to_p_p31_derived = 126, + k_p_mn51_to_he4_cr48_derived = 127, + k_p_co55_to_he4_fe52_derived = 128, + k_he4_ni56_to_p_cu59_derived = 129, + k_fe53_to_n_fe52_derived = 130, + k_fe54_to_n_fe53_derived = 131, + k_fe55_to_n_fe54_derived = 132, + k_fe56_to_n_fe55_derived = 133, + k_fe56_to_p_mn55_derived = 134, + k_co55_to_p_fe54_derived = 135, + k_co56_to_n_co55_derived = 136, + k_co56_to_p_fe55_derived = 137, + k_co57_to_n_co56_derived = 138, + k_co57_to_p_fe56_derived = 139, + k_ni57_to_n_ni56_derived = 140, + k_ni57_to_p_co56_derived = 141, + k_ni57_to_he4_fe53_derived = 142, + k_ni58_to_n_ni57_derived = 143, + k_ni58_to_p_co57_derived = 144, + k_ni58_to_he4_fe54_derived = 145, + k_cu59_to_p_ni58_derived = 146, + k_p_mn55_to_n_fe55_derived = 147, + k_he4_fe53_to_n_ni56_derived = 148, + k_p_fe54_to_he4_mn51_derived = 149, + k_he4_fe54_to_n_ni57_derived = 150, + k_he4_fe54_to_p_co57_derived = 151, + k_p_fe55_to_n_co55_derived = 152, + k_he4_fe55_to_n_ni58_derived = 153, + k_p_fe56_to_n_co56_derived = 154, + k_p_co56_to_n_ni56_derived = 155, + k_p_co56_to_he4_fe53_derived = 156, + k_he4_co56_to_n_cu59_derived = 157, + k_p_co57_to_n_ni57_derived = 158, + k_he4_ni57_to_n_zn60_derived = 159, + k_p_ni58_to_he4_co55_derived = 160, + k_he4_s32_to_p_cl35_derived_removed = 161, + k_ar36_to_he4_s32_derived_removed = 162, + k_ar36_to_p_cl35_derived_removed = 163, + k_he4_ar36_to_p_k39_derived_removed = 164, + k_ca40_to_he4_ar36_derived_removed = 165, + k_ca40_to_p_k39_derived_removed = 166, + k_he4_ca40_to_p_sc43_derived_removed = 167, + k_ti44_to_he4_ca40_derived_removed = 168, + k_ti44_to_p_sc43_derived_removed = 169, + k_cr48_to_he4_ti44_derived_removed = 170, + k_cr48_to_p_v47_derived_removed = 171, + k_p_v47_to_he4_ti44_derived_removed = 172, NumRates = k_p_v47_to_he4_ti44_derived_removed }; // number of reaclib rates - const int NrateReaclib = 150; + const int NrateReaclib = 154; // number of tabular rates - const int NrateTabular = 8; + const int NrateTabular = 10; // rate names -- note: the rates are 1-based, not zero-based, so we pad // this vector with rate_names[0] = "" so the indices line up with the @@ -246,133 +252,139 @@ namespace Rates "o16_o16_to_s32_modified", // 37, "c12_o16_to_si28_modified", // 38, "n_to_p_weak_wc12", // 39, - "n_fe52_to_fe53", // 40, - "n_fe53_to_fe54", // 41, - "he4_fe53_to_ni57", // 42, - "n_fe54_to_fe55", // 43, - "p_fe54_to_co55", // 44, - "he4_fe54_to_ni58", // 45, - "n_fe55_to_fe56", // 46, - "p_fe55_to_co56", // 47, - "p_fe56_to_co57", // 48, - "n_co55_to_co56", // 49, - "n_co56_to_co57", // 50, - "p_co56_to_ni57", // 51, - "p_co57_to_ni58", // 52, - "n_ni56_to_ni57", // 53, - "n_ni57_to_ni58", // 54, - "p_ni58_to_cu59", // 55, - "he4_mn51_to_p_fe54", // 56, - "he4_fe53_to_p_co56", // 57, - "n_co55_to_p_fe55", // 58, - "he4_co55_to_p_ni58", // 59, - "n_co56_to_p_fe56", // 60, - "p_co57_to_he4_fe54", // 61, - "n_ni56_to_p_co56", // 62, - "n_ni56_to_he4_fe53", // 63, - "n_ni57_to_p_co57", // 64, - "n_ni57_to_he4_fe54", // 65, - "n_ni58_to_he4_fe55", // 66, - "n_cu59_to_he4_co56", // 67, - "n_zn60_to_he4_ni57", // 68, - "he4_s32_to_ar36_removed", // 69, - "p_cl35_to_ar36_removed", // 70, - "p_cl35_to_he4_s32_removed", // 71, - "he4_ar36_to_ca40_removed", // 72, - "p_k39_to_ca40_removed", // 73, - "p_k39_to_he4_ar36_removed", // 74, - "he4_ca40_to_ti44_removed", // 75, - "p_sc43_to_ti44_removed", // 76, - "p_sc43_to_he4_ca40_removed", // 77, - "he4_ti44_to_cr48_removed", // 78, - "he4_ti44_to_p_v47_removed", // 79, - "p_v47_to_cr48_removed", // 80, - "co55_to_fe55", // 81, - "co56_to_fe56", // 82, - "co56_to_ni56", // 83, - "co57_to_ni57", // 84, - "fe55_to_co55", // 85, - "fe56_to_co56", // 86, - "ni56_to_co56", // 87, - "ni57_to_co57", // 88, - "s32_he4_to_ar36_approx", // 89, - "ar36_to_s32_he4_approx", // 90, - "ar36_he4_to_ca40_approx", // 91, - "ca40_to_ar36_he4_approx", // 92, - "ca40_he4_to_ti44_approx", // 93, - "ti44_to_ca40_he4_approx", // 94, - "ti44_he4_to_cr48_approx", // 95, - "cr48_to_ti44_he4_approx", // 96, - "n13_to_p_c12_derived", // 97, - "o16_to_he4_c12_derived", // 98, - "f18_to_he4_n14_derived", // 99, - "ne20_to_he4_o16_derived", // 100, - "na22_to_p_ne21_derived", // 101, - "na22_to_he4_f18_derived", // 102, - "mg24_to_p_na23_derived", // 103, - "mg24_to_he4_ne20_derived", // 104, - "si28_to_p_al27_derived", // 105, - "si28_to_he4_mg24_derived", // 106, - "s32_to_p_p31_derived", // 107, - "s32_to_he4_si28_derived", // 108, - "fe52_to_p_mn51_derived", // 109, - "fe52_to_he4_cr48_derived", // 110, - "co55_to_he4_mn51_derived", // 111, - "ni56_to_p_co55_derived", // 112, - "ni56_to_he4_fe52_derived", // 113, - "cu59_to_he4_co55_derived", // 114, - "zn60_to_p_cu59_derived", // 115, - "zn60_to_he4_ni56_derived", // 116, - "c12_to_he4_he4_he4_derived", // 117, - "p_o16_to_he4_n13_derived", // 118, - "he4_ne20_to_p_na23_derived", // 119, - "p_ne21_to_he4_f18_derived", // 120, - "he4_mg24_to_p_al27_derived", // 121, - "he4_si28_to_p_p31_derived", // 122, - "p_mn51_to_he4_cr48_derived", // 123, - "p_co55_to_he4_fe52_derived", // 124, - "he4_ni56_to_p_cu59_derived", // 125, - "fe53_to_n_fe52_derived", // 126, - "fe54_to_n_fe53_derived", // 127, - "fe55_to_n_fe54_derived", // 128, - "fe56_to_n_fe55_derived", // 129, - "co55_to_p_fe54_derived", // 130, - "co56_to_n_co55_derived", // 131, - "co56_to_p_fe55_derived", // 132, - "co57_to_n_co56_derived", // 133, - "co57_to_p_fe56_derived", // 134, - "ni57_to_n_ni56_derived", // 135, - "ni57_to_p_co56_derived", // 136, - "ni57_to_he4_fe53_derived", // 137, - "ni58_to_n_ni57_derived", // 138, - "ni58_to_p_co57_derived", // 139, - "ni58_to_he4_fe54_derived", // 140, - "cu59_to_p_ni58_derived", // 141, - "he4_fe53_to_n_ni56_derived", // 142, - "p_fe54_to_he4_mn51_derived", // 143, - "he4_fe54_to_n_ni57_derived", // 144, - "he4_fe54_to_p_co57_derived", // 145, - "p_fe55_to_n_co55_derived", // 146, - "he4_fe55_to_n_ni58_derived", // 147, - "p_fe56_to_n_co56_derived", // 148, - "p_co56_to_n_ni56_derived", // 149, - "p_co56_to_he4_fe53_derived", // 150, - "he4_co56_to_n_cu59_derived", // 151, - "p_co57_to_n_ni57_derived", // 152, - "he4_ni57_to_n_zn60_derived", // 153, - "p_ni58_to_he4_co55_derived", // 154, - "he4_s32_to_p_cl35_derived_removed", // 155, - "ar36_to_he4_s32_derived_removed", // 156, - "ar36_to_p_cl35_derived_removed", // 157, - "he4_ar36_to_p_k39_derived_removed", // 158, - "ca40_to_he4_ar36_derived_removed", // 159, - "ca40_to_p_k39_derived_removed", // 160, - "he4_ca40_to_p_sc43_derived_removed", // 161, - "ti44_to_he4_ca40_derived_removed", // 162, - "ti44_to_p_sc43_derived_removed", // 163, - "cr48_to_he4_ti44_derived_removed", // 164, - "cr48_to_p_v47_derived_removed", // 165, - "p_v47_to_he4_ti44_derived_removed" // 166, + "p_mn55_to_fe56", // 40, + "n_fe52_to_fe53", // 41, + "n_fe53_to_fe54", // 42, + "he4_fe53_to_ni57", // 43, + "n_fe54_to_fe55", // 44, + "p_fe54_to_co55", // 45, + "he4_fe54_to_ni58", // 46, + "n_fe55_to_fe56", // 47, + "p_fe55_to_co56", // 48, + "p_fe56_to_co57", // 49, + "n_co55_to_co56", // 50, + "n_co56_to_co57", // 51, + "p_co56_to_ni57", // 52, + "p_co57_to_ni58", // 53, + "n_ni56_to_ni57", // 54, + "n_ni57_to_ni58", // 55, + "p_ni58_to_cu59", // 56, + "he4_mn51_to_p_fe54", // 57, + "he4_fe53_to_p_co56", // 58, + "n_fe55_to_p_mn55", // 59, + "n_co55_to_p_fe55", // 60, + "he4_co55_to_p_ni58", // 61, + "n_co56_to_p_fe56", // 62, + "p_co57_to_he4_fe54", // 63, + "n_ni56_to_p_co56", // 64, + "n_ni56_to_he4_fe53", // 65, + "n_ni57_to_p_co57", // 66, + "n_ni57_to_he4_fe54", // 67, + "n_ni58_to_he4_fe55", // 68, + "n_cu59_to_he4_co56", // 69, + "n_zn60_to_he4_ni57", // 70, + "he4_s32_to_ar36_removed", // 71, + "p_cl35_to_ar36_removed", // 72, + "p_cl35_to_he4_s32_removed", // 73, + "he4_ar36_to_ca40_removed", // 74, + "p_k39_to_ca40_removed", // 75, + "p_k39_to_he4_ar36_removed", // 76, + "he4_ca40_to_ti44_removed", // 77, + "p_sc43_to_ti44_removed", // 78, + "p_sc43_to_he4_ca40_removed", // 79, + "he4_ti44_to_cr48_removed", // 80, + "he4_ti44_to_p_v47_removed", // 81, + "p_v47_to_cr48_removed", // 82, + "co55_to_fe55", // 83, + "co56_to_fe56", // 84, + "co56_to_ni56", // 85, + "co57_to_ni57", // 86, + "fe55_to_co55", // 87, + "fe55_to_mn55", // 88, + "fe56_to_co56", // 89, + "mn55_to_fe55", // 90, + "ni56_to_co56", // 91, + "ni57_to_co57", // 92, + "s32_he4_to_ar36_approx", // 93, + "ar36_to_s32_he4_approx", // 94, + "ar36_he4_to_ca40_approx", // 95, + "ca40_to_ar36_he4_approx", // 96, + "ca40_he4_to_ti44_approx", // 97, + "ti44_to_ca40_he4_approx", // 98, + "ti44_he4_to_cr48_approx", // 99, + "cr48_to_ti44_he4_approx", // 100, + "n13_to_p_c12_derived", // 101, + "o16_to_he4_c12_derived", // 102, + "f18_to_he4_n14_derived", // 103, + "ne20_to_he4_o16_derived", // 104, + "na22_to_p_ne21_derived", // 105, + "na22_to_he4_f18_derived", // 106, + "mg24_to_p_na23_derived", // 107, + "mg24_to_he4_ne20_derived", // 108, + "si28_to_p_al27_derived", // 109, + "si28_to_he4_mg24_derived", // 110, + "s32_to_p_p31_derived", // 111, + "s32_to_he4_si28_derived", // 112, + "fe52_to_p_mn51_derived", // 113, + "fe52_to_he4_cr48_derived", // 114, + "co55_to_he4_mn51_derived", // 115, + "ni56_to_p_co55_derived", // 116, + "ni56_to_he4_fe52_derived", // 117, + "cu59_to_he4_co55_derived", // 118, + "zn60_to_p_cu59_derived", // 119, + "zn60_to_he4_ni56_derived", // 120, + "c12_to_he4_he4_he4_derived", // 121, + "p_o16_to_he4_n13_derived", // 122, + "he4_ne20_to_p_na23_derived", // 123, + "p_ne21_to_he4_f18_derived", // 124, + "he4_mg24_to_p_al27_derived", // 125, + "he4_si28_to_p_p31_derived", // 126, + "p_mn51_to_he4_cr48_derived", // 127, + "p_co55_to_he4_fe52_derived", // 128, + "he4_ni56_to_p_cu59_derived", // 129, + "fe53_to_n_fe52_derived", // 130, + "fe54_to_n_fe53_derived", // 131, + "fe55_to_n_fe54_derived", // 132, + "fe56_to_n_fe55_derived", // 133, + "fe56_to_p_mn55_derived", // 134, + "co55_to_p_fe54_derived", // 135, + "co56_to_n_co55_derived", // 136, + "co56_to_p_fe55_derived", // 137, + "co57_to_n_co56_derived", // 138, + "co57_to_p_fe56_derived", // 139, + "ni57_to_n_ni56_derived", // 140, + "ni57_to_p_co56_derived", // 141, + "ni57_to_he4_fe53_derived", // 142, + "ni58_to_n_ni57_derived", // 143, + "ni58_to_p_co57_derived", // 144, + "ni58_to_he4_fe54_derived", // 145, + "cu59_to_p_ni58_derived", // 146, + "p_mn55_to_n_fe55_derived", // 147, + "he4_fe53_to_n_ni56_derived", // 148, + "p_fe54_to_he4_mn51_derived", // 149, + "he4_fe54_to_n_ni57_derived", // 150, + "he4_fe54_to_p_co57_derived", // 151, + "p_fe55_to_n_co55_derived", // 152, + "he4_fe55_to_n_ni58_derived", // 153, + "p_fe56_to_n_co56_derived", // 154, + "p_co56_to_n_ni56_derived", // 155, + "p_co56_to_he4_fe53_derived", // 156, + "he4_co56_to_n_cu59_derived", // 157, + "p_co57_to_n_ni57_derived", // 158, + "he4_ni57_to_n_zn60_derived", // 159, + "p_ni58_to_he4_co55_derived", // 160, + "he4_s32_to_p_cl35_derived_removed", // 161, + "ar36_to_he4_s32_derived_removed", // 162, + "ar36_to_p_cl35_derived_removed", // 163, + "he4_ar36_to_p_k39_derived_removed", // 164, + "ca40_to_he4_ar36_derived_removed", // 165, + "ca40_to_p_k39_derived_removed", // 166, + "he4_ca40_to_p_sc43_derived_removed", // 167, + "ti44_to_he4_ca40_derived_removed", // 168, + "ti44_to_p_sc43_derived_removed", // 169, + "cr48_to_he4_ti44_derived_removed", // 170, + "cr48_to_p_v47_derived_removed", // 171, + "p_v47_to_he4_ti44_derived_removed" // 172, }; } diff --git a/networks/He-C-Fe-group/actual_network_data.cpp b/networks/He-C-Fe-group/actual_network_data.cpp index fc7948c37a..ee6d37c71b 100644 --- a/networks/He-C-Fe-group/actual_network_data.cpp +++ b/networks/He-C-Fe-group/actual_network_data.cpp @@ -11,74 +11,76 @@ namespace network namespace NSE_INDEX { AMREX_GPU_MANAGED amrex::Array2D rate_indices { - -1, 1, 3, -1, -1, 4, 97, - -1, 2, 3, -1, -1, 6, 98, - -1, 2, 5, -1, -1, 7, 99, - -1, 2, 6, -1, -1, 8, 100, - -1, 2, 7, -1, -1, 10, 102, - -1, 2, 8, -1, -1, 12, 104, - -1, 1, 9, -1, -1, 10, 101, - -1, 1, 11, -1, -1, 12, 103, - -1, 2, 12, -1, -1, 14, 106, - -1, 1, 13, -1, -1, 14, 105, - -1, 2, 14, -1, -1, 16, 108, - -1, 1, 15, -1, -1, 16, 107, - -1, 2, 20, -1, -1, 22, 110, - -1, 1, 21, -1, -1, 22, 109, - -1, 2, 21, -1, -1, 27, 111, - -1, 2, 22, -1, -1, 30, 113, - -1, 1, 27, -1, -1, 30, 112, - -1, 2, 27, -1, -1, 33, 114, - -1, 2, 30, -1, -1, 34, 116, - -1, 1, 33, -1, -1, 34, 115, + -1, 1, 3, -1, -1, 4, 101, + -1, 2, 3, -1, -1, 6, 102, + -1, 2, 5, -1, -1, 7, 103, + -1, 2, 6, -1, -1, 8, 104, + -1, 2, 7, -1, -1, 10, 106, + -1, 2, 8, -1, -1, 12, 108, + -1, 1, 9, -1, -1, 10, 105, + -1, 1, 11, -1, -1, 12, 107, + -1, 2, 12, -1, -1, 14, 110, + -1, 1, 13, -1, -1, 14, 109, + -1, 2, 14, -1, -1, 16, 112, + -1, 1, 15, -1, -1, 16, 111, + -1, 2, 20, -1, -1, 23, 114, + -1, 1, 21, -1, -1, 23, 113, + -1, 2, 21, -1, -1, 28, 115, + -1, 2, 23, -1, -1, 31, 117, + -1, 1, 28, -1, -1, 31, 116, + -1, 2, 28, -1, -1, 34, 118, + -1, 2, 31, -1, -1, 35, 120, + -1, 1, 34, -1, -1, 35, 119, -1, 3, 3, -1, 1, 11, -1, -1, 3, 3, -1, 2, 8, -1, - -1, 2, 4, -1, 1, 6, 118, + -1, 2, 4, -1, 1, 6, 122, -1, 3, 6, -1, 1, 13, -1, -1, 3, 6, -1, 2, 12, -1, -1, 6, 6, -1, 1, 15, -1, -1, 6, 6, -1, 2, 14, -1, - -1, 2, 7, -1, 1, 9, 120, - -1, 1, 11, -1, 2, 8, 119, - -1, 1, 13, -1, 2, 12, 121, - -1, 1, 15, -1, 2, 14, 122, - -1, 2, 20, -1, 1, 21, 123, - -1, 2, 22, -1, 1, 27, 124, - -1, 1, 33, -1, 2, 30, 125, - 2, 2, 2, -1, -1, 3, 117, + -1, 2, 7, -1, 1, 9, 124, + -1, 1, 11, -1, 2, 8, 123, + -1, 1, 13, -1, 2, 12, 125, + -1, 1, 15, -1, 2, 14, 126, + -1, 2, 20, -1, 1, 21, 127, + -1, 2, 23, -1, 1, 28, 128, + -1, 1, 34, -1, 2, 31, 129, + 2, 2, 2, -1, -1, 3, 121, -1, 3, 3, -1, -1, 12, -1, -1, 6, 6, -1, -1, 16, -1, -1, 3, 6, -1, -1, 14, -1, -1, -1, 0, -1, -1, 1, -1, - -1, 0, 22, -1, -1, 23, 126, - -1, 0, 23, -1, -1, 24, 127, - -1, 2, 23, -1, -1, 31, 137, - -1, 0, 24, -1, -1, 25, 128, - -1, 1, 24, -1, -1, 27, 130, - -1, 2, 24, -1, -1, 32, 140, - -1, 0, 25, -1, -1, 26, 129, - -1, 1, 25, -1, -1, 28, 132, - -1, 1, 26, -1, -1, 29, 134, - -1, 0, 27, -1, -1, 28, 131, - -1, 0, 28, -1, -1, 29, 133, - -1, 1, 28, -1, -1, 31, 136, - -1, 1, 29, -1, -1, 32, 139, - -1, 0, 30, -1, -1, 31, 135, - -1, 0, 31, -1, -1, 32, 138, - -1, 1, 32, -1, -1, 33, 141, - -1, 2, 21, -1, 1, 24, 143, - -1, 2, 23, -1, 1, 28, 150, - -1, 0, 27, -1, 1, 25, 146, - -1, 2, 27, -1, 1, 32, 154, - -1, 0, 28, -1, 1, 26, 148, - -1, 1, 29, -1, 2, 24, 145, - -1, 0, 30, -1, 1, 28, 149, - -1, 0, 30, -1, 2, 23, 142, - -1, 0, 31, -1, 1, 29, 152, - -1, 0, 31, -1, 2, 24, 144, - -1, 0, 32, -1, 2, 25, 147, - -1, 0, 33, -1, 2, 28, 151, - -1, 0, 34, -1, 2, 31, 153, + -1, 1, 22, -1, -1, 27, 134, + -1, 0, 23, -1, -1, 24, 130, + -1, 0, 24, -1, -1, 25, 131, + -1, 2, 24, -1, -1, 32, 142, + -1, 0, 25, -1, -1, 26, 132, + -1, 1, 25, -1, -1, 28, 135, + -1, 2, 25, -1, -1, 33, 145, + -1, 0, 26, -1, -1, 27, 133, + -1, 1, 26, -1, -1, 29, 137, + -1, 1, 27, -1, -1, 30, 139, + -1, 0, 28, -1, -1, 29, 136, + -1, 0, 29, -1, -1, 30, 138, + -1, 1, 29, -1, -1, 32, 141, + -1, 1, 30, -1, -1, 33, 144, + -1, 0, 31, -1, -1, 32, 140, + -1, 0, 32, -1, -1, 33, 143, + -1, 1, 33, -1, -1, 34, 146, + -1, 2, 21, -1, 1, 25, 149, + -1, 2, 24, -1, 1, 29, 156, + -1, 0, 26, -1, 1, 22, 147, + -1, 0, 28, -1, 1, 26, 152, + -1, 2, 28, -1, 1, 33, 160, + -1, 0, 29, -1, 1, 27, 154, + -1, 1, 30, -1, 2, 25, 151, + -1, 0, 31, -1, 1, 29, 155, + -1, 0, 31, -1, 2, 24, 148, + -1, 0, 32, -1, 1, 30, 158, + -1, 0, 32, -1, 2, 25, 150, + -1, 0, 33, -1, 2, 26, 153, + -1, 0, 34, -1, 2, 29, 157, + -1, 0, 35, -1, 2, 32, 159, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -91,21 +93,23 @@ namespace NSE_INDEX -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 27, -1, -1, 25, 85, - -1, -1, 28, -1, -1, 26, 86, - -1, -1, 28, -1, -1, 30, -1, + -1, -1, 28, -1, -1, 26, 87, + -1, -1, 29, -1, -1, 27, 89, -1, -1, 29, -1, -1, 31, -1, - -1, -1, 25, -1, -1, 27, -1, + -1, -1, 30, -1, -1, 32, -1, -1, -1, 26, -1, -1, 28, -1, - -1, -1, 30, -1, -1, 28, 83, - -1, -1, 31, -1, -1, 29, 84, - -1, 2, 16, -1, -1, 17, 90, + -1, -1, 26, -1, -1, 22, 90, + -1, -1, 27, -1, -1, 29, -1, + -1, -1, 22, -1, -1, 26, -1, + -1, -1, 31, -1, -1, 29, 85, + -1, -1, 32, -1, -1, 30, 86, + -1, 2, 16, -1, -1, 17, 94, -1, -1, 17, -1, 2, 16, -1, - -1, 2, 17, -1, -1, 18, 92, + -1, 2, 17, -1, -1, 18, 96, -1, -1, 18, -1, 2, 17, -1, - -1, 2, 18, -1, -1, 19, 94, + -1, 2, 18, -1, -1, 19, 98, -1, -1, 19, -1, 2, 18, -1, - -1, 2, 19, -1, -1, 20, 96, + -1, 2, 19, -1, -1, 20, 100, -1, -1, 20, -1, 2, 19, -1, -1, -1, 4, -1, 1, 3, -1, -1, -1, 6, -1, 2, 3, -1, @@ -119,14 +123,14 @@ namespace NSE_INDEX -1, -1, 14, -1, 2, 12, -1, -1, -1, 16, -1, 1, 15, -1, -1, -1, 16, -1, 2, 14, -1, - -1, -1, 22, -1, 1, 21, -1, - -1, -1, 22, -1, 2, 20, -1, - -1, -1, 27, -1, 2, 21, -1, - -1, -1, 30, -1, 1, 27, -1, - -1, -1, 30, -1, 2, 22, -1, - -1, -1, 33, -1, 2, 27, -1, - -1, -1, 34, -1, 1, 33, -1, - -1, -1, 34, -1, 2, 30, -1, + -1, -1, 23, -1, 1, 21, -1, + -1, -1, 23, -1, 2, 20, -1, + -1, -1, 28, -1, 2, 21, -1, + -1, -1, 31, -1, 1, 28, -1, + -1, -1, 31, -1, 2, 23, -1, + -1, -1, 34, -1, 2, 28, -1, + -1, -1, 35, -1, 1, 34, -1, + -1, -1, 35, -1, 2, 31, -1, -1, -1, 3, 2, 2, 2, -1, -1, 1, 6, -1, 2, 4, -1, -1, 2, 8, -1, 1, 11, -1, @@ -134,37 +138,39 @@ namespace NSE_INDEX -1, 2, 12, -1, 1, 13, -1, -1, 2, 14, -1, 1, 15, -1, -1, 1, 21, -1, 2, 20, -1, - -1, 1, 27, -1, 2, 22, -1, - -1, 2, 30, -1, 1, 33, -1, - -1, -1, 23, -1, 0, 22, -1, + -1, 1, 28, -1, 2, 23, -1, + -1, 2, 31, -1, 1, 34, -1, -1, -1, 24, -1, 0, 23, -1, -1, -1, 25, -1, 0, 24, -1, -1, -1, 26, -1, 0, 25, -1, - -1, -1, 27, -1, 1, 24, -1, - -1, -1, 28, -1, 0, 27, -1, + -1, -1, 27, -1, 0, 26, -1, + -1, -1, 27, -1, 1, 22, -1, -1, -1, 28, -1, 1, 25, -1, -1, -1, 29, -1, 0, 28, -1, -1, -1, 29, -1, 1, 26, -1, - -1, -1, 31, -1, 0, 30, -1, - -1, -1, 31, -1, 1, 28, -1, - -1, -1, 31, -1, 2, 23, -1, + -1, -1, 30, -1, 0, 29, -1, + -1, -1, 30, -1, 1, 27, -1, -1, -1, 32, -1, 0, 31, -1, -1, -1, 32, -1, 1, 29, -1, -1, -1, 32, -1, 2, 24, -1, - -1, -1, 33, -1, 1, 32, -1, - -1, 2, 23, -1, 0, 30, -1, - -1, 1, 24, -1, 2, 21, -1, + -1, -1, 33, -1, 0, 32, -1, + -1, -1, 33, -1, 1, 30, -1, + -1, -1, 33, -1, 2, 25, -1, + -1, -1, 34, -1, 1, 33, -1, + -1, 1, 22, -1, 0, 26, -1, -1, 2, 24, -1, 0, 31, -1, - -1, 2, 24, -1, 1, 29, -1, - -1, 1, 25, -1, 0, 27, -1, + -1, 1, 25, -1, 2, 21, -1, -1, 2, 25, -1, 0, 32, -1, + -1, 2, 25, -1, 1, 30, -1, -1, 1, 26, -1, 0, 28, -1, - -1, 1, 28, -1, 0, 30, -1, - -1, 1, 28, -1, 2, 23, -1, - -1, 2, 28, -1, 0, 33, -1, + -1, 2, 26, -1, 0, 33, -1, + -1, 1, 27, -1, 0, 29, -1, -1, 1, 29, -1, 0, 31, -1, - -1, 2, 31, -1, 0, 34, -1, - -1, 1, 32, -1, 2, 27, -1, + -1, 1, 29, -1, 2, 24, -1, + -1, 2, 29, -1, 0, 34, -1, + -1, 1, 30, -1, 0, 32, -1, + -1, 2, 32, -1, 0, 35, -1, + -1, 1, 33, -1, 2, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -211,6 +217,7 @@ void actual_network_init() ebind_per_nucleon(Ti44) = 8.533520000000001_rt; ebind_per_nucleon(Cr48) = 8.572269_rt; ebind_per_nucleon(Mn51) = 8.633772_rt; + ebind_per_nucleon(Mn55) = 8.765022_rt; ebind_per_nucleon(Fe52) = 8.609574_rt; ebind_per_nucleon(Fe53) = 8.648799_rt; ebind_per_nucleon(Fe54) = 8.736381999999999_rt; diff --git a/networks/He-C-Fe-group/actual_rhs.H b/networks/He-C-Fe-group/actual_rhs.H index 83236bca18..3e0bbfb218 100644 --- a/networks/He-C-Fe-group/actual_rhs.H +++ b/networks/He-C-Fe-group/actual_rhs.H @@ -715,6 +715,32 @@ void evaluate_rates(const burn_t& state, T& rate_eval) { } + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 25.0_rt, 55.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_p_mn55_to_fe56); + rate_eval.screened_rates(k_p_mn55_to_fe56) *= scor; + if constexpr (std::is_same::value) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_mn55_to_fe56); + rate_eval.dscreened_rates_dT(k_p_mn55_to_fe56) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_mn55_to_n_fe55_derived); + rate_eval.screened_rates(k_p_mn55_to_n_fe55_derived) *= scor; + if constexpr (std::is_same::value) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_mn55_to_n_fe55_derived); + rate_eval.dscreened_rates_dT(k_p_mn55_to_n_fe55_derived) = ratraw * dscor_dt + dratraw_dT * scor; + } + + { constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 53.0_rt); @@ -1283,6 +1309,14 @@ void evaluate_rates(const burn_t& state, T& rate_eval) { } rate_eval.add_energy_rate(k_fe55_to_co55) = edot_nu + edot_gamma; + tabular_evaluate(j_fe55_mn55_meta, j_fe55_mn55_rhoy, j_fe55_mn55_temp, j_fe55_mn55_data, + rhoy, state.T, rate, drate_dt, edot_nu, edot_gamma); + rate_eval.screened_rates(k_fe55_to_mn55) = rate; + if constexpr (std::is_same::value) { + rate_eval.dscreened_rates_dT(k_fe55_to_mn55) = drate_dt; + } + rate_eval.add_energy_rate(k_fe55_to_mn55) = edot_nu + edot_gamma; + tabular_evaluate(j_fe56_co56_meta, j_fe56_co56_rhoy, j_fe56_co56_temp, j_fe56_co56_data, rhoy, state.T, rate, drate_dt, edot_nu, edot_gamma); rate_eval.screened_rates(k_fe56_to_co56) = rate; @@ -1291,6 +1325,14 @@ void evaluate_rates(const burn_t& state, T& rate_eval) { } rate_eval.add_energy_rate(k_fe56_to_co56) = edot_nu + edot_gamma; + tabular_evaluate(j_mn55_fe55_meta, j_mn55_fe55_rhoy, j_mn55_fe55_temp, j_mn55_fe55_data, + rhoy, state.T, rate, drate_dt, edot_nu, edot_gamma); + rate_eval.screened_rates(k_mn55_to_fe55) = rate; + if constexpr (std::is_same::value) { + rate_eval.dscreened_rates_dT(k_mn55_to_fe55) = drate_dt; + } + rate_eval.add_energy_rate(k_mn55_to_fe55) = edot_nu + edot_gamma; + tabular_evaluate(j_ni56_co56_meta, j_ni56_co56_rhoy, j_ni56_co56_temp, j_ni56_co56_data, rhoy, state.T, rate, drate_dt, edot_nu, edot_gamma); rate_eval.screened_rates(k_ni56_to_co56) = rate; @@ -1328,6 +1370,7 @@ void rhs_nuc(const burn_t& state, (-screened_rates(k_n_co56_to_co57)*Y(Co56)*Y(N)*state.rho + screened_rates(k_co57_to_n_co56_derived)*Y(Co57)) + (-screened_rates(k_n_ni56_to_ni57)*Y(N)*Y(Ni56)*state.rho + screened_rates(k_ni57_to_n_ni56_derived)*Y(Ni57)) + (-screened_rates(k_n_ni57_to_ni58)*Y(N)*Y(Ni57)*state.rho + screened_rates(k_ni58_to_n_ni57_derived)*Y(Ni58)) + + (-screened_rates(k_n_fe55_to_p_mn55)*Y(Fe55)*Y(N)*state.rho + screened_rates(k_p_mn55_to_n_fe55_derived)*Y(Mn55)*Y(H1)*state.rho) + (-screened_rates(k_n_co55_to_p_fe55)*Y(Co55)*Y(N)*state.rho + screened_rates(k_p_fe55_to_n_co55_derived)*Y(Fe55)*Y(H1)*state.rho) + (-screened_rates(k_n_co56_to_p_fe56)*Y(Co56)*Y(N)*state.rho + screened_rates(k_p_fe56_to_n_co56_derived)*Y(Fe56)*Y(H1)*state.rho) + (-screened_rates(k_n_ni56_to_p_co56)*Y(N)*Y(Ni56)*state.rho + screened_rates(k_p_co56_to_n_ni56_derived)*Y(Co56)*Y(H1)*state.rho) + @@ -1359,6 +1402,7 @@ void rhs_nuc(const burn_t& state, (screened_rates(k_he4_fe52_to_p_co55)*Y(Fe52)*Y(He4)*state.rho + -screened_rates(k_p_co55_to_he4_fe52_derived)*Y(Co55)*Y(H1)*state.rho) + (-screened_rates(k_p_cu59_to_he4_ni56)*Y(Cu59)*Y(H1)*state.rho + screened_rates(k_he4_ni56_to_p_cu59_derived)*Y(He4)*Y(Ni56)*state.rho) + screened_rates(k_n_to_p_weak_wc12)*Y(N) + + (-screened_rates(k_p_mn55_to_fe56)*Y(Mn55)*Y(H1)*state.rho + screened_rates(k_fe56_to_p_mn55_derived)*Y(Fe56)) + (-screened_rates(k_p_fe54_to_co55)*Y(Fe54)*Y(H1)*state.rho + screened_rates(k_co55_to_p_fe54_derived)*Y(Co55)) + (-screened_rates(k_p_fe55_to_co56)*Y(Fe55)*Y(H1)*state.rho + screened_rates(k_co56_to_p_fe55_derived)*Y(Co56)) + (-screened_rates(k_p_fe56_to_co57)*Y(Fe56)*Y(H1)*state.rho + screened_rates(k_co57_to_p_fe56_derived)*Y(Co57)) + @@ -1367,6 +1411,7 @@ void rhs_nuc(const burn_t& state, (-screened_rates(k_p_ni58_to_cu59)*Y(Ni58)*Y(H1)*state.rho + screened_rates(k_cu59_to_p_ni58_derived)*Y(Cu59)) + (screened_rates(k_he4_mn51_to_p_fe54)*Y(He4)*Y(Mn51)*state.rho + -screened_rates(k_p_fe54_to_he4_mn51_derived)*Y(Fe54)*Y(H1)*state.rho) + (screened_rates(k_he4_fe53_to_p_co56)*Y(Fe53)*Y(He4)*state.rho + -screened_rates(k_p_co56_to_he4_fe53_derived)*Y(Co56)*Y(H1)*state.rho) + + (screened_rates(k_n_fe55_to_p_mn55)*Y(Fe55)*Y(N)*state.rho + -screened_rates(k_p_mn55_to_n_fe55_derived)*Y(Mn55)*Y(H1)*state.rho) + (screened_rates(k_n_co55_to_p_fe55)*Y(Co55)*Y(N)*state.rho + -screened_rates(k_p_fe55_to_n_co55_derived)*Y(Fe55)*Y(H1)*state.rho) + (screened_rates(k_he4_co55_to_p_ni58)*Y(Co55)*Y(He4)*state.rho + -screened_rates(k_p_ni58_to_he4_co55_derived)*Y(Ni58)*Y(H1)*state.rho) + (screened_rates(k_n_co56_to_p_fe56)*Y(Co56)*Y(N)*state.rho + -screened_rates(k_p_fe56_to_n_co56_derived)*Y(Fe56)*Y(H1)*state.rho) + @@ -1523,6 +1568,11 @@ void rhs_nuc(const burn_t& state, (screened_rates(k_he4_cr48_to_p_mn51)*Y(Cr48)*Y(He4)*state.rho + -screened_rates(k_p_mn51_to_he4_cr48_derived)*Y(Mn51)*Y(H1)*state.rho) + (-screened_rates(k_he4_mn51_to_p_fe54)*Y(He4)*Y(Mn51)*state.rho + screened_rates(k_p_fe54_to_he4_mn51_derived)*Y(Fe54)*Y(H1)*state.rho); + ydot_nuc(Mn55) = + (-screened_rates(k_p_mn55_to_fe56)*Y(Mn55)*Y(H1)*state.rho + screened_rates(k_fe56_to_p_mn55_derived)*Y(Fe56)) + + (screened_rates(k_n_fe55_to_p_mn55)*Y(Fe55)*Y(N)*state.rho + -screened_rates(k_p_mn55_to_n_fe55_derived)*Y(Mn55)*Y(H1)*state.rho) + + (screened_rates(k_fe55_to_mn55)*Y(Fe55) + -screened_rates(k_mn55_to_fe55)*Y(Mn55)); + ydot_nuc(Fe52) = (screened_rates(k_he4_cr48_to_fe52)*Y(Cr48)*Y(He4)*state.rho + -screened_rates(k_fe52_to_he4_cr48_derived)*Y(Fe52)) + (screened_rates(k_p_mn51_to_fe52)*Y(Mn51)*Y(H1)*state.rho + -screened_rates(k_fe52_to_p_mn51_derived)*Y(Fe52)) + @@ -1550,11 +1600,14 @@ void rhs_nuc(const burn_t& state, (screened_rates(k_n_fe54_to_fe55)*Y(Fe54)*Y(N)*state.rho + -screened_rates(k_fe55_to_n_fe54_derived)*Y(Fe55)) + (-screened_rates(k_n_fe55_to_fe56)*Y(Fe55)*Y(N)*state.rho + screened_rates(k_fe56_to_n_fe55_derived)*Y(Fe56)) + (-screened_rates(k_p_fe55_to_co56)*Y(Fe55)*Y(H1)*state.rho + screened_rates(k_co56_to_p_fe55_derived)*Y(Co56)) + + (-screened_rates(k_n_fe55_to_p_mn55)*Y(Fe55)*Y(N)*state.rho + screened_rates(k_p_mn55_to_n_fe55_derived)*Y(Mn55)*Y(H1)*state.rho) + (screened_rates(k_n_co55_to_p_fe55)*Y(Co55)*Y(N)*state.rho + -screened_rates(k_p_fe55_to_n_co55_derived)*Y(Fe55)*Y(H1)*state.rho) + (screened_rates(k_n_ni58_to_he4_fe55)*Y(N)*Y(Ni58)*state.rho + -screened_rates(k_he4_fe55_to_n_ni58_derived)*Y(Fe55)*Y(He4)*state.rho) + - (screened_rates(k_co55_to_fe55)*Y(Co55) + -screened_rates(k_fe55_to_co55)*Y(Fe55)); + (screened_rates(k_co55_to_fe55)*Y(Co55) + -screened_rates(k_fe55_to_co55)*Y(Fe55)) + + (-screened_rates(k_fe55_to_mn55)*Y(Fe55) + screened_rates(k_mn55_to_fe55)*Y(Mn55)); ydot_nuc(Fe56) = + (screened_rates(k_p_mn55_to_fe56)*Y(Mn55)*Y(H1)*state.rho + -screened_rates(k_fe56_to_p_mn55_derived)*Y(Fe56)) + (screened_rates(k_n_fe55_to_fe56)*Y(Fe55)*Y(N)*state.rho + -screened_rates(k_fe56_to_n_fe55_derived)*Y(Fe56)) + (-screened_rates(k_p_fe56_to_co57)*Y(Fe56)*Y(H1)*state.rho + screened_rates(k_co57_to_p_fe56_derived)*Y(Co57)) + (screened_rates(k_n_co56_to_p_fe56)*Y(Co56)*Y(N)*state.rho + -screened_rates(k_p_fe56_to_n_co56_derived)*Y(Fe56)*Y(H1)*state.rho) + @@ -1668,7 +1721,9 @@ void actual_rhs (burn_t& state, Array1D& ydot) enuc += C::Legacy::n_A * Y(Co56) * rate_eval.add_energy_rate(k_co56_to_ni56); enuc += C::Legacy::n_A * Y(Co57) * rate_eval.add_energy_rate(k_co57_to_ni57); enuc += C::Legacy::n_A * Y(Fe55) * rate_eval.add_energy_rate(k_fe55_to_co55); + enuc += C::Legacy::n_A * Y(Fe55) * rate_eval.add_energy_rate(k_fe55_to_mn55); enuc += C::Legacy::n_A * Y(Fe56) * rate_eval.add_energy_rate(k_fe56_to_co56); + enuc += C::Legacy::n_A * Y(Mn55) * rate_eval.add_energy_rate(k_mn55_to_fe55); enuc += C::Legacy::n_A * Y(Ni56) * rate_eval.add_energy_rate(k_ni56_to_co56); enuc += C::Legacy::n_A * Y(Ni57) * rate_eval.add_energy_rate(k_ni57_to_co57); @@ -1695,15 +1750,18 @@ void jac_nuc(const burn_t& state, Real scratch; - scratch = -screened_rates(k_n_co55_to_co56)*Y(Co55)*state.rho - screened_rates(k_n_co55_to_p_fe55)*Y(Co55)*state.rho - screened_rates(k_n_co56_to_co57)*Y(Co56)*state.rho - screened_rates(k_n_co56_to_p_fe56)*Y(Co56)*state.rho - screened_rates(k_n_cu59_to_he4_co56)*Y(Cu59)*state.rho - screened_rates(k_n_fe52_to_fe53)*Y(Fe52)*state.rho - screened_rates(k_n_fe53_to_fe54)*Y(Fe53)*state.rho - screened_rates(k_n_fe54_to_fe55)*Y(Fe54)*state.rho - screened_rates(k_n_fe55_to_fe56)*Y(Fe55)*state.rho - screened_rates(k_n_ni56_to_he4_fe53)*Y(Ni56)*state.rho - screened_rates(k_n_ni56_to_ni57)*Y(Ni56)*state.rho - screened_rates(k_n_ni56_to_p_co56)*Y(Ni56)*state.rho - screened_rates(k_n_ni57_to_he4_fe54)*Y(Ni57)*state.rho - screened_rates(k_n_ni57_to_ni58)*Y(Ni57)*state.rho - screened_rates(k_n_ni57_to_p_co57)*Y(Ni57)*state.rho - screened_rates(k_n_ni58_to_he4_fe55)*Y(Ni58)*state.rho - screened_rates(k_n_to_p_weak_wc12) - screened_rates(k_n_zn60_to_he4_ni57)*Y(Zn60)*state.rho; + scratch = -screened_rates(k_n_co55_to_co56)*Y(Co55)*state.rho - screened_rates(k_n_co55_to_p_fe55)*Y(Co55)*state.rho - screened_rates(k_n_co56_to_co57)*Y(Co56)*state.rho - screened_rates(k_n_co56_to_p_fe56)*Y(Co56)*state.rho - screened_rates(k_n_cu59_to_he4_co56)*Y(Cu59)*state.rho - screened_rates(k_n_fe52_to_fe53)*Y(Fe52)*state.rho - screened_rates(k_n_fe53_to_fe54)*Y(Fe53)*state.rho - screened_rates(k_n_fe54_to_fe55)*Y(Fe54)*state.rho - screened_rates(k_n_fe55_to_fe56)*Y(Fe55)*state.rho - screened_rates(k_n_fe55_to_p_mn55)*Y(Fe55)*state.rho - screened_rates(k_n_ni56_to_he4_fe53)*Y(Ni56)*state.rho - screened_rates(k_n_ni56_to_ni57)*Y(Ni56)*state.rho - screened_rates(k_n_ni56_to_p_co56)*Y(Ni56)*state.rho - screened_rates(k_n_ni57_to_he4_fe54)*Y(Ni57)*state.rho - screened_rates(k_n_ni57_to_ni58)*Y(Ni57)*state.rho - screened_rates(k_n_ni57_to_p_co57)*Y(Ni57)*state.rho - screened_rates(k_n_ni58_to_he4_fe55)*Y(Ni58)*state.rho - screened_rates(k_n_to_p_weak_wc12) - screened_rates(k_n_zn60_to_he4_ni57)*Y(Zn60)*state.rho; jac.set(N, N, scratch); - scratch = screened_rates(k_p_co56_to_n_ni56_derived)*Y(Co56)*state.rho + screened_rates(k_p_co57_to_n_ni57_derived)*Y(Co57)*state.rho + screened_rates(k_p_fe55_to_n_co55_derived)*Y(Fe55)*state.rho + screened_rates(k_p_fe56_to_n_co56_derived)*Y(Fe56)*state.rho; + scratch = screened_rates(k_p_co56_to_n_ni56_derived)*Y(Co56)*state.rho + screened_rates(k_p_co57_to_n_ni57_derived)*Y(Co57)*state.rho + screened_rates(k_p_fe55_to_n_co55_derived)*Y(Fe55)*state.rho + screened_rates(k_p_fe56_to_n_co56_derived)*Y(Fe56)*state.rho + screened_rates(k_p_mn55_to_n_fe55_derived)*Y(Mn55)*state.rho; jac.set(N, H1, scratch); scratch = screened_rates(k_he4_co56_to_n_cu59_derived)*Y(Co56)*state.rho + screened_rates(k_he4_fe53_to_n_ni56_derived)*Y(Fe53)*state.rho + screened_rates(k_he4_fe54_to_n_ni57_derived)*Y(Fe54)*state.rho + screened_rates(k_he4_fe55_to_n_ni58_derived)*Y(Fe55)*state.rho + screened_rates(k_he4_ni57_to_n_zn60_derived)*Y(Ni57)*state.rho; jac.set(N, He4, scratch); + scratch = screened_rates(k_p_mn55_to_n_fe55_derived)*Y(H1)*state.rho; + jac.set(N, Mn55, scratch); + scratch = -screened_rates(k_n_fe52_to_fe53)*Y(N)*state.rho; jac.set(N, Fe52, scratch); @@ -1713,7 +1771,7 @@ void jac_nuc(const burn_t& state, scratch = screened_rates(k_fe54_to_n_fe53_derived) + screened_rates(k_he4_fe54_to_n_ni57_derived)*Y(He4)*state.rho - screened_rates(k_n_fe54_to_fe55)*Y(N)*state.rho; jac.set(N, Fe54, scratch); - scratch = screened_rates(k_fe55_to_n_fe54_derived) + screened_rates(k_he4_fe55_to_n_ni58_derived)*Y(He4)*state.rho - screened_rates(k_n_fe55_to_fe56)*Y(N)*state.rho + screened_rates(k_p_fe55_to_n_co55_derived)*Y(H1)*state.rho; + scratch = screened_rates(k_fe55_to_n_fe54_derived) + screened_rates(k_he4_fe55_to_n_ni58_derived)*Y(He4)*state.rho - screened_rates(k_n_fe55_to_fe56)*Y(N)*state.rho - screened_rates(k_n_fe55_to_p_mn55)*Y(N)*state.rho + screened_rates(k_p_fe55_to_n_co55_derived)*Y(H1)*state.rho; jac.set(N, Fe55, scratch); scratch = screened_rates(k_fe56_to_n_fe55_derived) + screened_rates(k_p_fe56_to_n_co56_derived)*Y(H1)*state.rho; @@ -1743,10 +1801,10 @@ void jac_nuc(const burn_t& state, scratch = -screened_rates(k_n_zn60_to_he4_ni57)*Y(N)*state.rho; jac.set(N, Zn60, scratch); - scratch = screened_rates(k_n_co55_to_p_fe55)*Y(Co55)*state.rho + screened_rates(k_n_co56_to_p_fe56)*Y(Co56)*state.rho + screened_rates(k_n_ni56_to_p_co56)*Y(Ni56)*state.rho + screened_rates(k_n_ni57_to_p_co57)*Y(Ni57)*state.rho + screened_rates(k_n_to_p_weak_wc12); + scratch = screened_rates(k_n_co55_to_p_fe55)*Y(Co55)*state.rho + screened_rates(k_n_co56_to_p_fe56)*Y(Co56)*state.rho + screened_rates(k_n_fe55_to_p_mn55)*Y(Fe55)*state.rho + screened_rates(k_n_ni56_to_p_co56)*Y(Ni56)*state.rho + screened_rates(k_n_ni57_to_p_co57)*Y(Ni57)*state.rho + screened_rates(k_n_to_p_weak_wc12); jac.set(H1, N, scratch); - scratch = -screened_rates(k_p_al27_to_he4_mg24)*Y(Al27)*state.rho - screened_rates(k_p_al27_to_si28)*Y(Al27)*state.rho - screened_rates(k_p_c12_to_n13)*Y(C12)*state.rho - screened_rates(k_p_co55_to_he4_fe52_derived)*Y(Co55)*state.rho - screened_rates(k_p_co55_to_ni56)*Y(Co55)*state.rho - screened_rates(k_p_co56_to_he4_fe53_derived)*Y(Co56)*state.rho - screened_rates(k_p_co56_to_n_ni56_derived)*Y(Co56)*state.rho - screened_rates(k_p_co56_to_ni57)*Y(Co56)*state.rho - screened_rates(k_p_co57_to_he4_fe54)*Y(Co57)*state.rho - screened_rates(k_p_co57_to_n_ni57_derived)*Y(Co57)*state.rho - screened_rates(k_p_co57_to_ni58)*Y(Co57)*state.rho - screened_rates(k_p_cu59_to_he4_ni56)*Y(Cu59)*state.rho - screened_rates(k_p_cu59_to_zn60)*Y(Cu59)*state.rho - screened_rates(k_p_fe54_to_co55)*Y(Fe54)*state.rho - screened_rates(k_p_fe54_to_he4_mn51_derived)*Y(Fe54)*state.rho - screened_rates(k_p_fe55_to_co56)*Y(Fe55)*state.rho - screened_rates(k_p_fe55_to_n_co55_derived)*Y(Fe55)*state.rho - screened_rates(k_p_fe56_to_co57)*Y(Fe56)*state.rho - screened_rates(k_p_fe56_to_n_co56_derived)*Y(Fe56)*state.rho - screened_rates(k_p_mn51_to_fe52)*Y(Mn51)*state.rho - screened_rates(k_p_mn51_to_he4_cr48_derived)*Y(Mn51)*state.rho - screened_rates(k_p_na23_to_he4_ne20)*Y(Na23)*state.rho - screened_rates(k_p_na23_to_mg24)*Y(Na23)*state.rho - screened_rates(k_p_ne21_to_he4_f18_derived)*Y(Ne21)*state.rho - screened_rates(k_p_ne21_to_na22)*Y(Ne21)*state.rho - screened_rates(k_p_ni58_to_cu59)*Y(Ni58)*state.rho - screened_rates(k_p_ni58_to_he4_co55_derived)*Y(Ni58)*state.rho - screened_rates(k_p_o16_to_he4_n13_derived)*Y(O16)*state.rho - screened_rates(k_p_p31_to_he4_si28)*Y(P31)*state.rho - screened_rates(k_p_p31_to_s32)*Y(P31)*state.rho; + scratch = -screened_rates(k_p_al27_to_he4_mg24)*Y(Al27)*state.rho - screened_rates(k_p_al27_to_si28)*Y(Al27)*state.rho - screened_rates(k_p_c12_to_n13)*Y(C12)*state.rho - screened_rates(k_p_co55_to_he4_fe52_derived)*Y(Co55)*state.rho - screened_rates(k_p_co55_to_ni56)*Y(Co55)*state.rho - screened_rates(k_p_co56_to_he4_fe53_derived)*Y(Co56)*state.rho - screened_rates(k_p_co56_to_n_ni56_derived)*Y(Co56)*state.rho - screened_rates(k_p_co56_to_ni57)*Y(Co56)*state.rho - screened_rates(k_p_co57_to_he4_fe54)*Y(Co57)*state.rho - screened_rates(k_p_co57_to_n_ni57_derived)*Y(Co57)*state.rho - screened_rates(k_p_co57_to_ni58)*Y(Co57)*state.rho - screened_rates(k_p_cu59_to_he4_ni56)*Y(Cu59)*state.rho - screened_rates(k_p_cu59_to_zn60)*Y(Cu59)*state.rho - screened_rates(k_p_fe54_to_co55)*Y(Fe54)*state.rho - screened_rates(k_p_fe54_to_he4_mn51_derived)*Y(Fe54)*state.rho - screened_rates(k_p_fe55_to_co56)*Y(Fe55)*state.rho - screened_rates(k_p_fe55_to_n_co55_derived)*Y(Fe55)*state.rho - screened_rates(k_p_fe56_to_co57)*Y(Fe56)*state.rho - screened_rates(k_p_fe56_to_n_co56_derived)*Y(Fe56)*state.rho - screened_rates(k_p_mn51_to_fe52)*Y(Mn51)*state.rho - screened_rates(k_p_mn51_to_he4_cr48_derived)*Y(Mn51)*state.rho - screened_rates(k_p_mn55_to_fe56)*Y(Mn55)*state.rho - screened_rates(k_p_mn55_to_n_fe55_derived)*Y(Mn55)*state.rho - screened_rates(k_p_na23_to_he4_ne20)*Y(Na23)*state.rho - screened_rates(k_p_na23_to_mg24)*Y(Na23)*state.rho - screened_rates(k_p_ne21_to_he4_f18_derived)*Y(Ne21)*state.rho - screened_rates(k_p_ne21_to_na22)*Y(Ne21)*state.rho - screened_rates(k_p_ni58_to_cu59)*Y(Ni58)*state.rho - screened_rates(k_p_ni58_to_he4_co55_derived)*Y(Ni58)*state.rho - screened_rates(k_p_o16_to_he4_n13_derived)*Y(O16)*state.rho - screened_rates(k_p_p31_to_he4_si28)*Y(P31)*state.rho - screened_rates(k_p_p31_to_s32)*Y(P31)*state.rho; jac.set(H1, H1, scratch); scratch = screened_rates(k_he4_co55_to_p_ni58)*Y(Co55)*state.rho + screened_rates(k_he4_cr48_to_p_mn51)*Y(Cr48)*state.rho + screened_rates(k_he4_f18_to_p_ne21)*Y(F18)*state.rho + screened_rates(k_he4_fe52_to_p_co55)*Y(Fe52)*state.rho + screened_rates(k_he4_fe53_to_p_co56)*Y(Fe53)*state.rho + screened_rates(k_he4_fe54_to_p_co57_derived)*Y(Fe54)*state.rho + screened_rates(k_he4_mg24_to_p_al27_derived)*Y(Mg24)*state.rho + screened_rates(k_he4_mn51_to_p_fe54)*Y(Mn51)*state.rho + screened_rates(k_he4_n13_to_p_o16)*Y(N13)*state.rho + screened_rates(k_he4_ne20_to_p_na23_derived)*Y(Ne20)*state.rho + screened_rates(k_he4_ni56_to_p_cu59_derived)*Y(Ni56)*state.rho + screened_rates(k_he4_si28_to_p_p31_derived)*Y(Si28)*state.rho; @@ -1797,6 +1855,9 @@ void jac_nuc(const burn_t& state, scratch = screened_rates(k_he4_mn51_to_p_fe54)*Y(He4)*state.rho - screened_rates(k_p_mn51_to_fe52)*Y(H1)*state.rho - screened_rates(k_p_mn51_to_he4_cr48_derived)*Y(H1)*state.rho; jac.set(H1, Mn51, scratch); + scratch = -screened_rates(k_p_mn55_to_fe56)*Y(H1)*state.rho - screened_rates(k_p_mn55_to_n_fe55_derived)*Y(H1)*state.rho; + jac.set(H1, Mn55, scratch); + scratch = screened_rates(k_fe52_to_p_mn51_derived) + screened_rates(k_he4_fe52_to_p_co55)*Y(He4)*state.rho; jac.set(H1, Fe52, scratch); @@ -1806,10 +1867,10 @@ void jac_nuc(const burn_t& state, scratch = screened_rates(k_he4_fe54_to_p_co57_derived)*Y(He4)*state.rho - screened_rates(k_p_fe54_to_co55)*Y(H1)*state.rho - screened_rates(k_p_fe54_to_he4_mn51_derived)*Y(H1)*state.rho; jac.set(H1, Fe54, scratch); - scratch = -screened_rates(k_p_fe55_to_co56)*Y(H1)*state.rho - screened_rates(k_p_fe55_to_n_co55_derived)*Y(H1)*state.rho; + scratch = screened_rates(k_n_fe55_to_p_mn55)*Y(N)*state.rho - screened_rates(k_p_fe55_to_co56)*Y(H1)*state.rho - screened_rates(k_p_fe55_to_n_co55_derived)*Y(H1)*state.rho; jac.set(H1, Fe55, scratch); - scratch = -screened_rates(k_p_fe56_to_co57)*Y(H1)*state.rho - screened_rates(k_p_fe56_to_n_co56_derived)*Y(H1)*state.rho; + scratch = screened_rates(k_fe56_to_p_mn55_derived) - screened_rates(k_p_fe56_to_co57)*Y(H1)*state.rho - screened_rates(k_p_fe56_to_n_co56_derived)*Y(H1)*state.rho; jac.set(H1, Fe56, scratch); scratch = screened_rates(k_co55_to_p_fe54_derived) + screened_rates(k_he4_co55_to_p_ni58)*Y(He4)*state.rho + screened_rates(k_n_co55_to_p_fe55)*Y(N)*state.rho - screened_rates(k_p_co55_to_he4_fe52_derived)*Y(H1)*state.rho - screened_rates(k_p_co55_to_ni56)*Y(H1)*state.rho; @@ -2271,6 +2332,21 @@ void jac_nuc(const burn_t& state, scratch = screened_rates(k_co55_to_he4_mn51_derived); jac.set(Mn51, Co55, scratch); + scratch = screened_rates(k_n_fe55_to_p_mn55)*Y(Fe55)*state.rho; + jac.set(Mn55, N, scratch); + + scratch = -screened_rates(k_p_mn55_to_fe56)*Y(Mn55)*state.rho - screened_rates(k_p_mn55_to_n_fe55_derived)*Y(Mn55)*state.rho; + jac.set(Mn55, H1, scratch); + + scratch = -screened_rates(k_mn55_to_fe55) - screened_rates(k_p_mn55_to_fe56)*Y(H1)*state.rho - screened_rates(k_p_mn55_to_n_fe55_derived)*Y(H1)*state.rho; + jac.set(Mn55, Mn55, scratch); + + scratch = screened_rates(k_fe55_to_mn55) + screened_rates(k_n_fe55_to_p_mn55)*Y(N)*state.rho; + jac.set(Mn55, Fe55, scratch); + + scratch = screened_rates(k_fe56_to_p_mn55_derived); + jac.set(Mn55, Fe56, scratch); + scratch = -screened_rates(k_n_fe52_to_fe53)*Y(Fe52)*state.rho; jac.set(Fe52, N, scratch); @@ -2358,19 +2434,22 @@ void jac_nuc(const burn_t& state, scratch = screened_rates(k_ni58_to_he4_fe54_derived); jac.set(Fe54, Ni58, scratch); - scratch = screened_rates(k_n_co55_to_p_fe55)*Y(Co55)*state.rho + screened_rates(k_n_fe54_to_fe55)*Y(Fe54)*state.rho - screened_rates(k_n_fe55_to_fe56)*Y(Fe55)*state.rho + screened_rates(k_n_ni58_to_he4_fe55)*Y(Ni58)*state.rho; + scratch = screened_rates(k_n_co55_to_p_fe55)*Y(Co55)*state.rho + screened_rates(k_n_fe54_to_fe55)*Y(Fe54)*state.rho - screened_rates(k_n_fe55_to_fe56)*Y(Fe55)*state.rho - screened_rates(k_n_fe55_to_p_mn55)*Y(Fe55)*state.rho + screened_rates(k_n_ni58_to_he4_fe55)*Y(Ni58)*state.rho; jac.set(Fe55, N, scratch); - scratch = -screened_rates(k_p_fe55_to_co56)*Y(Fe55)*state.rho - screened_rates(k_p_fe55_to_n_co55_derived)*Y(Fe55)*state.rho; + scratch = -screened_rates(k_p_fe55_to_co56)*Y(Fe55)*state.rho - screened_rates(k_p_fe55_to_n_co55_derived)*Y(Fe55)*state.rho + screened_rates(k_p_mn55_to_n_fe55_derived)*Y(Mn55)*state.rho; jac.set(Fe55, H1, scratch); scratch = -screened_rates(k_he4_fe55_to_n_ni58_derived)*Y(Fe55)*state.rho; jac.set(Fe55, He4, scratch); + scratch = screened_rates(k_mn55_to_fe55) + screened_rates(k_p_mn55_to_n_fe55_derived)*Y(H1)*state.rho; + jac.set(Fe55, Mn55, scratch); + scratch = screened_rates(k_n_fe54_to_fe55)*Y(N)*state.rho; jac.set(Fe55, Fe54, scratch); - scratch = -screened_rates(k_fe55_to_co55) - screened_rates(k_fe55_to_n_fe54_derived) - screened_rates(k_he4_fe55_to_n_ni58_derived)*Y(He4)*state.rho - screened_rates(k_n_fe55_to_fe56)*Y(N)*state.rho - screened_rates(k_p_fe55_to_co56)*Y(H1)*state.rho - screened_rates(k_p_fe55_to_n_co55_derived)*Y(H1)*state.rho; + scratch = -screened_rates(k_fe55_to_co55) - screened_rates(k_fe55_to_mn55) - screened_rates(k_fe55_to_n_fe54_derived) - screened_rates(k_he4_fe55_to_n_ni58_derived)*Y(He4)*state.rho - screened_rates(k_n_fe55_to_fe56)*Y(N)*state.rho - screened_rates(k_n_fe55_to_p_mn55)*Y(N)*state.rho - screened_rates(k_p_fe55_to_co56)*Y(H1)*state.rho - screened_rates(k_p_fe55_to_n_co55_derived)*Y(H1)*state.rho; jac.set(Fe55, Fe55, scratch); scratch = screened_rates(k_fe56_to_n_fe55_derived); @@ -2388,13 +2467,16 @@ void jac_nuc(const burn_t& state, scratch = screened_rates(k_n_co56_to_p_fe56)*Y(Co56)*state.rho + screened_rates(k_n_fe55_to_fe56)*Y(Fe55)*state.rho; jac.set(Fe56, N, scratch); - scratch = -screened_rates(k_p_fe56_to_co57)*Y(Fe56)*state.rho - screened_rates(k_p_fe56_to_n_co56_derived)*Y(Fe56)*state.rho; + scratch = -screened_rates(k_p_fe56_to_co57)*Y(Fe56)*state.rho - screened_rates(k_p_fe56_to_n_co56_derived)*Y(Fe56)*state.rho + screened_rates(k_p_mn55_to_fe56)*Y(Mn55)*state.rho; jac.set(Fe56, H1, scratch); + scratch = screened_rates(k_p_mn55_to_fe56)*Y(H1)*state.rho; + jac.set(Fe56, Mn55, scratch); + scratch = screened_rates(k_n_fe55_to_fe56)*Y(N)*state.rho; jac.set(Fe56, Fe55, scratch); - scratch = -screened_rates(k_fe56_to_co56) - screened_rates(k_fe56_to_n_fe55_derived) - screened_rates(k_p_fe56_to_co57)*Y(H1)*state.rho - screened_rates(k_p_fe56_to_n_co56_derived)*Y(H1)*state.rho; + scratch = -screened_rates(k_fe56_to_co56) - screened_rates(k_fe56_to_n_fe55_derived) - screened_rates(k_fe56_to_p_mn55_derived) - screened_rates(k_p_fe56_to_co57)*Y(H1)*state.rho - screened_rates(k_p_fe56_to_n_co56_derived)*Y(H1)*state.rho; jac.set(Fe56, Fe56, scratch); scratch = screened_rates(k_co56_to_fe56) + screened_rates(k_n_co56_to_p_fe56)*Y(N)*state.rho; diff --git a/networks/He-C-Fe-group/inputs.burn_cell.VODE b/networks/He-C-Fe-group/inputs.burn_cell.VODE index 6e42a3f5dd..320d26fb4d 100644 --- a/networks/He-C-Fe-group/inputs.burn_cell.VODE +++ b/networks/He-C-Fe-group/inputs.burn_cell.VODE @@ -59,3 +59,4 @@ unit_test.X32 = 0.0 unit_test.X33 = 0.0 unit_test.X34 = 0.0 unit_test.X35 = 0.0 +unit_test.X36 = 0.0 diff --git a/networks/He-C-Fe-group/partition_functions.H b/networks/He-C-Fe-group/partition_functions.H index 1570407ebb..03c1db628a 100644 --- a/networks/He-C-Fe-group/partition_functions.H +++ b/networks/He-C-Fe-group/partition_functions.H @@ -438,6 +438,26 @@ namespace part_fun { // this is log10(partition function) + MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real mn55_pf_array[npts_1] = { + 4.342942647204277e-07, 3.387364853334388e-05, 0.00038895363056868775, 0.004419831370155497, 0.014756522503960728, + 0.030096733930175052, 0.04796879437078968, 0.06646457923244158, 0.08445866292767418, 0.10139372238408119, + 0.1170521039752435, 0.17736880968990507, 0.2173557426191723, 0.247461626286143, 0.27333907966395066, + 0.29784648633228855, 0.3224882671969808, 0.3481517618665124, 0.3754616886642864, 0.43708831382108987, + 0.5113111854322745, 0.6017866255084809, 0.7113195335442632, 0.8411244873729985, 1.1553360374650619, + 1.5289167002776547, 1.931457870689005, 2.3502480183341627, 2.7781512503836434, 3.2068258760318495, + 3.639486489268586, 4.071882007306125, 4.505149978319906, 4.937016107464814, 6.017033339298781, + 7.096910013008056, 8.176091259055681, 9.252853030979892, 10.324282455297693, 11.394451680826217, + 12.460897842756548, 13.523746466811565, 14.583198773968622, 15.638489256954637, 16.69108149212297, + 17.73878055848437, 18.783903579272735, 19.826074802700827, 20.864511081058392, 21.90091306773767, + 22.935003151453653, 23.966610986681935, 24.996073654485276, 26.02530586526477, 27.049218022670182, + 28.07554696139253, 29.096910013008056, 30.12057393120585, 31.139879086401237, 32.16136800223497, + 33.18184358794477, 34.20139712432045, 35.22010808804006, 36.238046103128795, 38.27415784926368, + 40.311753861055756, 42.34830486304816, 44.38560627359831, 46.426511261364574, 48.46686762035411, + 50.51054501020661, 55.632457292184725, + }; + + // this is log10(partition function) + MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real fe52_pf_array[npts_1] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.7371744532199383e-06, 9.554373504133797e-06, 3.778197643341552e-05, @@ -841,6 +861,10 @@ void get_partition_function(const int inuc, [[maybe_unused]] const tf_t& tfactor part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::mn51_pf_array, pf, dpf_dT); break; + case Mn55: + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::mn55_pf_array, pf, dpf_dT); + break; + case Fe52: part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::fe52_pf_array, pf, dpf_dT); break; @@ -957,6 +981,7 @@ constexpr Real get_spin_state(const int inuc) { case Al27: case Mn51: + case Mn55: spin = 6; break; diff --git a/networks/He-C-Fe-group/pynucastro.net b/networks/He-C-Fe-group/pynucastro.net index a9ad210122..70dad9af7b 100644 --- a/networks/He-C-Fe-group/pynucastro.net +++ b/networks/He-C-Fe-group/pynucastro.net @@ -20,6 +20,7 @@ calcium-40 ca40 40.0 20.0 titanium-44 ti44 44.0 22.0 chromium-48 cr48 48.0 24.0 manganese-51 mn51 51.0 25.0 +manganese-55 mn55 55.0 25.0 iron-52 fe52 52.0 26.0 iron-53 fe53 53.0 26.0 iron-54 fe54 54.0 26.0 diff --git a/networks/He-C-Fe-group/reaclib_rates.H b/networks/He-C-Fe-group/reaclib_rates.H index 298cdb8b0e..b8a5a86910 100644 --- a/networks/He-C-Fe-group/reaclib_rates.H +++ b/networks/He-C-Fe-group/reaclib_rates.H @@ -1729,6 +1729,38 @@ void rate_n_to_p_weak_wc12(const tf_t& tfactors, Real& rate, Real& drate_dT) { } +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_mn55_to_fe56(const tf_t& tfactors, Real& rate, Real& drate_dT) { + + // mn55 + p --> fe56 + + rate = 0.0; + drate_dT = 0.0; + + Real ln_set_rate{0.0}; + Real dln_set_rate_dT9{0.0}; + Real set_rate{0.0}; + + // ths8r + ln_set_rate = 36.1888 + -36.1995 * tfactors.T913i + 1.15346 * tfactors.T913 + + -1.94437 * tfactors.T9 + 0.218429 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -36.1995 * tfactors.T943i + (1.0/3.0) * 1.15346 * tfactors.T923i + + -1.94437 + (5.0/3.0) * 0.218429 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + template AMREX_GPU_HOST_DEVICE AMREX_INLINE void rate_n_fe52_to_fe53(const tf_t& tfactors, Real& rate, Real& drate_dT) { @@ -2305,6 +2337,38 @@ void rate_he4_fe53_to_p_co56(const tf_t& tfactors, Real& rate, Real& drate_dT) { } +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_n_fe55_to_p_mn55(const tf_t& tfactors, Real& rate, Real& drate_dT) { + + // fe55 + n --> p + mn55 + + rate = 0.0; + drate_dT = 0.0; + + Real ln_set_rate{0.0}; + Real dln_set_rate_dT9{0.0}; + Real set_rate{0.0}; + + // ths8r + ln_set_rate = 4.70639 + 7.03052 * tfactors.T913 + + 0.260509 * tfactors.T9 + -0.0813397 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + (1.0/3.0) * 7.03052 * tfactors.T923i + + 0.260509 + (5.0/3.0) * -0.0813397 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + template AMREX_GPU_HOST_DEVICE AMREX_INLINE void rate_n_co55_to_p_fe55(const tf_t& tfactors, Real& rate, Real& drate_dT) { @@ -5590,6 +5654,63 @@ void rate_fe56_to_n_fe55_derived(const tf_t& tfactors, Real& rate, Real& drate_d } +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_fe56_to_p_mn55_derived(const tf_t& tfactors, Real& rate, Real& drate_dT) { + + // fe56 --> p + mn55 + + rate = 0.0; + drate_dT = 0.0; + + Real ln_set_rate{0.0}; + Real dln_set_rate_dT9{0.0}; + Real set_rate{0.0}; + + // ths8r + ln_set_rate = 61.659288536189116 + -118.17693119642051 * tfactors.T9i + -36.1995 * tfactors.T913i + 1.15346 * tfactors.T913 + + -1.94437 * tfactors.T9 + 0.218429 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 118.17693119642051 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.1995 * tfactors.T943i + (1.0/3.0) * 1.15346 * tfactors.T923i + + -1.94437 + (5.0/3.0) * 0.218429 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + Real p_pf, dp_pf_dT; + // setting p partition function to 1.0 by default, independent of T + p_pf = 1.0_rt; + dp_pf_dT = 0.0_rt; + + Real fe56_pf, dfe56_pf_dT; + // interpolating fe56 partition function + get_partition_function(Fe56, tfactors, fe56_pf, dfe56_pf_dT); + + Real mn55_pf, dmn55_pf_dT; + // interpolating mn55 partition function + get_partition_function(Mn55, tfactors, mn55_pf, dmn55_pf_dT); + + Real z_r = p_pf * mn55_pf; + Real z_p = fe56_pf; + + Real dz_r_dT = mn55_pf * dp_pf_dT + p_pf * dmn55_pf_dT; + Real dz_p_dT = dfe56_pf_dT; + + Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + template AMREX_GPU_HOST_DEVICE AMREX_INLINE void rate_co55_to_p_fe54_derived(const tf_t& tfactors, Real& rate, Real& drate_dT) { @@ -6274,6 +6395,68 @@ void rate_cu59_to_p_ni58_derived(const tf_t& tfactors, Real& rate, Real& drate_d } +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_mn55_to_n_fe55_derived(const tf_t& tfactors, Real& rate, Real& drate_dT) { + + // mn55 + p --> n + fe55 + + rate = 0.0; + drate_dT = 0.0; + + Real ln_set_rate{0.0}; + Real dln_set_rate_dT9{0.0}; + Real set_rate{0.0}; + + // ths8r + ln_set_rate = 4.300924891891836 + -11.761875387476456 * tfactors.T9i + 7.03052 * tfactors.T913 + + 0.260509 * tfactors.T9 + -0.0813397 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 11.761875387476456 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 7.03052 * tfactors.T923i + + 0.260509 + (5.0/3.0) * -0.0813397 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + Real n_pf, dn_pf_dT; + // setting n partition function to 1.0 by default, independent of T + n_pf = 1.0_rt; + dn_pf_dT = 0.0_rt; + + Real p_pf, dp_pf_dT; + // setting p partition function to 1.0 by default, independent of T + p_pf = 1.0_rt; + dp_pf_dT = 0.0_rt; + + Real fe55_pf, dfe55_pf_dT; + // interpolating fe55 partition function + get_partition_function(Fe55, tfactors, fe55_pf, dfe55_pf_dT); + + Real mn55_pf, dmn55_pf_dT; + // interpolating mn55 partition function + get_partition_function(Mn55, tfactors, mn55_pf, dmn55_pf_dT); + + Real z_r = n_pf * fe55_pf; + Real z_p = p_pf * mn55_pf; + + Real dz_r_dT = fe55_pf * dn_pf_dT + n_pf * dfe55_pf_dT; + Real dz_p_dT = mn55_pf * dp_pf_dT + p_pf * dmn55_pf_dT; + + Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + template AMREX_GPU_HOST_DEVICE AMREX_INLINE void rate_he4_fe53_to_n_ni56_derived(const tf_t& tfactors, Real& rate, Real& drate_dT) { @@ -8363,6 +8546,12 @@ fill_reaclib_rates(const tf_t& tfactors, T& rate_eval) if constexpr (std::is_same::value) { rate_eval.dscreened_rates_dT(k_n_to_p_weak_wc12) = drate_dT; + } + rate_p_mn55_to_fe56(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_mn55_to_fe56) = rate; + if constexpr (std::is_same::value) { + rate_eval.dscreened_rates_dT(k_p_mn55_to_fe56) = drate_dT; + } rate_n_fe52_to_fe53(tfactors, rate, drate_dT); rate_eval.screened_rates(k_n_fe52_to_fe53) = rate; @@ -8471,6 +8660,12 @@ fill_reaclib_rates(const tf_t& tfactors, T& rate_eval) if constexpr (std::is_same::value) { rate_eval.dscreened_rates_dT(k_he4_fe53_to_p_co56) = drate_dT; + } + rate_n_fe55_to_p_mn55(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_n_fe55_to_p_mn55) = rate; + if constexpr (std::is_same::value) { + rate_eval.dscreened_rates_dT(k_n_fe55_to_p_mn55) = drate_dT; + } rate_n_co55_to_p_fe55(tfactors, rate, drate_dT); rate_eval.screened_rates(k_n_co55_to_p_fe55) = rate; @@ -8807,6 +9002,12 @@ fill_reaclib_rates(const tf_t& tfactors, T& rate_eval) if constexpr (std::is_same::value) { rate_eval.dscreened_rates_dT(k_fe56_to_n_fe55_derived) = drate_dT; + } + rate_fe56_to_p_mn55_derived(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_fe56_to_p_mn55_derived) = rate; + if constexpr (std::is_same::value) { + rate_eval.dscreened_rates_dT(k_fe56_to_p_mn55_derived) = drate_dT; + } rate_co55_to_p_fe54_derived(tfactors, rate, drate_dT); rate_eval.screened_rates(k_co55_to_p_fe54_derived) = rate; @@ -8879,6 +9080,12 @@ fill_reaclib_rates(const tf_t& tfactors, T& rate_eval) if constexpr (std::is_same::value) { rate_eval.dscreened_rates_dT(k_cu59_to_p_ni58_derived) = drate_dT; + } + rate_p_mn55_to_n_fe55_derived(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_mn55_to_n_fe55_derived) = rate; + if constexpr (std::is_same::value) { + rate_eval.dscreened_rates_dT(k_p_mn55_to_n_fe55_derived) = drate_dT; + } rate_he4_fe53_to_n_ni56_derived(tfactors, rate, drate_dT); rate_eval.screened_rates(k_he4_fe53_to_n_ni56_derived) = rate; diff --git a/networks/He-C-Fe-group/table_rates.H b/networks/He-C-Fe-group/table_rates.H index 93a41c29c1..a9c6f74c68 100644 --- a/networks/He-C-Fe-group/table_rates.H +++ b/networks/He-C-Fe-group/table_rates.H @@ -20,7 +20,7 @@ void init_tabular(); // Log(g/cm^3) Log(K) erg erg erg Log(1/s) Log(erg/s) Log(erg/s) // -const int num_tables = 8; +const int num_tables = 10; enum TableVars { @@ -80,11 +80,21 @@ namespace rate_tables extern AMREX_GPU_MANAGED Array1D j_fe55_co55_rhoy; extern AMREX_GPU_MANAGED Array1D j_fe55_co55_temp; + extern AMREX_GPU_MANAGED table_t j_fe55_mn55_meta; + extern AMREX_GPU_MANAGED Array3D j_fe55_mn55_data; + extern AMREX_GPU_MANAGED Array1D j_fe55_mn55_rhoy; + extern AMREX_GPU_MANAGED Array1D j_fe55_mn55_temp; + extern AMREX_GPU_MANAGED table_t j_fe56_co56_meta; extern AMREX_GPU_MANAGED Array3D j_fe56_co56_data; extern AMREX_GPU_MANAGED Array1D j_fe56_co56_rhoy; extern AMREX_GPU_MANAGED Array1D j_fe56_co56_temp; + extern AMREX_GPU_MANAGED table_t j_mn55_fe55_meta; + extern AMREX_GPU_MANAGED Array3D j_mn55_fe55_data; + extern AMREX_GPU_MANAGED Array1D j_mn55_fe55_rhoy; + extern AMREX_GPU_MANAGED Array1D j_mn55_fe55_temp; + extern AMREX_GPU_MANAGED table_t j_ni56_co56_meta; extern AMREX_GPU_MANAGED Array3D j_ni56_co56_data; extern AMREX_GPU_MANAGED Array1D j_ni56_co56_rhoy; diff --git a/networks/He-C-Fe-group/table_rates_data.cpp b/networks/He-C-Fe-group/table_rates_data.cpp index e9c72d3949..5ac5e8a541 100644 --- a/networks/He-C-Fe-group/table_rates_data.cpp +++ b/networks/He-C-Fe-group/table_rates_data.cpp @@ -33,11 +33,21 @@ namespace rate_tables AMREX_GPU_MANAGED Array1D j_fe55_co55_rhoy; AMREX_GPU_MANAGED Array1D j_fe55_co55_temp; + AMREX_GPU_MANAGED table_t j_fe55_mn55_meta; + AMREX_GPU_MANAGED Array3D j_fe55_mn55_data; + AMREX_GPU_MANAGED Array1D j_fe55_mn55_rhoy; + AMREX_GPU_MANAGED Array1D j_fe55_mn55_temp; + AMREX_GPU_MANAGED table_t j_fe56_co56_meta; AMREX_GPU_MANAGED Array3D j_fe56_co56_data; AMREX_GPU_MANAGED Array1D j_fe56_co56_rhoy; AMREX_GPU_MANAGED Array1D j_fe56_co56_temp; + AMREX_GPU_MANAGED table_t j_mn55_fe55_meta; + AMREX_GPU_MANAGED Array3D j_mn55_fe55_data; + AMREX_GPU_MANAGED Array1D j_mn55_fe55_rhoy; + AMREX_GPU_MANAGED Array1D j_mn55_fe55_temp; + AMREX_GPU_MANAGED table_t j_ni56_co56_meta; AMREX_GPU_MANAGED Array3D j_ni56_co56_data; AMREX_GPU_MANAGED Array1D j_ni56_co56_rhoy; @@ -99,6 +109,14 @@ void init_tabular() init_tab_info(j_fe55_co55_meta, "55fe-55co_betadecay.dat", j_fe55_co55_rhoy, j_fe55_co55_temp, j_fe55_co55_data); + j_fe55_mn55_meta.ntemp = 13; + j_fe55_mn55_meta.nrhoy = 11; + j_fe55_mn55_meta.nvars = 6; + j_fe55_mn55_meta.nheader = 5; + + init_tab_info(j_fe55_mn55_meta, "55fe-55mn_electroncapture.dat", j_fe55_mn55_rhoy, j_fe55_mn55_temp, j_fe55_mn55_data); + + j_fe56_co56_meta.ntemp = 13; j_fe56_co56_meta.nrhoy = 11; j_fe56_co56_meta.nvars = 6; @@ -107,6 +125,14 @@ void init_tabular() init_tab_info(j_fe56_co56_meta, "56fe-56co_betadecay.dat", j_fe56_co56_rhoy, j_fe56_co56_temp, j_fe56_co56_data); + j_mn55_fe55_meta.ntemp = 13; + j_mn55_fe55_meta.nrhoy = 11; + j_mn55_fe55_meta.nvars = 6; + j_mn55_fe55_meta.nheader = 5; + + init_tab_info(j_mn55_fe55_meta, "55mn-55fe_betadecay.dat", j_mn55_fe55_rhoy, j_mn55_fe55_temp, j_mn55_fe55_data); + + j_ni56_co56_meta.ntemp = 13; j_ni56_co56_meta.nrhoy = 11; j_ni56_co56_meta.nvars = 6;